:root{--bg: #0c0a08;--bg-card: #161410;--bg-alt: #111009;--bg-input: #1e1c18;--bg-accent: #1e1c18;--bg-dropdown: #0f0d0a;--border: #38332e;--border-strong: #4a4540;--border-subtle: #221f1a;--text: #f0e8d0;--text-2: #9a9080;--text-3: #605848;--accent: #f0e8d0;--btn-primary-bg: var(--text);--btn-primary-text: var(--bg);--error: #e05050;--error-bg: #200c0c;--error-border: #401818;--badge-bg: #1c1a16;--badge-border: #302c28;--badge-exhausted-bg: #200c0c;--badge-exhausted-border: #401818;--badge-exhausted-text: #e05050;--badge-text: #9a9080;--success: #70c878;--success-bg: rgba(10,25,12,.92);--success-border: #285530;--overlay: rgba(0,0,0,.75);--overlay-dark: rgba(0,0,0,.92);--shadow-card: 0 0 20px rgba(0,0,0,.8);--scanline-opacity: .1;--vignette-opacity: .55;--glow-opacity: .2}.light{--bg: #f0e8d0;--bg-card: #e8dfc8;--bg-alt: #ddd6c0;--bg-input: #ebe3cc;--bg-accent: #e0d8c0;--bg-dropdown: #ece4cc;--border: #c0b898;--border-strong: #a09878;--border-subtle: #d0c8b0;--text: #1a1410;--text-2: #5a5048;--text-3: #9a9080;--accent: #1a1410;--btn-primary-bg: var(--text);--btn-primary-text: var(--bg);--error: #cc0000;--error-bg: #fee8e8;--error-border: #f08080;--badge-bg: #e0d8c0;--badge-border: #b8b098;--badge-exhausted-bg: #fee8e8;--badge-exhausted-border: #f08080;--badge-exhausted-text: #cc0000;--badge-text: #5a5048;--success: #2a6a30;--success-bg: rgba(230,245,232,.95);--success-border: #7ab87a;--overlay: rgba(20,16,10,.5);--overlay-dark: rgba(20,16,10,.75);--shadow-card: 0 4px 12px rgba(0,0,0,.15);--scanline-opacity: 0;--vignette-opacity: 0;--glow-opacity: 0}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;border-radius:0!important}html{min-height:100%;font-size:20px}body{min-height:100%}body{font-family:VT323,monospace;font-size:20px;letter-spacing:.3px;background:var(--bg);color:var(--text);-webkit-font-smoothing:none;image-rendering:pixelated;overscroll-behavior:none;transition:background .2s,color .2s;text-shadow:0 0 8px rgba(240,232,208,var(--glow-opacity))}body:after{content:"";position:fixed;inset:0;background:repeating-linear-gradient(0deg,transparent 0px,transparent 1px,rgba(0,0,0,var(--scanline-opacity)) 1px,rgba(0,0,0,var(--scanline-opacity)) 2px);pointer-events:none;z-index:9999}body:before{content:"";position:fixed;inset:0;background:radial-gradient(ellipse at center,transparent 55%,rgba(0,0,0,var(--vignette-opacity)) 100%);pointer-events:none;z-index:9998}#root{min-height:100dvh;min-height:100vh;display:flex;flex-direction:column}@media(min-width:520px){#root{align-items:center;justify-content:flex-start;padding:0}#root>*{width:100%;max-width:480px}}button{-webkit-tap-highlight-color:transparent;touch-action:manipulation;font-family:VT323,monospace;letter-spacing:.3px}input,select{font-size:21px!important;font-family:VT323,monospace!important;letter-spacing:.3px}@keyframes chainSlideIn{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.chain-entry{animation:chainSlideIn .3s ease both}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-8px)}40%{transform:translate(8px)}60%{transform:translate(-5px)}80%{transform:translate(5px)}}.shake{animation:shake .4s ease both}@keyframes fixtureIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.fixture-enter{animation:fixtureIn .3s ease both}@keyframes timerPulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes badgeFlash{0%{background:var(--text);color:var(--bg)}to{background:inherit;color:inherit}}.badge-flash{animation:badgeFlash .5s ease both}@keyframes thinkingPulse{0%,to{border-color:var(--border)}50%{border-color:var(--text)}}.thinking-card{animation:thinkingPulse 2s ease infinite}@keyframes crtFlicker{0%,89%,91%,to{opacity:1}90%{opacity:.96}}body{animation:crtFlicker 10s infinite}
