@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/martian-mono-latin-400-normal-DZsjfPjH.woff2) format("woff2"),url(/assets/martian-mono-latin-400-normal-DM4nBGIh.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/martian-mono-latin-700-normal-BEEYYU4J.woff2) format("woff2"),url(/assets/martian-mono-latin-700-normal-CkDhVUqs.woff) format("woff")}@font-face{font-family:Martian Mono;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/martian-mono-latin-800-normal-CCFTHg5X.woff2) format("woff2"),url(/assets/martian-mono-latin-800-normal-DGLux4UD.woff) format("woff")}@font-face{font-family:"Press Start 2P";font-style:normal;font-display:swap;font-weight:400;src:url(/assets/press-start-2p-latin-400-normal-_wFEWmAB.woff2) format("woff2"),url(/assets/press-start-2p-latin-400-normal-KLytu4cr.woff) format("woff")}:root,[data-theme=paper]{--bg-page: #D9D8D2;--bg-window: #F2F1EC;--bg-dock: #D9D8D2;--ink: #000000;--muted: #4A4A46;--accent: #2430FF;--frame: #000000;--line: #000000;--bar-bg: #000000;--bar-ink: #F2F1EC;--chip-bg: #F2F1EC;--chip-ink: #000000;--chip-border: #000000;--chip-active-bg: #000000;--chip-active-ink: #F2F1EC;--row-hover: #E6E5DF;--placeholder: #5A5A55;--focus: #2430FF;color-scheme:light}[data-theme=ember]{--bg-page: #120C08;--bg-window: #1F150F;--bg-dock: #150E09;--ink: #EFE3D3;--muted: #B9A794;--accent: #E07B39;--frame: #E07B39;--line: #8A6A50;--bar-bg: #E07B39;--bar-ink: #1F150F;--chip-bg: #1F150F;--chip-ink: #EFE3D3;--chip-border: #EFE3D3;--chip-active-bg: #E07B39;--chip-active-ink: #1F150F;--row-hover: #2B1E15;--placeholder: #A89580;--focus: #F2B27A;color-scheme:dark}[data-theme=matrix]{--bg-page: #050E07;--bg-window: #09160C;--bg-dock: #050E07;--ink: #00FF66;--muted: #00A843;--accent: #00FF66;--frame: #00FF66;--line: #007A30;--bar-bg: #00FF66;--bar-ink: #050E07;--chip-bg: #09160C;--chip-ink: #00FF66;--chip-border: #00FF66;--chip-active-bg: #00FF66;--chip-active-ink: #050E07;--row-hover: #0F2615;--placeholder: #008A38;--focus: #00FF66;color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-family:Martian Mono,ui-monospace,Menlo,monospace;font-size:15px;line-height:1.6;background-color:var(--bg-page);color:var(--ink);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;width:100%}body{min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:48px 24px;background-color:var(--bg-page);overflow-x:hidden;width:100%}a:focus-visible,button:focus-visible,input:focus-visible,[tabindex]:focus-visible{outline:3px solid var(--focus);outline-offset:3px}.terminal-window{width:100%;max-width:1180px;min-height:min(720px,calc(100dvh - 96px));height:min(860px,calc(100dvh - 96px));border:4px solid var(--frame);box-shadow:10px 10px 0 var(--frame);background-color:var(--bg-window);display:flex;flex-direction:column;position:relative;overflow:hidden}.pixel-gui:before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.04) 0px,rgba(0,0,0,.04) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:10}.terminal-header{flex:none;display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background-color:var(--bar-bg);color:var(--bar-ink);border-bottom:2px solid var(--line);user-select:none}.pixel-hud{font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;letter-spacing:.04em}.hud-left{display:flex;align-items:center;gap:8px}.hud-blink{color:#0f6;animation:blink .9s step-end infinite}.hud-center{font-weight:700;letter-spacing:.08em}.hud-right{opacity:.9;font-size:10px}.terminal-body{flex:1;min-height:0;padding:24px;overflow-y:auto;overflow-x:hidden;display:flex;flex-direction:column}.hero-header{margin-bottom:24px}.wordmark{font-size:44px;font-weight:800;line-height:1.25;margin-bottom:10px;color:var(--ink)}.pixel-title{font-family:"Press Start 2P",ui-monospace,monospace;letter-spacing:-.02em;text-shadow:4px 4px 0 var(--line)}.arcade-subtag{font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;color:var(--accent);margin-bottom:12px;letter-spacing:.05em}.intro-text{color:var(--muted);margin-bottom:16px;font-size:15px}.output-area{display:flex;flex-direction:column;gap:16px;margin-bottom:16px}.output-command-line{margin-top:8px}.prompt-text{color:var(--accent);font-weight:700}.command-text{color:var(--ink)}.output-text{color:var(--ink);white-space:pre-wrap;word-break:break-word}.output-text.muted{color:var(--muted)}.output-text.error{color:var(--accent)}.output-list{list-style:none;padding:0}.output-list li{padding:4px 0;color:var(--ink)}.output-link-list{list-style:none;padding:0}.output-link-list li{padding:4px 0}.output-link-list a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.output-link-list a:hover{opacity:.8}.output-kv{display:flex;flex-direction:column;gap:4px}.output-kv-row{display:flex;gap:16px}.output-kv-key{color:var(--muted);min-width:140px;flex-shrink:0}.output-kv-value{color:var(--ink)}.output-projects{border-top:2px solid var(--line);border-bottom:2px solid var(--line)}.project-row{display:grid;grid-template-columns:minmax(100px,200px) 1fr auto;align-items:center;gap:16px;padding:10px 14px;min-height:44px;border-bottom:1px solid var(--line);cursor:pointer;transition:background-color .1s ease}.project-row:last-of-type{border-bottom:none}.project-row:hover,.project-row:focus-visible{background-color:var(--row-hover)}.project-name{font-weight:700;color:var(--ink)}.project-desc{color:var(--muted)}.project-open{color:var(--accent);background:none;border:none;font-family:"Press Start 2P",ui-monospace,monospace;font-size:10px;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:6px 10px;white-space:nowrap;display:inline-flex;align-items:center;min-height:36px}.project-open:hover{opacity:.8}.theme-options{display:flex;gap:10px;margin-top:8px}.theme-option{font-family:"Press Start 2P",ui-monospace,monospace;font-size:10px;font-weight:700;padding:10px 16px;border:3px solid var(--chip-border);box-shadow:4px 4px 0 var(--chip-border);background:var(--chip-bg);color:var(--chip-ink);cursor:pointer;border-radius:0;transition:transform .05s ease,box-shadow .05s ease}.theme-option:hover{background:var(--chip-active-bg);color:var(--chip-active-ink)}.theme-option:active{transform:translate(2px,2px);box-shadow:2px 2px 0 var(--chip-border)}.terminal-dock{flex:none;background-color:var(--bg-dock);border-top:2px solid var(--line);display:flex;flex-direction:column}.input-area{display:flex;align-items:center;padding:12px 24px;background-color:var(--bg-window);border-bottom:2px solid var(--line);gap:0}.input-prompt{font-family:"Press Start 2P",ui-monospace,monospace;font-size:11px;color:var(--accent);font-weight:700;white-space:nowrap;flex-shrink:0}.input-cursor{display:inline-block;font-family:"Press Start 2P",ui-monospace,monospace;color:var(--ink);font-size:13px;margin-right:6px;flex-shrink:0}@media(prefers-reduced-motion:no-preference){.input-cursor{animation:blink .9s step-end infinite}}@keyframes blink{50%{opacity:0}}.terminal-input{flex:1;background:transparent;border:none;color:var(--ink);font-family:inherit;font-size:15px;line-height:1.6;outline:none;caret-color:transparent;min-width:0}.terminal-input::placeholder{color:var(--placeholder)}.chip-bar{display:flex;align-items:center;gap:10px;padding:12px 24px;background-color:var(--bg-dock);overflow-x:auto;-webkit-overflow-scrolling:touch;width:100%}.chip-bar-label{font-family:"Press Start 2P",ui-monospace,monospace;color:var(--muted);font-size:10px;white-space:nowrap;flex-shrink:0}.chip{font-family:"Press Start 2P",ui-monospace,monospace;font-size:10px;height:44px;padding:0 16px;border:3px solid var(--chip-border);box-shadow:4px 4px 0 0 var(--chip-border);background:var(--chip-bg);color:var(--chip-ink);cursor:pointer;white-space:nowrap;flex:none;display:inline-flex;align-items:center;justify-content:center;border-radius:0;transition:transform .05s ease,box-shadow .05s ease;letter-spacing:.04em}.chip:hover{background:var(--chip-active-bg);color:var(--chip-active-ink)}.chip:active,.chip.is-active{background:var(--chip-active-bg);color:var(--chip-active-ink);transform:translate(3px,3px);box-shadow:1px 1px 0 0 var(--chip-border)}.pixel-btn-accent{border-color:var(--accent)!important;box-shadow:4px 4px 0 0 var(--accent)!important;color:var(--accent)!important}.pixel-btn-accent:hover{background:var(--accent)!important;color:#fff!important}.completion-list{color:var(--muted);font-size:14px;padding:4px 0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.input-cursor{animation:none!important}}@media(max-width:640px){html{font-size:13px}body{padding:0;align-items:stretch}.terminal-window{border:none;box-shadow:none;height:100dvh;max-height:100dvh;min-height:100dvh;max-width:100vw}.terminal-body{padding:16px}.wordmark{font-size:22px}.arcade-subtag{font-size:9px}.terminal-header .key-hints{display:none}.pixel-hud{font-size:9px;padding:10px 12px}.input-area{padding:10px 14px}.input-prompt{font-size:10px}.terminal-input{font-size:16px}.chip-bar{padding:8px 14px;gap:8px}.chip{height:42px;font-size:9px;padding:0 12px}.project-row{grid-template-areas:"name action" "desc desc";grid-template-columns:1fr auto;align-items:baseline;gap:4px 12px;padding:10px 12px;min-height:44px}.project-name{grid-area:name}.project-open{grid-area:action;justify-self:end}.project-desc{grid-area:desc;font-size:13px}.terminal-dock{padding-bottom:max(20px,env(safe-area-inset-bottom))}}@media(hover:none)and (pointer:coarse){.terminal-header .key-hints{display:none}}.no-js #terminal{display:none!important}.noscript-fallback{max-width:800px;margin:48px auto;padding:24px}.noscript-fallback h2{font-size:20px;margin:24px 0 12px;border-bottom:2px solid var(--line);padding-bottom:4px}.noscript-fallback ul{list-style:none;padding:0;margin-bottom:16px}.noscript-fallback li{padding:8px 0;border-bottom:1px solid var(--line)}.noscript-fallback a{color:var(--accent);text-decoration:underline}.screensaver-overlay{position:fixed;inset:0;z-index:9999;background-color:#0c0805;display:flex;flex-direction:column;justify-content:space-between;opacity:0;pointer-events:none;transition:opacity .4s ease;overflow:hidden}.screensaver-overlay.is-active{opacity:1;pointer-events:auto}.screensaver-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.screensaver-overlay:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18),rgba(0,0,0,.18) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:1}.screensaver-hud{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;height:100%;padding:32px 24px;pointer-events:none;font-family:"Press Start 2P",ui-monospace,monospace;box-sizing:border-box}.screensaver-telemetry{display:flex;flex-direction:column;gap:8px;background:#120c08e0;border:3px solid var(--accent);padding:14px 20px;width:fit-content;box-shadow:6px 6px 0 var(--accent)}.hud-tag{font-size:11px;font-weight:800;letter-spacing:.08em;color:var(--accent)}.hud-stats{font-size:11px;color:#fff;line-height:1.6}.hud-controls{font-size:10px;color:var(--accent);opacity:.95;margin-top:4px}.screensaver-hint{align-self:center;background:var(--bar-bg);color:var(--bar-ink);font-family:inherit;font-size:11px;font-weight:800;letter-spacing:.05em;padding:14px 24px;border:3px solid var(--frame);box-shadow:6px 6px 0 var(--frame);cursor:pointer;pointer-events:auto;animation:pulse 1.2s infinite alternate ease-in-out}.screensaver-hint:hover{transform:scale(1.04)}.screensaver-hint:active{transform:translate(2px,2px);box-shadow:3px 3px 0 var(--frame)}@keyframes screen-shake{0%{transform:translate(0)}15%{transform:translate(-8px,6px)}30%{transform:translate(8px,-6px)}45%{transform:translate(-6px,-8px)}60%{transform:translate(6px,8px)}75%{transform:translate(-4px,4px)}90%{transform:translate(4px,-4px)}to{transform:translate(0)}}.screen-shake{animation:screen-shake .35s ease-in-out 3}.crash-overlay{position:fixed;inset:0;z-index:999999;background-color:#202124;color:#e8eaed;display:flex;align-items:center;justify-content:center;padding:24px;box-sizing:border-box;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;animation:crash-glitch-in .25s ease-out;cursor:default;user-select:none}@keyframes crash-glitch-in{0%{opacity:0;filter:invert(1) hue-rotate(180deg)}50%{opacity:.9;filter:invert(.4)}to{opacity:1;filter:none}}.crash-overlay-fadeout{animation:crash-flicker-out .35s ease-in forwards}@keyframes crash-flicker-out{0%{opacity:1;transform:scale(1)}40%{opacity:.3;transform:scale(1.02);filter:invert(.8)}70%{opacity:.8;transform:scale(.99)}to{opacity:0;transform:scale(1.05);filter:brightness(2)}}.snap-box{max-width:560px;width:100%;display:flex;flex-direction:column;align-items:flex-start;text-align:left}.snap-icon-wrap{margin-bottom:24px}.snap-icon{display:block}.snap-title{font-size:28px;font-weight:500;line-height:1.25;color:#e8eaed;margin:0 0 12px;letter-spacing:-.01em}.snap-subtitle{font-size:15px;line-height:1.6;color:#9aa0a6;margin:0 0 24px}.snap-details{width:100%;background:#282a2d;border-radius:8px;padding:14px 18px;margin-bottom:24px;font-family:Martian Mono,ui-monospace,monospace;font-size:12px;border:1px solid #3c4043;box-sizing:border-box}.snap-row{display:flex;justify-content:space-between;gap:12px;line-height:1.8}.snap-muted{color:#9aa0a6}.snap-code{color:#f28b82;font-weight:600}.snap-timer-bar{width:100%;margin-bottom:24px}.snap-timer-text{font-size:13px;color:#bdc1c6;margin:0 0 8px}.snap-timer-text strong{color:#8ab4f8;font-size:15px}.snap-meter{width:100%;height:6px;background:#3c4043;border-radius:999px;overflow:hidden}.snap-meter-fill{width:0%;height:100%;background:#8ab4f8;animation:snap-fill-meter 5s linear forwards}@keyframes snap-fill-meter{0%{width:0%}to{width:100%}}.snap-actions{display:flex;gap:12px}.snap-reload-btn{background-color:#8ab4f8;color:#202124;font-size:14px;font-weight:500;padding:10px 24px;border-radius:6px;border:none;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.snap-reload-btn:hover{background-color:#93bcf8}.snap-reload-btn:active{transform:scale(.97)}@keyframes pulse{0%{transform:scale(.97);opacity:.85}to{transform:scale(1.03);opacity:1}}
