.shell { min-height: 100vh; display: grid; grid-template: var(--topbar) 1fr / var(--rail) var(--sidebar) minmax(440px, 1fr) var(--inspector); }
.shell.inspector-collapsed { --inspector:0px; grid-template-columns:var(--rail) var(--sidebar) minmax(440px,1fr); }
.shell.inspector-collapsed .inspector { display:none; }
.topbar {
  grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; padding: 0 18px;
  border-bottom: 1px solid var(--line); background: var(--topbar-bg); backdrop-filter: blur(18px); position: sticky; top: 0; z-index: 20;
}
.brand { display: flex; align-items: center; width: calc(var(--rail) + var(--sidebar) - 20px); font-family:var(--headline); font-size:12px; font-weight:650; letter-spacing:.045em; }
.workspace-title { display:flex; align-items:center; gap:9px; min-width:0; height:34px; padding:0 9px; margin-left:-9px; border-radius:8px; background:transparent; color:inherit; text-align:left; transition:background .16s ease; }
.workspace-title:hover { background:var(--panel); }
.workspace-title[aria-expanded="true"] { background:var(--panel-strong); }
.crumb-sep,.crumb-caret { display:flex; flex:0 0 auto; color:var(--muted); }
.crumb-sep .icon,.crumb-caret .icon { width:14px; height:14px; }
.workspace-title strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 480; letter-spacing:.004em; }
.top-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.rail { grid-row: 2; position:sticky; top:var(--topbar); align-self:start; height:calc(100vh - var(--topbar)); border-right: 1px solid var(--line); padding: 12px 8px; display: flex; flex-direction: column; align-items: center; gap: 7px; background: var(--chrome); }
.rail-bottom { margin-top: auto; display: grid; gap: 7px; }
.sidebar { grid-row: 2; position:sticky; top:var(--topbar); align-self:start; height:calc(100vh - var(--topbar)); overflow:auto; border-right: 1px solid var(--line); background: var(--bg-raised); padding: 19px 12px; min-width: 0; }
.main { grid-row: 2; min-width: 0; background: var(--bg); }
.document { width: min(780px, calc(100% - 64px)); margin: 0 auto; padding: 54px 0 210px; }
.inspector { grid-row: 2; position:sticky; top:var(--topbar); align-self:start; height:calc(100vh - var(--topbar)); border-left: 1px solid var(--line); background: var(--bg-raised); padding: 20px 18px; overflow: auto; }
.mobile-overlay { display: none; }

.shell { width:var(--site-width); margin-inline:auto; }
.topbar { padding-inline:0; }
