/* Loaded after the phone styles. Navigation visibility never changes workout data. */
.nav-toggle { flex-shrink:0;min-width:44px!important;width:44px;min-height:44px!important;height:44px;border-radius:9px; }
.nav-toggle:hover { background:#edf2fb; }
.nav-toggle[aria-expanded="false"] { color:#3268e8;background:#edf2ff; }
.nav-toggle svg { width:21px;height:21px; }
.nav-close { display:none; }
#nav-backdrop { position:fixed;inset:0;z-index:90;border:0;padding:0;margin:0;background:#10203966;backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px);cursor:pointer; }
#nav-backdrop[hidden] { display:none!important; }
html[data-nav-mode="desktop"] #primary-navigation { transition:transform .18s ease,visibility .18s; }
html[data-nav-mode="desktop"][data-nav-hidden="true"] #primary-navigation { transform:translateX(-100%);visibility:hidden;pointer-events:none; }
html[data-nav-mode="desktop"][data-nav-hidden="true"] .workspace { margin-left:0; }

/* Tablets gain the full content width and reveal their drawer explicitly. */
html[data-nav-mode="tablet"] .workspace { margin-left:0; }
html[data-nav-mode="tablet"] #primary-navigation {
 inset:0 auto 0 0;width:min(286px,calc(100vw - 64px));height:100vh;height:100dvh;max-height:100dvh;
 padding:calc(12px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) max(18px,env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px));
 z-index:100;overflow-y:auto;overscroll-behavior-y:contain;transform:translateX(-102%);visibility:hidden;pointer-events:none;
 transition:transform .18s ease,visibility .18s;box-shadow:12px 0 36px #0a183a26;
}
html[data-nav-mode="tablet"][data-nav-hidden="false"] #primary-navigation { transform:translateX(0);visibility:visible;pointer-events:auto; }
html[data-nav-mode="tablet"] .nav-close { display:inline-flex;justify-content:center;align-items:center;gap:14px;align-self:flex-end;min-width:92px;min-height:44px;margin:0 0 10px;padding:10px 13px;border:1px solid #415271;border-radius:8px;background:#223149;color:#f1f5ff;font-size:12px; }
html[data-nav-mode="tablet"] .nav-close span { font-size:23px;line-height:1; }
html[data-nav-mode="tablet"] .sidebar-bottom { padding-top:24px; }
@media (min-width:651px) and (max-width:980px) {
 /* Prevent a closed tablet sidebar flashing before its module initializes. */
 html:not([data-nav-mode]) #primary-navigation { transform:translateX(-102%);visibility:hidden; }
 html:not([data-nav-mode]) .workspace { margin-left:0; }
}

@media (max-width:650px), (max-width:980px) and (max-height:600px) and (pointer:coarse) {
 html[data-nav-mode="phone"][data-nav-hidden="true"] { --phone-nav-height:0px;scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px); }
 html[data-nav-mode="phone"][data-nav-hidden="true"] #primary-navigation { transform:translateY(110%);visibility:hidden;pointer-events:none; }
 html[data-nav-mode="phone"] .workspace { margin:0; }
 html[data-nav-mode="phone"][data-nav-hidden="true"] .workspace,
 html[data-nav-mode="phone"][data-keyboard-open="true"] .workspace { padding-bottom:calc(env(safe-area-inset-bottom,0px) + 16px); }
 html[data-nav-mode="phone"][data-keyboard-open="true"] { scroll-padding-bottom:calc(env(safe-area-inset-bottom,0px) + 24px); }
}
@media (prefers-reduced-motion:reduce) {
 html[data-nav-mode] #primary-navigation { transition:none; }
 #nav-backdrop { backdrop-filter:none;-webkit-backdrop-filter:none; }
}
