:root{--paper:#f6f1e7;--card:#fffdf8;--ink:#1d2433;--muted:#5d667a;--line:#ddd5c4;--accent:#2b4c7e;--accent-ink:#fff;--warn-bg:#fff3d6;--warn-ink:#5c4300;--bad:#a3282b;--radius:14px;--shadow:0 1px 2px #0000000f;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}:root[data-theme=dark]{--paper:#14171f;--card:#1c212c;--ink:#ece8de;--muted:#9aa3b5;--line:#2d3444;--accent:#7ba3df;--accent-ink:#101522;--warn-bg:#3a3017;--warn-ink:#f1d98c;--bad:#ff8a8d;--shadow:none}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#14171f;--card:#1c212c;--ink:#ece8de;--muted:#9aa3b5;--line:#2d3444;--accent:#7ba3df;--accent-ink:#101522;--warn-bg:#3a3017;--warn-ink:#f1d98c;--bad:#ff8a8d;--shadow:none}}*{box-sizing:border-box}[hidden]{display:none!important}html,body{height:100%}body{background:var(--paper);color:var(--ink);flex-direction:column;margin:0;font-size:16px;line-height:1.5;display:flex}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}button,select,input,textarea{font:inherit;color:inherit}button{cursor:pointer;border:1px solid var(--line);background:var(--card);border-radius:10px;min-height:44px;padding:0 14px}button:focus-visible,select:focus-visible,input:focus-visible,textarea:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:2px}button.ghost{color:var(--muted);background:0 0;border-color:#0000;padding:0 10px}button.ghost:hover{color:var(--ink)}.top{padding:8px 16px;padding-top:max(8px, env(safe-area-inset-top));border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;display:flex}.brand{color:var(--ink);letter-spacing:.01em;align-items:center;gap:10px;font-weight:650;text-decoration:none;display:flex}.brand-bg{fill:var(--accent)}.brand-fg{stroke:var(--accent-ink)}.tools{flex-wrap:wrap;justify-content:flex-end;display:flex}.count{background:var(--accent);color:var(--accent-ink);border-radius:999px;margin-left:4px;padding:0 7px;font-size:.8rem}#chat{flex:1;padding:16px;overflow-y:auto}.empty{text-align:center;max-width:640px;margin:7vh auto 0}.empty h1{margin:0 0 8px;font-size:clamp(1.5rem,5vw,2rem)}.empty p{color:var(--muted);max-width:52ch;margin:0 auto 20px}.examples{text-align:left;gap:8px;display:grid}.examples button{text-align:left;box-shadow:var(--shadow);padding:10px 14px;line-height:1.35}.messages{flex-direction:column;gap:16px;max-width:720px;margin:0 auto;padding:0;list-style:none;display:flex}.msg{max-width:100%}.msg.user{background:var(--accent);color:var(--accent-ink);border-radius:var(--radius) var(--radius) 4px var(--radius);white-space:pre-wrap;overflow-wrap:anywhere;align-self:flex-end;max-width:85%;padding:10px 14px}.msg.model .body{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow-wrap:anywhere;padding:12px 16px}.body p{margin:0 0 .6em}.body p:last-child,.body ul:last-child,.body ol:last-child{margin-bottom:0}.body ul,.body ol{margin:0 0 .6em;padding-left:1.3em}.body li{margin:.2em 0}.cite{text-align:center;background:var(--accent);min-width:1.4em;color:var(--accent-ink);vertical-align:super;border-radius:999px;margin:0 1px;font-size:.75rem;line-height:1.4em;text-decoration:none;display:inline-block}.term{border:1px dashed var(--accent);min-height:0;color:var(--accent);background:0 0;border-radius:6px;padding:0 4px}.term.copied{background:var(--accent);color:var(--accent-ink)}.banner{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;margin:0 0 8px;padding:8px 12px;font-size:.92rem}.error{color:var(--bad)}.sources{gap:8px;margin-top:8px;display:grid}.source{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 12px;font-size:.92rem}.source.flash{outline:2px solid var(--accent)}.badge{border:1px solid var(--accent);color:var(--accent);border-radius:999px;margin-right:6px;padding:1px 8px;font-size:.75rem;display:inline-block}.source .meta{color:var(--muted);font-size:.85rem}.source a{color:var(--accent)}.actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.actions button{min-height:36px;padding:0 10px;font-size:.88rem}.state-chips{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.composer-wrap{padding:8px 16px 10px;padding-bottom:max(10px, env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--paper)}.notice{background:var(--warn-bg);color:var(--warn-ink);border-radius:10px;justify-content:space-between;align-items:center;gap:8px;max-width:720px;margin:0 auto 8px;padding:6px 10px;font-size:.88rem;display:flex}.notice .ghost{color:inherit;white-space:nowrap}.context{max-width:720px;color:var(--muted);flex-wrap:wrap;align-items:end;gap:8px 12px;margin:0 auto 8px;font-size:.85rem;display:flex}.context label{flex-direction:column;gap:2px;display:flex}.context .grow{flex:180px}.context select,.context input{border:1px solid var(--line);background:var(--card);min-height:40px;color:var(--ink);border-radius:10px;padding:0 10px}.seg{border:1px solid var(--line);border-radius:10px;display:inline-flex;overflow:hidden}.seg button{background:var(--card);border:0;border-radius:0;min-height:40px}.seg button[aria-checked=true]{background:var(--accent);color:var(--accent-ink)}.composer{align-items:flex-end;gap:8px;max-width:720px;margin:0 auto;display:flex}.composer textarea{resize:none;border:1px solid var(--line);background:var(--card);border-radius:14px;flex:1;min-height:48px;max-height:160px;padding:12px 14px}.composer button{background:var(--accent);min-height:48px;color:var(--accent-ink);border-color:var(--accent);font-weight:600}.composer .stop{color:var(--ink);border-color:var(--line);background:0 0}.composer button:disabled{opacity:.5;cursor:not-allowed}.fine{text-align:center;max-width:720px;color:var(--muted);margin:6px auto 0;font-size:.78rem}.muted{color:var(--muted)}dialog{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);color:var(--ink);width:100%;max-width:min(520px,92vw);padding:16px}dialog::backdrop{background:#0006}dialog h2{margin:0 0 8px;font-size:1.2rem}.dlg-actions{justify-content:space-between;gap:8px;margin-top:12px;display:flex}.checklist,.coverage{gap:6px;margin:0;padding:0;list-style:none;display:grid}.checklist li{align-items:flex-start;gap:8px;display:flex}.checklist input{width:20px;height:20px;margin-top:.35em}.checklist li.done span{color:var(--muted);text-decoration:line-through}.coverage li{border-bottom:1px solid var(--line);justify-content:space-between;padding:4px 0;display:flex}@media (width>=720px){.examples{grid-template-columns:1fr 1fr}}@media (prefers-reduced-motion:no-preference){.source{transition:outline-color .3s}}.chip{text-align:left;width:100%;max-width:720px;min-height:40px;color:var(--muted);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;margin:0 auto 8px;font-size:.88rem;display:block;overflow:hidden}.chip:before{content:"Applies to: "}.chip:after{content:" ▾"}.chip[aria-expanded=true]:after{content:" ▴"}
