:root{--indigo:#4338CA;--indigo-dark:#3730A3;--indigo-light:#EEF2FF;--teal:#0D9488;--teal-light:#CCFBF1;--slate-900:#0F172A;--slate-700:#334155;--slate-500:#64748B;--slate-300:#CBD5E1;--slate-100:#F1F5F9;--slate-50:#F8FAFC;--green-bg:#DCFCE7;--green-border:#16A34A;--green-text:#14532D;--red-bg:#FEE2E2;--red-border:#DC2626;--red-text:#7F1D1D;--amber:#D97706;--white:#FFFFFF;--radius:14px;--shadow:0 1px 3px rgba(15,23,42,.08),0 8px 24px rgba(15,23,42,.06)}*{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(--slate-900);background:var(--slate-50);line-height:1.55}a{color:var(--indigo);text-decoration:none}a:hover{text-decoration:underline}.container{max-width:760px;margin:0 auto;padding:24px 18px 64px}.muted{color:var(--slate-500)}.nav{background:var(--white);border-bottom:1px solid var(--slate-100);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(--slate-900);gap:8px}.brand-mark{color:var(--indigo)}.brand-lens{color:var(--teal)}.nav-actions{display:flex;gap:14px;font-size:.95rem}.btn,.nav-actions{align-items:center}.btn{display:inline-flex;justify-content:center;gap:8px;border:none;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 20px;border-radius:12px;background:var(--indigo);color:#fff;transition:background .15s}.btn:hover{background:var(--indigo-dark);text-decoration:none}.btn.secondary{background:var(--white);color:var(--indigo);border:1.5px solid var(--slate-300)}.btn.secondary:hover{background:var(--slate-50)}.btn.ghost{background:transparent;color:var(--slate-700);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}.hero p{font-size:1.15rem;color:var(--slate-700);max-width:560px;margin:0 auto 28px}.pill{display:inline-block;background:var(--teal-light);color:#115E59;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(--white);border:1px solid var(--slate-100);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}.feature h3{margin:0 0 6px;font-size:1rem}.feature p{margin:0;color:var(--slate-500);font-size:.92rem}.card{background:var(--white);border:1px solid var(--slate-100);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(--white);border:1.5px solid var(--slate-300);border-radius:12px;padding:16px 18px;cursor:pointer;font-weight:600;color:var(--slate-900);transition:all .12s}.choice:hover{border-color:var(--indigo);background:var(--indigo-light);text-decoration:none}.count-badge{background:var(--slate-100);color:var(--slate-500);font-weight:600;font-size:.8rem;padding:2px 10px;border-radius:999px}.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(--slate-500);background:var(--slate-100);border:1px dashed var(--slate-300);border-radius:var(--radius);text-align:center;padding:20px}.credit{font-size:.72rem;color:var(--slate-500);margin-top:6px}.stem{font-size:1.05rem}.lead-in{font-weight:700;margin-top:6px}.options{display:grid;grid-gap:10px;gap:10px}.opt{text-align:left;background:var(--white);border:1.5px solid var(--slate-300);border-radius:12px;padding:14px 16px;cursor:pointer;font-size:1rem;color:var(--slate-900);display:flex;gap:12px;align-items:flex-start;transition:all .12s}.opt:hover:not(:disabled){border-color:var(--indigo);background:var(--indigo-light)}.opt:disabled{cursor:default}.opt .letter{font-weight:800;color:var(--indigo)}.opt.correct{background:var(--green-bg);border-color:var(--green-border)}.opt.correct .letter{color:var(--green-border)}.opt.wrong{background:var(--red-bg);border-color:var(--red-border)}.opt.wrong .letter{color:var(--red-border)}.explain{border-radius:var(--radius);padding:18px}.explain.correct{background:var(--green-bg);border-left:5px solid var(--green-border)}.explain.wrong{background:var(--red-bg);border-left:5px solid var(--red-border)}.explain h4{margin:0 0 8px}.teach{background:var(--teal-light);border-left:5px solid var(--teal);border-radius:10px;padding:12px 14px;margin-top:12px}.teach strong{color:#115E59}.mnemonic{font-style:italic;color:var(--slate-700);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(--slate-100);color:var(--slate-700)}.progress-top{display:flex;justify-content:space-between;align-items:center;font-size:.85rem;color:var(--slate-500)}.bar{height:6px;background:var(--slate-100);border-radius:999px;overflow:hidden;margin:6px 0 4px}.bar>div{height:100%;background:var(--indigo);transition:width .3s}.save-prompt{background:var(--indigo-light);border:1px solid #c7d2fe;border-radius:12px;padding:14px 16px;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;font-size:.92rem}.site-footer{border-top:1px solid var(--slate-100);background:var(--white);padding:22px 18px;text-align:center;font-size:.8rem;color:var(--slate-500)}.site-footer p{margin:4px 0}.fav{background:transparent;border:none;cursor:pointer;font-size:1.4rem;line-height:1}.banner-error{background:#FEF2F2;border:1px solid #fecaca;color:#991B1B;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}}