[hidden]{display:none!important}.project-header{display:flex;align-items:center;gap:1.2rem;padding:.5rem 0 1rem}.project-header h1{font-size:1.8rem;margin:0;flex:1}.project-header a{font-size:.9rem}.project-tabs{display:flex;overflow-x:auto;gap:.25rem;border-bottom:1px solid var(--line,#d8dbd0);padding:.25rem 0}.project-tab{display:flex;flex-shrink:0}.project-tabs button{border:0;border-radius:0;background:transparent;padding:.65rem .85rem;color:inherit;white-space:nowrap}.project-tabs [aria-selected=true]{background:#e3ece3;box-shadow:inset 0 -3px #245b45}#explorer-resize:focus{outline:2px solid #b87724}.project-body h1{font-size:1.8rem}.project-body .conversation-heading h2{font-size:1.7rem}.project-body .worker-card{padding:1.2rem;margin-bottom:1rem}.project-body .detail-grid{display:block}.explorer-heading{display:flex;justify-content:space-between;align-items:center}.file-actions{display:flex;flex-wrap:wrap;gap:.2rem;margin:.7rem 0}.file-actions button,.explorer-heading button,.file-row button{padding:.3rem .45rem;border:0;font-size:.8rem;background:transparent}.file-actions button:hover,.file-row:hover{background:#e5ece2}.file-row{display:flex;align-items:center;min-width:0;border-radius:3px}.file-row input,.hidden-toggle input{width:auto;margin:.4rem}.file-row button{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-row.selected{background:#dbe9de}.folder-children{padding-left:12px;border-left:1px solid #d8dbd0}.file-breadcrumbs,.file-toolbar,.artifact-actions,.table-controls{display:flex;flex-wrap:wrap;gap:.8rem;align-items:center;margin-bottom:1rem}.file-toolbar button,.file-breadcrumbs button,.table-controls button{font-size:.85rem;padding:.4rem .65rem}.file-editor{height:65vh;border:1px solid #b9c5b8;background:#fffefb}.file-body>img{max-width:100%;max-height:70vh;object-fit:contain}.file-preview{overflow:auto;max-height:70vh}.table-preview{overflow:auto;max-height:55vh}.table-preview td,.table-preview th{padding:.4rem .6rem;border:1px solid #ddd;white-space:pre-wrap;max-width:28rem;overflow-wrap:anywhere}.table-preview table{border-collapse:collapse;font-size:.85rem}.table-preview th{position:sticky;top:0;background:#eef2e9}.table-preview th button{border:0;background:none;padding:0;font:inherit}.rich-content{white-space:normal;overflow-wrap:anywhere;line-height:1.6}.rich-content>:first-child{margin-top:0}.rich-content pre{padding:.8rem;background:#f0f1ea;overflow:auto;white-space:pre;font-size:.85rem}.rich-content table{border-collapse:collapse;display:block;overflow:auto}.rich-content th,.rich-content td{padding:.4rem .7rem;border:1px solid #d7dcd2}.rich-content blockquote{border-left:3px solid #809d89;padding-left:1rem;margin-left:0}.rich-content .katex-display{overflow:auto}.rich-content input[type=checkbox]{width:auto}.rich-content p{margin:.5rem 0}.workspace-artifact{border:1px solid #becfbe;border-radius:8px;padding:1rem;margin:1rem 0;white-space:normal}.workspace-artifact>img{display:block;max-width:100%;max-height:30rem;object-fit:contain}.image-zoom{max-width:95vw;max-height:95vh}.image-zoom img{display:block;max-width:90vw;max-height:85vh}.composer-preview{padding:1rem;border:1px solid #ccd6c7}.json-row{margin-left:1rem}.project-body .user-message,.project-body .assistant-message{min-width:0}#files-status{font-size:.8rem;overflow-wrap:anywhere}#composer-files button{font-size:.8rem;padding:.2rem .5rem;margin:.2rem}body:has(.project-shell)>footer{display:none}:focus-visible{outline:3px solid #b87724;outline-offset:2px}.cm-editor.cm-focused{outline:2px solid #245b45}.project-body #dashboard-frame{min-height:70vh}.math-error{color:#a44330}
.rich-content img{max-width:100%;max-height:60vh;object-fit:contain}.rich-content .task-list-item{list-style:none}.rich-content .task-list-item input{display:inline-block;margin-right:.5rem}
.file-row input[type=checkbox],.hidden-toggle input[type=checkbox],.rich-content input[type=checkbox]{min-height:0;padding:0;width:14px;height:14px;flex-shrink:0}.project-body .conversation-sidebar form{gap:.5rem;margin-bottom:1rem}.project-body .conversation-sidebar input,.project-body .conversation-sidebar select{min-height:36px;padding:.4rem .5rem;font-size:.85rem}.project-body .conversation-sidebar .secondary{min-height:36px;padding:.4rem .6rem}.project-body .conversation-heading{margin-bottom:1rem}

/* A single activity at a time: activity rail, optional left sidebar, content. */
.main-content:has(#project-shell){max-width:none;padding:1rem 1.25rem}
.project-shell{--explorer-width:280px;--activity-width:64px}
.project-workbench{display:grid;grid-template-columns:var(--activity-width) minmax(0,1fr);gap:0;align-items:start;border-top:1px solid var(--line);min-height:78vh}
.project-body{min-width:0;grid-column:-2;grid-row:1;padding:0 0 1rem 1rem}
.project-workbench:has(>#workspace-explorer:not([hidden])){grid-template-columns:var(--activity-width) var(--explorer-width) 6px minmax(0,1fr)}
#workspace-explorer{grid-column:2;grid-row:1;position:sticky;top:1rem;height:calc(100dvh - 2rem);padding:.75rem;font-size:.85rem;background:var(--paper);border-right:1px solid var(--line)}
#explorer-resize{cursor:col-resize;touch-action:none;grid-column:3;grid-row:1;height:100%;min-height:78vh;background:transparent}
#explorer-resize:hover{background:#c6d6ca}
.project-activity{grid-column:1;grid-row:1;position:sticky;top:1rem;display:flex;flex-direction:column;gap:.4rem;align-items:stretch;padding:.5rem 4px;border-right:1px solid var(--line);min-height:calc(100dvh - 12rem);max-height:calc(100dvh - 2rem);overflow-y:auto;background:var(--paper)}
.project-activity button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-height:60px;width:100%;padding:8px 2px;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;font-weight:600;line-height:1.2}
.project-activity button svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linejoin:round;stroke-linecap:round}
.project-activity button:hover{color:var(--accent);background:#e9ede4}
.project-activity button[aria-pressed=true]{color:var(--accent);background:#e0eae0}
.project-activity button[aria-pressed=true]::before{content:'';position:absolute;left:-4px;top:10px;bottom:10px;width:3px;border-radius:2px;background:var(--accent)}
.project-activity #activity-setup{margin-top:auto}
.project-tabs{margin-bottom:1rem;min-height:44px}
.project-body .conversation-grid{grid-template-columns:var(--explorer-width) minmax(0,1fr);gap:0;border:0;border-radius:0;background:transparent;overflow:visible}
.project-body .conversation-main{grid-column:2;grid-row:1;padding:1rem 0 1rem 1.5rem}
.project-body .conversation-sidebar{grid-column:1;grid-row:1;position:sticky;top:1rem;max-height:calc(100dvh - 2rem);overflow:auto;padding:1rem .8rem;border-left:0;border-bottom:0;border-right:1px solid var(--line);background:var(--paper)}
.project-shell:not(.sidebar-open) .conversation-grid{grid-template-columns:minmax(0,1fr)}
.project-shell:not(.sidebar-open) .conversation-sidebar{display:none}
.project-shell:not(.sidebar-open) .conversation-main{grid-column:1;padding-left:0}
.sidebar-close{display:block;margin:0 0 .75rem auto;padding:.3rem .45rem;min-height:32px;border:0;background:transparent;font-size:.75rem;color:var(--muted)}
.workspace-empty{padding:clamp(2rem,8vw,6rem) 1rem;max-width:40rem;margin:auto;color:var(--muted)}
.workspace-empty h2{color:var(--ink)}
.project-body #view-setup,.project-body #view-dashboard,.project-body #view-file{padding-top:1rem}
.project-body .chat-turn .user-bubble,.project-body .chat-turn .agent-bubble{max-width:92%}
.project-body .chat-turn .user-bubble{margin-right:0;margin-left:auto}
.project-body .chat-turn .agent-bubble{margin-right:auto;margin-left:0}
.project-body .chat-bubble .chat-message{max-width:none}
@media(max-width:1000px){
 .main-content:has(#project-shell){padding:.7rem}.project-header h1{font-size:1.4rem}.project-header{gap:.7rem}
 .project-body .conversation-main{padding-left:.85rem}.project-shell{--explorer-width:230px}
}
@media(max-width:760px){
 .project-shell{--activity-width:56px}.project-header{flex-wrap:wrap;gap:.6rem}.project-header h1{flex-basis:65%}
 .project-workbench:has(>#workspace-explorer:not([hidden])){grid-template-columns:var(--activity-width) minmax(0,1fr)}
 .project-body{padding-left:.6rem}.project-body .conversation-grid{display:block}.project-body .conversation-main{padding-left:0}
 #explorer-resize{display:none}
 #workspace-explorer,.project-body .conversation-sidebar{position:fixed;z-index:30;top:1rem;left:calc(var(--activity-width) + .7rem);width:min(78vw,320px);height:auto;max-height:calc(100dvh - 2rem);overflow:auto;border:1px solid var(--line);border-radius:0 8px 8px 0;box-shadow:8px 8px 24px #0002;padding:1rem}
 .project-activity{z-index:31;min-height:calc(100dvh - 13rem)}
 .project-body .chat-turn .user-bubble,.project-body .chat-turn .agent-bubble{max-width:93%;padding:.8rem}
}

/* Use the actual reading width, after the activity rail and session sidebar. */
#project-shell .conversation-main{container-name:conversation-reading;container-type:inline-size}
#project-shell #conversation-content{display:block}
#project-shell .navigation-plan{position:static;margin:1rem 0;max-width:none}
@container conversation-reading (min-width:60rem){
 #project-shell #conversation-content:has(> .navigation-plan:not([hidden])){display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,20rem);column-gap:1.5rem;align-items:start}
 #project-shell #conversation-content > :not(.navigation-plan){grid-column:1;min-width:0}
 #project-shell .navigation-plan{grid-column:2;grid-row:1 / 4;position:sticky;top:1rem;margin:0}
 #project-shell .navigation-body{max-height:calc(100dvh - 13rem)}
}

/* Explorer: a quiet tree, with contextual actions and explicit focus. */
#workspace-explorer{display:flex;flex-direction:column;gap:.45rem;padding:.6rem .45rem}
.explorer-heading{gap:.3rem;padding:0 .25rem;flex-shrink:0}.explorer-heading strong{font-size:.85rem}
#files-actions{display:flex;gap:1px}#files-actions button{display:grid;place-items:center;padding:3px;min-width:25px;min-height:28px;color:var(--accent);border-radius:3px}
#files-actions button:hover{background:#dfe8dd}#files-status{margin:.15rem .3rem;min-height:1.2em;font-size:.75rem}
#file-tree{flex:1;min-height:100px;overflow:auto;overscroll-behavior:contain;padding:3px;scrollbar-gutter:stable}
#file-tree .file-row{gap:5px;min-height:30px;padding:2px 3px;cursor:default;border:1px solid transparent;border-radius:3px;outline-offset:-2px}
#file-tree .file-row:hover{background:#e9eee4}#file-tree .file-row.selected{background:#dce9df;color:#163e2d}
#file-tree .file-row.active-file .file-name{font-weight:650}.file-row.cut>.file-name,.file-row.cut>.workspace-icon{opacity:.5}
.file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;line-height:1.5}
.file-chevron{width:12px;flex-shrink:0;text-align:center;font-size:17px;line-height:1;color:var(--muted)}
.workspace-icon{width:17px;height:17px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;color:#69756c}
.icon-python,.icon-web{color:#3f7892}.icon-javascript,.icon-config{color:#8a701d}.icon-table,.icon-document{color:#4b7756}.icon-image,.icon-molecule{color:#856092}.icon-pdf{color:#ae5448}.icon-folder,.icon-open{color:#8a795b}
#file-tree .file-more{flex:0 0 22px;width:22px;height:24px;min-height:24px;padding:0;text-align:center;font-size:18px;opacity:0;border-radius:3px}
.file-row:hover .file-more,.file-row:focus-within .file-more{opacity:1!important}.file-more:focus-visible{opacity:1!important}
#file-tree .folder-children{margin-left:9px;padding-left:8px;border-left:1px solid #d8dfd4}
#file-tree .drop-target,#file-tree.drop-target{background:#dbeadc;outline:2px dashed #447459;outline-offset:-2px}
.tree-load-more{margin:.3rem;font-size:.75rem;padding:.3rem .5rem}.preview-tab>[role=tab]{font-style:italic}
.workspace-menu{position:fixed;z-index:200;min-width:205px;max-width:calc(100vw - 8px);max-height:calc(100dvh - 8px);overflow:auto;padding:5px;background:#fffef9;border:1px solid #bdc8ba;border-radius:7px;box-shadow:0 8px 28px #152a2628;color:var(--ink);font-size:.85rem}
.workspace-menu button{display:block;width:100%;padding:6px 12px;min-height:31px;text-align:left;background:none;color:inherit;border:0;border-radius:3px;font:inherit}
.workspace-menu button:hover:not(:disabled),.workspace-menu button:focus-visible{background:#e0ebdf;outline:2px solid #9cab94;outline-offset:-2px}.workspace-menu button:disabled{opacity:.45}
.menu-separator{border-top:1px solid var(--line);margin:4px 6px}
.inline-name{padding:2px 3px 5px 20px}.inline-name input{min-width:0;width:100%;min-height:28px;padding:3px 5px;border-radius:2px;font-size:.82rem}.inline-name-error{display:block;color:#963b2f;font-size:.75rem;margin-top:3px}
.folder-picker{max-height:45vh;overflow:auto;border:1px solid var(--line);padding:.5rem;margin:.7rem 0}.picker-folder{display:flex;gap:.3rem}.picker-folder button{padding:.3rem .5rem;font-size:.85rem}.trash-entry{display:flex;align-items:center;gap:1rem;justify-content:space-between;margin:.5rem 0}.trash-entry span{overflow-wrap:anywhere}
@media(hover:none){#file-tree .file-more{opacity:1;min-width:30px;height:32px}#file-tree .file-row{min-height:38px}.workspace-menu button{min-height:40px}}
@media(max-width:760px){#workspace-explorer{height:calc(100dvh - 2rem)}.explorer-heading strong{font-size:.8rem}}

.explorer-drag-hint{position:fixed;z-index:210;pointer-events:none;max-width:min(20rem,90vw);padding:.35rem .6rem;border:1px solid #9bad9b;border-radius:4px;background:#f7f7ee;color:#214c3b;box-shadow:0 3px 14px #173e2726;font-size:.8rem;overflow-wrap:anywhere}

/* Boards devote the viewport to the occupation, with one compact outer toolbar. */
body:has(.project-shell[data-view=dashboard]) .site-header{max-width:none;height:52px;padding:6px 20px}
body:has(.project-shell[data-view=dashboard]) .brand-mark{width:30px;height:30px;font-size:26px}
body:has(.project-shell[data-view=dashboard]) .brand small{display:none}
.main-content:has(.project-shell[data-view=dashboard]){padding:0 12px;min-height:0}
.project-shell[data-view=dashboard]{--activity-width:108px}
.project-shell[data-view=dashboard] .project-header{height:44px;padding:4px 0;gap:16px}
.project-shell[data-view=dashboard] .project-header h1{font-size:22px}
.project-shell[data-view=dashboard] .project-body{padding:0 0 0 10px}
.project-shell[data-view=dashboard] #view-dashboard{padding:0}
.project-shell[data-view=dashboard] .project-workbench{min-height:0}
.project-shell[data-view=dashboard] .project-activity{top:0;height:calc(100dvh - 96px);min-height:0;max-height:none}
#board-choices{border-left:1px solid var(--line);margin-left:12px;padding-left:5px;display:flex;flex-direction:column;gap:3px}
.project-activity #board-choices button{font-size:11px;min-height:48px;padding:6px 3px;overflow-wrap:anywhere}
#board-choices .board-icon{font-size:20px;line-height:1}
.project-activity #board-choices button[aria-current=true]{background:#e0eae0;color:var(--accent);box-shadow:inset 2px 0 var(--accent)}
.dashboard-toolbar{display:flex;align-items:center;gap:12px;min-height:44px;padding:5px 0;font-size:12px}
.dashboard-toolbar h2{font-size:16px;margin:0;letter-spacing:0}.dashboard-toolbar #dashboard-health{font-size:12px;color:var(--muted);margin-left:auto}
.dashboard-toolbar button{padding:4px 9px;min-height:30px;font-size:12px}.dashboard-menu{position:relative}.dashboard-menu summary{cursor:pointer;padding:5px}.dashboard-menu[open] button{position:absolute;right:0;top:32px;z-index:3;box-shadow:0 3px 10px #0002;white-space:nowrap}
.project-shell[data-view=dashboard] #dashboard-frame{display:block;height:calc(100dvh - 148px);min-height:400px;width:100%;margin:0;border-radius:6px}
.project-shell[data-view=dashboard] #dashboard-return{margin:0;font-size:12px}.project-shell[data-view=dashboard] #dashboard-error{margin:0;padding:5px 10px}
@media(max-width:760px){.project-shell[data-view=dashboard]{--activity-width:70px}.project-shell[data-view=dashboard] .project-header h1{font-size:18px}.dashboard-toolbar{gap:6px;flex-wrap:wrap}.dashboard-toolbar h2{font-size:14px}.dashboard-toolbar #dashboard-health{max-width:40%;font-size:11px}.project-shell[data-view=dashboard] #dashboard-frame{height:calc(100dvh - 170px)}#board-choices{margin-left:5px;padding-left:3px}}

.provisional-response{font-size:12px;padding:8px 12px;border-left:2px solid var(--line);background:var(--soft);white-space:pre-wrap}.provisional-response p{margin:6px 0}
