.runtime-menu-root { scrollbar-gutter: stable; }
.runtimeMenuToggle[hidden], .runtimeMenuControls .btn[hidden], .runtimeMenuBackdrop[hidden] { display: none; }
.runtimeMenuToggle { flex: 0 0 auto; min-height: 44px; min-width: 88px; }
.runtimeMenuControls { display: grid; grid-template-columns: 30px 30px; justify-content: end; gap: 4px; margin-bottom: 8px; flex: 0 0 auto; }
.runtimeMenuControls .btn { display: flex; align-items: center; justify-content: center; width: 30px; height: 30px; min-width: 0; min-height: 0; padding: 0; border: 0; border-radius: 6px; color: var(--muted); background: transparent; box-shadow: none; }
.runtimeMenuControls .btn:hover { color: var(--text); background: var(--border); }
.runtimeMenuControls .btn svg { width: 16px; height: 16px; flex: 0 0 16px; }
.runtimeMenuPin { grid-column: 1; }
.runtimeMenuClose { grid-column: 2; }
.runtimeMenuPinIcon { transform: rotate(35deg); }
.runtimeMenuPin[aria-pressed="true"] .runtimeMenuPinIcon { transform: none; }
.runtimeMenuBackdrop { position: fixed; inset: 0; z-index: 39; border: 0; background: rgba(0,0,0,.45); cursor: pointer; }
body.runtime-menu-open { overflow: hidden; }
.runtimeMenuToggle:focus-visible, .runtimeMenuControls .btn:focus-visible, .sidebar .sideItem:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
body.runtime-menu-ready.desktop-user .sidebar {
    position: fixed; inset: 0 auto 0 0; z-index: 40;
    display: flex; width: min(260px, 85vw); min-width: 0; max-width: none;
    height: 100dvh; box-sizing: border-box;
    padding: max(10px, env(safe-area-inset-top)) 8px max(10px, env(safe-area-inset-bottom));
    background: var(--bg); box-shadow: 6px 0 24px rgba(0,0,0,.25);
    overflow-y: auto; overscroll-behavior: contain;
    transform: translateX(-100%); visibility: hidden;
    transition: transform .18s ease, visibility .18s;
}
body.runtime-menu-ready.runtime-menu-open .sidebar { transform: translateX(0); visibility: visible; }
body.runtime-menu-ready.runtime-menu-pinned .sidebar {
    position: sticky; top: 0; inset-inline: auto;
    flex: 0 0 260px; width: 260px; min-width: 260px; max-width: 260px;
    transform: none; visibility: visible; box-shadow: none; transition: none;
}
body.runtime-menu-ready.runtime-mobile-user .sidebar,
body.runtime-menu-ready.runtime-login-mode .sidebar { display: none; }
@media (min-width: 1200px) {
    body.runtime-menu-ready.runtime-menu-pinned .layout { display: flex; }
}
@media (prefers-reduced-motion: reduce) {
    body.runtime-menu-ready.desktop-user .sidebar { transition: none; }
}
