@import "https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Roboto+Slab:wght@500;700;900&display=swap";:root{--font-display:"Roboto Slab", Georgia, serif;--font-body:"Inter", system-ui, sans-serif;--bg:#0a0612;--bg-2:#140b24;--panel:#170c2cb8;--panel-solid:#170c2c;--border:#ff2ecc59;--text:#f4e9ff;--text-dim:#b79fd6;--neon-pink:#ff2ecc;--neon-cyan:#21e6ff;--neon-lime:#b6ff3d;--neon-amber:#ffb02e;--danger:#ff3b6b;--success:#35f0a0;--accent:var(--neon-pink);--radius:16px;--shadow-neon:0 0 18px #ff2ecc8c, 0 0 44px #21e6ff40;--crt-opacity:1;--chroma:1;--scanline-alpha:.1}body[data-theme=minimal]{--font-display:"Inter", system-ui, sans-serif;--font-body:"Inter", system-ui, sans-serif;--bg:#0f1115;--bg-2:#0f1115;--panel:#191c22;--panel-solid:#191c22;--border:#2b2f38;--text:#eef1f6;--text-dim:#9aa3b2;--neon-pink:#6366f1;--neon-cyan:#06b6d4;--neon-lime:#22c55e;--neon-amber:#f59e0b;--danger:#ef4444;--success:#22c55e;--accent:#6366f1;--shadow-neon:0 6px 20px #00000059;--crt-opacity:0;--chroma:0;--scanline-alpha:0}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-body);color:var(--text);background:radial-gradient(1200px 600px at 50% -10%, var(--bg-2), transparent 60%), var(--bg);-webkit-font-smoothing:antialiased;background-attachment:fixed;min-height:100vh;margin:0;transition:background .4s,color .4s}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;margin:0}button{cursor:pointer;font-family:inherit}.chroma{text-shadow:calc(2px * var(--chroma)) 0 #ff0050b3, calc(-2px * var(--chroma)) 0 #00c8ffb3}.neon-text{color:#fff;text-shadow:0 0 6px var(--accent), 0 0 18px var(--accent), 0 0 40px #ff2ecc66}body[data-theme=minimal] .neon-text{color:var(--text);text-shadow:none}.panel{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}body[data-theme=minimal] .panel{-webkit-backdrop-filter:none;backdrop-filter:none}.btn{border:1px solid var(--border);color:var(--text);background:linear-gradient(#ffffff0f,#0003);border-radius:12px;padding:.7rem 1.1rem;font-size:.95rem;font-weight:600;transition:transform 80ms,box-shadow .2s,background .2s}.btn:hover{box-shadow:var(--shadow-neon);transform:translateY(-1px)}.btn:active{transform:translateY(2px)scale(.99)}.btn:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-primary{background:linear-gradient(180deg, var(--neon-pink), #b5188f);color:#fff;font-family:var(--font-display);letter-spacing:.04em;text-transform:uppercase;border-color:#0000}body[data-theme=arcade] .btn-primary.pulse{animation:1.6s ease-in-out infinite pulse}@keyframes pulse{0%,to{box-shadow:0 0 #ff2ecc00}50%{box-shadow:0 0 26px #ff2eccbf}}.btn-ghost{background:0 0}.crt-overlay{pointer-events:none;z-index:9999;opacity:var(--crt-opacity);mix-blend-mode:overlay;position:fixed;inset:0}.crt-overlay:before{content:"";background:repeating-linear-gradient(to bottom, rgba(0, 0, 0, var(--scanline-alpha)) 0px, rgba(0, 0, 0, var(--scanline-alpha)) 1px, transparent 2px, transparent 3px);position:absolute;inset:0}.crt-overlay:after{content:"";background:radial-gradient(120% 120%,#0000 60%,#0000008c 100%);animation:4s steps(60,end) infinite flicker;position:absolute;inset:0}@keyframes flicker{0%,to{opacity:.92}50%{opacity:1}53%{opacity:.88}}@media (prefers-reduced-motion:reduce){.crt-overlay:after,.btn-primary.pulse{animation:none}}.visually-hidden{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.app-shell{z-index:1;width:100%;margin:0 auto;padding:1.25rem clamp(.9rem,3.5vw,3rem) 4rem;position:relative}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.1rem;display:flex}.topbar-actions{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.tabs{flex-wrap:wrap;gap:.4rem;margin-bottom:-1px;padding:0 .4rem;display:flex}.tab{border:1px solid var(--border);background:color-mix(in srgb, var(--panel-solid) 55%, transparent);color:var(--text-dim);font-family:var(--font-display);letter-spacing:.02em;border-bottom:none;border-radius:12px 12px 0 0;align-items:center;gap:.5rem;padding:.6rem 1.1rem;font-size:.9rem;font-weight:700;transition:color .2s,background .2s,transform .1s;display:inline-flex;position:relative}.tab:hover:not(:disabled){color:var(--text);transform:translateY(-2px)}.tab.active{color:#fff;background:var(--panel-solid);box-shadow:0 -3px 0 0 var(--accent) inset, var(--shadow-neon)}body[data-theme=minimal] .tab.active{color:var(--text);box-shadow:0 -3px 0 0 var(--accent) inset}.tab:disabled{opacity:.5;cursor:not-allowed}.tab-icon{font-size:1rem}.tab-soon{font-family:var(--font-body);letter-spacing:.1em;text-transform:uppercase;color:var(--text-dim);background:#ffffff1a;border-radius:6px;padding:.1rem .35rem;font-size:.58rem}.app-container{border-radius:0 16px 16px;min-height:60vh;padding:clamp(1rem,2.5vw,1.8rem)}.brand{flex-direction:column;line-height:1;display:flex}.brand .brand-title{font-family:var(--font-display);text-transform:uppercase;letter-spacing:.06em;font-size:clamp(1.4rem,3.6vw,2rem);font-weight:900}.brand .brand-sub{color:var(--text-dim);letter-spacing:.28em;text-transform:uppercase;margin-top:.35rem;font-size:.72rem}.theme-toggle{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:999px;align-items:center;gap:.5rem;padding:.4rem .85rem;font-size:.8rem;font-weight:600;display:inline-flex}.theme-toggle .dot{background:var(--accent);width:10px;height:10px;box-shadow:0 0 10px var(--accent);border-radius:50%}.lobby-grid{gap:1.25rem;display:grid}.section-title{text-transform:uppercase;letter-spacing:.22em;color:var(--text-dim);margin:0 0 .75rem;font-size:.78rem}.stat-cards{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.85rem;display:grid}.stat-card{border:1px solid var(--border);background:var(--panel);text-align:left;color:var(--text);cursor:pointer;border-radius:14px;padding:1rem;transition:transform .1s,box-shadow .2s,border-color .2s;position:relative}.stat-card:hover{box-shadow:var(--shadow-neon);transform:translateY(-2px)}.stat-card.selected{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent) inset, var(--shadow-neon)}.stat-card .stat-value{font-family:var(--font-display);font-size:2rem;font-weight:900;line-height:1}.stat-card .stat-label{color:var(--text-dim);margin-top:.4rem;font-size:.82rem}.stat-card .stat-mode{letter-spacing:.12em;text-transform:uppercase;color:var(--accent);opacity:0;margin-top:.5rem;font-size:.66rem;transition:opacity .2s}.stat-card:hover .stat-mode,.stat-card.selected .stat-mode{opacity:1}.stat-card .check{font-size:.9rem;position:absolute;top:.6rem;right:.7rem}.stat-card.pool-correct.selected{--accent:var(--success)}.stat-card.pool-incorrect.selected{--accent:var(--danger)}.stat-card.pool-marked.selected{--accent:var(--neon-amber)}.config-row{grid-template-columns:1fr 1fr;gap:1.25rem;display:grid}@media (width<=720px){.config-row{grid-template-columns:1fr}}.toggle-line{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:.75rem;padding:.65rem 0;display:flex}.toggle-line:last-child{border-bottom:none}.toggle-line .label{font-size:.9rem}.toggle-line .hint{color:var(--text-dim);margin-top:.15rem;font-size:.72rem}.switch{--w:46px;--h:26px;width:var(--w);height:var(--h);border:1px solid var(--border);background:#00000059;border-radius:999px;flex:none;transition:background .2s;position:relative}.switch[data-on=true]{background:var(--accent);border-color:#0000}.switch .knob{width:calc(var(--h) - 6px);height:calc(var(--h) - 6px);background:#fff;border-radius:50%;transition:transform .2s;position:absolute;top:2px;left:2px}.switch[data-on=true] .knob{transform:translateX(calc(var(--w) - var(--h)))}.amount-select{flex-wrap:wrap;gap:.5rem;display:flex}.amount-chip{border:1px solid var(--border);background:var(--panel);color:var(--text);font-weight:700;font-family:var(--font-display);border-radius:10px;padding:.5rem .95rem}.amount-chip[data-on=true]{background:var(--accent);color:#fff;box-shadow:var(--shadow-neon);border-color:#0000}.lobby-actions{flex-wrap:wrap;align-items:center;gap:.85rem;display:flex}.lobby-actions .spacer{flex:1}.pool-info{color:var(--text-dim);font-size:.8rem}.exam-hud{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.progress-track{background:#ffffff14;border-radius:999px;flex:1;min-width:160px;height:8px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;box-shadow:0 0 10px var(--accent);transition:width .3s}.combo-meter{font-family:var(--font-display);align-items:center;gap:.4rem;font-size:1.15rem;font-weight:900;display:inline-flex}.combo-meter .flame{font-size:1.3rem}.timer{font-family:var(--font-display);font-variant-numeric:tabular-nums;border:1px solid var(--border);border-radius:10px;padding:.35rem .7rem;font-weight:700}.timer.warn{color:var(--danger);border-color:var(--danger);animation:1s infinite pulse}.score-pill{font-family:var(--font-display);color:var(--neon-cyan);font-weight:900}.q-card{border-radius:20px;padding:clamp(1.1rem,3vw,2rem)}.q-meta{letter-spacing:.16em;text-transform:uppercase;color:var(--text-dim);font-size:.72rem}.q-text{font-family:var(--font-display);margin:.6rem 0 1.3rem;font-size:clamp(1.1rem,2.6vw,1.5rem);font-weight:700;line-height:1.35}.options{gap:.7rem;display:grid}.option{text-align:left;border:1px solid var(--border);width:100%;color:var(--text);background:linear-gradient(#ffffff0d,#00000026);border-radius:12px;align-items:flex-start;gap:.85rem;padding:.9rem 1rem;font-size:.98rem;line-height:1.35;transition:transform 80ms,box-shadow .2s,border-color .2s,background .2s,opacity .2s;display:flex}.option:not(:disabled):hover{box-shadow:var(--shadow-neon);transform:translateY(-1px)}.option:not(:disabled):active{transform:translateY(3px)scale(.995)}.option .badge{width:28px;height:28px;font-weight:800;font-family:var(--font-display);border:1px solid var(--border);background:#ffffff14;border-radius:8px;flex:none;place-items:center;display:grid}.option.correct{border-color:var(--success);background:linear-gradient(#35f0a02e,#35f0a00f)}.option.correct .badge{background:var(--success);color:#062}.option.incorrect{border-color:var(--danger);background:linear-gradient(#ff3b6b2e,#ff3b6b0f)}.option.incorrect .badge{background:var(--danger);color:#400}.option.eliminated{opacity:.25;pointer-events:none;text-decoration:line-through}.option:disabled{cursor:default}.explanation{border-left:3px solid var(--accent);color:var(--text-dim);background:#ffffff0a;border-radius:12px;margin-top:1rem;padding:.9rem 1rem;font-size:.9rem}.exam-footer{flex-wrap:wrap;align-items:center;gap:.7rem;margin-top:1.2rem;display:flex}.jokers{gap:.6rem;display:flex}.joker{border:1px solid var(--border);background:var(--panel);color:var(--text);border-radius:10px;align-items:center;gap:.4rem;padding:.5rem .8rem;font-size:.85rem;font-weight:700;display:inline-flex}.joker:disabled{opacity:.35}.joker .count{color:var(--accent)}.bloom-3{filter:drop-shadow(0 0 6px var(--accent))}.bloom-5{filter:drop-shadow(0 0 14px var(--accent)) saturate(1.15)}.bloom-7{filter:drop-shadow(0 0 22px var(--accent)) saturate(1.3) brightness(1.05)}.results-head{text-align:center;margin-bottom:1.5rem}.results-head .grade{font-family:var(--font-display);font-size:clamp(3rem,12vw,6rem);font-weight:900;line-height:1}.results-head .verdict{color:var(--text-dim);letter-spacing:.1em;text-transform:uppercase;margin-top:.4rem;font-size:.85rem}.stat-deck{perspective:1000px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:1rem;display:grid}.deck-card{border:1px solid var(--border);background:var(--panel);text-align:center;border-radius:16px;padding:1.2rem}.deck-card .k{text-transform:uppercase;letter-spacing:.16em;color:var(--text-dim);font-size:.72rem}.deck-card .v{font-family:var(--font-display);margin-top:.35rem;font-size:2.2rem;font-weight:900}.deck-card.good .v{color:var(--success)}.deck-card.bad .v{color:var(--danger)}.deck-card.hi .v{color:var(--neon-cyan)}.deck-card.combo .v{color:var(--neon-amber)}.results-actions{flex-wrap:wrap;justify-content:center;gap:.85rem;margin-top:1.8rem;display:flex}.mark-btn{border:1px solid var(--border);background:var(--panel);color:var(--text-dim);border-radius:10px;padding:.45rem .75rem;font-size:.8rem;font-weight:600}.mark-btn[data-on=true]{color:var(--neon-amber);border-color:var(--neon-amber)}.arcade-bg{z-index:0;pointer-events:none;transition:opacity .5s;position:fixed;inset:0;overflow:hidden}body[data-theme=minimal] .arcade-bg{opacity:0}.arcade-bg .blob{filter:blur(90px);opacity:.5;mix-blend-mode:screen;border-radius:50%;width:46vmax;height:46vmax;position:absolute}.arcade-bg .blob-1{background:radial-gradient(circle, var(--neon-pink), transparent 65%);animation:18s ease-in-out infinite drift1;top:-14vmax;left:-8vmax}.arcade-bg .blob-2{background:radial-gradient(circle, var(--neon-cyan), transparent 65%);animation:22s ease-in-out infinite drift2;bottom:-18vmax;right:-10vmax}.arcade-bg .blob-3{background:radial-gradient(circle,#8a2be2,#0000 65%);animation:26s ease-in-out infinite drift3;top:30%;left:55%}@keyframes drift1{0%,to{transform:translate(0)scale(1)}50%{transform:translate(10vmax,8vmax)scale(1.18)}}@keyframes drift2{0%,to{transform:translate(0)scale(1.1)}50%{transform:translate(-12vmax,-6vmax)scale(.9)}}@keyframes drift3{0%,to{transform:translate(0)scale(.9)}50%{transform:translate(-8vmax,10vmax)scale(1.2)}}.arcade-bg .grid-floor{transform-origin:bottom;opacity:.7;background-image:linear-gradient(#ff2ecc47 1px,#0000 1px),linear-gradient(90deg,#21e6ff38 1px,#0000 1px);background-size:46px 46px;height:65%;animation:3.2s linear infinite gridscroll;position:absolute;bottom:-10%;left:-50%;right:-50%;transform:perspective(340px)rotateX(64deg);-webkit-mask-image:linear-gradient(#0000 15%,#000 90%);mask-image:linear-gradient(#0000 15%,#000 90%)}@keyframes gridscroll{0%{background-position:0 0}to{background-position:0 46px}}body[data-theme=arcade] .app-container,body[data-theme=arcade] .q-card{position:relative}body[data-theme=arcade] .app-container:before{content:"";border-radius:inherit;background:linear-gradient(120deg, var(--neon-pink), var(--neon-cyan), var(--neon-lime), var(--neon-pink));-webkit-mask-composite:xor;opacity:.7;pointer-events:none;background-size:300% 300%;padding:1px;animation:6s linear infinite borderflow;position:absolute;inset:-1px;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;mask-position:0 0,0 0;-webkit-mask-size:auto,auto;mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes borderflow{0%{background-position:0%}to{background-position:300%}}.answer-flash{z-index:50;pointer-events:none;position:fixed;inset:0}.answer-flash.correct{background:radial-gradient(circle,#35f0a066,#0000 60%)}.answer-flash.incorrect{background:radial-gradient(circle,#ff3b6b73,#0000 60%)}body[data-theme=arcade] .q-card.pop{animation:.4s cardpop}@keyframes cardpop{0%{transform:scale(1)}35%{box-shadow:0 0 40px var(--success);transform:scale(1.02)}to{transform:scale(1)}}.q-card.shake{animation:.4s shake}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-9px)rotate(-.6deg)}40%{transform:translate(8px)rotate(.6deg)}60%{transform:translate(-6px)}80%{transform:translate(4px)}}.score-wrap{align-items:center;display:inline-flex;position:relative}.score-pop{white-space:nowrap;font-family:var(--font-display);color:var(--neon-lime);text-shadow:0 0 10px var(--neon-lime);pointer-events:none;margin-left:.4rem;font-weight:900;position:absolute;left:100%}@media (prefers-reduced-motion:reduce){.arcade-bg .blob,.arcade-bg .grid-floor,.app-container:before,.q-card.pop,.q-card.shake{animation:none!important}}
