:root{--bg: #0b1220;--card: rgba(255, 255, 255, .06);--card2: rgba(255, 255, 255, .08);--text: rgba(255, 255, 255, .92);--muted: rgba(255, 255, 255, .66);--border: rgba(255, 255, 255, .12);--good: rgba(34, 197, 94, .95);--bad: rgba(239, 68, 68, .95);--accent: rgba(56, 189, 248, .95);--shadow: 0 12px 40px rgba(0, 0, 0, .35);--radius: 18px}*{box-sizing:border-box}html,body{height:100%}body{margin:0;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial;background:radial-gradient(1200px 700px at 30% 10%,rgba(56,189,248,.18),transparent 50%),radial-gradient(900px 600px at 80% 40%,rgba(34,197,94,.1),transparent 55%),var(--bg);color:var(--text)}a{color:inherit}button{font-family:inherit}.container{max-width:520px;margin:0 auto;padding:14px 14px 18px}.shell{min-height:100dvh;display:flex;flex-direction:column}.topbar{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px;position:sticky;top:0;background:linear-gradient(to bottom,#0b1220f2,#0b122099);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--border);z-index:10}.brand{display:flex;align-items:center;gap:10px}.brandTitle{font-weight:700;letter-spacing:.2px;font-size:14px}.brandSub{font-size:12px;color:var(--muted)}.pill{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border-radius:999px;background:#ffffff0f;border:1px solid var(--border);color:var(--muted);font-size:12px}.card{background:var(--card);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.cardPad{padding:14px}.grid{display:grid;grid-template-columns:1fr;gap:12px}.scenarioCard{padding:14px;display:grid;gap:10px;cursor:pointer;transition:transform .12s ease,background .12s ease}.scenarioCard:active{transform:scale(.99)}.scenarioTitle{font-weight:800;font-size:16px;letter-spacing:.2px}.scenarioMeta{display:flex;gap:8px;flex-wrap:wrap}.tag{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;font-size:12px;color:var(--muted);background:#ffffff0f;border:1px solid var(--border)}.dialogue{display:grid;gap:10px}.dialogueText{font-size:15px;line-height:1.35}.narratorRow{display:flex;align-items:center;gap:10px}.avatar{width:34px;height:34px;border-radius:50%;background:#38bdf829;border:1px solid rgba(56,189,248,.22);display:grid;place-items:center}.narratorName{font-weight:700;font-size:13px}.narratorHint{font-size:12px;color:var(--muted)}.choiceList{display:grid;gap:10px;margin-top:12px}.choiceBtn{width:100%;text-align:left;padding:12px;border-radius:16px;border:1px solid var(--border);background:#ffffff0f;color:var(--text);cursor:pointer;transition:transform .12s ease,background .12s ease,border .12s ease;display:flex;align-items:flex-start;gap:10px}.choiceBtn:active{transform:scale(.99)}.choiceBtn:hover{background:#ffffff14}.choiceLetter{width:26px;height:26px;border-radius:10px;border:1px solid var(--border);background:#ffffff0f;display:grid;place-items:center;font-weight:800;font-size:12px;color:var(--muted);flex:0 0 auto}.footerRow{display:flex;gap:10px;margin-top:12px}.primaryBtn,.ghostBtn{border-radius:14px;border:1px solid var(--border);padding:10px 12px;cursor:pointer;font-weight:700}.primaryBtn{background:#38bdf829;border-color:#38bdf842}.ghostBtn{background:#ffffff0d;color:var(--text)}.progressDots{display:flex;gap:6px;align-items:center;justify-content:center}.dot{width:9px;height:9px;border-radius:999px;background:#ffffff29;border:1px solid rgba(255,255,255,.1)}.dot.active{background:#38bdf8b3;border-color:#38bdf866}.resultHeader{display:grid;gap:8px}.resultTitle{font-size:18px;font-weight:900}.resultSub{font-size:13px;color:var(--muted);line-height:1.35}.mistake{padding:12px;border-radius:16px;border:1px solid var(--border);background:#ffffff0d;display:grid;gap:8px}.mistakeTop{display:flex;align-items:center;justify-content:space-between;gap:10px}.badge{display:inline-flex;align-items:center;gap:7px;padding:6px 10px;border-radius:999px;font-size:12px;border:1px solid var(--border);color:var(--muted);background:#ffffff0d}.badge.good{border-color:#22c55e4d;background:#22c55e1a;color:#c5ffd7e0}.badge.bad{border-color:#ef44444d;background:#ef44441a;color:#ffd2d2e6}.sourceLink{color:#38bdf8f2;text-decoration:none;font-weight:700}.sourceLink:hover{text-decoration:underline}.small{font-size:12px;color:var(--muted)}
