/* ═══════════════════════════════════════════════════════════════
   SPINLY — design system
   Har colour logo se liya gaya hai (sampled, guess nahi).
   Signature device: wheel ka conic sweep — nav marker, stat cards,
   aur auth bloom teenon me wahi geometry repeat hoti hai.
   ═══════════════════════════════════════════════════════════════ */

@import url('https://fonts.googleapis.com/css2?family=Outfit:wght@400;500;600;700;800;900&family=Inter:wght@400;500;600;700&family=JetBrains+Mono:wght@400;600&display=swap');

:root{
  /* Brand — logo se sampled */
  --ink:      #230467;   /* wordmark indigo */
  --abyss:    #0B062D;   /* dark panel */
  --violet:   #4D21F7;
  --violet-d: #3A15C4;
  --grape:    #911AC8;
  --magenta:  #E61A97;
  --pink:     #FA297D;
  --flare:    #FE8817;
  --amber:    #FEA909;

  /* Surfaces — violet-tinted, slate-grey nahi */
  --paper:    #FBF9FF;
  --card:     #FFFFFF;
  --line:     #EBE4FA;
  --line-str: #DCD0F5;
  --muted:    #6B6191;
  --faint:    #9A90BC;
  --wash:     #F5F1FE;

  --ok:   #0FA678;
  --warn: #E08600;
  --bad:  #DB2777;

  --sweep: linear-gradient(120deg,#4D21F7,#911AC8,#E61A97,#FE8817);
  --sweep-cool: linear-gradient(135deg,#4D21F7,#911AC8);
  --sweep-warm: linear-gradient(135deg,#E61A97,#FE8817);

  --r-sm: 10px; --r: 14px; --r-lg: 20px; --r-pill: 100px;
  --shadow: 0 1px 2px rgba(35,4,103,.04), 0 8px 24px -12px rgba(35,4,103,.14);
  --shadow-lg: 0 24px 64px -20px rgba(35,4,103,.30);

  --display: 'Outfit', system-ui, sans-serif;
  --body: 'Inter', system-ui, sans-serif;
  --mono: 'JetBrains Mono', ui-monospace, Menlo, monospace;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--body);background:var(--paper);color:var(--ink);font-size:14px;line-height:1.6;
  -webkit-font-smoothing:antialiased}
a{color:var(--violet);text-decoration:none}
h1,h2,h3,h4,.num{font-family:var(--display);letter-spacing:-.02em}
.hidden{display:none!important}
::selection{background:#EFD9FA;color:var(--ink)}
:focus-visible{outline:2.5px solid var(--violet);outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* ── Brand lockup ─────────────────────────────────────────── */
.lockup{display:flex;align-items:center;gap:10px}
.lockup img{width:32px;height:32px;flex-shrink:0}
.lockup .wm{font-family:var(--display);font-size:20px;font-weight:800;letter-spacing:-.5px;line-height:1}
.lockup .wm i{font-style:normal;background:var(--sweep-warm);-webkit-background-clip:text;
  background-clip:text;-webkit-text-fill-color:transparent}
.lockup .tag{display:block;font-family:var(--body);font-size:9.5px;font-weight:600;letter-spacing:.9px;
  text-transform:uppercase;color:var(--faint);margin-top:2px}

/* ── Shell ────────────────────────────────────────────────── */
.shell{display:flex;min-height:100vh}
.sidebar{width:246px;flex-shrink:0;background:var(--abyss);color:#C9C0E8;display:flex;flex-direction:column;
  position:sticky;top:0;height:100vh;overflow:hidden}
.sidebar::before{content:'';position:absolute;top:-120px;left:-90px;width:300px;height:300px;
  background:conic-gradient(from 200deg,#4D21F7,#911AC8,#E61A97,#FE8817,#4D21F7);
  filter:blur(78px);opacity:.28;pointer-events:none}
.sidebar>*{position:relative}
.sidebar .head{padding:22px 20px 18px;border-bottom:1px solid rgba(255,255,255,.08)}
.sidebar .head .wm{color:#fff}
.sidebar nav{padding:14px 12px;flex:1;overflow-y:auto}
.sidebar nav a{display:flex;align-items:center;gap:11px;padding:10px 13px;border-radius:var(--r-sm);
  color:#9B90C4;font-weight:600;font-size:13.5px;margin-bottom:2px;transition:background .14s,color .14s}
.sidebar nav a .dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.16);flex-shrink:0;transition:background .14s}
.sidebar nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.sidebar nav a.active{background:rgba(255,255,255,.09);color:#fff}
.sidebar nav a.active .dot{background:conic-gradient(from 0deg,#4D21F7,#E61A97,#FE8817,#4D21F7)}
.sidebar .foot{padding:16px 20px;border-top:1px solid rgba(255,255,255,.08);font-size:12px}
.sidebar .foot a{color:#8B80B4}
.sidebar .foot a:hover{color:#fff}

.main{flex:1;min-width:0}
.topbar{background:rgba(251,249,255,.86);backdrop-filter:blur(14px);border-bottom:1px solid var(--line);
  padding:16px 30px;display:flex;justify-content:space-between;align-items:center;gap:16px;position:sticky;top:0;z-index:30}
.topbar h1{font-size:21px;font-weight:800}
.topbar .who{font-size:13px;color:var(--muted);font-weight:600}
.content{padding:26px 30px 72px;max-width:1260px}

/* ── Cards ────────────────────────────────────────────────── */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:24px;
  margin-bottom:18px;box-shadow:var(--shadow)}
.card h2{font-size:16px;font-weight:700;margin-bottom:3px}
.card .sub{color:var(--muted);font-size:12.5px;margin-bottom:18px;max-width:62ch}
.grid{display:grid;gap:16px}
.g2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}
.g3{grid-template-columns:repeat(auto-fit,minmax(228px,1fr))}
.g4{grid-template-columns:repeat(auto-fit,minmax(184px,1fr))}

/* Stat — signature: wheel sweep as top edge */
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:18px 18px 16px;
  position:relative;overflow:hidden;box-shadow:var(--shadow)}
.stat::before{content:'';position:absolute;inset:0 0 auto 0;height:3px;background:var(--sweep)}
.stat .label{font-size:10.5px;font-weight:700;color:var(--faint);text-transform:uppercase;letter-spacing:.8px}
.stat .value{font-family:var(--display);font-size:29px;font-weight:800;margin-top:5px;letter-spacing:-1px;line-height:1.1}
.stat .delta{font-size:12px;color:var(--muted);margin-top:3px}

/* Hero figure — the one big number, wrapped in the wheel ring */
.ringfig{display:flex;align-items:center;gap:18px}
.ringfig .ring{width:78px;height:78px;border-radius:50%;flex-shrink:0;padding:4px;
  background:conic-gradient(from 210deg,#4D21F7,#911AC8,#E61A97,#FE8817,#4D21F7)}
.ringfig .ring>div{width:100%;height:100%;border-radius:50%;background:#fff;display:flex;
  align-items:center;justify-content:center;font-family:var(--display);font-size:22px;font-weight:800}
.ringfig .big{font-family:var(--display);font-size:34px;font-weight:800;letter-spacing:-1.4px;line-height:1.1}

/* ── Forms ────────────────────────────────────────────────── */
label{display:block;font-size:12px;font-weight:700;color:#4A3D77;margin-bottom:6px}
input,select,textarea{width:100%;padding:11px 14px;border:1.5px solid var(--line-str);border-radius:var(--r-sm);
  font:inherit;font-size:13.5px;background:#fff;color:var(--ink);transition:border-color .14s,box-shadow .14s}
input::placeholder,textarea::placeholder{color:var(--faint)}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--violet);box-shadow:0 0 0 3.5px rgba(77,33,247,.13)}
input:disabled{background:var(--wash);color:var(--faint)}
input[type=color]{padding:3px;height:42px;cursor:pointer}
.field{margin-bottom:16px}
.row{display:flex;gap:13px;flex-wrap:wrap}
.row>*{flex:1;min-width:150px}
.check{display:flex;align-items:center;gap:9px;font-size:13.5px;font-weight:600;color:#3E3268;cursor:pointer}
.check input{width:auto;accent-color:var(--violet)}
.hint{font-size:11.5px;color:var(--muted);margin-top:6px}

/* ── Buttons ──────────────────────────────────────────────── */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 22px;border:none;
  border-radius:var(--r-pill);font-family:var(--display);font-size:14px;font-weight:700;cursor:pointer;
  background:var(--sweep-cool);color:#fff;transition:transform .14s,box-shadow .14s,filter .14s;
  box-shadow:0 3px 14px -4px rgba(77,33,247,.5)}
.btn:hover{transform:translateY(-1.5px);box-shadow:0 10px 26px -8px rgba(145,26,200,.55)}
.btn:active{transform:translateY(0)}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.btn.warm{background:var(--sweep-warm);box-shadow:0 3px 14px -4px rgba(230,26,151,.5)}
.btn.ghost{background:#fff;color:#4A3D77;border:1.5px solid var(--line-str);box-shadow:none}
.btn.ghost:hover{background:var(--wash);border-color:var(--violet);color:var(--violet);box-shadow:none}
.btn.danger{background:linear-gradient(135deg,#DB2777,#BE185D)}
.btn.sm{padding:7px 15px;font-size:12.5px}
.btn.block{width:100%}

/* ── Table ────────────────────────────────────────────────── */
table{width:100%;border-collapse:collapse;font-size:13px}
th{text-align:left;font-size:10.5px;font-weight:700;color:var(--faint);text-transform:uppercase;
  letter-spacing:.7px;padding:10px 11px;border-bottom:1.5px solid var(--line)}
td{padding:12px 11px;border-bottom:1px solid var(--wash);vertical-align:middle}
tr:last-child td{border-bottom:none}
tbody tr:hover td{background:var(--wash)}
.tbl-wrap{overflow-x:auto;margin:0 -4px}
.t-sub{color:var(--faint);font-size:11.5px}
.t-num{font-family:var(--mono);font-size:12.5px;font-weight:600}

/* ── Badge ────────────────────────────────────────────────── */
.badge{display:inline-block;padding:3px 11px;border-radius:var(--r-pill);font-size:11px;font-weight:700;
  font-family:var(--body)}
.badge.ok{background:#D6F5EA;color:#046B4C}
.badge.warn{background:#FFEDD3;color:#9A5200}
.badge.bad{background:#FCE0EF;color:#9D1352}
.badge.info{background:#EAE2FE;color:#3A15C4}
.badge.mute{background:var(--wash);color:var(--muted)}
.badge.hot{background:var(--sweep-warm);color:#fff}

/* ── Code ─────────────────────────────────────────────────── */
code,.code{font-family:var(--mono);font-size:12.5px;background:var(--wash);padding:3px 9px;
  border-radius:7px;color:var(--ink);word-break:break-all;border:1px solid var(--line)}
pre.code{padding:15px;display:block;white-space:pre-wrap;line-height:1.7;border-radius:var(--r-sm)}
.keyline{display:flex;align-items:center;gap:10px;flex-wrap:wrap}

/* ── Segment editor ───────────────────────────────────────── */
.seg-head,.seg-row{display:grid;grid-template-columns:1fr 116px 62px 104px 38px;gap:10px;align-items:center}
.seg-head{font-size:10.5px;font-weight:700;color:var(--faint);text-transform:uppercase;
  letter-spacing:.7px;margin-bottom:9px;padding:0 2px}
.seg-row{margin-bottom:9px}
.seg-row .kill{cursor:pointer;color:var(--faint);text-align:center;font-size:17px;line-height:1;
  border-radius:8px;padding:7px 0;transition:color .14s,background .14s}
.seg-row .kill:hover{color:var(--bad);background:#FCE0EF}

/* ── Chart ────────────────────────────────────────────────── */
.chart{height:196px;display:flex;align-items:flex-end;gap:3px;padding-top:14px}
.chart .bar{flex:1;background:var(--sweep-cool);border-radius:5px 5px 0 0;min-height:3px;position:relative;
  transition:filter .14s}
.chart .bar:hover{filter:brightness(1.18)}
.chart .bar span{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:10.5px;
  font-weight:700;opacity:0;white-space:nowrap;background:var(--abyss);color:#fff;padding:3px 8px;
  border-radius:6px;pointer-events:none;transition:opacity .14s}
.chart .bar:hover span{opacity:1}

/* ── Toast ────────────────────────────────────────────────── */
#toast{position:fixed;bottom:26px;left:50%;transform:translateX(-50%) translateY(8px);background:var(--abyss);
  color:#fff;padding:13px 26px;border-radius:var(--r-pill);font-family:var(--display);font-weight:600;
  font-size:14px;z-index:9999;opacity:0;pointer-events:none;transition:opacity .22s,transform .22s;
  box-shadow:var(--shadow-lg);max-width:calc(100vw - 32px);text-align:center}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0)}
#toast.err{background:linear-gradient(135deg,#9D1352,#6B0F3A)}

/* ── Empty state ──────────────────────────────────────────── */
.empty{text-align:center;padding:44px 20px;color:var(--muted)}
.empty h3{font-size:16px;font-weight:700;color:var(--ink);margin-bottom:6px}
.empty p{font-size:13px;max-width:38ch;margin:0 auto 16px}

/* ── Auth ─────────────────────────────────────────────────── */
.auth{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:28px;
  background:var(--abyss);position:relative;overflow:hidden}
.auth::before{content:'';position:absolute;width:820px;height:820px;border-radius:50%;
  background:conic-gradient(from 180deg,#4D21F7,#911AC8,#E61A97,#FE8817,#4D21F7);
  filter:blur(150px);opacity:.34;top:50%;left:50%;transform:translate(-50%,-50%);
  animation:drift 34s linear infinite}
@keyframes drift{to{transform:translate(-50%,-50%) rotate(360deg)}}
.auth-box{position:relative;background:var(--card);border-radius:var(--r-lg);padding:38px;width:100%;
  max-width:452px;box-shadow:var(--shadow-lg)}
.auth-box .lockup{justify-content:center;margin-bottom:24px}
.auth-box .lockup img{width:38px;height:38px}
.auth-box .lockup .wm{font-size:23px}
.auth-box h1{font-size:24px;font-weight:800;margin-bottom:6px;text-align:center}
.auth-box .sub{color:var(--muted);font-size:13.5px;margin-bottom:26px;text-align:center}
.auth-box .btn{margin-top:8px}
.auth-alt{text-align:center;margin-top:18px;font-size:13px;color:var(--muted)}
.reveal{margin-top:20px;padding:18px;background:#FFF7EC;border:1.5px solid #FDD9A5;border-radius:var(--r)}
.reveal b{color:#8A4B00}

/* ── Utility ──────────────────────────────────────────────── */
.between{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap}
.meter{height:10px;background:var(--wash);border-radius:var(--r-pill);overflow:hidden;border:1px solid var(--line)}
.meter i{display:block;height:100%;background:var(--sweep);border-radius:var(--r-pill);transition:width .5s}
hr.sep{border:none;border-top:1px solid var(--line);margin:22px 0}
.sidebar-toggle{display:none;background:none;border:none;font-size:22px;cursor:pointer;color:var(--ink)}

@media(max-width:880px){
  .sidebar{position:fixed;left:-246px;transition:left .26s;z-index:60;box-shadow:var(--shadow-lg)}
  .sidebar.open{left:0}
  .sidebar-toggle{display:block}
  .content{padding:18px}
  .topbar{padding:14px 18px}
  .seg-head,.seg-row{grid-template-columns:1fr 88px 52px 78px 34px;gap:7px}
  .card{padding:18px}
}

/* ═══ Owner shell extras (Perkly-style grouped nav) ═══════════ */
.sidebar nav .group{font-size:9.5px;font-weight:700;letter-spacing:1.3px;text-transform:uppercase;
  color:#5F5490;padding:16px 14px 7px;margin-top:4px}
.sidebar nav .group:first-child{margin-top:0;padding-top:4px}
.sidebar .usercard{display:flex;align-items:center;gap:11px;padding:14px 18px;
  border-top:1px solid rgba(255,255,255,.08)}
.sidebar .usercard .av{width:36px;height:36px;border-radius:11px;flex-shrink:0;display:flex;
  align-items:center;justify-content:center;font-family:var(--display);font-weight:800;font-size:13px;
  color:#fff;background:conic-gradient(from 210deg,#4D21F7,#911AC8,#E61A97,#FE8817,#4D21F7)}
.sidebar .usercard .who{flex:1;min-width:0}
.sidebar .usercard .who b{display:block;color:#fff;font-size:13px;font-weight:700;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sidebar .usercard .who span{font-size:11.5px;color:#7E72AD}
.sidebar .usercard a{color:#7E72AD;font-size:17px;line-height:1}
.sidebar .usercard a:hover{color:#fff}

/* Live dot + segmented range control */
.livedot{display:inline-flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600;color:var(--muted)}
.livedot i{width:8px;height:8px;border-radius:50%;background:var(--ok);
  box-shadow:0 0 0 3px rgba(15,166,120,.18)}
.seg{display:inline-flex;background:var(--wash);border:1px solid var(--line);border-radius:var(--r-pill);padding:3px}
.seg button{border:none;background:none;font:inherit;font-size:12.5px;font-weight:700;color:var(--muted);
  padding:6px 15px;border-radius:var(--r-pill);cursor:pointer}
.seg button.on{background:#fff;color:var(--violet);box-shadow:var(--shadow)}

/* Page header */
.phead{margin-bottom:22px}
.phead h2{font-size:29px;font-weight:800;margin-bottom:3px}
.phead p{color:var(--muted);font-size:14px}

/* Funnel */
.funnel{display:flex;flex-direction:column;gap:11px}
.funnel .fr{display:grid;grid-template-columns:150px 1fr 56px;gap:14px;align-items:center}
.funnel .fl{font-size:13.5px;font-weight:600;color:#3E3268}
.funnel .ftrack{height:36px;background:var(--wash);border-radius:9px;overflow:hidden}
.funnel .fbar{height:100%;background:var(--sweep-cool);border-radius:9px;display:flex;align-items:center;
  padding:0 12px;color:#fff;font-family:var(--display);font-weight:800;font-size:13.5px;
  min-width:34px;transition:width .5s}
.funnel .fdrop{font-size:12px;font-weight:700;color:var(--bad);text-align:right}
.funnel .fdrop.none{color:var(--faint)}
@media(max-width:640px){.funnel .fr{grid-template-columns:104px 1fr 44px;gap:9px}
  .funnel .fl{font-size:12px}}

/* Donut */
.donut{display:flex;align-items:center;gap:26px;flex-wrap:wrap}
.donut .ring{width:150px;height:150px;border-radius:50%;position:relative;flex-shrink:0}
.donut .ring::after{content:'';position:absolute;inset:24%;background:#fff;border-radius:50%}
.donut .mid{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;
  justify-content:center;z-index:2}
.donut .mid b{font-family:var(--display);font-size:27px;font-weight:800;line-height:1}
.donut .mid span{font-size:10.5px;color:var(--faint);font-weight:600}
.donut .legend{flex:1;min-width:170px}
.donut .legend div{display:flex;align-items:center;gap:9px;padding:6px 0;font-size:13.5px}
.donut .legend i{width:11px;height:11px;border-radius:3px;flex-shrink:0}
.donut .legend b{margin-left:auto;font-family:var(--mono);font-size:12.5px}

/* Gateway card */
.gw{border:1px solid var(--line);border-radius:var(--r);padding:20px;background:#fff;margin-bottom:14px}
.gw .gwtop{display:flex;align-items:center;gap:13px;margin-bottom:4px}
.gw .gwtop h3{font-family:var(--display);font-size:16px;font-weight:700;flex:1}
.gw .gwmeta{color:var(--muted);font-size:12.5px;margin-bottom:16px}
.switch{position:relative;display:inline-block;width:44px;height:25px;flex-shrink:0}
.switch input{opacity:0;width:0;height:0}
.switch span{position:absolute;inset:0;background:var(--line-str);border-radius:50px;
  cursor:pointer;transition:background .18s}
.switch span::before{content:'';position:absolute;height:19px;width:19px;left:3px;top:3px;
  background:#fff;border-radius:50%;transition:transform .18s;box-shadow:0 1px 4px rgba(0,0,0,.2)}
.switch input:checked+span{background:var(--sweep-cool)}
.switch input:checked+span::before{transform:translateX(19px)}
.switch input:focus-visible+span{outline:2.5px solid var(--violet);outline-offset:2px}

/* Template editor */
.tpl textarea{font-family:var(--mono);font-size:12.5px;line-height:1.7;min-height:190px;resize:vertical}
.tokens{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}
.tokens code{cursor:pointer;font-size:11.5px}
.tokens code:hover{background:#EAE2FE;border-color:var(--violet)}

/* ═══ Wheel theme picker ══════════════════════════════════════ */
.themes{display:grid;grid-template-columns:repeat(auto-fit,minmax(196px,1fr));gap:16px}
.theme-card{display:flex;flex-direction:column;border:2px solid var(--line);border-radius:16px;
  padding:0;overflow:hidden;cursor:pointer;background:#fff;text-align:left;font:inherit;
  transition:border-color .16s,transform .16s,box-shadow .16s}
.theme-card:hover{transform:translateY(-3px);box-shadow:0 14px 32px -14px rgba(35,4,103,.3);
  border-color:var(--line-str)}
.theme-card.on{border-color:var(--violet);box-shadow:0 0 0 4px rgba(77,33,247,.13)}
.theme-card .prev{position:relative;aspect-ratio:1;display:block;overflow:hidden;
  background:var(--abyss)}
.theme-card .prev svg{width:100%;height:100%;display:block}
.theme-card .meta{padding:14px 15px 16px;display:flex;flex-direction:column;flex:1}
.theme-card b{display:block;font-family:var(--display);font-size:15px;font-weight:700;
  margin-bottom:4px;letter-spacing:-.2px}
.theme-card span.blurb{font-size:12px;color:var(--muted);line-height:1.55;display:block;flex:1}
.theme-card .chip{align-self:flex-start;margin-top:12px;font-size:10.5px;font-weight:700;
  padding:4px 12px;border-radius:var(--r-pill);background:var(--wash);color:var(--muted);
  letter-spacing:.3px}
.theme-card.on .chip{background:var(--sweep-cool);color:#fff}
.theme-card.locked{opacity:.78}
.theme-card.locked:hover{border-color:var(--warn)}
.theme-card .lockpill{position:absolute;top:10px;right:10px;background:rgba(0,0,0,.6);
  color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.6px;text-transform:uppercase;
  padding:4px 10px;border-radius:var(--r-pill);backdrop-filter:blur(4px)}

/* Colour editor */
.tokgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}
.tokgrid .tf label{font-size:11.5px;margin-bottom:5px}
.tokgrid .tf .pair{display:flex;gap:7px;align-items:center}
.tokgrid .tf input[type=color]{width:44px;height:38px;padding:3px;flex:0 0 44px}
.tokgrid .tf input[type=text]{font-family:var(--mono);font-size:11.5px;padding:9px 10px}
.tokgroup{font-size:10.5px;font-weight:700;letter-spacing:.8px;text-transform:uppercase;
  color:var(--faint);margin:20px 0 10px}
.tokgroup:first-of-type{margin-top:4px}
.livewrap{position:sticky;top:88px}
.livestage{border-radius:var(--r);overflow:hidden;aspect-ratio:1;display:flex;
  align-items:center;justify-content:center;border:1px solid var(--line)}
.livestage svg{width:100%;height:100%}
@media(max-width:880px){.livewrap{position:static}}

/* ═══ Store switcher ══════════════════════════════════════════ */
.storepick{display:flex;align-items:center;gap:9px}
.storepick label{margin:0;font-size:11px;color:var(--faint);white-space:nowrap}
.storepick select{width:auto;min-width:180px;max-width:300px;padding:8px 12px;font-size:13px;
  font-weight:600;border-radius:var(--r-pill);background:#fff}
.scopebar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:var(--wash);
  border:1px solid var(--line);border-radius:var(--r-pill);padding:7px 16px;margin-bottom:18px;
  font-size:12.5px;color:var(--muted)}
.scopebar b{color:var(--ink);font-weight:700}
.scopebar .dot{width:7px;height:7px;border-radius:50%;background:var(--sweep-cool);flex-shrink:0}
@media(max-width:880px){.storepick label{display:none}.storepick select{min-width:0;max-width:150px}}

/* ═══ Connection banner ═══════════════════════════════════════ */
#netbar{position:fixed;top:0;left:0;right:0;z-index:99999;padding:9px 18px;text-align:center;
  font-family:var(--display);font-size:13px;font-weight:700;color:#fff;
  animation:netdrop .25s ease-out;transition:opacity .35s,transform .35s}
#netbar.warn{background:linear-gradient(135deg,#E08600,#B36A00)}
#netbar.bad{background:linear-gradient(135deg,#9D1352,#6B0F3A)}
#netbar.gone{opacity:0;transform:translateY(-100%)}
@keyframes netdrop{from{transform:translateY(-100%)}to{transform:translateY(0)}}
