:root{--color-bg: #0a0a0a;--color-bg-terminal: #0d1117;--color-text: #c9d1d9;--color-text-dim: #6e7681;--color-text-bright: #f0f6fc;--color-accent: #58a6ff;--color-accent-dim: #388bfd;--color-success: #3fb950;--color-warning: #d29922;--color-error: #f85149;--color-surface-light: #21262d;--color-surface: #161b22;--crt-glow: rgba(88, 166, 255, .15);--crt-scanline: rgba(0, 0, 0, .1);--font-terminal: "VT323", "Courier New", monospace;--font-code: "Source Code Pro", "Consolas", monospace;--terminal-max-width: 900px;--terminal-padding: 1.5rem;--line-height: 1.6;--ease-out-expo: cubic-bezier(.16, 1, .3, 1);--ease-out-back: cubic-bezier(.34, 1.56, .64, 1);--ease-spring: cubic-bezier(.175, .885, .32, 1.275);--focus-ring: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-accent);--focus-ring-error: 0 0 0 2px var(--color-bg), 0 0 0 4px var(--color-error)}*{box-sizing:border-box;margin:0;padding:0}html{font-size:18px}body{font-family:var(--font-terminal);background-color:var(--color-bg);color:var(--color-text);line-height:var(--line-height);min-height:100vh;overflow-x:hidden}:focus{outline:none}:focus-visible{outline:none;box-shadow:var(--focus-ring)}.skip-link{position:absolute;top:-100%;left:0;padding:.5rem 1rem;background:var(--color-accent);color:var(--color-bg);z-index:10000;transition:top .2s}.skip-link:focus{top:0}@media(prefers-contrast:high){:root{--color-text: #ffffff;--color-text-dim: #a0a0a0;--color-accent: #79c0ff}}button,a,input,select,[role=button],.interactive{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.15s;transition-timing-function:var(--ease-out-expo)}:disabled,[aria-disabled=true]{cursor:not-allowed;opacity:.5;pointer-events:none}button:active:not(:disabled),[role=button]:active:not([aria-disabled=true]){transform:scale(.97)}::selection{background:var(--color-accent);color:var(--color-bg)}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--color-text-dim);border-radius:4px;border:2px solid transparent;background-clip:content-box}::-webkit-scrollbar-thumb:hover{background:var(--color-accent);background-clip:content-box}*{scrollbar-width:thin;scrollbar-color:var(--color-text-dim) transparent}.skeleton{position:relative;overflow:hidden;background:linear-gradient(90deg,var(--color-surface) 0%,var(--color-surface-light) 50%,var(--color-surface) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-dots:after{content:"";animation:loading-dots 1.4s infinite step-end}@keyframes loading-dots{0%,20%{content:"."}40%{content:".."}60%,to{content:"..."}}.pulse-loading{animation:pulse-load 2s infinite}[data-tooltip]{position:relative;cursor:help}[data-tooltip]:before,[data-tooltip]:after{position:absolute;visibility:hidden;opacity:0;transition:opacity .2s,transform .2s var(--ease-out-expo);pointer-events:none;z-index:9999}[data-tooltip]:before{content:attr(data-tooltip);bottom:calc(100% + 8px);left:50%;transform:translate(-50%) translateY(4px);padding:.4rem .6rem;background:var(--color-surface-light);border:1px solid var(--color-accent);border-radius:4px;font-size:.75rem;color:var(--color-text);white-space:nowrap;box-shadow:0 4px 12px #0006,0 0 10px #58a6ff33}[data-tooltip]:after{content:"";bottom:calc(100% + 2px);left:50%;transform:translate(-50%) translateY(4px);border:6px solid transparent;border-top-color:var(--color-accent)}[data-tooltip]:hover:before,[data-tooltip]:hover:after{visibility:visible;opacity:1;transform:translate(-50%) translateY(0)}[data-tooltip-pos=bottom]:before{bottom:auto;top:calc(100% + 8px);transform:translate(-50%) translateY(-4px)}[data-tooltip-pos=bottom]:after{bottom:auto;top:calc(100% + 2px);border-top-color:transparent;border-bottom-color:var(--color-accent);transform:translate(-50%) translateY(-4px)}[data-tooltip-pos=bottom]:hover:before,[data-tooltip-pos=bottom]:hover:after{transform:translate(-50%) translateY(0)}@keyframes pulse-load{0%,to{opacity:1}50%{opacity:.5}}.crt-effect{position:relative}.crt-effect:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:repeating-linear-gradient(0deg,var(--crt-scanline),var(--crt-scanline) 1px,transparent 1px,transparent 2px);pointer-events:none;z-index:100}.crt-effect:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(ellipse at center,transparent 0%,rgba(0,0,0,.3) 100%);pointer-events:none;z-index:101}.app{min-height:100vh;display:flex;flex-direction:column}.terminal{background-color:var(--color-bg-terminal);border:1px solid var(--color-text-dim);border-radius:8px;max-width:var(--terminal-max-width);width:100%;margin:0 auto;box-shadow:0 0 20px var(--crt-glow),inset 0 0 60px #58a6ff08}.episode-banner{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem var(--terminal-padding);background:linear-gradient(180deg,rgba(212,175,55,.08) 0%,transparent 100%);border-bottom:1px solid rgba(212,175,55,.3)}.episode-label{font-size:.65rem;color:var(--color-text-dim);letter-spacing:.2em;text-transform:uppercase}.episode-title{font-size:1.4rem;color:#d4af37;letter-spacing:.15em;font-weight:600;text-shadow:0 0 15px rgba(212,175,55,.5);text-transform:uppercase}.terminal-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem var(--terminal-padding);border-bottom:1px solid var(--color-text-dim);background:linear-gradient(180deg,rgba(255,255,255,.02) 0%,transparent 100%)}.terminal-title{font-size:.9rem;color:var(--color-text-dim);letter-spacing:.05em}.terminal-status{display:flex;gap:.5rem;font-size:.8rem;color:var(--color-text-dim)}.terminal-output{padding:var(--terminal-padding);min-height:400px;max-height:60vh;overflow-y:auto;scroll-behavior:smooth;position:relative;background:linear-gradient(var(--color-bg-terminal) 30%,transparent),linear-gradient(transparent,var(--color-bg-terminal) 70%) 0 100%,radial-gradient(farthest-side at 50% 0,rgba(88,166,255,.15),transparent),radial-gradient(farthest-side at 50% 100%,rgba(88,166,255,.15),transparent) 0 100%;background-repeat:no-repeat;background-size:100% 40px,100% 40px,100% 15px,100% 15px;background-attachment:local,local,scroll,scroll}.terminal-output::-webkit-scrollbar{width:8px}.terminal-output::-webkit-scrollbar-track{background:transparent}.terminal-output::-webkit-scrollbar-thumb{background:var(--color-text-dim);border-radius:4px;border:2px solid transparent;background-clip:content-box}.terminal-output::-webkit-scrollbar-thumb:hover{background:var(--color-accent);background-clip:content-box}.message{margin-bottom:1rem;animation:fadeIn .35s var(--ease-out-expo)}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-narrative{color:var(--color-text);line-height:1.7}.message-dialogue{color:var(--color-accent)}.message-dialogue .speaker{color:var(--color-accent-dim);font-weight:600;text-shadow:0 0 6px rgba(88,166,255,.3)}.message-system{color:var(--color-text-dim);font-style:italic}.message-error{color:var(--color-error)}.terminal-input-container{display:flex;align-items:center;padding:1rem var(--terminal-padding);border-top:1px solid var(--color-text-dim);gap:.75rem;background:linear-gradient(180deg,#0003,#00000059);min-height:56px;cursor:text;transition:background-color .2s,border-color .2s}.terminal-input-container:focus-within{background:linear-gradient(180deg,#00000040,#0006);border-color:var(--color-accent)}.terminal-input-wrapper{flex:1;position:relative;display:flex;align-items:center;min-height:44px}.terminal-prompt{color:var(--color-success);font-weight:600;flex-shrink:0;font-size:1.2rem;text-shadow:0 0 8px rgba(63,185,80,.5);transition:color .2s,text-shadow .2s}.terminal-input-container:focus-within .terminal-prompt{color:var(--color-accent);text-shadow:0 0 10px rgba(88,166,255,.6)}.terminal-input{flex:1;background:transparent;border:none;color:var(--color-text-bright);font-family:var(--font-terminal);font-size:1.1rem;outline:none;caret-color:var(--color-accent);padding:.75rem 0;min-height:44px;touch-action:manipulation;transition:color .2s}.terminal-input::placeholder{color:var(--color-text-dim);font-style:italic;transition:color .2s}.terminal-input:focus::placeholder{color:#6e768199}.terminal-input:disabled{opacity:.5}.typewriter{overflow:hidden;white-space:pre-wrap}@keyframes typewriter{0%{width:0}to{width:100%}}.cursor{position:absolute;display:inline-block;width:.6em;height:1.2em;background-color:var(--color-accent);animation:blink 1s step-end infinite;pointer-events:none;top:50%;transform:translateY(-50%);box-shadow:0 0 10px #58a6ff80}@keyframes blink{50%{opacity:0}}.loading{color:var(--color-text-dim)}.loading:after{content:"...";animation:ellipsis 1.5s infinite}@keyframes ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.menu-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.menu-title{font-size:3rem;color:var(--color-text-bright);text-shadow:0 0 20px var(--crt-glow);margin-bottom:.5rem;letter-spacing:.1em}.menu-tagline{color:var(--color-text-dim);margin-bottom:3rem;font-style:italic}.menu-options{display:flex;flex-direction:column;gap:1.5rem;width:100%;max-width:400px}.menu-option-group{display:flex;flex-direction:column;gap:.5rem}.menu-option-label{color:var(--color-text-dim);font-size:.9rem;text-transform:uppercase;letter-spacing:.1em}.menu-option-buttons{display:flex;gap:.5rem}.menu-button{flex:1;padding:.75rem 1rem;background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text);font-family:var(--font-terminal);font-size:1rem;cursor:pointer;transition:all .2s var(--ease-out-expo);position:relative;overflow:hidden}.menu-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 100%);opacity:0;transition:opacity .2s}.menu-button:hover{border-color:var(--color-accent);color:var(--color-accent);box-shadow:0 0 15px #58a6ff33}.menu-button:hover:before{opacity:1}.menu-button:focus-visible{box-shadow:var(--focus-ring)}.menu-button.selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);box-shadow:0 0 20px #58a6ff66}.menu-button.selected:before{opacity:1}.menu-button:active:not(:disabled){transform:scale(.97)}.menu-start-button{margin-top:1rem;padding:1rem 2rem;background:var(--color-accent);border:none;color:var(--color-bg);font-family:var(--font-terminal);font-size:1.2rem;cursor:pointer;transition:all .2s var(--ease-out-expo);text-transform:uppercase;letter-spacing:.1em;position:relative;overflow:hidden;border-radius:4px}.menu-start-button:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.15) 0%,transparent 50%)}.menu-start-button:after{content:"";position:absolute;top:-50%;right:-50%;bottom:-50%;left:-50%;background:radial-gradient(circle,rgba(255,255,255,.3) 0%,transparent 70%);opacity:0;transition:opacity .3s;pointer-events:none}.menu-start-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 25px #58a6ff80}.menu-start-button:hover:not(:disabled):after{opacity:1}.menu-start-button:active:not(:disabled){transform:translateY(0) scale(.98);box-shadow:0 4px 15px #58a6ff4d}.menu-start-button:focus-visible{box-shadow:var(--focus-ring),0 8px 25px #58a6ff4d}.menu-start-button:disabled{opacity:.5;cursor:not-allowed}.menu-continue-button{margin-top:.75rem;padding:.75rem 1.5rem;background:transparent;border:2px solid var(--color-accent);color:var(--color-accent);font-family:var(--font-terminal);font-size:1rem;cursor:pointer;transition:all .2s var(--ease-out-expo);text-transform:uppercase;letter-spacing:.1em;display:flex;align-items:center;justify-content:center;gap:.5rem;border-radius:4px}.menu-continue-button:hover:not(:disabled){background:#58a6ff1a;transform:scale(1.02)}.menu-continue-button:disabled{opacity:.5;cursor:not-allowed}.menu-quick-actions{display:flex;gap:1rem;justify-content:center;margin-top:1.5rem}.menu-quick-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text-dim);font-family:var(--font-terminal);font-size:.9rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:.5rem}.menu-quick-btn:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.menu-quick-btn:disabled{opacity:.5;cursor:not-allowed}.ai-disclosure{position:fixed;bottom:0;left:0;right:0;padding:.5rem 1rem;background:#000c;color:var(--color-text-dim);font-size:.75rem;text-align:center;border-top:1px solid var(--color-text-dim)}.audio-controls{display:flex;align-items:center;gap:.35rem}.audio-toggle,.voice-toggle,.speak-button{background:transparent;border:1px solid var(--color-text-dim);border-radius:4px;padding:.2rem .4rem;font-size:.75rem;cursor:pointer;transition:all .2s;color:var(--color-text)}.audio-toggle:hover,.voice-toggle:hover,.speak-button:hover{border-color:var(--color-accent);background:#58a6ff1a}.voice-toggle.disabled{opacity:.5}.volume-slider{width:50px;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:var(--color-text-dim);border-radius:2px;cursor:pointer}.volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;background:var(--color-accent);border-radius:50%;cursor:pointer}.volume-slider::-moz-range-thumb{width:10px;height:10px;background:var(--color-accent);border-radius:50%;cursor:pointer;border:none}.alex-voice-controls{display:flex;align-items:center;gap:.25rem}.audio-settings{position:relative;z-index:100}.audio-settings-toggle{display:flex;align-items:center;gap:.3rem;background:#121212cc;border:1px solid var(--color-text-dim);border-radius:6px;padding:.3rem .5rem;font-size:.8rem;cursor:pointer;transition:all .2s ease;color:var(--color-text)}.audio-settings-toggle:hover{border-color:var(--color-accent);background:#58a6ff26;transform:translateY(-1px)}.audio-settings-toggle.active{border-color:var(--color-accent);background:#58a6ff33;box-shadow:0 0 10px #58a6ff4d}.toggle-icon{font-size:.9rem}.toggle-caret{font-size:.5rem;opacity:.6;transition:transform .2s ease}.audio-settings-toggle.active .toggle-caret{transform:rotate(180deg)}.audio-settings-panel{position:absolute;top:calc(100% + 8px);right:0;background:linear-gradient(180deg,#1c1c22fa,#121216fa);border:1px solid var(--color-accent);border-radius:12px;padding:1rem;min-width:280px;box-shadow:0 8px 32px #0009,0 0 20px #58a6ff1a,inset 0 1px #ffffff0d;z-index:1000;animation:panelSlideIn .25s cubic-bezier(.16,1,.3,1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}@keyframes panelSlideIn{0%{opacity:0;transform:translateY(-12px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.audio-settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(88,166,255,.3);font-size:.9rem;font-weight:600;color:var(--color-accent);letter-spacing:.02em}.audio-settings-close{background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;font-size:1.1rem;padding:.2rem;line-height:1;border-radius:4px;transition:all .15s}.audio-settings-close:hover{color:var(--color-error);background:#ff525226}.audio-setting-group{margin-bottom:1rem}.audio-setting-group:last-of-type{margin-bottom:.5rem}.audio-setting-label{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:var(--color-text);margin-bottom:.5rem;font-weight:500}.volume-controls{display:flex;align-items:center;gap:.5rem}.audio-mini-toggle{background:#0000004d;border:1px solid var(--color-text-dim);border-radius:4px;padding:.15rem .35rem;font-size:.7rem;cursor:pointer;opacity:.6;transition:all .2s ease}.audio-mini-toggle.enabled{opacity:1;border-color:var(--color-success);background:#4cd96426}.audio-mini-toggle:hover{opacity:1;transform:scale(1.1)}.voice-selector-row{display:flex;gap:.5rem;align-items:stretch}.voice-selector{flex:1;background:#0006;border:1px solid var(--color-text-dim);border-radius:6px;padding:.5rem .6rem;font-size:.8rem;color:var(--color-text);font-family:var(--font-terminal);cursor:pointer;transition:all .2s ease}.voice-selector:hover:not(:disabled){border-color:var(--color-accent)}.voice-selector:focus{border-color:var(--color-accent);outline:none;box-shadow:0 0 0 2px #58a6ff33}.voice-selector:disabled{opacity:.4;cursor:not-allowed}.voice-selector optgroup{font-weight:600;color:var(--color-accent);background:#0009}.voice-selector option{background:#1c1c22fa;color:var(--color-text);padding:.3rem}.voice-preview-btn{background:#58a6ff26;border:1px solid var(--color-accent);border-radius:6px;padding:0 .6rem;font-size:.85rem;cursor:pointer;transition:all .2s ease;color:var(--color-accent);display:flex;align-items:center;justify-content:center;min-width:36px}.voice-preview-btn:hover:not(:disabled){background:#58a6ff4d;transform:scale(1.05)}.voice-preview-btn:disabled{opacity:.3;cursor:not-allowed}.voice-preview-btn.playing{background:#ff525233;border-color:var(--color-error);color:var(--color-error);animation:pulse 1s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.volume-slider-large{width:100%;height:8px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:#ffffff1a;border-radius:4px;cursor:pointer;transition:background .2s}.volume-slider-large:hover:not(:disabled){background:#ffffff26}.volume-slider-large::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:16px;height:16px;background:linear-gradient(135deg,var(--color-accent),#4a9eff);border-radius:50%;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 6px #58a6ff66}.volume-slider-large::-webkit-slider-thumb:hover{transform:scale(1.2);box-shadow:0 2px 10px #58a6ff99}.volume-slider-large::-moz-range-thumb{width:16px;height:16px;background:linear-gradient(135deg,var(--color-accent),#4a9eff);border-radius:50%;cursor:pointer;border:none;box-shadow:0 2px 6px #58a6ff66}.volume-slider-large::-moz-range-track{background:#ffffff1a;border-radius:4px;height:8px}.volume-slider-large:disabled{opacity:.4;cursor:not-allowed}.volume-slider-large:disabled::-webkit-slider-thumb{background:var(--color-text-dim);box-shadow:none}.volume-value{font-size:.75rem;color:var(--color-accent);min-width:38px;text-align:right;font-weight:500;font-variant-numeric:tabular-nums}.audio-setting-hint{font-size:.7rem;color:var(--color-text-dim);text-align:center;margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.05);opacity:.7}.game-layout{display:flex;gap:1rem;height:100%;max-width:1400px;margin:0 auto;padding:1rem}.game-main{flex:1;min-width:0}.game-sidebar{display:flex;flex-direction:column;gap:.75rem;width:260px;flex-shrink:0}.sidebar-header{background:linear-gradient(135deg,rgba(88,166,255,.1) 0%,transparent 100%);border:1px solid var(--color-accent);border-radius:6px;padding:.5rem .75rem;text-align:center}.sidebar-title{font-size:1rem;font-weight:700;color:var(--color-accent);letter-spacing:.2em;text-shadow:0 0 8px rgba(88,166,255,.5)}.minimap-container{background:var(--color-surface);border:1px solid var(--color-text-dim);border-radius:8px;padding:.5rem;display:flex;flex-direction:column;gap:.35rem;flex:1;transition:border-color .2s,box-shadow .2s}.minimap-container:hover{border-color:#58a6ff4d;box-shadow:0 0 15px #58a6ff1a}.minimap-header{color:var(--color-accent);font-weight:700;font-size:.7rem;text-align:center;letter-spacing:.15em;text-shadow:0 0 6px rgba(88,166,255,.3)}.minimap-svg{display:block;margin:0 auto;transition:transform .2s}.minimap-container:hover .minimap-svg{transform:scale(1.02)}.minimap-legend{display:flex;justify-content:center;gap:.6rem;padding-top:.35rem;border-top:1px solid rgba(110,118,129,.3);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.2rem;font-size:.6rem;color:var(--color-text-dim);cursor:help;transition:color .15s}.legend-item:hover{color:var(--color-text)}.legend-dot{width:8px;height:8px;border-radius:2px;border:2px solid;transition:transform .15s,box-shadow .15s}.legend-item:hover .legend-dot{transform:scale(1.2)}.legend-dot.current{background:var(--color-surface);border-color:var(--color-accent);box-shadow:0 0 4px var(--color-accent)}.legend-dot.visited{background:var(--color-surface);border-color:var(--color-success)}.legend-dot.known{background:transparent;border-color:var(--color-text-dim);border-style:dashed}.minimap-location{text-align:center;color:var(--color-accent);font-size:.75rem;font-weight:700;padding:.3rem .6rem;background:linear-gradient(135deg,#58a6ff1a,#58a6ff0d);border-radius:4px;display:flex;align-items:center;justify-content:center;gap:.3rem;border:1px solid rgba(88,166,255,.2);text-shadow:0 0 6px rgba(88,166,255,.3)}.minimap-location:before{content:"📍";font-size:.7rem}@keyframes pulse-glow{0%,to{opacity:.3}50%{opacity:.6}}.pulse-glow{animation:pulse-glow 2s ease-in-out infinite}.game-stats{background:var(--color-surface);border:1px solid var(--color-text-dim);border-radius:6px;padding:.5rem .75rem;display:flex;flex-direction:column;gap:.5rem}.stats-row{display:flex;align-items:center;gap:.5rem}.stats-row-main{justify-content:space-between}.stats-row-resources{justify-content:space-around;padding-top:.5rem;border-top:1px solid rgba(110,118,129,.3)}.stat-compact{display:flex;align-items:center;gap:.4rem}.stat-exploration{flex:1}.exploration-display{display:flex;align-items:center;gap:.5rem;flex:1}.stat-divider{width:1px;height:20px;background:var(--color-text-dim);opacity:.3}.stat-label{font-size:.6rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em}.stat-value{font-size:.9rem;font-weight:700;color:var(--color-accent)}.stat-bar{flex:1;height:6px;background:var(--color-surface-light);border-radius:3px;overflow:hidden;min-width:60px}.stat-bar-fill{height:100%;border-radius:3px;background:linear-gradient(90deg,var(--color-success),var(--color-accent));box-shadow:0 0 6px var(--color-success);transition:width .3s ease}.resource-group{display:flex;align-items:center;gap:.3rem}.resource-label{font-size:.55rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em}.stat-pips{display:flex;gap:.15rem;font-size:.75rem}.pip{opacity:.25;filter:grayscale(1);transition:all .2s ease}.pip.available{opacity:1;filter:grayscale(0)}.pip.used{opacity:.15}.inventory-panel{background:var(--color-surface);border:1px solid var(--color-text-dim);border-radius:8px;padding:.5rem;min-height:80px;max-height:150px;display:flex;flex-direction:column;transition:border-color .2s,box-shadow .2s}.inventory-panel:hover{border-color:#58a6ff4d;box-shadow:0 0 15px #58a6ff1a}.panel-header{color:var(--color-accent);font-weight:700;font-size:.7rem;text-align:center;letter-spacing:.15em;margin-bottom:.35rem;text-shadow:0 0 6px rgba(88,166,255,.3)}.inventory-items{flex:1;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem;padding-right:2px}.inventory-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:.75rem .5rem;color:var(--color-text-dim);text-align:center;gap:.35rem}.empty-icon{font-size:1.5rem;opacity:.3;animation:empty-float 3s ease-in-out infinite}@keyframes empty-float{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.empty-text{font-size:.65rem;font-style:italic}.inventory-item{display:flex;align-items:center;gap:.4rem;padding:.3rem .5rem;background:#58a6ff0d;border:1px solid rgba(110,118,129,.3);border-radius:4px;font-size:.7rem;transition:all .2s var(--ease-out-expo);cursor:pointer}.inventory-item:hover{background:#58a6ff26;border-color:var(--color-accent);transform:translate(3px);box-shadow:0 2px 8px #58a6ff33}.inventory-item:active{transform:translate(2px) scale(.98)}.inventory-item.is-clue{border-color:#d2992280;background:#ffc80014;border-left:3px solid var(--color-warning)}.inventory-item.is-clue:hover{background:#ffc8002e;box-shadow:0 2px 8px #d2992240}.item-icon{font-size:.9rem;transition:transform .2s}.inventory-item:hover .item-icon{transform:scale(1.1)}.item-name{color:var(--color-text);flex:1}.clues-counter{display:flex;align-items:center;justify-content:center;gap:.35rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid rgba(110,118,129,.3);font-size:.75rem;color:var(--color-warning);text-shadow:0 0 6px rgba(210,153,34,.3)}.clue-icon{font-size:.9rem}.clue-count{font-weight:700}.touch-target{touch-action:manipulation;-webkit-tap-highlight-color:transparent}*{-webkit-tap-highlight-color:transparent}button,.menu-button,.audio-toggle,.voice-toggle,.speak-button{touch-action:manipulation;min-height:44px;min-width:44px}@media(max-width:900px){.game-layout{flex-direction:column;padding:.5rem;gap:.5rem}.game-main{order:1}.game-sidebar{order:2;width:100%;flex-direction:row;flex-wrap:wrap;gap:.5rem}.sidebar-header{display:none}.game-stats{flex:1 1 100%;min-width:0}.minimap-container,.inventory-panel{flex:1 1 48%;min-width:140px}.minimap-svg{max-width:100%;height:auto}.episode-banner{padding:1rem}.episode-title{font-size:1.1rem}}@media(max-width:600px){html{font-size:16px}.menu-title{font-size:2rem}.terminal{border-radius:0;border-left:none;border-right:none}.terminal-output{max-height:45vh;min-height:200px;padding:.75rem}.terminal-header{padding:.5rem .75rem;flex-wrap:wrap;gap:.5rem}.terminal-title{font-size:.75rem;flex:1 1 100%}.terminal-status{flex:1;justify-content:space-between;flex-wrap:wrap;gap:.25rem}.game-layout{padding:0}.game-sidebar{padding:.5rem;flex-direction:column}.minimap-container,.inventory-panel{flex:1 1 100%}.episode-banner{padding:.75rem}.episode-title{font-size:1rem;letter-spacing:.1em}.episode-label{font-size:.55rem}.audio-controls{flex-wrap:wrap}.volume-slider{width:40px}.audio-toggle,.voice-toggle,.speak-button{padding:.4rem .6rem;font-size:.9rem}.terminal-input-container{padding:1rem;min-height:64px}.terminal-input{font-size:18px;padding:1rem 0;min-height:48px}.ai-disclosure{font-size:.65rem;padding:.4rem .75rem}.quick-actions{gap:.25rem!important;padding:.5rem 1rem!important}.quick-action-btn{padding:.4rem .6rem!important;font-size:.8rem!important}}.typewriter-container{display:inline}.typewriter-cursor{display:inline-block;width:.6em;height:1.1em;background-color:var(--color-accent);margin-left:2px;animation:cursor-blink .8s step-end infinite;vertical-align:text-bottom}@keyframes cursor-blink{0%,50%{opacity:1}51%,to{opacity:0}}.quick-actions{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem;background:linear-gradient(180deg,#0000004d,#0006);border-top:1px solid var(--color-text-dim);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.quick-actions-row{display:flex;flex-wrap:wrap;gap:.375rem;align-items:center}.quick-actions-row:first-child{flex:1}.quick-actions-row:last-child{margin-left:auto}.quick-action-label{font-size:.7rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.05em;margin-right:.25rem}.quick-action-btn{background-color:#58a6ff14;border:1px solid rgba(88,166,255,.3);color:var(--color-accent);font-family:var(--font-terminal);font-size:.85rem;padding:.35rem .75rem;border-radius:4px;cursor:pointer;transition:all .15s var(--ease-out-expo);text-transform:uppercase;letter-spacing:.05em;position:relative}.quick-action-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.05) 0%,transparent 100%);border-radius:3px;opacity:0;transition:opacity .15s}.quick-action-btn:hover:not(:disabled){background-color:#58a6ff33;border-color:var(--color-accent);box-shadow:0 0 12px #58a6ff4d,inset 0 0 8px #58a6ff1a;transform:translateY(-2px)}.quick-action-btn:hover:not(:disabled):before{opacity:1}.quick-action-btn:active:not(:disabled){transform:translateY(0) scale(.97);box-shadow:0 0 4px #58a6ff33}.quick-action-btn:focus-visible{box-shadow:var(--focus-ring)}.quick-action-btn:disabled{opacity:.4;cursor:not-allowed}.quick-action-btn.nav-btn{background-color:#3bb9501a;border-color:var(--color-success);color:var(--color-success);min-width:2rem;padding:.35rem .5rem}.quick-action-btn.nav-btn:hover:not(:disabled){background-color:#3bb95040;box-shadow:0 0 8px #3bb9504d}.menu-screen{--era-accent: var(--color-accent);--era-glow: var(--crt-glow)}.menu-title{display:flex;justify-content:center;gap:.1em;animation:title-pulse 4s ease-in-out infinite}.menu-title.starting{animation:title-glitch .3s ease infinite}.title-letter{display:inline-block;animation:letter-flicker 8s ease-in-out infinite;text-shadow:0 0 10px var(--era-glow),0 0 20px var(--era-glow),0 0 40px var(--era-glow)}.title-letter:nth-child(1){animation-delay:0s}.title-letter:nth-child(2){animation-delay:.5s}.title-letter:nth-child(3){animation-delay:1s}.title-letter:nth-child(4){animation-delay:1.5s}.title-letter:nth-child(6){animation-delay:2s}.title-letter:nth-child(7){animation-delay:2.5s}.title-letter:nth-child(8){animation-delay:3s}.title-letter:nth-child(9){animation-delay:3.5s}.title-letter:nth-child(10){animation-delay:4s}.title-letter:nth-child(11){animation-delay:4.5s}.title-space{width:.3em}@keyframes letter-flicker{0%,to{opacity:1}92%{opacity:1}93%{opacity:.7}94%{opacity:1}95%{opacity:.8}96%{opacity:1}}@keyframes title-pulse{0%,to{filter:brightness(1);transform:scale(1)}50%{filter:brightness(1.1);transform:scale(1.02)}}@keyframes title-glitch{0%{transform:translate(0);filter:hue-rotate(0deg)}20%{transform:translate(-2px,2px);filter:hue-rotate(90deg)}40%{transform:translate(2px,-2px);filter:hue-rotate(180deg)}60%{transform:translate(-2px,-2px);filter:hue-rotate(270deg)}80%{transform:translate(2px,2px);filter:hue-rotate(360deg)}to{transform:translate(0);filter:hue-rotate(0deg)}}.menu-option-hint{color:var(--color-text-dim);font-size:.8rem;margin-top:.25rem;min-height:1.2em}.era-button:hover:not(.selected){border-color:var(--era-accent)!important;color:var(--era-accent)!important}.countdown-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;animation:countdown-appear .5s ease}.countdown-number{font-size:8rem;font-weight:700;color:var(--era-accent);text-shadow:0 0 20px var(--era-glow),0 0 40px var(--era-glow),0 0 60px var(--era-glow);animation:countdown-pulse .8s ease infinite}.countdown-text{font-size:1rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.2em;margin-top:1rem;animation:dots-pulse 1.5s ease-in-out infinite}@keyframes countdown-appear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@keyframes countdown-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}@keyframes dots-pulse{0%,to{opacity:.5}50%{opacity:1}}.clue-discovery-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer;opacity:0;transition:opacity .3s ease}.clue-discovery-overlay.visible{opacity:1}.clue-discovery-overlay.exiting{opacity:0}.clue-discovery-content{text-align:center;animation:clue-bounce .6s cubic-bezier(.68,-.55,.265,1.55)}.clue-discovery-icon{font-size:5rem;margin-bottom:1rem;animation:icon-glow 1s ease-in-out infinite alternate}.clue-discovery-label{font-size:1rem;color:var(--color-warning);text-transform:uppercase;letter-spacing:.3em;margin-bottom:.5rem}.clue-discovery-name{font-size:2rem;color:var(--color-text-bright);text-shadow:0 0 20px var(--color-accent);margin-bottom:1.5rem}.clue-discovery-hint{font-size:.8rem;color:var(--color-text-dim);animation:dots-pulse 1.5s ease-in-out infinite}@keyframes clue-bounce{0%{transform:scale(0) rotate(-10deg);opacity:0}60%{transform:scale(1.1) rotate(5deg)}to{transform:scale(1) rotate(0);opacity:1}}@keyframes icon-glow{0%{filter:drop-shadow(0 0 5px var(--color-warning))}to{filter:drop-shadow(0 0 20px var(--color-warning))}}.clue-discovery-particles{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none}.clue-discovery-particles .particle{position:absolute;width:8px;height:8px;background:var(--color-warning);border-radius:50%;animation:particle-burst 1s ease-out forwards;animation-delay:var(--delay)}@keyframes particle-burst{0%{transform:rotate(var(--angle)) translate(0) scale(1);opacity:1}to{transform:rotate(var(--angle)) translate(150px) scale(0);opacity:0}}.inventory-item{animation:item-appear .4s ease}.inventory-item.new-item{animation:item-glow-pulse 1s ease-out}@keyframes item-appear{0%{opacity:0;transform:translate(-10px)}to{opacity:1;transform:translate(0)}}@keyframes item-glow-pulse{0%{background:#d4af3766;box-shadow:0 0 15px #d4af3799}to{background:transparent;box-shadow:none}}.inventory-item.is-clue{border-left:2px solid var(--color-warning);padding-left:.5rem}.clues-counter{animation:counter-pulse .5s ease}@keyframes counter-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.stat-bar-fill{transition:width .5s ease-out}.pip{transition:all .3s ease}.pip.used{animation:pip-fade .5s ease forwards}@keyframes pip-fade{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2)}to{transform:scale(1);opacity:.3}}.terminal.shake{animation:screen-shake .4s ease}@keyframes screen-shake{0%,to{transform:translate(0)}10%{transform:translate(-5px)}30%{transform:translate(5px)}50%{transform:translate(-5px)}70%{transform:translate(5px)}90%{transform:translate(-2px)}}.message-error{animation:error-flash .5s ease}@keyframes error-flash{0%{background:transparent}25%{background:#f851494d}to{background:transparent}}.stat-value.turn-change{animation:turn-pulse .5s ease}@keyframes turn-pulse{0%{transform:scale(1);color:var(--color-text)}50%{transform:scale(1.3);color:var(--color-accent)}to{transform:scale(1);color:var(--color-text)}}.episode-banner{animation:banner-reveal .8s ease}@keyframes banner-reveal{0%{opacity:0;transform:translateY(-20px);filter:blur(5px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}.episode-title{animation:title-glow 3s ease-in-out infinite}@keyframes title-glow{0%,to{text-shadow:0 0 5px var(--color-accent)}50%{text-shadow:0 0 15px var(--color-accent),0 0 25px var(--color-accent)}}.achievement-toast{position:fixed;top:20px;left:50%;transform:translate(-50%) translateY(-100px);background:linear-gradient(135deg,#0d1117fa,#21262dfa);border:2px solid var(--rarity-color, var(--color-accent));border-radius:12px;padding:1rem 1.5rem;display:flex;align-items:center;gap:1rem;z-index:10000;box-shadow:0 0 30px #000c,0 0 60px var(--rarity-color, var(--color-accent));opacity:0;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s;overflow:hidden}.achievement-toast.visible{transform:translate(-50%) translateY(0);opacity:1}.achievement-icon{font-size:2.5rem;filter:drop-shadow(0 0 10px var(--rarity-color));animation:achievement-bounce .6s ease infinite}@keyframes achievement-bounce{0%,to{transform:scale(1) rotate(0)}25%{transform:scale(1.1) rotate(-5deg)}75%{transform:scale(1.1) rotate(5deg)}}.achievement-content{display:flex;flex-direction:column;gap:.2rem}.achievement-label{font-size:.65rem;color:var(--rarity-color);letter-spacing:.15em;text-transform:uppercase;font-weight:700}.achievement-title{font-size:1.2rem;color:var(--color-text-bright);font-weight:700;text-shadow:0 0 10px var(--rarity-color)}.achievement-description{font-size:.85rem;color:var(--color-text-dim)}.achievement-sparkles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.achievement-sparkles .sparkle{position:absolute;color:var(--rarity-color);font-size:.8rem;opacity:0;animation:sparkle-float 2s ease-out infinite;animation-delay:calc(var(--index) * .15s)}.sparkle:nth-child(1){top:10%;left:10%}.sparkle:nth-child(2){top:20%;right:15%}.sparkle:nth-child(3){bottom:30%;left:5%}.sparkle:nth-child(4){top:5%;left:50%}.sparkle:nth-child(5){bottom:10%;right:10%}.sparkle:nth-child(6){top:40%;right:5%}.sparkle:nth-child(7){bottom:5%;left:30%}.sparkle:nth-child(8){top:60%;left:8%}@keyframes sparkle-float{0%{opacity:0;transform:scale(0) rotate(0)}20%{opacity:1;transform:scale(1.2) rotate(90deg)}80%{opacity:1}to{opacity:0;transform:scale(0) rotate(180deg) translateY(-20px)}}.detective-rank-badge{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:linear-gradient(90deg,rgba(0,0,0,.4),transparent);border-left:3px solid var(--rank-color, var(--color-accent));border-radius:0 8px 8px 0}.rank-icon{font-size:1.5rem;filter:drop-shadow(0 0 5px var(--rank-color))}.rank-info{flex:1;display:flex;flex-direction:column;gap:.25rem}.rank-title{font-size:.9rem;font-weight:700;color:var(--rank-color);text-transform:uppercase;letter-spacing:.05em}.rank-progress{display:flex;align-items:center;gap:.5rem}.rank-progress-bar{flex:1;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.rank-progress-fill{height:100%;background:var(--rank-color);transition:width .5s ease}.rank-next{font-size:.65rem;color:var(--color-text-dim)}.rank-score{font-size:.75rem;color:var(--color-text-dim);text-align:right}.konami-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at center,#a371f74d,#000000e6);z-index:20000;display:flex;align-items:center;justify-content:center;animation:konami-flash .3s ease}@keyframes konami-flash{0%{background:#fffc}to{background:radial-gradient(circle at center,#a371f74d,#000000e6)}}.konami-content{text-align:center;animation:konami-zoom .5s cubic-bezier(.34,1.56,.64,1)}@keyframes konami-zoom{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.konami-icon{font-size:6rem;animation:konami-spin 1s ease}@keyframes konami-spin{0%{transform:rotate(-720deg) scale(0)}to{transform:rotate(0) scale(1)}}.konami-text{font-size:2rem;color:#a371f7;text-shadow:0 0 30px #a371f7;letter-spacing:.2em;margin:1rem 0;animation:konami-pulse .5s ease infinite alternate}@keyframes konami-pulse{0%{transform:scale(1)}to{transform:scale(1.05)}}.konami-subtext{font-size:.9rem;color:var(--color-text-dim)}.konami-particle{position:absolute;font-size:1.5rem;animation:konami-particle-explode 2s ease-out forwards;animation-delay:var(--delay)}@keyframes konami-particle-explode{0%{transform:translate(-50%,-50%) scale(0);opacity:1}50%{transform:translate(calc(-50% + (var(--index, 0) - 15) * 20px),calc(-50% + (var(--index, 0) - 15) * 20px)) scale(1.5);opacity:1}to{transform:translate(calc(-50% + (var(--index, 0) - 15) * 40px),calc(-50% + (var(--index, 0) - 15) * 40px)) scale(0);opacity:0}}.alex-quip{position:fixed;bottom:100px;right:20px;max-width:280px;background:linear-gradient(135deg,#21262d,#161b22);border:1px solid var(--color-accent);border-radius:12px 12px 0;padding:.75rem 1rem;color:var(--color-text);font-size:.9rem;z-index:5000;box-shadow:0 4px 20px #00000080;animation:quip-appear .3s ease}.alex-quip:before{content:"🕵️ Alex:";display:block;font-size:.7rem;color:var(--color-accent);margin-bottom:.25rem;font-weight:700}.alex-quip:after{content:"";position:absolute;bottom:-10px;right:0;border:10px solid transparent;border-top-color:#21262d;border-right-color:#21262d}@keyframes quip-appear{0%{transform:translateY(20px) scale(.9);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}.game-screen.accusation-mode .terminal{animation:accusation-shake .8s ease}@keyframes accusation-shake{0%,to{transform:translate(0) rotate(0)}10%{transform:translate(-8px) rotate(-.5deg)}20%{transform:translate(8px) rotate(.5deg)}30%{transform:translate(-6px) rotate(-.3deg)}40%{transform:translate(6px) rotate(.3deg)}50%{transform:translate(-4px) rotate(-.2deg)}60%{transform:translate(4px) rotate(.2deg)}70%{transform:translate(-2px) rotate(-.1deg)}80%{transform:translate(2px) rotate(.1deg)}}.game-screen.victory{animation:victory-glow 2s ease infinite}@keyframes victory-glow{0%,to{background:linear-gradient(180deg,rgba(63,185,80,.05),transparent)}50%{background:linear-gradient(180deg,rgba(63,185,80,.15),transparent)}}.game-screen.high-tension .terminal{box-shadow:0 0 20px #f8514933,inset 0 0 60px #f851490d}.game-screen.idle .terminal-output{animation:idle-breathe 4s ease infinite}@keyframes idle-breathe{0%,to{opacity:1}50%{opacity:.95}}.combo-indicator{position:fixed;top:80px;right:20px;padding:.5rem 1rem;background:linear-gradient(135deg,#d4af37e6,#ffc864e6);color:#000;font-weight:700;border-radius:20px;font-size:.9rem;z-index:5000;animation:combo-pop .3s cubic-bezier(.34,1.56,.64,1)}.combo-indicator .combo-count{font-size:1.5rem}@keyframes combo-pop{0%{transform:scale(0) rotate(-20deg)}to{transform:scale(1) rotate(0)}}.combo-indicator{position:fixed;top:80px;right:20px;padding:.75rem 1.25rem;background:linear-gradient(135deg,var(--combo-color, #d4af37),color-mix(in srgb,var(--combo-color, #d4af37),white 30%));color:#000;font-weight:700;border-radius:24px;z-index:5000;animation:combo-pop .4s cubic-bezier(.34,1.56,.64,1);box-shadow:0 4px 20px #0006,0 0 30px var(--combo-color, #d4af37);display:flex;flex-direction:column;align-items:center;gap:.25rem}.combo-indicator .combo-count{font-size:2rem;line-height:1;text-shadow:0 2px 4px rgba(0,0,0,.3)}.combo-indicator .combo-message{font-size:.85rem;letter-spacing:.05em}.combo-indicator .combo-flavor{font-size:.7rem;opacity:.8;font-style:italic}.combo-indicator .combo-fire{position:absolute;top:-10px;right:-10px;font-size:1.2rem;animation:fire-dance .5s ease infinite alternate}@keyframes fire-dance{0%{transform:rotate(-10deg) scale(1)}to{transform:rotate(10deg) scale(1.2)}}.suspect-gallery{background:#0000004d;border-radius:8px;padding:.75rem;margin-bottom:1rem}.suspect-gallery.empty .suspect-empty{color:var(--color-text-dim);font-style:italic;text-align:center;padding:1rem;font-size:.85rem}.suspect-list{display:flex;flex-direction:column;gap:.5rem;max-height:200px;overflow-y:auto}.suspect-card{display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#ffffff0d;border-radius:6px;border-left:3px solid var(--mood-color, var(--color-text-dim));transition:all .2s}.suspect-card:hover{background:#ffffff1a;transform:translate(3px)}.suspect-card.cleared{opacity:.5;text-decoration:line-through}.suspect-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--mood-color, var(--color-accent)),transparent);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;flex-shrink:0}.suspect-info{flex:1;min-width:0}.suspect-name{font-weight:600;font-size:.85rem;color:var(--color-text-bright);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.suspect-role{font-size:.7rem;color:var(--color-text-dim)}.suspect-mood{font-size:1.2rem;flex-shrink:0}.suspect-cleared{color:var(--color-success);font-weight:700}.tension-meter{background:#0000004d;border-radius:8px;padding:.75rem;margin-bottom:1rem}.tension-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.tension-icon{font-size:1.2rem;animation:tension-pulse 2s ease infinite}@keyframes tension-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.tension-label{font-weight:700;font-size:.8rem;color:var(--tension-color, var(--color-accent));letter-spacing:.1em}.tension-bar-container{position:relative;height:8px;background:#ffffff1a;border-radius:4px;overflow:hidden;margin-bottom:.5rem}.tension-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--tension-color, var(--color-warning)));border-radius:4px;transition:width .5s ease;box-shadow:0 0 10px var(--tension-color, var(--color-warning))}.tension-markers{position:absolute;top:0;left:0;right:0;bottom:0;display:flex;pointer-events:none}.tension-markers .marker{position:absolute;color:#ffffff4d;font-size:.5rem;transform:translate(-50%)}.tension-description{font-size:.75rem;color:var(--color-text-dim);font-style:italic}.hot-zone-indicator{position:fixed;bottom:120px;left:20px;padding:.5rem 1rem;background:#ff643226;border:1px solid rgba(255,100,50,.4);border-radius:20px;display:flex;align-items:center;gap:.5rem;z-index:4000;animation:hot-zone-appear .3s ease}.hot-zone-indicator.intensity-low{background:#6496ff1a;border-color:#6496ff4d}.hot-zone-indicator.intensity-medium{background:#ffc83226;border-color:#ffc83266}.hot-zone-indicator.intensity-high{background:#ff643233;border-color:#ff643280;animation:hot-zone-appear .3s ease,hot-zone-pulse 1.5s ease infinite}@keyframes hot-zone-appear{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes hot-zone-pulse{0%,to{box-shadow:0 0 5px #ff64324d}50%{box-shadow:0 0 20px #ff643299}}.hot-zone-icon{font-size:1.2rem}.hot-zone-pulse{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:#ffc8321a;animation:zone-pulse-ring 2s ease infinite;pointer-events:none}@keyframes zone-pulse-ring{0%{transform:scale(1);opacity:.5}to{transform:scale(1.5);opacity:0}}.hot-zone-message{font-size:.8rem;color:var(--color-text);font-style:italic}.dramatic-reveal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20000;display:flex;align-items:center;justify-content:center}.reveal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--reveal-bg, rgba(0, 0, 0, .9));animation:reveal-backdrop-in .5s ease}@keyframes reveal-backdrop-in{0%{opacity:0}to{opacity:1}}.dramatic-reveal.type-accusation .reveal-backdrop{background:radial-gradient(circle at center,#d4af3733,#000000f2)}.dramatic-reveal.type-correct .reveal-backdrop{background:radial-gradient(circle at center,#3fb9504d,#000000e6)}.dramatic-reveal.type-incorrect .reveal-backdrop{background:radial-gradient(circle at center,#f8514933,#000000f2)}.reveal-buildup{position:relative;z-index:1;text-align:center}.buildup-line{font-size:1.5rem;color:var(--color-text-dim);margin-bottom:1rem;animation:buildup-fade .8s ease forwards;opacity:0}@keyframes buildup-fade{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.reveal-content{position:relative;z-index:1;text-align:center;animation:reveal-zoom .6s cubic-bezier(.34,1.56,.64,1)}@keyframes reveal-zoom{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.reveal-icon{font-size:5rem;margin-bottom:1rem;filter:drop-shadow(0 0 20px var(--reveal-color, #d4af37));animation:reveal-icon-pulse 1s ease infinite alternate}@keyframes reveal-icon-pulse{0%{transform:scale(1)}to{transform:scale(1.1)}}.reveal-title{font-size:2.5rem;font-weight:700;color:var(--reveal-color, #d4af37);letter-spacing:.2em;text-shadow:0 0 30px var(--reveal-color, #d4af37);margin-bottom:1rem}.reveal-suspect{font-size:1.5rem;color:var(--color-text);margin-bottom:1rem}.reveal-suspect .suspect-name{color:var(--reveal-color, #d4af37);font-weight:700}.reveal-message{font-size:1.2rem;color:var(--color-text-dim);font-style:italic;animation:reveal-message-in .5s ease .3s both}@keyframes reveal-message-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.reveal-particles{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;overflow:hidden}.reveal-particles .particle{position:absolute;top:50%;left:50%;font-size:1.5rem;animation:reveal-particle-explode 2s ease forwards;animation-delay:var(--delay, 0s)}@keyframes reveal-particle-explode{0%{transform:translate(-50%,-50%) rotate(0) translate(0);opacity:1}to{transform:translate(-50%,-50%) rotate(var(--angle, 0deg)) translate(200px);opacity:0}}.game-screen.high-tension{animation:screen-tension 3s ease infinite}@keyframes screen-tension{0%,to{filter:brightness(1) saturate(1)}50%{filter:brightness(.95) saturate(1.1)}}.game-screen.victory:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(circle at 20% 30%,gold 1px,transparent 1px),radial-gradient(circle at 80% 40%,gold 1px,transparent 1px),radial-gradient(circle at 40% 70%,gold 1px,transparent 1px),radial-gradient(circle at 60% 20%,gold 1px,transparent 1px),radial-gradient(circle at 90% 80%,gold 1px,transparent 1px);background-size:100px 100px;animation:confetti-fall 5s linear infinite;opacity:.5}@keyframes confetti-fall{0%{background-position:0 0}to{background-position:100px 100px}}.error-boundary-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;min-height:200px;background:#f851491a;border:1px solid var(--color-error, #f85149);border-radius:8px;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-title{font-family:Special Elite,monospace;font-size:1.5rem;color:var(--color-error, #f85149);margin-bottom:.5rem}.error-message{color:var(--color-muted, #8b949e);font-size:.9rem;margin-bottom:1rem;max-width:300px}.error-retry-button{padding:.5rem 1.5rem;background:var(--color-error, #f85149);color:#fff;border:none;border-radius:4px;font-family:Special Elite,monospace;cursor:pointer;transition:all .2s ease}.error-retry-button:hover{background:#ff6b61;transform:translateY(-2px)}.loading-skeleton{background:linear-gradient(90deg,var(--bg-tertiary) 25%,var(--bg-secondary) 50%,var(--bg-tertiary) 75%);background-size:200% 100%;animation:skeleton-pulse 1.5s ease-in-out infinite;border-radius:4px}@keyframes skeleton-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-spinner{width:24px;height:24px;border:2px solid var(--color-muted);border-top-color:var(--color-accent);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}button:focus-visible,input:focus-visible{box-shadow:0 0 0 3px rgba(var(--color-accent-rgb, 212, 175, 55),.3)}@media(prefers-contrast:high){:root{--bg-primary: #000000;--bg-secondary: #1a1a1a;--text-primary: #ffffff;--color-accent: #ffcc00}}.fade-enter{opacity:0}.fade-enter-active{opacity:1;transition:opacity .2s ease-in}.fade-exit{opacity:1}.fade-exit-active{opacity:0;transition:opacity .2s ease-out}.slide-up-enter{transform:translateY(20px);opacity:0}.slide-up-enter-active{transform:translateY(0);opacity:1;transition:all .3s ease-out}.interactive:hover{transform:translateY(-1px);transition:transform .15s ease}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb{background:var(--color-muted);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent)}[data-tooltip]{position:relative}[data-tooltip]:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);padding:.5rem .75rem;background:var(--bg-primary);border:1px solid var(--color-accent);border-radius:4px;font-size:.8rem;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s ease;z-index:1000}[data-tooltip]:hover:after{opacity:1}.journal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1000;animation:overlayFadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.journal-panel{background:var(--color-bg-terminal);border:1px solid var(--color-accent);border-radius:12px;width:90%;max-width:700px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 0 30px #58a6ff33,inset 0 0 60px #58a6ff08;animation:panelSlideUp .4s ease-out}@keyframes panelSlideUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.journal-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-text-dim);background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 100%)}.journal-header h2{font-family:var(--font-terminal);color:var(--color-accent);font-size:1.3rem;letter-spacing:.05em;display:flex;align-items:center;gap:.5rem}.journal-header .close-button{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text-dim);width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.journal-header .close-button:hover{border-color:var(--color-error);color:var(--color-error);background:#f851491a}.journal-progress{padding:1rem 1.5rem;background:#0000004d;border-bottom:1px solid var(--color-text-dim)}.progress-label{display:flex;justify-content:space-between;font-size:.85rem;color:var(--color-text-dim);margin-bottom:.5rem}.progress-bar{height:8px;background:var(--color-bg);border-radius:4px;overflow:hidden}.progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-dim),var(--color-accent));border-radius:4px;transition:width .5s ease-out}.journal-clues{flex:1;overflow-y:auto;padding:1rem}.journal-empty{text-align:center;padding:3rem;color:var(--color-text-dim);font-style:italic}.clue-entry{background:#0000004d;border:1px solid var(--color-text-dim);border-radius:8px;margin-bottom:.75rem;overflow:hidden;transition:all .2s ease}.clue-entry:hover{border-color:var(--color-accent-dim)}.clue-entry.expanded{border-color:var(--color-accent)}.clue-header{display:flex;align-items:center;justify-content:space-between;padding:1rem;cursor:pointer;transition:background .2s ease}.clue-header:hover{background:#58a6ff0d}.clue-title{display:flex;align-items:center;gap:.75rem;font-weight:600;color:var(--color-text-bright)}.clue-type-badge{font-size:.7rem;padding:.2rem .5rem;border-radius:3px;text-transform:uppercase;letter-spacing:.05em}.clue-type-badge.evidence{background:#3fb95033;color:var(--color-success)}.clue-type-badge.statement{background:#58a6ff33;color:var(--color-accent)}.clue-type-badge.behavioral{background:#d2992233;color:var(--color-warning)}.clue-type-badge.backstory{background:#8b5cf633;color:#a78bfa}.expand-indicator{color:var(--color-text-dim);font-size:.9rem;transition:transform .2s ease}.clue-entry.expanded .expand-indicator{transform:rotate(180deg)}.clue-content{padding:0 1rem 1rem;animation:contentSlideDown .2s ease-out}@keyframes contentSlideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.clue-discovered{font-size:.8rem;color:var(--color-text-dim);margin-bottom:.75rem}.clue-text{color:var(--color-text);line-height:1.6;margin-bottom:1rem}.clue-notes label{display:block;font-size:.8rem;color:var(--color-text-dim);margin-bottom:.3rem}.clue-notes textarea{width:100%;min-height:60px;padding:.75rem;background:var(--color-bg);border:1px solid var(--color-text-dim);border-radius:4px;color:var(--color-text);font-family:var(--font-terminal);font-size:.9rem;resize:vertical}.clue-notes textarea:focus{outline:none;border-color:var(--color-accent)}.game-end-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1100;animation:endScreenFadeIn .5s ease-out}@keyframes endScreenFadeIn{0%{opacity:0}to{opacity:1}}.game-end-modal{text-align:center;max-width:600px;width:90%;padding:3rem}.verdict-section{margin-bottom:2rem;animation:verdictReveal .8s ease-out}@keyframes verdictReveal{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.verdict-icon{font-size:4rem;margin-bottom:1rem;animation:iconPulse 2s ease-in-out infinite}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.verdict-title{font-family:var(--font-terminal);font-size:2.5rem;letter-spacing:.1em;text-transform:uppercase;margin-bottom:.5rem}.verdict-title.victory{color:var(--color-success);text-shadow:0 0 30px rgba(63,185,80,.5)}.verdict-title.defeat{color:var(--color-error);text-shadow:0 0 30px rgba(248,81,73,.5)}.verdict-subtitle{font-size:1.1rem;color:var(--color-text-dim)}.actual-culprit{margin-top:1rem;padding:1rem;background:#f851491a;border:1px solid rgba(248,81,73,.3);border-radius:8px;color:var(--color-error)}.score-section{margin-bottom:2rem;animation:scoreReveal .6s ease-out;animation-delay:.5s;animation-fill-mode:both}@keyframes scoreReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.score-display{margin-bottom:1.5rem}.score-label{font-size:.9rem;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.1em;margin-bottom:.5rem}.score-value{font-size:4rem;font-weight:700;color:var(--color-accent);text-shadow:0 0 20px rgba(88,166,255,.5);animation:scoreCountUp 1s ease-out}@keyframes scoreCountUp{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.rank-badge{display:inline-flex;flex-direction:column;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,#d4af3726,#d4af370d);border:2px solid #d4af37;border-radius:12px;animation:badgeShine 2s ease-in-out infinite}@keyframes badgeShine{0%,to{box-shadow:0 0 20px #d4af374d}50%{box-shadow:0 0 40px #d4af3780}}.rank-icon{font-size:3rem;margin-bottom:.5rem}.rank-name{font-size:1.3rem;color:#d4af37;text-transform:uppercase;letter-spacing:.1em;font-weight:700}.rank-verdict{font-size:.9rem;color:var(--color-text-dim);margin-top:.5rem;font-style:italic}.breakdown-section{animation:breakdownSlide .5s ease-out;animation-delay:1s;animation-fill-mode:both}@keyframes breakdownSlide{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.breakdown-toggle{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text);padding:.75rem 1.5rem;border-radius:6px;cursor:pointer;font-family:var(--font-terminal);font-size:1rem;transition:all .2s ease}.breakdown-toggle:hover{border-color:var(--color-accent);color:var(--color-accent)}.breakdown-details{margin-top:1.5rem;padding:1.5rem;background:#0006;border:1px solid var(--color-text-dim);border-radius:8px;text-align:left;animation:detailsExpand .3s ease-out}@keyframes detailsExpand{0%{opacity:0;max-height:0}to{opacity:1;max-height:500px}}.breakdown-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid rgba(255,255,255,.1)}.breakdown-row:last-child{border-bottom:none}.breakdown-row span:first-child{color:var(--color-text-dim)}.breakdown-row span:last-child{font-weight:700}.breakdown-row span:last-child.positive{color:var(--color-success)}.breakdown-row span:last-child.negative{color:var(--color-error)}.actions-section{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;animation:actionsReveal .4s ease-out;animation-delay:1.5s;animation-fill-mode:both}@keyframes actionsReveal{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.end-game-button{padding:1rem 2rem;border-radius:8px;font-family:var(--font-terminal);font-size:1.1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.end-game-button.primary{background:var(--color-accent);border:none;color:var(--color-bg)}.end-game-button.primary:hover{background:var(--color-accent-dim);transform:translateY(-2px);box-shadow:0 4px 12px #58a6ff4d}.end-game-button.secondary{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text)}.end-game-button.secondary:hover{border-color:var(--color-accent);color:var(--color-accent)}.save-load-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:1050;animation:overlayFadeIn .3s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.save-load-menu{background:var(--color-bg-terminal);border:1px solid var(--color-accent);border-radius:12px;width:90%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 0 30px #58a6ff33,inset 0 0 60px #58a6ff08;animation:panelSlideUp .4s ease-out}.save-load-menu .menu-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--color-text-dim);background:linear-gradient(180deg,rgba(255,255,255,.03) 0%,transparent 100%)}.save-load-menu .menu-header h2{font-family:var(--font-terminal);color:var(--color-accent);font-size:1.3rem;letter-spacing:.05em}.save-load-menu .close-button{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text-dim);width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;transition:all .2s ease}.save-load-menu .close-button:hover{border-color:var(--color-error);color:var(--color-error)}.save-message{padding:.75rem 1.5rem;text-align:center;font-size:.9rem}.save-message.success{background:#3fb95026;color:var(--color-success)}.save-message.error{background:#f8514926;color:var(--color-error)}.save-slots{flex:1;overflow-y:auto;padding:1rem}.save-slot{display:flex;align-items:flex-start;gap:1rem;padding:1rem;background:#0000004d;border:2px solid var(--color-text-dim);border-radius:8px;margin-bottom:.75rem;cursor:pointer;transition:all .2s ease}.save-slot:hover{border-color:var(--color-accent-dim);background:#58a6ff0d}.save-slot.selected{border-color:var(--color-accent);background:#58a6ff1a}.save-slot.empty{opacity:.6}.save-slot.auto{border-color:var(--color-success);background:#3fb9500d}.save-slot.auto.selected{background:#3fb9501a}.slot-icon{font-size:1.5rem;margin-top:.25rem}.slot-info{flex:1}.slot-name{font-weight:700;color:var(--color-text-bright);margin-bottom:.25rem}.slot-meta{font-size:.9rem;color:var(--color-accent);margin-bottom:.25rem}.slot-details{font-size:.8rem;color:var(--color-text-dim)}.slot-timestamp{font-size:.75rem;color:var(--color-text-dim);margin-top:.25rem}.slot-empty-text{font-style:italic;color:var(--color-text-dim)}.menu-actions{display:flex;gap:.75rem;justify-content:center;padding:1.25rem;border-top:1px solid var(--color-text-dim)}.action-button{padding:.75rem 1.5rem;border-radius:6px;font-family:var(--font-terminal);font-size:1rem;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.action-button.primary{background:var(--color-accent);border:none;color:var(--color-bg)}.action-button.primary:hover{background:var(--color-accent-dim);transform:translateY(-2px)}.action-button.danger{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.action-button.danger:hover{background:#f851491a}.journal-toggle-button{position:fixed;bottom:120px;right:24px;width:56px;height:56px;border-radius:50%;background:var(--color-bg-terminal);border:2px solid var(--color-accent);color:var(--color-accent);font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:500;box-shadow:0 4px 12px #0000004d;display:flex;align-items:center;justify-content:center}.journal-toggle-button:hover{transform:scale(1.1);box-shadow:0 0 20px #58a6ff4d}.journal-toggle-button .badge{position:absolute;top:-4px;right:-4px;background:var(--color-accent);color:var(--color-bg);font-size:.75rem;font-weight:700;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}.tutorial-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn .3s ease}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.tutorial-modal{background:linear-gradient(180deg,var(--color-bg-terminal) 0%,rgba(13,17,23,.98) 100%);border:2px solid var(--color-accent);border-radius:16px;max-width:520px;width:90%;max-height:85vh;overflow:hidden;box-shadow:0 0 40px #58a6ff4d,0 25px 50px -12px #00000080;animation:tutorialEnter .5s var(--ease-out-back)}.tutorial-modal.animating{animation:tutorialSlide .35s var(--ease-out-expo)}@keyframes tutorialEnter{0%{opacity:0;transform:scale(.85) translateY(30px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes tutorialSlide{0%{opacity:.7;transform:translate(30px)}to{opacity:1;transform:translate(0)}}.tutorial-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(88,166,255,.2);background:#58a6ff0d}.tutorial-step-indicator{color:var(--color-accent);font-size:.9rem;font-weight:700;text-shadow:0 0 8px rgba(88,166,255,.4)}.tutorial-skip-btn{background:transparent;border:none;color:var(--color-text-dim);cursor:pointer;font-family:var(--font-terminal);font-size:.9rem;transition:all .2s var(--ease-out-expo);padding:.4rem .8rem;border-radius:4px}.tutorial-skip-btn:hover{color:var(--color-accent);background:#58a6ff1a}.tutorial-content{padding:2rem}.tutorial-title{color:var(--color-accent);font-size:1.5rem;margin-bottom:1rem;text-shadow:0 0 10px rgba(88,166,255,.3)}.tutorial-text{color:var(--color-text);font-size:1.1rem;line-height:1.7;margin-bottom:1.5rem}.tutorial-alex-quote{background:linear-gradient(135deg,#58a6ff1a,#58a6ff0d);border-left:3px solid var(--color-accent);border-radius:0 8px 8px 0;padding:1rem;margin:1rem 0;display:flex;gap:1rem;align-items:flex-start;transition:transform .2s,box-shadow .2s}.tutorial-alex-quote:hover{transform:translate(3px);box-shadow:0 4px 12px #58a6ff26}.tutorial-alex-avatar{font-size:1.5rem;flex-shrink:0;animation:avatarBounce 2s infinite}@keyframes avatarBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}.tutorial-alex-text{color:var(--color-text);font-style:italic;font-size:.95rem;line-height:1.5}.tutorial-highlight-hint{color:var(--color-warning);font-size:.9rem;margin-top:1rem;display:flex;align-items:center;gap:.5rem;animation:hintPulse 2s infinite}@keyframes hintPulse{0%,to{opacity:1}50%{opacity:.7}}.tutorial-navigation{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid rgba(88,166,255,.2);background:#0003}.tutorial-btn{padding:.75rem 1.5rem;border-radius:8px;font-family:var(--font-terminal);font-size:1rem;cursor:pointer;transition:all .2s var(--ease-out-expo)}.tutorial-btn-secondary{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text)}.tutorial-btn-secondary:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent);background:#58a6ff1a}.tutorial-btn-secondary:disabled{opacity:.4;cursor:not-allowed}.tutorial-btn-primary{background:var(--color-accent);border:none;color:var(--color-bg);box-shadow:0 4px 15px #58a6ff4d}.tutorial-btn-primary:hover{background:var(--color-accent-dim);transform:translateY(-3px);box-shadow:0 6px 20px #58a6ff66}.tutorial-btn-primary:active{transform:translateY(-1px)}.tutorial-dots{display:flex;gap:8px}.tutorial-dot{width:10px;height:10px;border-radius:50%;background:var(--color-text-dim);transition:all .3s var(--ease-out-expo);cursor:pointer}.tutorial-dot:hover{background:#58a6ff80}.tutorial-dot.active{background:var(--color-accent);transform:scale(1.3);box-shadow:0 0 10px #58a6ff80}.tutorial-dot.completed{background:var(--color-success);box-shadow:0 0 6px #3fb95066}.tutorial-progress-bar{height:4px;background:var(--color-text-dim)}.tutorial-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-success),var(--color-accent));transition:width .3s ease}.tutorial-highlight-overlay{position:fixed;pointer-events:none;z-index:9999}.tutorial-highlight-overlay.command-input{bottom:0;left:0;right:0;height:100px;box-shadow:inset 0 0 0 4px var(--color-accent),0 0 20px var(--color-accent)}.help-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000d9;display:flex;align-items:center;justify-content:center;z-index:9000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.help-modal{background:var(--color-bg-terminal);border:2px solid var(--color-accent);border-radius:12px;max-width:700px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 40px #58a6ff4d;animation:tutorialEnter .3s ease}.help-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid var(--color-text-dim)}.help-header h2{color:var(--color-accent);font-size:1.3rem}.help-close-btn{background:transparent;border:none;color:var(--color-text-dim);font-size:1.5rem;cursor:pointer;transition:color .2s}.help-close-btn:hover{color:var(--color-error)}.help-search{padding:1rem;border-bottom:1px solid var(--color-text-dim)}.help-search-input{width:100%;padding:.75rem 1rem;background:var(--color-bg);border:1px solid var(--color-text-dim);border-radius:6px;color:var(--color-text);font-family:var(--font-terminal);font-size:1rem}.help-search-input:focus{outline:none;border-color:var(--color-accent)}.help-categories{display:flex;gap:.5rem;padding:1rem;flex-wrap:wrap;border-bottom:1px solid var(--color-text-dim)}.help-category-btn{display:flex;align-items:center;gap:.4rem;padding:.5rem .75rem;background:transparent;border:1px solid var(--color-text-dim);border-radius:20px;color:var(--color-text);font-family:var(--font-terminal);font-size:.85rem;cursor:pointer;transition:all .2s}.help-category-btn:hover{border-color:var(--category-color);color:var(--category-color)}.help-category-btn.active{background:var(--category-color);border-color:var(--category-color);color:var(--color-bg)}.help-commands{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.help-command-card{background:var(--color-bg);border:1px solid var(--color-text-dim);border-radius:8px;padding:1rem;transition:border-color .2s}.help-command-card:hover{border-color:var(--color-accent)}.help-command-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.help-command-name{font-size:1.2rem;font-weight:700}.help-aliases-label{font-size:.8rem;color:var(--color-text-dim)}.help-command-description{color:var(--color-text);font-size:.95rem;margin-bottom:.75rem}.help-command-examples{display:flex;gap:.5rem;flex-wrap:wrap}.help-example{background:var(--color-surface-light);padding:.25rem .5rem;border-radius:4px;font-size:.85rem;color:var(--color-accent)}.help-no-results{padding:2rem;text-align:center;color:var(--color-text-dim)}.help-footer{padding:1rem;border-top:1px solid var(--color-text-dim);background:var(--color-bg)}.help-tip{font-size:.9rem;color:var(--color-text)}.settings-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:9000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:overlayFadeIn .3s ease}.settings-modal{background:linear-gradient(180deg,var(--color-bg-terminal) 0%,rgba(13,17,23,.98) 100%);border:2px solid var(--color-accent);border-radius:16px;max-width:550px;width:95%;max-height:85vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 0 40px #58a6ff4d,0 25px 50px -12px #00000080;animation:tutorialEnter .4s var(--ease-out-back)}.settings-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:1px solid rgba(88,166,255,.2);background:#58a6ff0d}.settings-header h2{color:var(--color-accent);font-size:1.3rem;text-shadow:0 0 10px rgba(88,166,255,.3)}.settings-close-btn{background:transparent;border:none;color:var(--color-text-dim);font-size:1.5rem;cursor:pointer;transition:all .2s var(--ease-out-expo);padding:.25rem .5rem;border-radius:4px}.settings-close-btn:hover{color:var(--color-error);background:#f851491a;transform:scale(1.1)}.settings-tabs{display:flex;border-bottom:1px solid rgba(88,166,255,.2);background:#0003}.settings-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--color-text-dim);font-family:var(--font-terminal);font-size:.85rem;cursor:pointer;transition:all .2s var(--ease-out-expo);position:relative}.settings-tab:after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--color-accent);transform:scaleX(0);transition:transform .2s var(--ease-out-expo)}.settings-tab:hover{color:var(--color-text);background:#58a6ff0d}.settings-tab.active{color:var(--color-accent)}.settings-tab.active:after{transform:scaleX(1)}.settings-content{flex:1;overflow-y:auto;padding:1.5rem}.settings-section{display:flex;flex-direction:column;gap:1.25rem}.setting-group{display:flex;flex-direction:column;gap:.5rem}.setting-group.setting-toggle{flex-direction:row;justify-content:space-between;align-items:center}.setting-label{display:flex;justify-content:space-between;align-items:center;color:var(--color-text);font-size:1rem}.setting-value{color:var(--color-accent);font-size:.9rem;font-variant-numeric:tabular-nums}.setting-slider{width:100%;height:8px;border-radius:4px;background:var(--color-text-dim);-webkit-appearance:none;-moz-appearance:none;appearance:none;cursor:pointer;transition:background .2s}.setting-slider:hover{background:#6e7681cc}.setting-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-accent);cursor:pointer}.toggle-btn{padding:.5rem 1rem;border-radius:6px;font-family:var(--font-terminal);font-size:.9rem;cursor:pointer;transition:all .2s var(--ease-out-expo);min-width:70px;position:relative;overflow:hidden}.toggle-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(255,255,255,.1) 0%,transparent 100%);opacity:0;transition:opacity .2s}.toggle-btn:hover:before{opacity:1}.toggle-btn.on{background:var(--color-success);border:none;color:var(--color-bg);box-shadow:0 0 15px #3fb9504d}.toggle-btn.on:hover{box-shadow:0 0 20px #3fb95066}.toggle-btn.off{background:transparent;border:1px solid var(--color-text-dim);color:var(--color-text-dim)}.toggle-btn.off:hover{border-color:var(--color-text);color:var(--color-text);background:#ffffff0d}.toggle-btn:active{transform:scale(.96)}.setting-options{display:flex;gap:.5rem;flex-wrap:wrap}.option-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--color-text-dim);border-radius:6px;color:var(--color-text);font-family:var(--font-terminal);font-size:.9rem;cursor:pointer;transition:all .2s var(--ease-out-expo);position:relative}.option-btn:hover{border-color:var(--color-accent);background:#58a6ff1a}.option-btn.selected{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-bg);box-shadow:0 0 15px #58a6ff4d}.option-btn:active{transform:scale(.96)}.stats-section{gap:1.5rem}.stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}.stat-card{background:linear-gradient(135deg,var(--color-bg) 0%,rgba(13,17,23,.8) 100%);border:1px solid var(--color-text-dim);border-radius:10px;padding:1.25rem 1rem;text-align:center;transition:all .2s var(--ease-out-expo)}.stat-card:hover{border-color:#58a6ff4d;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.stat-card .stat-value{font-size:2rem;color:var(--color-accent);font-weight:700;text-shadow:0 0 10px rgba(88,166,255,.3)}.stat-card .stat-label{font-size:.85rem;color:var(--color-text-dim);margin-top:.35rem;text-transform:uppercase;letter-spacing:.05em}.stats-highlight{background:linear-gradient(135deg,#58a6ff1a,#3fb9501a);border:1px solid var(--color-accent);border-radius:8px;padding:1.5rem;text-align:center}.highlight-label{font-size:.9rem;color:var(--color-text-dim);margin-bottom:.5rem}.highlight-value{font-size:1.5rem;color:var(--color-accent);font-weight:700}.settings-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--color-text-dim);background:var(--color-bg)}.settings-reset-btn{background:transparent;border:none;color:var(--color-error);font-family:var(--font-terminal);font-size:.9rem;cursor:pointer;opacity:.7;transition:opacity .2s}.settings-reset-btn:hover{opacity:1}.settings-actions{display:flex;gap:.75rem}.settings-cancel-btn{padding:.5rem 1rem;background:transparent;border:1px solid var(--color-text-dim);border-radius:4px;color:var(--color-text);font-family:var(--font-terminal);cursor:pointer;transition:all .2s}.settings-cancel-btn:hover{border-color:var(--color-text)}.settings-save-btn{padding:.5rem 1rem;background:var(--color-accent);border:none;border-radius:4px;color:var(--color-bg);font-family:var(--font-terminal);cursor:pointer;transition:all .2s}.settings-save-btn:hover{background:var(--color-accent-dim)}.difficulty-indicator{background:var(--color-bg);border:1px solid var(--diff-color, var(--color-text-dim));border-radius:8px;padding:.75rem 1rem}.difficulty-indicator.compact{display:inline-flex;align-items:center;gap:.5rem;padding:.4rem .75rem;font-size:.85rem}.diff-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.5rem}.diff-icon{font-size:1.2rem}.diff-label{color:var(--diff-color, var(--color-text));font-weight:700;text-transform:uppercase;font-size:.9rem;letter-spacing:.05em}.era-icon{margin-left:auto;opacity:.7}.diff-skulls{display:flex;gap:.25rem;margin-bottom:.5rem}.difficulty-skull{font-size:1rem;transition:opacity .2s}.difficulty-skull.empty{opacity:.2}.difficulty-skull.filled{opacity:1}.diff-resources{display:flex;gap:1rem;margin-top:.5rem;padding-top:.5rem;border-top:1px solid var(--color-text-dim)}.resource-item{display:flex;align-items:center;gap:.25rem;font-size:.85rem}.resource-icon{font-size:.9rem}.resource-count{color:var(--diff-color, var(--color-accent));font-weight:700}.resource-label{color:var(--color-text-dim)}.investigation-progress{display:flex;flex-direction:column;gap:.75rem;padding:1rem;background:var(--color-bg);border:1px solid var(--color-text-dim);border-radius:8px}.progress-section{display:flex;flex-direction:column;gap:.25rem}.progress-header{display:flex;align-items:center;gap:.5rem;font-size:.85rem}.progress-icon{font-size:.9rem}.progress-label{color:var(--color-text)}.progress-value{margin-left:auto;color:var(--color-text-dim)}.progress-bar{height:6px;background:var(--color-text-dim);border-radius:3px;overflow:hidden}.progress-fill{height:100%;transition:width .5s ease;border-radius:3px}.progress-fill.clues{background:linear-gradient(90deg,var(--color-accent),var(--color-success))}.progress-fill.suspects{background:linear-gradient(90deg,var(--color-warning),var(--color-accent))}.progress-fill.rooms{background:linear-gradient(90deg,var(--color-success),#58a6ff)}
