:root{color-scheme:dark;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#030305;color:#dfdfe6}*{box-sizing:border-box}body{margin:0;overflow:hidden;background:#030305}button,input{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible{outline:1px solid #a4b7dc;outline-offset:5px}[hidden]{display:none!important}#experience{position:relative;width:100%;height:100svh;height:100dvh;overflow:hidden}canvas,#star-controls{position:absolute;inset:0;width:100%;height:100%}canvas{touch-action:manipulation}#star-controls{pointer-events:none}.star-target{position:absolute;width:52px;height:52px;border:0;border-radius:50%;background:transparent;transform:translate(-50%,-50%);pointer-events:auto;touch-action:manipulation;color:transparent}.star-target:focus-visible{outline-color:#657591}#message{position:absolute;top:22%;left:8%;right:8%;text-align:center;pointer-events:none;font-size:clamp(19px,3vw,30px);font-weight:300;letter-spacing:.025em;opacity:0;transition:opacity 1s}#message.visible{opacity:1}footer{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:0;right:0;text-align:center;pointer-events:none}#signature{pointer-events:auto;border:0;background:none;color:#62626d;font-size:11px;letter-spacing:.18em;padding:12px 24px;user-select:none;-webkit-user-select:none;touch-action:none}#terminal{position:absolute;width:min(760px,84vw);left:50%;top:50%;transform:translate(-50%,-50%);max-height:76dvh;overflow:auto;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;color:#b2c7bd;font-size:clamp(14px,2vw,18px);line-height:1.8}#transcript p{margin:0 0 15px;white-space:pre-wrap;overflow-wrap:anywhere}.echo{color:#606c66}#command-form{display:flex;align-items:center;gap:12px}#command{min-width:0;flex:1;background:transparent;color:#d5e6db;border:0;outline:none;padding:8px 0;border-bottom:1px solid #29352f;border-radius:0}.prompt{color:#7e9f8c}.cursor{height:18px;width:8px;background:#93b4a0;animation:blink 1.2s steps(1) infinite}.send{background:none;border:1px solid #344b3d;color:#91a79b;padding:3px 10px;border-radius:4px}#ending{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;padding:9vw;overflow:auto;transition:opacity 2s}.card{width:min(620px,100%);text-align:center}.card h1{font-size:clamp(23px,4vw,36px);font-weight:300;line-height:1.4;margin:0 0 28px}.card p{color:#a4a4b0;line-height:1.9;font-weight:300}.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:36px 0}.stat strong{display:block;font-size:28px;font-weight:300;color:#e1e2e9;font-variant-numeric:tabular-nums}.stat span{display:block;color:#797985;font-size:12px;margin-top:8px}.name-form{display:flex;gap:10px;justify-content:center;margin:24px 0}.name-form input,dialog input{min-width:0;border:1px solid #32323e;background:#0c0c12;border-radius:4px;padding:12px;color:#eee}.name-form button,dialog button{border:1px solid #3c3c48;border-radius:4px;background:#14141c;color:#c6c6d1;padding:10px 16px}.signed{font-size:13px;letter-spacing:.07em;margin-top:30px}dialog{border:1px solid #30303d;border-radius:6px;background:#08080d;color:#ddd;padding:20px;max-width:90vw}dialog::backdrop{background:#000b}dialog form{display:flex;gap:8px}dialog input{width:160px}.noscript{position:absolute;top:40%;width:100%;text-align:center}.dashboard{display:grid;place-items:center;min-height:100dvh;padding:24px;text-align:center}.dashboard h1{font-weight:300;font-size:clamp(24px,4vw,38px)}.dashboard p{color:#6d6d78;font-size:14px}@keyframes blink{50%{opacity:0}}@keyframes glitch{0%,100%{transform:translate(-50%,-50%)}25%{transform:translate(calc(-50% + 4px),-50%);filter:hue-rotate(45deg)}75%{transform:translate(calc(-50% - 3px),-50%);opacity:.6}}@media(max-width:500px){.stats{gap:10px}.stat strong{font-size:24px}.stat span{font-size:11px}.name-form{flex-wrap:wrap}.card p{font-size:14px}#message{top:18%}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition-duration:.15s!important}}

#signature{cursor:default;opacity:1;transition:opacity 2.8s ease}#signature.departed{opacity:0}
#ending.fading-card{transition:opacity 2.4s ease-in-out}.fading-card .card h1{font-size:clamp(21px,3.5vw,32px)}
#crash-screen{position:absolute;inset:0;pointer-events:none;overflow:hidden;background:repeating-linear-gradient(0deg,transparent 0 3px,#0005 3px 4px);animation:crash-collapse 4.6s linear forwards}
.crash-copy{position:absolute;top:50%;left:50%;width:min(760px,84vw);white-space:pre-wrap;font:clamp(14px,2vw,18px)/1.8 ui-monospace,Consolas,monospace;transform:translate(-50%,-50%);opacity:.6;mix-blend-mode:screen}.crash-red{color:#d86c7d;animation:tear-red .35s steps(1) infinite}.crash-blue{color:#56c4db;animation:tear-blue .43s steps(1) infinite}
#terminal.crashed{animation:terminal-crash 4.6s steps(1) forwards}.crash-error{position:absolute;left:8%;bottom:12%;color:#94aba3;font:12px/1.7 ui-monospace,Consolas,monospace;opacity:0;animation:crash-error 4.6s linear forwards}.crash-line{position:absolute;left:0;top:50%;width:100%;height:1px;background:#a6cabc;opacity:0;box-shadow:0 0 12px #7fceac;animation:crash-line 4.6s linear forwards}
@keyframes tear-red{0%{clip-path:inset(5% 0 65%);transform:translate(calc(-50% - 16px),-50%)}33%{clip-path:inset(48% 0 23%);transform:translate(calc(-50% + 23px),-50%)}66%{clip-path:inset(75% 0 0);transform:translate(calc(-50% - 7px),-50%)}}
@keyframes tear-blue{0%{clip-path:inset(22% 0 53%);transform:translate(calc(-50% + 13px),-50%)}50%{clip-path:inset(63% 0 9%);transform:translate(calc(-50% - 28px),-50%)}}
@keyframes terminal-crash{0%,10%{transform:translate(-50%,-50%)}20%,40%{transform:translate(calc(-50% + 7px),-50%) skewX(-3deg)}30%,55%{transform:translate(calc(-50% - 12px),-50%);filter:blur(.7px)}66%{transform:translate(-50%,-50%) scaleY(.04);filter:blur(1px)}75%,100%{opacity:0}}
@keyframes crash-collapse{0%,60%{opacity:1}70%{transform:scaleY(.04)}80%,100%{opacity:0;transform:scaleY(0)}}
@keyframes crash-error{0%,20%{opacity:0}30%,58%{opacity:.8}65%,100%{opacity:0}}
@keyframes crash-line{0%,65%{opacity:0}69%,76%{opacity:.65;transform:scaleX(1)}86%,100%{opacity:0;transform:scaleX(0)}}
@media(prefers-reduced-motion:reduce){#crash-screen{animation:none;background:none}.crash-copy,.crash-line{display:none}.crash-error{animation:none;opacity:.6}#signature,#ending.fading-card{transition-duration:.15s}}
