:root{--bg:#f4f6fa;--surface:#fff;--ink:#16202f;--muted:#5b6678;--line:#d7dde8;--accent:#2f5bea;--accent-ink:#fff;--accent-soft:#e8eeff;--correct-bg:#e6f4ea;--correct-ink:#145c2e;--neutral-bg:#eef1f6;--fix-bg:#fff6df;--fix-ink:#6b4a00;--saved-bg:#e8eeff;--radius:16px;color:var(--ink);background:var(--bg);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.5}@media (prefers-color-scheme:dark){:root{--bg:#11151c;--surface:#1b212b;--ink:#e9edf4;--muted:#a3adbd;--line:#313a48;--accent:#7c9cff;--accent-ink:#0d1220;--accent-soft:#232d45;--correct-bg:#183524;--correct-ink:#9be2b0;--neutral-bg:#252c38;--fix-bg:#3a3017;--fix-ink:#f2d98a;--saved-bg:#232d45}}*{box-sizing:border-box}body{background:var(--bg);margin:0}.shell{max-width:760px;margin:0 auto;padding:24px 16px 48px}.masthead h1{margin:0 0 4px;font-size:32px}.lede{color:var(--muted);margin:0 0 20px;font-size:18px}.modes{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 20px;padding:0;list-style:none;display:grid}.mode{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-height:96px;color:var(--ink);align-content:start;gap:6px;padding:16px;display:grid}.mode-actions{flex-wrap:wrap;gap:8px;margin-top:6px;display:flex}.mode-status{font-size:15px}.btn:disabled{opacity:.5;cursor:not-allowed}.passage-title{margin:0 0 8px;font-size:18px}.section-note{font-style:italic}.mode-title{font-size:20px;font-weight:700}.mode-meta{color:var(--muted);font-size:15px}.btn{font:inherit;background:var(--accent);min-height:48px;color:var(--accent-ink);cursor:pointer;border:0;border-radius:12px;padding:10px 20px;font-size:18px;font-weight:700}.btn.secondary{background:var(--accent-soft);color:var(--ink)}.btn.quiet{color:var(--muted);background:0 0}.btn:focus-visible,.answer:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.progress{gap:6px;margin-bottom:16px;display:grid}.progress-label{color:var(--muted);font-weight:600}.progress progress{width:100%;height:8px;accent-color:var(--accent)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px}.passage{white-space:pre-line;background:var(--neutral-bg);border-radius:12px;margin-bottom:16px;padding:14px 16px;font-size:18px}.prompt{white-space:pre-line;margin:0 0 16px;font-size:22px;font-weight:700}.answer{width:100%;font:inherit;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:12px;padding:12px 14px;font-size:22px}.answer.long{resize:vertical;min-height:160px;font-size:18px}.choices{border:0;gap:10px;margin:0;padding:0;display:grid}.choice{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:19px;display:flex}.choice.selected{border-color:var(--accent);background:var(--accent-soft)}.choice input{width:20px;height:20px;accent-color:var(--accent)}.choice-letter{color:var(--muted);font-weight:700}.feedback-slot:empty{display:none}.feedback{background:var(--neutral-bg);border-radius:12px;margin-top:16px;padding:12px 16px}.feedback p{margin:4px 0}.feedback.correct{background:var(--correct-bg);color:var(--correct-ink)}.feedback.fix{background:var(--fix-bg);color:var(--fix-ink)}.feedback.saved{background:var(--saved-bg)}.feedback-headline{font-size:19px;font-weight:700}.explain{color:var(--muted)}.feedback.correct .explain{color:inherit}.steps summary,.review summary{cursor:pointer;font-weight:600}.stats{padding:0;font-size:20px;list-style:none}.review{margin-top:24px}.review li{margin:12px 0}.review p{margin:2px 0}.review-prompt{white-space:pre-line;font-weight:600}.review-outcome{color:var(--muted)}@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.packet{max-width:820px;margin:0 auto;padding:16px}.packet-toolbar{background:var(--bg);flex-wrap:wrap;align-items:center;gap:10px;padding:12px 0;display:flex;position:sticky;top:0}.packet-note{color:var(--muted)}.worksheet{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);margin-bottom:16px;padding:24px}.worksheet h2{margin-top:0;font-size:22px}.problems{padding-left:28px}.problem{break-inside:avoid;margin:14px 0;font-size:18px}.problem-prompt{white-space:pre-line;margin:0 0 6px}.answer-lines .line{border-bottom:1px solid var(--ink);max-width:420px;height:28px;display:block}.print-choices li{margin:2px 0}.key-section li{margin:4px 0}@media print{:root{--bg:#fff;--surface:#fff;--ink:#000;--muted:#333;--line:#999;--neutral-bg:#fff}.no-print{display:none!important}.packet{max-width:none;padding:0}.worksheet{break-after:page;border:0;border-radius:0;margin:0;padding:0}.answer-key{break-before:page;break-after:auto}.passage{border:1px solid #999}}
