/* Approved Amply v2 navigation geometry, Home only. */
.portal-brand{height:152px;min-height:152px}
.portal-expanded-brand{top:34px}
.portal-animated-brand .portal-compact-logo{top:56px}
.portal-collapse{top:130px;min-width:44px;min-height:44px;right:-22px}
.portal-nav{padding:0 12px;display:flex;flex-direction:column;gap:8px}
.portal-bottom{padding:16px 12px;display:flex;flex-direction:column;gap:8px}
.portal-sidebar .portal-menu-button,.portal-sidebar:has(.portal-animated-brand) .portal-menu-button,.portal-sidebar.expanded:has(.portal-animated-brand) .portal-menu-button{height:48px;min-height:48px;margin:0;padding:12px;flex-shrink:0;color:var(--home-menu-color,var(--home-nav-foreground,#1f1f1f))}
.portal-root[data-theme=dark]{--home-nav-foreground:#fff}
.portal-menu-button svg{width:24px;height:24px;flex:0 0 24px;stroke-width:1.75}
.portal-sidebar .portal-menu-button[aria-current=page]{--home-menu-color:#ff7a00;color:#ff7a00;background:rgba(255,122,0,.12);font-weight:600;box-shadow:inset 3px 0 #ff7a00}
.portal-topbar button{min-height:44px}

.portal-sidebar:not(.expanded):has(.portal-animated-brand) .portal-menu-button{justify-content:center}

/* Theme-scoped foreground beats the shared animated-layout selectors in every state. */
.portal-root[data-theme] .portal-sidebar .portal-menu-button{
  --home-menu-color:var(--portal-text);
  color:var(--home-menu-color);
}
.portal-root[data-theme] .portal-sidebar .portal-menu-button:hover,
.portal-root[data-theme] .portal-sidebar .portal-menu-button[aria-current=page]{
  --home-menu-color:var(--portal-accent-text);
  color:var(--home-menu-color);
  background:var(--portal-accent);
}
.portal-root[data-theme] .portal-sidebar .portal-menu-button .portal-menu-label,
.portal-root[data-theme] .portal-sidebar .portal-menu-button svg{color:inherit}
.portal-root[data-theme] .portal-sidebar .portal-menu-button:disabled{
  color:var(--portal-muted);opacity:1;cursor:not-allowed;
}
.portal-root[data-theme] .portal-main{transition:margin-left 300ms cubic-bezier(.4,0,.2,1)}
/* Desktop expansion reserves real space; narrow screens retain a dismissible overlay. */
@media(min-width:801px){
  .portal-root .portal-sidebar.expanded~.portal-main{margin-left:272px}
  .portal-root .portal-backdrop{display:none}
}
@media(max-width:800px){
  .portal-root .portal-main{margin-left:80px}
  .portal-root .portal-sidebar.expanded~.portal-backdrop{display:block;background:#0006}
}
@media(prefers-reduced-motion:reduce){.portal-root[data-theme] .portal-main{transition:none}}
