/* A lifted workbench, not motion on the information a person is reading. */
:root { --workbench-shadow:0 16px 46px rgba(32,43,29,.08); --rail-shadow:0 6px 24px rgba(32,43,29,.05) }
:root[data-theme=dark] { --workbench-shadow:0 16px 46px rgba(0,0,0,.26); --rail-shadow:0 6px 24px rgba(0,0,0,.18) }
body:not([data-page=chat]) .app-shell { background:var(--surface-2) }
body:not([data-page=chat]) .app-main { background:transparent }
body:not([data-page=chat]) .topbar { margin:0 16px; padding-inline:22px; min-height:58px; border:0; border-radius:16px; background:var(--surface); box-shadow:var(--rail-shadow) }
body:not([data-page=chat]) .page-canvas { width:calc(100% - 32px); margin:18px auto 100px; padding:34px 36px 85px; flex:1 0 auto; border:0; border-radius:16px; background:var(--surface); box-shadow:var(--workbench-shadow) }
body:not([data-page=chat]) .page-header { padding-bottom:26px; margin-bottom:26px; border-bottom:1px solid var(--line) }
body:not([data-page=chat]) .page-header h1 { font-size:2.1rem }
body:not([data-page=chat]) .page-header p { margin-top:9px }
body:not([data-page=chat]) .primary { box-shadow:0 5px 14px rgba(32,43,29,.1); transition:transform var(--fast) var(--ease-out),background-color var(--fast) }
body:not([data-page=chat]) .project-grid { display:flex; flex-direction:column; gap:0 }
body:not([data-page=chat]) .project-card { min-height:0; display:grid; grid-template-columns:42px minmax(0,1fr) auto; gap:7px 18px; padding:24px 4px; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; box-shadow:none }
body:not([data-page=chat]) .project-card .project-card-top { display:contents }
body:not([data-page=chat]) .project-card .project-card-top>.icon { grid-column:1; grid-row:1/3; align-self:center }
body:not([data-page=chat]) .project-card .project-card-top>.quiet { grid-column:3; grid-row:1; align-self:end; text-align:right }
body:not([data-page=chat]) .project-card h2 { grid-column:2; font-size:.98rem; margin:0; align-self:end }
body:not([data-page=chat]) .project-card p { grid-column:2; margin:0; font-size:.81rem }
body:not([data-page=chat]) .project-card .project-card-bottom { grid-column:3; grid-row:2; align-self:start; border:0; padding:0; margin:0; gap:20px }
body:not([data-page=chat]) .table-wrap { border:0; border-radius:0 }
body:not([data-page=chat]) .data-table th { background:transparent }
body:not([data-page=chat]) .connection-group:first-of-type { margin-top:0 }
body:not([data-page=chat]) .connection-policy { margin-bottom:25px }
body:not([data-page=chat]) .settings-section:first-child { padding-top:10px; border-top:0 }
body:not([data-page=chat]) .usage-ribbon { padding:20px 22px; background:var(--accent-soft); border:0; border-radius:12px; margin-bottom:22px }
body:not([data-page=chat]) .hub-tabs { margin-top:0 }
body:not([data-page=chat]) .task-assist { border-radius:12px; background:var(--surface-2) }
.memory-toolbar { display:flex; align-items:center; gap:20px; margin:0 0 12px }
.memory-toolbar .search-control { max-width:420px; flex:1; min-width:0 }
.memory-toolbar .search-control input { min-width:0 }
.memory-count { margin-left:auto; flex:none; color:var(--muted); font-size:.76rem; font-variant-numeric:tabular-nums }
.memory-saved { display:flex; align-items:center; gap:8px; color:var(--accent); font-size:.8rem; margin:0 0 20px }
.memory-saved>.icon { width:16px; height:16px }
.memory-entry { display:grid; grid-template-columns:48px minmax(0,1fr) auto; gap:16px; padding:24px 0; border-bottom:1px solid var(--line); min-width:0 }
.memory-file-mark { width:48px; height:58px; border-radius:10px; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:4px; background:var(--accent-soft); color:var(--accent) }
.memory-file-mark>.icon { width:22px; height:22px }
.memory-file-mark>span { font-size:.55rem; font-weight:650; letter-spacing:.035em; max-width:44px; overflow:hidden; text-overflow:ellipsis }
.memory-entry-main { min-width:0 }
.memory-entry-main h2 { font-size:.94rem; font-weight:600; line-height:1.5; overflow-wrap:anywhere }
.memory-file-name { color:var(--muted); font-size:.77rem; line-height:1.7; overflow-wrap:anywhere; margin:3px 0 0 }
.memory-summary { color:var(--ink); font-size:.81rem; line-height:1.7; margin:10px 0; overflow-wrap:anywhere }
.memory-entry-main>small { color:var(--muted); font-size:.69rem; font-variant-numeric:tabular-nums }
.memory-entry-actions { display:flex; align-items:flex-start; gap:5px }
.memory-download { font-size:.74rem; gap:8px; min-height:40px; padding:9px 12px; background:var(--surface-2); border:0 }
.memory-download>.icon { width:16px; height:16px }
.memory-delete { color:var(--muted); width:36px; height:40px; min-height:40px; padding:9px }
.memory-delete:hover { color:var(--danger); background:var(--danger-soft) }
.memory-inspector { grid-column:2/-1; min-width:0 }
.memory-inspector>summary { display:flex; align-items:center; width:fit-content; gap:8px; min-height:32px; list-style:none; font-size:.73rem; color:var(--muted); cursor:pointer }
.memory-inspector>summary::-webkit-details-marker { display:none }
.memory-inspector>summary>.icon { width:14px; height:14px }
.memory-inspector[open]>summary>.icon { transform:rotate(180deg) }
.memory-inspector-content { padding-top:16px }
.memory-inspector dl { display:grid; grid-template-columns:1fr 1fr; gap:20px; margin:0 0 22px }
.memory-inspector dt { font-size:.72rem; color:var(--muted); margin-bottom:6px }
.memory-inspector dd { margin:0; font-size:.81rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere }
.memory-inspector pre { margin:12px 0 0; max-height:340px; overflow:auto; white-space:pre-wrap; overflow-wrap:anywhere; padding:18px; border-radius:10px; background:var(--surface-2); color:var(--ink); font-size:.76rem; line-height:1.8; tab-size:2 }
.memory-policy { margin-top:24px; color:var(--muted) }
.memory-policy>summary { display:flex; align-items:center; gap:8px; width:fit-content; min-height:44px; font-size:.73rem; cursor:pointer; list-style:none; overflow-wrap:anywhere }
.memory-policy>summary::-webkit-details-marker { display:none }
.memory-policy>summary>.icon { width:14px; height:14px; flex:none }
.memory-policy>p { margin:10px 0 0; max-width:70ch; font-size:.76rem; line-height:1.8 }
@media(min-width:761px) {
 body:not([data-page=chat]) .app-shell { padding:12px; gap:12px; grid-template-columns:236px minmax(0,1fr) }
 body:not([data-page=chat]) .app-sidebar { border-radius:16px; box-shadow:var(--rail-shadow) }
 body:not([data-page=chat]) .sidebar-brand { min-height:64px }
}
@media(hover:hover) and (pointer:fine) {
 body:not([data-page=chat]) .primary:hover:not(:focus-visible) { transform:translateY(-1px) }
 body:not([data-page=chat]) .primary:active:not(:focus-visible) { transform:translateY(1px) }
 .memory-download:hover { background:var(--accent-soft); color:var(--accent) }
}
@media(max-width:1000px) { body:not([data-page=chat]) .page-canvas { padding-inline:26px } .memory-entry { grid-template-columns:42px minmax(0,1fr); gap:13px } .memory-entry-actions { grid-column:2; grid-row:2 } .memory-inspector { grid-row:3 } .memory-file-mark { width:42px; height:54px } }
@media(max-width:760px) {
 body:not([data-page=chat]) .topbar { margin:10px 12px 0; padding-inline:10px; border-radius:12px }
 body:not([data-page=chat]) .page-canvas { width:calc(100% - 24px); padding:25px 20px 55px; margin:14px auto 115px; border-radius:14px }
 body:not([data-page=chat]) .page-header { gap:17px; padding-bottom:22px; margin-bottom:23px }
 body:not([data-page=chat]) .page-header h1 { font-size:1.85rem }
 body:not([data-page=chat]) .project-card { grid-template-columns:34px minmax(0,1fr); padding-block:22px; gap:7px 13px }
 body:not([data-page=chat]) .project-card .project-card-top>.quiet { grid-column:2; grid-row:3; text-align:left; margin-top:5px }
 body:not([data-page=chat]) .project-card .project-card-bottom { grid-column:2; grid-row:4; margin-top:3px }
 .memory-toolbar { gap:12px }
 .memory-count { font-size:.7rem }
 .memory-entry { padding-block:23px }
 .memory-entry-actions { flex-wrap:wrap }
 .memory-download,.memory-delete,.memory-inspector>summary { min-height:44px }
 .memory-delete { width:44px }
 .memory-entry-main h2 { font-size:.9rem }
 .memory-summary { font-size:.78rem }
 .memory-inspector { grid-column:1/-1 }
 .memory-inspector dl { grid-template-columns:1fr; gap:16px }
 body:not([data-page=chat]) .usage-ribbon { padding:16px }
}
@media(prefers-reduced-motion:reduce) { body:not([data-page=chat]) .primary { transition:none!important; transform:none!important } }
html[data-motion=reduced] body:not([data-page=chat]) .primary { transition:none!important; transform:none!important }
