/* Regnor Knowledge · Evidence Desk (2026-09-24). Hand-written, no build step. */
:root{
 --bg:#F7F7F5; --panel:#ffffff; --panel-2:#FAFAF9; --ink:#0E0F12; --ink-2:#3A3B3F; --mute:#6B6C70; --faint:#9B9C9F;
 --line:rgba(14,15,18,.11); --line-2:rgba(14,15,18,.06);
 --green:#2328B8; --green-2:#ECEDFB; --green-3:#1B1FA0; --amber:#8a5608; --amber-2:#f9f0d8; --red:#a3271c; --red-2:#fbebe8;
 --ok:#4F5B2E; --ok-2:#F1F3E6; --ok-line:#C9D0A8;
 --shadow:0 1px 2px rgba(14,15,18,.04),0 12px 32px -8px rgba(14,15,18,.10);
 --serif:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif; --sans:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif;
 --ui:'Geist',system-ui,-apple-system,'Segoe UI',sans-serif; --mono:'Geist Mono',ui-monospace,SFMono-Regular,Menlo,monospace;
 --rail:272px; --pane:460px;
}
html[data-theme=dark]{
 --bg:#0E0F12; --panel:#16171B; --panel-2:#1C1D22; --ink:#ECECEE; --ink-2:#CFCFD3; --mute:#9B9C9F; --faint:#6B6C70;
 --line:rgba(236,236,238,.12); --line-2:rgba(236,236,238,.06);
 --green:#8F93FF; --green-2:#23254A; --green-3:#A9ACFF; --amber:#e3ae55; --amber-2:#2c2415; --red:#ef8a78; --red-2:#321c18;
 --ok:#B9C58A; --ok-2:#252A19; --ok-line:#4A5230;
 --shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px rgba(0,0,0,.25);
}
*{box-sizing:border-box;margin:0;padding:0}
html,body{height:100%}
body{background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:15px;line-height:1.55;-webkit-font-smoothing:antialiased;overflow:hidden}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none !important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
svg.i{width:18px;height:18px;flex:0 0 18px;stroke:currentColor;fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

/* layout */
.desk{display:grid;grid-template-columns:var(--rail) minmax(0,1fr);height:100vh}
.desk.pane-open{grid-template-columns:var(--rail) minmax(0,1fr) var(--pane)}
.desk.rail-closed{grid-template-columns:0 minmax(0,1fr)}
.desk.rail-closed.pane-open{grid-template-columns:0 minmax(0,1fr) var(--pane)}

/* rail */
.rail{background:var(--panel-2);border-right:1px solid var(--line);display:flex;flex-direction:column;min-width:0;overflow:hidden}
.brand{display:flex;align-items:center;gap:10px;padding:18px 18px 14px}
.mark{width:30px;height:30px;border-radius:8px;background:var(--green);display:grid;place-items:center;color:#fff;flex:0 0 30px}
html[data-theme=dark] .mark{color:#0E0F12}
.mark svg{width:17px;height:17px}
.brand .t{font-family:var(--serif);font-size:18px;font-weight:600;letter-spacing:-.01em;line-height:1.1}
.brand .s{font-size:11.5px;color:var(--mute)}
.newq{margin:4px 14px 10px;display:flex;align-items:center;gap:9px;justify-content:center;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-family:var(--sans);font-weight:600;font-size:14px;box-shadow:var(--shadow)}
.newq:hover{border-color:var(--green)}
.newq kbd{margin-left:auto}
kbd{font-family:var(--mono);font-size:10.5px;color:var(--faint);border:1px solid var(--line);border-radius:4px;padding:0 4px}
.hsearch{margin:0 14px 8px;position:relative}
.hsearch input{width:100%;padding:8px 10px 8px 32px;border-radius:8px;border:1px solid var(--line-2);background:transparent;font-size:13.5px}
.hsearch input:focus{outline:none;border-color:var(--line);background:var(--panel)}
.hsearch svg{position:absolute;left:10px;top:9px;width:15px;height:15px;color:var(--faint)}
.hist{flex:1;overflow:auto;padding:4px 8px 12px}
.hgroup{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--faint);letter-spacing:.06em;text-transform:uppercase;padding:12px 10px 4px}
.hitem{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:none;text-align:left;font-size:13.5px;color:var(--ink-2)}
.hitem span{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hitem:hover{background:var(--line-2)}
.hitem.on{background:var(--green-2);color:var(--ink);font-weight:500}
.hitem .del{opacity:0;border:0;background:none;color:var(--faint);padding:2px;border-radius:4px;display:grid}
.hitem:hover .del{opacity:1}
.hitem .del:hover{color:var(--green)}
.hempty{color:var(--faint);font-size:13px;padding:14px 10px}
.me{border-top:1px solid var(--line);padding:12px 14px;display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--green-2);color:var(--green);display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:13px;flex:0 0 32px}
.me .who{min-width:0;flex:1}
.me .em{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.role{display:inline-block;font-family:var(--sans);font-size:11px;font-weight:600;color:var(--green);text-transform:capitalize}
.iconbtn{border:0;background:none;color:var(--mute);width:34px;height:34px;border-radius:8px;display:grid;place-items:center}
.iconbtn:hover{background:var(--line-2);color:var(--ink)}

/* main */
.main{display:flex;flex-direction:column;min-width:0;height:100vh;position:relative}
.topbar{display:flex;align-items:center;gap:8px;padding:10px 16px;border-bottom:1px solid var(--line-2);min-height:54px}
.topbar .ttl{font-family:var(--sans);font-weight:600;font-size:14.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}
.guarantee{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--green);background:var(--green-2);padding:4px 10px;border-radius:999px;font-weight:500;white-space:nowrap}
.guarantee svg{width:14px;height:14px}
.scroll{flex:1;overflow:auto;scroll-behavior:smooth}
.thread{max-width:780px;margin:0 auto;padding:28px 28px 40px}

/* welcome */
.welcome{max-width:780px;margin:0 auto;padding:6vh 28px 40px}
.welcome .kick{font-family:var(--sans);font-size:12px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}
.welcome h1{font-family:var(--serif);font-weight:500;font-size:44px;line-height:1.08;letter-spacing:-.02em;margin:10px 0 14px}
.welcome h1 em{font-style:italic;color:var(--green)}
.welcome p.lead{font-size:16px;color:var(--mute);max-width:600px}
.promise{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:26px 0 30px}
.promise div{border-top:2px solid var(--green);padding-top:10px;font-size:13px;color:var(--mute)}
.promise b{display:block;color:var(--ink);font-family:var(--sans);font-size:13.5px;margin-bottom:2px}
.starters h2{font-family:var(--sans);font-size:13px;font-weight:600;color:var(--ink-2);margin-bottom:10px}
.sgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.starter{text-align:left;border:1px solid var(--line);background:var(--panel);border-radius:12px;padding:14px 16px;box-shadow:var(--shadow);transition:.15s}
.starter:hover{border-color:var(--green);transform:translateY(-1px)}
.starter .tag{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--green);letter-spacing:.04em;text-transform:uppercase}
.starter .q{display:block;margin-top:4px;font-size:14.5px;color:var(--ink)}
.stat{margin-top:22px;font-size:12.5px;color:var(--faint);display:flex;gap:6px;align-items:center}

/* messages */
.turn{margin-bottom:34px}
.q{font-family:var(--sans)}
.ask{display:flex;justify-content:flex-end;margin-bottom:14px}
.ask .bubble{max-width:82%;background:var(--panel);border:1px solid var(--line);border-radius:14px 14px 4px 14px;padding:10px 14px;font-size:15px;white-space:pre-wrap;word-wrap:break-word;box-shadow:var(--shadow)}
.ask .edit{border:0;background:none;color:var(--faint);align-self:center;margin-right:6px;opacity:0;padding:4px}
.ask:hover .edit{opacity:1}
.answer{position:relative}
.answer .who{display:flex;align-items:center;gap:8px;font-family:var(--sans);font-size:12.5px;color:var(--mute);margin-bottom:8px}
.answer .who .mark{width:22px;height:22px;flex-basis:22px;border-radius:6px}
.answer .who .mark svg{width:13px;height:13px}
.prose{font-family:var(--serif);font-size:17.5px;line-height:1.62;color:var(--ink)}
.prose>*:first-child{margin-top:0}
.prose p{margin:0 0 .85em}
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--sans);color:var(--ink);line-height:1.3;margin:1.25em 0 .5em;letter-spacing:-.005em}
.prose h1{font-size:21px}.prose h2{font-size:18.5px}.prose h3{font-size:16px}.prose h4{font-size:15px}
.prose ul,.prose ol{margin:0 0 .9em 1.25em}
.prose li{margin:.25em 0}
.prose strong{font-weight:600}
.prose blockquote{border-left:3px solid var(--green);padding:.2em 0 .2em 1em;color:var(--ink-2);margin:.8em 0}
.prose code{font-family:var(--mono);font-size:.82em;background:var(--line-2);padding:.1em .35em;border-radius:4px}
.prose pre{background:var(--panel-2);border:1px solid var(--line-2);border-radius:8px;padding:12px;overflow:auto;margin:.8em 0}
.prose pre code{background:none;padding:0}
.prose table{border-collapse:collapse;width:100%;margin:.9em 0;font-family:var(--ui);font-size:14px;display:block;overflow-x:auto}
.prose th,.prose td{border:1px solid var(--line);padding:7px 10px;text-align:left;vertical-align:top}
.prose th{background:var(--panel-2);font-family:var(--sans);font-weight:600}
.prose a{color:var(--green);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:2px}
.prose hr{border:0;border-top:1px solid var(--line);margin:1.2em 0}
.cite{display:inline-flex;align-items:center;justify-content:center;min-width:19px;height:19px;padding:0 5px;margin:0 1px 0 2px;border-radius:999px;border:0;background:var(--green-2);color:var(--green);font-family:var(--sans);font-size:11px;font-weight:700;vertical-align:.18em;line-height:1;transition:.12s}
.cite:hover,.cite.on{background:var(--green);color:#fff}
html[data-theme=dark] .cite:hover,html[data-theme=dark] .cite.on{color:#0E0F12}
.caret{display:inline-block;width:8px;height:18px;background:var(--green);vertical-align:-3px;margin-left:2px;animation:blink 1s steps(2) infinite;border-radius:1px}
@keyframes blink{50%{opacity:0}}
.thinking{display:flex;align-items:center;gap:10px;color:var(--mute);font-size:14px;font-family:var(--sans)}
.dots{display:inline-flex;gap:4px}
.dots i{width:6px;height:6px;border-radius:50%;background:var(--green);opacity:.35;animation:dot 1.2s infinite}
.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}
@keyframes dot{40%{opacity:1;transform:translateY(-2px)}}

/* sources under an answer */
.sources{margin-top:14px;border-top:1px solid var(--line-2);padding-top:12px}
.sources .h{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--mute);margin-bottom:8px;display:flex;align-items:center;gap:6px}
.sources .h svg{width:14px;height:14px;color:var(--green)}
.srcs{display:flex;flex-wrap:wrap;gap:8px}
.src{display:flex;align-items:center;gap:8px;max-width:100%;padding:7px 11px 7px 7px;border-radius:10px;border:1px solid var(--line);background:var(--panel);font-size:13px;text-align:left;transition:.12s}
.src:hover,.src.on{border-color:var(--green);background:var(--green-2)}
.src .n{min-width:20px;height:20px;border-radius:6px;background:var(--green-2);color:var(--green);display:grid;place-items:center;font-family:var(--sans);font-weight:700;font-size:11px}
.src:hover .n,.src.on .n{background:var(--green);color:#fff}
html[data-theme=dark] .src:hover .n,html[data-theme=dark] .src.on .n{color:#0E0F12}  /* 2026-10-02: was white on light green */
.src .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:320px}
.notice{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:14px;margin-top:12px}
.notice svg{margin-top:2px}
.notice.warn{background:var(--amber-2);color:var(--amber)}
.notice.none{background:var(--panel);border:1px dashed var(--line);color:var(--ink-2)}
.notice.none b{display:block;font-family:var(--sans);margin-bottom:2px}
.notice.err{background:var(--red-2);color:var(--red)}
.notice .sub{color:var(--mute);font-size:13px;margin-top:4px}
.actions{display:flex;gap:2px;margin-top:10px;align-items:center;flex-wrap:wrap}
.act{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--mute);font-size:12.5px;padding:6px 8px;border-radius:7px;font-family:var(--sans)}
.act:hover{background:var(--line-2);color:var(--ink)}
.act svg{width:15px;height:15px}
.meta{margin-left:auto;font-size:12px;color:var(--faint);font-family:var(--sans)}

