:root{color-scheme:light dark;--canvas:#fafafa;--surface:#fff;--ink:#17191d;--muted:#646b76;--line:#e3e5e9;--accent:#255dd4;--inset:#f1f3f6;--danger:#b42330;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:16px;background:var(--canvas);color:var(--ink)}*{box-sizing:border-box}body{margin:0}header{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:880px;margin:auto;padding:calc(16px + env(safe-area-inset-top)) 24px 16px}.brand{display:flex;gap:10px;align-items:center;color:var(--ink);font-weight:650;text-decoration:none}.brand span{font-size:11px;color:var(--muted);font-weight:400}main{max-width:728px;margin:auto;padding:12px 24px calc(24px + env(safe-area-inset-bottom))}.intro{padding:12px 0 20px}.eyebrow{font-size:11px;letter-spacing:.12em;color:var(--muted);font-weight:650}h1{font-size:28px;line-height:1.2;letter-spacing:-.7px;font-weight:650;margin:10px 0}h2{font-size:22px;line-height:1.3;letter-spacing:-.3px}h3{font-size:17px;margin-top:28px}p{line-height:1.6}.intro>p:last-child,.muted,footer{color:var(--muted);font-size:14px}button,.file-button{font:inherit;font-size:14px;min-height:44px;padding:10px 14px;border:1px solid var(--line);border-radius:9px;background:var(--surface);color:var(--ink);cursor:pointer}button:hover,.file-button:hover{background:var(--inset)}button:disabled{opacity:.55;cursor:wait}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.primary{background:var(--accent);color:white;border-color:var(--accent);font-weight:600}.primary:hover{filter:brightness(1.1);background:var(--accent)}nav{display:flex;border-bottom:1px solid var(--line);gap:8px;padding-bottom:10px}nav button{border-color:transparent;background:transparent}nav button[aria-current]{background:var(--inset);font-weight:650;color:var(--accent)}.toolbar{display:flex;align-items:end;gap:12px;margin:20px 0 0}.search{flex:1;font-size:12px;color:var(--muted)}input,textarea{display:block;width:100%;font:inherit;font-size:16px;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:var(--ink);padding:12px;margin-top:7px}textarea{resize:vertical;min-height:100px}label{display:block;font-size:14px;margin:16px 0}label.search{margin:0}.check{display:flex;align-items:center;gap:10px}.check input{width:20px;height:20px;margin:0}.toolbar button{margin-bottom:1px}#status{font-size:13px;color:var(--muted);min-height:22px}article{padding:24px 0;border-bottom:1px solid var(--line)}article h2{margin:4px 0 12px}article .body{font-size:18px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}article .meta{font-size:12px;color:var(--muted);margin:0 0 8px}.actions{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0}.actions button[aria-pressed=true]{color:var(--accent);border-color:var(--accent)}a{color:var(--accent);overflow-wrap:anywhere}.original{display:inline-block;min-height:44px;padding:10px 0;font-size:14px}details{margin:16px 0}summary{cursor:pointer;font-size:14px;min-height:44px;display:list-item;padding:12px 0}details textarea{font-size:16px}footer{font-size:12px;text-align:center;margin-top:32px}.text{background:none;border:0;color:var(--accent);padding:6px;font-size:12px}#welcome{padding:24px 0}dialog{width:min(540px,calc(100% - 24px));max-height:90dvh;border:1px solid var(--line);border-radius:16px;padding:24px;background:var(--surface);color:var(--ink);box-shadow:0 20px 80px #0003}dialog::backdrop{background:#0006}.dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.dialog-heading h2{margin:0}.file-button{display:inline-flex;align-items:center;position:relative;margin:0}.file-button input{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;margin:0}.file-button:focus-within{outline:3px solid var(--accent);outline-offset:3px}.danger{color:var(--danger)}[role=alert]{color:var(--danger);font-size:14px}[hidden]{display:none!important}.practice-answer{padding:12px;background:var(--inset);border-radius:10px}@media(prefers-color-scheme:dark){:root{--canvas:#14161a;--surface:#1b1e23;--ink:#eeeef1;--muted:#a1a7b2;--line:#32363e;--accent:#88acff;--inset:#252931;--danger:#ff959e}.primary{color:#101b31}}@media(max-width:480px){header{padding-left:16px;padding-right:16px}.brand span{display:none}main{padding-left:20px;padding-right:20px}h1{font-size:26px}.actions{gap:6px}.actions button{padding:10px}dialog{padding:20px}nav{gap:2px}}@media(prefers-reduced-motion:no-preference){button:active{transform:scale(.98)}}
