.shell{height:100dvh;display:grid;grid-template-columns:var(--nav-width) minmax(0,1fr);grid-template-rows:minmax(0,1fr);overflow:hidden}
.sidebar{padding:var(--s3);background:var(--sidebar);border:0;display:flex;flex-direction:column;gap:var(--s4);overflow:hidden;min-height:0}
.sidebar-top{display:flex;align-items:center;justify-content:space-between;gap:var(--s2);min-height:var(--control-size)}
.brand-link{display:flex;align-items:center;gap:var(--s2);min-width:0;text-decoration:none;color:var(--ink);font-size:var(--text-sm);font-weight:600;white-space:nowrap}
.brand-link>.icon{width:var(--s6);height:var(--s6)}
.primary-nav{display:flex;flex-direction:column;gap:var(--s1)}
.button.nav-item{justify-content:flex-start}
.main:focus{outline:none}
.sidebar-history{display:flex;flex-direction:column;min-height:0;flex:1;gap:var(--s2);overflow:hidden}
.sidebar-history h2{font-size:var(--text-xs);font-weight:500;color:var(--muted);padding:var(--s3) var(--s3) 0}
.conversation-list{overflow:auto;min-height:0;scrollbar-width:thin;display:flex;flex-direction:column;gap:var(--s1)}
.conversation-link{display:block;flex-shrink:0;padding:var(--s2) var(--s3);min-height:var(--control-size);border-radius:var(--radius);color:var(--ink);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--text-sm);line-height:24px}
.conversation-link:hover,.conversation-link[aria-current=page]{background:var(--hover);color:var(--ink)}
.sidebar-empty{padding:var(--s3);white-space:pre-line;line-height:1.8}
.workspace{display:flex;flex-direction:column;min-width:0;min-height:0}
.workspace-header{height:var(--header-height);min-height:var(--header-height);padding:var(--s3) var(--s6);display:flex;align-items:center;justify-content:space-between;gap:var(--s4)}
.workspace-title{font-size:var(--text-md);font-weight:500}
.workspace>.main{flex:1;min-height:0;padding:var(--s6) var(--s10) var(--s12);overflow:auto}
.workspace>.main>.content{max-width:1120px;margin-inline:auto}
.workspace>.main--chat{padding:0;overflow:hidden}
.mobile-menu{display:none}
.shell--collapsed{grid-template-columns:var(--rail-width) minmax(0,1fr)}
.shell--collapsed .sidebar{padding:var(--s3);gap:var(--s4)}
.shell--collapsed .brand-link,.shell--collapsed .nav-item span,.shell--collapsed .sidebar-history{display:none}
.shell--collapsed .sidebar>.nav-item{margin-top:auto}
.shell--collapsed .nav-item{padding:var(--s2);width:var(--control-size);justify-content:center}
.history-results{max-height:55dvh;overflow:auto;display:flex;flex-direction:column;gap:var(--s1)}
.history-result{display:flex;flex-direction:column;gap:var(--s1);padding:var(--s3);border-radius:var(--radius);text-decoration:none;color:var(--ink);overflow-wrap:anywhere}
.history-result:hover{background:var(--sidebar)}
.navigation-dialog{margin:0;height:100dvh;max-height:100dvh;width:min(85vw,320px);max-width:none;border-radius:0;padding:var(--s4);background:var(--sidebar);border:0;animation:drawer-in var(--motion-panel) var(--ease-out)}
.navigation-dialog[open]{display:flex;flex-direction:column}
.navigation-dialog .dialog-header{flex-shrink:0;margin-bottom:var(--s4)}
.navigation-dialog .dialog-header h2{font-size:var(--text-md)}
.drawer-content{display:flex;flex-direction:column;gap:var(--s4);min-height:0;flex:1}
body:has(.navigation-dialog[open]){overflow:hidden}
.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}
@keyframes drawer-in{from{transform:translateX(-100%)}to{transform:translateX(0)}}
@media(max-width:767px){
  .shell,.shell--collapsed{grid-template-columns:minmax(0,1fr);grid-template-rows:minmax(0,1fr)}
  .shell>.sidebar{display:none}
  .mobile-menu{display:inline-flex}
  .workspace-header{padding:var(--s3);height:var(--header-height)}
  .workspace-header>.cluster{gap:var(--s2)}
  .workspace>.main{padding:var(--s4) var(--s4) var(--s8)}
  .workspace>.main--chat{padding:0}
}
@media(prefers-reduced-motion:reduce){.navigation-dialog{animation:none}}