/* composer */
.dock{padding:0 20px 18px;background:linear-gradient(to bottom,transparent,var(--bg) 26%)}
.composer{max-width:780px;margin:0 auto;background:var(--panel);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:10px 10px 8px 16px;transition:.15s}
.composer:focus-within{border-color:var(--green);box-shadow:0 0 0 4px var(--green-2),var(--shadow)}
.composer textarea{width:100%;border:0;outline:none;background:none;resize:none;font-size:16px;line-height:1.5;max-height:220px;min-height:26px;padding:6px 0}
.crow{display:flex;align-items:center;gap:8px}
.scopebtn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:5px 11px;font-size:12.5px;font-family:var(--sans);color:var(--ink-2)}
.scopebtn:hover{border-color:var(--green)}
.scopebtn svg{width:14px;height:14px}
.hint{font-size:11.5px;color:var(--faint);margin-left:auto}
.send{width:38px;height:38px;border-radius:12px;border:0;background:var(--green);color:#fff;display:grid;place-items:center;flex:0 0 38px;transition:.12s}
html[data-theme=dark] .send{color:#0E0F12}
.send:disabled{opacity:.35;cursor:default}
.send.stop{background:var(--ink)}
.send svg{width:18px;height:18px}
.foot{max-width:780px;margin:8px auto 0;text-align:center;font-size:11.5px;color:var(--faint)}
.menu{position:absolute;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:0 12px 40px rgba(0,0,0,.14);padding:6px;min-width:220px;z-index:30}
.menu .mh{font-family:var(--sans);font-size:11px;font-weight:600;color:var(--faint);text-transform:uppercase;letter-spacing:.06em;padding:6px 10px 4px}
.menu button{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:8px 10px;border-radius:8px;text-align:left;font-size:13.5px}
.menu button:hover{background:var(--line-2)}
.menu button .ck{width:16px;color:var(--green);font-weight:700}

/* evidence pane */
.pane{background:var(--panel);border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;height:100vh}
.pane-head{padding:12px 14px 0;border-bottom:1px solid var(--line-2)}
.pane-top{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pane-top .lbl{font-family:var(--sans);font-size:12px;font-weight:600;color:var(--green);letter-spacing:.08em;text-transform:uppercase;display:flex;gap:6px;align-items:center}
.pane-top .lbl svg{width:15px;height:15px}
.pane-top .sp{flex:1}
.tabs{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.tab{display:flex;align-items:center;gap:6px;border:0;background:none;padding:8px 10px;border-bottom:2px solid transparent;font-size:12.5px;color:var(--mute);white-space:nowrap;max-width:200px;font-family:var(--sans)}
.tab span{overflow:hidden;text-overflow:ellipsis}
.tab.on{color:var(--ink);border-bottom-color:var(--green);font-weight:600}
.tab .n{color:var(--green);font-weight:700;flex:0 0 auto}
.pane-body{flex:1;overflow:auto;padding:20px 22px 40px}
.ev-title{font-family:var(--serif);font-size:24px;line-height:1.2;font-weight:500;letter-spacing:-.01em;margin-bottom:10px}
.badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--sans);font-size:11.5px;font-weight:600;padding:3px 9px;border-radius:999px;background:var(--line-2);color:var(--mute)}
.badge.ok{background:var(--green-2);color:var(--green)}
.badge.src{background:var(--amber-2);color:var(--amber)}
.badge svg{width:13px;height:13px}
.locator{font-size:13px;color:var(--mute);background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;margin-bottom:14px}
.locator b{color:var(--ink)}
.ev .prose{font-size:16px}
.ev .banner{font-size:13px;background:var(--panel-2);border:1px solid var(--line-2);border-radius:10px;padding:10px 12px;margin-bottom:16px;color:var(--mute)}
.ev .banner p{margin:0 0 .4em}
.ev pre.srcdoc{white-space:pre-wrap;font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--ink-2);background:none;border:0;padding:0}
mark.hit{background:color-mix(in srgb,var(--green) 22%,var(--panel));color:inherit;border-radius:3px;padding:0 2px;box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 22%,var(--panel))}
html[data-theme=dark] mark.hit{background:color-mix(in srgb,var(--green) 35%,var(--panel));box-shadow:0 0 0 2px color-mix(in srgb,var(--green) 35%,var(--panel))}
.ev .wl{color:var(--green);font-weight:600;cursor:pointer;text-decoration:underline;text-decoration-style:dotted}
.pane-empty{color:var(--mute);font-size:14px;padding:30px 4px;text-align:center}

