:root{--color-bg-primary: #0a0a0f;--color-bg-secondary: #12121a;--color-bg-tertiary: #1a1a25;--color-accent-primary: #00ffcc;--color-accent-secondary: #00ccff;--color-accent-tertiary: #ff00cc;--color-text-primary: #e0e0e0;--color-text-secondary: #a0a0a0;--color-text-muted: #606070;--color-danger: #ff4444;--color-warning: #ffaa00;--color-success: #44ff88;--font-display: "Orbitron", sans-serif;--font-mono: "Share Tech Mono", monospace;--font-body: "Exo 2", sans-serif;--spacing-xs: .25rem;--spacing-sm: .5rem;--spacing-md: 1rem;--spacing-lg: 2rem;--spacing-xl: 4rem;--glow-primary: 0 0 10px var(--color-accent-primary), 0 0 20px var(--color-accent-primary);--glow-secondary: 0 0 10px var(--color-accent-secondary), 0 0 20px var(--color-accent-secondary);--transition-fast: .15s ease;--transition-normal: .3s ease;--transition-slow: .5s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{font-family:var(--font-body);background-color:var(--color-bg-primary);color:var(--color-text-primary);min-height:100vh;overflow:hidden;line-height:1.6}#app{width:100vw;height:100vh;overflow:hidden}.screen-container{width:100%;height:100%;position:relative}.screen{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column}.visual-effects-container{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:9999}.effect-scanlines{position:absolute;top:0;left:0;width:100%;height:100%;background:repeating-linear-gradient(0deg,rgba(0,0,0,.1) 0px,rgba(0,0,0,.1) 1px,transparent 1px,transparent 2px);opacity:.3}.effect-vignette{position:absolute;top:0;left:0;width:100%;height:100%;background:radial-gradient(ellipse at center,transparent 0%,transparent 60%,rgba(0,0,0,.6) 100%)}.effect-glitch{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;mix-blend-mode:screen}.effect-glitch.active{animation:glitch .2s steps(2) infinite}@keyframes glitch{0%{opacity:.8;background:linear-gradient(90deg,rgba(255,0,0,.3) 0%,transparent 20%,rgba(0,255,255,.3) 40%,transparent 60%,rgba(255,0,255,.3) 80%,transparent 100%);transform:translate(-2px)}50%{opacity:.5;background:linear-gradient(90deg,rgba(0,255,255,.3) 10%,transparent 30%,rgba(255,0,255,.3) 50%,transparent 70%,rgba(255,0,0,.3) 90%);transform:translate(2px)}to{opacity:0}}.effect-particles{position:absolute;top:0;left:0;width:100%;height:100%}.particle{position:absolute;width:2px;height:2px;background:var(--color-accent-primary);border-radius:50%;opacity:.3;animation:float 10s infinite ease-in-out}@keyframes float{0%,to{transform:translateY(0) translate(0);opacity:.3}50%{transform:translateY(-50px) translate(20px);opacity:.1}}.effect-flash{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:10000;opacity:.8;transition:opacity .15s ease}.effect-fade{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary);pointer-events:none;z-index:10000}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(calc(-1 * var(--shake-intensity, 5px)))}20%,40%,60%,80%{transform:translate(var(--shake-intensity, 5px))}}.typing-cursor{animation:blink .8s infinite;color:var(--color-accent-primary)}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.title-screen{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;position:relative;overflow:hidden}.title-background{position:absolute;top:0;left:0;width:100%;height:100%;z-index:0}.stars{position:absolute;width:100%;height:100%;background:radial-gradient(1px 1px at 20% 30%,white,transparent),radial-gradient(1px 1px at 40% 70%,rgba(255,255,255,.8),transparent),radial-gradient(1px 1px at 50% 10%,rgba(255,255,255,.6),transparent),radial-gradient(2px 2px at 60% 50%,rgba(0,255,204,.5),transparent),radial-gradient(1px 1px at 70% 80%,white,transparent),radial-gradient(1px 1px at 80% 20%,rgba(255,255,255,.7),transparent),radial-gradient(1px 1px at 90% 40%,rgba(0,204,255,.4),transparent);background-size:200% 200%;animation:starfield 60s linear infinite}@keyframes starfield{0%{background-position:0% 0%}to{background-position:200% 200%}}.nebula{position:absolute;width:100%;height:100%;background:radial-gradient(ellipse at 30% 20%,rgba(0,255,204,.05) 0%,transparent 50%),radial-gradient(ellipse at 70% 80%,rgba(255,0,204,.05) 0%,transparent 50%)}.title-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xl);padding:var(--spacing-lg);max-width:800px;width:100%}.title-header{text-align:center}.title-logo{font-family:var(--font-display);font-size:clamp(2.5rem,8vw,5rem);font-weight:900;letter-spacing:.15em;margin-bottom:var(--spacing-md);display:flex;justify-content:center;padding:0 1rem}.title-logo span{display:inline-block;animation:titleGlow 3s ease-in-out infinite;text-shadow:var(--glow-primary)}.title-n{animation-delay:0s;color:var(--color-accent-primary)}.title-e{animation-delay:.2s;color:var(--color-accent-secondary)}.title-x{animation-delay:.4s;color:var(--color-accent-primary)}.title-u{animation-delay:.6s;color:var(--color-accent-tertiary)}.title-s{animation-delay:.8s;color:var(--color-accent-primary)}@keyframes titleGlow{0%,to{filter:brightness(1);transform:translateY(0)}50%{filter:brightness(1.3);transform:translateY(-5px)}}.title-tagline{font-family:var(--font-mono);font-size:1rem;color:var(--color-text-secondary);letter-spacing:.2em;text-transform:uppercase}.title-subtitle{font-family:var(--font-body);font-size:.9rem;color:var(--color-text-muted);margin-top:var(--spacing-sm)}.game-info{display:flex;flex-direction:column;gap:var(--spacing-md);width:100%;max-width:400px;margin:0 auto}.info-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background:#ffffff05;border:1px solid rgba(0,255,204,.1);border-radius:4px;font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-secondary)}.info-icon{font-size:1.5rem}.info-text{flex:1}.title-menu{width:100%;display:flex;flex-direction:column;gap:var(--spacing-lg)}.scenario-selector{width:100%}.scenario-label{font-family:var(--font-mono);font-size:.75rem;color:var(--color-accent-primary);letter-spacing:.3em;margin-bottom:var(--spacing-md);text-align:center}.scenario-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.scenario-card{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:all var(--transition-normal);text-align:left;width:100%;font-family:inherit;color:inherit}.scenario-card:hover{background:#00ffcc0d;border-color:var(--color-accent-primary);transform:translate(10px)}.scenario-card.selected{background:#00ffcc1a;border-color:var(--color-accent-primary);box-shadow:var(--glow-primary)}.scenario-icon{font-size:2rem;width:50px;text-align:center}.scenario-info{flex:1}.scenario-title{font-family:var(--font-display);font-size:1rem;font-weight:700;margin-bottom:var(--spacing-xs);color:var(--color-text-primary)}.scenario-desc{font-size:.85rem;color:var(--color-text-secondary)}.scenario-arrow{font-size:1.5rem;color:var(--color-accent-primary);opacity:0;transform:translate(-10px);transition:all var(--transition-normal)}.scenario-card:hover .scenario-arrow,.scenario-card.selected .scenario-arrow{opacity:1;transform:translate(0)}.start-button{display:flex;align-items:center;justify-content:center;gap:var(--spacing-md);padding:var(--spacing-lg) var(--spacing-xl);background:transparent;border:2px solid var(--color-accent-primary);color:var(--color-accent-primary);font-family:var(--font-display);font-size:1.2rem;font-weight:700;letter-spacing:.2em;cursor:pointer;transition:all var(--transition-normal);position:relative;overflow:hidden;margin-top:var(--spacing-lg)}.start-button.pulse{animation:pulseGlow 2s ease-in-out infinite}@keyframes pulseGlow{0%,to{box-shadow:0 0 5px #00ffcc4d}50%{box-shadow:0 0 20px #0fc9,0 0 40px #00ffcc4d}}.start-button:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,204,.2),transparent);transition:left var(--transition-slow)}.start-button:hover{background:#00ffcc1a;box-shadow:var(--glow-primary);transform:scale(1.02)}.start-button:hover:before{left:100%}.start-icon{font-size:1rem}.title-footer{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-sm);font-size:.75rem;color:var(--color-text-muted)}.player-stats{display:flex;gap:var(--spacing-sm);font-family:var(--font-mono)}.stat-divider{opacity:.3}.title-credits{opacity:.5}.game-screen{display:flex;flex-direction:column;height:100vh;background:var(--color-bg-primary)}.hud{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md) var(--spacing-lg);background:#00000080;border-bottom:1px solid rgba(0,255,204,.2)}.hud-left,.hud-right{display:flex;align-items:center;gap:var(--spacing-md)}.hud-center{position:absolute;left:50%;transform:translate(-50%)}.hud-title{font-family:var(--font-display);font-size:1rem;letter-spacing:.3em;color:var(--color-accent-primary);text-shadow:var(--glow-primary)}.hud-item{display:flex;align-items:center;gap:var(--spacing-sm);font-family:var(--font-mono);font-size:.85rem}.hud-icon{opacity:.7}.hud-timer{color:var(--color-accent-secondary)}.hud-progress-label{font-size:.65rem;letter-spacing:.2em;color:var(--color-text-muted);margin-right:var(--spacing-sm)}.hud-progress-bar{width:100px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden}.hud-progress-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary));width:0%;transition:width var(--transition-normal)}.game-hud-container.hidden{display:none}.game-main{flex:1;display:flex;flex-direction:column;padding:var(--spacing-lg);overflow:hidden}.game-dialog-container{flex:1;display:flex;flex-direction:column;max-width:900px;margin:0 auto;width:100%}.dialog-box{flex:1;display:flex;flex-direction:column;background:#0000004d;border:1px solid rgba(0,255,204,.2);border-radius:4px;overflow:hidden}.dialog-header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);background:#00ffcc0d;border-bottom:1px solid rgba(0,255,204,.1)}.dialog-indicator{width:8px;height:8px;background:var(--color-accent-primary);border-radius:50%;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.3}}.dialog-label{font-family:var(--font-mono);font-size:.7rem;letter-spacing:.2em;color:var(--color-accent-primary)}.dialog-content{flex:1;padding:var(--spacing-lg);overflow-y:auto;font-size:1.1rem;line-height:1.8}.dialog-content p{margin-bottom:var(--spacing-md)}.typewriter-char{opacity:0;animation:fadeIn .05s forwards}@keyframes fadeIn{to{opacity:1}}.dialog-footer{padding:var(--spacing-sm) var(--spacing-md);text-align:right}.dialog-hint{font-family:var(--font-mono);font-size:.7rem;color:var(--color-text-muted)}.dialog-error{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);background:#ff44441a;border:1px solid var(--color-danger);border-radius:4px;margin-top:var(--spacing-md)}.error-icon{color:var(--color-danger)}.error-text{color:var(--color-danger);font-size:.9rem}.game-choice-container{max-width:900px;margin:0 auto;width:100%}.choice-menu{margin-top:var(--spacing-lg);opacity:1;transform:translateY(0);transition:all var(--transition-normal)}.choice-menu.hidden{opacity:0;transform:translateY(20px);pointer-events:none}.choice-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--spacing-md)}.choice-label{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.2em;color:var(--color-warning);animation:blink 1s infinite}.choice-list{display:flex;flex-direction:column;gap:var(--spacing-sm)}.choice-button{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:4px;cursor:pointer;transition:all var(--transition-normal);text-align:left;width:100%;font-family:var(--font-body);font-size:1rem;color:var(--color-text-primary);opacity:0;transform:translate(-20px);animation:slideIn .3s forwards}@keyframes slideIn{to{opacity:1;transform:translate(0)}}.choice-button:hover{background:#00ffcc1a;border-color:var(--color-accent-primary);transform:translate(10px)}.choice-button.selected{background:#0fc3;border-color:var(--color-accent-primary);box-shadow:var(--glow-primary)}.choice-button.not-selected{opacity:.3;pointer-events:none}.choice-number{width:30px;height:30px;display:flex;align-items:center;justify-content:center;background:#00ffcc1a;border:1px solid var(--color-accent-primary);border-radius:4px;font-family:var(--font-mono);font-size:.9rem;color:var(--color-accent-primary)}.choice-text{flex:1}.choice-arrow{font-size:1.5rem;color:var(--color-accent-primary);opacity:0;transform:translate(-10px);transition:all var(--transition-normal)}.choice-button:hover .choice-arrow{opacity:1;transform:translate(0)}.game-processing{position:fixed;bottom:var(--spacing-lg);left:50%;transform:translate(-50%);opacity:0;pointer-events:none;transition:opacity var(--transition-normal)}.game-processing.visible{opacity:1}.processing-indicator{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-lg);background:#000c;border:1px solid var(--color-accent-secondary);border-radius:20px;font-family:var(--font-mono);font-size:.85rem;color:var(--color-accent-secondary)}.processing-dots span{animation:processingDot 1.4s infinite}.processing-dots span:nth-child(2){animation-delay:.2s}.processing-dots span:nth-child(3){animation-delay:.4s}@keyframes processingDot{0%,80%,to{opacity:0}40%{opacity:1}}.loading-screen{position:fixed;top:0;left:0;width:100%;height:100%;background:var(--color-bg-primary);display:flex;align-items:center;justify-content:center;z-index:100;opacity:1;transition:opacity var(--transition-slow)}.loading-screen.hidden{opacity:0;pointer-events:none}.loading-content{text-align:center}.loading-logo{margin-bottom:var(--spacing-xl)}.loading-logo-text{font-family:var(--font-display);font-size:3rem;font-weight:900;letter-spacing:.3em;color:var(--color-accent-primary);text-shadow:var(--glow-primary);display:block}.loading-logo-sub{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.5em;color:var(--color-text-muted);display:block;margin-top:var(--spacing-sm)}.loading-bar{width:300px;height:4px;background:#ffffff1a;border-radius:2px;overflow:hidden;margin:0 auto var(--spacing-lg)}.loading-bar-fill{height:100%;background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary));width:0%;transition:width .2s ease}.loading-message{font-family:var(--font-mono);font-size:.85rem;color:var(--color-text-secondary);margin-bottom:var(--spacing-md)}.loading-dots{display:flex;justify-content:center;gap:var(--spacing-sm)}.loading-dots span{width:8px;height:8px;background:var(--color-accent-primary);border-radius:50%;animation:loadingDot 1.4s infinite ease-in-out}.loading-dots span:nth-child(1){animation-delay:-.32s}.loading-dots span:nth-child(2){animation-delay:-.16s}@keyframes loadingDot{0%,80%,to{transform:scale(0);opacity:.5}40%{transform:scale(1);opacity:1}}.ending-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:var(--spacing-lg);background:var(--color-bg-primary)}.ending-content{max-width:700px;width:100%;text-align:center}.ending-header{margin-bottom:var(--spacing-xl)}.ending-title{font-family:var(--font-display);font-size:2rem;font-weight:900;letter-spacing:.2em;color:var(--color-accent-primary);text-shadow:var(--glow-primary);margin-bottom:var(--spacing-md)}.ending-line{width:100px;height:2px;background:linear-gradient(90deg,transparent,var(--color-accent-primary),transparent);margin:0 auto}.ending-narrative{margin-bottom:var(--spacing-xl);padding:var(--spacing-lg);background:#ffffff05;border:1px solid rgba(255,255,255,.1);border-radius:4px}.ending-text{font-size:1.1rem;line-height:1.8;color:var(--color-text-secondary);font-style:italic}.ending-report{margin-bottom:var(--spacing-xl)}.report-title{font-family:var(--font-mono);font-size:.75rem;letter-spacing:.3em;color:var(--color-accent-secondary);margin-bottom:var(--spacing-lg)}.report-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--spacing-md)}.stat-item{display:flex;flex-direction:column;align-items:center;gap:var(--spacing-xs);padding:var(--spacing-md);background:#ffffff05;border:1px solid rgba(255,255,255,.05);border-radius:4px}.stat-icon{font-size:1.5rem}.stat-label{font-family:var(--font-mono);font-size:.65rem;letter-spacing:.2em;color:var(--color-text-muted);text-transform:uppercase}.stat-value{font-family:var(--font-display);font-size:1.2rem;color:var(--color-text-primary)}.ending-actions{display:flex;gap:var(--spacing-md);justify-content:center}.ending-button{padding:var(--spacing-md) var(--spacing-xl);font-family:var(--font-display);font-size:.9rem;font-weight:700;letter-spacing:.1em;cursor:pointer;transition:all var(--transition-normal);border-radius:4px}.ending-button.primary{background:var(--color-accent-primary);border:2px solid var(--color-accent-primary);color:var(--color-bg-primary)}.ending-button.primary:hover{background:transparent;color:var(--color-accent-primary);box-shadow:var(--glow-primary)}.ending-button.secondary{background:transparent;border:2px solid rgba(255,255,255,.2);color:var(--color-text-secondary)}.ending-button.secondary:hover{border-color:var(--color-text-primary);color:var(--color-text-primary)}@media (max-width: 768px){:root{font-size:14px}.title-logo{letter-spacing:.15em}.scenario-card{padding:var(--spacing-sm) var(--spacing-md)}.scenario-icon{font-size:1.5rem;width:40px}.hud{padding:var(--spacing-sm)}.hud-center{display:none}.game-main{padding:var(--spacing-md)}.dialog-content{padding:var(--spacing-md);font-size:1rem}.report-stats{grid-template-columns:1fr 1fr}.ending-actions{flex-direction:column}.ending-button{width:100%}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#ffffff0d}::-webkit-scrollbar-thumb{background:var(--color-accent-primary);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-secondary)}::selection{background:var(--color-accent-primary);color:var(--color-bg-primary)}
