/* PWN-ALL site chrome (language switcher + burger menu). Shared by every page.
   Source of the markup: static-web/chrome/chrome.html -> node scripts/apply_chrome.mjs */
.pwnc{ --c-bg:#f6f8fc; --c-surface:#ffffff; --c-text:#0b1220; --c-body:#3a4a63; --c-muted:#566480; --c-line:#e2e8f1; --c-line-strong:#d4dce8; --c-hover:rgba(50,50,50,.08); }
@media (prefers-color-scheme: dark){ .pwnc{ --c-bg:#16171a; --c-surface:#1d1f23; --c-text:#e7e8ec; --c-body:#b2b7bf; --c-muted:#9aa0aa; --c-line:#232529; --c-line-strong:#2c2f36; --c-hover:rgba(255,255,255,.08); } }
.pwnc, .pwnc *{ box-sizing:border-box; }
.pwnc-stack{ position:fixed; bottom:22px; right:22px; z-index:2147483000; display:flex; flex-direction:column; gap:8px; font-family:'Inter',system-ui,sans-serif; }
.pwnc-stack button{ appearance:none; width:46px; height:46px; border-radius:14px; display:flex; align-items:center; justify-content:center; cursor:pointer; color:var(--c-text); background:color-mix(in srgb, var(--c-bg) 74%, transparent); -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px); border:1px solid var(--c-line); box-shadow:0 10px 26px -12px rgba(11,18,32,.45); transition:color .18s ease, border-color .18s ease; }
.pwnc-stack button:hover{ border-color:var(--c-line-strong); }
.pwnc-menu, .pwnc-lang{ position:fixed; z-index:2147483001; margin:0; padding:7px; border-radius:14px; background:var(--c-surface); border:1px solid var(--c-line); box-shadow:0 20px 46px -18px rgba(11,18,32,.5); opacity:0; transform:translateY(12px) scale(.96); transform-origin:bottom right; pointer-events:none; transition:opacity .2s ease, transform .2s ease; font-family:'Inter',system-ui,sans-serif; }
.pwnc-menu{ inset:auto 76px 22px auto; flex-direction:column; gap:3px; }
.pwnc-lang{ inset:auto 76px 76px auto; width:212px; max-height:56vh; overflow-y:auto; overscroll-behavior:contain; transform:translateY(8px) scale(.98); }
.pwnc-menu:popover-open{ display:flex; opacity:1; transform:none; pointer-events:auto; }
.pwnc-lang:popover-open{ opacity:1; transform:none; pointer-events:auto; }
@starting-style{
  .pwnc-menu:popover-open{ opacity:0; transform:translateY(12px) scale(.96); }
  .pwnc-lang:popover-open{ opacity:0; transform:translateY(8px) scale(.98); }
}
.pwnc-menu a{ color:var(--c-muted); display:flex; align-items:center; gap:10px; padding:9px 16px 9px 11px; border-radius:9px; font:600 13px/1 'Inter',sans-serif; white-space:nowrap; text-decoration:none; transition:background .16s ease, color .16s ease; }
.pwnc-menu a:hover{ color:var(--c-text); background:var(--c-hover); }
.pwnc-row{ display:flex; align-items:center; gap:9px; width:100%; padding:9px 11px; border-radius:9px; color:var(--c-body); font:600 13px/1.1 'Inter',system-ui,sans-serif; text-align:left; text-decoration:none; transition:background .15s ease, color .15s ease; }
.pwnc-row:hover{ background:var(--c-hover); color:var(--c-text); }
.pwnc-row .lc{ margin-left:auto; font:600 10px/1 ui-monospace, SFMono-Regular, Menlo, Consolas,monospace; letter-spacing:.04em; text-transform:uppercase; color:var(--c-muted); }
.pwnc-row.on{ color:var(--c-text); }
.pwnc-row.on .chk{ width:15px; height:15px; margin-left:auto; }
.pwnc-row.on .lc{ margin-left:8px; }
/* desktop hover open/close: .15s open intent, .2s close linger bridges the gap */
@media (hover:hover){
  .pwnc-menu, .pwnc-lang{ pointer-events:auto; transition:opacity .2s ease, transform .2s ease, display .2s allow-discrete, overlay .2s allow-discrete; }
  .pwnc-menu:not(:popover-open), .pwnc-lang:not(:popover-open){ transition-delay:.2s; }
  body:has(.pwnc-btn-menu:hover) .pwnc-menu, .pwnc-menu:hover{ display:flex; opacity:1; transform:none; transition-delay:.15s; }
  body:has(.pwnc-btn-lang:hover) .pwnc-lang, .pwnc-lang:hover{ display:block; opacity:1; transform:none; transition-delay:.15s; }
  .pwnc-menu:hover, .pwnc-lang:hover{ transition-delay:0s; }
  @starting-style{
    body:has(.pwnc-btn-menu:hover) .pwnc-menu, .pwnc-menu:hover{ opacity:0; transform:translateY(12px) scale(.96); }
    body:has(.pwnc-btn-lang:hover) .pwnc-lang, .pwnc-lang:hover{ opacity:0; transform:translateY(8px) scale(.98); }
  }
}
