.app{position:relative;z-index:0;display:flex;flex-direction:column;min-height:100vh;color:var(--color-fg)}.matrix-bg{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;z-index:var(--z-background);pointer-events:none;opacity:.6}.landing{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:var(--space-2xl) var(--space-xl);text-align:center;background:var(--color-bg);color:var(--color-fg)}.landing-inner{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);max-width:48rem}.landing-prompt{margin:0;font-family:var(--font-mono);font-size:var(--font-size-sm);letter-spacing:.08em;color:var(--color-secondary)}.landing-prompt-glyph{color:var(--color-accent);font-weight:600;margin-right:var(--space-xs)}.landing-name{margin:0;font-family:var(--font-sans);font-weight:600;font-size:clamp(2.5rem,9vw,5rem);line-height:1.05;letter-spacing:-.02em;color:var(--color-fg)}.landing-role{margin:0;display:inline-flex;align-items:center;font-family:var(--font-mono);font-size:var(--font-size-lg);color:var(--color-fg)}.landing-role:after{content:"";display:inline-block;width:2px;height:1.1em;margin-left:var(--space-xs);background:var(--color-accent);animation:landingCaretBlink 1.1s steps(1) infinite}@keyframes landingCaretBlink{0%,49%{opacity:1}50%,to{opacity:0}}.landing-summary{margin:0;max-width:38rem;font-family:var(--font-sans);font-size:var(--font-size-base);line-height:var(--line-height-normal);color:var(--color-secondary)}.landing-scroll-cue{position:absolute;bottom:var(--space-xl);left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);text-decoration:none;color:var(--color-secondary);transition:color var(--transition-base)}.landing-scroll-cue:hover,.landing-scroll-cue:focus-visible{color:var(--color-accent)}.landing-scroll-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.18em;text-transform:uppercase}.landing-scroll-chevron{width:.6rem;height:.6rem;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);animation:landingBob 2.4s ease-in-out infinite}@keyframes landingBob{0%,to{transform:rotate(45deg) translate(0)}50%{transform:rotate(45deg) translate(3px,3px)}}@media (prefers-reduced-motion: reduce){.landing-role:after{animation:none;opacity:1}.landing-scroll-chevron{animation:none}}@media (max-width: 768px){.landing{padding:var(--space-2xl) var(--space-lg)}.landing-inner{gap:var(--space-md)}.landing-summary{font-size:var(--font-size-sm)}}.terminal{display:flex;flex-direction:column;flex:1;max-width:900px;margin:var(--space-xl) auto;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--border-radius);box-shadow:0 0 20px #22c55e1a;overflow:hidden;font-family:var(--font-mono);height:600px}.terminal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-md);background:var(--color-border);border-bottom:1px solid var(--color-border);font-size:var(--font-size-sm);color:var(--color-secondary);-webkit-user-select:none;user-select:none}.terminal-title{font-weight:600;text-transform:uppercase;letter-spacing:1px}.terminal-user{font-size:var(--font-size-sm);color:var(--color-accent)}.terminal-output{flex:1;overflow-y:auto;padding:var(--space-md);line-height:var(--line-height-tight);font-size:var(--font-size-sm);white-space:pre-wrap;word-wrap:break-word;word-break:break-word}.output-line{margin-bottom:var(--space-xs);display:flex;gap:var(--space-sm);animation:fadeInTerminal var(--transition-base) ease-in-out}@keyframes fadeInTerminal{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.prompt{color:var(--color-accent);font-weight:600;flex-shrink:0}.error-prefix{color:#ef4444;flex-shrink:0}.info-prefix{color:var(--color-accent);flex-shrink:0}.text{color:var(--color-fg);flex:1}.text-input,.text-output{color:var(--color-fg)}.text-error{color:#ef4444}.text-info{color:var(--color-accent-light)}.terminal-input-form{border-top:1px solid var(--color-border);padding:var(--space-md);background:var(--color-bg)}.input-line{display:flex;align-items:center;gap:var(--space-sm);font-size:var(--font-size-sm)}.terminal-input{flex:1;background:transparent;border:none;color:var(--color-fg);font-family:var(--font-mono);font-size:var(--font-size-sm);outline:none;padding:0}.terminal-input::placeholder{color:var(--color-secondary);opacity:.5}.terminal-input:disabled{color:var(--color-secondary);opacity:.5;cursor:not-allowed}.caret{display:inline-block;width:8px;height:1em;background:var(--color-accent);margin-left:4px;animation:blink 1s infinite}@keyframes blink{0%,49%{opacity:1}50%,to{opacity:0}}@media (prefers-reduced-motion: reduce){.caret{animation:none;opacity:1}}@media (max-width: 768px){.terminal{height:400px;margin:var(--space-md)}.terminal-output,.terminal-input{font-size:var(--font-size-sm)}}@media (max-width: 480px){.terminal{height:300px;margin:var(--space-sm)}.terminal-header,.terminal-output,.terminal-input-form{padding:var(--space-sm)}}.reveal{opacity:0;transform:translateY(var(--space-lg));transition:opacity var(--transition-slow),transform var(--transition-slow);will-change:opacity,transform}.reveal-visible{opacity:1;transform:translateY(0)}@media (prefers-reduced-motion: reduce){.reveal{opacity:1;transform:none;transition:none;will-change:auto}}.footer{margin-top:auto;padding:var(--space-xl);border-top:1px solid var(--color-border);background:var(--color-bg);text-align:center;font-size:var(--font-size-sm)}.footer-content{display:flex;flex-direction:column;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-lg)}.footer-info{display:flex;flex-direction:column;gap:var(--space-sm)}.footer-info p{color:var(--color-fg);font-weight:600;margin:0}.footer-links{display:flex;align-items:center;justify-content:center;gap:var(--space-md)}.footer-link{color:var(--color-accent);text-decoration:none;transition:color var(--transition-base)}.footer-link:hover{color:var(--color-accent-light);text-decoration:underline}.footer-divider{color:var(--color-secondary)}.footer-bottom{padding-top:var(--space-lg);border-top:1px solid var(--color-border);color:var(--color-secondary);font-size:.75rem}.footer-credit{margin:0}@media (max-width: 768px){.footer{padding:var(--space-lg)}.footer-content{gap:var(--space-md)}}:root{--color-bg: #000000;--color-fg: #f5f5f5;--color-accent: #22c55e;--color-accent-dark: #16a34a;--color-accent-light: #86efac;--color-border: #2a2a2a;--color-secondary: #888888;--font-mono: "Monaco", "Menlo", "Ubuntu Mono", "Courier New", monospace;--font-sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, sans-serif;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.25rem;--line-height-tight: 1.4;--line-height-normal: 1.6;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--space-2xl: 3rem;--transition-fast: .1s ease-in-out;--transition-base: .2s ease-in-out;--transition-slow: .3s ease-in-out;--border-radius: 4px;--z-background: -1;--z-terminal: 10;--z-modal: 100;--matrix-color: 34, 197, 94}@media (prefers-reduced-motion: reduce){:root{--transition-fast: 0ms;--transition-base: 0ms;--transition-slow: 0ms}}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{font-family:var(--font-mono);background:var(--color-bg);color:var(--color-fg);line-height:var(--line-height-normal);font-size:var(--font-size-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{min-height:100vh}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:var(--color-bg)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--border-radius)}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}::selection{background:var(--color-accent);color:var(--color-bg)}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.no-select{-webkit-user-select:none;user-select:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}
