*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}:root{--bg: #1A1A1A;--fg: #F5F5F0;--accent: #1B3A5C;--accent-light: #6F9CC7;--warn: #C4A35A;--muted: #949494;--glow: rgba(27, 58, 92, .6);--term-bg: #0F0F0F}html,body{width:100%;height:100%;overflow:hidden;background:#0d0d0d;font-family:VT323,monospace;color:var(--fg)}.scanlines{position:fixed;top:0;left:0;width:100vw;height:100vh;pointer-events:none;z-index:1000;background:repeating-linear-gradient(0deg,rgba(27,58,92,var(--scanline-opacity, .03)) 0px,rgba(27,58,92,var(--scanline-opacity, .03)) 1px,transparent 1px,transparent 3px)}.scanlines:after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,transparent 60%,rgba(27,58,92,.08) 100%);pointer-events:none}.phosphor{text-shadow:0 0 2px rgba(245,245,240,.4),0 0 8px rgba(27,58,92,.3),0 0 16px rgba(27,58,92,.15)}.terminal-window{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:92vw;max-width:1100px;height:92vh;height:92dvh;max-height:800px;background:var(--term-bg);border-radius:10px;box-shadow:0 0 0 1px #1b3a5c4d,0 0 40px #1b3a5c26,0 20px 60px #000c;display:flex;flex-direction:column;overflow:hidden}.title-bar{display:flex;align-items:center;justify-content:space-between;padding:0 16px;height:32px;background:linear-gradient(180deg,#252525,#1a1a1a);border-bottom:1px solid rgba(27,58,92,.3);flex-shrink:0}.title-bar-left{display:flex;align-items:center;gap:8px}.dot{width:12px;height:12px;border-radius:50%;border:1px solid rgba(0,0,0,.2)}.dot-red{background:#ff5f57}.dot-yellow{background:#ffbd2e}.dot-green{background:#28c840}.title-bar-title{color:var(--muted);font-size:15px;letter-spacing:.5px;-webkit-user-select:none;user-select:none}.terminal-body{flex:1;overflow-y:auto;padding:16px 20px;font-size:18px;line-height:1.6;color:var(--fg);position:relative;scroll-behavior:smooth}.terminal-body::-webkit-scrollbar{width:10px}.terminal-body::-webkit-scrollbar-track{background:#0f0f0f}.terminal-body::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--accent),var(--accent-light));border-radius:5px;border:2px solid #0F0F0F}.terminal-body::-webkit-scrollbar-thumb:hover{background:var(--accent-light)}.input-line{display:flex;align-items:center;gap:8px;padding:12px 20px;border-top:1px solid rgba(27,58,92,.2);background:#0f0f0f;flex-shrink:0}.prompt{color:var(--accent-light);font-size:18px;-webkit-user-select:none;user-select:none;text-shadow:0 0 6px rgba(46,90,140,.5)}.cmd-input{flex:1;background:transparent;border:none;outline:none;color:var(--fg);font-family:VT323,monospace;font-size:18px;caret-color:var(--accent-light);text-shadow:0 0 4px rgba(245,245,240,.2)}.cmd-input::placeholder{color:var(--muted)}.cursor{display:inline-block;width:10px;height:20px;background:var(--accent-light);animation:blink 1.2s step-end infinite;vertical-align:middle;box-shadow:0 0 6px var(--accent-light)}.cursor.solid,.cursor.typing{animation:none;opacity:1}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}.output-line{margin-bottom:4px;word-wrap:break-word}.output-block{margin-bottom:16px}.convergence-text{color:var(--accent-light);text-shadow:0 0 var(--phosphor-glow, 8px) rgba(46,90,140,var(--phosphor-alpha, .5)),0 0 var(--phosphor-glow2, 16px) rgba(27,58,92,var(--phosphor-alpha2, .3))}.warn-text{color:var(--warn);text-shadow:0 0 6px rgba(196,163,90,.3)}.muted-text{color:var(--muted)}.error-text{color:var(--warn)}.success-text{color:#5a8c5a}.elias-text{color:var(--fg);opacity:.92}.gloss-text{color:var(--muted);font-size:15px;font-style:normal;border-left:2px solid rgba(27,58,92,.4);padding-left:10px;margin:2px 0 10px;opacity:.85}@keyframes glitch{0%{transform:translate(0)}20%{transform:translate(-3px);filter:hue-rotate(90deg)}40%{transform:translate(3px);filter:hue-rotate(-90deg)}60%{transform:translate(-1px)}80%{transform:translate(1px)}to{transform:translate(0);filter:hue-rotate(0)}}.glitch{animation:glitch .15s ease-in-out}@keyframes flicker{0%,to{opacity:1}50%{opacity:.97}70%{opacity:.99}90%{opacity:.96}}.flicker{animation:flicker .08s ease-in-out}.boot-line{color:var(--fg);opacity:.85}.boot-ok{color:#5a8c5a}.boot-warn{color:var(--warn)}.boot-accent{color:var(--accent-light)}.ascii-art{color:var(--accent-light);text-shadow:0 0 10px rgba(27,58,92,.6);line-height:1.2;white-space:pre;font-size:14px;margin:12px 0;overflow-x:auto}.hidden{display:none!important}.type-cursor:after{content:"";display:inline-block;width:10px;height:20px;background:var(--accent-light);margin-left:2px;vertical-align:middle;box-shadow:0 0 6px var(--accent-light)}@keyframes phase-flash{0%{background:transparent}10%{background:#1b3a5c14}to{background:transparent}}.phase-flash{animation:phase-flash .5s ease-out}.term-hr{border:none;border-top:1px solid rgba(27,58,92,.25);margin:12px 0}.log-entry{color:var(--muted);font-size:16px;margin-bottom:6px;padding-left:8px;border-left:2px solid rgba(27,58,92,.3)}.log-highlight{color:var(--warn)}.status-bar{display:flex;align-items:center;gap:8px;margin:4px 0}.status-label{color:var(--muted);min-width:200px}.status-value{color:var(--accent-light)}.redacted{background:var(--fg);color:var(--fg);-webkit-user-select:none;user-select:none}.redacted:hover{color:var(--bg)}.cmd-input:disabled{opacity:.5;cursor:not-allowed}.choice-block{margin:14px 0 8px;padding-left:2px}.choice-prompt{color:var(--muted);font-size:16px;margin-bottom:8px}.choice{display:block;width:100%;text-align:left;background:transparent;border:1px solid rgba(27,58,92,.35);color:var(--fg);font-family:VT323,monospace;font-size:17px;padding:8px 12px;min-height:44px;margin:6px 0;border-radius:4px;cursor:pointer;transition:background .15s ease,border-color .15s ease,transform .05s ease;text-shadow:0 0 3px rgba(245,245,240,.15)}.choice:hover{background:#1b3a5c2e;border-color:var(--accent-light)}.choice:focus-visible,.snd-toggle:focus-visible,.cmd-input:focus-visible{outline:2px solid var(--accent-light);outline-offset:2px}.choice:active{transform:translateY(1px)}.choice .choice-key{color:var(--accent-light);margin-right:10px;text-shadow:0 0 6px rgba(46,90,140,.5)}.choice:disabled{opacity:.4;cursor:default;border-color:#1b3a5c26}.choice.chosen{border-color:var(--accent-light);background:#1b3a5c1f;opacity:1}@media(max-width:600px){.terminal-window{width:98vw;height:98vh;border-radius:6px}.terminal-body{font-size:15px;padding:10px 12px}.cmd-input,.prompt{font-size:16px}.ascii-art{font-size:9px}.choice{font-size:16px}.gloss-text{font-size:13px}.status-bar-strip{padding:0 8px;font-size:11px}.snd-toggle{font-size:12px;padding:6px 8px;min-height:44px}}.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-duration:.001ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.001ms!important}.scanlines{display:none}}.status-bar-strip{display:flex;align-items:center;justify-content:space-between;padding:0 20px;height:26px;background:#0f0f0f;border-bottom:1px solid rgba(27,58,92,.2);flex-shrink:0;font-size:13px;font-family:VT323,monospace;color:var(--muted);gap:12px}.sb-phase,.sb-temp,.sb-timer{letter-spacing:.5px}.temp-calm{color:#5a8c5a}.temp-rising{color:var(--warn)}.temp-cold{color:#c65}.snd-toggle{background:transparent;border:1px solid rgba(27,58,92,.3);color:var(--muted);font-family:VT323,monospace;font-size:13px;padding:1px 8px;border-radius:3px;cursor:pointer;transition:border-color .15s,color .15s;margin-left:auto}.snd-toggle:hover{border-color:var(--accent-light);color:var(--accent-light)}.snd-toggle.active{color:var(--accent-light);border-color:var(--accent-light)}@keyframes breathe{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.0018)}}.breathe-active{animation:breathe 6s ease-in-out infinite}@keyframes cooling-flash{0%{filter:brightness(1)}30%{filter:brightness(.78)}to{filter:brightness(1)}}.cooling-flash{animation:cooling-flash .35s ease-out forwards}@media(max-width:600px){.terminal-window{height:98vh;height:98dvh}.status-bar-strip{min-height:44px;height:auto}.snd-toggle{min-height:44px;padding:6px 8px;font-size:12px}.input-line{padding-bottom:max(12px,env(safe-area-inset-bottom))}}
