@font-face{font-family:Gilroy;src:url('/fonts/Gilroy-Regular.ttf') format('truetype');font-weight:400;font-display:swap}@font-face{font-family:Gilroy;src:url('/fonts/Gilroy-Medium.ttf') format('truetype');font-weight:500;font-display:swap}@font-face{font-family:Gilroy;src:url('/fonts/Gilroy-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
:root,:root[data-theme=dark]{color-scheme:dark;--bg:#0b0d0b;--panel:#151815;--canvas:#101310;--text:#f6f8f1;--muted:#b3baad;--line:#343d2e;--soft:#1d2519;--accent:#b6f35a;--accent-hover:#c9ff78;--accent-soft:#25331b;--user:#1d2b16;--on-accent:#0b0d0b;--shadow:0 18px 70px #0004;--duration:160ms}
:root[data-theme=light]{color-scheme:light;--bg:#f6f8f1;--panel:#fff;--canvas:#f9fbf5;--text:#151815;--muted:#536049;--line:#c3cdb8;--soft:#edf3e5;--accent:#b6f35a;--accent-hover:#a0db45;--accent-soft:#e8f6d8;--user:#e8f6d8;--on-accent:#0b0d0b;--shadow:0 18px 70px #15201012}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:400 15px/1.5 Gilroy,sans-serif}button,input,select,textarea{font:inherit;color:inherit}button,a,select{touch-action:manipulation}button,select{cursor:pointer}button{border:0;background:none}button:disabled{opacity:.45;cursor:wait}button:hover{background-color:var(--soft)}button:active{filter:brightness(.94)}button,input,select,textarea{transition:background-color var(--duration),border-color var(--duration)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}input,textarea,select{min-width:0}input,select{border:1px solid var(--line);border-radius:9px;background:var(--panel);padding:10px 12px;min-height:44px}textarea{resize:none}h1,h2,p{margin:0}h1{font-size:22px;line-height:1.3;font-weight:700}h2{font-size:16px;font-weight:700}.muted{color:var(--muted)}.eyebrow{font-size:10px;letter-spacing:.16em;font-weight:700;color:var(--muted);margin-bottom:6px}.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}[hidden]{display:none!important}svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.icon-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border-radius:8px;flex-shrink:0;color:var(--muted)}.small{min-width:36px;min-height:44px}.primary{background:var(--accent);color:var(--on-accent);border-radius:9px;padding:11px 19px;min-height:44px;font-weight:700}.primary:hover{background:var(--accent-hover)}.secondary{border:1px solid var(--line);border-radius:9px;padding:10px 17px;min-height:44px}.brand-mark{display:inline-flex;align-items:center;justify-content:center;width:42px;height:42px;background:var(--accent);color:var(--on-accent);border-radius:13px;font-size:28px;font-weight:700;line-height:1;letter-spacing:-.1em;padding-right:3px}.app-header{height:80px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;border-bottom:1px solid var(--line);background:var(--panel)}.brand{display:flex;gap:12px;align-items:center;color:var(--text);text-decoration:none;font-size:22px;font-weight:700;letter-spacing:-.03em}.brand-caption{display:block;font-size:11px;font-weight:400;letter-spacing:.02em;color:var(--muted);margin-top:-2px}.header-end{display:flex;align-items:center;gap:18px}.private-label{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--muted)}.private-label i{width:6px;height:6px;border-radius:50%;background:var(--accent)}.theme-label select{font-size:12px;border:0;background:var(--soft)}.layout{display:grid;grid-template-columns:246px minmax(0,1fr) 270px;height:calc(100dvh - 80px);max-height:calc(100dvh - 80px)}.layout.files-hidden{grid-template-columns:minmax(0,1fr) 270px}.panel{min-width:0;display:flex;flex-direction:column;background:var(--bg);overflow:hidden}.files-panel{border-right:1px solid var(--line)}.topics-panel{border-left:1px solid var(--line);padding:20px 16px 0}.panel-heading{display:flex;justify-content:space-between;align-items:center;min-height:44px;gap:8px}.files-panel .panel-heading{padding:14px 12px 0 20px}.panel-heading h2{font-size:15px}.count{font-size:11px;background:var(--soft);border:1px solid var(--line);padding:2px 7px;border-radius:6px;color:var(--muted)}.file-root{display:flex;align-items:center;justify-content:space-between;padding:0 12px 0 20px;color:var(--muted);font-family:monospace;font-size:11px}.file-toolbar{display:flex;align-items:center;padding:5px 8px;border-bottom:1px solid var(--line);gap:2px}.file-menu{flex:1;min-width:0}.file-menu select{font-size:12px;width:100%;padding:8px;background:transparent;border:0}.file-location{font-size:11px;padding:10px 16px 0;overflow-wrap:anywhere}.file-tree{overflow-y:auto;flex:1;padding:8px 8px 20px}.file-row{display:flex;align-items:center;gap:7px;min-height:44px;width:100%;text-align:left;border-radius:7px;padding:6px 8px;font-size:12px}.file-row svg{width:16px;height:16px;flex-shrink:0;color:var(--muted)}.file-row .name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row.selected{background:var(--accent-soft);color:var(--accent)}.file-row.protected{color:var(--muted)}.file-children{padding-left:12px}.panel-footer{border-top:1px solid var(--line);padding:14px;font-size:10px;min-height:50px;overflow-wrap:anywhere}.center-panel{min-width:0;min-height:0;background:var(--canvas);display:flex;flex-direction:column}.chat-heading{display:flex;align-items:center;justify-content:space-between;padding:22px 32px;border-bottom:1px solid var(--line);gap:12px}.chat-heading-left{display:flex;align-items:center;gap:8px;min-width:0}.chat-heading h1{font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40vw}.status-pill{padding:5px 9px;border:1px solid var(--line);border-radius:20px;font-size:10px;white-space:nowrap;color:var(--muted)}.chat-view{display:flex;flex-direction:column;flex:1;min-height:0;position:relative}.messages{flex:1;overflow-y:auto;padding:28px 32px 8px;scroll-behavior:smooth;min-height:0}.messages:empty{display:none}.message{max-width:760px;margin:0 auto 26px}.message-head{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:700;margin-bottom:9px}.message-head small{font-size:10px;font-weight:400;color:var(--muted);margin-left:auto}.message-dot{width:24px;height:24px;display:grid;place-items:center;border-radius:8px;background:var(--accent-soft);color:var(--accent);font-weight:700}.message.user .message-dot{background:var(--soft);color:var(--muted)}.message-body{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.75;font-size:15px;padding-left:33px}.message.user .message-body{background:var(--user);padding:14px 18px;border-radius:0 12px 12px 12px;margin-left:33px}.message.streaming .message-body:after{content:'▍';color:var(--accent);animation:blink 1s infinite}.message.error .message-body{color:var(--accent)}.message-file{display:inline-flex;align-items:center;gap:8px;color:var(--text);text-decoration:none;border:1px solid var(--line);border-radius:8px;padding:9px 13px;margin:8px 5px 0 33px;font-size:12px;max-width:calc(100% - 33px);overflow-wrap:anywhere}.welcome{flex:1;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;padding:28px 24px;min-height:0;overflow-y:auto}.welcome-symbol{font-size:52px;font-weight:700;letter-spacing:-.1em;color:var(--accent);background:var(--accent-soft);border-radius:27px;width:94px;height:94px;display:grid;place-items:center;padding-right:7px;margin-bottom:26px;transform:rotate(-6deg)}.welcome .eyebrow{font-size:9px;margin-bottom:13px}.welcome h2{font-size:clamp(26px,3vw,38px);letter-spacing:-.04em;font-weight:700;line-height:1.15;margin-bottom:14px}.welcome p:not(.eyebrow){font-size:14px;color:var(--muted);line-height:1.7}.suggestions{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;max-width:520px;margin-top:28px}.suggestions button{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid var(--line);border-radius:9px;padding:11px 13px;font-size:11px;min-height:44px}.suggestions span{color:var(--accent)}.composer-wrap{padding:16px 28px 12px;margin-top:auto;flex-shrink:0}.composer{border:1px solid var(--line);border-radius:15px;background:transparent;box-shadow:none;padding:12px 12px 8px}.composer:focus-within{border-color:var(--accent)}.composer textarea{background:none;border:0;width:100%;padding:4px 7px;font-size:15px;min-height:64px;max-height:160px;outline:none;line-height:1.5}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:8px}.composer-tools{display:flex;align-items:center;gap:4px;min-width:0}.composer-tools span{font-size:10px}.send-button{width:42px;min-height:44px;display:grid;place-items:center;background:var(--accent);color:var(--on-accent);border-radius:11px;flex-shrink:0}.send-button:hover{background:var(--accent-hover)}.composer-hint{font-size:10px;color:var(--muted);text-align:center;margin-top:10px}.composer-hint span{margin:0 8px}.new-topic{background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:space-between;min-height:44px;border:1px solid transparent;border-radius:9px;padding:11px 13px;font-weight:700;font-size:12px;margin:15px 0 17px}.new-topic:hover{border-color:var(--accent);background:var(--accent-soft)}.new-topic span{font-size:20px;line-height:1}.search-label{display:flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:var(--panel)}.search-label svg{width:15px;height:15px;color:var(--muted);flex-shrink:0}.search-label input{border:0;background:none;width:100%;font-size:12px;padding:10px 0}.section-label{font-size:9px;letter-spacing:.12em;color:var(--muted);padding:23px 9px 12px}.topics{flex:1;overflow-y:auto;min-height:0}.topic-row{display:flex;align-items:center;border:1px solid transparent;border-radius:9px;margin-bottom:5px}.topic-row.active{background:var(--panel);border-color:var(--line)}.topic-row>button:first-child{min-height:62px;padding:10px 11px;flex:1;min-width:0;text-align:left;border-radius:9px}.topic-name{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:500}.topic-date{display:block;font-size:10px;color:var(--muted);margin-top:5px}.topic-rename{min-width:44px;opacity:0}.topic-row:hover .topic-rename,.topic-rename:focus-visible,.topic-row.active .topic-rename{opacity:1}.topics-footer{padding:20px 7px;display:flex;align-items:center;gap:10px;border-top:1px solid var(--line);font-size:12px}.avatar{width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:700}.topics-footer small{display:block;font-size:10px;color:var(--muted);margin-top:2px}.attachment-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}.attachment-chip{display:flex;align-items:center;gap:8px;border:1px solid var(--line);background:var(--soft);border-radius:8px;padding:3px 7px;font-size:11px;max-width:100%;overflow-wrap:anywhere}.attachment-chip button{min-height:36px;min-width:36px;border-radius:5px}.center-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 20px;gap:5px}.center-tabs>button{padding:9px 14px;font-size:12px;min-height:44px}.center-tabs .active{color:var(--accent);border-bottom:2px solid var(--accent)}.center-tabs .icon-button{margin-left:auto}.editor-view{display:flex;flex-direction:column;flex:1;min-height:0;padding:18px 24px}.editor-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;font-size:12px;overflow-wrap:anywhere}.editor-view>p{font-size:11px;margin:10px 0}.editor-view textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;flex:1;min-height:100px;padding:16px;font:13px/1.7 monospace;tab-size:2;resize:none;overflow:auto;white-space:pre}.mobile-nav{display:none}.login{display:grid;min-height:100dvh;place-items:center;padding:24px;background:var(--bg)}.login-card{width:min(100%,410px);padding:38px;background:var(--panel);border:1px solid var(--line);border-radius:22px;box-shadow:var(--shadow)}.login-card>.brand-mark{margin-bottom:30px}.login-card h1{font-size:33px;letter-spacing:-.03em;margin-bottom:12px}.login-card>.muted{margin-bottom:24px;font-size:14px}.login-card label{display:block;font-size:12px;margin:15px 0 6px;font-weight:500}.login-card input{width:100%}.login-card .primary{display:flex;justify-content:space-between;align-items:center;width:100%;margin-top:14px}.login-foot{font-size:11px;text-align:center;margin-top:26px}.error{font-size:12px;color:var(--accent);margin-top:9px}dialog{border:1px solid var(--line);border-radius:18px;padding:28px;background:var(--panel);color:var(--text);max-width:min(460px,calc(100vw - 32px));width:100%;box-shadow:var(--shadow)}dialog::backdrop{background:#0b0d0bb8}dialog h2{font-size:21px;margin:8px 0 12px}dialog p{font-size:14px;overflow-wrap:anywhere;color:var(--muted)}dialog label{display:block;margin:15px 0 7px;font-size:12px}dialog input{width:100%}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:25px}.toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%);padding:13px 20px;border:1px solid var(--line);border-radius:12px;background:var(--text);color:var(--panel);font-size:13px;max-width:calc(100vw - 32px);z-index:20;box-shadow:var(--shadow);overflow-wrap:anywhere}@keyframes blink{50%{opacity:0}}
@media(min-width:1700px){.layout{grid-template-columns:280px minmax(0,1fr) 310px}.layout.files-hidden{grid-template-columns:minmax(0,1fr) 310px}.composer-wrap{padding-left:max(32px,calc((100% - 850px)/2));padding-right:max(32px,calc((100% - 850px)/2))}}
@media(max-width:1100px) and (min-width:901px){.layout{grid-template-columns:210px minmax(0,1fr) 225px}.layout.files-hidden{grid-template-columns:minmax(0,1fr) 225px}.chat-heading{padding:18px}.messages{padding:20px 18px}.composer-wrap{padding:12px 16px}.private-label{display:none}.suggestions{gap:6px}.welcome{padding:20px 12px}.welcome-symbol{width:76px;height:76px;font-size:44px;margin-bottom:18px}}
@media(max-width:900px){.app-header{height:68px;padding:0 14px}.brand{font-size:19px;gap:9px}.brand-mark{width:35px;height:35px;border-radius:11px;font-size:25px}.brand-caption{font-size:9px}.header-end{gap:4px}.private-label{display:none}.theme-label select{max-width:130px;font-size:11px;padding:8px 5px}.mobile-nav{height:51px;display:flex;align-items:stretch;justify-content:center;background:var(--panel);border-bottom:1px solid var(--line);padding:0 10px}.mobile-nav button{flex:1;min-height:44px;font-size:12px;color:var(--muted);border-bottom:2px solid transparent}.mobile-nav button.active{color:var(--accent);border-color:var(--accent);font-weight:700}.layout,.layout.files-hidden{height:calc(100dvh - 119px);max-height:calc(100dvh - 119px);display:flex;flex-direction:column}.layout>*{display:none}.layout[data-mobile=chat]>.center-panel,.layout[data-mobile=files]>.files-panel,.layout[data-mobile=topics]>.topics-panel{display:flex;flex:1;min-height:0;width:100%}.layout[data-mobile=files]>.files-panel[hidden]{display:flex!important}.files-panel{border:0}.topics-panel{padding-top:12px;border:0}.chat-heading{padding:14px 17px;min-height:73px}.chat-heading .eyebrow{font-size:8px}.chat-heading h1{font-size:15px;max-width:55vw}.status-pill{font-size:9px}.messages{padding:20px 14px 0}.message-body{font-size:14px}.message.user .message-body{margin-left:0}.message-body{padding-left:0}.welcome{padding:20px 16px}.welcome-symbol{width:66px;height:66px;border-radius:19px;font-size:39px;margin-bottom:20px}.welcome .eyebrow{font-size:8px}.welcome h2{font-size:29px}.welcome p:not(.eyebrow){font-size:13px}.suggestions{margin-top:20px;gap:6px}.suggestions button{font-size:10px;gap:12px;padding:10px}.composer-wrap{padding:10px 12px max(10px,env(safe-area-inset-bottom))}.composer textarea{min-height:48px;font-size:16px}.composer{padding:9px 9px 6px;border-radius:12px}.composer-tools span{font-size:9px}.composer-hint{display:none}.topic-rename{opacity:1;min-width:44px}.topic-row>button:first-child{min-height:68px}.file-row{min-height:44px;font-size:14px}.file-menu select{font-size:14px}.editor-view{padding:14px}.editor-heading{align-items:flex-start}.editor-heading span{max-width:65%;word-break:break-all}.login-card{padding:28px}.login-card h1{font-size:30px}#hide-files{display:none}.file-location{font-size:12px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#root-label{min-height:44px;text-align:left;font:inherit;border-radius:6px;padding:0;overflow-wrap:anywhere}

@media(max-width:900px) and (max-height:500px){.app-header{height:48px}.mobile-nav{height:44px}.layout,.layout.files-hidden{height:calc(100dvh - 92px);max-height:calc(100dvh - 92px)}.chat-heading{padding:6px 16px;min-height:44px}.chat-heading .eyebrow{display:none}.composer-wrap{padding:6px 12px}.composer textarea{height:42px;min-height:42px}.composer{padding:5px 9px}.center-tabs>button{padding-top:5px;padding-bottom:5px}.welcome-symbol{display:none}.welcome{padding:12px}.suggestions{margin-top:10px}}

.approval-card{margin:16px;padding:18px;border:1px solid var(--accent,#b6f35a);border-radius:12px;max-width:100%;overflow:hidden}.approval-card h3{font-size:16px;margin:0 0 8px}.approval-card p{font-size:13px}.approval-card pre{white-space:pre-wrap;overflow-wrap:anywhere;max-height:260px;overflow:auto;font-size:12px}.approval-card>div{display:flex;gap:8px;flex-wrap:wrap}.approval-card button{padding:8px 14px}

/* File controls: visible labels instead of a hidden action selector. */
.file-toolbar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;padding:10px 12px;flex-shrink:0}
.file-tool{display:flex;align-items:center;justify-content:center;gap:5px;border:1px solid var(--line);border-radius:8px;min-height:44px;padding:6px;font-size:11px;background:var(--panel)}
.file-tool svg{width:15px;height:15px;flex-shrink:0}.file-help{font-size:11px;padding:7px 16px 0;line-height:1.5;flex-shrink:0}
.file-tree{min-height:80px}.file-controls{flex-shrink:0;max-height:45%;overflow-y:auto;padding:10px 12px}
.file-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;margin-top:8px}
.file-actions button{border:1px solid var(--line);border-radius:8px;background:var(--panel);min-height:44px;padding:6px;font-size:11px;overflow-wrap:anywhere}
.file-actions .delete-file:not(:disabled){color:var(--accent)}.file-actions button:not(:disabled):hover,.file-tool:not(:disabled):hover{background:var(--accent-soft);border-color:var(--accent)}
.file-actions button:disabled,.file-tool:disabled{cursor:not-allowed;opacity:.5;background:var(--soft)}
#clipboard-state{margin-top:7px;color:var(--text)}
#save-file:disabled{background:var(--soft);color:var(--muted);border:1px solid var(--line);opacity:1;cursor:not-allowed;filter:none}
#save-file:not(:disabled){border:1px solid transparent}
#save-file{flex-shrink:0}
@media(max-width:900px){.file-tool,.file-actions button{font-size:13px}.file-controls{max-height:45%}.file-help{font-size:12px}}
@media(max-width:900px){.layout[data-mobile=files]>.files-panel{overflow:hidden}.files-panel .panel-heading,.file-root,.file-location{flex-shrink:0}}
.assistant-controls{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px;min-width:0}.assistant-controls button{min-height:44px;padding:6px 10px;border-radius:8px;font-size:11px;color:var(--muted);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.assistant-controls #model-control{border:1px solid var(--line);background:var(--panel);color:var(--text);max-width:65%}.assistant-controls .reserve-on{color:var(--accent)}.assistant-controls button:disabled{cursor:not-allowed}.control-heading{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:15px}.control-heading h2{margin:0;font-size:20px}#control-dialog,#status-dialog{max-height:85dvh;overflow-y:auto}#control-dialog select{width:100%}.reserve-setting{margin:20px 0;padding-top:12px;border-top:1px solid var(--line)}.reserve-setting label{display:flex;align-items:center;gap:8px;font-size:14px}#control-reserve{width:20px;height:20px;min-height:20px;accent-color:var(--accent);flex-shrink:0}#control-feedback{margin:12px 0}#restart-assistant{width:100%;margin-top:12px}#status-body{white-space:pre-wrap;overflow-wrap:anywhere;font:13px/1.65 Gilroy,sans-serif;margin:0}@media(max-width:900px){.assistant-controls{gap:2px}.assistant-controls button{font-size:10px;padding:5px 7px}.assistant-controls #model-control{max-width:58%}}

.reauth-buttons{display:grid;gap:8px;margin:18px 0}.reauth-buttons button{width:100%}#reauth-dialog{max-height:85dvh;overflow:auto;width:min(520px,calc(100vw - 32px))}#reauth-dialog p{overflow-wrap:anywhere}#reauth-dialog input{width:100%;min-height:44px}#reauth-link{display:inline-block;min-height:44px;padding:12px 0;color:var(--accent)}#reauth-link[hidden]{display:none}.reauth-code{font-size:24px;letter-spacing:.1em;font-weight:700}#reauth-submit-form{display:grid;gap:12px;margin:16px 0}#reauth-submit-form[hidden]{display:none}#reauth-dialog button{min-height:44px}#reauth-apply,#reauth-start{margin-top:16px;width:100%}

/* Only the directory tree scrolls; headings and actions stay in place. */
.files-panel{overflow:hidden;min-height:0}.file-controls{max-height:none;overflow:visible;border-top:0;border-bottom:1px solid var(--line)}
.files-panel .file-tree{flex:1 1 0;min-height:0;overflow:auto;overscroll-behavior:contain}
.files-panel> :not(.file-tree){flex-shrink:0}.file-help{padding-bottom:6px}
.folder-progress{padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;flex-shrink:0}.folder-progress button{font-size:11px;width:100%;margin-top:7px}
.topic-delete{min-width:36px;color:var(--muted)}.topic-delete:hover{color:var(--accent);background:var(--accent-soft)}.topic-rename{min-width:36px;opacity:1}.topic-row>button:first-child{padding-right:4px}
/* Full-height mascot; translucent reply surfaces, never translucent text. */
.center-panel{position:relative;isolation:isolate;overflow:hidden}.center-panel>*{position:relative;z-index:1}

[data-theme=dark] 
.message{max-width:none;width:100%;background:rgb(255 255 255 / .36);border-radius:12px;padding:12px 14px}
[data-theme=dark] .message{background:var(--canvas)}
.message.user .message-body{background:var(--user)}
[data-theme=dark] .message.user .message-body{background:var(--user)}.approval-card{background:var(--canvas)}
.chat-heading,.center-tabs{background:transparent}.chat-heading-left{align-self:flex-start}.status-pill{background:var(--canvas)}.editor-heading,.editor-view>p{background:var(--canvas);border-radius:8px}.editor-view textarea{background:var(--bg)}
.welcome h2,.welcome>p,.suggestions button{background:var(--canvas);border-radius:8px}.welcome h2,.welcome>p{padding:4px 10px}
.assistant-controls button,.composer-hint{background:var(--canvas);border-radius:6px}
@media(max-width:900px){[data-theme=dark] .topic-rename,.topic-delete{min-width:44px}}
@media(max-width:1100px) and (min-width:901px){}
@media(max-width:900px) and (max-height:500px){}

/* Own Sentinel shield; no reference assistant mascot. */
.brand-mark,.welcome-symbol{background:transparent;padding:0;letter-spacing:normal;overflow:hidden}
.brand-mark img,.welcome-symbol img{display:block;width:100%;height:100%;object-fit:contain}

/* Account menu: owner session controls, anchored to existing logout button. */
.logout-control{position:relative;flex-shrink:0}.account-menu{position:absolute;right:0;top:calc(100% + 8px);z-index:40;min-width:240px;max-width:calc(100vw - 28px);padding:6px;background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow)}
.account-menu button{display:block;width:100%;min-height:44px;padding:10px 12px;border-radius:7px;font-size:13px;text-align:left;white-space:normal}.account-menu button:hover{background:var(--accent-soft)}

/* Reserve catalog: same names/IDs and ten-item pagination as Telegram. */
.reserve-model-list{display:grid;gap:6px;margin:10px 0;max-height:35vh;overflow:auto}.reserve-model-list button{text-align:left;display:grid;gap:3px;overflow-wrap:anywhere}.reserve-model-list small{color:var(--muted)}.reserve-pagination{display:flex;justify-content:space-between;gap:12px}#reserve-model-form{display:grid;gap:10px;margin-top:18px}#reserve-dialog{max-width:560px}#reserve-dialog input:not([type=checkbox]){width:100%;box-sizing:border-box}#reserve-dialog .reserve-setting{margin-bottom:18px}
#reserve-search{margin:8px 0 12px}

/* Safe assistant formatting; long code and links never widen the chat. */
.message-body pre{max-width:100%;white-space:pre-wrap;overflow-wrap:anywhere;padding:12px;border:1px solid var(--line);border-radius:8px}
.message-body code{font-family:inherit;white-space:pre-wrap;overflow-wrap:anywhere}
.message-body pre code{padding:0}
.message-body blockquote{margin:12px 0;padding-left:12px;border-left:3px solid currentColor}
.message-body a{color:inherit;text-decoration:underline;overflow-wrap:anywhere}
/* Rich assistant replies: local Markdown + inert HTML typography. */
.message-body :is(p,div,ul,ol,dl,table,details,h1,h2,h3,h4,h5,h6){white-space:normal}
.message-body p{margin:0 0 .8em}.message-body p:last-child{margin-bottom:0}
.message-body :is(h1,h2,h3,h4,h5,h6){font-weight:700;line-height:1.3;margin:1em 0 .55em}
.message-body h1{font-size:1.4em}.message-body h2{font-size:1.25em}.message-body :is(h3,h4,h5,h6){font-size:1.1em}
.message-body :is(ul,ol){margin:.6em 0;padding-left:1.6em}.message-body li{margin:.3em 0}
.message-body li>p{margin:.3em 0}.message-body hr{border:0;border-top:1px solid var(--line);margin:1em 0}
.message-body table{display:block;max-width:100%;overflow-x:auto;border-collapse:collapse;margin:.8em 0}
.message-body :is(th,td){border:1px solid var(--line);padding:7px 10px;text-align:left;min-width:5em}
.message-body th{font-weight:700}.message-body pre{white-space:pre-wrap}
.message-body summary{cursor:pointer}.message-body :is(kbd,samp){font-family:monospace}

.message-body.rich-markdown{white-space:normal}

/* Keep the fixed controls usable in phone landscape / short windows too. */
@media(max-height:550px){
  .files-panel .panel-heading{padding:0 12px;min-height:30px}
  .files-panel .panel-heading h2{font-size:13px}
  .files-panel .icon-button{min-height:28px;height:28px}
  .files-panel .file-root{padding:0 12px;min-height:28px}
  .files-panel .file-toolbar{padding:4px 12px;gap:3px}
  .files-panel .file-tool,.files-panel .file-actions button{min-height:28px;padding:3px 5px;font-size:11px}
  .files-panel .file-location{padding:2px 12px 0;font-size:10px}
  .files-panel .file-help{display:none}
  .files-panel .file-controls{padding:4px 12px}
  .files-panel .file-actions{grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}
  .files-panel #file-selection,.files-panel #clipboard-state{font-size:10px;margin:0 0 3px}
}

/* Sentinel uses a graphic shield, never the reference assistant mascot. */
.brand-mark{background:var(--accent);color:var(--on-accent)}.brand-mark img{width:100%;height:100%}.assistant-controls{border-top:1px solid var(--line)}

[data-theme=light] .center-tabs .active{color:var(--text);font-weight:700}