/* sign-in + modal */
.gate{position:fixed;inset:0;display:grid;place-items:center;background:var(--bg);z-index:50;padding:24px}
.gate .card{max-width:430px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:34px;box-shadow:var(--shadow);text-align:center}
.gate h1{font-family:var(--serif);font-weight:500;font-size:30px;margin:14px 0 8px}
.gate p{color:var(--mute);margin-bottom:20px}
.btn{display:inline-flex;align-items:center;gap:8px;border:0;background:var(--green);color:#fff;border-radius:10px;padding:11px 18px;font-family:var(--sans);font-weight:600;font-size:14.5px;text-decoration:none}
html[data-theme=dark] .btn:not(.sec){color:#0E0F12}  /* 2026-10-02: secondary buttons keep var(--ink) (was dark-on-dark) */
.btn.sec{background:var(--panel);color:var(--ink);border:1px solid var(--line)}
.overlay{position:fixed;inset:0;background:rgba(14,15,18,.4);z-index:40;display:grid;place-items:center;padding:20px}
.dialog{background:var(--panel);border-radius:16px;border:1px solid var(--line);width:min(520px,100%);max-height:86vh;overflow:auto;padding:24px;box-shadow:0 20px 60px rgba(0,0,0,.2)}
.dialog h2{font-family:var(--serif);font-weight:500;font-size:24px;margin-bottom:4px}
.dialog .d{color:var(--mute);font-size:13.5px;margin-bottom:16px}
.field{margin-bottom:16px}
.field label{display:block;font-family:var(--sans);font-size:12.5px;font-weight:600;margin-bottom:6px}
.field select{width:100%;padding:9px 10px;border-radius:9px;border:1px solid var(--line);background:var(--panel-2)}
.field .h{font-size:12px;color:var(--mute);margin-top:5px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.seg button{border:0;background:none;padding:7px 14px;font-size:13px}
.seg button.on{background:var(--green-2);color:var(--green);font-weight:600}
.keys{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13px;color:var(--mute)}
.toast{position:fixed;left:50%;bottom:28px;transform:translateX(-50%);background:var(--ink);color:var(--bg);padding:9px 16px;border-radius:10px;font-size:13.5px;z-index:60;box-shadow:var(--shadow);animation:up .2s}
@keyframes up{from{opacity:0;transform:translate(-50%,8px)}}
.jump{position:absolute;left:50%;transform:translateX(-50%);bottom:132px;border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;font-size:12.5px;box-shadow:var(--shadow);display:flex;gap:6px;align-items:center;z-index:5}

/* responsive */
.only-mobile{display:none}
@media (max-width:1180px){
 .desk.pane-open{grid-template-columns:var(--rail) minmax(0,1fr)}
 .desk.rail-closed.pane-open{grid-template-columns:0 minmax(0,1fr)}
 .pane{position:fixed;right:0;top:0;bottom:0;width:min(var(--pane),94vw);z-index:35;box-shadow:-20px 0 50px rgba(0,0,0,.16)}
}
@media (max-width:860px){
 .desk,.desk.pane-open,.desk.rail-closed,.desk.rail-closed.pane-open{grid-template-columns:minmax(0,1fr)}
 .rail{position:fixed;left:0;top:0;bottom:0;width:min(300px,86vw);z-index:36;transform:translateX(-102%);transition:transform .2s;box-shadow:20px 0 50px rgba(0,0,0,.16)}
 .desk.rail-mobile .rail{transform:none}
 .only-mobile{display:grid}
 #railBtn{display:none}
 .pane{width:100vw}
 .welcome{padding-top:5vh}
 .welcome h1{font-size:34px}
 .promise{grid-template-columns:1fr}
 .sgrid{grid-template-columns:1fr}
 .thread{padding:20px 16px 30px}
 .dock{padding:0 10px 10px}
 .hint,.guarantee .gt{display:none}
 .prose{font-size:16.5px}
}

/* answer check (2026-09-25) */
.cite.ok{box-shadow:inset 0 0 0 1.5px var(--green)}
.cite.warn{background:var(--amber-2);color:var(--amber);box-shadow:inset 0 0 0 1.5px var(--amber)}
.src .mk{font-family:var(--sans);font-weight:800;font-size:12px;margin-left:2px}
.src .mk.ok{color:var(--green)}.src .mk.warn{color:var(--amber)}
.src.warn{border-color:var(--amber)}
.checkbar{display:flex;align-items:center;gap:8px;margin-top:12px;padding:9px 12px;border-radius:10px;font-size:13px;font-family:var(--sans);background:var(--panel-2);color:var(--mute);border:1px solid var(--line-2)}
.checkbar svg{width:15px;height:15px}
.checkbar.ok{background:var(--green-2);color:var(--green);border-color:transparent}
.checkbar.warn{background:var(--amber-2);color:var(--amber);border-color:transparent}
.checklist{list-style:none;margin:8px 0 0;padding:0}
.checklist li{font-size:13.5px;padding:6px 0;border-bottom:1px solid var(--line-2);color:var(--ink-2)}
.checklist .st{font-family:var(--sans);font-weight:700;font-size:11.5px;padding:1px 7px;border-radius:999px;margin-right:4px}
.checklist li.warn .st{background:var(--amber-2);color:var(--amber)}
.checklist li.na .st{background:var(--line-2);color:var(--mute)}
.checklist .why{color:var(--faint);font-size:12.5px}
.checknote{font-size:12px;color:var(--faint);margin-top:6px}
.evchecks{margin:0 0 14px}
.evc{font-size:13px;padding:6px 10px;border-radius:8px;margin-top:6px}
.evc.ok{background:var(--green-2);color:var(--green)}.evc.warn{background:var(--amber-2);color:var(--amber)}.evc.na{background:var(--line-2);color:var(--mute)}
.ev .dsec{font-family:var(--sans);font-size:12px;font-weight:700;color:var(--ink-2);margin-bottom:2px}

.scopemenu .cnt,[data-scope] .cnt{margin-left:auto;padding-left:12px;color:var(--faint);font-size:12px;font-variant-numeric:tabular-nums}

/* ambiguous title picker (2026-09-26) */
.picklist{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.pick{display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;padding:10px 12px;border:1px solid var(--line-2);border-radius:10px;background:var(--panel);cursor:pointer;font-size:14px}
.pick:hover{border-color:var(--green)}
.pick span{font-size:12px;color:var(--faint)}

/* ===================================================== 2026-10-04 polish pass
   Patterns studied in Whirl (MIT): metered streaming, queued messages,
   soft scroll edges, press feedback, newest-turn entrance, accents. */

/* accents: re-ink the green family; light and dark spelled out */
html.has-brand{--green:var(--brand);--green-3:color-mix(in srgb,var(--brand) 80%,#fff);--green-2:color-mix(in srgb,var(--brand) 13%,var(--panel))}
html[data-theme=dark].has-brand{--green:color-mix(in srgb,var(--brand) 55%,#fff);--green-3:color-mix(in srgb,var(--brand) 40%,#fff);--green-2:color-mix(in srgb,var(--brand) 22%,var(--panel))}
html[data-accent=ocean]{--green:#1f5f8b;--green-2:#e1ecf4;--green-3:#2f7bb0}
html[data-theme=dark][data-accent=ocean]{--green:#7fbbe6;--green-2:#182633;--green-3:#9ccbee}
html[data-accent=plum]{--green:#6b3a7a;--green-2:#efe5f2;--green-3:#87529a}
html[data-theme=dark][data-accent=plum]{--green:#cfa0dd;--green-2:#2a1f2e;--green-3:#dcb6e6}
html[data-accent=clay]{--green:#9a4a26;--green-2:#f6e7df;--green-3:#b65f37}
html[data-theme=dark][data-accent=clay]{--green:#eaa47f;--green-2:#311f17;--green-3:#f0b897}
html[data-accent=graphite]{--green:#2c2f33;--green-2:#e9eaea;--green-3:#4a4e54}
html[data-theme=dark][data-accent=graphite]{--green:#d6d9dc;--green-2:#25282a;--green-3:#e4e6e8}
html[data-theme=dark][data-accent=graphite] .send,html[data-theme=dark][data-accent=graphite] .btn,html[data-theme=dark][data-accent=graphite] .mark,html[data-theme=dark][data-accent=graphite] .cite:hover,html[data-theme=dark][data-accent=graphite] .cite.on{color:#111}
.swatches{display:flex;gap:10px}
.sw{width:30px;height:30px;border-radius:50%;border:2px solid var(--panel);box-shadow:0 0 0 1px var(--line);background:var(--sw);transition:transform .15s,box-shadow .15s}
.sw:hover{transform:scale(1.08)}
.sw.on{box-shadow:0 0 0 2px var(--ink)}
.sw-brand{--sw:#2328B8}.sw-ocean{--sw:#1f5f8b}.sw-plum{--sw:#6b3a7a}.sw-clay{--sw:#9a4a26}.sw-graphite{--sw:#2c2f33}

/* queued questions, worn by the composer */
.queue{display:flex;flex-direction:column;gap:2px;margin:-2px 0 6px -6px}
.qrow{display:flex;align-items:center;gap:8px;height:30px;padding:0 4px 0 6px;border-radius:10px;font-size:13.5px;color:var(--mute);animation:qin .22s cubic-bezier(.2,.9,.3,1.2) both}
.qn{width:18px;height:18px;border-radius:50%;background:var(--line-2);display:grid;place-items:center;font-family:var(--sans);font-size:10.5px;font-weight:700;font-variant-numeric:tabular-nums;flex:0 0 18px}
.qt{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.qx{width:24px;height:24px;border:0;background:none;color:var(--faint);border-radius:6px;display:grid;place-items:center}
.qx:hover{background:var(--line-2);color:var(--ink)}
.qx svg{width:14px;height:14px}
@keyframes qin{from{opacity:0;height:0;transform:translateY(4px)}}

/* folders in the rail */
.folder{margin:2px 0}
.fhead{display:flex;align-items:center;gap:8px;width:100%;border:0;background:none;padding:7px 10px;border-radius:8px;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--ink-2);text-align:left}
.fhead:hover{background:var(--line-2)}
.fhead svg{width:15px;height:15px;color:var(--green);flex:0 0 15px}
.fhead .fn{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fhead .fc{color:var(--faint);font-weight:500;font-variant-numeric:tabular-nums}
.fhead .fx{opacity:0;display:grid;padding:2px;border-radius:4px;color:var(--faint)}
.fhead:hover .fx{opacity:1}.fhead .fx:hover{color:var(--green)}
.fhead .fx svg{color:inherit;width:13px;height:13px}
.fbody{max-height:0;overflow:hidden;transition:max-height .25s ease;padding-left:10px}
.folder.open .fbody{max-height:2000px}
.hempty.sm{font-size:12px;padding:6px 10px}
.hitem .mv{opacity:0;display:grid;padding:2px;border-radius:4px;color:var(--faint);flex:0 0 auto}
.hitem:hover .mv{opacity:1}.hitem .mv:hover{color:var(--green)}
.hitem .mv svg,.hitem .del svg{width:14px;height:14px}
.hitem span:first-child{flex:1}
.hitem .shared{width:13px;height:13px;margin-right:5px;vertical-align:-2px;color:var(--green)}
@media (hover:none){.hitem .mv,.hitem .del,.fhead .fx{opacity:.7}}

/* soft scroll edges on the rail */
.hist.fade-top{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px);mask-image:linear-gradient(to bottom,transparent 0,#000 28px)}
.hist.fade-bot{-webkit-mask-image:linear-gradient(to top,transparent 0,#000 28px);mask-image:linear-gradient(to top,transparent 0,#000 28px)}
.hist.fade-top.fade-bot{-webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%);mask-image:linear-gradient(to bottom,transparent 0,#000 28px,#000 calc(100% - 28px),transparent 100%)}

/* motion: newest turn rises in, press feedback, evidence pane slides in */
.turn.enter .ask{animation:rise .32s cubic-bezier(.2,.8,.2,1) both}
.turn.enter .answer{animation:rise .38s .06s cubic-bezier(.2,.8,.2,1) both}
@keyframes rise{from{opacity:0;transform:translateY(10px)}}
.send,.btn,.act,.starter,.newq,.src,.cite,.scopebtn,.sw{transition:transform .14s ease-out,background-color .15s,color .15s,border-color .15s,box-shadow .15s}
.send:active:not(:disabled),.btn:active,.act:active,.newq:active,.src:active,.scopebtn:active{transform:scale(.96)}
.starter:active{transform:scale(.98)}
.send:not(:disabled):not(.stop){background-image:linear-gradient(to bottom,rgba(255,255,255,.18),rgba(255,255,255,0))}
.pane:not([hidden]){animation:slidein .26s cubic-bezier(.2,.8,.2,1)}
@keyframes slidein{from{opacity:0;transform:translateX(18px)}}
.prose .caret{transition:opacity .2s}
.composer textarea{transition:height .12s ease-out}
.toast{max-width:min(560px,92vw);text-align:center}

/* installed app and phones */
@media (display-mode:standalone){.foot{padding-bottom:max(6px,env(safe-area-inset-bottom))}}
@media (max-width:860px){
 .dock{padding-bottom:max(10px,env(safe-area-inset-bottom))}
 .topbar{padding-top:max(0px,env(safe-area-inset-top))}
 .composer{border-radius:16px}
 .composer textarea{font-size:16px}
 .act{padding:8px 10px}
 .queue{margin-left:-4px}
}
@media (prefers-reduced-motion:reduce){
 *,*::before,*::after{animation-duration:.001ms !important;animation-delay:0s !important;transition-duration:.001ms !important}
}
@media (max-width:860px){.toast{bottom:calc(150px + env(safe-area-inset-bottom))}}

/* 2026-10-04: answers in a plain, clean sans (Inter) instead of the serif */
.prose{font-family:var(--ui);font-size:16px;line-height:1.7;letter-spacing:-.003em;color:var(--ink-2)}
.prose strong{color:var(--ink)}
.prose h1,.prose h2,.prose h3,.prose h4{font-family:var(--ui);font-weight:600;letter-spacing:-.01em}
.prose h1{font-size:19px}.prose h2{font-size:17px}.prose h3{font-size:16px}.prose h4{font-size:15px}
.prose li{margin:.3em 0}
.prose li::marker{color:var(--faint)}
.ev .prose{font-size:15px}
@media (max-width:860px){.prose{font-size:16px}}

/* 2026-10-04: reference links and related pages in the evidence panel */
.ev .wl.ref{font-weight:500;text-decoration-thickness:1px;text-underline-offset:3px}
.ev .wl:hover,.ev .wl:focus-visible{background:var(--green-2);border-radius:3px;outline:none}
.related{margin-top:22px;padding-top:14px;border-top:1px solid var(--line-2);display:flex;flex-direction:column;gap:2px}
.related .dsec{margin-bottom:6px}
.relp{display:flex;align-items:flex-start;gap:8px;border:0;background:none;text-align:left;padding:6px 8px;border-radius:8px;font-size:13.5px;color:var(--ink-2)}
.relp:hover{background:var(--green-2);color:var(--ink)}
.relp .dir{color:var(--faint);font-size:12px;width:12px;flex:0 0 12px;margin-top:1px}

/* 2026-10-05: in-app dialogs */
.dialog.sm{width:min(420px,100%);padding:22px 22px 18px}
.dialog.sm h2{font-family:var(--ui);font-size:17px;font-weight:600;letter-spacing:-.01em;margin-bottom:6px}
.dialog.sm .d{font-size:14px;color:var(--mute);margin:0 0 4px;line-height:1.5}
.uidin{width:100%;margin-top:12px;padding:10px 12px;border-radius:10px;border:1px solid var(--line);background:var(--panel-2);font-size:14.5px;outline:none}
.uidin:focus{border-color:var(--green);box-shadow:0 0 0 3px var(--green-2)}
.uidacts{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}
.uidacts .btn{padding:9px 16px;font-size:14px}
.btn.danger{background:var(--green);color:#fff}
.uidlg{animation:fadein .14s ease-out}.uidlg .dialog{animation:pop .18s cubic-bezier(.2,.9,.3,1.15)}
@keyframes fadein{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(6px) scale(.97)}}

/* 2026-10-05: resizable panels */
/* only where the panels sit side by side; on phones they slide in over the chat */
@media (min-width:861px){.rail{position:relative}}
@media (min-width:1181px){.pane{position:relative}}
.resizer{position:absolute;top:0;bottom:0;width:9px;z-index:20;cursor:col-resize;touch-action:none}
.resizer.rz-rail{right:0}.resizer.rz-pane{left:0}
.resizer::after{content:"";position:absolute;top:0;bottom:0;left:4px;width:1px;background:transparent;transition:background-color .15s,width .15s,left .15s}
.resizer:hover::after,.resizer:focus-visible::after,body.resizing .resizer::after{background:var(--green);width:3px;left:3px}
.resizer:focus-visible{outline:none}
body.resizing{cursor:col-resize;user-select:none}
body.resizing .desk,body.resizing .pane{transition:none}
body.resizing iframe{pointer-events:none}
.desk.rail-closed .resizer.rz-rail{display:none}
@media (max-width:860px){.resizer{display:none}}

/* 2026-10-05: per-tab close in the evidence panel */
.tab{cursor:pointer;padding-right:4px;user-select:none}
.tab .tt{overflow:hidden;text-overflow:ellipsis}
.tab .tx{display:grid;place-items:center;width:20px;height:20px;border:0;border-radius:5px;background:none;color:var(--faint);flex:0 0 20px;opacity:0;transition:opacity .12s,background-color .12s}
.tab:hover .tx,.tab.on .tx,.tab:focus-visible .tx,.tab .tx:focus-visible{opacity:1}
.tab .tx:hover{background:var(--line-2);color:var(--ink)}
.tab .tx svg{width:12px;height:12px}
.tab:focus-visible{outline:2px solid var(--green-2);outline-offset:-2px;border-radius:6px 6px 0 0}
@media (hover:none){.tab .tx{opacity:1}}

/* 2026-10-05: secondary buttons stay visible in dark mode */
html[data-theme=dark] .btn.sec{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.2);color:var(--ink)}
html[data-theme=dark] .btn.sec:hover{background:rgba(255,255,255,.12)}
.btn.sec:hover{background:var(--panel-2)}
html[data-theme=dark] .btn.danger{background:var(--green);color:#0E0F12}

/* 2026-10-05: compact settings, everything visible without scrolling */
.dialog.settings{width:min(600px,100%);padding:0;display:flex;flex-direction:column;max-height:min(720px,92vh);overflow:hidden}
.settings .sthead{display:flex;align-items:baseline;gap:12px;padding:20px 24px 4px}
.settings .sthead h2{font-family:var(--ui);font-size:19px;font-weight:600;letter-spacing:-.01em;margin:0}
.settings .sthead .d{margin:0;font-size:12.5px}
.settings .stbody{padding:12px 24px 4px;overflow:auto;flex:1;min-height:0}
.settings .strow{display:flex;gap:28px;flex-wrap:wrap}
.settings .field{margin-bottom:14px}
.settings .swatches{gap:8px}.settings .sw{width:28px;height:28px}
.keys2{display:grid;grid-template-columns:1fr 1fr;gap:6px 18px;font-size:13px;color:var(--mute)}
.keys2>div{display:flex;align-items:center;gap:8px;min-width:0}
.keys2 kbd{flex:0 0 auto;font-size:11px;padding:1px 6px;color:var(--ink-2);background:var(--panel-2)}
.settings .stfoot{display:flex;align-items:center;gap:8px;padding:14px 24px;border-top:1px solid var(--line-2);background:var(--panel-2)}
.settings .stfoot .sp{flex:1}
.settings .stfoot .btn{padding:9px 16px;font-size:14px}
.linkbtn{display:inline-flex;align-items:center;gap:6px;border:0;background:none;padding:8px 6px;border-radius:8px;font-family:var(--sans);font-size:13px;font-weight:600;color:var(--mute)}
.linkbtn svg{width:15px;height:15px}
.linkbtn.danger:hover{color:var(--green);background:var(--green-2)}
@media (max-width:560px){.keys2{grid-template-columns:1fr}.settings .stfoot{flex-wrap:wrap}.settings .stfoot .linkbtn{width:100%;justify-content:center}}

/* 2026-10-05: phone backdrop behind the conversation list */
.scrim{display:none}
@media (max-width:860px){
 .scrim{display:block;position:fixed;inset:0;z-index:35;background:rgba(14,15,18,.38);opacity:0;pointer-events:none;transition:opacity .2s}
 .desk.rail-mobile .scrim{opacity:1;pointer-events:auto}
}

/* menus open above the phone conversation list (z 36) and its backdrop */
.menu{z-index:38}

/* the row's buttons keep their own size; the title takes the rest (the delete
   button used to stretch over half the row, so a click there opened the delete dialog) */
.hitem .del,.hitem .mv{flex:0 0 auto}
.hitem>span:first-child{flex:1 1 auto;min-width:0}

/* 2026-10-05: phone polish */
@media (max-width:860px){
 .crow .send{margin-left:auto}
 .newq kbd{display:none}
 .settings .kfield{display:none}
 .settings .strow{gap:14px}
}
@media (hover:none) and (pointer:coarse){.settings .kfield{display:none}}

/* 2026-10-06: iPhone. 100vh is taller than the visible screen in Safari and
   home-screen apps, so the page could scroll and carry the top bar (and its
   menu button) off screen. Use the visible height and pin the page so it
   can never scroll as a whole; only the conversation scrolls. */
@supports (height: 100dvh){
 .desk,.main,.pane{height:100dvh}
}
@media (max-width:860px){
 html,body{height:100%;overflow:hidden;overscroll-behavior:none}
 body{position:fixed;inset:0;width:100%}
 .rail{height:100dvh}
 .topbar{position:sticky;top:0;z-index:5;background:var(--bg)}
}

/* print / save as PDF: last, so it wins over every screen rule */
@media print{
 @page{size:A4;margin:14mm 0 16mm}
 @page:first{margin-top:12mm}
 html,html[data-theme=dark]{--bg:#fff;--panel:#fff;--panel-2:#f7f7f5;--ink:#111;--ink-2:#222;--mute:#555;--faint:#777;--line:rgba(0,0,0,.18);--line-2:rgba(0,0,0,.1);--green-2:#f2f2f4;--amber:#8a5608;--amber-2:#fbf0db;--red:#a3352a;--red-2:#fbe6e2}
 html,body{background:#fff !important;color:#111;height:auto}
 body{overflow:visible;font-size:11pt;-webkit-print-color-adjust:exact;print-color-adjust:exact}
 *,*::before,*::after{animation:none !important;transition:none !important;box-shadow:none !important}
 .rail,.topbar,.dock,.pane,.actions,.jump,.ask .edit,.welcome,.toast,.menu,.overlay,.caret,.checkbar.pending,.scr-only,.queue{display:none !important}
 .desk{display:block;height:auto}.main,.scroll{height:auto;overflow:visible;display:block}
 /* side margins live in the content, so they survive 'Margins: None' and browsers that ignore @page */
 .scroll{padding:6mm 18mm 0 !important;box-sizing:border-box}
 .thread{max-width:none;padding:0;margin:0}
 .printhead{display:block !important;border-bottom:1.5px solid var(--green);padding-bottom:10px;margin-bottom:18px}
 .printhead .pk{font-family:var(--ui);font-size:9pt;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green)}
 .printhead h1{font-family:var(--ui);font-size:17pt;font-weight:600;line-height:1.25;margin:4px 0 6px;color:#111}
 .printhead .pm{font-size:8.5pt;color:#666}
 .turn{margin:0 0 20px;padding-bottom:16px;border-bottom:1px solid rgba(0,0,0,.12)}
 .turn:last-child{border-bottom:0}
 .ask{display:block;margin:0 0 10px}
 .ask .bubble{max-width:none;background:#f4f6f4;border:0;border-left:3px solid var(--green);border-radius:0 6px 6px 0;padding:8px 12px;font-weight:600;font-size:11.5pt;color:#111}
 .ask .bubble::before{content:"Question";display:block;font-size:8pt;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--green);margin-bottom:2px}
 .who{font-size:8pt;color:#666;margin-bottom:6px}
 .who .mark{width:16px;height:16px;flex-basis:16px;border-radius:4px}
 .prose{font-size:11pt;line-height:1.55;color:#1a1a1a}
 .prose h1,.prose h2,.prose h3,.prose h4{break-after:avoid;page-break-after:avoid;color:#111}
 .prose li,.prose p{orphans:3;widows:3}
 .prose li,.notice,.checkbar,.src,.checklist li{break-inside:avoid;page-break-inside:avoid}
 .cite{background:none !important;color:var(--green) !important;border:1px solid color-mix(in srgb,var(--green) 35%,#fff) !important;min-width:15px;height:15px;font-size:7.5pt}
 .sources{border-top:1px solid rgba(0,0,0,.12);margin-top:12px;padding-top:8px}
 .sources .h{font-size:9pt;color:#444}
 .srcs{display:block}
 .src{display:flex;align-items:flex-start;border:0;background:none;padding:3px 0;margin:0;font-size:9.5pt;max-width:none}
 .src .n{background:none;border:1px solid color-mix(in srgb,var(--green) 35%,#fff);color:var(--green);min-width:17px;height:17px;font-size:8pt;flex:0 0 17px}
 .src .nm{white-space:normal;overflow:visible;text-overflow:clip;max-width:none}
 .checkbar{border:1px solid rgba(0,0,0,.15);background:#f7f9f8 !important;font-size:9pt}
 .notice{border:1px solid rgba(0,0,0,.15);background:#fafafa !important}
 .thread::after{content:"Research tool, not legal advice. Answers come only from verified pages in your knowledge base.";display:block;margin-top:14px;font-size:8pt;color:#777}
 a{color:inherit}
}
.printhead{display:none}

/* 2026-10-19: clickable line references and the numbered source view */
.lref{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600;color:var(--green);background:var(--green-2);border-radius:999px;padding:1px 8px 1px 6px;margin:0 2px;cursor:pointer;white-space:nowrap;vertical-align:1px}
.lref svg{width:12px;height:12px}
.lref:hover,.lref:focus-visible{outline:2px solid var(--green);outline-offset:1px}
.ev a.orig{display:inline-flex;align-items:center;gap:6px;font-size:13.5px;font-weight:600;color:var(--green);border:1px solid var(--line);border-radius:10px;padding:7px 12px;margin:0 0 12px;text-decoration:none}
.ev a.orig:hover{border-color:var(--green)}
.srclines{font-family:var(--mono);font-size:12.5px;line-height:1.6;color:var(--ink-2);border:1px solid var(--line-2);border-radius:10px;overflow:hidden}
.srclines .sl{display:flex;gap:10px;padding:0 10px 0 0}
.srclines .sl .no{flex:0 0 44px;text-align:right;color:var(--faint);user-select:none;padding-right:8px;border-right:1px solid var(--line-2)}
.srclines .sl .tx{white-space:pre-wrap;word-break:break-word;min-width:0}
.srclines .sl.hl{background:color-mix(in srgb,var(--green) 14%,transparent)}
.srclines .sl.hl .no{color:var(--ink);font-weight:700;background:color-mix(in srgb,var(--green) 30%,var(--panel))}
html[data-theme=dark] .srclines .sl.hl{background:color-mix(in srgb,var(--green) 22%,transparent)}
html[data-theme=dark] .srclines .sl.hl .no{background:color-mix(in srgb,var(--green) 40%,var(--panel))}
.srcmore{display:block;margin:10px 0;background:none;border:1px solid var(--line);border-radius:8px;padding:6px 12px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
@media print{.lref{background:none;padding:0}}

/* 2026-10-19: topic pages */
.topicrow{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 14px}
.topicrow .dsec{margin:0 4px 0 0}
.topicchip{border:1px solid var(--line);background:var(--panel-2);border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--ink-2);cursor:pointer}
.topicchip:hover,.topicchip:focus-visible{border-color:var(--green);color:var(--green)}
.tgroup{margin:18px 0 8px}
.tgroup h3{font-size:15px;margin:0 0 8px}
.tunit{border-left:3px solid var(--line);padding:2px 0 2px 12px;margin:0 0 12px}
.tunit .prose p{margin:0 0 4px}
.tfrom{font-size:12px;color:var(--mute)}
.tpage{background:none;border:0;padding:0;color:var(--green);font-weight:600;font-size:12px;cursor:pointer;text-decoration:underline}
.tlabel{color:var(--faint)}

/* 2026-10-19: saved answers */
.savedhint{display:flex;gap:10px;align-items:flex-start;background:var(--green-2);border-radius:12px;padding:10px 12px;margin:0 0 12px;font-size:13.5px}
.savedhint svg{flex:0 0 16px;margin-top:2px;color:var(--green)}
.savedhint b{display:block;margin-bottom:4px}
.savedq{display:block;text-align:left;background:none;border:0;padding:2px 0;color:var(--green);font-weight:600;cursor:pointer;font-size:13.5px}
.savedq span{color:var(--mute);font-weight:400}
.savedq:hover{text-decoration:underline}
ul.savedlist{padding-left:18px;margin:6px 0 12px}
ul.savedlist li{margin:0 0 8px;line-height:1.55}

/* #13 (2026-10-26): citations of original documents, not checked */
.cite.unchecked{background:var(--amber-2);color:var(--amber);box-shadow:inset 0 0 0 1.5px var(--amber);border-style:dashed}
.srcnote{display:flex;gap:.5rem;align-items:flex-start;margin-top:.75rem;padding:.5rem .7rem;border-radius:8px;background:var(--amber-2);color:var(--amber);font-size:.85em;line-height:1.4}
.srcnote svg{flex:none;width:15px;height:15px;margin-top:2px}

/* 2026-10-27: same design language as knowledge.regnor.systems. Geist throughout, indigo for the accent and citations,
   olive for checked and supported points, a near-black brand mark with the column logo. */
.mark{background:var(--ink);color:var(--panel)}
html[data-theme=dark] .mark{background:var(--ink);color:var(--bg)}
.brand .t,.welcome h1,.ev-title,.gate h1,.dialog h2{letter-spacing:-.025em;font-weight:600}
.welcome h1 em{font-style:normal;color:var(--green)}
.prose{letter-spacing:-.003em}
.cite.ok,.src .mk.ok,.badge.ok{color:var(--green) !important;background:var(--green-2) !important;border-color:color-mix(in srgb,var(--green) 35%,transparent) !important}
.checkbar.ok,.evc.ok{color:var(--green);background:var(--green-2);border-color:color-mix(in srgb,var(--green) 35%,transparent)}
.send,.btn{background:var(--ink);color:var(--panel)}
html[data-theme=dark] .send,html[data-theme=dark] .btn{background:var(--ink);color:var(--bg)}

/* 2026-10-27: settings link readable in both themes */
.field .h a{color:var(--green);font-weight:500;text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--green) 40%,transparent);text-underline-offset:3px}
.field .h a:hover{text-decoration-color:currentColor}
/* 2026-10-27: evidence panel motion, same drawer curve and timing as the console (cubic-bezier(.32,.72,0,1), about 0.4s) */
@media (min-width:1181px){
 .desk{grid-template-columns:var(--rail) minmax(0,1fr) 0;transition:grid-template-columns .42s cubic-bezier(.32,.72,0,1)}
 .desk.pane-open{grid-template-columns:var(--rail) minmax(0,1fr) var(--pane)}
 .desk.rail-closed{grid-template-columns:0 minmax(0,1fr) 0}
 .desk.rail-closed.pane-open{grid-template-columns:0 minmax(0,1fr) var(--pane)}
 .pane{overflow:hidden;animation:none !important}
 .pane>:not(.resizer){width:var(--pane);min-width:var(--pane);transition:opacity .22s ease-out,transform .42s cubic-bezier(.32,.72,0,1)}
 .desk:not(.pane-open) .pane{border-left-color:transparent}
 .desk:not(.pane-open) .pane>:not(.resizer){opacity:0;transform:translateX(24px)}
 body.resizing .desk,body.resizing .pane>*{transition:none !important}
}
@media (max-width:1180px){
 .pane{animation:none !important;transform:translateX(104%);transition:transform .42s cubic-bezier(.32,.72,0,1)}
 .desk.pane-open .pane{transform:none}
}
@media (prefers-reduced-motion:reduce){.desk,.pane,.pane>*{transition:none !important}}

/* 2026-10-28: files attached to the next question */
.attached{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 6px}
.attached .chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:4px 6px 4px 10px;border:1px solid var(--line);border-radius:999px;font-size:13px;background:var(--panel)}
.attached .chip b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:260px}
.attached .chip span{color:var(--muted,#6b6c70);font-size:12px}
.attached .chip button{border:0;background:none;cursor:pointer;padding:2px;border-radius:50%;line-height:0;color:inherit}
.attached .chip button:hover{background:var(--line)}
.attached .chip.busy{opacity:.7}
#attachBtn{padding-left:8px;padding-right:8px}

/* 2026-10-28: collapsible sources and check details */
details.sources>summary{cursor:pointer;list-style:none;user-select:none;margin-bottom:0}
details.sources>summary::-webkit-details-marker,.checkdetails>summary::-webkit-details-marker{display:none}
details.sources[open]>summary{margin-bottom:8px}
.tog{margin-left:auto;font-weight:500;color:var(--mute);font-size:12px}
.tog::after{content:' ▾'}
details[open]>summary .tog{font-size:0}
details[open]>summary .tog::after{content:'Hide ▴';font-size:12px}
.checkdetails{margin-top:6px}
.checkdetails>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:6px;font-family:var(--sans);font-size:12.5px;font-weight:600;color:var(--mute);padding:4px 2px}
.checklist .cite{margin:0 2px}
.src .loc{color:var(--mute);font-weight:400}

/* 2026-10-29: answer feedback and the owner's announcement */
.fb{display:inline-flex;gap:2px;margin-left:2px}
.fbb{padding:6px}
.fbb.on{color:var(--ink);background:var(--line-2)}
.fbnote{margin:6px 0 2px;display:grid;gap:6px;max-width:520px}
.fbnote textarea{font:inherit;font-size:13px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);resize:vertical}
.fbrow{display:flex;gap:6px;justify-content:flex-end}
.act.strong{color:var(--ink);font-weight:600}
.announce{padding:9px 16px;font-size:13px;line-height:1.45;color:var(--ink);background:var(--line-2);border-bottom:1px solid var(--line);text-align:center}
.vh{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
