:root{
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --bg:#0c1020;--panel:rgba(18,23,43,.86);--line:rgba(255,255,255,.11);
  --text:#fbfbff;--muted:#aab1c7;--accent:#8b7cff;--accent2:#ff6aa2;
}
*{box-sizing:border-box}
html,body{margin:0;min-height:100%;background:
radial-gradient(circle at 10% 10%,rgba(139,124,255,.18),transparent 34%),
radial-gradient(circle at 90% 88%,rgba(255,106,162,.14),transparent 30%),var(--bg);color:var(--text)}
body{min-height:100vh;overflow-x:hidden}
button,input{font:inherit}
#app{min-height:100vh;display:grid;place-items:center;padding:20px;position:relative;z-index:2}
.ambient{position:fixed;width:260px;height:260px;border-radius:50%;filter:blur(70px);opacity:.3;pointer-events:none}
.ambient.a{left:-80px;top:5%;background:#7568ff}.ambient.b{right:-80px;bottom:5%;background:#ff5f9c}
.shell{width:min(100%,460px)}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.brand{font-size:13px;letter-spacing:.16em;font-weight:900}
.top-action{border:1px solid var(--line);background:rgba(255,255,255,.05);color:#fff;border-radius:999px;padding:9px 13px;font-size:12px;font-weight:800}
.progress{height:7px;background:rgba(255,255,255,.08);border-radius:99px;overflow:hidden;margin-bottom:16px}
.progress>div{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));border-radius:99px;transition:width .28s ease}
.card{min-height:560px;border:1px solid var(--line);border-radius:34px;padding:28px;background:
linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.018)),var(--panel);
backdrop-filter:blur(20px);box-shadow:0 28px 80px rgba(0,0,0,.38);
display:flex;flex-direction:column;justify-content:space-between;animation:cardIn .34s cubic-bezier(.2,.8,.2,1)}
@keyframes cardIn{from{opacity:0;transform:translateY(14px) scale(.985)}to{opacity:1;transform:none}}
.hero-badge{display:inline-flex;padding:8px 12px;border:1px solid var(--line);border-radius:999px;color:#d8dbeb;font-size:12px;font-weight:800;background:rgba(255,255,255,.05)}
.hero-mark{font-size:74px;margin-top:26px}.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:#b8bed0;font-weight:900}
h1{font-size:42px;line-height:.98;letter-spacing:-.04em;margin:12px 0 0}
h2{font-size:30px;line-height:1.05;letter-spacing:-.03em;margin:10px 0}
p{color:var(--muted);line-height:1.5;margin:14px 0 0}
.question-emoji{font-size:72px;line-height:1;margin-top:22px}.question-number{margin-top:20px;color:#c9cde0;font-size:12px;font-weight:900;letter-spacing:.15em}
.answer-grid{display:grid;grid-template-columns:1fr 1fr;gap:13px;margin-top:28px}
.btn{border:0;border-radius:20px;padding:17px 18px;min-height:56px;font-weight:900;cursor:pointer;transition:.16s ease}
.btn:active{transform:scale(.975)}
.btn-primary{color:#fff;background:linear-gradient(135deg,var(--accent),#6f63f3 55%,#6256e8);box-shadow:0 12px 30px rgba(111,99,243,.28)}
.btn-secondary{color:#fff;background:rgba(255,255,255,.07);border:1px solid var(--line)}
.btn-ghost{color:#d4d8e7;background:transparent;border:1px solid var(--line)}
.answer{min-height:116px;padding:18px 12px;color:#fff;background:rgba(255,255,255,.055);border:1px solid var(--line)}
.answer strong{display:block;font-size:22px}.answer span{display:block;margin-top:7px;color:#aeb5cb;font-size:12px;letter-spacing:.14em}
.answer.chosen{background:linear-gradient(135deg,var(--accent),var(--accent2));border-color:transparent;transform:scale(1.02)}.answer.chosen span{color:#fff}
.actions{display:grid;gap:12px;margin-top:28px}.backrow{margin-top:14px}.linkbtn{border:0;background:transparent;color:#aeb4c8;padding:8px 0;font-weight:800}
.statrow{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}.stat{border:1px solid var(--line);background:rgba(255,255,255,.05);border-radius:20px;padding:18px}.stat strong{display:block;font-size:30px;color:#fff}
.score{font-size:88px;line-height:.88;letter-spacing:-.065em;font-weight:950;margin-top:14px;background:linear-gradient(135deg,#fff 20%,#c6c0ff 48%,#ff9fc3 82%);-webkit-background-clip:text;color:transparent}
.result-tag{display:inline-flex;margin-top:18px;padding:8px 11px;border-radius:999px;background:rgba(124,225,184,.10);color:#7ce1b8;border:1px solid rgba(124,225,184,.24);font-size:12px;font-weight:900}
.reveal{margin-top:12px;padding:15px 16px;border:1px solid var(--line);background:rgba(255,255,255,.045);border-radius:18px}.reveal strong{display:block}.reveal small{display:block;margin-top:7px;color:#b2b8ca;line-height:1.4}
input{width:100%;margin-top:20px;padding:17px 18px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.06);color:#fff;outline:none}
input::placeholder{color:#7f879f}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%) translateY(20px);opacity:0;background:#fff;color:#111;border-radius:999px;padding:12px 16px;font-weight:900;font-size:13px;transition:.22s;z-index:20}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
.confetti{position:fixed;width:9px;height:16px;border-radius:3px;top:-20px;animation:fall 1.5s linear forwards;z-index:30}@keyframes fall{to{transform:translateY(110vh) rotate(540deg);opacity:.95}}
@media(max-width:380px){#app{padding:14px}.card{padding:22px;min-height:540px;border-radius:28px}h1{font-size:36px}.score{font-size:76px}}