/* The desktop tree keeps its existing layout; the root-route shortcut belongs only to the mobile sheet. */
.sidebar .mobile-nav-root{display:none}

@media(max-width:600px){
  body.mobile-nav-sheet-open .sidebar{z-index:120}
  .sidebar .nav-primary .nav-group>.nav-parent::after{
    content:'⌄';position:absolute;right:3px;top:2px;display:grid;place-items:center;
    width:15px;height:15px;border-radius:50%;background:var(--surface-soft);
    color:var(--muted);font-size:12px;line-height:1;pointer-events:none;
  }
  .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-parent::after{content:'⌃';background:var(--glass);color:var(--ink)}
  body.mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]){
    display:grid;z-index:121;grid-template-columns:repeat(2,minmax(0,1fr));
    max-height:min(calc(100dvh - 110px - env(safe-area-inset-bottom,0px)),420px);
    overflow-y:auto;overscroll-behavior:contain;
  }
  .sidebar .nav-primary .nav-submenu>.mobile-nav-root{
    grid-column:1/-1;display:flex;align-items:center;justify-content:center;
    width:100%;min-width:0;min-height:44px;margin:0 0 4px;padding:9px 12px;
    border:1px solid var(--glass-edge);border-radius:12px;background:var(--surface);
    box-shadow:0 2px 9px #29466d12;color:var(--ink);font-size:13px;font-weight:600;
  }
  .sidebar .nav-primary .nav-submenu>.mobile-nav-root:is(:hover,:active,:focus-visible){background:var(--glass);box-shadow:inset 0 0 0 1px var(--glass-edge),0 3px 12px #29466d16}
}

@media(forced-colors:active){
  .sidebar .nav-primary .nav-group>.nav-parent::after{border:1px solid ButtonText}
  .sidebar .nav-primary .nav-submenu>.mobile-nav-root{border:1px solid ButtonText}
}

/* Mobile sheets keep their geometry and controls; the theme surface blocks text bleed. */
@media(max-width:600px){
  body.mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]),
  .sidebar .sidebar-bottom .nav-group[data-nav-group=more]>.nav-submenu:not([hidden]){
    background:var(--surface);
    background:color-mix(in srgb,var(--surface) 94%,transparent);
    backdrop-filter:blur(28px) saturate(145%);
    -webkit-backdrop-filter:blur(28px) saturate(145%);
  }
  body[data-clear=true].mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]),
  body[data-clear=true] .sidebar .sidebar-bottom .nav-group[data-nav-group=more]>.nav-submenu:not([hidden]){
    background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;
  }
  @supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
    body.mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]),
    .sidebar .sidebar-bottom .nav-group[data-nav-group=more]>.nav-submenu:not([hidden]){background:var(--surface)}
  }
}
@media(max-width:600px) and (prefers-reduced-transparency:reduce){
  body.mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]),
  .sidebar .sidebar-bottom .nav-group[data-nav-group=more]>.nav-submenu:not([hidden]){
    background:var(--surface);backdrop-filter:none;-webkit-backdrop-filter:none;
  }
}
@media(max-width:600px) and (forced-colors:active){
  body.mobile-nav-sheet-open .sidebar .nav-primary .nav-group.mobile-nav-open>.nav-submenu:not([hidden]),
  .sidebar .sidebar-bottom .nav-group[data-nav-group=more]>.nav-submenu:not([hidden]){
    background:Canvas;color:CanvasText;border-color:CanvasText;
    backdrop-filter:none;-webkit-backdrop-filter:none;box-shadow:none;
  }
}
