:root{--paper: #FAF8F3;--paper-soft: #FFFFFF;--cream: #FFF8EC;--ink: #1F2A37;--ink-soft: #5A6573;--amber: #FF7A45;--amber-soft: #FFD3BD;--forest: #2D6A4F;--forest-soft: #D6E7DD;--forest-deep: #1B4332;--sky: #6FA8C9;--sky-soft: #D6E8F2;--danger: #B23A2E;--danger-soft: #F4D8D3;--gold: #D4A017;--gold-soft: #FFEEB0;--purple: #7C4DFF;--purple-soft: #E8DEFF;--space-deep: #050A14;--space-mid: #0D1B2A;--space-glow: rgba(111, 168, 201, .18);--xp-bar: #6FA8C9;--xp-bar-bg: rgba(111, 168, 201, .18);--radius-card: 20px;--radius-pill: 999px;--shadow-card: 0 1px 2px rgba(31, 42, 55, .08), 0 12px 32px rgba(31, 42, 55, .18);--shadow-soft: 0 8px 24px rgba(31, 42, 55, .12);--shadow-glow-amber: 0 0 16px rgba(255, 122, 69, .6);--shadow-glow-sky: 0 0 16px rgba(111, 168, 201, .6);--font-display: "Fredoka", "Nunito", system-ui, -apple-system, Segoe UI, Roboto, sans-serif;--font-body: "Inter", system-ui, -apple-system, Segoe UI, Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;overflow:hidden}html{background:var(--space-deep)}body{font-family:var(--font-body);color:var(--ink);font-size:16px;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;overscroll-behavior:none;touch-action:manipulation;background:radial-gradient(circle at 15% 0%,rgba(255,122,69,.12),transparent 50%),radial-gradient(circle at 85% 100%,rgba(111,168,201,.1),transparent 60%),linear-gradient(180deg,#050a14,#0d1b2a 60%,#1b4332)}.starfield{position:fixed;inset:0;pointer-events:none;z-index:0;overflow:hidden}.starfield-layer{position:absolute;inset:0}.star-dot{position:absolute;border-radius:50%;background:#fff;animation:star-twinkle var(--twinkle-dur, 3s) ease-in-out infinite alternate,star-drift var(--drift-dur, 60s) linear infinite}@keyframes star-twinkle{0%{opacity:var(--opacity-from, .3)}to{opacity:var(--opacity-to, .9)}}@keyframes star-drift{0%{transform:translateY(0)}to{transform:translateY(-20px)}}button{font-family:inherit;cursor:pointer;border:none;background:none}button:focus-visible{outline:3px solid var(--amber);outline-offset:2px;border-radius:8px}.app{position:fixed;inset:0;z-index:1;display:flex;align-items:stretch;justify-content:stretch;padding:env(safe-area-inset-top,0) env(safe-area-inset-right,0) env(safe-area-inset-bottom,0) env(safe-area-inset-left,0)}.scene-root{position:relative;flex:1;display:flex;flex-direction:column;overflow:hidden}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}.top-hud{position:absolute;top:clamp(10px,2.5vw,20px);left:clamp(12px,3vw,28px);display:flex;gap:8px;z-index:10}.chip{background:#1b4332a6;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);color:var(--paper);font-family:var(--font-display);font-weight:500;font-size:.95rem;padding:8px 14px;border-radius:var(--radius-pill);border:1px solid rgba(214,231,221,.3);display:inline-flex;align-items:center;gap:6px;min-height:40px}.chip svg{width:20px;height:20px;flex-shrink:0}.chip-back{cursor:pointer;transition:background .12s}.chip-back:hover{background:#1b4332d9}.chip-back:focus-visible{outline:3px solid var(--paper);outline-offset:2px}.chip-title{pointer-events:none;color:var(--amber)}.chip-level{pointer-events:none;color:var(--sky-soft);font-size:.82rem;gap:5px}.chip-level-icon{font-size:1rem}.chip-level-title{font-size:.72rem;opacity:.75}.menu-screen{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,13vw,88px) clamp(14px,3vw,28px) clamp(20px,4vw,32px);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:overlay-in .26s ease-out;gap:clamp(14px,3vw,20px)}.menu-header{text-align:center;color:var(--paper);max-width:600px;width:100%}.menu-kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.16em;color:var(--amber);font-size:.75rem;margin:0 0 6px}.menu-title{font-family:var(--font-display);font-size:clamp(1.5rem,5vw,2.2rem);margin:0 0 6px;color:var(--paper);letter-spacing:-.02em}.menu-subtitle{margin:0;color:var(--forest-soft);font-size:clamp(.9rem,2.2vw,1rem);line-height:1.4}.menu-section{width:100%;max-width:600px}.menu-section-title{font-family:var(--font-display);font-size:.8rem;text-transform:uppercase;letter-spacing:.12em;color:#d6e7ddb3;margin:0 0 10px;font-weight:500}.op-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:clamp(8px,2vw,12px)}.op-card{background:#faf8f31a;border:2px solid rgba(214,231,221,.2);border-radius:var(--radius-card);padding:clamp(12px,2.5vw,16px) 8px;min-height:80px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;cursor:pointer;transition:background .14s,border-color .14s,transform .14s;color:var(--paper)}.op-card:hover{background:#faf8f32e;border-color:var(--amber);transform:translateY(-2px)}.op-card.is-selected{background:var(--paper);border-color:var(--amber);color:var(--ink)}.op-card:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.op-symbol{font-family:var(--font-display);font-size:clamp(1.6rem,5vw,2rem);line-height:1;color:var(--amber)}.op-card.is-selected .op-symbol{color:var(--forest)}.op-label{font-size:clamp(.65rem,1.8vw,.75rem);font-family:var(--font-display);line-height:1.2}.op-best{font-size:.6rem;background:var(--gold-soft);color:var(--gold);border-radius:var(--radius-pill);padding:1px 6px;margin-top:2px;font-weight:600}.diff-row{display:flex;gap:10px;flex-wrap:wrap}.diff-chip{background:#faf8f31a;border:2px solid rgba(214,231,221,.2);border-radius:var(--radius-pill);padding:10px 20px;min-height:48px;color:var(--paper);font-family:var(--font-display);font-size:.95rem;cursor:pointer;transition:background .14s,border-color .14s;flex:1;text-align:center}.diff-chip:hover{background:#faf8f32e;border-color:var(--amber)}.diff-chip.is-selected{background:var(--paper);color:var(--ink);border-color:var(--amber)}.diff-chip:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.mode-row{display:flex;gap:10px;flex-wrap:wrap}.mode-chip{background:#faf8f31a;border:2px solid rgba(214,231,221,.2);border-radius:var(--radius-card);padding:12px 16px;min-height:64px;color:var(--paper);font-family:var(--font-display);cursor:pointer;transition:background .14s,border-color .14s;flex:1;text-align:left;display:flex;flex-direction:column;gap:4px}.mode-chip:hover{background:#faf8f32e;border-color:var(--amber)}.mode-chip.is-selected{background:var(--paper);color:var(--ink);border-color:var(--amber)}.mode-chip:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.mode-label{font-size:1rem;font-weight:500}.mode-desc{font-size:.72rem;opacity:.75;font-family:var(--font-body);line-height:1.3}.mode-chip.is-selected .mode-desc{opacity:.6}.menu-best-badge{font-family:var(--font-display);color:var(--gold);font-size:.85rem;text-align:center;margin:0;padding:8px 16px;background:#d4a0171f;border-radius:var(--radius-pill);border:1px solid rgba(212,160,23,.3);max-width:600px;width:100%}.btn-start{min-width:180px;min-height:56px;font-size:1.15rem;gap:8px}.session-screen{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,12vw,76px) clamp(16px,4vw,32px) clamp(16px,4vw,24px);gap:clamp(10px,2vw,16px);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:overlay-in .26s ease-out;color:var(--paper)}.session-header{width:100%;max-width:560px;text-align:center}.session-kicker{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.14em;color:var(--amber);font-size:.72rem;margin:0 0 8px}.timer-bar-wrap{width:100%;max-width:560px;height:10px;background:#faf8f32e;border-radius:var(--radius-pill);overflow:hidden;position:relative}.timer-bar{height:100%;background:var(--forest);border-radius:var(--radius-pill);width:100%;transition:background .5s}.timer-text{font-family:var(--font-display);font-size:1.05rem;color:var(--paper);margin-top:4px;position:relative;display:inline-block}.time-bonus{position:absolute;left:calc(100% + 8px);top:0;color:var(--forest-soft);font-family:var(--font-display);font-size:.85rem;animation:float-up .9s ease-out forwards;white-space:nowrap;pointer-events:none}@keyframes float-up{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-20px)}}.free-mode-label{font-family:var(--font-display);color:var(--sky-soft);font-size:.85rem;margin:0;letter-spacing:.08em}.session-stats{display:flex;align-items:center;gap:12px;width:100%;max-width:560px;justify-content:center}.stat-score{font-family:var(--font-display);font-size:1.25rem;color:var(--gold);font-weight:600}.stat-combo{font-family:var(--font-display);font-size:.85rem;color:var(--amber);background:#ff7a4526;border:1px solid rgba(255,122,69,.35);border-radius:var(--radius-pill);padding:3px 12px;min-height:28px;display:inline-flex;align-items:center;opacity:0;transition:opacity .2s}.stat-combo.is-active{opacity:1}.question-card{background:var(--paper);border-radius:var(--radius-card);box-shadow:var(--shadow-card);padding:clamp(20px,4.5vw,32px) clamp(18px,3.5vw,28px);width:100%;max-width:560px}.question-card.is-pop{animation:pop-in .3s cubic-bezier(.2,.8,.2,1)}@keyframes pop-in{0%{opacity:0;transform:translateY(8px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.question-text{font-family:var(--font-display);font-size:clamp(2.2rem,8vw,3.4rem);color:var(--ink);text-align:center;display:flex;align-items:center;justify-content:center;gap:clamp(6px,1.5vw,12px);line-height:1}.op-expr{color:var(--ink)}.op-eq{color:var(--amber)}.op-q{color:var(--amber);min-width:1.4em;display:inline-block;transition:color .16s}.op-q.is-correct{color:var(--forest)}.op-q.is-wrong{color:var(--danger)}.question-verbal{font-family:var(--font-body);font-size:clamp(.82rem,2vw,.95rem);color:var(--ink-soft);text-align:center;margin:8px 0 0;line-height:1.4}.answers{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(8px,2vw,12px);width:100%;max-width:560px}.answer-btn{background:var(--paper);color:var(--ink);border:2px solid transparent;border-radius:var(--radius-card);padding:clamp(14px,3vw,20px) 8px;min-height:80px;min-width:48px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:var(--shadow-soft);transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s;cursor:pointer;font-family:var(--font-display)}.answer-btn:hover:not(:disabled){transform:translateY(-3px);border-color:var(--amber);box-shadow:0 10px 24px #00000040}.answer-btn:disabled{cursor:default}.answer-btn:focus-visible{outline:3px solid var(--amber);outline-offset:3px}.answer-key{font-size:.62rem;color:var(--ink-soft);background:var(--cream);border-radius:var(--radius-pill);padding:1px 7px;letter-spacing:.08em}.answer-value{font-size:clamp(1.4rem,5vw,2rem);font-weight:600;color:var(--forest)}.answer-btn.is-correct{background:var(--forest-soft);border-color:var(--forest)}.answer-btn.is-correct .answer-value{color:var(--forest)}.answer-btn.is-wrong{background:var(--danger-soft);border-color:var(--danger)}.answer-btn.is-wrong .answer-value{color:var(--danger)}.feedback{min-height:2.2em;font-family:var(--font-display);border-radius:14px;padding:8px 16px;text-align:center;color:transparent;transition:background .16s,color .16s;width:100%;max-width:560px}.feedback-correct{background:var(--forest-soft);color:var(--forest);border:1.5px solid var(--forest)}.feedback-wrong{background:var(--danger-soft);color:var(--danger);border:1.5px solid var(--danger)}.btn-end{font-size:.9rem;color:#d6e7ddb3;text-decoration:underline;text-underline-offset:3px;padding:8px 16px;min-height:44px;cursor:pointer;transition:color .12s;background:none;border:none}.btn-end:hover{color:var(--paper)}.btn-end:focus-visible{outline:2px solid var(--paper);outline-offset:2px;border-radius:6px}.overlay{position:absolute;inset:0;z-index:8;display:flex;align-items:center;justify-content:center;padding:clamp(20px,4vw,40px);background:#081c129e;animation:overlay-in .26s ease-out;overflow-y:auto}@keyframes overlay-in{0%{opacity:0}to{opacity:1}}.panel{background:var(--paper);color:var(--ink);border-radius:var(--radius-card);padding:clamp(24px,5vw,40px);box-shadow:var(--shadow-card);max-width:480px;width:100%;text-align:center;animation:panel-in .34s cubic-bezier(.2,.8,.2,1)}@keyframes panel-in{0%{opacity:0;transform:translateY(12px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.panel h2{font-family:var(--font-display);font-size:clamp(1.4rem,4.5vw,1.9rem);margin:0 0 8px;letter-spacing:-.01em}.panel p{margin:0 0 12px;color:var(--ink-soft);font-size:clamp(.9rem,2.2vw,1rem);line-height:1.5}.panel-kicker{font-family:var(--font-display);text-transform:uppercase;font-size:.68rem;letter-spacing:.12em;color:var(--amber);margin:0 0 6px}.result-flavor{font-size:clamp(.9rem,2.2vw,1rem);color:var(--ink-soft);margin:0 0 16px}.result-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(90px,1fr));gap:10px;margin:0 0 12px}.stat{background:var(--paper-soft);border-radius:14px;padding:12px 8px;border:1px solid var(--amber-soft)}.stat-highlight{border-color:var(--gold);background:var(--gold-soft)}.stat-value{font-family:var(--font-display);font-size:1.4rem;color:var(--amber);line-height:1.1}.stat-highlight .stat-value{color:var(--gold)}.stat-label{font-size:.68rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}.result-alltime{font-size:.82rem;color:var(--ink-soft);margin:0 0 10px}.result-alltime strong{color:var(--gold)}.result-record{margin:10px 0 0;padding:12px;border-radius:14px;background:var(--amber-soft);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid var(--amber);animation:bubble-in .3s ease-out}.result-record span{font-size:1.4rem;line-height:1}.result-record strong{font-family:var(--font-display);font-weight:500}.result-mastery{margin:10px 0 0;padding:12px;border-radius:14px;background:var(--gold-soft);color:var(--ink);display:flex;align-items:center;justify-content:center;gap:10px;border:2px solid var(--gold);animation:bubble-in .3s ease-out}.result-mastery span{font-size:1.4rem;line-height:1}.result-mastery strong{font-family:var(--font-display);font-weight:500}@keyframes bubble-in{0%{opacity:0;transform:translateY(6px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}.result-actions{display:flex;flex-direction:column;gap:8px;align-items:center;margin-top:20px}.btn-primary{background:var(--amber);color:#fff;font-family:var(--font-display);font-weight:500;font-size:1.05rem;padding:12px 28px;min-height:48px;min-width:160px;border-radius:var(--radius-pill);box-shadow:0 6px 16px #ff7a4559;transition:transform .12s ease,box-shadow .12s ease,background .12s ease;display:inline-flex;align-items:center;justify-content:center;gap:6px}.btn-primary:hover{background:#e86a35}.btn-primary:active{transform:translateY(1px);box-shadow:0 3px 10px #ff7a454d}.btn-primary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}.btn-secondary{background:transparent;color:var(--ink-soft);font-family:var(--font-body);font-size:.95rem;padding:8px 16px;min-height:40px;text-decoration:underline;text-underline-offset:3px;transition:color .12s}.btn-secondary:hover{color:var(--ink)}.btn-secondary:focus-visible{outline:2px solid var(--ink);outline-offset:2px;border-radius:6px}.star{font-size:.85rem;line-height:1}.star-filled{color:var(--gold)}.star-empty{color:#d6e7dd4d}.menu-xp-bar-wrap{margin:12px auto 0;max-width:600px;width:100%}.menu-xp-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.menu-xp-rank{font-family:var(--font-display);font-size:.82rem;color:var(--sky-soft)}.menu-xp-hint{font-size:.72rem;color:#d6e7dd8c}.menu-xp-max{color:var(--gold)}.menu-xp-track{height:8px;background:var(--xp-bar-bg);border-radius:var(--radius-pill);overflow:hidden}.menu-xp-fill{height:100%;background:var(--xp-bar);border-radius:var(--radius-pill);transition:width .6s ease-out;min-width:4px}.menu-nav-row{display:flex;gap:10px;justify-content:center;margin-top:14px}.btn-nav{background:#faf8f314;border:1.5px solid rgba(214,231,221,.22);border-radius:var(--radius-pill);color:var(--paper);font-family:var(--font-display);font-size:.9rem;padding:10px 18px;min-height:48px;cursor:pointer;transition:background .14s,border-color .14s;display:inline-flex;align-items:center;gap:6px;position:relative}.btn-nav:hover{background:#faf8f329;border-color:var(--amber)}.btn-nav:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.btn-nav-has-badges{border-color:#d4a01780}.badge-count{background:var(--gold);color:var(--space-deep);font-size:.65rem;font-weight:700;border-radius:var(--radius-pill);padding:1px 6px;line-height:1.4}.op-stars{display:flex;gap:1px;justify-content:center;margin-top:2px}.combo-meter{display:flex;align-items:center;gap:8px;opacity:0;transition:opacity .2s;max-width:200px}.combo-meter.is-active{opacity:1}.combo-meter-track{flex:1;height:8px;border-radius:var(--radius-pill);overflow:hidden;background:#ff7a452e}.combo-meter-bar{height:100%;border-radius:var(--radius-pill);background:var(--amber);transition:width .16s ease-out}.combo-meter-label{font-family:var(--font-display);font-size:1rem;font-weight:600;color:var(--amber);min-width:2.2em;text-align:center}.combo-meter-label.is-pulse{animation:combo-pulse .3s ease-out}@keyframes combo-pulse{0%{transform:scale(1.4);color:var(--gold)}to{transform:scale(1);color:var(--amber)}}.combo-meter.combo-glow-2 .combo-meter-bar{background:var(--amber)}.combo-meter.combo-glow-2 .combo-meter-label{color:var(--amber)}.combo-meter.combo-glow-3 .combo-meter-bar{background:var(--gold)}.combo-meter.combo-glow-3 .combo-meter-label{color:var(--gold)}.combo-meter.combo-glow-4 .combo-meter-bar{background:var(--purple)}.combo-meter.combo-glow-4 .combo-meter-label{color:var(--purple)}.question-card.combo-border-2{box-shadow:0 0 0 3px var(--amber),var(--shadow-card)}.question-card.combo-border-3{box-shadow:0 0 0 3px var(--gold),var(--shadow-card);animation:border-pulse 1s ease-in-out infinite alternate}.question-card.combo-border-4{box-shadow:0 0 0 4px var(--purple),var(--shadow-card);animation:border-pulse .7s ease-in-out infinite alternate}@keyframes border-pulse{0%{box-shadow:0 0 0 3px var(--gold),var(--shadow-card)}to{box-shadow:0 0 8px 4px var(--gold),var(--shadow-card)}}.result-xp-gain{background:var(--xp-bar-bg);border:1px solid rgba(111,168,201,.3);border-radius:14px;padding:12px 16px;margin:12px 0 0;display:flex;flex-direction:column;gap:6px;align-items:flex-start}.result-xp-icon{font-size:1.1rem}.result-xp-amount{font-family:var(--font-display);font-size:1.1rem;color:var(--sky);font-weight:600}.result-xp-track{width:100%;height:8px;background:#6fa8c926;border-radius:var(--radius-pill);overflow:hidden}.result-xp-fill{height:100%;background:var(--xp-bar);border-radius:var(--radius-pill);transition:width .8s ease-out;min-width:4px}.result-xp-label{font-size:.72rem;color:#6fa8c9cc;font-family:var(--font-display)}.result-stars{display:flex;justify-content:center;gap:4px;margin:4px 0 8px}.result-stars .star{font-size:1.6rem}.result-events{display:flex;flex-direction:column;gap:8px;margin:8px 0 0}.result-event{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;font-size:.9rem;animation:bubble-in .35s ease-out both;font-family:var(--font-display)}.result-event-levelup{background:linear-gradient(135deg,#d4a01733,#ff7a4526);border:1.5px solid var(--gold);color:var(--ink)}.result-event-planet{background:linear-gradient(135deg,#6fa8c933,#2d6a4f26);border:1.5px solid var(--sky);color:var(--ink)}.result-event-achievement{background:linear-gradient(135deg,#7c4dff1f,#6fa8c91f);border:1.5px solid rgba(124,77,255,.5);color:var(--ink);flex-wrap:wrap}.result-event>span:first-child{font-size:1.3rem;flex-shrink:0}.result-ach-desc{font-size:.72rem;opacity:.7;font-family:var(--font-body);display:block;width:100%;margin-top:2px}.journey-screen{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,13vw,88px) clamp(14px,3vw,28px) clamp(20px,4vw,32px);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:overlay-in .26s ease-out;color:var(--paper);gap:16px}.journey-header{text-align:center;max-width:560px;width:100%}.journey-title{font-family:var(--font-display);font-size:clamp(1.4rem,4.5vw,2rem);margin:0 0 4px;color:var(--paper)}.journey-subtitle{font-family:var(--font-display);font-size:1rem;color:var(--sky-soft);margin:0 0 12px}.journey-xp-wrap{max-width:360px;margin:0 auto}.journey-xp-track{height:10px;background:var(--xp-bar-bg);border-radius:var(--radius-pill);overflow:hidden;margin-bottom:6px}.journey-xp-fill{height:100%;background:var(--xp-bar);border-radius:var(--radius-pill);min-width:4px}.journey-xp-hint{font-size:.78rem;color:#d6e7dd99;text-align:center;margin:0}.journey-xp-max{color:var(--gold)}.journey-trail{list-style:none;padding:0;margin:0;width:100%;max-width:480px;display:flex;flex-direction:column;gap:12px}.journey-stop{display:flex;align-items:center;gap:14px;background:#faf8f30f;border:1.5px solid rgba(214,231,221,.15);border-radius:var(--radius-card);padding:14px 16px;cursor:default;transition:background .14s;min-height:72px}.journey-stop:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.journey-stop.is-reached{border-color:#6fa8c966;background:#6fa8c914}.journey-stop.is-current{border-color:var(--amber);background:#ff7a451a;box-shadow:0 0 0 2px #ff7a4540}.journey-stop.is-locked{opacity:.55;filter:saturate(.4)}.journey-stop-icon{position:relative;font-size:2rem;flex-shrink:0;width:48px;height:48px;display:flex;align-items:center;justify-content:center}.journey-rocket{position:absolute;top:-8px;right:-6px;font-size:1rem;animation:rocket-bob 1.2s ease-in-out infinite alternate}@keyframes rocket-bob{0%{transform:translateY(0)}to{transform:translateY(-4px)}}.journey-planet{font-size:2rem}.journey-stop-info{flex:1;display:flex;flex-direction:column;gap:2px}.journey-stop-destination{font-family:var(--font-display);font-size:1.05rem;color:var(--paper)}.journey-stop-title{font-size:.75rem;color:#d6e7dda6;font-family:var(--font-display)}.journey-stop-lock{font-size:.72rem;color:#d6e7dd80;margin-top:2px}.journey-stop-done{font-size:.72rem;color:var(--sky-soft);margin-top:2px}.journey-stop-level{font-family:var(--font-display);font-size:.78rem;color:#d6e7dd80;flex-shrink:0}.journey-back-btn{margin-top:8px;margin-bottom:16px}.achievements-screen{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;align-items:center;padding:clamp(56px,13vw,88px) clamp(14px,3vw,28px) clamp(20px,4vw,32px);overflow-y:auto;-webkit-overflow-scrolling:touch;animation:overlay-in .26s ease-out;color:var(--paper);gap:16px}.achievements-header{text-align:center;max-width:560px;width:100%}.achievements-title{font-family:var(--font-display);font-size:clamp(1.4rem,4.5vw,2rem);margin:0 0 6px}.achievements-counter{font-family:var(--font-display);font-size:.9rem;color:#d6e7ddb3;margin:0}.achievements-grid{list-style:none;padding:0;margin:0;width:100%;max-width:560px;display:flex;flex-direction:column;gap:10px}.achievement-card{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:var(--radius-card);border:1.5px solid rgba(214,231,221,.15);background:#faf8f30f;cursor:default;transition:background .14s;min-height:72px}.achievement-card:focus-visible{outline:3px solid var(--amber);outline-offset:2px}.achievement-card.is-unlocked{border-color:#6fa8c966;background:#6fa8c914}.achievement-card.is-locked{opacity:.5;filter:grayscale(.5)}.achievement-icon{font-size:1.8rem;flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.achievement-info{flex:1;display:flex;flex-direction:column;gap:3px}.achievement-title{font-family:var(--font-display);font-size:.95rem;color:var(--paper)}.achievement-desc{font-size:.72rem;color:#d6e7dd99;line-height:1.3}.achievement-badge{font-size:1.1rem;color:var(--sky-soft);flex-shrink:0}.achievement-lock{font-size:.9rem;opacity:.5;flex-shrink:0}.achievements-back-btn{margin-top:8px;margin-bottom:16px}@media (max-width: 420px){.op-grid{grid-template-columns:repeat(3,1fr)}.answers{grid-template-columns:repeat(2,1fr)}.answer-btn{min-height:72px}}@media (max-width: 320px){.answers{grid-template-columns:1fr 1fr}}@media (max-height: 520px){.session-screen{padding-top:clamp(44px,8vw,58px);gap:8px}.menu-screen{padding-top:clamp(44px,9vw,60px)}.question-card{padding:14px 16px}}@media (prefers-reduced-motion: reduce){.menu-screen,.session-screen,.journey-screen,.achievements-screen,.overlay,.panel,.question-card.is-pop,.result-record,.result-mastery,.result-event,.time-bonus,.star-dot,.journey-rocket,.combo-meter-label{animation:none!important}.btn-primary,.op-card,.diff-chip,.mode-chip,.answer-btn,.timer-bar,.stat-combo,.combo-meter,.combo-meter-bar,.menu-xp-fill,.result-xp-fill,.question-card{transition:none!important}.starfield{display:none}.question-card.combo-border-3,.question-card.combo-border-4{animation:none!important}}
