*{box-sizing:border-box;-webkit-user-select:none;user-select:none;margin:0;padding:0}body,html{background-color:#05080c;width:100%;height:100%;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}#webgl-canvas{z-index:1;width:100vw;height:100vh;display:block;position:absolute;top:0;left:0}#vignette-overlay{pointer-events:none;z-index:5;background:radial-gradient(circle,#0000 55%,#04080ea6 85%,#020407f2 100%);width:100vw;height:100vh;position:absolute;top:0;left:0}#hud-controls{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#94a3b8;letter-spacing:.5px;background:#0f172abf;border:1px solid #38bdf833;border-radius:8px;gap:12px;padding:8px 16px;font-size:11px;display:flex;position:absolute;top:24px;left:24px}#hud-controls span{color:#38bdf8;font-weight:600}#stealth-meter-container{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:15;background:#0a0f18d9;border:1px solid #ef444466;border-radius:20px;align-items:center;gap:12px;padding:8px 18px;transition:opacity .2s;display:flex;position:absolute;top:24px;left:50%;transform:translate(-50%)}#stealth-meter-container.hidden{opacity:0;pointer-events:none}#stealth-eye-icon{color:#ef4444;font-size:16px;animation:.8s infinite alternate pulse-eye}@keyframes pulse-eye{0%{opacity:.6;transform:scale(.9)}to{opacity:1;transform:scale(1.15)}}#stealth-bar-frame{background:#ffffff26;border-radius:3px;width:140px;height:6px;overflow:hidden}#stealth-bar-fill{background:linear-gradient(90deg,#f59e0b,#ef4444);width:0%;height:100%;transition:width 50ms linear}#detection-flash{pointer-events:none;opacity:0;z-index:25;background:radial-gradient(circle,#ef444400 30%,#ef4444b3 100%);width:100vw;height:100vh;transition:opacity .25s;position:absolute;top:0;left:0}#detection-flash.active{opacity:1}#interaction-prompt{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#f8fafc;z-index:15;pointer-events:none;background:#0f172ad9;border:1px solid #38bdf866;border-radius:20px;align-items:center;gap:10px;padding:8px 16px;font-size:13px;font-weight:600;transition:opacity .2s,transform .2s;display:flex;position:absolute;top:60%;left:50%;transform:translate(-50%,-50%)}#interaction-prompt.hidden{opacity:0;transform:translate(-50%,-40%)}.prompt-key{color:#0f172a;background:#38bdf8;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:800;display:flex}#prompt-progress-bar{background:#fff3;border-radius:2px;width:50px;height:4px;margin-left:4px;overflow:hidden}#prompt-progress-fill{background:#38bdf8;width:0%;height:100%;transition:width 50ms linear}#dialogue-container{z-index:100;box-sizing:border-box;background:#fff;border:2px solid #0f172a;border-radius:12px;gap:18px;width:620px;max-width:90vw;min-height:160px;max-height:260px;padding:20px 24px;transition:opacity .25s,transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:absolute;bottom:40px;left:50%;transform:translate(-50%);box-shadow:0 20px 50px #0009,0 4px 12px #0003}#dialogue-container.hidden{opacity:0;pointer-events:none;transform:translate(-50%,15px)}#dialogue-avatar-box{background:#0f172a;border:2px solid #0284c7;border-radius:8px;flex-shrink:0;width:68px;height:68px;overflow:hidden}#dialogue-avatar{background:#1e293b;width:100%;height:100%}#dialogue-content{flex-direction:column;flex-grow:1;min-width:0;display:flex;overflow:hidden}#dialogue-speaker{color:#0f172a;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px;font-size:13px;font-weight:800}#dialogue-body{color:#334155;white-space:pre-wrap;word-wrap:break-word;word-break:break-word;max-height:100px;margin-bottom:8px;font-size:14px;line-height:1.6;overflow-y:auto}#dialogue-choices{flex-direction:column;gap:6px;margin-top:6px;display:flex}.choice-btn{color:#1e293b;text-align:left;cursor:pointer;white-space:normal;word-break:break-word;background:#f8fafc;border:1px solid #cbd5e1;border-radius:6px;padding:8px 12px;font-size:12px;transition:all .15s}.choice-btn:hover{color:#fff;background:#0284c7;border-color:#0284c7;font-weight:600}#dialogue-prompt{color:#64748b;align-self:flex-end;margin-top:auto;padding-top:4px;font-size:11px;font-weight:700;animation:1.2s infinite blink}@keyframes blink{0%,to{opacity:.3}50%{opacity:1}}#instructions-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:60;opacity:1;background:#03070ce6;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .3s;display:flex;position:absolute;top:0;left:0}#instructions-backdrop.hidden{opacity:0;pointer-events:none}#instructions-modal{background:#fff;border-radius:14px;flex-direction:column;gap:20px;width:660px;max-width:92vw;padding:32px 36px;display:flex;box-shadow:0 25px 60px #000000a6,0 0 0 1px #e2e8f0cc}.instructions-badge{letter-spacing:1px;text-transform:uppercase;color:#0284c7;background:#e0f2fe;border-radius:4px;margin-bottom:6px;padding:4px 10px;font-size:10px;font-weight:800;display:inline-block}#instructions-header h2{color:#0f172a;font-size:24px;font-weight:800}.instructions-subtitle{color:#64748b;margin-top:4px;font-size:13px}#instructions-grid{flex-direction:column;gap:12px;display:flex}.instruction-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;align-items:flex-start;gap:14px;padding:14px 16px;display:flex}.danger-card{background:#fffbeb;border-color:#fde68a}.instruction-icon{font-size:22px;line-height:1}.instruction-text h4{color:#0f172a;margin-bottom:4px;font-size:13px;font-weight:700}.instruction-text p{color:#475569;font-size:12.5px;line-height:1.5}.danger-card .instruction-text h4{color:#b45309}#instructions-footer{justify-content:space-between;align-items:center;padding-top:10px;display:flex}#start-game-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:8px;padding:12px 24px;font-size:13px;font-weight:700;transition:background .15s}#start-game-btn:hover{background:#0369a1}.key-hint{color:#94a3b8;font-size:11px;font-weight:600}#codex-backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:50;opacity:1;background:#03060ae0;justify-content:center;align-items:center;width:100vw;height:100vh;transition:opacity .35s;display:flex;position:absolute;top:0;left:0}#codex-backdrop.hidden{opacity:0;pointer-events:none}#codex-modal{background:#fff;border-radius:14px;grid-template-columns:320px 1fr;width:780px;max-width:90vw;height:480px;transition:transform .35s cubic-bezier(.16,1,.3,1);display:grid;overflow:hidden;transform:translateY(0);box-shadow:0 25px 60px #0009,0 0 0 1px #e2e8f0cc}#codex-backdrop.hidden #codex-modal{transform:translateY(20px)}#codex-visual-col{background:#0f172a;border-right:1px solid #1e293b;flex-direction:column;justify-content:space-between;padding:24px;display:flex}#codex-image-frame{background:#1e293b;border:1px solid #38bdf84d;border-radius:8px;width:100%;height:280px;overflow:hidden}#codex-image{background:url(https://encrypted-tbn1.gstatic.com/licensed-image?q=tbn:ANd9GcR4ql7tC1o8sWuC_vlYNxWO6mDEaUh6mUF_xYDVsmimZdEHpoEpAirRKloqPuHOP99_R-vugYz7w86wSQs) 50%/cover no-repeat;width:100%;height:100%}#codex-meta{flex-direction:column;gap:3px;display:flex}.meta-label{color:#64748b;letter-spacing:.8px;text-transform:uppercase;font-size:9px;font-weight:700}.meta-value{color:#cbd5e1;margin-bottom:6px;font-size:11px;font-weight:600}#codex-text-col{flex-direction:column;padding:32px 36px;display:flex}#codex-badge{letter-spacing:1px;text-transform:uppercase;color:#0284c7;background:#e0f2fe;border-radius:4px;margin-bottom:8px;padding:4px 10px;font-size:10px;font-weight:800;display:inline-block}#codex-title{color:#0f172a;margin-bottom:10px;font-size:24px;font-weight:800;line-height:1.2}#codex-tags{gap:6px;margin-bottom:18px;display:flex}.tag{color:#475569;background:#f1f5f9;border-radius:4px;padding:3px 8px;font-size:11px;font-weight:600}#codex-body{color:#334155;flex-direction:column;gap:12px;font-size:13.5px;line-height:1.6;display:flex;overflow-y:auto}#codex-footer{border-top:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-top:auto;padding-top:18px;display:flex}#codex-close-btn{color:#fff;cursor:pointer;background:#0284c7;border:none;border-radius:6px;padding:10px 18px;font-size:12px;font-weight:700;transition:background .15s}#codex-close-btn:hover{background:#0369a1}#codex-esc-hint{color:#94a3b8;font-size:11px;font-weight:600}
