* { box-sizing: border-box; margin: 0; padding: 0; }
body { font-family: 'Space Mono', monospace; background: #0a0a14; color: #f5f2e8; min-height: 100vh; padding: 32px 20px; }
.scanlines { position: fixed; top:0;left:0;right:0;bottom:0; background: repeating-linear-gradient(0deg,transparent,transparent 2px,rgba(0,0,0,.07) 2px,rgba(0,0,0,.07) 4px); pointer-events:none; z-index:0; }
.content { position:relative; z-index:1; max-width:740px; margin:0 auto; }
h1 { font-family:'Oswald',sans-serif; font-size:34px; font-weight:700; color:#f5c842; text-align:center; letter-spacing:4px; text-transform:uppercase; margin-bottom:4px; }
.subtitle { text-align:center; font-size:10px; color:#8888aa; letter-spacing:2px; text-transform:uppercase; margin-bottom:28px; }
.hud { display:flex; justify-content:space-between; align-items:center; background:#13131f; border:1px solid #2a2a44; border-radius:8px; padding:12px 20px; margin-bottom:20px; gap:12px; }
.hud-item { text-align:center; }
.hud-label { color:#b8b8cc; text-transform:uppercase; letter-spacing:1px; font-size:9px; margin-bottom:2px; }
.hud-value { font-family:'Oswald',sans-serif; font-size:26px; font-weight:700; }
.hud-value.gold { color:#f5c842; } .hud-value.teal { color:#42e8c8; } .hud-value.red { color:#f05060; }

.clock-wrap { display:flex; align-items:center; gap:14px; background:#13131f; border:1px solid #2a2a44; border-radius:8px; padding:10px 20px; margin-bottom:16px; transition:border-color .3s,background .3s; }
.clock-wrap.urgent { border-color:#f05060; background:#1a0a0f; animation:borderPulse .5s ease infinite alternate; }
@keyframes borderPulse { from{border-color:#f05060} to{border-color:#ff9900} }
.clock-num { font-family:'Oswald',sans-serif; font-size:42px; font-weight:700; color:#42e8c8; min-width:52px; text-align:center; transition:color .3s; line-height:1; }
.clock-num.warn { color:#f5c842; } .clock-num.danger { color:#f05060; animation:numFlash .4s ease infinite alternate; }
@keyframes numFlash { from{opacity:1} to{opacity:.35} }
.clock-bar-wrap { flex:1; }
.clock-bar-label { font-size:9px; color:#b8b8cc; letter-spacing:1px; text-transform:uppercase; margin-bottom:5px; }
.clock-bar { height:10px; background:#1e1e30; border-radius:5px; overflow:hidden; }
.clock-fill { height:100%; border-radius:5px; background:#42e8c8; transition:width 1s linear,background .3s; }
.clock-fill.warn { background:#f5c842; } .clock-fill.danger { background:#f05060; }
.clock-label { font-size:9px; color:#b8b8cc; letter-spacing:1px; text-transform:uppercase; }
.timeout-flash { position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(240,80,96,.18); pointer-events:none; z-index:999; opacity:0; }
.timeout-flash.go { animation:flashRed .7s ease forwards; }
@keyframes flashRed { 0%{opacity:0} 25%{opacity:1} 100%{opacity:0} }
.category-badge { display:inline-block; font-size:9px; letter-spacing:1.5px; text-transform:uppercase; padding:3px 10px; border-radius:3px; margin-bottom:12px; font-family:'Oswald',sans-serif; }
.cat-scope { background:#1a2a3a; color:#42b4f5; border:1px solid #42b4f5; }
.cat-exec  { background:#1a3a2a; color:#42e8a0; border:1px solid #42e8a0; }
.cat-reg   { background:#2a1a3a; color:#c842f5; border:1px solid #c842f5; }
.cat-trick { background:#3a1a1a; color:#f54242; border:1px solid #f54242; }
.progress-row { display:flex; gap:5px; margin-bottom:20px; flex-wrap:wrap; }
.prog-dot { width:28px; height:14px; border-radius:3px; background:#1a1a28; border:1px solid #2a2a44; transition:all .3s; }
.prog-dot.done-correct { background:#42e8a0; border-color:#42e8a0; }
.prog-dot.done-wrong   { background:#f05060; border-color:#f05060; }
.prog-dot.done-timeout { background:#ff9900; border-color:#ff9900; }
.prog-dot.current      { border-color:#f5c842; background:#2a2010; }
.ticker { font-size:10px; color:#8888aa; letter-spacing:1.5px; text-align:center; margin-bottom:14px; text-transform:uppercase; }
.q-counter { font-size:10px; color:#b8b8cc; margin-bottom:8px; letter-spacing:1px; }
.question-card { background:#13131f; border:1px solid #2a2a44; border-radius:10px; padding:24px; margin-bottom:16px; transition:border-color .3s; }
.question-card.panicking { border-color:#f05060; }
.diff-stars { color:#f5c842; font-size:13px; margin-bottom:8px; }
.question-text { font-size:14px; line-height:1.75; color:#d8d4c0; margin-bottom:20px; }
.options { display:flex; flex-direction:column; gap:8px; }
.option-btn { background:#1a1a28; border:1px solid #2a2a44; border-radius:6px; padding:13px 18px; color:#f5f2e8; font-family:'Space Mono',monospace; font-size:12px; text-align:left; cursor:pointer; transition:all .15s ease; line-height:1.5; }
.option-btn:hover:not(:disabled) { border-color:#f5c842; color:#f5f0e0; background:#1e1e2e; transform:translateX(5px); }
.option-btn.correct { background:#0d2a1a; border-color:#42e8a0; color:#42e8a0; }
.option-btn.wrong   { background:#2a0d0d; border-color:#f05060; color:#f05060; }
.option-btn.timeout-reveal { background:#1a1200; border-color:#ff9900; color:#ff9900; }
.option-btn:disabled { cursor:default; transform:none; }
.feedback-box { border-radius:10px; padding:18px 22px; margin-bottom:16px; font-size:13px; line-height:1.85; display:none; animation:fadeIn .3s ease; }
.feedback-box.correct { background:#0a2018; border:1px solid #42e8a0; }
.feedback-box.wrong   { background:#200a0a; border:1px solid #f05060; }
.feedback-box.timeout { background:#1a0d00; border:1px solid #ff9900; }
@keyframes fadeIn { from{opacity:0;transform:translateY(8px)} to{opacity:1;transform:none} }
@keyframes shake  { 0%,100%{transform:translateX(0)} 20%{transform:translateX(-10px)} 40%{transform:translateX(10px)} 60%{transform:translateX(-8px)} 80%{transform:translateX(8px)} }
.feedback-title { font-family:'Oswald',sans-serif; font-size:22px; font-weight:700; margin-bottom:10px; line-height:1.2; }
.feedback-box.correct .feedback-title { color:#42e8a0; }
.feedback-box.wrong   .feedback-title { color:#f05060; }
.feedback-box.timeout .feedback-title { color:#ff9900; }
.feedback-explanation { color:#e8e8f5; font-size:12px; line-height:1.85; }
.feedback-explanation strong { color:#f5f2e8; }
.feedback-anecdote { margin-top:14px; padding:12px 16px; background:rgba(240,80,96,0.08); border:1px solid rgba(240,80,96,0.2); border-radius:8px; font-size:11px; line-height:1.75; color:#e8b8be; font-style:italic; animation:fadeIn .4s ease .15s both; }
.feedback-anecdote-label { display:block; font-family:'Oswald',sans-serif; font-size:10px; font-weight:700; letter-spacing:2px; color:#f05060; margin-bottom:4px; font-style:normal; }

.next-btn { display:none; width:100%; background:#f5c842; border:none; border-radius:8px; padding:16px; font-family:'Oswald',sans-serif; font-size:17px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:#0a0a14; cursor:pointer; transition:all .15s ease; margin-bottom:16px; }
.next-btn:hover { background:#ffd84e; transform:translateY(-2px); }
.final-screen { display:none; text-align:center; padding:24px 0; }
.final-score-num { font-family:'Oswald',sans-serif; font-size:72px; font-weight:700; color:#f5c842; line-height:1; }
.final-rank { font-family:'Oswald',sans-serif; font-size:34px; font-weight:700; margin:12px 0 20px; line-height:1.2; }
.final-verdict { font-size:13px; line-height:1.9; color:#e8e8f5; max-width:580px; margin:0 auto 24px; background:#13131f; border:1px solid #2a2a44; border-radius:10px; padding:20px 24px; text-align:left; }
.final-breakdown { display:flex; justify-content:center; gap:28px; margin-bottom:24px; flex-wrap:wrap; }
.breakdown-item { text-align:center; }
.breakdown-num { font-family:'Oswald',sans-serif; font-size:36px; font-weight:700; }
.breakdown-lbl { font-size:9px; color:#b8b8cc; letter-spacing:2px; text-transform:uppercase; }
.restart-btn { background:transparent; border:1px solid #f5c842; color:#f5c842; font-family:'Oswald',sans-serif; font-size:15px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:14px 36px; border-radius:8px; cursor:pointer; transition:all .15s; }
.restart-btn:hover { background:#f5c842; color:#0a0a14; }
.back-to-menu-btn { background:transparent; border:1px solid #b8b8cc; color:#b8b8cc; font-family:'Space Mono',monospace; font-size:11px; padding:8px 18px; border-radius:6px; cursor:pointer; transition:all .15s; }
.back-to-menu-btn:hover { background:#b8b8cc; color:#0a0a14; }
.bank-info { text-align:center; font-size:9px; color:#ffffff; letter-spacing:1.5px; text-transform:uppercase; margin-bottom:20px; }
footer { text-align:center; margin-top:40px; font-size:9px; color:#ffffff; letter-spacing:1.5px; text-transform:uppercase; }

/* ══ BOOT SCREEN ══ */
#boot-screen{position:fixed;inset:0;background:#000;z-index:9999;display:flex;align-items:center;justify-content:center;cursor:pointer;}
#boot-crt-flash{position:absolute;inset:0;background:#fff;opacity:0;pointer-events:none;transition:opacity .08s;}
#boot-inner{display:flex;flex-direction:column;align-items:center;gap:18px;text-align:center;padding:24px;}
#boot-carl-cv{image-rendering:pixelated;opacity:0;transition:opacity .4s;}
#boot-title-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;}
#boot-title{font-family:'Oswald',sans-serif;font-size:clamp(48px,10vw,88px);font-weight:700;color:#f5c842;letter-spacing:8px;text-shadow:0 0 40px #f5c84288;opacity:0;transition:opacity .5s;}
#boot-title-num{color:#f08040;}
#boot-tagline{font-family:'Space Mono',monospace;font-size:clamp(10px,2vw,13px);color:#f05060;letter-spacing:3px;text-transform:uppercase;min-height:18px;}
#boot-log{font-family:'Space Mono',monospace;font-size:11px;color:#42e8a0;letter-spacing:1px;line-height:2;min-height:120px;text-align:left;width:min(420px,90vw);}
#boot-log .log-line{opacity:0;animation:logFadeIn .2s forwards;}
@keyframes logFadeIn{to{opacity:1}}
#boot-prompt{font-family:'Space Mono',monospace;font-size:13px;color:#f5c842;letter-spacing:3px;opacity:0;animation:blinkPrompt 1s step-end infinite;}
@keyframes blinkPrompt{0%,100%{opacity:1}50%{opacity:0}}
#boot-screen.boot-exit{animation:bootExit .35s ease-in forwards;}
@keyframes bootExit{0%{opacity:1;transform:scale(1)}60%{opacity:1;transform:scale(1.04)}100%{opacity:0;transform:scale(1.04)}}

/* ── Scene label on question card ── */
.scene-label{display:block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:#9999bb;border-left:2px solid #2a2a44;padding:3px 0 4px 10px;margin-bottom:12px;line-height:1.6;font-family:'Space Mono',monospace;}
.scene-label span{color:#c8c8d8;}

/* ── Select All That Apply ── */
.multi-label{display:flex;align-items:flex-start;gap:12px;background:#1a1a28;border:1px solid #2a2a44;border-radius:6px;padding:12px 16px;cursor:pointer;transition:all .15s;line-height:1.5;font-size:12px;color:#f5f2e8;margin-bottom:6px;user-select:none;}
.multi-label:hover{border-color:#f5c842;background:#1e1e2e;}
.multi-label.opt-correct{background:#0d2a1a;border-color:#42e8a0;color:#42e8a0;}
.multi-label.opt-wrong{background:#2a0d0d;border-color:#f05060;color:#f05060;}
.multi-label.opt-missed{background:#1a1200;border-color:#ff9900;color:#ff9900;}
.opt-check{width:16px;height:16px;flex-shrink:0;margin-top:2px;accent-color:#f5c842;cursor:pointer;}
.multi-tag{display:inline-block;font-size:8px;letter-spacing:2px;text-transform:uppercase;color:#f5c842;border:1px solid #f5c842;border-radius:3px;padding:1px 7px;margin-bottom:10px;}
.multi-submit-btn{width:100%;margin-top:8px;background:#1a1a2e;border:1px solid #f5c842;border-radius:6px;padding:13px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;color:#f5c842;cursor:pointer;text-transform:uppercase;transition:all .15s;}
.multi-submit-btn:hover:not(:disabled){background:#2a2010;}
.multi-submit-btn:disabled{opacity:.4;cursor:default;}

/* ══ HOT TAKE MODE ══ */
#hot-take-screen{display:none;text-align:center;padding:12px 0;}
.ht-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px;flex-wrap:wrap;gap:8px;}
.ht-streak-wrap{display:flex;align-items:center;gap:8px;}
.ht-streak-label{font-family:'Space Mono',monospace;font-size:9px;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;}
.ht-streak-num{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:#f5c842;line-height:1;}
.ht-accuracy{font-family:'Space Mono',monospace;font-size:11px;color:#c8c8d8;}
.ht-ring-wrap{position:relative;width:72px;height:72px;flex-shrink:0;}
.ht-ring-wrap svg{position:absolute;top:0;left:0;transform:rotate(-90deg);}
.ht-ring-bg{fill:none;stroke:#1e1e30;stroke-width:5;}
.ht-ring-fill{fill:none;stroke:#f5c842;stroke-width:5;stroke-linecap:round;transition:stroke-dashoffset .08s linear,stroke .3s;}
.ht-ring-num{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5c842;}
.ht-qnum{font-family:'Space Mono',monospace;font-size:9px;color:#555577;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.ht-cat-badge{display:inline-block;font-size:9px;letter-spacing:1.5px;text-transform:uppercase;padding:3px 10px;border-radius:3px;margin-bottom:10px;font-family:'Oswald',sans-serif;}
.ht-scene{font-size:9px;color:#555577;letter-spacing:1.5px;text-transform:uppercase;border-left:2px solid #2a2a44;padding-left:8px;margin-bottom:12px;font-family:'Space Mono',monospace;text-align:left;}
.ht-scenario{background:#0d0d1a;border:1px solid #2a2a44;border-radius:12px;padding:22px 24px;margin-bottom:18px;font-size:14px;color:#f5f2e8;line-height:1.8;text-align:left;min-height:90px;position:relative;}
.ht-scenario.ht-correct{border-color:#42e8a0;background:#0a1a0f;animation:htPulse .4s ease;}
.ht-scenario.ht-wrong{border-color:#f05060;background:#1a0808;animation:shake .4s ease;}
@keyframes htPulse{0%{transform:scale(1)}40%{transform:scale(1.01)}100%{transform:scale(1)}}
.ht-verdict{font-family:'Space Mono',monospace;font-size:12px;margin-bottom:14px;min-height:18px;opacity:0;transition:opacity .2s;}
.ht-verdict.show{opacity:1;}
.ht-verdict.v-correct{color:#42e8a0;}
.ht-verdict.v-wrong{color:#f05060;}
.ht-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:8px;}
.ht-btn{padding:18px 10px;font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;letter-spacing:2px;border-radius:10px;cursor:pointer;border:2px solid;transition:all .12s;text-transform:uppercase;position:relative;overflow:hidden;}
.ht-btn-a{background:#0d1a0d;border-color:#42e8a0;color:#42e8a0;}
.ht-btn-b{background:#1a0d0d;border-color:#f05060;color:#f05060;}
.ht-btn-a:hover:not(:disabled){background:#0f2a10;box-shadow:0 0 20px rgba(66,232,160,.3);}
.ht-btn-b:hover:not(:disabled){background:#2a0f0f;box-shadow:0 0 20px rgba(240,80,96,.3);}
.ht-btn:disabled{opacity:.35;cursor:default;}
.ht-btn.ht-chosen-correct{background:#0f2a10;border-color:#42e8a0;box-shadow:0 0 24px rgba(66,232,160,.4);}
.ht-btn.ht-chosen-wrong{background:#2a0f0f;border-color:#f05060;box-shadow:0 0 24px rgba(240,80,96,.4);}
.ht-mode-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;color:#f08040;text-transform:uppercase;margin-bottom:4px;}
.ht-context{font-size:11px;color:#b8b8cc;line-height:1.7;margin-top:6px;border-top:1px solid #1e1e30;padding-top:8px;display:none;}
.ht-context.show{display:block;}
/* Hot Take card on level select */
.ls-card.hottake{border-color:#f08040;}
.ls-card.hottake::before{background:#f08040;}
.ls-card.hottake:hover{border-color:#f08040;box-shadow:0 8px 24px rgba(240,128,64,.25);}
.ls-card.hottake .lc-tag{color:#f08040;}
/* Hot Take final screen */
#ht-final{display:none;text-align:center;padding:24px 0;}
.ht-final-grade{font-family:'Oswald',sans-serif;font-size:72px;font-weight:700;line-height:1;margin-bottom:4px;}
.ht-final-label{font-family:'Space Mono',monospace;font-size:11px;letter-spacing:3px;color:#b8b8cc;text-transform:uppercase;margin-bottom:20px;}
.ht-final-stats{display:flex;justify-content:center;gap:32px;margin-bottom:24px;flex-wrap:wrap;}
.ht-final-stat{text-align:center;}
.ht-final-stat-num{font-family:'Oswald',sans-serif;font-size:36px;font-weight:700;}
.ht-final-stat-lbl{font-family:'Space Mono',monospace;font-size:9px;color:#b8b8cc;letter-spacing:1px;text-transform:uppercase;}
.ht-final-verdict{font-size:13px;line-height:1.9;color:#e8e8f5;max-width:520px;margin:0 auto 24px;background:#13131f;border:1px solid #2a2a44;border-radius:10px;padding:18px 22px;text-align:left;}
.ht-cat-breakdown{max-width:480px;margin:0 auto 24px;}
.ht-peak-streak{font-family:'Space Mono',monospace;font-size:11px;color:#f5c842;margin-bottom:20px;}

/* ── Weakness tracking panel ── */
#weakness-panel{max-width:580px;margin:0 auto 24px;background:#0d0d1a;border:1px solid #2a2a44;border-radius:10px;padding:18px 22px;text-align:left;}
.wp-title{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:#b8b8cc;text-transform:uppercase;margin-bottom:14px;}
.wp-row{display:flex;align-items:center;gap:10px;margin-bottom:10px;}
.wp-label{font-family:'Space Mono',monospace;font-size:10px;color:#c8c8d8;letter-spacing:1px;width:130px;flex-shrink:0;}
.wp-bar-wrap{flex:1;height:8px;background:#1e1e30;border-radius:4px;overflow:hidden;}
.wp-bar{height:100%;border-radius:4px;transition:width .6s ease;}
.wp-pct{font-family:'Space Mono',monospace;font-size:10px;width:36px;text-align:right;flex-shrink:0;}
.wp-runs{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;text-align:right;margin-top:6px;}
.wp-dedup{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;margin-top:8px;border-top:1px solid #1e1e30;padding-top:8px;}

/* ── Review Misses overlay ── */
#review-overlay{position:fixed;inset:0;background:#000000ee;z-index:800;display:none;overflow-y:auto;padding:24px 16px;}
#review-inner{max-width:760px;margin:0 auto;padding-bottom:60px;}
.review-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;gap:12px;flex-wrap:wrap;}
.review-title{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:#f5c842;letter-spacing:3px;}
.review-close{background:transparent;border:1px solid #444;color:#888;font-family:'Space Mono',monospace;font-size:11px;padding:8px 18px;border-radius:6px;cursor:pointer;letter-spacing:1px;}
.review-close:hover{border-color:#f5c842;color:#f5c842;}
.review-summary{font-family:'Space Mono',monospace;font-size:11px;color:#b8b8cc;margin-bottom:24px;letter-spacing:1px;}
.review-card{background:#0d0d1a;border:1px solid #2a2a44;border-radius:12px;padding:20px 22px;margin-bottom:16px;position:relative;}
.review-card.rc-wrong{border-left:3px solid #f05060;}
.review-card.rc-timeout{border-left:3px solid #ff9900;}
.review-q-num{font-family:'Space Mono',monospace;font-size:9px;color:#555577;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}
.review-scene{font-size:9px;color:#555577;letter-spacing:1.5px;text-transform:uppercase;border-left:2px solid #2a2a44;padding-left:8px;margin-bottom:10px;font-family:'Space Mono',monospace;}
.review-q-text{font-size:13px;color:#f5f2e8;line-height:1.7;margin-bottom:14px;}
.review-opts{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;}
.review-opt{font-size:12px;padding:8px 12px;border-radius:6px;border:1px solid #1e1e30;color:#b8b8cc;line-height:1.5;}
.review-opt.ro-correct{background:#0d2a1a;border-color:#42e8a0;color:#42e8a0;}
.review-opt.ro-wrong{background:#2a0d0d;border-color:#f05060;color:#f05060;text-decoration:line-through;}
.review-opt.ro-timeout{background:#1a1200;border-color:#444;color:#555;}
.review-verdict{font-size:9px;font-family:'Space Mono',monospace;letter-spacing:1px;margin-bottom:10px;}
.review-verdict.rv-wrong{color:#f05060;}
.review-verdict.rv-timeout{color:#ff9900;}
.review-praise{font-size:12px;color:#8899bb;line-height:1.8;border-top:1px solid #1e1e30;padding-top:12px;margin-top:4px;}
.review-praise strong{color:#42e8a0;}

/* ── Carl speech bubble ── */
#carl-speech{position:fixed;bottom:100px;left:50%;transform:translateX(-50%);max-width:440px;width:90%;background:#0d0d1a;border:2px solid #f08040;border-radius:10px;padding:14px 20px;z-index:890;display:none;animation:carlSlideIn .4s cubic-bezier(0.175,0.885,0.32,1.275) both;}
@keyframes carlSlideIn{from{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}
.carl-speech-icon{font-size:22px;margin-right:10px;flex-shrink:0;}
.carl-speech-inner{display:flex;align-items:flex-start;gap:4px;}
.carl-speech-text{font-family:'Space Mono',monospace;font-size:11px;line-height:1.7;color:#f08040;font-style:italic;}

/* ── Floating score popup ── */
.score-float{position:fixed;font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#42e8a0;pointer-events:none;z-index:700;animation:scorePop 1.1s ease forwards;white-space:nowrap;text-shadow:0 0 10px rgba(66,232,160,.6);}
@keyframes scorePop{0%{opacity:1;transform:translateY(0) scale(1)}60%{opacity:1;transform:translateY(-60px) scale(1.3)}100%{opacity:0;transform:translateY(-95px) scale(0.8)}}
/* ── Pixel particle burst ── */
.px-particle{position:fixed;pointer-events:none;z-index:699;border-radius:2px;}
@keyframes pxFly{0%{opacity:1;transform:translate(-50%,-50%) translate(0,0) scale(1)}100%{opacity:0;transform:translate(-50%,-50%) translate(var(--tx),var(--ty)) scale(0)}}
/* ── Streak flash on HUD ── */
@keyframes streakPop{0%{transform:scale(1)}40%{transform:scale(1.6)}70%{transform:scale(0.9)}100%{transform:scale(1)}}
.streak-pop{animation:streakPop .35s ease;}
/* ── Mid-game badge notification ── */
.badge-notif{position:fixed;right:-300px;bottom:70px;background:#0d0d1a;border:2px solid #f5c842;border-radius:10px;padding:14px 20px;z-index:802;width:275px;font-family:'Space Mono',monospace;transition:right .45s cubic-bezier(0.175,0.885,0.32,1.275);}
.badge-notif.in{right:10px;}
.badge-notif-label{font-size:9px;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.badge-notif-icon{font-size:36px;display:block;text-align:center;margin-bottom:6px;}
.badge-notif-name{font-family:'Oswald',sans-serif;font-size:17px;font-weight:700;color:#f5c842;text-align:center;text-transform:uppercase;letter-spacing:2px;}
.badge-notif-desc{font-size:10px;color:#c8c8d8;text-align:center;margin-top:4px;letter-spacing:1px;}
/* ── Keyboard hint pills ── */
.kb-hint{display:inline-block;font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;color:#555577;background:#0d0d1a;border:1px solid #2a2a44;border-radius:4px;padding:1px 7px;margin-right:6px;min-width:18px;text-align:center;vertical-align:middle;transition:all .15s;}
.option-btn:hover .kb-hint{color:#f5c842;border-color:#f5c842;}
/* ── Personal best banner ── */
.pb-banner{background:linear-gradient(90deg,#1a1200,#2a1a00,#1a1200);border:1px solid #f5c842;border-radius:8px;padding:12px 18px;margin-bottom:16px;text-align:center;animation:pbGlow 2s ease infinite alternate;}
@keyframes pbGlow{0%{box-shadow:0 0 8px rgba(245,200,66,.2)}100%{box-shadow:0 0 24px rgba(245,200,66,.5)}}
.pb-label{font-family:'Space Mono',monospace;font-size:9px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;}
.pb-value{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:#f5c842;}
.pb-sub{font-family:'Space Mono',monospace;font-size:10px;color:#b8b8cc;margin-top:2px;}
/* ── Avg response time on final ── */
.stats-row{display:flex;justify-content:center;gap:24px;margin-bottom:20px;flex-wrap:wrap;}
.stat-pill{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:10px 16px;text-align:center;min-width:100px;}
.stat-pill-num{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;}
.stat-pill-lbl{font-family:'Space Mono',monospace;font-size:8px;color:#b8b8cc;letter-spacing:1.5px;text-transform:uppercase;margin-top:2px;}
/* ── Confetti ── */
.confetti-piece{position:fixed;z-index:900;pointer-events:none;animation:confettiFall linear forwards;}
@keyframes confettiFall{0%{opacity:1;transform:translateY(0) rotate(0deg)}80%{opacity:1}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}
/* ── Streak milestone overlay ── */
.streak-milestone{position:fixed;top:40%;left:50%;transform:translate(-50%,-50%) scale(0.5);font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;color:#f5c842;z-index:801;pointer-events:none;opacity:0;text-align:center;text-shadow:0 0 30px #f5c84266;animation:streakMilestonePop 1.8s cubic-bezier(0.175,0.885,0.32,1.275) forwards;white-space:nowrap;}
@keyframes streakMilestonePop{0%{opacity:0;transform:translate(-50%,-50%) scale(0.3)}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2)}30%{transform:translate(-50%,-50%) scale(1)}80%{opacity:1;transform:translate(-50%,-50%) scale(1)}100%{opacity:0;transform:translate(-50%,-55%) scale(1.1)}}
/* ── Final screen badge showcase ── */
.badges-section{max-width:600px;margin:0 auto 28px;}
.badges-header{font-family:'Oswald',sans-serif;font-size:13px;color:#555577;letter-spacing:3px;text-transform:uppercase;margin-bottom:14px;}
.badges-grid{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;}
.badge-card{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:12px 14px;text-align:center;min-width:108px;max-width:128px;animation:badgePop .55s cubic-bezier(0.175,0.885,0.32,1.275) both;}
.badge-card:nth-child(1){animation-delay:.08s}.badge-card:nth-child(2){animation-delay:.16s}.badge-card:nth-child(3){animation-delay:.24s}.badge-card:nth-child(4){animation-delay:.32s}.badge-card:nth-child(5){animation-delay:.40s}.badge-card:nth-child(6){animation-delay:.48s}.badge-card:nth-child(7){animation-delay:.56s}.badge-card:nth-child(8){animation-delay:.64s}.badge-card:nth-child(9){animation-delay:.72s}
@keyframes badgePop{0%{opacity:0;transform:scale(0.15) rotate(-25deg)}70%{transform:scale(1.15) rotate(5deg)}100%{opacity:1;transform:scale(1) rotate(0)}}
.badge-card.gold{border-color:#f5c842;box-shadow:0 0 18px rgba(245,200,66,.4);}
.badge-card.teal{border-color:#42e8c8;box-shadow:0 0 14px rgba(66,232,200,.3);}
.badge-card.red{border-color:#f05060;box-shadow:0 0 14px rgba(240,80,96,.3);}
.badge-emoji{font-size:26px;display:block;margin-bottom:5px;}
.badge-name{font-family:'Oswald',sans-serif;font-size:10px;font-weight:700;color:#f5f2e8;text-transform:uppercase;letter-spacing:1px;line-height:1.3;}
.badge-sub{font-size:9px;color:#555577;margin-top:3px;line-height:1.3;}
.no-badges{color:#444466;font-size:11px;letter-spacing:1px;text-transform:uppercase;padding:20px 0;}

/* ══════════════ PHASE 1 — LEVEL SELECT ══════════════ */
#level-select{display:none;}
.ls-heading{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#f5c842;letter-spacing:4px;text-transform:uppercase;margin-bottom:5px;text-align:center;}
.ls-sub{font-size:10px;color:#ffffff;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:28px;}
.ls-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:22px;}
.ls-card{background:#13131f;border:2px solid #2a2a44;border-radius:12px;padding:20px 16px;cursor:pointer;transition:all .2s ease;text-align:left;position:relative;overflow:hidden;}
.ls-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.ls-card.rookie::before{background:#42e8a0;}.ls-card.certified::before{background:#42b4f5;}.ls-card.lead::before{background:#c842f5;}.ls-card.gauntlet::before{background:linear-gradient(90deg,#f05060,#f5c842,#42e8c8,#c842f5);}
.ls-card:hover{transform:translateY(-4px);}
.ls-card.rookie:hover{border-color:#42e8a0;box-shadow:0 8px 24px rgba(66,232,160,.2);}
.ls-card.certified:hover{border-color:#42b4f5;box-shadow:0 8px 24px rgba(66,180,245,.2);}
.ls-card.lead:hover{border-color:#c842f5;box-shadow:0 8px 24px rgba(200,66,245,.2);}
.ls-card.gauntlet:hover{border-color:#f5c842;box-shadow:0 8px 24px rgba(245,200,66,.2);}
.lc-icon{font-size:30px;margin-bottom:10px;display:block;}
.lc-name{font-family:'Oswald',sans-serif;font-size:19px;font-weight:700;color:#f5f2e8;text-transform:uppercase;letter-spacing:2px;margin-bottom:4px;}
.lc-tag{font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;display:block;}
.ls-card.rookie .lc-tag{color:#42e8a0;}.ls-card.certified .lc-tag{color:#42b4f5;}.ls-card.lead .lc-tag{color:#c842f5;}.ls-card.gauntlet .lc-tag{color:#f5c842;}
.lc-desc{font-size:11px;color:#c8c8d8;line-height:1.65;}
.ls-action-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:4px;margin-bottom:4px;}
@media(max-width:600px){.ls-action-grid{grid-template-columns:1fr;}}
.ls-lb-btn{display:block;margin:0;background:transparent;border:1px solid #333355;color:#555577;font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;padding:10px 14px;border-radius:8px;cursor:pointer;transition:all .15s;white-space:nowrap;text-align:center;}
.ls-lb-btn:hover{filter:brightness(1.3);}
.ls-diff-info{font-size:9px;color:#ffffff;letter-spacing:1.5px;text-transform:uppercase;text-align:center;margin-top:8px;}

/* ══════════════ PHASE 1 — POWER-UPS ══════════════ */
.powerup-bar{display:flex;justify-content:center;gap:10px;margin-bottom:14px;}
.pu-btn{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:8px 12px;cursor:pointer;font-family:'Space Mono',monospace;color:#c8c8d8;transition:all .15s;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:90px;line-height:1;}
.pu-btn:hover:not(.used){background:#1a1a2a;}
.pu-btn.used{opacity:.25;cursor:not-allowed;filter:grayscale(1);}
.pu-btn.pu-freeze:hover:not(.used){border-color:#42e8c8;color:#42e8c8;}
.pu-btn.pu-fifty:hover:not(.used){border-color:#f5c842;color:#f5c842;}
.pu-btn.pu-carl:hover:not(.used){border-color:#f08040;color:#f08040;}
.pu-icon{font-size:17px;display:block;}
.pu-name{font-size:8px;letter-spacing:1.5px;text-transform:uppercase;margin-top:1px;}

/* ══════════════ PHASE 1 — BOSS QUESTION ══════════════ */
#boss-banner{display:none;background:linear-gradient(90deg,#1a0000,#2a0800,#1a0000);border:1px solid #f05060;border-radius:6px;padding:10px 16px;margin-bottom:12px;animation:bossPulse 1.2s ease infinite alternate;}
@keyframes bossPulse{from{box-shadow:0 0 8px rgba(240,80,96,.35)}to{box-shadow:0 0 22px rgba(240,80,96,.7)}}
.boss-text{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;color:#f05060;letter-spacing:3px;text-transform:uppercase;text-align:center;}
.boss-sub{font-size:9px;color:#883030;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-top:3px;}
.question-card.boss-mode{border-color:#f05060 !important;box-shadow:0 0 24px rgba(240,80,96,.25);}

/* ══════════════ PHASE 1 — LEADERBOARD ══════════════ */
#leaderboard-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,5,16,.97);z-index:900;overflow-y:auto;padding:40px 20px;}
.lb-inner{max-width:600px;margin:0 auto;}
.lb-title{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;color:#f5c842;letter-spacing:5px;text-transform:uppercase;text-align:center;margin-bottom:4px;}
.lb-sub{font-size:10px;color:#444466;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:28px;}
.lb-row{display:flex;align-items:center;gap:14px;background:#13131f;border:1px solid #1e1e30;border-radius:8px;padding:14px 18px;margin-bottom:8px;}
.lb-row.rank-1{border-color:#f5c842;box-shadow:0 0 16px rgba(245,200,66,.15);}
.lb-row.rank-2{border-color:#c8c8d8;}
.lb-row.rank-3{border-color:#884422;}
.lb-pos{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:#333355;min-width:36px;text-align:center;}
.lb-pos.gold{color:#f5c842;}.lb-pos.silver{color:#aaaacc;}.lb-pos.bronze{color:#c87040;}
.lb-info{flex:1;min-width:0;}
.lb-nm{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:#f5f2e8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lb-meta{font-size:9px;color:#8888aa;letter-spacing:1px;text-transform:uppercase;margin-top:2px;}
.lb-sc{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#42e8a0;}
.lb-pill{font-size:9px;letter-spacing:1px;text-transform:uppercase;padding:2px 8px;border-radius:3px;display:inline-block;margin-top:3px;}
.lb-empty{text-align:center;color:#6666aa;font-size:12px;letter-spacing:2px;text-transform:uppercase;padding:48px 0;line-height:2;}
.lb-close{display:block;margin:24px auto 0;background:transparent;border:1px solid #f5c842;color:#f5c842;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:12px 40px;border-radius:8px;cursor:pointer;transition:all .15s;}
.lb-close:hover{background:#f5c842;color:#0a0a14;}

/* ══════════════ PHASE 1 — NAME MODAL ══════════════ */
#name-modal{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(5,5,16,.92);z-index:920;align-items:center;justify-content:center;}
#name-modal.show{display:flex;}
.nm-box{background:#13131f;border:2px solid #f5c842;border-radius:12px;padding:32px;text-align:center;max-width:380px;width:90%;box-shadow:0 0 40px rgba(245,200,66,.2);}
.nm-title{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5c842;letter-spacing:3px;text-transform:uppercase;margin-bottom:6px;}
.nm-sub{font-size:11px;color:#c8c8d8;margin-bottom:20px;line-height:1.6;}
#nm-input{width:100%;background:#0a0a14;border:1px solid #2a2a44;border-radius:6px;padding:12px;font-family:'Space Mono',monospace;font-size:14px;color:#f5f2e8;text-align:center;letter-spacing:2px;margin-bottom:16px;outline:none;text-transform:uppercase;}
#nm-input:focus{border-color:#f5c842;}
.nm-save{background:#f5c842;border:none;border-radius:8px;padding:12px 32px;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#0a0a14;cursor:pointer;transition:all .15s;width:100%;margin-bottom:10px;}
.nm-save:hover{background:#ffd84e;}
.nm-skip-lnk{background:transparent;border:none;color:#333355;font-family:'Space Mono',monospace;font-size:10px;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:color .15s;}
.nm-skip-lnk:hover{color:#b8b8cc;}

/* ══════════════ AVATAR PICKER ══════════════ */
.avatar-section{margin-bottom:18px;}
.avatar-section-label{font-size:9px;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
.avatar-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.avatar-option{width:100%;aspect-ratio:1;background:#0a0a14;border:2px solid #2a2a44;border-radius:8px;cursor:pointer;transition:all .15s;padding:6px;display:flex;align-items:center;justify-content:center;}
.avatar-option:hover{border-color:#f5c842;transform:scale(1.08);}
.avatar-option.selected{border-color:#f5c842;background:#1a1a10;box-shadow:0 0 12px rgba(245,200,66,.25);}
.avatar-option svg{width:100%;height:100%;}
.auth-bar-avatar{width:24px;height:24px;border-radius:50%;border:1px solid #2a2a44;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;vertical-align:middle;flex-shrink:0;}
.auth-bar-avatar svg{width:100%;height:100%;}
.lb-avatar{width:36px;height:36px;border-radius:50%;border:1px solid #2a2a44;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#0a0a14;}
.lb-avatar svg{width:100%;height:100%;}

/* ══════════════ DUNGEON CSS ══════════════ */
#dungeon-intro{display:none;text-align:center;padding:30px 0;}
.dg-title-big{font-family:'Oswald',sans-serif;font-size:30px;font-weight:700;color:#f5c842;letter-spacing:4px;text-transform:uppercase;margin-bottom:6px;text-shadow:0 0 20px rgba(245,200,66,.4);}
.dg-sub{font-size:11px;color:#f05060;letter-spacing:3px;text-transform:uppercase;margin-bottom:24px;}
.dg-intro-box{background:#13131f;border:1px solid #3a3a66;border-radius:10px;padding:20px 24px;margin:0 auto 24px;max-width:560px;text-align:left;font-size:13px;line-height:1.85;color:#e8e8f5;}
.dg-intro-box strong{color:#f5c842;} .dg-intro-box em{color:#b8b8cc;}
.dg-enter-btn{background:#f05060;border:none;border-radius:8px;padding:16px 44px;font-family:'Oswald',sans-serif;font-size:19px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#fff;cursor:pointer;transition:all .15s;box-shadow:0 0 20px rgba(240,80,96,.4);}
.dg-enter-btn:hover{background:#ff2040;transform:translateY(-2px);box-shadow:0 0 30px rgba(240,80,96,.6);}
#dungeon-screen{display:none;}
.dg-hud{display:flex;align-items:center;justify-content:space-between;background:#0d0d1a;border:1px solid #2a2a44;border-radius:8px;padding:8px 16px;margin-bottom:12px;}
.dg-hud-title{font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;color:#f5c842;letter-spacing:3px;text-transform:uppercase;}
#dungeon-hearts{font-size:22px;letter-spacing:4px;}
.dg-ch-label{font-size:10px;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;}
#dungeon-map-cv{display:block;width:100%;height:48px;margin-bottom:12px;border-radius:6px;}
.dg-chamber{background:#0d0d1a;border:2px solid #3a3a66;border-radius:12px;overflow:hidden;display:flex;margin-bottom:12px;min-height:186px;}
#dungeon-char-cv{display:block;flex-shrink:0;width:186px;height:186px;}
.dg-chamber-right{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px;justify-content:space-between;overflow:hidden;}
.dg-npc-name{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#f5f2e8;line-height:1.1;}
.dg-npc-role{font-size:10px;color:#b8b8cc;letter-spacing:1.5px;text-transform:uppercase;}
.dg-npc-hint{font-size:10px;color:#c8c8d8;margin-top:2px;}
.dg-speech{background:#131320;border:1px solid #3a3a66;border-radius:6px;border-top-left-radius:2px;padding:10px 13px;font-size:12px;line-height:1.7;color:#d0ccb8;font-style:italic;}
.dg-asset{display:inline-block;background:#1a1a2e;border:1px solid #3a3a66;border-radius:4px;padding:4px 10px;font-size:10px;color:#8888aa;letter-spacing:1px;text-transform:uppercase;word-break:break-word;}
.dg-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:12px;}
.dg-btn-in{background:#0d1e14;border:2px solid #42e8a0;border-radius:8px;padding:15px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;color:#42e8a0;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-btn-in:hover:not(:disabled){background:#183028;transform:scale(1.02);}
.dg-btn-out{background:#1e0d0d;border:2px solid #f05060;border-radius:8px;padding:15px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;color:#f05060;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-btn-out:hover:not(:disabled){background:#301818;transform:scale(1.02);}
.dg-btn-in:disabled,.dg-btn-out:disabled{opacity:.55;cursor:default;transform:none;}
.dg-correct{background:#0a2e18!important;border-color:#42e8a0!important;color:#42e8a0!important;box-shadow:0 0 14px rgba(66,232,160,.5)!important;}
.dg-wrong{background:#2e0a0a!important;border-color:#f05060!important;color:#f05060!important;}
.dg-feedback{display:none;border-radius:8px;padding:14px 18px;margin-bottom:12px;font-size:13px;line-height:1.8;animation:fadeIn .3s ease;}
.dg-feedback-ok{border:1px solid #42e8a0;background:#0a1e12;}
.dg-feedback-fail{border:1px solid #f05060;background:#1e0a0a;}
.dg-fb-title{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;margin-bottom:5px;}
.dg-feedback-ok .dg-fb-title{color:#42e8a0;} .dg-feedback-fail .dg-fb-title{color:#f05060;}
.dg-fb-class{font-size:10px;color:#c8c8d8;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;}
.dg-fb-msg{color:#e8e8f5;font-size:12px;}
.dg-next-btn{display:none;width:100%;background:#f5c842;border:none;border-radius:8px;padding:14px;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:2px;color:#0a0a14;cursor:pointer;margin-bottom:12px;transition:all .15s;text-transform:uppercase;}
.dg-next-btn:hover{background:#ffd84e;transform:translateY(-2px);}
#dungeon-result{display:none;text-align:center;padding:24px 0;}
.dg-result-title{font-family:'Oswald',sans-serif;font-size:38px;font-weight:700;margin-bottom:12px;}
.dg-result-score{font-family:'Oswald',sans-serif;font-size:30px;font-weight:700;color:#f5c842;margin:10px 0;}
.dg-result-msg{font-size:13px;line-height:1.9;color:#e8e8f5;max-width:540px;margin:0 auto 24px;background:#13131f;border:1px solid #2a2a44;border-radius:10px;padding:18px 22px;text-align:left;}
.dg-result-btns{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.dg-retry-btn{background:transparent;border:1px solid #f05060;color:#f05060;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:12px 26px;border-radius:8px;cursor:pointer;transition:all .15s;}
.dg-retry-btn:hover{background:#f05060;color:#fff;}
/* ── Scoping Chamber Levels ── */
.dg-level-badge{display:inline-block;background:#1a1a2e;border:1px solid #f05060;border-radius:6px;padding:5px 14px;font-family:'Space Mono',monospace;font-size:10px;color:#f05060;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
.dg-level-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;max-width:420px;margin:0 auto 20px;}
.dg-level-btn{background:#0d0d1a;border:2px solid #2a2a44;border-radius:8px;padding:10px 4px;text-align:center;cursor:pointer;transition:all .15s;position:relative;}
.dg-level-btn:hover:not(.dg-level-locked){border-color:#f05060;box-shadow:0 0 12px rgba(240,80,96,.2);}
.dg-level-btn.dg-level-active{border-color:#f05060;background:#1a0a0a;box-shadow:0 0 16px rgba(240,80,96,.3);}
.dg-level-btn.dg-level-done{border-color:#42e8a0;background:#0a1a0a;}
.dg-level-btn.dg-level-locked{opacity:.35;cursor:default;}
.dg-level-num{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5f2e8;line-height:1;}
.dg-level-btn.dg-level-done .dg-level-num{color:#42e8a0;}
.dg-level-btn.dg-level-locked .dg-level-num{color:#555;}
.dg-level-label{font-family:'Space Mono',monospace;font-size:7px;color:#888;letter-spacing:1px;text-transform:uppercase;margin-top:3px;}
.dg-level-btn.dg-level-done .dg-level-label::after{content:' ✓';color:#42e8a0;}
.dg-level-info{font-family:'Space Mono',monospace;font-size:10px;color:#b8b8cc;letter-spacing:1px;margin-bottom:16px;}
.dg-next-level-btn{background:#42e8a0;border:none;border-radius:8px;padding:14px 30px;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:2px;color:#0a0a14;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-next-level-btn:hover{background:#5cf5b0;transform:translateY(-2px);box-shadow:0 4px 20px rgba(66,232,160,.3);}
/* ── Congrats Screen ── */
#dg-congrats{display:none;text-align:center;padding:30px 0;position:relative;overflow:hidden;}
.dg-congrats-title{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;letter-spacing:4px;margin-bottom:6px;background:linear-gradient(90deg,#f5c842,#f08040,#f05060,#c842f5,#42b4f5,#42e8a0,#f5c842);background-size:400% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:dgRainbow 3s linear infinite;}
@keyframes dgRainbow{0%{background-position:0% 50%}100%{background-position:400% 50%}}
.dg-congrats-sub{font-family:'Space Mono',monospace;font-size:12px;color:#f5c842;letter-spacing:3px;text-transform:uppercase;margin-bottom:20px;animation:dgPulseText 1.5s ease infinite alternate;}
@keyframes dgPulseText{from{opacity:.6;text-shadow:0 0 8px rgba(245,200,66,.3)}to{opacity:1;text-shadow:0 0 20px rgba(245,200,66,.6)}}
.dg-congrats-msg{font-size:13px;line-height:1.9;color:#e8e8f5;max-width:540px;margin:0 auto 24px;background:#13131f;border:1px solid #2a2a44;border-radius:10px;padding:18px 22px;text-align:left;}
#dg-congrats-cv{display:block;margin:0 auto 20px;image-rendering:pixelated;border-radius:8px;}
.dg-congrats-stars{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;overflow:hidden;}
.dg-star{position:absolute;font-size:18px;animation:dgStarFall linear forwards;opacity:0;}
@keyframes dgStarFall{0%{opacity:0;transform:translateY(-20px) rotate(0deg)}10%{opacity:1}90%{opacity:1}100%{opacity:0;transform:translateY(100vh) rotate(720deg)}}
.dg-congrats-crt{position:absolute;top:0;left:0;right:0;bottom:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.06) 0px,rgba(0,0,0,.06) 1px,transparent 1px,transparent 3px);z-index:1;}
/* D-pad */
@keyframes dgShake{0%,100%{transform:translateX(0)}15%{transform:translateX(-6px) rotate(-0.5deg)}30%{transform:translateX(6px) rotate(0.5deg)}45%{transform:translateX(-5px)}60%{transform:translateX(4px)}75%{transform:translateX(-2px)}90%{transform:translateX(1px)}}
#dg-dpad{display:none;flex-direction:column;align-items:center;gap:3px;padding:8px 0;user-select:none;}
@media (pointer:coarse){#dg-dpad{display:flex;}}
.dpad-row{display:flex;gap:3px;}
.dpad-btn{width:44px;height:44px;background:#13131f;border:1px solid #2a2a44;border-radius:6px;color:#b8b8cc;font-size:18px;cursor:pointer;touch-action:none;display:flex;align-items:center;justify-content:center;transition:background .1s;}
.dpad-btn:active,.dpad-btn.pressed{background:#2a2a44;color:#f5c842;}
/* ── Evidence Intel Items ── */
.dg-intel-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(8,4,20,0.98);border:2px solid #42b4f5;border-radius:12px;padding:20px 24px;max-width:400px;width:90%;z-index:200;animation:dgIntelAppear 0.4s ease;box-shadow:0 0 40px rgba(66,180,245,.3);}
@keyframes dgIntelAppear{from{opacity:0;transform:translate(-50%,-50%) scale(0.85)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.dg-intel-icon{font-size:32px;text-align:center;margin-bottom:8px;}
.dg-intel-label{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;color:#42b4f5;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:10px;}
.dg-intel-text{background:#0a1420;border:1px solid #2a4466;border-left:3px solid #42b4f5;border-radius:6px;padding:12px 14px;font-size:11px;line-height:1.8;color:#c8dce8;font-style:italic;margin-bottom:12px;}
.dg-intel-hint{font-size:9px;color:#6688aa;letter-spacing:1px;text-transform:uppercase;text-align:center;margin-bottom:10px;}
.dg-intel-dismiss{display:block;width:100%;background:#42b4f5;border:none;border-radius:6px;padding:10px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:#0a0a14;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-intel-dismiss:hover{background:#5cc8ff;transform:translateY(-1px);}
/* ── Power-up Items ── */
.dg-powerup-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(8,4,20,0.98);border:2px solid #c842f5;border-radius:12px;padding:20px 24px;max-width:360px;width:90%;z-index:200;animation:dgIntelAppear 0.4s ease;box-shadow:0 0 40px rgba(200,66,245,.3);text-align:center;}
.dg-powerup-icon{font-size:36px;margin-bottom:8px;}
.dg-powerup-label{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}
.dg-powerup-desc{font-size:11px;color:#c8c8d8;line-height:1.7;margin-bottom:12px;}
.dg-powerup-dismiss{display:block;width:100%;background:#c842f5;border:none;border-radius:6px;padding:10px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:#fff;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-powerup-dismiss:hover{background:#d866ff;transform:translateY(-1px);}
/* ── Easter Egg Popups ── */
.dg-egg-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(20,14,4,0.98);border:2px solid #d4a24e;border-radius:12px;padding:22px 26px;max-width:400px;width:90%;z-index:200;animation:dgEggAppear 0.5s ease;box-shadow:0 0 50px rgba(212,162,78,.4),0 0 100px rgba(212,162,78,.15);text-align:center;}
@keyframes dgEggAppear{from{opacity:0;transform:translate(-50%,-50%) scale(0.6) rotate(-5deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
.dg-egg-banner{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#d4a24e;margin-bottom:10px;animation:dgEggPulse 1.4s ease infinite alternate;}
@keyframes dgEggPulse{from{text-shadow:0 0 8px rgba(212,162,78,.3)}to{text-shadow:0 0 20px rgba(212,162,78,.8),0 0 40px rgba(212,162,78,.3)}}
.dg-egg-icon{font-size:42px;margin-bottom:8px;animation:dgEggBounce 0.6s ease;}
@keyframes dgEggBounce{0%{transform:scale(0)}50%{transform:scale(1.3)}100%{transform:scale(1)}}
.dg-egg-label{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.dg-egg-desc{font-size:11px;color:#d8c8a8;line-height:1.8;margin-bottom:12px;font-style:italic;}
.dg-egg-points{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:#ffd700;letter-spacing:2px;margin-bottom:14px;text-shadow:0 0 10px rgba(255,215,0,.4);}
.dg-egg-dismiss{display:block;width:100%;background:linear-gradient(135deg,#d4a24e,#b8862e);border:none;border-radius:6px;padding:10px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:#fff;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-egg-dismiss:hover{background:linear-gradient(135deg,#e8b85e,#d4a24e);transform:translateY(-1px);box-shadow:0 4px 16px rgba(212,162,78,.4);}
/* ── Power-up HUD Inventory ── */
.dg-powerup-inv{display:flex;gap:4px;align-items:center;}
.dg-inv-item{background:#1a1a2e;border:1px solid #3a3a66;border-radius:4px;padding:2px 6px;font-size:13px;cursor:default;transition:all .15s;opacity:0.35;}
.dg-inv-item.dg-inv-active{opacity:1;border-color:#c842f5;box-shadow:0 0 8px rgba(200,66,245,.3);cursor:help;}
/* ── Trap Tiles ── */
.dg-trap-popup{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:rgba(20,4,4,0.98);border:2px solid #f08040;border-radius:12px;padding:20px 24px;max-width:420px;width:90%;z-index:200;animation:dgTrapAppear 0.3s ease;box-shadow:0 0 40px rgba(240,128,64,.3);}
@keyframes dgTrapAppear{from{opacity:0;transform:translate(-50%,-50%) scale(1.1)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
.dg-trap-banner{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#f08040;text-align:center;margin-bottom:10px;animation:dgDiscoveryPulse 1.2s ease infinite alternate;}
.dg-trap-myth{background:#1a0a04;border:1px solid #663320;border-left:3px solid #f08040;border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.75;color:#f5d8c0;font-style:italic;margin-bottom:12px;}
.dg-trap-btns{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.dg-trap-btn{border:2px solid;border-radius:8px;padding:12px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;cursor:pointer;transition:all .15s;text-transform:uppercase;background:transparent;}
.dg-trap-true{border-color:#42e8a0;color:#42e8a0;}.dg-trap-true:hover{background:#0a1e14;}
.dg-trap-false{border-color:#f05060;color:#f05060;}.dg-trap-false:hover{background:#1e0a0a;}
.dg-trap-fb{border-radius:6px;padding:12px 14px;font-size:11px;line-height:1.75;margin-bottom:10px;display:none;}
.dg-trap-fb-ok{background:#0a1e12;border:1px solid #42e8a0;color:#c8f5d8;}
.dg-trap-fb-fail{background:#1e0a0a;border:1px solid #f05060;color:#f5c8c8;}
.dg-trap-dismiss{display:block;width:100%;background:#f08040;border:none;border-radius:6px;padding:10px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;color:#fff;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-trap-dismiss:hover{background:#ff9955;transform:translateY(-1px);}
/* ── Achievement Badges ── */
.dg-badges-section{max-width:560px;margin:0 auto 20px;text-align:left;}
.dg-badges-title{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;color:#c842f5;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;text-align:center;}
.dg-badges-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px;}
.dg-badge-card{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:10px 12px;text-align:center;transition:all .3s;opacity:0.35;}
.dg-badge-card.dg-badge-earned{opacity:1;border-color:#c842f5;background:#1a0a2a;box-shadow:0 0 12px rgba(200,66,245,.15);animation:dgBadgeEarn 0.6s ease;}
@keyframes dgBadgeEarn{0%{transform:scale(1)}50%{transform:scale(1.12)}100%{transform:scale(1)}}
.dg-badge-icon{font-size:28px;margin-bottom:4px;}
.dg-badge-name{font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;color:#e8e8f5;letter-spacing:1px;text-transform:uppercase;margin-bottom:2px;}
.dg-badge-desc{font-size:8px;color:#8888aa;letter-spacing:0.5px;line-height:1.4;}
.dg-badge-card.dg-badge-earned .dg-badge-name{color:#c842f5;}
/* ── Assessor Rank Display ── */
.dg-rank-display{text-align:center;margin-bottom:16px;}
.dg-rank-bar{background:#1a1a2e;border:1px solid #2a2a44;border-radius:20px;height:12px;max-width:400px;margin:6px auto 4px;overflow:hidden;}
.dg-rank-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#42b4f5,#c842f5);transition:width 1s ease;box-shadow:0 0 8px rgba(66,180,245,.4);}
.dg-rank-title{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;}
.dg-rank-sub{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;letter-spacing:1px;}
/* ── New Badge Notification ── */
.dg-badge-notify{position:fixed;top:20px;right:20px;background:rgba(26,10,42,0.97);border:2px solid #c842f5;border-radius:10px;padding:14px 20px;z-index:300;animation:dgBadgeNotifyIn 0.5s ease,dgBadgeNotifyOut 0.5s ease 3s forwards;display:flex;align-items:center;gap:10px;box-shadow:0 0 30px rgba(200,66,245,.4);}
@keyframes dgBadgeNotifyIn{from{opacity:0;transform:translateX(60px)}to{opacity:1;transform:translateX(0)}}
@keyframes dgBadgeNotifyOut{from{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(60px)}}
/* ── Discovery Event Overlay ── */
.dg-discovery-overlay{display:none;position:absolute;top:0;left:0;right:0;bottom:0;background:rgba(8,4,20,0.97);border-radius:8px;padding:16px 18px;flex-direction:column;gap:10px;overflow-y:auto;z-index:12;}
.dg-discovery-banner{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#ff9900;text-align:center;padding:6px 0;animation:dgDiscoveryPulse 1.2s ease infinite alternate;}
@keyframes dgDiscoveryPulse{from{text-shadow:0 0 8px rgba(255,153,0,.3);opacity:.8}to{text-shadow:0 0 20px rgba(255,153,0,.7);opacity:1}}
@keyframes dgInterruptSlide{from{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}
.dg-discovery-evidence{background:#1a1508;border:1px solid #ff9900;border-left:3px solid #ff9900;border-radius:6px;padding:12px 14px;font-size:12px;line-height:1.75;color:#f5e8c0;font-style:italic;}
.dg-discovery-context{font-size:11px;color:#c8c8d8;line-height:1.7;padding:6px 0;}
.dg-discovery-context strong{color:#ff9900;}
.dg-discovery-question{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:#f5f2e8;line-height:1.4;padding:4px 0;}
.dg-btn-in-disc{background:#0d1e14;border:2px solid #42e8a0;border-radius:8px;padding:14px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;color:#42e8a0;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-btn-in-disc:hover:not(:disabled){background:#183028;transform:scale(1.02);}
.dg-btn-out-disc{background:#1e0d0d;border:2px solid #f05060;border-radius:8px;padding:14px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;color:#f05060;cursor:pointer;transition:all .15s;text-transform:uppercase;}
.dg-btn-out-disc:hover:not(:disabled){background:#301818;transform:scale(1.02);}
.dg-btn-in-disc:disabled,.dg-btn-out-disc:disabled{opacity:.55;cursor:default;transform:none;}
.dg-discovery-fb{display:none;border-radius:8px;padding:14px 18px;font-size:13px;line-height:1.8;animation:fadeIn .3s ease;}
.dg-discovery-fb.dg-feedback-ok{border:1px solid #42e8a0;background:#0a1e12;}
.dg-discovery-fb.dg-feedback-fail{border:1px solid #f05060;background:#1e0a0a;}
/* Dungeon canvas wrapper */
#dg-canvas-wrap{position:relative;display:block;width:100%;text-align:center;}
#dg-canvas{display:block;margin:0 auto;border:2px solid #2a2a44;border-radius:8px;cursor:none;image-rendering:pixelated;}
#dg-talk-prompt{position:absolute;bottom:14px;left:50%;transform:translateX(-50%);white-space:nowrap;z-index:10;}
.dg-talk-btn{background:#f5c842;border:none;border-radius:6px;padding:10px 20px;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;color:#0a0a14;cursor:pointer;box-shadow:0 0 16px rgba(245,200,66,.5);animation:talkPulse .9s ease infinite alternate;}
@keyframes talkPulse{from{box-shadow:0 0 10px rgba(245,200,66,.4)}to{box-shadow:0 0 24px rgba(245,200,66,.8)}}
/* Interact panel */
#dg-interact-panel{background:#0d0d1a;border:2px solid #3a3a66;border-radius:12px;padding:16px;margin-top:12px;display:none;}
.dg-portrait-wrap{display:flex;gap:14px;margin-bottom:12px;}
#dg-npc-cv{flex-shrink:0;border-radius:8px 0 0 8px;background:#0a0a14;}

/* ══ SCORE CARD ══ */
#scorecard-canvas{display:block;border-radius:12px;max-width:100%;height:auto;}
#scorecard-wrap{display:none;text-align:center;margin:0 auto 20px;max-width:560px;}
.sc-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:12px;}
.sc-copy-btn{background:#13131f;border:1px solid #42e8a0;color:#42e8a0;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:10px 22px;border-radius:6px;cursor:pointer;transition:all .15s;}
.sc-copy-btn:hover{background:#0f2a10;}
.sc-dl-btn{background:#13131f;border:1px solid #f5c842;color:#f5c842;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:10px 22px;border-radius:6px;cursor:pointer;transition:all .15s;}
.sc-dl-btn:hover{background:#1a1400;}
.sc-share-btn{background:linear-gradient(135deg,#1a0a2a,#0a1a2a);border:1px solid #c842f5;color:#c842f5;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:10px 22px;border-radius:6px;cursor:pointer;transition:all .15s;}
.sc-share-btn:hover{background:linear-gradient(135deg,#2a1040,#0a2040);box-shadow:0 0 14px rgba(200,66,245,.3);}

/* ══ SCREEN SHAKE / COUNTDOWN DRAMA ══ */
@keyframes screenShake1{0%,100%{transform:translate(0,0)}10%{transform:translate(-2px,1px)}30%{transform:translate(2px,-1px)}50%{transform:translate(-1px,2px)}70%{transform:translate(1px,-1px)}90%{transform:translate(-1px,0)}}
@keyframes screenShake2{0%,100%{transform:translate(0,0)}10%{transform:translate(-4px,2px)}20%{transform:translate(4px,-3px)}30%{transform:translate(-3px,4px)}40%{transform:translate(3px,-2px)}50%{transform:translate(-5px,3px)}60%{transform:translate(4px,-4px)}70%{transform:translate(-3px,2px)}80%{transform:translate(5px,-3px)}90%{transform:translate(-2px,1px)}}
@keyframes screenShake3{0%,100%{transform:translate(0,0)}5%{transform:translate(-6px,3px) rotate(-0.3deg)}15%{transform:translate(7px,-4px) rotate(0.4deg)}25%{transform:translate(-5px,6px) rotate(-0.2deg)}35%{transform:translate(8px,-3px) rotate(0.3deg)}45%{transform:translate(-7px,5px) rotate(-0.4deg)}55%{transform:translate(6px,-6px) rotate(0.3deg)}65%{transform:translate(-8px,4px) rotate(-0.3deg)}75%{transform:translate(5px,-5px) rotate(0.2deg)}85%{transform:translate(-4px,3px)}95%{transform:translate(3px,-2px)}}
.content.shake-gentle{animation:screenShake1 .4s ease;}
.content.shake-medium{animation:screenShake2 .5s ease;}
.content.shake-heavy{animation:screenShake3 .6s ease;}
.countdown-boom{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Oswald',sans-serif;font-weight:700;font-size:120px;color:#f05060;pointer-events:none;z-index:998;opacity:0;animation:countdownBoom .8s ease forwards;text-shadow:0 0 40px rgba(240,80,96,.6),0 0 80px rgba(240,80,96,.3);}
@keyframes countdownBoom{0%{opacity:0;transform:translate(-50%,-50%) scale(3)}15%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.1)}100%{opacity:0;transform:translate(-50%,-50%) scale(0.8)}}
.vignette-danger{position:fixed;inset:0;pointer-events:none;z-index:997;opacity:0;transition:opacity .3s;background:radial-gradient(ellipse at center,transparent 50%,rgba(240,80,96,.25) 100%);}
.vignette-danger.active{opacity:1;}

/* ══ DOMAIN DRILL ══ */
.dd-card{background:#13131f;border:2px solid #2a2a44;border-radius:12px;padding:16px 14px;cursor:pointer;transition:all .2s;text-align:left;position:relative;overflow:hidden;}
.dd-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;}
.dd-card.dd-scope::before{background:#42b4f5;}.dd-card.dd-reg::before{background:#f5c842;}.dd-card.dd-exec::before{background:#42e8a0;}.dd-card.dd-trick::before{background:#f08040;}.dd-card.dd-encrypt::before{background:#c842f5;}
.dd-card:hover{transform:translateY(-3px);}
.dd-card.dd-scope:hover{border-color:#42b4f5;box-shadow:0 6px 20px rgba(66,180,245,.2);}
.dd-card.dd-reg:hover{border-color:#f5c842;box-shadow:0 6px 20px rgba(245,200,66,.2);}
.dd-card.dd-exec:hover{border-color:#42e8a0;box-shadow:0 6px 20px rgba(66,232,160,.2);}
.dd-card.dd-trick:hover{border-color:#f08040;box-shadow:0 6px 20px rgba(240,128,64,.2);}
.dd-card.dd-encrypt:hover{border-color:#c842f5;box-shadow:0 6px 20px rgba(200,66,245,.2);}
.dd-name{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;margin:6px 0 4px;}
.dd-tag{font-size:9px;letter-spacing:1.5px;text-transform:uppercase;font-family:'Space Mono',monospace;}
.dd-desc{font-size:11px;color:#b8b8cc;margin-top:6px;line-height:1.5;}
.dd-acc{font-family:'Space Mono',monospace;font-size:9px;margin-top:6px;}
.dd-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.dd-grid > :last-child:nth-child(odd){grid-column:1 / -1;}
.dd-grid-single{grid-template-columns:1fr;margin-top:10px;}
.dd-grid-single > :last-child:nth-child(odd){grid-column:auto;}

/* ══ QUESTION SUBMISSION PIPELINE ══ */
#submit-overlay{position:fixed;inset:0;background:#000000f0;z-index:900;display:none;overflow-y:auto;padding:24px 16px;}
#submit-inner{max-width:680px;margin:0 auto;padding-bottom:60px;}
.sub-title{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:#f5c842;letter-spacing:3px;margin-bottom:4px;}
.sub-intro{font-family:'Space Mono',monospace;font-size:10px;color:#b8b8cc;line-height:1.7;margin-bottom:20px;}
.sub-field{margin-bottom:16px;}
.sub-label{font-family:'Space Mono',monospace;font-size:10px;color:#9090aa;letter-spacing:1px;text-transform:uppercase;margin-bottom:6px;display:block;}
.sub-label span{color:#f05060;}
.sub-input,.sub-select,.sub-textarea{width:100%;background:#0d0d1a;border:1px solid #2a2a44;border-radius:6px;color:#f5f2e8;font-family:'Space Mono',monospace;font-size:12px;padding:10px 12px;box-sizing:border-box;transition:border-color .15s;}
.sub-input:focus,.sub-select:focus,.sub-textarea:focus{outline:none;border-color:#f5c842;}
.sub-select{appearance:none;cursor:pointer;}
.sub-textarea{resize:vertical;min-height:72px;line-height:1.6;}
.sub-opts-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.sub-opt-row{display:flex;align-items:center;gap:8px;}
.sub-opt-letter{font-family:'Oswald',sans-serif;font-size:14px;color:#555577;flex-shrink:0;width:16px;}
.sub-ans-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:6px;}
.sub-ans-btn{background:#13131f;border:1px solid #2a2a44;border-radius:4px;padding:6px 14px;font-family:'Space Mono',monospace;font-size:11px;color:#b8b8cc;cursor:pointer;transition:all .15s;}
.sub-ans-btn.selected{background:#0f2a10;border-color:#42e8a0;color:#42e8a0;}
.sub-preview{background:#0d0d1a;border:1px solid #3a3a66;border-radius:10px;padding:18px 20px;margin-top:20px;display:none;}
.sub-preview-title{font-family:'Space Mono',monospace;font-size:9px;color:#f08040;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
.sub-preview-content{font-family:'Space Mono',monospace;font-size:10px;color:#9090aa;line-height:1.9;white-space:pre-wrap;word-break:break-all;}
.sub-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;}
.sub-submit-btn{background:#0f2a10;border:1px solid #42e8a0;color:#42e8a0;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:11px 22px;border-radius:6px;cursor:pointer;transition:all .15s;}
.sub-submit-btn:hover{background:#142a14;}
.sub-copy-btn{background:#13131f;border:1px solid #f5c842;color:#f5c842;font-family:'Space Mono',monospace;font-size:11px;letter-spacing:1px;padding:11px 22px;border-radius:6px;cursor:pointer;transition:all .15s;}
.sub-copy-btn:hover{background:#1a1400;}
.sub-note{font-family:'Space Mono',monospace;font-size:9px;color:#444466;line-height:1.7;margin-top:10px;}

/* ══ TABLET RESPONSIVE ══ */
@media (max-width: 900px) and (min-width: 601px) {
  .ls-cards { gap: 10px; }
  .ls-card { padding: 16px 14px; }
  .lc-desc { font-size: 11px; }
}

/* ══ MOBILE RESPONSIVE ══ */
@media (max-width: 600px) {
  /* Layout */
  .content { padding: 0 12px; }
  h1 { font-size: clamp(36px, 12vw, 72px); letter-spacing: 4px; }
  .subtitle { font-size: 11px; letter-spacing: 1px; }

  /* Level select — stack cards single column */
  .ls-cards { grid-template-columns: 1fr; gap: 10px; }
  .ls-card { padding: 16px 14px; }
  .lc-icon { font-size: 24px; }
  .lc-name { font-size: 18px; }
  .lc-desc { font-size: 11px; }
  .ls-heading { font-size: 22px; }
  .ls-card.hottake { flex-direction: column; align-items: flex-start; gap: 10px; }
  .ls-card.evtri { flex-direction: column; align-items: flex-start; gap: 10px; }
  .dd-grid { grid-template-columns: 1fr; }

  /* HUD — tighter */
  .hud { gap: 12px; padding: 10px 0; flex-wrap: wrap; justify-content: center; }
  .hud-value { font-size: 22px; }

  /* Question card */
  #q-card { padding: 16px 14px; }
  #q-text { font-size: 13px; }
  .option-btn { font-size: 11px; padding: 11px 12px; }
  .multi-label { font-size: 11px; padding: 10px 12px; }
  .category-badge { font-size: 8px; }
  .diff-stars { font-size: 12px; }

  /* Clock */
  .clock-num { font-size: 32px; min-width: 42px; }
  .clock-bar { height: 6px; }

  /* Power-up bar */
  .powerup-bar { gap: 6px; }
  .pu-btn { min-width: 70px; padding: 6px 8px; font-size: 9px; }
  .pu-icon { font-size: 16px; }

  /* Final screen */
  .final-score-num { font-size: clamp(42px, 14vw, 80px); }
  .final-rank { font-size: 22px; }
  .final-verdict { font-size: 12px; padding: 14px 16px; }
  .final-breakdown { gap: 16px; }
  .breakdown-num { font-size: 28px; }
  .breakdown-lbl { font-size: 8px; }

  /* Buttons */
  .restart-btn { font-size: 10px; padding: 10px 14px; }
  .back-to-menu-btn { font-size: 10px; padding: 6px 14px; }
  #review-btn { font-size: 10px; }

  /* Hot Take */
  .ht-ring-wrap { width: 58px; height: 58px; }
  .ht-ring-wrap svg { width: 58px; height: 58px; }
  .ht-ring-num { font-size: 18px; }
  .ht-streak-num { font-size: 22px; }
  .ht-scenario { font-size: 12px; padding: 16px 14px; min-height: 80px; }
  .ht-btn { font-size: 16px; padding: 16px 8px; }
  .ht-final-grade { font-size: 52px; }

  /* Review overlay */
  #review-overlay { padding: 16px 10px; }
  .review-card { padding: 14px 14px; }
  .review-q-text { font-size: 12px; }
  .review-praise { font-size: 11px; }

  /* Weakness panel */
  #weakness-panel { padding: 14px 14px; }
  .wp-label { width: 90px; font-size: 9px; }

  /* Leaderboard */
  .lb-inner { padding: 0 4px; }
  .lb-name { font-size: 13px; }
  .lb-score { font-size: 13px; }

  /* Dungeon */
  #dungeon-cv { max-width: 100%; }
  .dg-intro-box { padding: 14px 14px; font-size: 12px; }
  .dg-btns { grid-template-columns: 1fr 1fr; gap: 8px; }
  .dg-result-msg { font-size: 12px; padding: 14px 14px; }

  /* Submission form */
  .sub-opts-grid { grid-template-columns: 1fr; }
  #submit-inner { padding-bottom: 40px; }
  .sub-title { font-size: 20px; }

  /* Daily challenge */
  #dc-overlay { padding: 16px 10px; }
  #dc-inner { padding-bottom: 40px; }
  .dc-scenario { font-size: 12px; padding: 16px 14px; }
  .dc-btn { font-size: 13px; padding: 13px 10px; }

  /* Progress row */
  .prog-dot { width: 8px; height: 8px; }

  /* Carl speech */
  #carl-speech { width: 96%; font-size: 10px; }

  /* Boss banner */
  #boss-banner { font-size: 11px; padding: 6px; }

  /* Feedback box */
  .feedback-box { padding: 14px 14px; }
  .feedback-title { font-size: 13px; }
  .feedback-explanation { font-size: 11px; }

  /* Name modal */
  .nm-box { padding: 20px 16px; }
  .nm-title { font-size: 20px; }
  #nm-input { font-size: 14px; padding: 12px; }

  /* Footer */
  footer { font-size: 9px; padding: 12px 10px; line-height: 1.8; text-align: center; }

  /* Boot screen */
  #boot-title { font-size: clamp(36px, 14vw, 72px); }
  #boot-log { font-size: 9px; min-height: 90px; }
  #boot-inner { gap: 12px; padding: 16px; }
}

@media (max-width: 400px) {
  .ls-cards { gap: 8px; }
  .ht-buttons { grid-template-columns: 1fr; gap: 8px; }
  .ht-btn { padding: 14px 8px; font-size: 15px; }
  .final-breakdown { gap: 10px; }
  .hud { gap: 8px; }
}
/* ── Auth Modal & Account UI ── */
.auth-bar { display:flex; justify-content:center; align-items:center; gap:10px; margin-bottom:16px; }
.auth-bar-btn { background:transparent; border:1px solid #2a2a44; color:#b8b8cc; font-family:'Space Mono',monospace; font-size:10px; letter-spacing:1px; text-transform:uppercase; padding:6px 16px; border-radius:4px; cursor:pointer; transition:all .2s; }
.auth-bar-btn:hover { border-color:#42e8c8; color:#42e8c8; }
.auth-bar-btn.logout { border-color:#f05060; color:#f05060; }
.auth-bar-user { font-size:10px; color:#42e8c8; letter-spacing:1px; }
.auth-bar-tier { font-size:9px; padding:2px 8px; border-radius:3px; letter-spacing:1px; text-transform:uppercase; font-family:'Oswald',sans-serif; }
.tier-free { background:#1a1a28; color:#8888aa; border:1px solid #2a2a44; }
.tier-paid { background:#1a2a1a; color:#42e8a0; border:1px solid #42e8a0; }
#auth-modal { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.85); z-index:1000; justify-content:center; align-items:center; }
#auth-modal.open { display:flex; }
.auth-box { background:#13131f; border:1px solid #2a2a44; border-radius:10px; padding:32px 28px; max-width:380px; width:90%; }
.auth-box h2 { font-family:'Oswald',sans-serif; color:#f5c842; font-size:22px; letter-spacing:2px; text-transform:uppercase; margin-bottom:4px; }
.auth-box .auth-sub { font-size:10px; color:#8888aa; letter-spacing:1px; margin-bottom:20px; }
.auth-field { display:block; width:100%; background:#0a0a14; border:1px solid #2a2a44; color:#f5f2e8; font-family:'Space Mono',monospace; font-size:13px; padding:10px 14px; border-radius:5px; margin-bottom:12px; outline:none; }
.auth-field:focus { border-color:#42e8c8; }
.auth-submit { width:100%; background:#42e8c8; color:#0a0a14; border:none; font-family:'Oswald',sans-serif; font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:12px; border-radius:5px; cursor:pointer; transition:background .2s; }
.auth-submit:hover { background:#5ff0d5; }
.auth-submit:disabled { background:#2a2a44; color:#555; cursor:not-allowed; }
.auth-error { color:#f05060; font-size:11px; margin-bottom:10px; display:none; }
.auth-switch { color:#8888aa; font-size:11px; text-align:center; margin-top:14px; }
.auth-switch a { color:#42e8c8; cursor:pointer; text-decoration:underline; }
.auth-close { position:absolute; top:16px; right:20px; background:none; border:none; color:#8888aa; font-size:24px; cursor:pointer; }
.auth-close:hover { color:#f5f2e8; }
.premium-lock { position:relative; cursor:pointer; }
.premium-lock::after { content:'🔒'; position:absolute; top:8px; right:10px; font-size:16px; opacity:.7; }
.premium-lock .lc-desc::after, .premium-lock .dd-desc::after { content:' (Requires login)'; color:#f5c842; font-style:italic; }
.premium-lock.premium-lock-upgrade .lc-desc::after, .premium-lock.premium-lock-upgrade .dd-desc::after { content:' (Upgrade to unlock — from $29/yr)'; color:#f5c842; font-style:italic; }
/* ── Pricing Banner (free users) ── */
#pricing-banner { display:none; margin:0 auto 20px; max-width:640px; background:linear-gradient(135deg,#1a1a2e 0%,#13131f 50%,#1a1a2e 100%); border:1px solid #f5c84244; border-radius:10px; padding:16px 24px; text-align:center; position:relative; overflow:hidden; }
#pricing-banner::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,#f5c842,transparent); }
#pricing-banner.visible { display:block; animation:pricingFadeIn .5s ease-out; }
@keyframes pricingFadeIn { from{opacity:0;transform:translateY(-10px);} to{opacity:1;transform:translateY(0);} }
.pricing-banner-title { font-family:'Oswald',sans-serif; color:#f5c842; font-size:14px; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.pricing-banner-plans { display:flex; justify-content:center; gap:20px; margin-bottom:10px; flex-wrap:wrap; }
.pricing-banner-plan { display:flex; align-items:baseline; gap:4px; }
.pricing-banner-price { font-family:'Oswald',sans-serif; color:#42e8c8; font-size:22px; font-weight:700; }
.pricing-banner-period { font-size:11px; color:#8888aa; letter-spacing:1px; }
.pricing-banner-label { font-size:9px; color:#b8b8cc; letter-spacing:1px; text-transform:uppercase; display:block; margin-bottom:2px; }
.pricing-banner-save { font-size:9px; color:#42e8a0; letter-spacing:1px; background:#42e8a018; padding:1px 6px; border-radius:3px; margin-left:4px; }
.pricing-banner-cta { display:inline-block; background:#f5c842; color:#0a0a14; font-family:'Oswald',sans-serif; font-size:13px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:8px 28px; border-radius:5px; cursor:pointer; border:none; transition:all .2s; }
.pricing-banner-cta:hover { background:#f7d560; transform:scale(1.03); }
.pricing-banner-dismiss { position:absolute; top:6px; right:10px; background:none; border:none; color:#55557788; font-size:14px; cursor:pointer; padding:4px; }
.pricing-banner-dismiss:hover { color:#8888aa; }
/* ── Upgrade button style (replaces tiny text) ── */
.auth-bar-upgrade-btn { background:#f5c84222; border:1px solid #f5c842; color:#f5c842; font-family:'Oswald',sans-serif; font-size:11px; letter-spacing:2px; text-transform:uppercase; padding:5px 14px; border-radius:4px; cursor:pointer; transition:all .2s; animation:upgradeGlow 2s ease-in-out infinite; }
.auth-bar-upgrade-btn:hover { background:#f5c84444; transform:scale(1.05); }
@keyframes upgradeGlow { 0%,100%{box-shadow:0 0 4px #f5c84233;} 50%{box-shadow:0 0 12px #f5c84266;} }
/* ── Price hint on locked cards ── */
.lock-price-hint { position:absolute; bottom:8px; left:0; right:0; text-align:center; font-size:10px; color:#f5c842; letter-spacing:1px; font-family:'Space Mono',monospace; opacity:.85; }
.lock-price-hint strong { color:#42e8c8; font-weight:700; }
/* ── Upgrade / Pricing Modal ── */
#upgrade-modal { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.88); z-index:1001; justify-content:center; align-items:center; }
#upgrade-modal.open { display:flex; }
.upgrade-box { background:#13131f; border:1px solid #2a2a44; border-radius:12px; padding:36px 28px; max-width:520px; width:92%; position:relative; }
.upgrade-box h2 { font-family:'Oswald',sans-serif; color:#f5c842; font-size:24px; letter-spacing:2px; text-transform:uppercase; margin-bottom:4px; text-align:center; }
.upgrade-sub { font-size:11px; color:#8888aa; letter-spacing:1px; text-align:center; margin-bottom:24px; }
.upgrade-plans { display:grid; grid-template-columns:1fr 1fr 1fr; gap:14px; margin-bottom:20px; }
.upgrade-plan { background:#0a0a14; border:2px solid #2a2a44; border-radius:10px; padding:20px 16px; cursor:pointer; transition:all .25s; text-align:center; position:relative; }
.upgrade-plan:hover { border-color:#42e8c8; transform:translateY(-2px); }
.upgrade-plan.selected { border-color:#42e8c8; background:#0d1a1a; }
.upgrade-plan.popular::before { content:'BEST VALUE'; position:absolute; top:-10px; left:50%; transform:translateX(-50%); background:#f5c842; color:#0a0a14; font-family:'Oswald',sans-serif; font-size:9px; letter-spacing:2px; padding:2px 12px; border-radius:3px; }
.plan-name { font-family:'Oswald',sans-serif; color:#f5f2e8; font-size:18px; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
.plan-price { font-family:'Oswald',sans-serif; color:#42e8c8; font-size:32px; font-weight:700; margin-bottom:2px; }
.plan-price span { font-size:14px; color:#8888aa; font-weight:400; }
.plan-save { font-size:10px; color:#42e8a0; letter-spacing:1px; margin-bottom:10px; min-height:16px; }
.plan-features { font-size:10px; color:#b8b8cc; line-height:1.8; text-align:left; padding:0 4px; }
.plan-features div::before { content:'✓ '; color:#42e8c8; }
.upgrade-cta { width:100%; background:#42e8c8; color:#0a0a14; border:none; font-family:'Oswald',sans-serif; font-size:16px; font-weight:700; letter-spacing:2px; text-transform:uppercase; padding:14px; border-radius:6px; cursor:pointer; transition:background .2s; }
.upgrade-cta:hover { background:#5ff0d5; }
.upgrade-cta:disabled { background:#2a2a44; color:#555; cursor:not-allowed; }
.upgrade-close { position:absolute; top:14px; right:18px; background:none; border:none; color:#8888aa; font-size:24px; cursor:pointer; }
.upgrade-close:hover { color:#f5f2e8; }
.upgrade-error { color:#f05060; font-size:11px; text-align:center; margin-bottom:10px; display:none; }
.upgrade-footer { text-align:center; margin-top:14px; font-size:10px; color:#555577; }
.upgrade-footer a { color:#42e8c8; cursor:pointer; text-decoration:underline; }
/* ── Bulk License Modal ── */
#bulk-modal { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.88); z-index:1002; justify-content:center; align-items:center; }
#bulk-modal.open { display:flex; }
.bulk-box { background:#13131f; border:1px solid #2a2a44; border-radius:12px; padding:36px 28px; max-width:480px; width:92%; position:relative; }
.bulk-box h2 { font-family:'Oswald',sans-serif; color:#f5c842; font-size:24px; letter-spacing:2px; text-transform:uppercase; margin-bottom:4px; text-align:center; }
.bulk-sub { font-size:11px; color:#8888aa; letter-spacing:1px; text-align:center; margin-bottom:24px; }
.bulk-qty-row { display:flex; align-items:center; justify-content:center; gap:16px; margin-bottom:20px; }
.bulk-qty-row label { font-family:'Oswald',sans-serif; color:#f5f2e8; font-size:14px; letter-spacing:1px; text-transform:uppercase; }
.bulk-qty-input { width:80px; background:#0a0a14; border:2px solid #2a2a44; border-radius:6px; color:#f5f2e8; font-family:'Space Mono',monospace; font-size:18px; text-align:center; padding:8px; outline:none; }
.bulk-qty-input:focus { border-color:#42e8c8; }
.bulk-pricing { background:#0a0a14; border:1px solid #2a2a44; border-radius:8px; padding:16px; margin-bottom:20px; font-size:11px; color:#b8b8cc; letter-spacing:0.5px; }
.bulk-pricing-row { display:flex; justify-content:space-between; margin-bottom:6px; }
.bulk-pricing-row.total { border-top:1px solid #2a2a44; padding-top:8px; margin-top:8px; font-family:'Oswald',sans-serif; font-size:16px; color:#42e8c8; letter-spacing:1px; }
.bulk-features { font-size:10px; color:#b8b8cc; line-height:2; margin-bottom:20px; padding:0 8px; }
.bulk-features div::before { content:'✓ '; color:#42e8c8; }
.bulk-close { position:absolute; top:14px; right:18px; background:none; border:none; color:#8888aa; font-size:24px; cursor:pointer; }
.bulk-close:hover { color:#f5f2e8; }
.bulk-error { color:#f05060; font-size:11px; text-align:center; margin-bottom:10px; display:none; }
/* ── Bulk Success Banner ── */
#bulk-success-banner { display:none; background:#0d1a1a; border:2px solid #42e8c8; border-radius:10px; padding:24px 20px; margin-bottom:16px; text-align:center; }
#bulk-success-banner h3 { font-family:'Oswald',sans-serif; color:#42e8c8; font-size:18px; letter-spacing:2px; text-transform:uppercase; margin-bottom:8px; }
#bulk-success-banner p { font-size:11px; color:#b8b8cc; letter-spacing:0.5px; margin-bottom:14px; }
.bulk-invite-url { background:#0a0a14; border:1px solid #2a2a44; border-radius:6px; padding:10px 14px; font-family:'Space Mono',monospace; font-size:12px; color:#f5c842; word-break:break-all; cursor:pointer; transition:border-color .2s; margin-bottom:10px; }
.bulk-invite-url:hover { border-color:#f5c842; }
.bulk-copy-btn { background:#f5c842; color:#0a0a14; border:none; font-family:'Oswald',sans-serif; font-size:12px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:8px 20px; border-radius:4px; cursor:pointer; transition:background .2s; }
.bulk-copy-btn:hover { background:#ffd95c; }
.bulk-copy-hint { font-size:10px; color:#8888aa; margin-top:8px; letter-spacing:0.5px; }
/* ── Checkout success banner ── */
.checkout-banner { background:#1a2a1a; border:1px solid #42e8a0; color:#42e8a0; font-family:'Space Mono',monospace; font-size:12px; text-align:center; padding:10px 20px; letter-spacing:1px; border-radius:6px; margin-bottom:12px; position:relative; }
.checkout-banner .banner-close { position:absolute; top:6px; right:12px; background:none; border:none; color:#42e8a0; font-size:16px; cursor:pointer; }
@media (max-width:600px) {
  .upgrade-plans { grid-template-columns:1fr; }
  .upgrade-box { padding:24px 16px; }
}
.premium-loading { text-align:center; padding:8px; font-size:10px; color:#42e8c8; letter-spacing:1px; text-transform:uppercase; display:none; }

/* ══════════════ HERO SECTION ══════════════ */
#hero-section { position:relative; margin-bottom:32px; overflow:hidden; }

/* Animated grid background */
.hero-grid-bg { position:absolute; inset:0; opacity:.08; pointer-events:none; overflow:hidden; }
.hero-grid-bg svg { width:100%; height:100%; }

/* Floating particles container */
#hero-particles { position:absolute; inset:0; pointer-events:none; overflow:hidden; z-index:0; }
.h-particle { position:absolute; border-radius:50%; opacity:0; animation:hParticleFloat linear infinite; }
@keyframes hParticleFloat {
  0% { opacity:0; transform:translateY(0) scale(0); }
  10% { opacity:.7; transform:translateY(0) scale(1); }
  90% { opacity:.4; }
  100% { opacity:0; transform:translateY(-180px) scale(0.3); }
}

/* Radar graphic */
.hero-radar-wrap { position:relative; width:200px; height:200px; margin:0 auto 24px; z-index:1; }
.hero-radar { width:200px; height:200px; }
.radar-grid { fill:none; stroke:#42e8c833; stroke-width:.5; }
.radar-ring { fill:none; stroke:#42e8c844; stroke-width:.5; }
.radar-sweep { fill:url(#radarGrad); transform-origin:100px 100px; animation:radarSpin 3s linear infinite; }
@keyframes radarSpin { from{transform:rotate(0deg)} to{transform:rotate(360deg)} }
.radar-dot { fill:#f5c842; animation:radarPulse 2s ease infinite; }
.radar-dot:nth-child(2) { animation-delay:.4s; }
.radar-dot:nth-child(3) { animation-delay:.9s; }
.radar-dot:nth-child(4) { animation-delay:1.4s; }
@keyframes radarPulse { 0%,100%{opacity:.3;r:2} 50%{opacity:1;r:4} }
.radar-center { fill:#42e8c8; filter:drop-shadow(0 0 6px #42e8c8); }
.radar-label { font-family:'Oswald',sans-serif; font-size:11px; fill:#f5c842; letter-spacing:3px; text-anchor:middle; }
.radar-label-sub { font-family:'Space Mono',monospace; font-size:6px; fill:#8888aa; letter-spacing:2px; text-anchor:middle; }

/* Hero tagline */
.hero-tagline { font-family:'Oswald',sans-serif; font-size:clamp(18px,4.5vw,28px); font-weight:700; text-align:center; color:#f5f2e8; letter-spacing:3px; text-transform:uppercase; margin-bottom:8px; position:relative; z-index:1; }
.hero-tagline .ht-accent { color:#f05060; }
.hero-tagline-sub { font-family:'Space Mono',monospace; font-size:clamp(10px,2.2vw,13px); color:#b8b8cc; text-align:center; letter-spacing:1.5px; line-height:1.8; margin-bottom:28px; max-width:560px; margin-left:auto; margin-right:auto; position:relative; z-index:1; }

/* Stats strip */
.hero-stats { display:flex; justify-content:center; gap:clamp(16px,4vw,40px); margin-bottom:28px; position:relative; z-index:1; flex-wrap:wrap; }
.hero-stat { text-align:center; position:relative; }
.hero-stat-num { font-family:'Oswald',sans-serif; font-size:clamp(28px,6vw,42px); font-weight:700; line-height:1; }
.hero-stat-num.hs-gold { color:#f5c842; }
.hero-stat-num.hs-teal { color:#42e8c8; }
.hero-stat-num.hs-red { color:#f05060; }
.hero-stat-num.hs-purple { color:#c842f5; }
.hero-stat-label { font-family:'Space Mono',monospace; font-size:8px; color:#8888aa; letter-spacing:2px; text-transform:uppercase; margin-top:4px; }

/* Feature cards */
.hero-features { display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-bottom:28px; position:relative; z-index:1; }
.hero-feat { background:#0d0d1a; border:1px solid #2a2a44; border-radius:10px; padding:18px 14px; text-align:center; transition:all .25s ease; position:relative; overflow:hidden; }
.hero-feat::before { content:''; position:absolute; top:0; left:0; right:0; height:2px; }
.hero-feat:nth-child(1)::before { background:linear-gradient(90deg,transparent,#42e8c8,transparent); }
.hero-feat:nth-child(2)::before { background:linear-gradient(90deg,transparent,#f5c842,transparent); }
.hero-feat:nth-child(3)::before { background:linear-gradient(90deg,transparent,#f05060,transparent); }
.hero-feat:hover { transform:translateY(-3px); border-color:#3a3a66; }
.hero-feat-icon { font-size:28px; margin-bottom:8px; display:block; }
.hero-feat-title { font-family:'Oswald',sans-serif; font-size:14px; font-weight:700; color:#f5f2e8; letter-spacing:2px; text-transform:uppercase; margin-bottom:6px; }
.hero-feat-desc { font-family:'Space Mono',monospace; font-size:10px; color:#8888aa; line-height:1.7; }

/* Glowing divider */
.hero-divider { height:1px; background:linear-gradient(90deg,transparent,#f5c84244,#42e8c844,#f0506044,transparent); margin:0 0 28px; position:relative; z-index:1; }

/* Animated border glow on CTA */
.hero-cta-wrap { text-align:center; margin-bottom:16px; position:relative; z-index:1; }
.hero-cta { display:inline-block; background:#f5c842; border:none; border-radius:10px; padding:16px 44px; font-family:'Oswald',sans-serif; font-size:18px; font-weight:700; letter-spacing:3px; text-transform:uppercase; color:#0a0a14; cursor:pointer; transition:all .2s; position:relative; box-shadow:0 0 30px rgba(245,200,66,.25); }
.hero-cta:hover { background:#ffd84e; transform:translateY(-2px); box-shadow:0 4px 40px rgba(245,200,66,.4); }
.hero-cta-sub { font-family:'Space Mono',monospace; font-size:9px; color:#555577; letter-spacing:1.5px; text-transform:uppercase; margin-top:8px; }

/* Testimonial / social proof strip */
.hero-proof { display:flex; justify-content:center; align-items:center; gap:12px; margin-bottom:20px; position:relative; z-index:1; flex-wrap:wrap; }
.hero-proof-badge { background:#0d0d1a; border:1px solid #2a2a44; border-radius:20px; padding:6px 16px; font-family:'Space Mono',monospace; font-size:9px; color:#b8b8cc; letter-spacing:1px; display:flex; align-items:center; gap:6px; }
.hero-proof-badge .hpb-icon { font-size:14px; }

/* Shield SVG */
.hero-shield-wrap { position:absolute; top:20px; right:-30px; width:120px; height:140px; opacity:.06; pointer-events:none; z-index:0; }
.hero-shield-wrap svg { width:100%; height:100%; }
.hero-shield-wrap2 { position:absolute; top:40px; left:-25px; width:100px; height:120px; opacity:.04; pointer-events:none; z-index:0; transform:rotate(-15deg); }
.hero-shield-wrap2 svg { width:100%; height:100%; }

/* Animated scan line across hero */
.hero-scan { position:absolute; top:0; left:0; right:0; height:2px; background:linear-gradient(90deg,transparent,#42e8c855,transparent); z-index:2; pointer-events:none; animation:heroScan 4s linear infinite; }
@keyframes heroScan { 0%{top:0;opacity:0} 5%{opacity:1} 95%{opacity:1} 100%{top:100%;opacity:0} }

/* Glitch flicker for tagline */
.hero-glitch { animation:heroGlitch 6s ease infinite; }
@keyframes heroGlitch {
  0%,92%,94%,96%,100% { opacity:1; transform:none; }
  93% { opacity:.7; transform:translateX(-2px); }
  95% { opacity:.8; transform:translateX(2px) skewX(-1deg); }
}

@media (max-width:600px) {
  .hero-features { grid-template-columns:1fr; gap:10px; }
  .hero-radar-wrap { width:150px; height:150px; }
  .hero-radar { width:150px; height:150px; }
  .radar-sweep { transform-origin:75px 75px; }
  .hero-shield-wrap, .hero-shield-wrap2 { display:none; }
  .hero-stats { gap:16px; }
}

/* ══ ENHANCED SECTION HEADERS ══ */
.section-glow-line { height:1px; background:linear-gradient(90deg,transparent,#2a2a44,transparent); margin:24px 0 20px; }

/* ══ TUTORIAL OVERLAY ══ */
#tutorial-overlay{position:fixed;inset:0;background:rgba(5,5,16,.97);z-index:950;display:none;overflow-y:auto;padding:40px 20px;}
#tutorial-overlay.show{display:flex;align-items:center;justify-content:center;}
.tut-inner{max-width:560px;width:100%;margin:0 auto;animation:fadeIn .3s ease;}
.tut-header{text-align:center;margin-bottom:24px;}
.tut-title{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:#f5c842;letter-spacing:4px;text-transform:uppercase;margin-bottom:6px;}
.tut-sub{font-size:10px;color:#8888aa;letter-spacing:2px;text-transform:uppercase;}
.tut-steps{position:relative;min-height:280px;}
.tut-step{display:none;animation:fadeIn .3s ease;}
.tut-step.active{display:block;}
.tut-step-badge{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;color:#42e8c8;border:1px solid #42e8c8;border-radius:3px;padding:2px 10px;margin-bottom:14px;}
.tut-step-title{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5f2e8;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;}
.tut-step-body{font-size:12px;color:#c8c8d8;line-height:1.85;margin-bottom:18px;}
.tut-step-body strong{color:#f5c842;}
.tut-step-body .tut-highlight{color:#42e8a0;}
.tut-step-body .tut-warn{color:#f05060;}
.tut-mode-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;}
.tut-mode-card{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:12px 14px;text-align:left;}
.tut-mode-card .tut-mc-name{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:1px;text-transform:uppercase;margin-bottom:4px;}
.tut-mode-card .tut-mc-desc{font-size:10px;color:#9090aa;line-height:1.6;}
.tut-mode-card.tm-rookie .tut-mc-name{color:#42e8a0;}
.tut-mode-card.tm-rookie{border-color:#42e8a033;}
.tut-mode-card.tm-hottake .tut-mc-name{color:#f08040;}
.tut-mode-card.tm-hottake{border-color:#f0804033;}
.tut-mode-card.tm-dungeon .tut-mc-name{color:#f05060;}
.tut-mode-card.tm-dungeon{border-color:#f0506033;}
.tut-mode-card.tm-drill .tut-mc-name{color:#42b4f5;}
.tut-mode-card.tm-drill{border-color:#42b4f533;}
.tut-mode-card.tm-evtri .tut-mc-name{color:#42e8c8;}
.tut-mode-card.tm-evtri{border-color:#42e8c833;}
.tut-mode-card.tm-daily .tut-mc-name{color:#f5c842;}
.tut-mode-card.tm-daily{border-color:#f5c84233;}
.tut-powerup-row{display:flex;gap:10px;margin-bottom:10px;}
.tut-pu{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:10px 14px;flex:1;text-align:center;}
.tut-pu-icon{font-size:22px;margin-bottom:4px;}
.tut-pu-name{font-family:'Oswald',sans-serif;font-size:12px;font-weight:700;color:#f5c842;letter-spacing:1px;text-transform:uppercase;margin-bottom:2px;}
.tut-pu-desc{font-size:9px;color:#9090aa;line-height:1.5;}
.tut-nav{display:flex;align-items:center;justify-content:space-between;margin-top:24px;gap:12px;}
.tut-dots{display:flex;gap:8px;}
.tut-dot{width:10px;height:10px;border-radius:50%;background:#1e1e30;border:1px solid #2a2a44;transition:all .2s;}
.tut-dot.active{background:#f5c842;border-color:#f5c842;}
.tut-btn{background:transparent;border:1px solid #f5c842;color:#f5c842;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:10px 28px;border-radius:8px;cursor:pointer;transition:all .15s;}
.tut-btn:hover{background:#f5c842;color:#0a0a14;}
.tut-btn.tut-btn-dim{border-color:#333355;color:#555577;}
.tut-btn.tut-btn-dim:hover{border-color:#f5c842;color:#f5c842;background:transparent;}
.tut-btn.tut-btn-start{background:#f5c842;color:#0a0a14;}
.tut-btn.tut-btn-start:hover{background:#ffd84e;}
@media(max-width:600px){
  .tut-mode-grid{grid-template-columns:1fr;}
  .tut-powerup-row{flex-direction:column;}
  .tut-inner{padding:0 4px;}
  .tut-title{font-size:22px;}
}
/* ── Admin Panel ── */
#admin-panel { display:none; position:fixed; top:0;left:0;right:0;bottom:0; background:rgba(0,0,0,.92); z-index:1002; justify-content:center; align-items:center; overflow-y:auto; }
#admin-panel.open { display:flex; }
.admin-box { background:#13131f; border:1px solid #2a2a44; border-radius:12px; padding:32px 28px; max-width:640px; width:94%; position:relative; max-height:90vh; overflow-y:auto; }
.admin-box h2 { font-family:'Oswald',sans-serif; color:#f5c842; font-size:22px; letter-spacing:2px; text-transform:uppercase; margin-bottom:16px; text-align:center; }
.admin-close { position:absolute; top:12px; right:16px; background:none; border:none; color:#8888aa; font-size:24px; cursor:pointer; }
.admin-close:hover { color:#f5f2e8; }
.admin-section { margin-bottom:24px; }
.admin-section h3 { font-family:'Oswald',sans-serif; color:#42e8c8; font-size:14px; letter-spacing:2px; text-transform:uppercase; margin-bottom:12px; }
.admin-form-row { display:flex; gap:10px; margin-bottom:10px; align-items:center; flex-wrap:wrap; }
.admin-field { background:#0a0a14; border:1px solid #2a2a44; color:#f5f2e8; font-family:'Space Mono',monospace; font-size:12px; padding:8px 12px; border-radius:6px; outline:none; }
.admin-field:focus { border-color:#42e8c8; }
.admin-btn { background:#42e8c8; color:#0a0a14; border:none; font-family:'Oswald',sans-serif; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:8px 18px; border-radius:6px; cursor:pointer; white-space:nowrap; }
.admin-btn:hover { background:#5ff0d5; }
.admin-btn:disabled { background:#2a2a44; color:#555; cursor:not-allowed; }
.admin-btn-danger { background:#f05060; color:#f5f2e8; }
.admin-btn-danger:hover { background:#ff6070; }
.invite-list { list-style:none; padding:0; margin:0; }
.invite-item { background:#0a0a14; border:1px solid #2a2a44; border-radius:8px; padding:14px; margin-bottom:10px; }
.invite-item.revoked { opacity:.5; }
.invite-header { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.invite-label { font-family:'Oswald',sans-serif; color:#f5f2e8; font-size:14px; letter-spacing:1px; }
.invite-badge { font-size:9px; letter-spacing:1px; padding:2px 8px; border-radius:3px; font-family:'Oswald',sans-serif; }
.invite-badge-active { background:#1a2a1a; color:#42e8c8; border:1px solid #42e8c8; }
.invite-badge-revoked { background:#2a1a1a; color:#f05060; border:1px solid #f05060; }
.invite-badge-expired { background:#2a2a1a; color:#f5c842; border:1px solid #f5c842; }
.invite-badge-used { background:#1a1a2a; color:#8888cc; border:1px solid #8888cc; }
.invite-meta { font-size:10px; color:#8888aa; letter-spacing:.5px; line-height:1.8; }
.invite-url { background:#0d0d1a; border:1px solid #2a2a44; border-radius:4px; padding:6px 10px; font-family:'Space Mono',monospace; font-size:10px; color:#42e8c8; word-break:break-all; margin:8px 0; display:flex; align-items:center; gap:8px; }
.invite-url-text { flex:1; }
.invite-copy-btn { background:none; border:1px solid #42e8c8; color:#42e8c8; font-size:9px; padding:3px 8px; border-radius:3px; cursor:pointer; font-family:'Space Mono',monospace; white-space:nowrap; }
.invite-copy-btn:hover { background:#42e8c8; color:#0a0a14; }
.invite-actions { display:flex; gap:8px; margin-top:8px; }
.invite-redemptions { margin-top:8px; font-size:10px; color:#8888aa; }
.invite-redemptions span { color:#42e8c8; }
/* ── Invite Landing Banner ── */
#invite-banner { display:none; background:#1a2a2a; border:1px solid #42e8c8; color:#f5f2e8; font-family:'Space Mono',monospace; font-size:12px; text-align:center; padding:16px 20px; letter-spacing:1px; border-radius:8px; margin:12px auto; max-width:500px; }
#invite-banner.show { display:block; }
#invite-banner .invite-banner-title { font-family:'Oswald',sans-serif; color:#42e8c8; font-size:16px; letter-spacing:2px; margin-bottom:8px; }
#invite-banner .invite-banner-msg { font-size:11px; color:#b8b8cc; margin-bottom:12px; }
#invite-banner .invite-banner-btn { background:#42e8c8; color:#0a0a14; border:none; font-family:'Oswald',sans-serif; font-size:13px; font-weight:700; letter-spacing:1px; text-transform:uppercase; padding:10px 24px; border-radius:6px; cursor:pointer; }
#invite-banner .invite-banner-btn:hover { background:#5ff0d5; }
#invite-banner .invite-banner-error { color:#f05060; font-size:11px; margin-top:8px; display:none; }
#invite-banner .invite-banner-success { color:#42e8c8; font-size:11px; margin-top:8px; display:none; }

/* ══ RETRY MISSED BUTTON ══ */
.retry-missed-btn{display:none;background:transparent;border:1px solid #f5c842;color:#f5c842;font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:12px 24px;border-radius:8px;cursor:pointer;transition:all .15s;margin:8px 4px;}
.retry-missed-btn:hover{background:#f5c842;color:#0a0a14;}

/* ══════════════ EVIDENCE TRIANGULATION ══════════════ */
.ls-card.evtri{border-color:#42e8c8;}
.ls-card.evtri::before{background:#42e8c8;}
.ls-card.evtri:hover{border-color:#42e8c8;box-shadow:0 8px 24px rgba(66,232,200,.22);}
.et-section-header{font-family:'Space Mono',monospace;font-size:9px;color:#42e8c8;letter-spacing:2px;text-transform:uppercase;text-align:center;margin-bottom:12px;display:flex;align-items:center;justify-content:center;gap:10px;}

#et-overlay{display:none;position:fixed;inset:0;background:#000000ee;z-index:800;overflow-y:auto;padding:24px 16px;}
#et-inner{max-width:820px;margin:0 auto;padding-bottom:60px;}
.et-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:20px;flex-wrap:wrap;gap:10px;}
.et-kicker{font-family:'Space Mono',monospace;font-size:9px;color:#42e8c8;letter-spacing:2px;text-transform:uppercase;}
.et-h1{font-family:'Oswald',sans-serif;font-size:26px;font-weight:700;color:#42e8c8;letter-spacing:2px;margin-top:2px;}
.et-progress{font-family:'Space Mono',monospace;font-size:10px;color:#b8b8cc;margin-top:4px;letter-spacing:1px;}
.et-back{background:transparent;border:1px solid #444;color:#b8b8cc;font-family:'Space Mono',monospace;font-size:11px;padding:8px 18px;border-radius:6px;cursor:pointer;flex-shrink:0;}
.et-back:hover{border-color:#42e8c8;color:#42e8c8;}

.et-intro-box{background:#0d0d1a;border:1px solid #42e8c8;border-radius:12px;padding:24px 26px;margin-bottom:18px;}
.et-intro-title{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#42e8c8;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;}
.et-intro-body{font-size:13px;line-height:1.85;color:#e8e8f5;margin-bottom:14px;}
.et-intro-body strong{color:#f5c842;}
.et-rule{background:#0a1a1c;border-left:3px solid #42e8c8;padding:12px 16px;font-family:'Space Mono',monospace;font-size:12px;line-height:1.7;color:#d0e6e2;margin:12px 0;border-radius:4px;}
.et-rule em{color:#f5c842;font-style:normal;font-weight:700;}
.et-how-grid{display:grid;grid-template-columns:1fr;gap:10px;margin:14px 0 4px;}
@media (min-width:620px){.et-how-grid{grid-template-columns:1fr 1fr 1fr 1fr;}}
.et-how-card{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:12px 14px;}
.et-how-num{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#42e8c8;line-height:1;}
.et-how-title{font-family:'Oswald',sans-serif;font-size:12px;color:#f5f2e8;text-transform:uppercase;letter-spacing:1.5px;margin:4px 0 6px;}
.et-how-desc{font-size:11px;color:#c8c8d8;line-height:1.6;}

.et-begin-btn{background:#42e8c8;border:none;border-radius:8px;padding:14px 36px;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:3px;text-transform:uppercase;color:#0a0a14;cursor:pointer;transition:all .15s;display:block;margin:6px auto 0;}
.et-begin-btn:hover{background:#5ff0d5;transform:translateY(-2px);box-shadow:0 6px 20px rgba(66,232,200,.3);}
.et-reset-btn{background:transparent;border:1px solid #444;color:#888;font-family:'Space Mono',monospace;font-size:10px;padding:6px 14px;border-radius:6px;cursor:pointer;margin-left:10px;}
.et-reset-btn:hover{border-color:#f05060;color:#f05060;}

.et-practice-box{background:#0d0d1a;border:1px solid #3a3a66;border-radius:10px;padding:14px 18px;margin-bottom:14px;}
.et-practice-label{font-family:'Space Mono',monospace;font-size:9px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}
.et-practice-cite{font-family:'Oswald',sans-serif;font-size:13px;color:#f5f2e8;font-weight:700;letter-spacing:1px;margin-bottom:4px;}
.et-practice-text{font-size:12px;color:#c8c8d8;line-height:1.7;font-style:italic;}

.et-setup{background:#13131f;border:1px solid #2a2a44;border-radius:10px;padding:16px 20px;margin-bottom:18px;font-size:13px;line-height:1.8;color:#f5f2e8;}
.et-setup-head{font-family:'Oswald',sans-serif;font-size:16px;color:#42e8c8;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;}
.et-setup-org{font-size:10px;color:#b8b8cc;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:10px;}

.et-streams{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:20px;}
@media (min-width:760px){.et-streams{grid-template-columns:1fr 1fr 1fr;}}
.et-stream{background:#0d0d1a;border:1px solid #2a2a44;border-radius:10px;padding:14px 16px;display:flex;flex-direction:column;min-height:180px;}
.et-stream-policy{border-top:3px solid #42b4f5;}
.et-stream-interview{border-top:3px solid #f5c842;}
.et-stream-demo{border-top:3px solid #f08040;}
.et-stream-label{font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;}
.et-stream-policy .et-stream-label{color:#42b4f5;}
.et-stream-interview .et-stream-label{color:#f5c842;}
.et-stream-demo .et-stream-label{color:#f08040;}
.et-stream-method{font-family:'Space Mono',monospace;font-size:10px;color:#9999bb;letter-spacing:1px;margin-bottom:10px;text-transform:uppercase;}
.et-stream-source{font-family:'Space Mono',monospace;font-size:10px;color:#9999bb;margin-bottom:8px;line-height:1.6;}
.et-stream-body{font-size:12px;color:#e8e8f5;line-height:1.75;}
.et-stream-body p{margin:0 0 8px;}
.et-stream-body blockquote{margin:0 0 8px;padding:8px 10px;background:#0a0a14;border-left:2px solid #444;font-style:italic;color:#d0ccb8;border-radius:3px;}
.et-stream-body .et-line{display:block;margin-bottom:6px;}
.et-stream-body .et-spk{color:#42e8c8;font-weight:700;font-family:'Space Mono',monospace;font-size:10px;letter-spacing:1px;margin-right:4px;text-transform:uppercase;}

.et-verdict-head{font-family:'Oswald',sans-serif;font-size:16px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;margin-bottom:12px;text-align:center;}
.et-verdict-sub{font-size:11px;color:#b8b8cc;text-align:center;margin-bottom:14px;line-height:1.7;}
.et-verdicts{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.et-v-btn{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:14px 18px;font-family:'Space Mono',monospace;font-size:12px;color:#f5f2e8;text-align:left;cursor:pointer;line-height:1.7;transition:all .15s;}
.et-v-btn:hover:not(:disabled){border-color:#42e8c8;background:#14242a;}
.et-v-btn .et-v-label{font-family:'Oswald',sans-serif;font-weight:700;color:#f5c842;letter-spacing:1.5px;text-transform:uppercase;font-size:13px;display:block;margin-bottom:4px;}
.et-v-btn .et-v-desc{font-size:11px;color:#c8c8d8;line-height:1.65;}
.et-v-btn:disabled{cursor:default;opacity:.75;}
.et-v-btn.et-v-correct{border-color:#42e8a0!important;background:#0a1e12!important;box-shadow:0 0 16px rgba(66,232,160,.25);}
.et-v-btn.et-v-correct .et-v-label{color:#42e8a0;}
.et-v-btn.et-v-wrong{border-color:#f05060!important;background:#1e0a0a!important;}
.et-v-btn.et-v-wrong .et-v-label{color:#f05060;}

.et-feedback{display:none;background:#0d0d1a;border:1px solid #42e8c8;border-radius:10px;padding:18px 20px;margin-bottom:18px;animation:fadeIn .3s ease;}
.et-feedback.show{display:block;}
.et-feedback.wrong{border-color:#f05060;}
.et-fb-head{font-family:'Oswald',sans-serif;font-size:18px;color:#42e8a0;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}
.et-feedback.wrong .et-fb-head{color:#f05060;}
.et-fb-body{font-size:12px;color:#e8e8f5;line-height:1.85;}
.et-fb-body p{margin:0 0 10px;}
.et-fb-body strong{color:#f5c842;}
.et-continue{background:transparent;border:1px solid #42e8c8;color:#42e8c8;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:11px 28px;border-radius:8px;cursor:pointer;display:block;margin:14px auto 0;transition:all .15s;}
.et-continue:hover{background:#42e8c8;color:#0a0a14;}

.et-results-grade{text-align:center;margin-bottom:20px;}
.et-results-title{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;letter-spacing:3px;margin-bottom:6px;}
.et-results-meta{font-family:'Space Mono',monospace;font-size:11px;color:#b8b8cc;margin-bottom:14px;letter-spacing:1px;}
.et-results-verdict-box{font-size:13px;color:#f5f2e8;line-height:1.8;background:#13131f;border:1px solid #2a2a44;border-radius:10px;padding:16px 18px;text-align:left;max-width:640px;margin:0 auto 20px;}
.et-review-head{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;margin-bottom:14px;}
.et-review-item{margin-bottom:14px;background:#0d0d1a;border:1px solid #2a2a44;border-radius:10px;padding:14px 16px;}
.et-review-item.correct{border-color:#42e8a0;}
.et-review-item.wrong{border-color:#f05060;}
.et-review-num{font-family:'Space Mono',monospace;font-size:9px;color:#b8b8cc;letter-spacing:2px;text-transform:uppercase;margin-bottom:6px;}
.et-review-title{font-family:'Oswald',sans-serif;font-size:14px;color:#f5f2e8;margin-bottom:4px;}
.et-review-practice{font-size:10px;color:#b8b8cc;font-family:'Space Mono',monospace;margin-bottom:8px;}
.et-review-verdict{font-size:11px;margin-bottom:4px;}
.et-review-verdict.ok{color:#42e8a0;}
.et-review-verdict.ko{color:#f05060;}

/* ── ET Gamification ── */
.et-hud{display:flex;gap:8px;margin-bottom:16px;flex-wrap:wrap;}
.et-hud-item{flex:1;min-width:70px;background:#0d0d1a;border:1px solid #2a2a44;border-radius:8px;padding:8px 12px;text-align:center;}
.et-hud-label{font-family:'Space Mono',monospace;font-size:8px;color:#888;letter-spacing:2px;text-transform:uppercase;}
.et-hud-value{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#f5f2e8;margin-top:2px;}
.et-hud-item:nth-child(1) .et-hud-value{color:#f5c842;}
.et-hud-item:nth-child(2) .et-hud-value{color:#42e8c8;}

.et-confidence{background:#0d0d1a;border:1px solid #3a3a66;border-radius:10px;padding:14px 18px;margin-bottom:14px;text-align:center;}
.et-conf-label{font-family:'Oswald',sans-serif;font-size:13px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;margin-bottom:4px;}
.et-conf-sub{font-size:10px;color:#888;margin-bottom:10px;}
.et-conf-btns{display:flex;gap:8px;justify-content:center;}
.et-conf-btn{background:#13131f;border:1px solid #2a2a44;border-radius:8px;padding:10px 20px;cursor:pointer;transition:all .15s;text-align:center;min-width:80px;}
.et-conf-btn:hover{border-color:#f5c842;background:#1a1a2a;}
.et-conf-btn.active{border-color:#f5c842;background:#1a1a10;box-shadow:0 0 12px rgba(245,200,66,.2);}
.et-conf-mult{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5c842;display:block;line-height:1;}
.et-conf-desc{font-family:'Space Mono',monospace;font-size:9px;color:#888;letter-spacing:1px;display:block;margin-top:4px;}
.et-conf-btn.active .et-conf-desc{color:#f5c842;}
.et-confidence.locked .et-conf-btn{pointer-events:none;opacity:.5;}
.et-confidence.locked .et-conf-btn.active{opacity:1;}

.et-score-pop{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;pointer-events:none;opacity:0;z-index:9999;text-shadow:0 4px 20px rgba(0,0,0,.5);transition:none;}
.et-score-pop.show{animation:etScorePop .9s ease-out forwards;}
.et-score-pop.positive{color:#42e8a0;}
.et-score-pop.negative{color:#f05060;}
.et-score-pop.zero{color:#888;}
@keyframes etScorePop{0%{opacity:0;transform:translate(-50%,-50%) scale(0.5);}15%{opacity:1;transform:translate(-50%,-50%) scale(1.2);}30%{transform:translate(-50%,-50%) scale(1);}70%{opacity:1;transform:translate(-50%,-70%);}100%{opacity:0;transform:translate(-50%,-120%);}}

.et-streak-flash{animation:etStreakFlash .4s ease;}
@keyframes etStreakFlash{0%{transform:scale(1);}50%{transform:scale(1.3);color:#42e8c8;}100%{transform:scale(1);}}

.et-diff-stars{font-size:12px;letter-spacing:2px;}
.et-diff-stars .star-on{color:#f5c842;}
.et-diff-stars .star-off{color:#2a2a44;}

.et-badge{display:inline-flex;align-items:center;gap:6px;background:#13131f;border:1px solid #2a2a44;border-radius:20px;padding:6px 14px;font-family:'Space Mono',monospace;font-size:10px;color:#b8b8cc;margin:4px;}
.et-badge.earned{border-color:#f5c842;color:#f5c842;background:#1a1a10;}
.et-badge .et-badge-icon{font-size:14px;}

.et-results-stats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:16px auto;max-width:500px;}
.et-results-stat{background:#0d0d1a;border:1px solid #2a2a44;border-radius:8px;padding:10px;text-align:center;}
.et-results-stat-label{font-family:'Space Mono',monospace;font-size:8px;color:#888;letter-spacing:2px;text-transform:uppercase;}
.et-results-stat-value{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;color:#f5f2e8;margin-top:2px;}

.et-badges-section{margin:18px 0;text-align:center;}
.et-badges-title{font-family:'Oswald',sans-serif;font-size:14px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;margin-bottom:10px;}

.et-review-score{font-family:'Space Mono',monospace;font-size:10px;color:#f5c842;margin-top:4px;}
.et-review-conf{font-size:9px;color:#888;margin-top:2px;}

/* ── Focus-visible states for keyboard navigation ── */
button:focus-visible, a:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
  outline: 2px solid #f5c842;
  outline-offset: 2px;
}
.option-btn:focus-visible { border-color:#f5c842; background:#1e1e2e; transform:translateX(5px); }
.multi-label:focus-visible { border-color:#f5c842; background:#1e1e2e; }

/* ── Suzie Q. Golden Timer Button ── */
.szq-golden-btn {
  position: fixed;
  bottom: 24px;
  right: 24px;
  display: none;
  width: auto;
  min-width: 38px;
  height: 38px;
  border-radius: 19px;
  border: 2px solid #d4a017;
  background: radial-gradient(circle at 35% 35%, #ffe066, #d4a017 60%, #a67c00);
  color: #1a1200;
  font-size: 20px;
  font-weight: 700;
  cursor: pointer;
  box-shadow: 0 0 12px rgba(212, 160, 23, .5), inset 0 1px 2px rgba(255, 255, 255, .4);
  z-index: 9000;
  visibility: hidden;
  opacity: 0;
  transition: transform .2s, box-shadow .2s;
  font-family: 'Oswald', sans-serif;
  line-height: 1;
  padding: 0 14px;
  gap: 6px;
  align-items: center;
  justify-content: center;
}
.szq-golden-btn .szq-label {
  font-size: 10px;
  letter-spacing: 1.5px;
  text-transform: uppercase;
  font-family: 'Space Mono', monospace;
  white-space: nowrap;
}
.szq-golden-btn:hover {
  transform: scale(1.15);
  box-shadow: 0 0 24px rgba(212, 160, 23, .8), inset 0 1px 2px rgba(255, 255, 255, .4);
}
.szq-golden-btn.szq-active {
  background: radial-gradient(circle at 35% 35%, #fff8d6, #ffe066 60%, #d4a017);
  border-color: #ffe066;
  box-shadow: 0 0 30px rgba(255, 224, 102, .7), inset 0 1px 3px rgba(255, 255, 255, .6);
  animation: szqGlow 1.5s ease-in-out infinite;
}
@keyframes szqReveal {
  0% { opacity: 0; transform: scale(0) rotate(-180deg); }
  60% { opacity: 1; transform: scale(1.2) rotate(10deg); }
  100% { opacity: 1; transform: scale(1) rotate(0deg); }
}
@keyframes szqGlow {
  0%, 100% { box-shadow: 0 0 12px rgba(212, 160, 23, .5), inset 0 1px 2px rgba(255, 255, 255, .4); }
  50% { box-shadow: 0 0 22px rgba(255, 224, 102, .7), inset 0 1px 2px rgba(255, 255, 255, .4); }
}

.szq-toast {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(0);
  background: linear-gradient(135deg, #1a1400, #2a2000);
  border: 2px solid #d4a017;
  border-radius: 12px;
  padding: 18px 32px;
  color: #ffe066;
  font-family: 'Oswald', sans-serif;
  font-size: 18px;
  letter-spacing: 2px;
  text-align: center;
  z-index: 9999;
  box-shadow: 0 0 40px rgba(212, 160, 23, .4);
  animation: szqToastIn .5s ease forwards;
  pointer-events: none;
}
.szq-toast .szq-toast-sub {
  font-family: 'Space Mono', monospace;
  font-size: 10px;
  color: #d4a017;
  margin-top: 6px;
  letter-spacing: 1px;
}
@keyframes szqToastIn {
  0% { transform: translate(-50%, -50%) scale(0); opacity: 0; }
  60% { transform: translate(-50%, -50%) scale(1.05); opacity: 1; }
  100% { transform: translate(-50%, -50%) scale(1); opacity: 1; }
}

.clock-wrap.szq-frozen .clock-num { color: #d4a017 !important; }
.clock-wrap.szq-frozen .clock-fill { background: #d4a017 !important; width: 100% !important; }
.clock-wrap.szq-frozen { border-color: #d4a017 !important; }
.lb-close:focus-visible { background:#f5c842; color:#0a0a14; }

/* ══════════════ DAILY STREAK BANNER ══════════════ */
.streak-banner{display:flex;align-items:center;gap:14px;background:linear-gradient(135deg,#1a0d00,#2a1500,#1a0d00);border:1px solid #f5842244;border-radius:10px;padding:12px 18px;margin-bottom:18px;animation:streakGlow 3s ease infinite alternate;}
@keyframes streakGlow{0%{box-shadow:0 0 6px rgba(245,132,66,.1)}100%{box-shadow:0 0 18px rgba(245,132,66,.25)}}
.streak-flame{font-size:32px;line-height:1;transition:transform .3s;}
.streak-flame.streak-hot{animation:flamePulse 1s ease infinite;}
.streak-flame.streak-blazing{animation:flamePulse .5s ease infinite;filter:drop-shadow(0 0 8px rgba(245,132,66,.6));}
@keyframes flamePulse{0%,100%{transform:scale(1)}50%{transform:scale(1.2)}}
.streak-info{flex:1;}
.streak-num-wrap{display:flex;align-items:baseline;gap:6px;}
.streak-count{font-family:'Oswald',sans-serif;font-size:32px;font-weight:700;color:#f5c842;line-height:1;}
.streak-day-label{font-family:'Space Mono',monospace;font-size:11px;color:#b8b8cc;letter-spacing:1px;text-transform:uppercase;}
.streak-sub{font-family:'Space Mono',monospace;font-size:9px;color:#888;letter-spacing:1px;text-transform:uppercase;margin-top:2px;}
.streak-best{color:#f08040;}

/* ══════════════ REVIEW QUEUE ══════════════ */
.rq-badge{display:inline-block;background:#c842f5;color:#fff;font-family:'Oswald',sans-serif;font-size:11px;font-weight:700;padding:2px 7px;border-radius:10px;margin-left:6px;min-width:18px;text-align:center;line-height:1.4;}
.rq-btn-text{font-size:9px;color:#8888aa;display:block;margin-top:2px;}

/* ══════════════ HEAD-TO-HEAD ══════════════ */
.h2h-modal{position:fixed;inset:0;background:rgba(5,5,16,.95);z-index:910;display:flex;align-items:center;justify-content:center;padding:20px;}
.h2h-box{background:#0d0d1a;border:2px solid #2a2a44;border-radius:14px;padding:28px 24px;max-width:440px;width:100%;position:relative;max-height:90vh;overflow-y:auto;}
.h2h-close{position:absolute;top:12px;right:16px;background:transparent;border:none;color:#555577;font-size:22px;cursor:pointer;line-height:1;}
.h2h-close:hover{color:#f5c842;}
.h2h-title{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;color:#f5c842;letter-spacing:3px;text-align:center;margin-bottom:4px;}
.h2h-sub{font-family:'Space Mono',monospace;font-size:10px;color:#888;letter-spacing:1px;text-align:center;margin-bottom:20px;}
.h2h-input{display:block;width:100%;box-sizing:border-box;background:#1a1a28;border:1px solid #2a2a44;border-radius:6px;padding:12px 14px;color:#f5f2e8;font-family:'Space Mono',monospace;font-size:12px;text-align:center;margin-bottom:12px;letter-spacing:2px;}
.h2h-input:focus{border-color:#f5c842;outline:none;}
.h2h-btn{display:block;width:100%;background:#f5c842;border:none;border-radius:8px;padding:14px;font-family:'Oswald',sans-serif;font-size:15px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#0a0a14;cursor:pointer;transition:all .15s;}
.h2h-btn:hover{background:#ffd84e;transform:translateY(-2px);}
.h2h-btn:disabled{opacity:.5;cursor:default;transform:none;}
.h2h-btn-secondary{display:block;width:100%;background:transparent;border:1px solid #42e8c8;border-radius:8px;padding:12px;font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:#42e8c8;cursor:pointer;transition:all .15s;}
.h2h-btn-secondary:hover{background:#42e8c822;}
.h2h-code{font-family:'Oswald',sans-serif;font-size:48px;font-weight:700;color:#f5c842;letter-spacing:8px;text-align:center;padding:16px;background:#1a1a28;border:2px dashed #f5c842;border-radius:10px;margin:12px 0;user-select:all;}
.h2h-error{font-family:'Space Mono',monospace;font-size:11px;color:#f05060;text-align:center;margin-bottom:10px;letter-spacing:1px;}
.h2h-results-banner{background:#0d0d1a;border:2px solid #2a2a44;border-radius:12px;padding:18px;margin-bottom:16px;animation:fadeIn .4s ease;}

/* ══════════════ WAR ROOM ══════════════ */
.wr-size-btn{flex:1;background:#1a1a28;border:1px solid #2a2a44;border-radius:6px;padding:10px;color:#b8b8cc;font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s;letter-spacing:1px;}
.wr-size-btn:hover{border-color:#42b4f5;color:#42b4f5;}
.wr-size-btn.selected{background:#42b4f522;border-color:#42b4f5;color:#42b4f5;}
.wr-roster{margin:12px 0;padding:0;}
.wr-roster-title{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.wr-roster-title .wr-count{font-family:'Space Mono',monospace;font-size:10px;color:#8888aa;letter-spacing:1px;font-weight:400;}
.wr-member{display:flex;align-items:center;gap:10px;padding:8px 10px;background:#1a1a28;border:1px solid #2a2a44;border-radius:8px;margin-bottom:6px;}
.wr-member-avatar{width:28px;height:28px;flex-shrink:0;}
.wr-member-name{font-family:'Space Mono',monospace;font-size:11px;color:#f5f2e8;letter-spacing:1px;flex:1;}
.wr-member-captain{font-size:8px;color:#f5c842;letter-spacing:1px;text-transform:uppercase;background:#f5c84222;padding:2px 6px;border-radius:4px;}
.wr-member-score{font-family:'Oswald',sans-serif;font-size:16px;font-weight:700;letter-spacing:1px;}
.wr-team-total{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-top:1px solid #2a2a44;margin-top:4px;}
.wr-team-total-label{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;letter-spacing:2px;text-transform:uppercase;}
.wr-team-total-score{font-family:'Oswald',sans-serif;font-size:22px;font-weight:700;}
.wr-vs{font-family:'Oswald',sans-serif;font-size:20px;font-weight:700;color:#555577;text-align:center;margin:8px 0;letter-spacing:4px;}
.wr-result-banner{text-align:center;padding:12px;background:#0d0d1a;border:2px solid #2a2a44;border-radius:12px;margin-bottom:12px;animation:fadeIn .4s ease;}
.wr-result-text{font-family:'Oswald',sans-serif;font-size:24px;font-weight:700;letter-spacing:4px;}
.wr-mvp{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:8px;padding:8px 14px;background:#f5c84211;border:1px solid #f5c84244;border-radius:8px;}
.wr-mvp-label{font-family:'Space Mono',monospace;font-size:9px;color:#f5c842;letter-spacing:2px;text-transform:uppercase;}
.wr-mvp-name{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;color:#f5c842;letter-spacing:1px;}
.wr-mvp-score{font-family:'Space Mono',monospace;font-size:11px;color:#42e8a0;}
.wr-status-badge{display:inline-block;font-family:'Space Mono',monospace;font-size:9px;letter-spacing:2px;text-transform:uppercase;padding:4px 10px;border-radius:20px;margin-bottom:12px;}
.wr-status-forming{background:#42b4f522;border:1px solid #42b4f5;color:#42b4f5;}
.wr-status-open{background:#42e8a022;border:1px solid #42e8a0;color:#42e8a0;}
.wr-status-battling{background:#f0804022;border:1px solid #f08040;color:#f08040;}
.wr-status-completed{background:#c842f522;border:1px solid #c842f5;color:#c842f5;}

/* ══════════════ POST-GAME CTA ══════════════ */
.postgame-cta{text-align:center;margin:18px 0 8px;}
.postgame-cta-btn{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:16px 40px;border-radius:10px;cursor:pointer;transition:all .2s;display:inline-block;}
.postgame-cta-btn.cta-replay{background:transparent;border:2px solid #f5c842;color:#f5c842;}
.postgame-cta-btn.cta-replay:hover{background:rgba(245,200,66,.12);transform:translateY(-2px);box-shadow:0 4px 20px rgba(245,200,66,.15);}
.postgame-cta-btn.cta-upgrade{background:transparent;border:2px solid #42e8a0;color:#42e8a0;}
.postgame-cta-btn.cta-upgrade:hover{background:rgba(66,232,160,.12);transform:translateY(-2px);box-shadow:0 4px 20px rgba(66,232,160,.15);}

/* ══════════════ WEAKNESS CALLOUT ══════════════ */
.weakness-callout{margin:16px 0 6px;}
.wc-inner{display:flex;align-items:center;justify-content:center;gap:12px;background:#1a0a0a;border:1px solid #3a1a1a;border-radius:10px;padding:14px 20px;flex-wrap:wrap;}
.wc-text{font-family:'Space Mono',monospace;font-size:12px;color:#f5f2e8;letter-spacing:.5px;}
.wc-drill-btn{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;padding:8px 20px;border:1px solid #f08040;color:#f08040;background:transparent;border-radius:6px;cursor:pointer;transition:all .15s;white-space:nowrap;}
.wc-drill-btn:hover{background:rgba(240,128,64,.12);transform:translateY(-1px);}

@media(max-width:600px){
  .postgame-cta-btn{font-size:15px;padding:14px 28px;}
  .wc-inner{flex-direction:column;gap:8px;text-align:center;}
}

/* ══════════════ GOTCHA AMBUSH FLASH ══════════════ */
.gotcha-ambush-flash{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;z-index:9999;pointer-events:none;opacity:0;background:radial-gradient(ellipse at center,rgba(240,128,64,.25) 0%,rgba(10,10,20,.85) 70%);transition:opacity .3s ease;}
.gotcha-ambush-flash.active{opacity:1;}
.gotcha-ambush-icon{font-size:64px;animation:gotchaPulse .6s ease infinite alternate;}
.gotcha-ambush-text{font-family:'Oswald',sans-serif;font-size:42px;font-weight:700;color:#f08040;letter-spacing:6px;text-transform:uppercase;text-shadow:0 0 30px rgba(240,128,64,.6),0 0 60px rgba(240,128,64,.3);animation:gotchaShake .15s ease infinite;}
.gotcha-ambush-sub{font-family:'Space Mono',monospace;font-size:13px;color:#f5c842;letter-spacing:3px;margin-top:8px;text-transform:uppercase;}
@keyframes gotchaPulse{from{transform:scale(1);}to{transform:scale(1.2);}}
@keyframes gotchaShake{0%{transform:translateX(0);}25%{transform:translateX(-3px);}75%{transform:translateX(3px);}100%{transform:translateX(0);}}

/* ══════════════ GLOBAL RANK BAR ══════════════ */
.global-rank-bar{background:#0d0d1a;border:1px solid #2a2a44;border-radius:10px;padding:10px 16px;margin-bottom:16px;display:flex;align-items:center;gap:12px;cursor:pointer;transition:all .2s;}
.global-rank-bar:hover{border-color:#42b4f5;box-shadow:0 0 12px rgba(66,180,245,.15);}
.grb-rank-icon{font-size:22px;flex-shrink:0;}
.grb-info{flex:1;min-width:0;}
.grb-rank-title{font-family:'Oswald',sans-serif;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;}
.grb-progress{display:flex;align-items:center;gap:8px;margin-top:3px;}
.grb-bar-wrap{flex:1;background:#1a1a2e;border:1px solid #2a2a44;border-radius:20px;height:8px;overflow:hidden;}
.grb-bar-fill{height:100%;border-radius:20px;background:linear-gradient(90deg,#42b4f5,#c842f5);transition:width 1s ease;box-shadow:0 0 6px rgba(66,180,245,.3);}
.grb-xp{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;letter-spacing:1px;white-space:nowrap;}
.grb-next{font-family:'Space Mono',monospace;font-size:8px;color:#555577;letter-spacing:1px;margin-top:2px;}
.grb-unlocks{display:flex;gap:4px;margin-left:8px;flex-shrink:0;}
.grb-unlock-icon{font-size:14px;opacity:.4;transition:opacity .2s;}
.grb-unlock-icon.earned{opacity:1;}

/* ══════════════ RANK UNLOCKS PANEL ══════════════ */
.rank-unlocks-overlay{display:none;position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(10,10,20,.92);z-index:8000;overflow-y:auto;padding:40px 20px;}
.rank-unlocks-inner{max-width:480px;margin:0 auto;}
.rank-unlocks-title{font-family:'Oswald',sans-serif;font-size:28px;font-weight:700;color:#f5c842;letter-spacing:3px;text-transform:uppercase;text-align:center;margin-bottom:20px;}
.rank-tier{background:#0d0d1a;border:1px solid #2a2a44;border-radius:10px;padding:14px 16px;margin-bottom:10px;display:flex;align-items:center;gap:14px;transition:all .2s;}
.rank-tier.current{border-color:#c842f5;box-shadow:0 0 16px rgba(200,66,245,.15);}
.rank-tier.locked{opacity:.45;}
.rank-tier-rank{font-family:'Oswald',sans-serif;font-size:13px;font-weight:700;letter-spacing:2px;text-transform:uppercase;min-width:140px;}
.rank-tier-xp{font-family:'Space Mono',monospace;font-size:9px;color:#8888aa;letter-spacing:1px;}
.rank-tier-unlocks{display:flex;gap:6px;flex-wrap:wrap;}
.rank-tier-unlock{font-size:11px;padding:3px 8px;border-radius:6px;background:#1a1a2e;border:1px solid #2a2a44;color:#b8b8cc;font-family:'Space Mono',monospace;letter-spacing:.5px;}
.rank-tier-unlock.earned{border-color:#42e8a0;color:#42e8a0;}

/* ══════════════ XP GAIN BANNER ══════════════ */
.xp-gain-banner{text-align:center;margin:10px 0;animation:xpPop .5s ease;}
.xp-gain-icon{font-size:16px;margin-right:4px;}
.xp-gain-text{font-family:'Oswald',sans-serif;font-size:18px;font-weight:700;color:#c842f5;letter-spacing:2px;}
@keyframes xpPop{0%{transform:scale(.6);opacity:0;}50%{transform:scale(1.15);}100%{transform:scale(1);opacity:1;}}

/* ══════════════ COMMUNITY CONTRIBUTION (Option 3 — Framed) ══════════════ */
/* Live question card and review card, when the question was sent in by a
   community member, are re-skinned as a featured contribution: a glowing
   mint left-rail, a "FROM THE COMMUNITY" corner tag, and a footer crediting
   the submitter, source and submission date. */
.community-card{
  position:relative;
  border-color:#42e8a0;
  border-left:3px solid #42e8a0;
  box-shadow:0 0 26px rgba(66,232,160,.20), inset 0 0 60px rgba(66,232,160,.045);
  padding-top:34px;
}
.community-tag{
  position:absolute; top:0; right:0;
  display:inline-flex; align-items:center; gap:5px;
  font-family:'Oswald',sans-serif; font-size:9.5px; font-weight:700;
  letter-spacing:1.6px; text-transform:uppercase;
  color:#04130d; background:#42e8a0;
  padding:4px 12px 4px 14px;
  border-bottom-left-radius:10px;
  box-shadow:0 0 16px rgba(66,232,160,.45);
}
.community-spark{ font-size:11px; line-height:1; }
.community-footer{
  display:flex; align-items:center; gap:12px;
  margin-top:18px; padding-top:14px;
  border-top:1px solid rgba(66,232,160,.25);
}
.community-avatar{
  width:42px; height:42px; border-radius:50%;
  object-fit:cover; flex:0 0 42px;
  border:2px solid #42e8a0;
  box-shadow:0 0 12px rgba(66,232,160,.4);
}
.community-meta{ line-height:1.45; }
.community-by{
  font-family:'Oswald',sans-serif; font-size:12px;
  letter-spacing:.5px; color:#cfeee0;
}
.community-by strong{ color:#42e8a0; font-weight:700; }
.community-src{
  font-family:'Space Mono',monospace; font-size:10px;
  letter-spacing:.5px; color:#7fae9a; margin-top:2px;
}
/* Review-list variant: keep the mint identity even when the question was missed */
.review-card.rc-community{
  border-left:3px solid #42e8a0;
  box-shadow:0 0 18px rgba(66,232,160,.14);
  padding-top:30px;
}
