/* Maple ID · header + slide-out menu (see maple-shell.js). Uses the design tokens, so it follows light/dark. */

/* ── header: only the menu, the brand, messages, Studio and the mode switch ── */
.topbar{align-items:center}
.topbar .brand{margin-right:auto;min-width:0}
.tb-end{margin-left:auto;gap:8px}
#nav-actions{display:flex;align-items:center;gap:8px}
/* everything else moved into the menu */
#nav-actions a.nav-link,#nav-actions [data-auth=login]{display:none!important}

.sh-burger,.pm-btn{position:relative;width:38px;height:38px;flex:none;display:grid;place-items:center;padding:0;border-radius:50%;
  border:1px solid var(--line);background:var(--panel-solid,var(--panel));color:var(--text);cursor:pointer;box-shadow:var(--shadow-sm);
  transition:transform .2s var(--ease),border-color .2s}
.sh-burger:hover,.pm-btn:hover{border-color:var(--line-strong)}
.sh-burger:active,.pm-btn:active{transform:scale(.92)}
.sh-burger:focus-visible,.pm-btn:focus-visible,.sh-x:focus-visible,.sh-item:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.sh-burger svg,.pm-btn svg{width:20px;height:20px}
.sh-burger{margin-left:-4px}
.sh-pip{position:absolute;top:6px;right:6px;width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 2px var(--panel-solid,var(--panel))}
.pm-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--accent);color:var(--on-accent,#fff);
  font:700 10px/18px var(--mono,monospace);text-align:center;box-shadow:0 0 0 2px var(--bg)}
.sh-burger [hidden],.pm-btn [hidden]{display:none}

@media (max-width:359px){
  .topbar{gap:8px}
  .topbar .brand{font-size:0;gap:0}
  .tb-end,#nav-actions{gap:6px}
}

/* ── drawer ── */
.sh-scrim{position:fixed;inset:0;z-index:4000;background:var(--scrim);opacity:0;visibility:hidden;touch-action:none;
  transition:opacity .28s var(--ease-io),visibility 0s .28s}
.sh-scrim.open{opacity:1;visibility:visible;transition:opacity .28s var(--ease-io),visibility 0s}
.sh-drawer{position:fixed;top:0;bottom:0;left:0;z-index:4001;width:min(86vw,320px);display:flex;flex-direction:column;
  padding:calc(env(safe-area-inset-top,0px) + 14px) 14px calc(env(safe-area-inset-bottom,0px) + 16px);
  background:var(--panel-solid,var(--panel));border-right:1px solid var(--line);box-shadow:var(--shadow);
  transform:translate3d(-104%,0,0);visibility:hidden;transition:transform .32s var(--ease),visibility 0s .32s;overscroll-behavior:contain}
.sh-drawer.open{transform:none;visibility:visible;transition:transform .32s var(--ease),visibility 0s}
.sh-drawer.dragging{transition:none}
html.sh-open{overflow:hidden}

.sh-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:2px 2px 14px;border-bottom:1px solid var(--line)}
.sh-brand{margin:0;font-size:19px}
.sh-x{width:38px;height:38px;display:grid;place-items:center;border-radius:50%;border:1px solid var(--line);background:var(--bg-2);color:var(--text);cursor:pointer;padding:0}
.sh-x svg{width:18px;height:18px}

.sh-nav{flex:1;overflow-y:auto;padding:6px 0 10px;scrollbar-width:none}.sh-nav::-webkit-scrollbar{display:none}
.sh-sec{margin:16px 10px 6px;font:600 11px var(--mono,monospace);letter-spacing:.16em;text-transform:uppercase;color:var(--dim)}
.sh-item{display:flex;align-items:center;gap:14px;width:100%;min-height:46px;padding:0 12px;border:0;border-radius:14px;background:none;color:var(--text);
  font:600 15px var(--sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color .15s,color .15s}
.sh-item i{width:22px;text-align:center;font-size:16px;color:var(--muted);transition:color .15s}
.sh-item span{flex:1;min-width:0}
.sh-item:hover{background:var(--bg-2)}
.sh-item:active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-2))}
.sh-item.on{background:color-mix(in srgb,var(--accent) 14%,transparent);color:var(--accent-t)}
.sh-item.on i{color:var(--accent-t)}
.sh-badge{min-width:22px;height:22px;padding:0 7px;border-radius:999px;background:var(--accent);color:var(--on-accent,#fff);font:700 11px/22px var(--mono,monospace);text-align:center}
.sh-badge[hidden]{display:none}
.sh-foot{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--line)}
.sh-foot .btn{width:100%}
.sh-out i{color:var(--bad)}
.sh-out{color:var(--bad)}

@media (min-width:900px){.sh-drawer{width:340px}}
@media (prefers-reduced-motion:reduce){.sh-drawer,.sh-scrim{transition-duration:.01ms!important}}
