  .gwrap { position:relative; display:inline-block; width:172px; height:40px; flex:none; cursor:pointer;
    user-select:none; -webkit-tap-highlight-color:transparent; }
  .gwrap:focus-visible { outline:2px solid var(--ink); outline-offset:3px; border-radius:999px; }
  .hapsw { position:fixed; top:0; left:0; width:1px; height:1px; opacity:0; pointer-events:none; }
  .gskin { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:8px;
    background:var(--ink); color:#fff; font-size:13px; font-weight:700; border-radius:999px;
    transition:box-shadow .15s ease; }
  .gskin svg { width:17px; height:17px; flex:none; }
  .gwrap:hover .gskin, .gwrap:active .gskin { box-shadow:0 0 0 2px var(--brand) inset; }    
  .gwrap.dormant { cursor:default; }
  .gwrap.dormant .gskin { opacity:.45; }

  body.auth-pending .gwrap { visibility:hidden; }
  .gwrap.member { width:auto; }
  .gwrap.member .gskin { position:static; height:40px; padding:0 18px 0 9px; }
  .gwrap.member .gskin img { width:26px; height:26px; border-radius:50%; flex:none; }

  .nav { position:sticky; top:6px; z-index:150; margin:6px clamp(10px,1.4vw,16px) 0;
    background:var(--card); border:1px solid var(--border); border-radius:clamp(14px,1.6vw,20px);
    padding:5px clamp(18px,3.6vw,36px); display:flex; align-items:center; flex-wrap:wrap; row-gap:8px; box-sizing:border-box;
    transition:transform .38s cubic-bezier(.22,.61,.36,1); }
@media (prefers-reduced-motion:reduce) { .nav { transition:none; }
}
  .nav .wm { font-size:18px; transform-origin:left center; }
  .nav-links { display:flex; align-items:center; gap:clamp(14px,2.4vw,26px); flex-wrap:wrap; row-gap:6px; margin-left:auto; }
  .nav-links a { font-size:14px; color:var(--ink); font-weight:600; text-decoration:none; text-underline-offset:6px; }
  .nav-links a:hover { color:var(--ink); text-decoration:underline; text-decoration-color:var(--brand); text-decoration-thickness:2px; }
  .nav-links a.is-cur { text-decoration:underline; text-decoration-color:var(--brand); text-decoration-thickness:2px; }
  .nav-side { display:flex; align-items:center; gap:8px; margin-left:clamp(14px,2.4vw,26px); }
  .nav-menu-btn { display:none; width:40px; height:40px; flex:none; align-items:center; justify-content:center;
    background:rgba(255,255,255,.44); border:1px solid rgba(255,255,255,.6); border-radius:999px; cursor:pointer; padding:0; }
  .nav-menu-btn svg { width:18px; height:18px; fill:var(--ink); }
  .nav-menu-btn rect { transform-box:fill-box; transform-origin:center; transition:transform .22s cubic-bezier(.3,.7,.3,1.2); }
  .nav-menu-btn .l2 { transform:scaleX(.62); }
  .nav.menu-open .nav-menu-btn .l1 { transform:translateY(2px) rotate(45deg); }
  .nav.menu-open .nav-menu-btn .l2 { transform:translateY(-2px) rotate(-45deg) scaleX(1); }
  .nav-scrim { position:fixed; inset:0; z-index:149; display:none; }
  .nav-scrim.on { display:block; }
@media (min-width:641px) { .nav-scrim { display:none !important; }
}
@media (max-width:640px) {
    .nav { margin:6px 10px 0; padding:5px 8px 5px 12px; border-radius:14px; }
    .nav .wm { display:inline-flex; align-items:center; font-size:15px; min-height:40px; }    
    .nav-links { display:flex; position:absolute; top:calc(100% + 8px); left:0; right:0; margin-left:0;
      flex-direction:column; align-items:stretch; gap:2px; padding:8px;
      background:var(--card); border:1px solid var(--border); border-radius:16px;
      box-shadow:0 14px 36px rgba(10,10,10,.16);
      opacity:0; transform:translateY(-6px) scale(.98); transform-origin:top center; pointer-events:none;
      transition:opacity .22s ease, transform .3s cubic-bezier(.2,.9,.3,1.06); }
    .nav.menu-open .nav-links { opacity:1; transform:none; pointer-events:auto; }
    .nav-links a { font-size:15px; padding:12px 14px; border-radius:10px;
      opacity:0; transform:translateY(-5px); transition:opacity .22s ease, transform .22s ease; }
    .nav.menu-open .nav-links a { opacity:1; transform:none; }
    .nav.menu-open .nav-links a:nth-child(1) { transition-delay:.04s; }
    .nav.menu-open .nav-links a:nth-child(2) { transition-delay:.08s; }
    .nav.menu-open .nav-links a:nth-child(3) { transition-delay:.12s; }
    .nav.menu-open .nav-links a:nth-child(4) { transition-delay:.16s; }
    .nav-links a:hover, .nav-links a:active { background:var(--bg); text-decoration:none; }
    .nav-side { margin-left:auto; }
    .nav-menu-btn { display:inline-flex; }
}

.nav { background: rgba(247,246,242,.15); border-color: transparent; border-radius: 999px;
    box-shadow:
      0 0 0 1px rgba(10,10,10,.06),
      inset 0 0 0 1.2px rgba(255,255,255,.45),
      inset 0 1.5px 0 rgba(255,255,255,.65),
      inset 0 -1px 0 rgba(255,255,255,.30),
      inset 1px 0 0 rgba(255,255,255,.34),
      inset -1px 0 0 rgba(255,255,255,.34),
      inset 0 0 14px rgba(255,255,255,.14); }    
  .nav::after { content:''; position:absolute; inset:0; border-radius:inherit; pointer-events:none;
    background: linear-gradient(135deg, rgba(255,255,255,.26) 0%, rgba(255,255,255,0) 34%,
      rgba(255,255,255,0) 66%, rgba(255,255,255,.16) 100%); }
  .nav { position: sticky; }    
  .nav.menu-open { border-radius: 20px; }    
  .nav.glass-frost { -webkit-backdrop-filter: saturate(1.35); backdrop-filter: saturate(1.35); }    
