/* ontoROSE brand palette; original ontoMOT tokens remain in their source file. */
:root{--accent:#2774BC;--accent-soft:#e9f1f8;--accent-hover:#f4f8fc;--accent-tint:#d4e3f2;--accent-border:#a1bfdd;--accent-selection:#2774bc30;--accent-glow:#2774bc40;--accent-preview:#e9f1f8cc;--accent-strong:#205487}
:root{--ink:#263040;--surface:#fff;--side-background:#f8f9fb;--context-width:320px;--workbench-header:90px;--workbench-footer:40px;--muted:#606979}
*{box-sizing:border-box}body{margin:0;font-size:calc(14px + var(--type-adjust, -2pt))}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:transparent;border:1px solid var(--border);padding:8px 12px;border-radius:var(--corner-radius)}button:hover{background:var(--accent-soft)}button:disabled{opacity:.45;cursor:default}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible,summary:focus-visible{outline:2px solid var(--accent);outline-offset:3px}a{color:var(--accent)}button.primary{background:var(--accent);color:white;border-color:var(--accent)}
.shell{height:100dvh;display:grid;grid-template-columns:var(--context-width) minmax(0,1fr) var(--context-width);grid-template-rows:var(--workbench-header) minmax(0,1fr) var(--workbench-footer);transition:grid-template-columns 220ms ease-in-out}.cell{min-width:0;padding:20px 24px}.brand,.nav,.left-foot,.context-head,.context,.right-foot{background:var(--side-background)}.brand,.work-head,.context-head{border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}.brand{font-size:calc(30px + var(--type-adjust, -2pt));letter-spacing:-1.1px;font-weight:650}.brand span{color:var(--accent)}.work-head{justify-content:space-between}.work-head strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.work-head button{border:0;font-size:calc(17px + var(--type-adjust, -2pt))}.context-head{flex-wrap:wrap;gap:5px;padding:16px}.context-head button{border:0;font-size:calc(12px + var(--type-adjust, -2pt));padding:7px}.context-head button[aria-pressed=true]{border-bottom:2px solid var(--accent);color:var(--accent);border-radius:0}.nav,.context{overflow:auto;overscroll-behavior:contain}.nav{border-right:1px solid var(--border);padding:20px 14px}.context{border-left:1px solid var(--border);padding:22px 18px}.work{overflow:auto;padding:32px clamp(24px,4vw,64px) 70px}.left-foot,.work-foot,.right-foot{border-top:1px solid var(--border);display:flex;align-items:center;gap:10px;font-size:calc(12px + var(--type-adjust, -2pt))}.work-foot{justify-content:space-between}.right-foot{padding:14px;flex-direction:column;gap:5px;justify-content:center}.right-foot button{width:100%}.right-foot small{font-size:calc(10px + var(--type-adjust, -2pt));color:var(--muted)}.nav h2,.context h2{font-size:calc(16px + var(--type-adjust, -2pt));margin:0 0 20px}.nav-item{display:block;width:100%;border:0;text-align:left;padding:13px 12px;margin:5px 0;overflow-wrap:anywhere}.nav-item[aria-current=page]{background:var(--accent-soft);color:var(--accent)}.nav-item small{display:block;margin-top:6px}.nav .new{width:100%;margin-bottom:24px}.eyebrow{font-size:calc(11px + var(--type-adjust, -2pt));letter-spacing:1.4px;text-transform:uppercase;color:var(--accent);margin:0 0 15px}h1{font:600 calc(36px + var(--type-adjust, -2pt))/1.17 var(--chat-font, Inter),system-ui,sans-serif;letter-spacing:-.5px;margin:0 0 20px}.lead{font:calc(20px + var(--type-adjust, -2pt))/1.55 var(--chat-font, Inter),system-ui,sans-serif;white-space:pre-wrap}.banner{border-left:3px solid var(--accent);background:var(--accent-hover);padding:13px 16px;color:var(--accent-strong);font-size:calc(13px + var(--type-adjust, -2pt));line-height:1.5;margin:22px 0}.tabs{display:flex;flex-wrap:wrap;gap:6px;border-bottom:1px solid var(--border);padding-bottom:12px;margin:26px 0}.tabs button{border:0}.tabs button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}label{display:block;font-size:calc(12px + var(--type-adjust, -2pt));color:var(--muted);margin:14px 0 6px}input,textarea,select{width:100%;padding:10px;border:1px solid var(--border);border-radius:var(--corner-radius);background:white}textarea{min-height:90px;resize:vertical;line-height:1.5}form button{margin-top:14px}.row{display:flex;gap:12px;align-items:center}.row>*{min-width:0}.row label{flex:1}.entry{border-bottom:1px solid var(--border);padding:20px 0}.entry p{line-height:1.55;white-space:pre-wrap;overflow-wrap:anywhere}.entry h3{font-size:calc(15px + var(--type-adjust, -2pt));margin:8px 0}.pill{display:inline-block;font-size:calc(11px + var(--type-adjust, -2pt));background:var(--accent-soft);color:var(--accent-strong);padding:4px 7px;border-radius:var(--corner-radius);margin:0 4px 5px 0}.muted,small{color:var(--muted);line-height:1.5}.context p{line-height:1.6}.context button{margin:4px 4px 4px 0}.context input{margin-bottom:12px}details{margin:12px 0}summary{cursor:pointer;color:var(--accent);line-height:1.5}pre{white-space:pre-wrap;overflow-wrap:anywhere;font:calc(13px + var(--type-adjust, -2pt))/1.6 ui-monospace,monospace;background:var(--side-background);padding:14px;max-height:450px;overflow:auto}.claim-link{color:var(--accent);font-size:calc(12px + var(--type-adjust, -2pt));padding:4px 7px}.stale{border-left:3px solid #a45a16;padding-left:14px}.empty{padding:36px 0;color:var(--muted);line-height:1.6}.danger{color:#98372f}.context .source{font-size:calc(12px + var(--type-adjust, -2pt));display:block;margin:12px 0;overflow-wrap:anywhere}#notice{position:fixed;bottom:90px;left:50%;transform:translateX(-50%);background:#fff3e8;color:#653715;border:1px solid #dbb58f;padding:16px;max-width:90vw;z-index:40}.shell.no-left{grid-template-columns:0 minmax(0,1fr) var(--context-width)}.shell.no-right{grid-template-columns:var(--context-width) minmax(0,1fr) 0}.shell.no-left.no-right{grid-template-columns:0 minmax(0,1fr) 0}.no-left .brand,.no-left .nav,.no-left .left-foot,.no-right .context-head,.no-right .context,.no-right .right-foot{visibility:hidden;padding:0;overflow:hidden}.checkline{display:flex;gap:9px;align-items:start}.checkline input{width:auto}.history time{font-size:calc(12px + var(--type-adjust, -2pt));color:var(--muted)}
@media(max-width:1100px){:root{--context-width:260px}.cell{padding:16px}.work{padding:28px 24px 60px}.context-head{padding:10px}.brand{font-size:calc(26px + var(--type-adjust, -2pt))}}
@media(max-width:800px){.shell,.shell.no-left,.shell.no-right,.shell.no-left.no-right{height:auto;min-height:100dvh;display:flex;flex-direction:column}.brand{min-height:70px}.work-head{min-height:60px;position:sticky;top:0;background:white;z-index:2}.context-head{order:5}.nav{max-height:260px}.work{order:4;overflow:visible;padding:26px 22px}.context{order:6;max-height:65vh}.left-foot{order:7}.work-foot{order:8}.right-foot{order:9;position:sticky;bottom:0}.no-left .brand{visibility:visible;padding:20px}.no-left .nav,.no-left .left-foot,.no-right .context-head,.no-right .context{display:none}.no-right .right-foot{visibility:visible;padding:14px}h1{font-size:calc(31px + var(--type-adjust, -2pt))}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
.brand{gap:0}.brand-logo{display:block;width:100%;max-width:320px;height:auto}
/* Chat-led workbench: field 5 owns the conversation, field 6 its argument context. */
.chat-work{--chat-inset:clamp(24px,4vw,60px);display:flex;flex-direction:column;overflow:hidden;padding:0;min-height:0}
.transcript{flex:1;min-height:0;overflow:auto;padding:32px var(--chat-inset);scrollbar-gutter:stable both-edges;overscroll-behavior:contain}
.welcome{max-width:700px;margin:6vh auto 40px}.welcome h1{font-size:calc(36px + var(--type-adjust, -2pt))}.welcome .lead{font-size:calc(19px + var(--type-adjust, -2pt))}
.chat-message{max-width:800px;margin:0 auto 30px}.chat-message header{font-size:calc(12px + var(--type-adjust, -2pt));font-weight:600;margin-bottom:9px}.chat-message.user{background:var(--side-background);padding:18px 22px;border-radius:var(--corner-radius);color:var(--human)}.chat-message.assistant header{color:var(--accent)}.message-text{white-space:pre-wrap;overflow-wrap:anywhere;font:calc(17px + var(--type-adjust, -2pt))/1.65 var(--chat-font, Inter),system-ui,sans-serif}.message-reference{border:0;font-size:calc(11px + var(--type-adjust, -2pt));color:var(--muted);padding:8px 0;margin-top:6px}.composer-wrap{flex-shrink:0;overflow:auto;scrollbar-gutter:stable both-edges;padding:12px var(--chat-inset) 22px}.composer{width:100%;max-width:800px;padding:14px 16px;border:0;border-radius:var(--corner-radius);background:var(--surface);box-shadow:0 4px 24px #172b451a,0 1px 5px #172b4510;margin:0 auto}.composer textarea{font-size:var(--chat-size);font-family:var(--chat-font);display:block;height:85px;margin:0;border:0;background:transparent;padding:6px 2px;max-height:220px;min-height:85px;resize:vertical;line-height:1.5}.composer-actions{display:flex;align-items:center;gap:16px;margin-top:4px}.composer-actions small{flex:1;font-size:calc(11px + var(--type-adjust, -2pt));line-height:1.4}.composer-actions button{margin:0;flex-shrink:0}.chat-progress{color:var(--accent);font-size:calc(14px + var(--type-adjust, -2pt))}.chat-error{border-left:3px solid #a45a16;padding:12px 16px;background:#fff6ed;line-height:1.5}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.work-foot small{font-size:calc(10px + var(--type-adjust, -2pt));max-width:50%;text-align:right}.context-head{align-content:center}.context-head button{padding:5px 4px}.context .entry:first-of-type{padding-top:4px}
@media(max-width:800px){.chat-work{height:calc(100dvh - 140px);min-height:460px;padding:0}.chat-work{--chat-inset:22px}.transcript{padding:22px var(--chat-inset)}.composer-wrap{padding:10px var(--chat-inset) 18px}.composer{padding:12px}.composer-actions{align-items:flex-end;gap:8px}.composer-actions small{font-size:calc(10px + var(--type-adjust, -2pt))}.message-text{font-size:calc(16px + var(--type-adjust, -2pt))}.welcome{margin-top:12px}.right-foot{position:static}.context{max-height:none;overflow:visible}.context-head{min-height:65px}.no-right .right-foot{display:none}.work-foot{gap:12px}.brand{min-height:60px}}

.usage-link{border:0;color:var(--accent);font-size:calc(11px + var(--type-adjust, -2pt));padding:3px}.usage-summary{border-bottom:1px solid var(--border);padding:12px 0}.usage-summary h3{font-size:calc(13px + var(--type-adjust, -2pt));margin:0 0 8px}.usage-summary strong{font-size:calc(19px + var(--type-adjust, -2pt));font-variant-numeric:tabular-nums}.usage-summary p{margin:8px 0}.usage-call{border-top:1px solid var(--border);padding:14px 0;overflow-wrap:anywhere}.usage-call p,.nav details p{font-size:calc(12px + var(--type-adjust, -2pt));line-height:1.6}.usage-call time{font-size:calc(11px + var(--type-adjust, -2pt));color:var(--muted)}

@media(max-width:800px){.nav.usage-nav{max-height:none;overflow:visible;scroll-margin-top:65px}}
/* ontoMOT workbench conventions: grouped menus, icon tools and reading preferences. */
:root{--chat-size:17px;--chat-line:1.65;--chat-width:800px;--chat-font:var(--chat-font, Inter),system-ui,sans-serif}
.icon-button{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;padding:8px;border:0;color:var(--muted);flex-shrink:0}
.icon-button:hover,.icon-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
.context-head{justify-content:space-evenly;flex-wrap:nowrap;gap:6px}.context-head .icon-button{padding:8px;font-size:inherit;border-radius:var(--corner-radius)}.context-head .icon-button[aria-pressed=true]{border:0;box-shadow:inset 0 -2px var(--accent);border-radius:var(--corner-radius)}
.work-tools{display:flex;align-items:center;gap:2px}.work-head strong{flex:1;text-align:center}.work-head{gap:8px}.work-head .icon-button{font-size:inherit}
.settings-group{border-bottom:1px solid var(--border);padding:10px 4px;margin:0}.settings-group>summary{font-weight:600;color:var(--ink);padding:8px 0}.settings-group p{line-height:1.6;font-size:calc(12px + var(--type-adjust, -2pt))}
.nav-tabs{display:flex;gap:8px;margin-bottom:12px}.nav-tabs button{flex:1;border:0}.nav-tabs button[aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}
.nav:has(.settings-group){max-height:none}.nav input[type=search]{margin-bottom:12px}
.chat-search{display:flex;gap:8px;padding:12px 24px;border-bottom:1px solid var(--border)}.chat-search input{min-width:0}
.chat-message{max-width:var(--chat-width)}.message-text{font-family:var(--chat-font);font-size:var(--chat-size);line-height:var(--chat-line)}
.assistant .message-text{white-space:normal}.message-text>:first-child{margin-top:0}.message-text>:last-child{margin-bottom:0}.message-text p{margin:0 0 1em}.message-text h2,.message-text h3,.message-text h4,.message-text h5,.message-text h6{font-family:Inter,system-ui,sans-serif;line-height:1.3;margin:1.5em 0 .65em;color:var(--ink)}.message-text h2{font-size:1.35em}.message-text h3{font-size:1.15em}.message-text h4{font-size:1em}.message-text li{padding-left:.2em;margin:.35em 0}.message-text ul,.message-text ol{padding-left:1.5em}.message-text blockquote{border-left:3px solid var(--accent);padding:12px 18px;margin:1em 0;background:var(--accent-hover)}
.message-text code{font: .85em/1.5 ui-monospace,monospace;background:var(--accent-soft);padding:2px 5px;border-radius:var(--corner-radius)}.message-text pre code{background:none;padding:0}.message-text pre{max-height:none;white-space:pre-wrap;font-size:.85em}.message-text hr{border:0;border-top:1px solid var(--border);margin:1.5em 0}
.table-scroll{overflow:auto;max-width:100%;border:1px solid var(--border);border-radius:var(--corner-radius);margin:1.2em 0}.message-text table{border-collapse:collapse;width:100%;font:calc(14px + var(--type-adjust, -2pt))/1.5 Inter,system-ui,sans-serif;text-align:left}.message-text th,.message-text td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:top;min-width:110px}.message-text th{background:var(--accent-soft);font-weight:600}.message-text tr:last-child td{border-bottom:0}
.chat-graphic{margin:1.4em 0;border:1px solid var(--border);padding:16px;border-radius:var(--corner-radius);background:var(--surface)}.chat-graphic figcaption{font:600 calc(14px + var(--type-adjust, -2pt))/1.5 Inter,system-ui,sans-serif;margin-bottom:14px}.chat-graphic img{display:block;width:100%;height:auto;border-radius:var(--corner-radius)}.chat-graphic details{font:calc(13px + var(--type-adjust, -2pt))/1.5 Inter,system-ui,sans-serif}
.chat-message>.icon-button{width:32px;height:32px;vertical-align:middle;margin-right:12px}.message-reference{vertical-align:middle}
[data-theme=night]{color-scheme:dark;--ink:#e5eaf1;--surface:#171c24;--side-background:#1e2530;--border:#394353;--muted:#a8b5c7;--human:#d3deec;--accent:#79b7f1;--accent-soft:#213d56;--accent-hover:#1c3042;--accent-strong:#b2d7f7}
body{color:var(--ink);background:var(--surface)}input,textarea,select,.work-head{background:var(--surface)}.brand-logo-night{display:none}[data-theme=night] .brand-logo-day{display:none}[data-theme=night] .brand-logo-night{display:block}[data-theme=night] .composer{background:#232c38;box-shadow:0 8px 28px #0009,0 2px 7px #0006,inset 0 1px 0 #ffffff0d}[data-theme=night] .chat-error{background:#382c20;color:#f2dfc9}
@media(max-width:800px){.work-head{padding:10px}.work-head .icon-button{width:34px}.context-head{justify-content:flex-start;padding:12px 18px}.context-head .icon-button{width:44px;height:44px}.chat-search{padding:10px 16px}.message-text{font-size:var(--chat-size)}.chat-graphic{padding:8px}.message-text th,.message-text td{padding:8px}.nav:has(.settings-group){max-height:65vh}.work-head strong{font-size:calc(12px + var(--type-adjust, -2pt))}}
@media print{.shell,.shell.no-left,.shell.no-right,.shell.no-left.no-right{display:block;height:auto}.shell>.cell:not(.work),.composer-wrap,.composer,.chat-search,.chat-message>button,#notice{display:none!important}.chat-work,.transcript{display:block;height:auto;overflow:visible;padding:0}.chat-message{max-width:none;break-inside:avoid}.message-text{font-size:11pt}.table-scroll{overflow:visible}.chat-graphic img{max-height:650px;object-fit:contain}:root,[data-theme=night]{--ink:#17212c;--surface:white;--side-background:#f4f6f8;--border:#ccc;--muted:#555;--accent:#2774BC;--accent-soft:#e9f1f8;--human:#263040;color-scheme:light}}
@media(max-width:600px){.chat-graphic{overflow-x:auto}.chat-graphic img{min-width:480px}}
[data-theme=night] button.primary{background:#2774BC;border-color:#2774BC;color:#fff}

.research-report { margin-top: 1rem; padding-top: .75rem; border-top: 1px solid var(--border, #ccd8e4); font-size: .92em; }
.research-report summary { cursor: pointer; color: var(--accent, #2774bc); font-weight: 600; }
.research-report a { overflow-wrap: anywhere; }
.source-upload{display:block;padding:12px;border:1px solid var(--border);border-radius:var(--corner-radius);color:var(--accent);font-weight:600}
.source-upload input{font-size:calc(12px + var(--type-adjust, -2pt));padding:6px;margin-top:8px;max-width:100%}
.source-title{display:block;text-align:left;max-width:100%;overflow-wrap:anywhere;border:0;padding:0;color:var(--accent);font-weight:600}
.citation-list{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.citation-list button{font-size:calc(12px + var(--type-adjust, -2pt))}
.context blockquote{border-left:2px solid var(--accent);padding-left:12px;margin-left:0;overflow-wrap:anywhere}

.account-entry {max-width:440px;margin:8vh auto;padding:24px;}
.account-entry>img {width:100%;height:auto;margin-bottom:30px;}
.account-entry h1 {font-size:1.7rem;}
.account-entry label,#account-dialog label {display:block;margin:16px 0;}
.account-entry input,#account-dialog input {display:block;width:100%;margin-top:6px;padding:10px;box-sizing:border-box;}
#account-dialog {width:min(520px,calc(100vw - 32px));max-height:85vh;overflow:auto;padding:24px;border:1px solid var(--border);border-radius:var(--corner-radius);background:var(--surface);color:var(--ink);}
#account-dialog::backdrop {background:#0006;}
#account-dialog article {border-bottom:1px solid #84848455;padding:12px 0;}
#account-dialog button {margin:4px;}
.account-close {float:right;}
#auth-error,#account-error {color:#b32b2b;}

#chat-input::placeholder{color:var(--muted);opacity:.8}
.suggestion-hint{min-width:0;flex:1;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;text-align:center;gap:2px 12px;font-size:calc(11px + var(--type-adjust, -2pt));color:var(--muted);padding:0}
.suggestion-hint[hidden]{display:flex;visibility:hidden}
.suggestion-hint button{margin:0;font-size:calc(11px + var(--type-adjust, -2pt));padding:3px 6px;border:0;color:var(--muted)}

.work-title{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;gap:7px}
.work-title strong{max-width:100%;flex:none}
.conversation-direction{display:flex;align-items:center;gap:7px;color:var(--accent-strong);font-size:calc(11px + var(--type-adjust, -2pt));font-weight:500;line-height:1.4;text-align:center}
.conversation-direction:before{content:'';width:8px;height:8px;border-radius:var(--corner-radius);background:var(--accent);flex-shrink:0}
.message-analysis{font-size:calc(11px + var(--type-adjust, -2pt));margin:8px 8px 0 0;color:var(--accent-strong)}
.send-error{font-size:calc(12px + var(--type-adjust, -2pt));line-height:1.5;border-left:3px solid #a45a16;padding:8px 12px;color:var(--ink)}


.math-expression .katex-display { overflow-x: auto; overflow-y: hidden; padding: .3em 0; }
.math-source { white-space: pre-wrap; }
.clipboard-transfer { position: fixed; top: 0; left: 0; width: 1px; height: 1px; padding: 0; border: 0; opacity: 0; font-size:calc(16px + var(--type-adjust, -2pt)); }
.mermaid-figure { margin: 1rem 0; min-width: 0; }
.mermaid-output { overflow-x: auto; }
.mermaid-output img { display: block; max-width: 100%; height: auto; margin: 0 auto; }
.mermaid-figure summary { cursor: pointer; margin-top: .5rem; }
.mermaid-stage { position: fixed; left: -20000px; top: 0; width: 1200px; pointer-events: none; }
/* Independent, lightweight companion conversation. */
.companion-comment{margin-top:20px;padding:18px 20px;background:var(--accent-hover);border-radius:var(--corner-radius)}
.companion-comment h3{font:600 calc(13px + var(--type-adjust, -2pt))/1.5 Inter,system-ui,sans-serif;margin:0 0 12px}.companion-comment .message-text{font-size:.95em}.companion-comment small{display:block;color:var(--muted);margin-top:12px}
.claim-link{display:inline;padding:0 2px;border:0;border-radius:var(--corner-radius);color:var(--accent);font:inherit;text-decoration:underline;text-underline-offset:3px}.claim-link:hover{background:var(--accent-soft)}
.context:has(.exploration-pane){padding:0;overflow:hidden;min-height:0}.exploration-pane{display:flex;flex-direction:column;height:100%;min-height:0}.exploration-scroll{flex:1;overflow:auto;padding:20px;min-height:0;overscroll-behavior:contain}.claim-card .message-text,.side-message .message-text{font-size:calc(15px + var(--type-adjust, -2pt));line-height:1.6}.claim-card header small{display:block;margin:8px 0}.claim-card{border-bottom:1px solid var(--border);padding-bottom:16px}.claim-card h2{font-size:calc(18px + var(--type-adjust, -2pt))}.claim-actions{display:flex;gap:8px;margin-top:14px;flex-wrap:wrap}.side-message{margin:22px 0;overflow-wrap:anywhere}.side-message header{font-size:calc(11px + var(--type-adjust, -2pt));color:var(--muted);margin-bottom:10px}.side-message.user{padding:12px;background:var(--side-background);border-radius:var(--corner-radius)}.side-message>button{font-size:calc(12px + var(--type-adjust, -2pt));margin-top:12px}.side-composer{flex-shrink:0;border-top:1px solid var(--border);padding:14px;background:var(--surface);max-height:40%;overflow:auto}.side-composer label{font-size:calc(12px + var(--type-adjust, -2pt))}.side-composer textarea{min-height:70px;max-height:160px;resize:vertical}.side-composer small{display:block;font-size:calc(11px + var(--type-adjust, -2pt));color:var(--muted);margin-top:10px}.context-head>button{font-size:calc(12px + var(--type-adjust, -2pt))}.context-head>button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
.upload-plus{position:relative;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;flex-shrink:0;border-radius:var(--corner-radius);font-size:calc(28px + var(--type-adjust, -2pt));cursor:pointer;margin:0}.upload-plus:hover,.upload-plus:focus-within{background:var(--accent-soft);outline:2px solid var(--accent-border)}.upload-plus input{position:absolute;inset:0;opacity:0;width:100%;height:100%;cursor:pointer}.pinned-chats{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:10px}.pinned-chats h3{font-size:calc(12px + var(--type-adjust, -2pt));color:var(--muted)}.chat-folder{margin:10px 0}.chat-folder summary{padding:8px;cursor:pointer;font-weight:600}.folder-rename{font-size:calc(10px + var(--type-adjust, -2pt));padding:3px 8px;border:0;color:var(--muted)}
@media(max-width:800px){.context:has(.exploration-pane){height:80dvh;min-height:440px}.exploration-scroll{padding:18px}.side-composer{max-height:40%}.context-head{scroll-margin-top:65px}.chat-work{scroll-margin-top:65px}}


/* Shared floating research window; the navigation is outside the split workspace. */
.shell,.shell.no-right{position:relative;grid-template-columns:var(--context-width) minmax(0,1fr);transition:none}
.shell.no-left,.shell.no-left.no-right{grid-template-columns:0 minmax(0,1fr)}
.brand{grid-area:1/1}.work-head{grid-area:1/2}.nav{grid-area:2/1}.work{grid-area:2/2}.left-foot{grid-area:3/1}.work-foot{grid-area:3/2}.right-foot{display:none}
.research-panel{position:absolute;z-index:15;right:18px;top:calc(var(--workbench-header) + 12px);bottom:20px;width:calc((100% - var(--context-width)) * .68);min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--corner-radius);box-shadow:0 14px 50px #172b4530;overflow:hidden}
.no-left .research-panel{width:68%}
.research-panel .context-head{flex-shrink:0;display:block;padding:14px 18px;background:var(--surface);min-height:0}
.panel-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title>div{display:flex;align-items:center}.panel-title strong{font-size:calc(15px + var(--type-adjust, -2pt))}.panel-tabs{display:flex;gap:8px;margin-top:8px}
.research-panel>.context{flex:1;min-height:0;max-height:none;border:0;background:var(--surface);overflow:auto;padding:20px 24px}.research-panel>.context:has(.exploration-pane){padding:0;overflow:hidden}
.claim-tags{display:flex;gap:6px;align-items:center;margin-top:12px;overflow-x:auto;padding-bottom:3px}.claim-tags button,.all-claims button{flex-shrink:0;border:1px solid var(--border);border-radius:var(--corner-radius);padding:5px 10px;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.claim-tags button[aria-pressed=true],.all-claims button[aria-pressed=true]{background:var(--accent-soft);border-color:var(--accent);color:var(--accent)}.all-claims{display:flex;flex-wrap:wrap;gap:6px;max-height:150px;overflow:auto;padding-top:10px}
.shell.no-right .research-panel{display:none}.no-right .research-panel .context-head,.no-right .research-panel .context{visibility:visible}
.shell.panel-pinned:not(.no-right){grid-template-columns:var(--context-width) minmax(0,1fr) minmax(0,1fr)}
.shell.no-left.panel-pinned:not(.no-right){grid-template-columns:0 minmax(0,1fr) minmax(0,1fr)}
.panel-pinned:not(.no-right) .research-panel{position:relative;grid-area:1/3/4/4;inset:auto;width:auto;border-radius:0;box-shadow:none;border-width:0 0 0 1px}
.panel-pinned .chat-work{--chat-inset:24px}.research-panel .claim-card .message-text,.research-panel .side-message .message-text{font-size:calc(16px + var(--type-adjust, -2pt))}.research-panel .exploration-scroll{padding:20px 24px}
.work-tools [data-action=right]{font-size:calc(12px + var(--type-adjust, -2pt));max-width:190px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:1000px){.panel-pin{display:none}.shell.panel-pinned:not(.no-right){grid-template-columns:var(--context-width) minmax(0,1fr)}.shell.no-left.panel-pinned:not(.no-right){grid-template-columns:0 minmax(0,1fr)}.shell.panel-pinned:not(.no-right) .research-panel{position:absolute;inset:calc(var(--workbench-header) + 12px) 18px 20px auto;width:68%;border:1px solid var(--border);border-radius:var(--corner-radius);box-shadow:0 14px 50px #172b4530}}
@media(max-width:800px){.research-panel,.shell.panel-pinned:not(.no-right) .research-panel,.no-left .research-panel{position:fixed;top:100px;bottom:12px;right:8px;width:calc(100% - 40px);max-height:calc(100dvh - 112px);border-radius:var(--corner-radius)}.research-panel .context-head{padding:10px 12px}.research-panel>.context:has(.exploration-pane){height:auto;min-height:0}.research-panel .exploration-scroll{padding:16px}.panel-title strong{font-size:calc(13px + var(--type-adjust, -2pt))}.work-tools [data-action=right]{max-width:116px}.claim-tags{margin-top:6px}.side-composer small{display:none}}
@media print{.research-panel{display:none!important}}

.research-panel .claim-tags button[aria-pressed=true]{border-radius:var(--corner-radius)}
.research-panel .claim-tags button{flex:0 1 auto;min-width:0}.research-panel .claim-tags [data-action=all-claims]{flex:0 0 auto}

/* Split is the active mode. Floating layout is retained behind its feature flag. */
.split-only .research-panel{--accent:#74BC27;--accent-soft:#eef7e5;--accent-hover:#f5faef;--accent-strong:#3b6810;--accent-border:#a9d47e;--accent-selection:#74bc2730;--accent-glow:#74bc2740;--chat-inset:24px}
.split-only .research-panel .research-head{height:var(--workbench-header);min-height:var(--workbench-header);padding:20px 24px;flex-shrink:0;position:static;background:var(--surface)}
.research-head .work-title strong{font-size:calc(14px + var(--type-adjust, -2pt))}.research-head .conversation-direction{color:var(--accent-strong)}
.research-navigation{padding:12px 24px;border-bottom:1px solid var(--border);flex-shrink:0}.research-navigation .panel-tabs{margin:0}.research-navigation button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-strong);border-color:var(--accent)}
.split-only .research-panel .research-foot{height:var(--workbench-footer);min-height:var(--workbench-footer);flex-shrink:0;background:var(--surface)}
.split-only .research-panel .exploration-scroll{padding:32px var(--chat-inset);scrollbar-gutter:stable both-edges}
.split-only .research-panel .side-message{margin:0 auto 30px}.split-only .research-panel .side-message.user{padding:18px 22px;border-radius:var(--corner-radius)}.split-only .research-panel .side-message header{font-size:calc(12px + var(--type-adjust, -2pt));font-weight:600;margin-bottom:9px}.split-only .research-panel .side-message.assistant header{color:var(--accent-strong)}
.split-only .research-panel .message-text{font-size:var(--chat-size);line-height:var(--chat-line)}.split-only .research-panel .composer button{margin:0}.split-only .research-panel .composer textarea{margin:0}.split-only .research-panel .primary{background:var(--accent);border-color:var(--accent);color:#172d08}.split-only .research-panel :is(.claim-link,summary,a){color:var(--accent-strong)}
[data-theme=night] .split-only .research-panel{--accent-soft:#283c1c;--accent-hover:#213119;--accent-strong:#a6dc70;--accent-border:#5e8e32}
@media(min-width:801px){.shell.split-only.panel-pinned:not(.no-right){grid-template-columns:var(--context-width) minmax(0,1fr) minmax(0,1fr)}.shell.split-only.no-left.panel-pinned:not(.no-right){grid-template-columns:0 minmax(0,1fr) minmax(0,1fr)}.shell.split-only.panel-pinned:not(.no-right) .research-panel{position:relative;grid-area:1/3/4/4;inset:auto;width:auto;max-height:none;border-radius:0;box-shadow:none;border-width:0 0 0 1px}}
@media(max-width:800px){.shell.split-only:not(.no-right)>.work,.shell.split-only:not(.no-right)>.work-head,.shell.split-only:not(.no-right)>.work-foot,.shell.split-only:not(.no-right)>.nav,.shell.split-only:not(.no-right)>.left-foot{display:none}.shell.split-only.panel-pinned:not(.no-right) .research-panel{position:relative;order:4;inset:auto;width:100%;height:calc(100dvh - 78px);max-height:none;min-height:460px;border:0;border-radius:0;box-shadow:none}.split-only .research-panel .research-head{height:70px;min-height:70px;padding:10px}.split-only .research-panel .research-foot{height:56px;min-height:56px}.split-only .research-panel{--chat-inset:22px}.research-navigation{padding:10px 22px}.split-only .research-panel .exploration-scroll{padding:22px var(--chat-inset)}}

/* Reading and provenance: keep the action visible, reveal long notices on demand. */
.source-context-label{display:block;font-size:calc(12px + var(--type-adjust, -2pt));color:var(--muted);margin-bottom:10px}.chat-message.answer-target{outline:2px solid var(--accent);outline-offset:8px;scroll-margin-top:18px}.work-title strong:focus{white-space:normal;overflow:visible;position:relative;background:var(--surface);z-index:2}
.companion-comment .message-text{font-size:calc(var(--chat-size) - 1pt);line-height:var(--chat-line)}

/* Sources cover only the right split pane and leave its conversation intact. */
.research-content{display:flex;flex-direction:column;min-height:0;height:100%}.research-content>.context{flex:1;min-height:0;border:0;background:var(--surface)}.research-content>.context:has(.exploration-pane){padding:0;overflow:hidden}
.sources-layer{position:absolute;inset:0;z-index:3;display:flex;flex-direction:column;background:var(--surface);animation:source-reveal 260ms ease-in-out}.sources-scroll{flex:1;min-height:0;overflow:auto;padding:24px;overscroll-behavior:contain}.sources-scroll h2{display:none}.sources-scroll .entry{overflow-wrap:anywhere}
.work-title [data-action=rename]{cursor:pointer}.work-title [data-action=rename]:hover{text-decoration:underline;text-decoration-style:dotted}
@keyframes source-reveal{from{transform:translateX(100%)}to{transform:translateX(0)}}
@media(prefers-reduced-motion:reduce){.sources-layer{animation:none}}
@media(max-width:800px){.research-content>.context:has(.exploration-pane){height:auto;min-height:0}.sources-scroll{padding:22px}}
.sources-layer .source-title{color:var(--accent-strong)}

/* User messages align to the right edge of the conversation's text column. */
.chat-work .chat-message.user,.split-only .research-panel .side-message.user{width:min(70%,calc(var(--chat-width) * .7));margin-left:auto;margin-right:max(0px,calc((100% - var(--chat-width))/2));background:var(--accent);color:#fff;border:0;border-radius:var(--corner-radius);padding:16px 20px;text-align:left}
.chat-work .chat-message.user header,.split-only .research-panel .side-message.user header,.chat-message.user a,.chat-message.user small{color:inherit}
.chat-message.user .message-text :is(h2,h3,h4,h5,h6){color:inherit}.chat-message.user a{text-decoration:underline}.citation-list{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}.citation-list button{max-width:100%;overflow-wrap:anywhere;text-align:left}

.chat-list-tools{display:flex;align-items:center;gap:8px;margin-bottom:18px}.chat-list-tools .new{flex:1;margin:0}.chat-list-row{display:flex;align-items:center;gap:4px;min-width:0}.chat-list-row>.nav-item{flex:1;min-width:0}.chat-list-row>.icon-button{flex-shrink:0;padding:6px;border:0}.chat-list-row>.icon-button svg{width:16px;height:16px}.archive-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0}
.global-search{width:min(760px,calc(100vw - 32px));max-height:85dvh;border:1px solid var(--border);border-radius:var(--corner-radius);background:var(--surface);color:var(--ink);padding:24px;box-shadow:0 16px 60px #172b4530}.global-search::backdrop{background:#172b4530}.global-search>header{display:flex;align-items:center;justify-content:space-between}.global-search h2{margin:0}.search-filters{display:flex;gap:16px}.search-filters label{flex:1;min-width:0}.search-results{max-height:45dvh;overflow:auto}.search-result{display:block;width:100%;text-align:left;border:0;border-bottom:1px solid var(--border);padding:16px 8px}.search-result strong,.search-result small,.search-result span{display:block}.search-result small{margin:5px 0}.search-result span{overflow-wrap:anywhere;line-height:1.6}.global-search .search-status{color:var(--muted)}
@media(max-width:500px){.global-search{padding:16px}.search-filters{gap:8px}}
.work-head .work-tools [data-action=right]{font-size:calc(17px + var(--type-adjust, -2pt));max-width:none}

/* Shared composer geometry keeps both chat inputs aligned. */
.composer-actions{min-height:36px}
.composer-actions>.primary{margin-left:auto}
.split-only .research-panel .composer-actions>.primary{margin-left:auto}

/* One radius for UI surfaces; structural split boundaries stay square. */
:root{--corner-radius:8px}
.research-claims{flex:1;min-width:0;overflow:hidden}
.research-head .claim-tags{margin:0;padding:4px 0;overflow-x:auto}
.research-head .claim-tags button{flex:0 0 auto}
.research-head .claim-tags button[aria-pressed=true]{background:var(--accent);border-color:var(--accent);color:#fff}
.claim-subchats{margin:0 0 8px 24px;padding-left:10px;border-left:1px solid var(--border)}
.claim-subchats .claim-subchat{margin:2px 0;padding:5px 10px;font-size:calc(12px + var(--type-adjust,-2pt))}
.claim-subchats .claim-subchat[aria-current=page]{background:#edf6e3;color:#172d08}
[data-theme=night] .claim-subchats .claim-subchat[aria-current=page]{background:#283c1c;color:#a6dc70}

.research-head .claim-tags button{font-size:calc(14px + var(--type-adjust,-2pt));max-width:none}
.chat-list-row{border-radius:var(--corner-radius);margin:2px 0}
.chat-list-row>.nav-item{margin:0;padding:8px 12px}
.chat-list-row:has(>.nav-item[aria-current=page]){background:var(--accent-soft)}
.chat-list-row>.nav-item[aria-current=page]{background:transparent}
.composer-actions>.send-button,.split-only .research-panel .composer-actions>.send-button{width:36px;height:36px;padding:0;display:flex;align-items:center;justify-content:center;color:#fff;font-size:24px;line-height:1}

/* Preserve the third grid track so opening and closing slide continuously. */
@media(min-width:801px){
 .shell.split-only{overflow:hidden;transition:grid-template-columns 260ms ease}
 .shell.split-only.no-right{grid-template-columns:var(--context-width) minmax(0,1fr) minmax(0,0fr)}
 .shell.split-only.no-left.no-right{grid-template-columns:0 minmax(0,1fr) minmax(0,0fr)}
 .shell.split-only .research-panel{display:flex;position:relative;grid-area:1/3/4/4;inset:auto;width:auto;min-width:calc((100vw - var(--context-width))/2);max-height:none;border-radius:0;box-shadow:none;border-width:0 0 0 1px;transform:translateX(0);visibility:visible;transition:transform 260ms ease,visibility 0s}
 .shell.split-only.no-left .research-panel{min-width:50vw}
 .shell.split-only.no-right .research-panel{transform:translateX(100%);visibility:hidden;transition:transform 260ms ease,visibility 0s 260ms}
}
@media(prefers-reduced-motion:reduce){.shell.split-only,.shell.split-only .research-panel{transition:none}}
/* Sliding panels may leave the viewport during motion, never widen the page. */
html:has(.shell.split-only),body:has(.shell.split-only){overflow-x:clip}

/* Match ontoMOT row 3 and use the available header height for complete tags. */
.shell>.left-foot,.shell>.work-foot,.split-only .research-panel .research-foot{height:var(--workbench-footer);min-height:var(--workbench-footer);padding:0 14px}
.split-only .research-panel .research-head{padding-top:10px;padding-bottom:10px}
.research-head .research-claims{height:100%;min-height:0;display:flex;align-items:center}
.research-head .claim-tags{width:100%;max-height:100%;min-height:0;flex-wrap:wrap;align-content:flex-start;overflow:auto;overscroll-behavior:contain;padding:2px 0;scrollbar-gutter:stable}
.research-head .claim-tags button{flex:0 0 auto;max-width:100%;white-space:nowrap}
/* Inline claim references must not inherit the side panel's button spacing. */
.message-text .claim-link{margin:0;padding:0;vertical-align:baseline}

/* Formula base size follows surrounding prose; indices retain mathematical scaling. */
.message-text .katex{font-size:1em}
.claim-card>[data-action=claim-origin]{display:block;border:0;padding:4px 0;margin:4px 0 12px;color:var(--accent-strong)}

.exploration-composer .composer-actions>.suggestion-hint{margin-left:52px}
@media(max-width:800px){.composer-actions{align-items:center}.exploration-composer .composer-actions>.suggestion-hint{margin-left:44px}.suggestion-hint button{white-space:normal;text-align:center;flex-shrink:1}}

/* Composer focus stays at the caret; hints share the centered action row. */
.composer textarea:focus,.composer textarea:focus-visible{outline:none;box-shadow:none}
.claim-card+.side-transcript{padding-top:24px}

/* Soften the viewport edges while keeping the composers fully opaque. */
@media screen{.transcript,.exploration-scroll{-webkit-mask-image:linear-gradient(to bottom,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask-image:linear-gradient(to bottom,transparent,#000 18px,#000 calc(100% - 18px),transparent)}}

@media(min-width:801px){
 .shell.split-only>.brand,.shell.split-only>.nav,.shell.split-only>.left-foot{width:var(--context-width);min-width:var(--context-width);transform:translateX(0);visibility:visible;transition:transform 260ms ease,visibility 0s}
 .shell.split-only.no-left>.brand,.shell.split-only.no-left>.nav,.shell.split-only.no-left>.left-foot{transform:translateX(-100%);visibility:hidden;transition:transform 260ms ease,visibility 0s 260ms}
 .shell.split-only.no-left>.brand{padding:20px 24px}
 .shell.split-only.no-left>.nav{padding:20px 14px;overflow:auto}
 .shell.split-only.no-left>.left-foot{padding:0 14px}
}

.research-head .claim-tags{gap:8px 16px}
.research-head .claim-tags a{flex:0 0 auto;max-width:100%;white-space:nowrap;padding:3px 0;color:var(--accent-strong);font-size:calc(14px + var(--type-adjust,-2pt));text-decoration:none;text-underline-offset:3px}
.research-head .claim-tags a:hover{text-decoration:underline}
.research-head .claim-tags a[aria-current=true]{font-weight:700;text-decoration:underline}

/* Compact secondary actions, matching the accent of their conversation. */
.claim-actions button,.citation-list button,button[data-action=source-open],button[data-action=request-commentary]{border:0;background:var(--accent-soft);color:var(--accent-strong);padding:4px 8px;line-height:1.35}
.claim-actions button:hover,.citation-list button:hover,button[data-action=source-open]:hover,button[data-action=request-commentary]:hover{background:var(--accent-selection)}
.composer-actions>.send-button,.split-only .research-panel .composer-actions>.send-button{position:relative;width:24px;height:24px;font-size:16px;border-radius:var(--corner-radius);margin:0}
.composer-actions>.send-button::after{content:"";position:absolute;inset:-6px}

/* Compact header controls retain the existing glyph sizes. */
.shell>.work-head [data-action=left],.shell>.work-head [data-action=right],.sources-layer [data-action=close-sources]{position:relative;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:24px;height:24px;padding:0;overflow:visible}
.shell>.work-head [data-action=left]::after,.shell>.work-head [data-action=right]::after,.sources-layer [data-action=close-sources]::after{content:"";position:absolute;inset:-6px}

.transcript>.chat-progress,.transcript>.chat-error,.exploration-scroll>.chat-progress,.exploration-scroll>.chat-error{width:100%;max-width:var(--chat-width);margin:16px auto}

.composer textarea{padding-left:0;padding-right:0}
.composer-actions>.upload-plus{justify-content:flex-start}

/* Search filters: two explicit, mutually exclusive button groups. */
.search-filters{display:flex;flex-direction:column;gap:12px;margin-top:14px}
.search-filters fieldset{border:0;margin:0;padding:0;min-width:0}
.search-filters legend{padding:0;margin-bottom:6px;color:var(--muted);font-size:calc(12px + var(--type-adjust,-2pt))}
.search-filter-options{display:flex;flex-wrap:wrap;gap:6px}
.search-filter-options button{margin:0;padding:4px 8px;line-height:1.35;border:0;background:var(--accent-soft);color:var(--accent-strong)}
.search-filter-options button:hover{background:var(--accent-selection)}
.search-filter-options button[aria-pressed=true]{background:var(--accent);color:#fff}

.chat-list-tools{gap:6px}.chat-list-tools>button:not(.icon-button){flex:1;white-space:nowrap;padding:6px 5px;font-size:inherit}.chat-list-tools>.icon-button{width:24px;height:24px;padding:2px}
.chat-list-row>.icon-button{width:24px;height:24px;padding:3px}.chat-list-row [data-action=row-pin][aria-pressed=true]{color:var(--accent);background:var(--accent-soft)}
.chat-row-menu{position:relative;flex-shrink:0;margin:0}.chat-row-menu>summary{list-style:none;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border-radius:var(--corner-radius);color:var(--muted);cursor:pointer}.chat-row-menu>summary::-webkit-details-marker{display:none}.chat-row-menu>summary:hover{background:var(--accent-soft)}
.chat-row-menu>div{position:absolute;right:0;top:28px;z-index:30;width:200px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:var(--corner-radius);box-shadow:0 4px 18px #172b4520}.chat-row-menu>div>button{display:block;width:100%;text-align:left;border:0;padding:7px 8px}.chat-row-menu label{margin:8px}.chat-row-menu select{margin-top:6px}

/* Reveal secondary row actions without hiding existing source links. */
.chat-list-row [data-action=row-pin],.chat-row-menu>summary{opacity:0;transition:opacity 120ms ease}
.chat-list-row:hover [data-action=row-pin],.chat-list-row:focus-within [data-action=row-pin],.chat-list-row:hover .chat-row-menu>summary,.chat-list-row:focus-within .chat-row-menu>summary,.chat-row-menu[open]>summary{opacity:1}
.chat-list-row [data-action=row-pin] svg{transform:rotate(35deg)}
@media(hover:none){.chat-list-row [data-action=row-pin],.chat-row-menu>summary{opacity:1}}
.folder-submenu{margin:0;position:relative}.folder-submenu>summary{padding:7px 8px;list-style:none;color:inherit;font-size:inherit}.folder-submenu>summary::-webkit-details-marker{display:none}.folder-submenu>summary:hover{background:var(--accent-soft)}
.folder-submenu>div{padding:4px 0 4px 12px;border-left:2px solid var(--accent-soft);margin-left:8px}.folder-submenu button{display:block;width:100%;text-align:left;border:0;padding:6px 8px}.folder-submenu button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent)}
[data-sort-kind]{cursor:grab}.sort-before{box-shadow:inset 0 2px var(--accent)}.sort-after{box-shadow:inset 0 -2px var(--accent)}

/* Keep list tools visible and separate each folder from following chats. */
.chat-list-tools{position:sticky;top:-20px;z-index:35;background:var(--side-background);margin-top:-20px;padding-top:20px;padding-bottom:12px;margin-bottom:6px}
.chat-folder{border-bottom:1px solid var(--border);padding-bottom:10px;margin-bottom:12px}
.chat-folder>summary{display:flex;align-items:center;gap:6px}.chat-folder>summary:before{content:'▸';font-size:12px}.chat-folder[open]>summary:before{content:'▾'}.chat-folder>summary>span{flex:1;min-width:0;overflow-wrap:anywhere}.chat-folder>summary::-webkit-details-marker{display:none}
.folder-menu-trigger{width:24px;height:24px;padding:0;border:0;flex-shrink:0;opacity:0}.chat-folder>summary:hover .folder-menu-trigger,.chat-folder>summary:focus-within .folder-menu-trigger{opacity:1}
.folder-action-menu,.folder-submenu>.folder-choice-layer{position:fixed;inset:auto;margin:0;width:200px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px);overflow:auto;padding:8px;border:1px solid var(--border);border-radius:var(--corner-radius);background:var(--surface);color:var(--ink);box-shadow:0 4px 18px #172b4520}
.folder-action-menu button{display:block;width:100%;text-align:left;border:0;padding:7px 8px}
@media(hover:none){.folder-menu-trigger{opacity:1}}

/* Shared secondary-action treatment in the two reading panes. */
.transcript button[data-action]:not(.icon-button):not(.claim-link),.exploration-scroll button[data-action]:not(.icon-button):not(.claim-link):not([data-action=claim-origin]),.sources-scroll button[data-action],.chat-list-tools>button:not(.icon-button){border:0;background:var(--accent-soft);color:var(--accent-strong);padding:4px 8px;line-height:1.35}
.transcript button[data-action]:not(.icon-button):not(.claim-link):hover,.exploration-scroll button[data-action]:not(.icon-button):not(.claim-link):not([data-action=claim-origin]):hover,.sources-scroll button[data-action]:hover,.chat-list-tools>button:not(.icon-button):hover{background:var(--accent-selection)}
.nav:has(>.case-list){display:flex;flex-direction:column}.nav>.chat-list-tools,.nav>.archive-heading{flex-shrink:0}.nav>.case-list{flex:1 0 auto}
.archive-dock{position:sticky;bottom:-20px;z-index:34;flex-shrink:0;background:var(--side-background);padding:10px 0 20px;margin-bottom:-20px;border-top:1px solid var(--border)}
.archive-folder{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:0;text-align:left}.archive-folder[aria-expanded=true]{color:var(--accent);background:var(--accent-soft)}

/* Continue the navigation divider through header and footer. */
.shell>.brand,.shell>.left-foot{border-right:1px solid var(--border)}

/* Archive expands upward by taking space from the main list. */
.nav:has(>.case-list){overflow:hidden;min-height:0}.nav>.case-list{flex:1 1 auto;min-height:0;overflow:auto;overscroll-behavior:contain}.nav>.chat-list-tools{position:relative;top:auto;margin-top:0;padding-top:0}
.archive-dock.chat-folder{position:static;flex:0 0 auto;max-height:45%;overflow:auto;margin:0;padding:8px 0 0;border-bottom:0;border-top:1px solid var(--border)}.archive-dock>summary{position:sticky;top:-8px;background:var(--side-background);z-index:1}.archive-entries{padding-bottom:4px}
.chat-row-menu>.chat-action-layer{position:fixed;inset:auto;margin:0;max-height:calc(100dvh - 24px);overflow:auto;color:var(--ink)}

/* User settings retain the workbench: navigation in A, content in B. */
.nav{position:relative}.settings-mode>.nav{overflow:hidden;padding:0;display:block}
.settings-navigation{height:100%;display:flex;flex-direction:column;overflow:auto;padding:16px 14px;background:var(--side-background)}
.settings-navigation button{border:0;text-align:left;padding:10px 12px;flex-shrink:0}.settings-back{margin-bottom:18px;color:var(--accent)}
.settings-identity{display:flex;flex-direction:column;gap:5px;padding:0 12px 18px;overflow-wrap:anywhere}.settings-identity span{color:var(--muted);font-size:.9em}
.settings-sections{display:flex;flex-direction:column;gap:3px;flex:1}.settings-sections [aria-current=page]{color:var(--accent);background:var(--accent-soft)}.settings-admin,.settings-logout{margin-top:12px}
.settings-leaving{position:absolute;inset:0;z-index:50}
.settings-work{display:block;overflow:auto;min-height:0;padding:32px var(--chat-inset,32px)}
.settings-page{width:100%;max-width:800px;margin:0 auto;line-height:1.6;padding-bottom:24px}.settings-page h1{font:600 24px/1.3 Inter,system-ui,sans-serif;margin-bottom:24px}.settings-page h2{font-size:17px;margin-top:28px}.settings-page p,.settings-page li{overflow-wrap:anywhere}
.settings-page label{font-size:inherit;margin-top:20px}.settings-page select{display:block;max-width:360px;margin-top:6px;background:var(--accent-soft);border:0;padding:8px 12px}.settings-page button{border:0;background:var(--accent-soft);color:var(--accent-strong);padding:6px 10px}.settings-page dt{font-weight:600;margin-top:14px}.settings-page dd{margin:3px 0 16px;overflow-wrap:anywhere}.settings-preview{margin:24px 0;padding:18px;background:var(--side-background);border-radius:var(--corner-radius);font-size:var(--chat-size);line-height:var(--chat-line)}
.settings-mode>.work-head .work-title{flex:1}.settings-mode>.work-head .work-title strong{display:block;text-align:center}
@media(max-width:800px){.shell.settings-mode{height:100dvh;min-height:0;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:60px minmax(130px,30dvh) minmax(0,1fr) 40px}.settings-mode>.brand,.settings-mode>.research-panel,.settings-mode>.right-foot{display:none!important}.settings-mode>.work-head{grid-area:1/1;min-height:0;position:static}.settings-mode>.nav{grid-area:2/1;max-height:none;visibility:visible}.settings-mode>.work{grid-area:3/1;order:initial}.settings-mode>.left-foot{grid-area:4/1;justify-self:start;z-index:1;border:0}.settings-mode>.work-foot{grid-area:4/1;padding-left:60px}.settings-navigation{padding:8px 14px}.settings-back{margin-bottom:8px}.settings-identity{padding-bottom:8px}.settings-work{padding:20px}.settings-sections{flex:none}.settings-page h1{font-size:21px}}

/* One-time invitation after a newly received answer; no perpetual motion. */
.transcript button.message-analysis.commentary-offer,.transcript button.message-analysis:hover{background:var(--accent-tint)}

[data-theme=night] .chat-work .chat-message.user{background:#2774BC}
