:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#f8fafc;background:#0b1220;font-size:16px;line-height:1.6;--bg:#0b1220;--surface:#111827;--surface2:#172033;--text:#f8fafc;--muted:#cbd5e1;--border:#64748b;--accent:#38bdf8;--accent-text:#062033;--danger:#fecaca;--danger-bg:#4c1118;--focus:#facc15}html[data-theme=light]{--bg:#f8fafc;--surface:#fff;--surface2:#e7eef7;--text:#102036;--muted:#334155;--border:#475569;--accent:#0369a1;--accent-text:#fff;--danger:#7f1d1d;--danger-bg:#fee2e2;--focus:#a16207}html[data-size=large]{font-size:19px}html[data-size=xlarge]{font-size:22px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea,select{font:inherit}button,select,input,textarea{border:2px solid var(--border);border-radius:.45rem}button{cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:4px solid var(--focus);outline-offset:3px}.app{max-width:1400px;margin:auto;padding:1.25rem}header{display:flex;justify-content:space-between;gap:1.5rem;align-items:flex-start;padding:1rem 0 1.5rem;border-bottom:2px solid var(--border)}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2rem,5vw,3.25rem);line-height:1;margin-bottom:.55rem}h1 span,.eyebrow{color:var(--accent)}.eyebrow{font-size:.8em;font-weight:800;letter-spacing:.1em}.privacy,.card>p,.empty{color:var(--muted)}.preferences{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.6rem;align-items:center}.preferences label,.rate label{display:flex;gap:.35rem;align-items:center}fieldset{border:1px solid var(--border);border-radius:.4rem}.preferences fieldset{display:flex;gap:.35rem;padding:.25rem .5rem}.preferences legend{font-size:.8em}.button{background:var(--accent);color:var(--accent-text);font-weight:800;padding:.55rem .8rem;min-height:2.7rem}.button:hover:not(:disabled){filter:brightness(1.12)}.skip{position:absolute;left:-9999px;top:0;background:var(--focus);color:#111;padding:.5rem;font-weight:800}.skip:focus{left:1rem;z-index:5}.help,.card,.error{background:var(--surface);border:2px solid var(--border);border-radius:.7rem;padding:1.15rem;margin:1.1rem 0}.help{border-color:var(--accent)}.sr-status{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.file{display:inline-flex;position:relative;overflow:hidden;background:var(--accent);color:var(--accent-text);font-weight:800;border-radius:.45rem;padding:.6rem .85rem}.file input{position:absolute;opacity:0;inset:0;cursor:pointer}.doc-meta,.navigation,.controls,.rate{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center;margin-top:.8rem}.doc-meta{justify-content:space-between}.error{background:var(--danger-bg);color:var(--danger);border-color:var(--danger)}.grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:1.1rem}.grid>.card{margin:0}.navigation input{width:5rem;padding:.35rem;background:var(--bg);color:var(--text)}.page-label{font-weight:800;margin:.9rem 0 .3rem}.page-text{white-space:pre-wrap;overflow-wrap:anywhere;max-height:32rem;overflow:auto;padding:1rem;background:var(--surface2);border-left:5px solid var(--accent);line-height:1.8}.rate{margin-top:1rem}.rate output{font-weight:800;padding:.4rem}.study textarea{display:block;width:100%;min-height:7rem;margin:.35rem 0 .7rem;padding:.65rem;background:var(--bg);color:var(--text)}.answer{margin-top:1rem;padding:1rem;background:var(--surface2);border-left:5px solid var(--accent)}.answer p{overflow-wrap:anywhere}.preserve{white-space:pre-wrap}.notice{border-left:5px solid var(--focus);padding:.6rem 1rem;background:var(--surface2);margin-top:1rem}.quiz fieldset{margin:1rem 0;padding:1rem}.option{display:flex;gap:.6rem;padding:.45rem;margin:.3rem 0;background:var(--surface2);border-radius:.3rem}.correct{color:#86efac;font-weight:700}.incorrect{color:#fda4af;font-weight:700}.progress{margin-bottom:1.5rem}footer{border-top:2px solid var(--border);padding:1rem 0;color:var(--muted)}hr{border:0;border-top:2px solid var(--border);margin:1.5rem 0}@media(max-width:850px){header{display:block}.preferences{justify-content:flex-start}.grid{grid-template-columns:1fr}.app{padding:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
