/* ===============================
   NAV + SOCIAL — MODE DRIVEN
   Burger hub + radial fan layout (FAN ONLY)
   NOTE:
   - OUTLXW logo + mode dots untouched
   - Burger button is the CENTER POINT of the fan
   - Removed conflicting bottom-anchored overrides that caused offset
   =============================== */

/* =========================
   LEFT RAIL (logo/rail)
   ========================= */
.site-header{
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 88px;
  z-index: 9999;
  transform: none;

  background: radial-gradient(circle at top, var(--surface-strong), var(--bg));
  border-right: 1px solid var(--border);
}

/* brand */
.brand-logo{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding: 4px 10px;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  color: var(--text-main);
  background: rgba(0,0,0,0.18);
  box-shadow: 0 0 18px var(--glow);
  position: relative;
  z-index: 10000;
  text-decoration:none;
}
.brand-logo::before{
  content:"";
  position:absolute;
  inset:-10px;
  border-radius:999px;
  background: radial-gradient(circle,
    color-mix(in srgb, var(--accent) 45%, transparent),
    transparent 70%);
  filter: blur(8px);
  opacity:.9;
  pointer-events:none;
}
.brand-logo::after{
  content:"";
  position:absolute;
  inset:-2px;
  border-radius:999px;
  border: 1px solid color-mix(in srgb, var(--accent) 55%, transparent);
  box-shadow: 0 0 10px var(--glow);
  pointer-events:none;
}

/* overlay nav rail (if you use it) */
.nav{
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  width: 88px;
  z-index: 9998;
  transform: none;
}
.nav-link:hover{
  color: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 12px color-mix(in srgb, var(--accent) 42%, transparent);
}

/* ===============================
   BURGER HUB + FAN (single anchor)
   =============================== */

/* Change ONLY these two vars if you want to move hub+fan together */
:root{
  --hub-left: 18px;
  --hub-top: 50%;
}

/* Hub button (burger) — CENTER POINT */
.radial-hub-btn{
  position: fixed;
  left: var(--hub-left);
  top: var(--hub-top);
  transform: translateY(-50%);
  width: 56px;
  height: 56px;
  border-radius: 999px;
  display:flex;
  align-items:center;
  justify-content:center;

  background: var(--surface);
  color: var(--text-main);
  border: 1px solid color-mix(in srgb, var(--accent) 55%, var(--border));
  box-shadow: 0 0 16px color-mix(in srgb, var(--accent) 45%, transparent);

  cursor: pointer;
  z-index: 2147483647; /* always clickable */
  pointer-events: auto;
  -webkit-tap-highlight-color: transparent;
}
.radial-hub-btn:hover{
  border-color: color-mix(in srgb, var(--accent) 70%, transparent);
  box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 55%, transparent);
}
.radial-hub-btn:active{ transform: translateY(-50%) scale(0.98); }

/* Fan container — SAME anchor as hub */
.radial-nav{
  position: fixed;
  left: var(--hub-left);
  top: var(--hub-top);
  transform: translateY(-50%);
  width: 320px;
  height: 320px;
  z-index: 2147483646;
  pointer-events: none; /* buttons enable when open */
}

/* Root where menu.js injects .fan-btn */
#radial-menu-root{
  position: absolute;
  left: 0;
  top: 0;
  width: 320px;
  height: 320px;
  pointer-events: none;
}

/* Fan buttons: positioned by CSS var --angle from menu.js */
.fan-btn{
  position: absolute;
  left: 28px;              /* anchor near hub center */
  top: 50%;
  transform: translateY(-50%) rotate(var(--angle)) translateX(150px);
  transform-origin: 0 50%;
  display: flex;
  align-items: center;
  gap: 10px;

  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;

  opacity: 0;
  pointer-events: none;
  filter: drop-shadow(0 0 10px color-mix(in srgb, var(--accent) 45%, transparent));
  transition: opacity .18s ease, transform .22s ease;
}

/* open state */
body.fan-open .fan-btn{
  opacity: 1;
  pointer-events: auto;
  transform: translateY(-50%) rotate(var(--angle)) translateX(170px);
}

