/* Noctis group chrome. Self-contained, fixed palette, nx- namespaced.
   Scope: #noctis-chrome (top bar) and .noctis-foot (footer strip). No em-dashes.
   Vendored verbatim from hub-sites/_gen/chrome-dist/noctis-chrome.css (2026-07-08),
   only the footer (.noctis-foot) rules are actually used on this front (no top bar). */
#noctis-chrome,.noctis-foot{
  --nx-accent:#7c83ff;--nx-accent2:#aab0ff;--nx-text:#eef0fb;--nx-muted:#9a9cc4;
  --nx-soft:#c7c9ea;--nx-line:#2a2a46;--nx-card:#15152b;--nx-bg:#0a0a16;--nx-bg2:#0d0d1a;
  --nx-glow:124,131,255;--nx-bar-h:34px;
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  -webkit-font-smoothing:antialiased;text-align:left;box-sizing:border-box}
#noctis-chrome *,.noctis-foot *{box-sizing:border-box}
#noctis-chrome a,.noctis-foot a{text-decoration:none}

#noctis-chrome .nx-sw,.noctis-foot .nx-sw{display:inline-flex;align-items:center;gap:7px;
  color:var(--nx-muted);padding:4px 11px;border-radius:999px;font-size:12.5px;font-weight:600;
  border:1px solid transparent;transition:color .15s,background .15s,border-color .15s}
#noctis-chrome .nx-sw .nx-dot,.noctis-foot .nx-sw .nx-dot{width:7px;height:7px;border-radius:50%;
  background:var(--c,currentColor);box-shadow:0 0 7px var(--c,transparent);flex:0 0 auto}
#noctis-chrome .nx-sw:hover,.noctis-foot .nx-sw:hover{color:var(--c2,var(--nx-text));
  background:rgba(255,255,255,.05)}

/* ---- footer group tree ---- */
.noctis-foot{background:linear-gradient(180deg,rgba(8,8,16,.6),rgba(8,8,16,.85));
  border-top:1px solid var(--nx-line);color:var(--nx-soft);padding:14px 0}
.noctis-foot .nx-fin{max-width:1120px;margin:0 auto;padding:0 20px;display:flex;flex-wrap:wrap;
  gap:14px;align-items:flex-start}
.noctis-foot .nx-flab{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;
  color:var(--nx-muted);font-weight:600;margin-right:6px;margin-top:6px}
.noctis-foot .nx-flinks{display:flex;flex-wrap:wrap;align-items:flex-start}
.noctis-foot .nx-ftree{display:flex;flex-direction:column;gap:8px}
.noctis-foot .nx-ftbranch{display:flex;flex-direction:column;gap:5px}
.noctis-foot .nx-ftsubs{display:flex;flex-direction:column;gap:4px;margin-left:13px;padding-left:13px;
  border-left:1px solid color-mix(in srgb,var(--c,var(--nx-line)) 35%,var(--nx-line))}
.noctis-foot .nx-sw{border:1px solid var(--nx-line);background:rgba(var(--nx-glow),.05);align-self:flex-start}
.noctis-foot .nx-ftsubs .nx-sw{position:relative}
.noctis-foot .nx-ftsubs .nx-sw::after{content:"";position:absolute;left:-13px;top:50%;width:8px;height:1px;
  background:color-mix(in srgb,var(--c,var(--nx-line)) 35%,var(--nx-line))}

/* one-line Noctis group uplink badge (Class B chrome, footer-only) */
.nx-upline{text-align:center;padding:13px 20px;font-size:12px;color:var(--nx-muted, #9aa0a6)}
.nx-upline a{color:inherit}
.nx-upline a:hover{color:#f1f3f5}

/* CSP-safe per-node colour hooks: same hex values as chrome-dist/noctis-foot.html's
   inline style="--c;--c2" attributes, moved here so this front's CSP can stay
   style-src 'self' with zero 'unsafe-inline' (parity fix, W2-9, 2026-07-08).
   Targets the fragment's own pre-existing data-key attributes; a data-branch
   attribute is added to the two un-keyed .nx-ftbranch wrapper divs. No visual
   change: identical --c/--c2 values, just declared here instead of inline. */
.noctis-foot .nx-sw[data-key="noctis.holdings"]{--c:#7c83ff;--c2:#a9adff}
.noctis-foot .nx-sw[data-key="overnight.holdings"]{--c:#34d2e0;--c2:#79e1eb}
.noctis-foot .nx-sw[data-key="overnight.host"],
.noctis-foot .nx-sw[data-key="overnight.bet"]{--c:#29a1ae;--c2:#72c1ca}
.noctis-foot .nx-sw[data-key="midnight.holdings"]{--c:#c66bff;--c2:#d99dff}
.noctis-foot .nx-sw[data-key="midnight.games"],
.noctis-foot .nx-sw[data-key="midnight.shopping"]{--c:#9853c5;--c2:#bb8dd9}
.noctis-foot .nx-ftbranch[data-branch="overnight"]{--c:#34d2e0}
.noctis-foot .nx-ftbranch[data-branch="midnight"]{--c:#c66bff}
