@font-face{font-family:symbols nerd font mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/SymbolsNerdFontMono.woff2)format("woff2")}html,body{margin:0;padding:0;height:100%;font-family:Consolas,Symbols Nerd Font Mono,Courier New,monospace}*,*::before,*::after{box-sizing:border-box}:root{--bg:#f3eff6;--fg:#302b38;--accent:#883696;--muted:#685873;--terminal-shell:#e9e0ee;--terminal-border:#c5a8d0;--grid-line:rgba(136, 54, 150, 0.22)}[data-theme=dark]{--bg:#11111b;--fg:#c4c7c5;--accent:#883696;--muted:#585b70;--terminal-shell:#1a1a1a;--terminal-border:#2a2a40;--grid-line:rgba(136, 54, 150, 0.12)}.terminal{position:relative;z-index:2;display:flex;flex-direction:column;width:92vw;min-width:300px;margin:0 auto;border:1px solid var(--terminal-border);border-radius:10px;box-shadow:0 24px 70px rgba(17,17,27,.28);overflow:hidden;height:auto;max-height:100vh;background:var(--terminal-shell)}.terminal-header{position:relative;z-index:4;display:flex;align-items:center;justify-content:center;height:2rem;line-height:2rem;padding:0 1rem;background:var(--terminal-shell);color:var(--muted);font:600 .72rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;letter-spacing:.04em;text-transform:lowercase}.terminal-controls{position:absolute;top:0;left:0;height:100%;display:flex;align-items:center;gap:.5rem;padding-left:.75rem}.terminal-control{width:.6rem;height:.6rem;padding:0;border:0;border-radius:50%;background:#e46870;cursor:pointer;-webkit-tap-highlight-color:transparent}.terminal-control-minimize{background:#fab387}.terminal-control-maximize{background:#a6e3a1}.terminal-control:hover{filter:brightness(1.2)}.terminal-control:active{filter:brightness(.9)}.terminal-control:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.terminal.is-minimized{height:2rem!important}.terminal.is-minimized .terminal-body,.terminal.is-minimized .terminal-resize{display:none}.terminal.is-maximized .terminal-resize{display:none}.terminal.is-quit{display:none}.terminal-resize{display:none}@media(min-width:1025px){.terminal{position:fixed;z-index:5;left:0;top:0;width:50vw;height:50vh;margin:0}.terminal-header{cursor:move;user-select:none;-webkit-user-select:none;touch-action:none}.terminal-resize{display:block;position:absolute;right:0;bottom:0;z-index:6;width:18px;height:18px;cursor:nwse-resize;touch-action:none}.terminal-resize::after{content:"";position:absolute;right:3px;bottom:3px;width:7px;height:7px;border-right:2px solid var(--terminal-border);border-bottom:2px solid var(--terminal-border)}.terminal-resize:hover::after{border-color:var(--accent)}.terminal.is-dragging,.terminal.is-resizing{user-select:none;-webkit-user-select:none}.terminal.is-dragging{cursor:move}.terminal.is-resizing{cursor:nwse-resize}}.terminal-body{position:relative;min-height:0;overflow:hidden;background:var(--bg);padding:2rem;color:var(--fg);text-align:left;font-family:Consolas,Symbols Nerd Font Mono,Courier New,monospace;line-height:1.5;white-space:initial;flex:auto;display:flex;flex-direction:column}.terminal-xterm{position:relative;flex:auto;min-height:0}.terminal-mobile{display:none;flex:auto;min-height:0;flex-direction:column}#terminal.terminal-mobile-mode .terminal-xterm{display:none}#terminal.terminal-mobile-mode .terminal-mobile{display:flex}.matrix-canvas{position:absolute;inset:0;z-index:2;display:none;width:100%;height:100%;pointer-events:none;opacity:.9}.terminal-title{opacity:1}.page-help,.page-github{position:fixed;top:1rem;z-index:5;width:1.8rem;height:1.8rem;border:1px solid var(--terminal-border);border-radius:50%;background:0 0;color:var(--muted);cursor:pointer;font:700 .75rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;transition:border-color 160ms ease,color 160ms ease,background-color 160ms ease}.page-help{right:2rem}.page-github{right:4.3rem;display:grid;place-items:center;color:var(--muted);text-decoration:none}.page-github img{width:1.2rem;height:1.2rem}[data-theme=dark] .page-github img{filter:invert(1)}.page-help:hover,.page-help:focus-visible,.page-help[aria-expanded=true],.page-github:hover,.page-github:focus-visible{border-color:var(--accent);background:var(--accent);color:var(--bg);outline:none}@media(min-width:1025px){.page-help,.page-github{width:2.2rem;height:2.2rem}.page-github{right:4.8rem}.page-github img{width:1.45rem;height:1.45rem}}.terminal-guide{position:fixed;top:3.2rem;right:2rem;z-index:5;width:30rem;max-width:calc(100% - 2rem);padding:1.1rem 1.2rem;border:1px solid var(--terminal-border);border-radius:6px;background:var(--terminal-shell);box-shadow:0 16px 40px rgba(4,22,18,.28);color:var(--fg);text-align:left}.terminal-guide h2{margin:0 0 .55rem;color:var(--accent);font:700 .9rem/1.3 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.terminal-guide p{margin:0 0 .9rem;color:var(--fg);font:.8rem/1.5 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.terminal-guide pre{margin:0;color:var(--fg);font:.76rem/1.55 Consolas,Symbols Nerd Font Mono,Courier New,monospace;white-space:pre-wrap}.terminal-body .hero-title,.hero-command{font-size:2rem}.terminal-body .hero-description{font-size:1.5rem;margin-bottom:1.5rem}.terminal-body .logo{height:2rem;margin-bottom:1rem}#terminal .xterm{height:100%!important;margin:0!important;min-width:0!important;background:0 0!important;border:none!important;box-shadow:none!important}#terminal .xterm-screen,#terminal .xterm-viewport{height:100%!important;width:100%!important;background:0 0!important;border:none!important}#terminal .xterm-viewport{scrollbar-width:none}#terminal .xterm-viewport::-webkit-scrollbar{display:none}#terminal .xterm-rows{width:100%!important}#terminal .xterm .xterm-rows{color:var(--fg)!important}#terminal .xterm .xterm-cursor-block{border-color:var(--fg)!important;background-color:var(--fg)!important}.terminal-container{border:none!important;box-shadow:none!important}.typing::after{content:"|";display:inline-block;margin-left:.1em;animation:blink 1s steps(1)infinite}@keyframes blink{0%{opacity:1}50%{opacity:0}100%{opacity:1}}.hero.full-height{background-color:var(--bg);position:absolute;width:100%;height:100%;background-image:linear-gradient(var(--grid-line) 1px,transparent 1px),linear-gradient(90deg,var(--grid-line) 1px,transparent 1px);background-size:42px 42px;z-index:0;display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh}.terminal-rescue-icon{position:absolute;z-index:2;transform:translate(-50%,-50%);color:var(--accent);font:700 1.2rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;text-shadow:0 0 12px var(--accent);cursor:pointer}.snake-notice{position:fixed;top:1.25rem;left:50%;z-index:8;transform:translateX(-50%);max-width:calc(100% - 2rem);padding:.7rem 1rem;border:1px solid var(--accent);border-radius:6px;background:var(--terminal-shell);box-shadow:0 10px 28px rgba(17,17,27,.28);color:var(--fg);font:600 .78rem/1.2 Consolas,Symbols Nerd Font Mono,Courier New,monospace;text-align:center}.snake-score{position:fixed;top:1.25rem;left:1.25rem;z-index:8;padding:.55rem .75rem;border:1px solid var(--accent);border-radius:5px;background:var(--terminal-shell);box-shadow:0 8px 22px rgba(17,17,27,.24);color:var(--accent);font:700 .78rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.snake-github-icon{position:absolute;z-index:2;width:1.5rem;height:1.5rem;transform:translate(-50%,-50%);pointer-events:none;filter:brightness(0)saturate(100%)invert(26%)sepia(28%)saturate(2140%)hue-rotate(263deg)brightness(86%)contrast(91%)}.achievement-popup{position:fixed;top:1.25rem;right:1.25rem;z-index:20;width:22rem;max-width:calc(100% - 2rem);padding:.75rem 1rem;border:1px solid var(--accent);border-radius:6px;background:var(--terminal-shell);box-shadow:0 12px 32px rgba(17,17,27,.3);color:var(--fg);font:700 .78rem/1.3 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.orientation-lock{display:none;position:fixed;inset:0;z-index:10;align-items:center;justify-content:center;padding:1.5rem;background:rgba(17,17,27,.72)}.orientation-lock.is-visible{display:flex}.orientation-card{width:22rem;max-width:100%;padding:1.4rem 1.5rem 1.3rem;border:1px solid var(--terminal-border);border-radius:10px;background:var(--terminal-shell);box-shadow:0 24px 70px rgba(17,17,27,.45);color:var(--fg);text-align:center}.orientation-icon{position:relative;width:3.2rem;height:3.2rem;margin:0 auto .9rem;display:grid;place-items:center;border:2px solid var(--accent);border-radius:50%;color:var(--accent);font:700 1.5rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.orientation-icon span::before{content:"!"}.orientation-card p{margin:0 0 .5rem;color:var(--fg);font:700 1.05rem/1.4 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.orientation-card>span{display:block;color:var(--muted);font:.78rem/1.55 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.orientation-dismiss{margin-top:1rem;padding:.55rem 1.4rem;border:1px solid var(--accent);border-radius:999px;background:var(--accent);color:var(--bg);cursor:pointer;font:700 .8rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;-webkit-tap-highlight-color:transparent}.orientation-dismiss:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.footer{position:fixed;right:0;bottom:.8rem;left:0;z-index:2;color:var(--muted);font:.72rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;text-align:center}.footer a{color:var(--accent);text-decoration:none}.footer a:hover,.footer a:focus-visible{text-decoration:underline}.footer-heart{color:#d95763}.footer-separator{margin:0 .45rem;color:var(--muted)}.footer-legal{padding:0;border:0;background:0 0;color:var(--accent);cursor:pointer;font:inherit}.footer-legal:hover,.footer-legal:focus-visible{text-decoration:underline;outline:none}.modal-open{overflow:hidden}.legal-modal{position:fixed;inset:0;z-index:20;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:rgba(17,17,27,.72);overflow-y:auto}.legal-modal[hidden]{display:none}.legal-dialog{width:42rem;max-width:100%;max-height:calc(100vh - 3rem);max-height:calc(100dvh - 3rem);display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--terminal-border);border-radius:6px;background:var(--terminal-shell);box-shadow:0 24px 70px rgba(17,17,27,.45);color:var(--fg)}.legal-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex:none;padding:.85rem 1rem;border-bottom:1px solid var(--terminal-border)}.legal-dialog-header h2{margin:0;color:var(--accent);font:700 .95rem/1.3 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.legal-close{width:1.7rem;height:1.7rem;border:1px solid var(--terminal-border);border-radius:50%;background:0 0;color:var(--fg);cursor:pointer;font:1.1rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.legal-close:hover,.legal-close:focus-visible{border-color:var(--accent);color:var(--accent);outline:none}.legal-content{flex:auto;min-height:0;overflow-y:auto;padding:1rem 1.2rem 1.3rem;font:.78rem/1.6 Consolas,Symbols Nerd Font Mono,Courier New,monospace}.legal-content h2{margin:1rem 0 .35rem;color:var(--accent);font-size:.85rem}.legal-content h2:first-child{margin-top:0}.legal-content p{margin:0 0 .65rem}.legal-content ul{margin:0 0 .8rem;padding-left:1.2rem}.legal-content a{color:var(--accent)}.hero-inner{position:relative;z-index:2;text-align:center;color:var(--fg);padding:2rem}.hero-inner .logo{display:block;margin:0 auto 1rem;height:2.5rem;width:auto}.hero-title{font-family:Consolas,Symbols Nerd Font Mono,Courier New,monospace;font-size:4rem;margin:0}.hero-command{font-family:Consolas,Symbols Nerd Font Mono,Courier New,monospace;font-size:2.5rem;color:var(--accent);margin:.5rem 0}.hero-description{color:var(--fg);opacity:.7;margin-bottom:2rem;font-size:1.1rem}.hero-cta{display:flex;justify-content:center;gap:1rem;flex-wrap:wrap}.hero-cta .btn{border-radius:999px;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;display:inline-block;transition:transform .2s,box-shadow .2s}.btn-gradient{background:var(--accent);border:none;color:#fff}.btn-outline{background:0 0;border:2px solid var(--accent);color:var(--accent)}.btn-gradient:hover,.btn-outline:hover{transform:translateY(-2px);box-shadow:0 8px 16px rgba(0,0,0,.2)}@media(max-width:1024px){html,body{width:100%;overflow:hidden}.hero.full-height{height:100vh;height:100dvh;min-height:100vh;min-height:100dvh}.hero-inner{width:100%;height:100%;padding:0}.hero-inner .logo{height:2rem}.hero-title{font-size:2.5rem}.hero-command{font-size:2rem}.terminal{position:fixed;inset:0;width:100vw;min-width:0;max-width:none;height:100vh;height:100dvh;max-height:100vh;max-height:100dvh;margin:0;border:0;border-radius:0;box-shadow:none}.terminal-body{padding:0}.page-help{right:1rem}.page-github{right:3.3rem}.terminal-guide{right:1rem;max-height:calc(100dvh - 5rem);overflow-y:auto}.footer{bottom:.35rem;font-size:.62rem}}@media(max-width:1024px){.terminal-controls{display:none}.orientation-card{padding:1.2rem 1.2rem 1.1rem}.mobile-output{flex:auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scroll-behavior:smooth;padding:.9rem 1rem .5rem;display:flex;flex-direction:column;gap:.4rem}.mobile-block{border-left:2px solid var(--grid-line);padding-left:.7rem;border-radius:0 6px 6px 0}.mobile-line{font:.78rem/1.55 Consolas,Symbols Nerd Font Mono,Courier New,monospace;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--fg)}.mobile-input-line{display:flex;flex-wrap:wrap;gap:.3rem;align-items:baseline;padding-top:.15rem}.mobile-prompt-inline{color:var(--accent);white-space:nowrap}.mobile-line a{color:var(--accent);text-decoration:none;word-break:break-all}.mobile-line a:focus-visible{outline:1px solid var(--accent);outline-offset:2px;border-radius:2px}.mobile-suggestions{flex:none;display:flex;gap:.45rem;padding:.5rem .9rem 1.6rem;border-top:1px solid var(--terminal-border);overflow-x:auto;scrollbar-width:none}.mobile-suggestions::-webkit-scrollbar{display:none}.mobile-chip{flex:none;padding:.42rem .72rem;border:1px solid var(--terminal-border);border-radius:999px;background:var(--terminal-shell);color:var(--fg);cursor:pointer;font:600 .7rem/1 Consolas,Symbols Nerd Font Mono,Courier New,monospace;-webkit-tap-highlight-color:transparent}.mobile-chip:active{background:var(--accent);border-color:var(--accent);color:var(--bg)}}