/* inner dot + label */
.fan-dot{
  width: 14px;
  height: 14px;
  border-radius: 999px;
  background: rgba(255,255,255,.10);
  border: 1px solid color-mix(in srgb, var(--accent) 65%, transparent);
  box-shadow: 0 0 16px color-mix(in srgb, var(--accent) 55%, transparent);
}
body.fan-open .fan-dot{ background: color-mix(in srgb, var(--accent) 25%, #000 75%); }

.fan-label{
  padding: 6px 10px;
  border-radius: 999px;
  background: rgba(0,0,0,.42);
  border: 1px solid color-mix(in srgb, var(--accent) 30%, transparent);
  color: var(--text-main);
  font-size: 14px;
  letter-spacing: .3px;
  box-shadow: 0 0 18px color-mix(in srgb, var(--accent) 35%, transparent);
  backdrop-filter: blur(12px);
  white-space: nowrap;
}

/* Hover emphasis */
.fan-btn:hover .fan-dot{
  box-shadow: 0 0 22px color-mix(in srgb, var(--accent) 65%, transparent);
}
.fan-btn:hover .fan-label{
  border-color: color-mix(in srgb, var(--accent) 55%, transparent);
  box-shadow: 0 0 26px color-mix(in srgb, var(--accent) 45%, transparent);
}

/* Mobile: keep fan tighter */
@media (max-width: 560px){
  :root{ --hub-left: 14px; }
  .radial-hub-btn{ width: 52px; height: 52px; }
  .radial-nav{ width: 280px; height: 280px; }
  #radial-menu-root{ width: 280px; height: 280px; }
  .fan-btn{ left: 26px; transform: translateY(-50%) rotate(var(--angle)) translateX(120px); }
  body.fan-open .fan-btn{ transform: translateY(-50%) rotate(var(--angle)) translateX(140px); }
  .fan-label{ font-size: 13px; padding: 6px 9px; }
}

/* Click safety for common overlay */
#page-transition,
#page-transition *{
  pointer-events: none !important;
}

/* =========================
   HARD OVERRIDE — KEEP HUB/FAN ALIVE
   paste at the VERY BOTTOM
   ========================= */

.radial-hub-btn{
  display: flex !important;
  visibility: visible !important;
  opacity: 1 !important;

  position: fixed !important;
  left: 18px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  z-index: 2147483647 !important;
  pointer-events: auto !important;
}

.radial-nav{
  display: block !important;
  position: fixed !important;
  left: 18px !important;
  top: 50% !important;
  bottom: auto !important;
  transform: translateY(-50%) !important;

  z-index: 2147483646 !important;
  pointer-events: none !important;
}

#radial-menu-root{
  position: absolute !important;
  left: 0 !important;
  top: 0 !important;
  width: 320px !important;
  height: 320px !important;
  pointer-events: none !important;
}

body.fan-open .fan-btn{
  pointer-events: auto !important;
}

/* Kill common click blockers */
#page-transition,
#page-transition *{
  pointer-events: none !important;
}

/* fan labels always visible */
.fan-label{
  display: inline-block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* hover glow stronger */
.fan-btn:hover .fan-label{
  border-color: color-mix(in srgb, var(--accent) 65%, transparent);
  box-shadow: 0 0 28px color-mix(in srgb, var(--accent) 55%, transparent);
}

/* SAFARI FIX — kill fan button box */
.fan-btn{
  background: none !important;
  box-shadow: none !important;
  filter: none !important;
}

/* keep glow only on dot + label */
.fan-dot,
.fan-label{
  filter: drop-shadow(0 0 14px color-mix(in srgb, var(--accent) 45%, transparent));
}

/* ===============================
   GLOBAL UI — ALWAYS ON TOP
   Mode menu + brand must never be buried
   =============================== */

.site-header,
.site-header *{
  position: relative;
}

.site-header{
  z-index: 2147483000 !important;
  pointer-events: auto !important;
}

/* ensure mode dots / buttons are clickable */
.site-header button,
.site-header a{
  pointer-events: auto !important;
}

/* nav-social.css (FINAL)
   Paste your existing file, then ADD the block below at the VERY BOTTOM.
*/

/* ==================================
   VOP MODE DOCK — LOCKED & CLEAN
   Left bottom, never shrinks, never moves
   ================================== */

#mode-dock{
  position: fixed !important;
  left: 14px !important;
  bottom: 18px !important;

  display: flex !important;
  gap: 10px !important;

  padding: 10px 12px !important;
  border-radius: 999px !important;

  background: rgba(0,0,0,0.38) !important;
  border: 1px solid rgba(255,255,255,0.10) !important;
  backdrop-filter: blur(12px) !important;

  z-index: 2147483600 !important; /* below hub(3647), above everything else */
  pointer-events: auto !important;
}

/* Each dot: do NOT inherit button styles from pages */
#mode-dock .mode-dot{
  all: unset;

  width: 12px;
  height: 12px;
  border-radius: 999px;

  background: rgba(255,255,255,0.18);
  border: 1px solid rgba(255,255,255,0.22);

  cursor: pointer;
  display: inline-block;
}

/* Hover glow follows current mode color */
#mode-dock .mode-dot:hover{
  border-color: var(--accent);
  box-shadow: 0 0 14px var(--glow);
}

/* Optional: if mode.js sets aria-pressed=true on active dot */
#mode-dock .mode-dot[aria-pressed="true"]{
  background: var(--accent);
  border-color: var(--accent);
  box-shadow: 0 0 16px var(--glow);
}

