/* The same dismissible navigation drawer on phones and desktops. */
.app-shell{grid-template-columns:minmax(0,1fr)}
.sidebar{position:fixed;inset:0 auto 0 0;width:min(280px,86vw);height:100dvh;z-index:80;transform:translateX(-100%);visibility:hidden;transition:transform .2s ease,visibility .2s;overflow-y:auto;overscroll-behavior:contain;padding-top:52px;box-shadow:12px 0 40px #0007}
.sidebar.open{transform:translateX(0);visibility:visible}
.menu-btn{display:grid;place-items:center;min-width:44px;min-height:44px;flex:0 0 44px}
.sidebar-backdrop{position:fixed;inset:0;z-index:79;background:#0009;border:0;cursor:pointer;backdrop-filter:blur(2px)}
.sidebar-close{position:absolute;top:10px;right:12px;width:36px;height:36px;display:grid;place-items:center;border:1px solid #343941;border-radius:8px;background:#15181d;color:#fff;font-size:24px;cursor:pointer}
.sidebar-close:focus-visible,.menu-btn:focus-visible{outline:2px solid #ff5965;outline-offset:3px}
body.sidebar-open{overflow:hidden}
html.sidebar-open{overflow:hidden;overscroll-behavior:none}
body.sidebar-open .app-shell>main{pointer-events:none;user-select:none}
.sidebar{touch-action:pan-y;-webkit-overflow-scrolling:touch}
.sidebar-backdrop{touch-action:none}
@media(prefers-reduced-motion:reduce){.sidebar{transition:none}}
