@import "https://fonts.googleapis.com/css2?family=VT323&family=IBM+Plex+Mono:wght@400;500&display=swap";@import "https://fonts.googleapis.com/css2?family=VT323&family=IBM+Plex+Mono:wght@400;500&display=swap";@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-3px,2px)}40%{transform:translate(3px,-2px)}60%{transform:translate(-2px,-2px)}80%{transform:translate(2px,2px)}}@keyframes flicker{0%,to{opacity:0}3%{opacity:.02}4%{opacity:0}46%{opacity:0}47%{opacity:.03}48%{opacity:0}81%{opacity:0}82%{opacity:.015}83%{opacity:0}}.screen{z-index:3;scrollbar-width:none;white-space:pre-wrap;word-break:break-word;flex:1;padding-bottom:8px;position:relative;overflow-y:auto}.banner{white-space:pre;text-align:center;width:fit-content;max-width:100%;color:var(--phos);text-shadow:0 0 6px var(--phos-glow), 0 0 22px #ccff0040;margin-left:auto;margin-right:auto;font-size:clamp(5px,1.15vw,13px);line-height:1.05;overflow-x:auto}.strip .ok,.strip .hot,.strip .au{color:var(--phos)}@keyframes degauss{0%{opacity:.9;transform:scaleY(.004)}35%{opacity:.6;transform:scaleY(1.02)}to{opacity:0;transform:scaleY(1)}}@keyframes twinkle{0%,to{opacity:.15}50%{opacity:.9}}@media (width<=1149px){.stars{display:none}}@media (width>=1150px){.screen{padding-right:340px}}@media (width<=1149px){.robin,.robin-left{display:none}}@media (width<=700px){.crt{padding:10px;font-size:16px}.term-input{font-size:16px}.term-btn{padding:3px 8px;font-size:13px}.strip,.hdr{font-size:12px}.ca-chip,.tw-btn{padding:2px 8px;font-size:12px}.glabel{width:100%}}@media (prefers-reduced-motion:reduce){.flicker-layer,.boot-flash{opacity:0;animation:none}.matrix-canvas{display:none}.crt.shake{animation:none}.star{opacity:.6;animation:none}}:root{--void:#000;--screen:#060800;--phos:#cf0;--phos-dim:#728f00;--phos-dark:#374500;--phos-glow:#ccff008c;--white:#cf0;--font-term:"VT323", "IBM Plex Mono", monospace}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%}body{background:var(--void);overflow:hidden}.crt{background:radial-gradient(ellipse 120% 100% at 50% 45%, var(--screen) 55%, #000 100%);height:100vh;color:var(--phos);font-family:var(--font-term);cursor:text;flex-direction:column;padding:20px 28px 12px;font-size:19px;line-height:1.32;display:flex;position:relative}.crt.shake{animation:.4s linear infinite shake}.crt:before{content:"";pointer-events:none;z-index:30;background:radial-gradient(100% 100%,#0000 62%,#0000008c 100%);position:fixed;inset:0}.crt:after{content:"";pointer-events:none;z-index:31;background:repeating-linear-gradient(#0000 0 2px,#0000002e 3px,#0000 4px);position:fixed;inset:0}.flicker-layer{pointer-events:none;z-index:29;background:var(--phos);opacity:0;mix-blend-mode:overlay;animation:6s infinite flicker;position:fixed;inset:0}.crt,.crt input{text-shadow:0 0 4px var(--phos-glow), 0 0 12px #ccff002e}.hdr{z-index:3;border-bottom:1px dashed var(--phos-dark);color:var(--phos-dim);white-space:nowrap;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:14px;margin-bottom:7px;padding-bottom:7px;font-size:16px;display:flex;position:relative;overflow:hidden}.hdr .title{color:var(--white);letter-spacing:.12em}.hdr .gauge b{color:var(--phos)}.hdr .gauge.warn b{color:var(--phos);text-shadow:0 0 10px var(--phos-glow)}.screen{z-index:3;scrollbar-width:none;white-space:pre-wrap;word-break:break-word;flex:1;width:100%;max-width:760px;margin-left:auto;margin-right:24%;padding-bottom:8px;position:relative;overflow-y:auto}.screen::-webkit-scrollbar{display:none}.line{min-height:1.32em}.line.dim{color:var(--phos-dim)}.line.bright{color:var(--white)}.line.err{color:var(--phos);text-shadow:0 0 10px var(--phos-glow)}.line.sys{color:var(--phos-dim);font-size:16px}.line.gold{color:var(--phos);text-shadow:0 0 14px var(--phos-glow), 0 0 30px #ccff0059}.line .cmd-echo{color:var(--white)}.line .prompt-sigil{color:var(--phos)}.banner{white-space:pre;width:fit-content;max-width:100%;color:var(--phos);text-shadow:0 0 6px var(--phos-glow), 0 0 22px #ccff0040;margin:0 auto;font-size:clamp(5px,1.05vw,11px);line-height:1.05;overflow:visible}.banner::-webkit-scrollbar{display:none}.btn-panel{z-index:3;border-top:1px dashed var(--phos-dark);flex-direction:column;gap:6px;padding-top:8px;display:flex;position:relative}.btn-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.glabel{letter-spacing:.18em;color:var(--phos-dark);-webkit-user-select:none;user-select:none;flex-shrink:0;width:64px;font-size:13px}.term-btn{border:1px solid var(--phos-dark);color:var(--phos);font-family:var(--font-term);letter-spacing:.05em;cursor:pointer;text-shadow:0 0 4px var(--phos-glow);background:0 0;padding:3px 11px;font-size:15px;transition:background .1s,color .1s,box-shadow .1s}.term-btn:hover,.term-btn:focus-visible{background:var(--phos);color:var(--void);text-shadow:none;box-shadow:0 0 14px var(--phos-glow)}.term-btn:focus-visible{outline:1.5px solid var(--white);outline-offset:2px}.term-btn.gold{border-color:var(--phos-dim);color:var(--phos);text-shadow:0 0 8px var(--phos-glow)}.term-btn.gold:hover{background:var(--phos);color:var(--void);box-shadow:0 0 18px var(--phos-glow)}.term-btn.danger{border-color:var(--phos);color:var(--phos);text-shadow:0 0 8px var(--phos-glow)}.term-btn.danger:hover{background:var(--phos);color:var(--void);box-shadow:0 0 18px var(--phos-glow)}.input-row{z-index:3;align-items:baseline;gap:10px;padding-top:8px;display:flex;position:relative}.sigil{color:var(--phos);white-space:nowrap}.sigil b{color:var(--white);font-weight:400}.term-input{color:var(--white);font-family:var(--font-term);caret-color:var(--phos);background:0 0;border:none;outline:none;flex:1;min-width:40px;font-size:19px}.strip{z-index:3;color:var(--phos-dim);white-space:nowrap;flex-wrap:wrap;justify-content:space-between;gap:16px;padding-top:8px;font-size:15px;display:flex;position:relative;overflow:hidden}.strip .ok,.strip .hot,.strip .au{color:var(--phos)}.matrix-canvas{z-index:25;pointer-events:none;opacity:.85;position:fixed;inset:0}.boot-flash{z-index:40;background:var(--white);pointer-events:none;animation:.5s ease-out forwards degauss;position:fixed;inset:0}.stars{z-index:2;pointer-events:none;position:fixed;inset:0}.star{color:var(--phos);font-family:var(--font-term);text-shadow:0 0 6px var(--phos-glow);opacity:.85;animation:3.5s ease-in-out infinite twinkle;position:fixed;transform:translate(-50%,-50%)}.star.dim{opacity:.4}@media (width<=1149px){.stars{display:none}}.robin{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;opacity:.5;mix-blend-mode:screen;width:auto;height:70vh;max-height:720px;position:fixed;top:50%;right:-40px;transform:translateY(-50%)}.robin-left{z-index:1;pointer-events:none;-webkit-user-select:none;user-select:none;object-fit:contain;opacity:.5;mix-blend-mode:screen;width:auto;height:70vh;max-height:720px;position:fixed;top:50%;left:-40px;transform:translateY(-50%)scaleX(-1)}@media (width>=1150px){.screen{padding-right:340px}}@media (width<=1149px){.robin,.robin-left{display:none}}.ca-chip{border:1px solid var(--phos-dim);color:var(--phos-dim);font-family:var(--font-term);letter-spacing:.06em;cursor:pointer;text-shadow:0 0 4px var(--phos-glow);background:0 0;padding:2px 12px;font-size:15px;transition:background .1s,color .1s,box-shadow .1s}.ca-chip b{color:var(--phos);font-weight:400}.ca-chip:hover,.ca-chip:focus-visible{background:var(--phos);color:var(--void);box-shadow:0 0 14px var(--phos-glow);text-shadow:none}.ca-chip:hover b,.ca-chip:focus-visible b{color:var(--void)}.tw-btn{border:1px solid var(--phos);color:var(--phos);font-family:var(--font-term);letter-spacing:.1em;cursor:pointer;text-shadow:0 0 6px var(--phos-glow);background:0 0;margin-left:auto;padding:2px 14px;font-size:15px;transition:background .1s,color .1s,box-shadow .1s}.tw-btn:hover,.tw-btn:focus-visible{background:var(--phos);color:var(--void);box-shadow:0 0 18px var(--phos-glow);text-shadow:none}@media (width<=700px){.crt{padding:10px;font-size:16px}.term-input{font-size:16px}.term-btn{padding:3px 8px;font-size:13px}.strip,.hdr{font-size:12px}.ca-chip,.tw-btn{padding:2px 8px;font-size:12px}.glabel{width:100%}}@media (prefers-reduced-motion:reduce){.flicker-layer,.boot-flash{opacity:0;animation:none}.matrix-canvas{display:none}.crt.shake{animation:none}.star{opacity:.6;animation:none}}
