:root{--bg:#eef1f3;--card:#fff;--ink:#18232b;--muted:#5a6872;--line:#d5dce1;--accent:#1f5f73;--accent-ink:#fff;--accent-soft:#e2eef2;--danger:#a63a2b;--warn-soft:#fff4d9;--serif:"Iowan Old Style", "Charter", "Bitstream Charter", "Georgia", serif;--sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}@media (prefers-color-scheme:dark){:root{--bg:#11181d;--card:#18222a;--ink:#e3eaee;--muted:#9aaab4;--line:#2b3943;--accent:#7cc0d4;--accent-ink:#0c1a20;--accent-soft:#1d3440;--danger:#f08a7a;--warn-soft:#3a3220;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);font:16px/1.6 var(--sans);margin:0}.page{min-height:100vh;padding:24px max(16px, env(safe-area-inset-right)) 40px max(16px, env(safe-area-inset-left));flex-direction:column;align-items:center;gap:20px;display:flex}.masthead{letter-spacing:.02em;width:100%;max-width:720px;color:var(--muted);font-size:.9rem;font-weight:600}.mark{color:var(--accent)}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;width:100%;max-width:720px;padding:clamp(20px,5vw,40px)}.foot{width:100%;max-width:720px;color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.stack{flex-direction:column;gap:18px;display:flex}.stack-sm{flex-direction:column;gap:10px;display:flex}h1{font:600 1.6rem/1.3 var(--serif);text-wrap:balance;margin:0}h1.question{font-size:1.35rem;line-height:1.45}p{margin:0}.lede{font-size:1.05rem}.muted,.hint{color:var(--muted)}.hint{justify-content:space-between;gap:12px;font-size:.85rem;display:flex}.count{font-variant-numeric:tabular-nums;white-space:nowrap}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);font-size:.78rem;font-weight:600}.consent-text{white-space:pre-line;background:var(--accent-soft);border-radius:8px;padding:16px}fieldset{border:1px solid var(--line);border-radius:8px;margin:0;padding:14px 16px}legend{padding:0 6px;font-weight:600}.check,.choice{cursor:pointer;align-items:flex-start;gap:10px;display:flex}.check input,.choice input{width:1.1rem;height:1.1rem;accent-color:var(--accent);margin-top:.3rem}.field{flex-direction:column;gap:6px;font-weight:500;display:flex}select,textarea{font:inherit;color:var(--ink);background:var(--card);border:1px solid var(--line);border-radius:8px;width:100%;padding:10px 12px}textarea{resize:vertical;min-height:10rem;font-weight:400;line-height:1.55}select:focus,textarea:focus,button:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.actions{flex-wrap:wrap;gap:10px;display:flex}button{font:inherit;cursor:pointer;border:1px solid var(--line);color:var(--ink);background:0 0;border-radius:8px;padding:10px 18px;font-weight:600}button:disabled{opacity:.5;cursor:not-allowed}.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);align-self:flex-start}.ghost{color:var(--muted)}.danger{background:var(--danger);border-color:var(--danger);color:var(--card)}.link{color:var(--muted);border:0;padding:0;font-weight:400;text-decoration:underline}.progress{background:var(--line);border-radius:99px;height:6px;overflow:hidden}.progress div{background:var(--accent);height:100%;transition:width .3s}.notice{background:var(--warn-soft);border-radius:8px;padding:10px 14px;font-size:.92rem}.error{color:var(--danger);margin-bottom:12px;font-weight:600}.previous{color:var(--muted);font-size:.92rem}.previous summary{cursor:pointer}.withdraw{flex-direction:column;gap:10px;display:flex}h2{font:600 1.15rem/1.3 var(--serif);margin:0}.exhibit{flex-direction:column;gap:10px;min-width:0;margin:0;display:flex}.exhibit figcaption{color:var(--muted);font-size:.92rem}.code{border:1px solid var(--line);border-radius:8px;height:300px;overflow:hidden}.code[hidden]{display:none}.code-plain{border:1px solid var(--line);border-radius:8px;max-height:300px;margin:0;padding:12px;font-size:.82rem;overflow:auto}.tabs{flex-wrap:wrap;gap:6px;display:flex}.tabs button{padding:4px 10px;font-size:.85rem;font-weight:500}.tabs button[aria-selected=true]{background:var(--accent-soft);border-color:var(--accent)}.marked-line{background:#d69e2e47}.marked-glyph{background:#d69e2e;border-radius:50%;margin-top:5px;margin-left:5px;width:9px!important;height:9px!important}.reward{background:var(--accent-soft);border-radius:8px;padding:16px}.pin{letter-spacing:.06em;overflow-wrap:anywhere;font:600 1.3rem/1.3 ui-monospace,Menlo,Consolas,monospace}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.check-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px 16px;display:grid}.parts{gap:6px;margin:0;padding:0;list-style:none;display:flex}.parts li{background:var(--line);border-radius:99px;flex:1;height:6px}.parts li.done{background:var(--accent)}.parts li.current{background:var(--accent);opacity:.45}.save-note{flex-basis:100%}@media (prefers-reduced-motion:reduce){.progress div{transition:none}}.voice{background:var(--accent-soft);border-radius:10px;align-items:center;gap:16px;padding:14px 16px;display:flex}.voice-off{align-items:flex-start}.voice-body{flex:1;min-width:0}.voice-status{min-height:1.5em;font-size:.95rem}.voice .actions{align-items:center}.voice .primary{align-self:auto}.voice-on-btn{background:var(--card);align-self:flex-start}.small{font-size:.82rem}.rec{background:var(--danger);border-color:var(--danger);color:var(--card)}.avatar{flex:none;position:relative}.avatar svg{display:block;overflow:visible}.avatar-ring{fill:none;stroke:var(--accent);stroke-width:3px;opacity:0;transform-origin:60px 60px;transition:transform 80ms linear}.avatar-bg{fill:var(--card);stroke:var(--accent);stroke-width:2px}.avatar-hair{fill:#3b2a22}.avatar-face{fill:#b9825e}.avatar-eyes{fill:#1d1512;transform-origin:60px 60px;animation:5s infinite blink}.avatar-brow{fill:none;stroke:#2a1d17;stroke-width:2px;stroke-linecap:round}.avatar-mouth{fill:#6d2f2a;transform-origin:60px 80px;transform:scaleY(.7)}.avatar-shoulders{fill:var(--accent)}.avatar-speaking .avatar-mouth{animation:.32s ease-in-out infinite alternate talk}.avatar-listening .avatar-ring{opacity:.7}.avatar-listening .avatar-brow{transform:translateY(-1.5px)}.avatar-thinking .avatar-ring{opacity:.5;stroke-dasharray:40 18;animation:1.4s linear infinite spin}@keyframes talk{0%{transform:scaleY(.6)}50%{transform:scaleY(2.2)scaleX(.85)}to{transform:scaleY(1.3)}}@keyframes blink{0%,95%,to{transform:scaleY(1)}97%{transform:scaleY(.1)}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.avatar-eyes,.avatar-speaking .avatar-mouth,.avatar-thinking .avatar-ring{animation:none}.avatar-speaking .avatar-mouth{transform:scaleY(1.6)}}@media (width<=520px){.voice{flex-direction:column;align-items:flex-start}}.previous-answer{border-left:3px solid var(--accent);flex-direction:column;gap:6px;padding:4px 0 4px 14px;display:flex}.previous-q{font-weight:600}.previous-answer blockquote{color:var(--muted);white-space:pre-line;overflow-wrap:anywhere;margin:0;font-style:italic}.dots{gap:8px;display:flex}.dots span{background:var(--accent);border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite pulse}.dots span:nth-child(2){animation-delay:.2s}.dots span:nth-child(3){animation-delay:.4s}@keyframes pulse{0%,to{opacity:.25}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.dots span{opacity:.6;animation:none}}
