:root{--green:#39ff8f;--red:#ff3b3b;--blue:#3ba7ff;--font-mono:"Share Tech Mono", ui-monospace, Consolas, monospace}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;padding:0}body{font-family:var(--font-mono);overscroll-behavior:none;-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;background:#05070a;overflow:hidden}.stage{position:fixed;inset:0}.stage canvas{display:block}.hud{pointer-events:none;z-index:10;position:fixed;inset:0}.tool{color:#96ffc8bf;filter:drop-shadow(0 0 6px #39ff8f80);width:26px;height:26px;animation:.9s both tool-appear;position:absolute;bottom:16px;left:18px}.tool.used{color:#8cbea540;filter:none}.tool svg{width:100%;height:100%}@keyframes tool-appear{0%{opacity:0;transform:scale(1.9)}40%{opacity:1;transform:scale(1.15)}to{opacity:1;transform:scale(1)}}.dial-progress{gap:10px;display:flex;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.dial-progress span{background:#78aa9626;border-radius:50%;width:5px;height:5px;transition:background .4s,box-shadow .4s}.dial-progress span.on{background:#39ff8fbf;box-shadow:0 0 8px #39ff8fb3}.scanlines{pointer-events:none;background:repeating-linear-gradient(#ffffff06 0 1px,#0000 2px 4px);position:absolute;inset:0}.glitch-flash{pointer-events:none;mix-blend-mode:screen;background:#ff3b3b12;animation:.48s steps(3,end) forwards glitch-flash;position:absolute;inset:0}@keyframes glitch-flash{0%{opacity:1;transform:translate(0)}30%{opacity:.4;transform:translate(-4px)}60%{opacity:.8;transform:translate(3px)}to{opacity:0;transform:translate(0)}}.boot{z-index:30;color:#78ebafcc;font-family:var(--font-mono);letter-spacing:.08em;cursor:pointer;opacity:1;text-shadow:0 0 8px #39ff8f59;background:#020403;padding:9vh 8vw;font-size:clamp(.7rem,2.2vw,1rem);line-height:1.75;transition:opacity .7s;position:fixed;inset:0}.boot-out{opacity:0;pointer-events:none}.boot-lines div{animation:.12s steps(2,end) both boot-line-in}.boot-cursor{animation:.9s step-end infinite cursor-blink}@keyframes boot-line-in{0%{opacity:0}to{opacity:1}}@keyframes cursor-blink{0%,to{opacity:1}50%{opacity:0}}.reveal{z-index:20;background:#010202;flex-direction:column;justify-content:center;align-items:center;gap:clamp(10px,3vh,26px);padding:24px;animation:2.4s both reveal-in;display:flex;position:fixed;inset:0}.reveal .brand{width:clamp(200px,42vw,420px);max-width:82vw;image-rendering:pixelated;filter:drop-shadow(0 0 28px #3ba7ff59);animation:2.6s .5s both reveal-text}.reveal h1{color:var(--green);font-family:var(--font-mono);letter-spacing:.42em;text-shadow:0 0 26px #39ff8fb3;margin:0;padding-left:.42em;font-size:clamp(1.3rem,5vw,3.2rem);font-weight:400;animation:3s 1.3s both reveal-text,5s ease-in-out 4.3s infinite text-breathe}.reveal .tag{color:#8cbea580;letter-spacing:.24em;text-align:center;margin:0;font-size:clamp(.55rem,1.7vw,.85rem);animation:3s 2.2s both reveal-text}@keyframes reveal-in{0%{opacity:0}to{opacity:1}}@keyframes reveal-text{0%{opacity:0;filter:blur(6px)}to{opacity:1;filter:blur()}}@keyframes text-breathe{0%,to{opacity:1}50%{opacity:.72}}.laptop-terminal{z-index:15;justify-content:center;align-items:center;padding:3vh 3vw;animation:.45s .4s both term-fade-in;display:flex;position:fixed;inset:0}.laptop-terminal.term-closing{animation:.24s both term-fade-out}.term-backdrop{-webkit-backdrop-filter:blur(5px);background:#02050873;position:absolute;inset:0}.term-panel{color:#78ebafe0;letter-spacing:.06em;text-shadow:0 0 7px #39ff8f4d;background:#020805f0;border:1px solid #39ff8f47;border-radius:4px;flex-direction:column;width:min(740px,94vw);height:min(540px,84dvh);font-size:clamp(.68rem,2vw,.9rem);line-height:1.7;animation:6s step-end infinite term-crt-flicker;display:flex;position:relative;overflow:hidden;box-shadow:0 0 34px #39ff8f24,inset 0 0 60px #03140ce6}.term-titlebar{color:#78ebaf8c;letter-spacing:.18em;border-bottom:1px solid #39ff8f2e;justify-content:space-between;align-items:center;gap:12px;padding:10px 14px;font-size:.82em;display:flex}.term-exit{color:#78ebafbf;font-family:var(--font-mono);letter-spacing:.12em;cursor:pointer;background:0 0;border:1px solid #39ff8f4d;border-radius:3px;padding:6px 12px;font-size:1em;transition:background .2s,color .2s,border-color .2s}.term-exit:hover{color:#ff9682e6;background:#ff3b3b1f;border-color:#ff5a5a80}.term-boot{padding:22px 20px}.term-nav{flex-wrap:wrap;gap:8px;padding:12px 14px 4px;display:flex}.term-nav button{color:#78ebaf99;font-family:var(--font-mono);letter-spacing:.14em;cursor:pointer;background:0 0;border:1px solid #39ff8f38;border-radius:3px;padding:7px 12px;font-size:.85em;transition:background .15s,color .15s,box-shadow .15s}.term-nav button:hover{color:#a0ffc8e6;background:#39ff8f14}.term-nav button.on{color:var(--green);background:#39ff8f29;border-color:#39ff8f8c;box-shadow:0 0 12px #39ff8f40}.term-content{scrollbar-width:thin;scrollbar-color:#39ff8f4d transparent;flex:1;padding:14px 20px;animation:.26s steps(3,end) both term-section-in;overflow-y:auto}.term-cmd{color:#a0ffc8f2;margin-bottom:10px}.term-line{white-space:pre-wrap;min-height:1.7em;animation:.12s steps(2,end) both boot-line-in}.term-line.alert{color:#ff785ad9;text-shadow:0 0 8px #ff503c59}.term-link{width:fit-content;color:var(--blue);text-shadow:0 0 8px #3ba7ff66;padding:3px 0;text-decoration:none;animation:.12s steps(2,end) both boot-line-in;display:block}.term-link:hover{color:#8fd0ff;text-decoration:underline}.term-link.pending{color:#78aa9666;text-shadow:none}.term-footer{color:#78ebaf59;letter-spacing:.2em;border-top:1px solid #39ff8f24;padding:8px 14px;font-size:.72em}@keyframes term-fade-in{0%{opacity:0}to{opacity:1}}@keyframes term-fade-out{0%{opacity:1}to{opacity:0}}@keyframes term-section-in{0%{opacity:0;transform:translate(-3px)}35%{opacity:.6;transform:translate(2px)}to{opacity:1;transform:translate(0)}}@keyframes term-crt-flicker{0%,93%,96%,to{opacity:1}94%{opacity:.86}95%{opacity:.95}}
