:root{--bg: #0f1424;--bg-2: #1a2138;--ink: #f4ecd8;--ink-dim: #b9b09a;--accent: #f9c74f;--accent-2: #f9844a;--good: #5ec98d;--bad: #e25c5c;--lane-left: #5ec9c9;--lane-right: #f9844a;--lane-center: #c6a6ff;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px)}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;width:100%;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,Inter,Nunito,Segoe UI,system-ui,sans-serif;overflow:hidden;overscroll-behavior:none;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;touch-action:none}#app{position:fixed;inset:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:radial-gradient(1200px 800px at 20% 10%,#2a2554 0%,transparent 60%),radial-gradient(900px 700px at 80% 90%,#4b2a44 0%,transparent 60%),linear-gradient(180deg,#0f1424,#0a0f1f)}#app canvas{display:block;position:static!important;margin:0!important;transform:none!important}.dom-overlay{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:max(24px,var(--safe-top)) 20px max(24px,var(--safe-bottom));pointer-events:none}.dom-overlay.show{pointer-events:auto}.panel{width:min(440px,100%);background:#141a30eb;backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.08);border-radius:18px;padding:22px;box-shadow:0 20px 60px #00000073}.title{font-size:clamp(34px,8vw,52px);letter-spacing:.02em;margin:0 0 6px;font-weight:800;background:linear-gradient(180deg,var(--accent) 0%,var(--accent-2) 100%);-webkit-background-clip:text;background-clip:text;color:transparent}.subtitle{margin:0 0 18px;color:var(--ink-dim);font-size:15px;line-height:1.4}.btn{appearance:none;border:1px solid rgba(255,255,255,.1);background:var(--bg-2);color:var(--ink);font:inherit;font-weight:600;font-size:16px;padding:14px 16px;border-radius:12px;width:100%;cursor:pointer;text-align:left;transition:transform .08s ease,background .12s ease,border-color .12s ease}.btn:hover{background:#232c4a;border-color:#ffffff2e}.btn:active{transform:translateY(1px)}.btn--primary{background:linear-gradient(180deg,var(--accent),var(--accent-2));color:#261a06;border:none;text-align:center;font-size:18px}.btn--ghost{background:transparent}.btn+.btn{margin-top:10px}.row{display:flex;gap:10px}.row .btn{flex:1}.section-label{text-transform:uppercase;letter-spacing:.1em;font-size:11px;color:var(--ink-dim);margin:14px 0 8px}.scroll{max-height:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-right:4px}.missed-item{border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:12px 14px;margin-bottom:10px;background:#ffffff05}.missed-item .q{font-size:16px;margin:0 0 6px}.missed-item .a{font-size:14px;color:var(--ink-dim);margin:0 0 4px}.missed-item .a .correct{color:var(--good);font-weight:600}.missed-item .a .wrong{color:var(--bad);text-decoration:line-through}.missed-item .why{font-size:13px;color:var(--ink-dim);margin:0;font-style:italic}.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:4px 0 14px}.stat{background:#ffffff0a;border-radius:10px;padding:10px 12px}.stat .k{font-size:11px;color:var(--ink-dim);text-transform:uppercase;letter-spacing:.08em}.stat .v{font-size:22px;font-weight:700}.reduced-motion *{transition:none!important;animation:none!important}
