/* Only the shared header menu uses these classes; /tg/ receives no new markup. */
header.nav .nav-links {align-items:center;gap:3px}
header.nav .nav-group {position:relative;min-width:0}
header.nav .nav-group summary {display:flex;align-items:center;gap:4px;padding:9px 10px;border-radius:18px;color:#b9b9c7;font-family:inherit;font-weight:700;font-size:13px;line-height:1.45;cursor:pointer;list-style:none;white-space:nowrap}
header.nav .nav-group summary::-webkit-details-marker {display:none}
header.nav .nav-group summary:focus-visible,
header.nav .nav-links a:focus-visible {outline:2px solid #ff6b9c;outline-offset:3px}
header.nav .nav-group[open]>summary {color:#fff;background:rgba(255,255,255,.09)}
header.nav .nav-pop {position:absolute;top:calc(100% + 8px);left:0;z-index:140;display:flex;flex-direction:column;gap:3px;min-width:250px;max-width:min(380px,90vw);padding:9px;border:1px solid rgba(255,255,255,.14);border-radius:16px;background:#1a1a27;box-shadow:0 15px 40px #0006}
header.nav .nav-group:not([open])>.nav-pop {display:none}
header.nav .nav-pop a {display:block;white-space:normal;line-height:1.55;border-radius:10px}
header.nav .nav-pop small {display:block;margin-top:4px;color:#b9b9c7;font-size:12px;font-weight:400}
header.nav [data-nav-group="plans"] .nav-pop {left:auto;right:0}
header.nav .nav-paid-help {display:none}
@media(max-width:900px) {
  header.nav .nav-links {align-items:stretch}
  header.nav .nav-group summary {padding:13px 14px;font-size:15px;border-radius:12px}
  header.nav .nav-pop,
  header.nav [data-nav-group="plans"] .nav-pop {position:static;min-width:0;max-width:none;margin:3px 0 6px;padding:4px;border-radius:12px;box-shadow:none}
  header.nav .nav-pop a {padding:12px;font-size:14px}
  header.nav .nav-paid-help {display:block;border:1px solid #ff6b9c66;border-radius:12px;background:#ff2e7314}
  header.nav .nav-paid-help a {display:block;color:#ffd1e1;white-space:normal}
}
/* No-JS fallback: leave the real links in ordinary document flow. Only when scripting is off --
   with JS the links would render in flow until i18n.initHamburger assigns the id and builds the
   drawer, and the header collapsing from ~406px to 67px was a large mobile layout shift (CLS
   0.37-0.64, measured 2026-10-25 by claude-93). */
@media (max-width:900px) and (scripting:none) {
  header.nav:has(.nav-links:not([id])) {position:relative}
  header.nav .nav-in:has(.nav-links:not([id])) {flex-wrap:wrap}
  header.nav .nav-links:not([id]) {position:static;order:3;flex:1 0 100%;width:100%;max-height:none;transform:none;padding:8px 0;background:transparent;box-shadow:none;overflow:visible}
}
