:root,[data-theme=light]{--brand:#7B6B9E;--brand-dark:#5E4F87;--brand-light:#9B8BBE;--brand-bg:#F0EDF7;--teal:#3D8FA3;--teal-header:#2D5A6B;--teal-soft:#E1F5EE;--bg:#F6F4FB;--surface:#FFFFFF;--surface-2:#EEEBF6;--border:#E4E0F0;--border-2:#CEC8E2;--text:#241F52;--text-body:#3B3556;--muted:#6E6A85;--green-bg:#DCFCE7;--green-border:#16A34A;--green-text:#14532D;--red-bg:#FEE2E2;--red-border:#DC2626;--red-text:#7F1D1D;--amber:#D97706;--indigo:var(--brand);--indigo-dark:var(--brand-dark);--indigo-light:var(--brand-bg);--teal-light:var(--teal-soft);--slate-900:var(--text);--slate-700:var(--text-body);--slate-500:var(--muted);--slate-300:var(--border-2);--slate-100:var(--surface-2);--slate-50:var(--bg);--white:var(--surface);--radius:14px;--shadow:0 1px 3px rgba(36,31,82,.08),0 8px 24px rgba(36,31,82,.06)}[data-theme=dark]{--brand:#B3A2D6;--brand-dark:#9A87C4;--brand-light:#C7BAE3;--brand-bg:#2B2440;--teal:#6FBACD;--teal-header:#8FD3E1;--teal-soft:#1E3238;--bg:#151221;--surface:#201B30;--surface-2:#2C2542;--border:#342C4A;--border-2:#473D66;--text:#ECE9F6;--text-body:#CCC6DE;--muted:#9992B5;--green-bg:#14311F;--green-border:#34B36A;--green-text:#BAF0CC;--red-bg:#3A1B1B;--red-border:#E77A7A;--red-text:#F4C7C7;--amber:#E4A33C;--shadow:0 1px 3px rgba(0,0,0,.45),0 10px 28px rgba(0,0,0,.38)}*{box-sizing:border-box}body,html{padding:0;margin:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;transition:background .2s ease,color .2s ease}a{color:var(--brand);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:760px;margin:0 auto;padding:24px 18px 64px}.muted{color:var(--muted)}.nav{background:var(--surface);border-bottom:1px solid var(--border);position:-webkit-sticky;position:sticky;top:0;z-index:10}.nav-inner{max-width:760px;margin:0 auto;padding:12px 18px;justify-content:space-between;gap:12px}.brand,.nav-inner{display:flex;align-items:center}.brand{font-weight:800;font-size:1.2rem;letter-spacing:-.02em;color:var(--text);gap:8px}.brand-mark{color:var(--brand)}.brand-lens{color:var(--teal)}.nav-actions{display:flex;gap:14px}.nav-actions,.theme-toggle{align-items:center;font-size:.95rem}.theme-toggle{background:transparent;border:1px solid var(--border-2);border-radius:999px;width:34px;height:34px;cursor:pointer;line-height:1;display:inline-flex;justify-content:center;color:var(--text-body);transition:background .15s,border-color .15s}.theme-toggle:hover{background:var(--surface-2);border-color:var(--brand-light)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:none;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;border-radius:12px;background:var(--brand);color:#fff;transition:background .15s}.btn:hover{background:var(--brand-dark);text-decoration:none}.btn.secondary{background:var(--surface);color:var(--brand);border:1.5px solid var(--border-2)}.btn.secondary:hover{background:var(--surface-2)}.btn.ghost{background:transparent;color:var(--text-body);padding:8px 12px}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-row{display:flex;flex-wrap:wrap;gap:12px}.hero{text-align:center;padding:36px 0 12px}.hero h1{font-size:2.4rem;letter-spacing:-.03em;margin:0 0 12px;color:var(--text)}.hero p{font-size:1.15rem;color:var(--text-body);max-width:560px;margin:0 auto 28px}.pill{display:inline-block;background:var(--brand-bg);color:var(--brand-dark);font-weight:600;font-size:.8rem;padding:5px 12px;border-radius:999px;margin-bottom:18px}.feature-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-top:36px}.feature{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.feature h3{margin:0 0 6px;font-size:1rem;color:var(--text)}.feature p{margin:0;color:var(--muted);font-size:.92rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:20px}.choice-list{display:grid;grid-gap:12px;gap:12px;margin-top:18px}.choice{display:flex;justify-content:space-between;align-items:center;background:var(--surface);border:1.5px solid var(--border-2);border-radius:12px;padding:16px 18px;cursor:pointer;font-weight:600;color:var(--text);transition:all .12s}.choice:hover{border-color:var(--brand);background:var(--brand-bg);text-decoration:none}.count-badge{color:var(--muted);font-weight:600;font-size:.8rem;padding:2px 10px}.count-badge,.style-toggle{background:var(--surface-2);border-radius:999px}.style-toggle{display:inline-flex;padding:3px;margin-top:8px}.style-toggle button{border:none;cursor:pointer;border-radius:999px;padding:7px 16px;font-weight:600;font-size:.9rem;background:transparent;color:var(--muted);transition:all .15s}.style-toggle button.active{background:var(--surface);color:var(--brand);box-shadow:0 1px 3px rgba(36,31,82,.16)}.style-toggle .soon{font-size:.7rem;opacity:.7;margin-left:5px;font-weight:600}.q-wrap{display:grid;grid-gap:16px;gap:16px}.q-image{width:100%;background:#000;border-radius:var(--radius);overflow:hidden;display:flex;justify-content:center}.q-image img{width:100%;height:auto;max-height:60vh;object-fit:contain;cursor:zoom-in;display:block}.q-image-missing{aspect-ratio:4/3;display:flex;align-items:center;justify-content:center;color:var(--muted);background:var(--surface-2);border:1px dashed var(--border-2);border-radius:var(--radius);text-align:center;padding:20px}.credit{font-size:.72rem;color:var(--muted);margin-top:6px}.stem{font-size:1.05rem;color:var(--text-body)}.lead-in{font-weight:700;margin-top:6px;color:var(--text)}.options{display:grid;grid-gap:10px;gap:10px}.opt{text-align:left;background:var(--surface);border:1.5px solid var(--border-2);border-radius:12px;padding:14px 16px;cursor:pointer;font-size:1rem;color:var(--text);display:flex;gap:12px;align-items:flex-start;transition:all .12s}.opt:hover:not(:disabled){border-color:var(--brand);background:var(--brand-bg)}.opt:disabled{cursor:default}.opt .letter{font-weight:800;color:var(--brand)}.opt.correct{background:var(--green-bg);border-color:var(--green-border)}.opt.correct .letter{color:var(--green-border)}.opt.correct,.opt.correct span{color:var(--green-text)}.opt.wrong{background:var(--red-bg);border-color:var(--red-border)}.opt.wrong .letter{color:var(--red-border)}.opt.wrong,.opt.wrong span{color:var(--red-text)}.explain{border-radius:var(--radius);padding:18px}.explain.correct{background:var(--green-bg);border-left:5px solid var(--green-border);color:var(--green-text)}.explain.wrong{background:var(--red-bg);border-left:5px solid var(--red-border);color:var(--red-text)}.explain.reveal{background:var(--brand-bg);border-left:5px solid var(--brand);color:var(--text-body)}.explain.reveal h4{color:var(--brand-dark)}.explain h4{margin:0 0 8px}.teach{background:var(--teal-soft);border-left:5px solid var(--teal);border-radius:10px;padding:12px 14px;margin-top:12px;color:var(--text-body)}.teach strong{color:var(--teal-header)}.mnemonic{font-style:italic;color:var(--text-body);margin-top:10px}.chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.chip{font-size:.75rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--surface-2);color:var(--text-body)}.progress-top{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--muted)}.bar{height:6px;background:var(--surface-2);border-radius:999px;overflow:hidden;margin:6px 0 4px}.bar>div{height:100%;background:var(--brand);transition:width .3s}.save-prompt{background:var(--brand-bg);border:1px solid var(--border-2);border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.92rem;color:var(--text-body)}.site-footer{border-top:1px solid var(--border);background:var(--surface);padding:22px 18px;text-align:center;font-size:.8rem;color:var(--muted)}.site-footer p{margin:4px 0}.fav{background:transparent;border:none;cursor:pointer;font-size:1.4rem;line-height:1;color:var(--brand)}.banner-error{background:var(--red-bg);border:1px solid var(--red-border);color:var(--red-text);padding:12px 14px;border-radius:10px;font-size:.9rem}.center{text-align:center}@media (max-width:560px){.hero h1{font-size:1.9rem}.feature-grid{grid-template-columns:1fr}}