*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}

:root{
  --accent:#8B5CF6;
  --accent-dim:#6D28D9;
  --accent-tint:rgba(139,92,246,.12);
  --accent-line:rgba(139,92,246,.25);
  --success:#10B981;
  --success-tint:rgba(16,185,129,.12);
  --warn:#F59E0B;
  --warn-tint:rgba(245,158,11,.12);
  --danger:#EF4444;
  --danger-tint:rgba(239,68,68,.12);
  --logo-url:url("data:image/png;base64,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");
}

/* DARK MODE (default) */
html{
  --bg:#0A0A0A;
  --bg-elev:#141414;
  --bg-elev2:#1C1C1C;
  --bg-soft:#0F0F0F;
  --text:#FAFAFA;
  --text-2:#A1A1A1;
  --text-3:#6B6B6B;
  --hairline:rgba(255,255,255,.06);
  --hairline-2:rgba(255,255,255,.10);
  --shadow:0 1px 2px rgba(0,0,0,.4),0 8px 24px rgba(0,0,0,.25);
}
html.light{
  --bg:#FAFAFA;
  --bg-elev:#FFFFFF;
  --bg-elev2:#F4F4F4;
  --bg-soft:#F7F7F7;
  --text:#0A0A0A;
  --text-2:#525252;
  --text-3:#A1A1A1;
  --hairline:rgba(0,0,0,.06);
  --hairline-2:rgba(0,0,0,.10);
  --shadow:0 1px 2px rgba(0,0,0,.04),0 4px 16px rgba(0,0,0,.04);
}

body{
  font-family:'Geist','-apple-system','BlinkMacSystemFont','SF Pro Text',sans-serif;
  background:var(--bg);
  color:var(--text);
  min-height:100vh;
  min-height:100dvh;
  font-feature-settings:'ss01','cv11';
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.01em;
  padding-bottom:env(safe-area-inset-bottom);
}

.app{max-width:680px;margin:0 auto;padding-bottom:80px;position:relative;min-height:100vh;min-height:100dvh}

/* Subtle grain overlay — adds depth without distraction */
.app::before{
  content:'';
  position:fixed;inset:0;
  pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2'/></filter><rect width='100%' height='100%' filter='url(%23n)' opacity='0.4'/></svg>");
  opacity:.018;
  z-index:1;
  mix-blend-mode:overlay;
}

.num{font-family:'Geist Mono',ui-monospace,monospace;font-variant-numeric:tabular-nums;letter-spacing:-0.02em}
.serif{font-family:'Instrument Serif',Georgia,serif;font-style:italic}

/* ─────────────────────────────── SELECT / LOGIN ─────────────────────────────── */
.sel-screen{display:flex;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;padding:32px;position:relative;z-index:2}
.sel-card{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:24px;padding:48px 32px;width:100%;max-width:380px;text-align:center;box-shadow:var(--shadow)}
.sel-brand{
  width:72px;height:auto;aspect-ratio:400/186;
  margin:0 auto 20px;
  background-image:var(--logo-url);
  background-repeat:no-repeat;
  background-position:center;
  background-size:contain;
  filter:none;
}
html.light .sel-brand{filter:invert(1)}
.sel-title{font-size:13px;color:var(--text-2);font-weight:500;margin-bottom:4px;letter-spacing:0;text-transform:uppercase;letter-spacing:.18em}
.sel-sub{font-size:15px;color:var(--text);margin-bottom:32px;font-weight:400}
.sel-list{display:flex;flex-direction:column;gap:8px}
.sel-btn{display:flex;align-items:center;gap:14px;padding:14px 16px;background:transparent;border:1px solid var(--hairline);border-radius:14px;cursor:pointer;text-align:left;width:100%;color:var(--text);transition:all .2s cubic-bezier(.2,.8,.2,1)}
.sel-btn:hover{background:var(--bg-elev2);border-color:var(--hairline-2);transform:translateY(-1px)}
.sel-av{width:36px;height:36px;border-radius:50%;background:var(--bg-elev2);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:600;flex-shrink:0;border:1px solid var(--hairline);overflow:hidden}
.sel-av img{width:100%;height:100%;object-fit:cover;display:block}
.sel-name{font-size:15px;font-weight:500}

/* ─────────────────────────────── HEADER ─────────────────────────────── */
/* Top chrome (header toolbar + title row + notice + search) sticks as one block */
.top-chrome{position:sticky;top:0;z-index:200;padding-top:env(safe-area-inset-top,0px);background:var(--bg);border-bottom:1px solid var(--hairline);backdrop-filter:saturate(180%) blur(20px);-webkit-backdrop-filter:saturate(180%) blur(20px)}
html.light .top-chrome,html:not(.light) .top-chrome{background:color-mix(in srgb,var(--bg) 88%,transparent)}

.hdr{
  display:flex;align-items:center;justify-content:space-between;
  padding:10px 18px 6px;
  gap:12px;
}
.hdr-left{display:flex;align-items:center;gap:10px;min-width:0;flex:1}
.hdr-brand{width:34px;height:16px;background-image:var(--logo-url);background-repeat:no-repeat;background-position:center;background-size:contain;flex-shrink:0}
.hdr-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
/* Legacy founder-count (kept in case old nodes linger); unused in current build */
.founder-count{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4px 10px;background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:10px;line-height:1;flex-shrink:0}
.founder-count .num{font-size:16px;font-weight:700;color:var(--text);letter-spacing:-0.02em}
.founder-count .lbl{font-size:9px;color:var(--text-3);font-weight:500;letter-spacing:.06em;text-transform:uppercase;margin-top:2px}

/* Toolbar Day 2 toggle — per-device pill that replaced the accounts counter.
   Segmented D1/D2 look: both labels visible, active side filled with accent,
   inactive side muted. Small dot when a personal override is in place so the
   advisor can see their view differs from the global state. */
.day2-tog{
  position:relative;
  display:inline-flex;align-items:center;justify-content:center;
  padding:0;margin:0;
  background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:999px;
  cursor:pointer;font-family:inherit;flex-shrink:0;
  transition:border-color .15s;
  line-height:1;
}
.day2-tog:hover{border-color:color-mix(in srgb, var(--accent) 40%, var(--hairline))}
.day2-tog-pips{display:inline-flex;gap:0}
.day2-tog-pip{
  display:inline-flex;align-items:center;justify-content:center;
  height:28px;min-width:34px;padding:0 10px;
  font-size:11px;font-weight:800;letter-spacing:.08em;
  color:var(--text-3);
  border-radius:999px;
  transition:background .15s, color .15s;
  font-variant-numeric:tabular-nums;
}
.day2-tog-pip.active{
  background:var(--accent);
  color:#fff;
}
.day2-tog-dot{
  position:absolute;top:-2px;right:-2px;
  width:8px;height:8px;border-radius:50%;
  background:color-mix(in srgb, var(--accent) 60%, orange);
  border:1.5px solid var(--bg);
  pointer-events:none;
}
html.light .hdr-brand{filter:invert(1)}

/* Hero headline — app-header typography, event-poster feel */
.hdr-hero{padding:4px 18px 14px;display:flex;flex-direction:column;gap:4px;min-width:0}
.hdr-hero-title{font-size:26px;font-weight:800;color:var(--text);letter-spacing:-0.035em;line-height:0.98;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-hero-sub{font-size:10.5px;font-weight:600;color:var(--text-2);letter-spacing:0.16em;text-transform:uppercase;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hdr-hero-dot{color:var(--text-3);margin:0 3px;font-weight:500;letter-spacing:0}

/* View tabs — Founders vs Workshop Intel. Sits below the hero title,
   above the composition banner / search bar. Segment-control styling
   matches the D1/D2 pill aesthetic so it reads as a first-class nav,
   not a toolbar afterthought. */
.view-tabs{display:flex;gap:6px;padding:0 18px 10px;background:var(--bg);border-bottom:1px solid var(--hairline)}
.view-tab{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;background:transparent;border:none;border-bottom:2px solid transparent;color:var(--text-2);font-size:13px;font-weight:600;letter-spacing:-0.005em;cursor:pointer;transition:color .12s ease,border-color .12s ease;margin-bottom:-1px}
.view-tab svg{color:var(--text-3);transition:color .12s ease}
.view-tab:hover{color:var(--text)}
.view-tab:hover svg{color:var(--text-2)}
.view-tab.active{color:var(--text);border-bottom-color:var(--accent)}
.view-tab.active svg{color:var(--accent)}
@media (max-width:600px){
  /* Tab bar: wrap to second row rather than clipping off-screen */
  .view-tabs{padding:0 10px 8px;gap:0;flex-wrap:wrap}
  .view-tab{padding:7px 9px;font-size:11.5px;flex-shrink:1;min-width:0}
  .view-tab span{white-space:nowrap}
  /* Header right: wrap icon buttons to a second line on very narrow screens */
  .hdr-right{flex-wrap:wrap;justify-content:flex-end;gap:5px}
  .sync-ind{font-size:9.5px;padding:3px 7px}
}

/* Workshop Intel as a full page (not a modal). Mirrors the intel-modal
   content area but drops the overlay, max-width constraint, and close
   button. The page lives where the founders grid would, bounded by the
   footer. */
.intel-page{background:var(--bg);padding:0}
.intel-page .intel-body{padding:16px 18px 24px;max-width:1400px;margin:0 auto}
.intel-page .intel-hd{padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;border-bottom:1px solid var(--hairline);max-width:1400px;margin:0 auto;width:100%;box-sizing:border-box}
@media (max-width:600px){
  .intel-page .intel-body{padding:12px 12px 20px}
  .intel-page .intel-hd{padding:10px 12px;flex-wrap:wrap}
}

/* Apple-Fitness style progress ring */
.ring-wrap{display:flex;align-items:center;gap:10px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:999px;padding:4px 12px 4px 4px;cursor:default}
.ring{width:28px;height:28px;display:block;flex-shrink:0}
.ring-bg{fill:none;stroke:var(--hairline-2);stroke-width:3}
.ring-fg{fill:none;stroke:var(--accent);stroke-width:3;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .6s cubic-bezier(.2,.8,.2,1)}
.ring-label{font-size:11px;font-weight:600;color:var(--text);letter-spacing:-0.01em}
.ring-label .sub{color:var(--text-3);font-weight:500}

.icon-btn{width:36px;height:36px;border-radius:50%;background:var(--bg-elev);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text);transition:all .15s;padding:0;font-family:inherit}
.icon-btn:hover{background:var(--bg-elev2)}
.icon-btn svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

.me-chip{display:flex;align-items:center;gap:8px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;color:var(--text);font-family:inherit;transition:all .15s}
.me-chip:hover{background:var(--bg-elev2)}
.me-av{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;flex-shrink:0;overflow:hidden}
.me-av img{width:100%;height:100%;object-fit:cover;display:block}
.me-name{font-size:13px;font-weight:500}

.add-btn{background:var(--text);color:var(--bg);border:none;border-radius:999px;padding:8px 14px;font-size:12px;font-weight:600;cursor:pointer;letter-spacing:0.02em;font-family:inherit;transition:transform .15s}
.add-btn:active{transform:scale(.97)}

/* ─────────────────────────────── NOTICE ─────────────────────────────── */
.notice{margin:10px 14px 0;padding:10px 14px;background:var(--warn-tint);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);border-radius:12px;font-size:12px;color:var(--text);line-height:1.5;display:flex;gap:10px;align-items:flex-start}
.notice svg{flex-shrink:0;width:14px;height:14px;stroke:var(--warn);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;margin-top:1px}
.notice b{color:var(--text);font-weight:600}

/* ─────────────────────────────── SECTION LEAD ─────────────────────────────── */
.lead{padding:20px 18px 12px;position:relative;z-index:2}
.lead-eyebrow{font-size:10px;color:var(--text-3);font-weight:600;letter-spacing:.22em;text-transform:uppercase;margin-bottom:8px}
.lead-title{font-size:28px;font-weight:700;letter-spacing:-0.03em;line-height:1.08;margin-bottom:6px}
.lead-title .serif{color:var(--text-2);font-weight:400;letter-spacing:-0.02em}
.lead-meta{font-size:13px;color:var(--text-2);font-weight:500;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.lead-meta-dot{width:3px;height:3px;border-radius:50%;background:var(--text-3)}

/* ─────────────────────────────── SEARCH ─────────────────────────────── */
.search-row{display:flex;gap:8px;margin:0 14px 10px;align-items:stretch}
.search-row .search-bar{margin:0;flex:1;min-width:0}
.search-bar{position:relative;margin:0 14px 10px;z-index:2;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:12px;transition:border-color .15s,box-shadow .15s,background .15s}
.search-bar .search-ico{position:absolute;left:16px;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--text-3);pointer-events:none}
#q-search{width:100%;padding:12px 92px 12px 42px;background:transparent;border:none;border-radius:12px;color:var(--text);font-size:14px;font-family:inherit;box-sizing:border-box;outline:none;-webkit-appearance:none;appearance:none}
.search-bar:hover{background:var(--bg-elev2);border-color:var(--hairline-2)}
.search-bar:focus-within{border-color:var(--accent-line);background:var(--bg-elev2);box-shadow:0 0 0 3px var(--accent-tint)}
#q-search::placeholder{color:var(--text-3)}
.search-count{position:absolute;right:44px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;letter-spacing:.04em;pointer-events:none;font-weight:500}
.search-kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:11px;color:var(--text-3);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:var(--hairline);padding:2px 7px;border-radius:5px;pointer-events:none;border:1px solid var(--hairline-2);z-index:3}
.search-clear{position:absolute;right:12px;top:50%;transform:translateY(-50%);width:22px;height:22px;border:none;background:var(--hairline-2);color:var(--text-2);border-radius:50%;font-size:16px;line-height:1;cursor:pointer;display:none;align-items:center;justify-content:center;padding:0;transition:background .15s,color .15s}
.search-clear:hover{background:var(--text-3);color:var(--bg-elev)}
.search-bar.has-value .search-clear{display:flex}
.search-bar.has-value .search-kbd{display:none}
.card.hidden-by-search{display:none}
.no-match{text-align:center;color:var(--text-2);padding:48px 20px 20px;font-size:14px;margin:0 14px}
.no-match strong{color:var(--text);font-weight:600}
.no-match .no-match-hint{display:block;margin-top:8px;font-size:12px;color:var(--text-3)}

/* ─── Priority view toggle (a "view mode", not a filter) ──────────────── */
/* Sits in its own thin row right under the search bar. Off by default —
   when on, the founders grid collapses into two priority bands ("DMs" then
   "DM+") sorted by profit desc. Single click in / single click out. The
   pill itself is intentionally subtle when off (ghost outline) and clearly
   asserted when on (filled accent) so an advisor can tell at a glance
   whether they're looking at the priority view or the full room. */
.priority-row{margin:0 14px 10px;display:flex;align-items:center;gap:8px}
.priority-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;background:transparent;border:1px solid var(--hairline-2);border-radius:999px;color:var(--text-2);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .15s,color .15s,border-color .15s,box-shadow .15s;letter-spacing:.01em;-webkit-appearance:none;appearance:none}
.priority-toggle:hover{background:var(--bg-elev);color:var(--text);border-color:var(--text-3)}
.priority-toggle .pt-dot{width:6px;height:6px;border-radius:50%;background:var(--text-3);transition:background .15s}
.priority-toggle.on{background:var(--accent);color:#fff;border-color:var(--accent)}
.priority-toggle.on .pt-dot{background:#fff}
.priority-toggle.on:hover{background:var(--accent);filter:brightness(1.05)}
.priority-toggle .pt-count{font-variant-numeric:tabular-nums;opacity:.85;font-weight:500}
.priority-hint{font-size:11px;color:var(--text-3);font-weight:500}

/* ─── Priority section banner ─────────────────────────────────────────── */
/* Banner divider above each priority band. Deliberately quieter than the
   Day-2 rt-section header — no collapse chevron, no stats panel, no pies.
   This is a sort divider, not a sub-page. Title left, count right. */
.priority-section{margin:0 14px 14px}
.priority-banner{display:flex;align-items:baseline;gap:10px;padding:14px 4px 8px;border-bottom:1px solid var(--hairline);margin-bottom:10px}
.priority-banner .pb-title{font-size:13px;font-weight:700;color:var(--text);letter-spacing:.02em;text-transform:uppercase}
.priority-banner .pb-title .serif{font-family:var(--serif,Georgia,serif);font-style:italic;font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-2)}
.priority-banner .pb-count{font-size:11px;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:500;margin-left:auto}
.priority-section .cards{padding:0}
.priority-empty{padding:18px 4px;color:var(--text-3);font-size:12px;font-style:italic;text-align:center}

/* ─── Round Table picker popover ───────────────────────────────────────── */
/* Tiny floating menu that appears below the RT pill on a card when the pill
   is tapped. Lets an advisor reassign a founder to any RT (1–6) or to
   Unassigned, or reset to whatever the spreadsheet last said for that
   founder. The pill itself is the trigger — most-discoverable possible:
   the control IS the data display. */
.ch-rt-pill.ch-rt-btn{cursor:pointer;border:1px solid var(--hairline);transition:background .12s,border-color .12s,color .12s;font-family:inherit}
.ch-rt-pill.ch-rt-btn:hover{background:var(--bg-elev);border-color:var(--text-3);color:var(--text)}
.ch-rt-pill.has-override{position:relative;border-color:var(--accent-line);color:var(--accent)}
.ch-rt-pill.has-override::after{content:"";position:absolute;top:-2px;right:-2px;width:6px;height:6px;background:var(--accent);border-radius:50%;border:1.5px solid var(--bg-elev);box-sizing:border-box}
.rt-picker-anchor{position:relative;display:inline-block}
/* Build 2026.05.13: right-anchor + width clamp so the picker can't shoot off
   the right edge of the card on phone-width screens. Was `left:0` which on
   mobile pushed RT 2/RT 5 and "Move to Unassigned" past the viewport. We
   right-align it instead and cap width to (card-inner-width - small gutter)
   via max-width on the anchor's offset parent. */
.rt-picker{position:absolute;top:calc(100% + 6px);right:0;left:auto;z-index:150;background:var(--bg-elev);border:1px solid var(--hairline-2);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);padding:6px;min-width:180px;max-width:min(240px,calc(100vw - 32px));animation:rt-pop-in .12s ease-out}
/* On wider viewports the pill sits comfortably with room to the right —
   restore left-anchor so the menu flows naturally rightward. */
@media (min-width:560px){
  .rt-picker{left:0;right:auto}
}
@keyframes rt-pop-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}
.rt-picker-title{font-size:10px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 6px}
.rt-picker-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-bottom:4px}
.rt-picker-btn{padding:8px 6px;background:transparent;border:1px solid var(--hairline);border-radius:6px;color:var(--text-2);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;transition:background .1s,border-color .1s,color .1s}
.rt-picker-btn:hover{background:var(--bg-elev2);border-color:var(--text-3);color:var(--text)}
.rt-picker-btn.current{background:var(--accent);border-color:var(--accent);color:#fff;cursor:default}
.rt-picker-btn.current:hover{background:var(--accent)}
.rt-picker-divider{height:1px;background:var(--hairline);margin:4px 6px}
.rt-picker-row{display:block;width:100%;text-align:left;padding:7px 8px;background:transparent;border:none;border-radius:6px;color:var(--text-2);font-size:12px;font-family:inherit;cursor:pointer;transition:background .1s,color .1s}
.rt-picker-row:hover{background:var(--bg-elev2);color:var(--text)}
.rt-picker-row.muted{color:var(--text-3);font-style:italic}
.rt-picker-row.muted:hover{color:var(--text-2)}
.rt-picker-row .rp-meta{display:block;font-size:10px;color:var(--text-3);font-weight:400;margin-top:2px}

/* ═══════════════════════ Ship X — Advisor assignment UI ═══════════════════════ */

/* Advisor pill — sits on each founder card next to the RT pill. Shows a
   tiny avatar (photo or initials fallback) + the assigned advisor's first
   name. Clicks open the picker popover. Visually similar to ch-rt-pill so
   the meta row reads as one coherent set of compact controls. */
.ch-advisor-pill{
  display:inline-flex;align-items:center;gap:5px;
  padding:1px 8px 1px 1px;
  background:var(--bg-elev2);border:1px solid var(--hairline);color:var(--text);
  font-size:10px;font-weight:700;border-radius:999px;
  letter-spacing:.04em;line-height:1.2;font-family:inherit;
  cursor:pointer;transition:background .12s,border-color .12s,color .12s;
}
.ch-advisor-pill:hover{background:var(--bg-elev);border-color:var(--text-3);color:var(--text)}
.ch-advisor-pill-avatar{
  width:18px;height:18px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-tint);color:var(--accent);
  font-size:9px;font-weight:700;line-height:1;
  flex-shrink:0;overflow:hidden;
}
img.ch-advisor-pill-avatar{object-fit:cover}
.ch-advisor-pill-avatar-fallback{background:var(--accent-tint);color:var(--accent)}
.ch-advisor-pill-name{font-size:10px;font-weight:700}
@media (max-width:720px){
  .ch-advisor-pill{padding:1px 7px 1px 1px}
  .ch-advisor-pill-avatar{width:16px;height:16px;font-size:8.5px}
  .ch-advisor-pill-name{font-size:9.5px}
}

/* Advisor picker popover — matches RT picker visuals (anchor positioning,
   shadow, animation, divider conventions) but rows are advisor avatars
   instead of number tiles. */
.advisor-picker-anchor{position:relative;display:inline-block}
.advisor-picker{
  position:absolute;top:calc(100% + 6px);left:0;z-index:50;
  background:var(--bg-elev);border:1px solid var(--hairline-2);
  border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.18),0 2px 6px rgba(0,0,0,.08);
  padding:6px;min-width:220px;animation:rt-pop-in .12s ease-out;
}
.advisor-picker-title{
  font-size:10px;font-weight:600;color:var(--text-3);
  text-transform:uppercase;letter-spacing:.05em;padding:4px 8px 6px;
}
.advisor-picker-rows{display:flex;flex-direction:column;gap:2px}
.advisor-picker-row{
  display:flex;align-items:center;gap:9px;
  width:100%;text-align:left;padding:7px 8px;
  background:transparent;border:none;border-radius:6px;
  color:var(--text);font-size:13px;font-weight:500;font-family:inherit;
  cursor:pointer;transition:background .1s;
}
.advisor-picker-row:hover{background:var(--bg-elev2)}
.advisor-picker-row.current{
  background:var(--accent-tint);color:var(--accent);cursor:default;
}
.advisor-picker-row.current:hover{background:var(--accent-tint)}
.advisor-picker-avatar{
  width:24px;height:24px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-tint);color:var(--accent);
  font-size:10px;font-weight:700;line-height:1;
  flex-shrink:0;overflow:hidden;
}
img.advisor-picker-avatar{object-fit:cover}
.advisor-picker-avatar-fallback{background:var(--accent-tint);color:var(--accent)}
.advisor-picker-row-name{flex:1}
.advisor-picker-row-check{color:var(--accent);font-weight:700;font-size:14px}
/* Mobile: reassign picker as a centered modal ABOVE the floating FABs (z-index 9000+),
   away from the bottom-right corner so nothing pokes through and no advisor row clips.
   The large spread box-shadow acts as a full-screen dimming backdrop. */
@media (max-width:640px){
  .advisor-picker{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);bottom:auto;right:auto;min-width:0;width:min(340px,calc(100vw - 32px));max-width:none;border-radius:16px;padding:10px;max-height:80vh;overflow-y:auto;z-index:9999;box-shadow:0 20px 60px rgba(0,0,0,.6),0 0 0 100vmax rgba(0,0,0,.55)}
  .advisor-picker-row{padding:12px 10px;font-size:15px}
  .advisor-picker-title{padding:8px 10px 10px}
}
/* Bell: truncate long name/company so the right-hand countdown+date never gets pushed off-screen */
.bd-item .bd-item-name,.bd-item .bd-item-meta{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Per-advisor section in Group by Advisor view. Collapsible header with
   photo + name + count, cards inside. Mirrors the RT section visuals but
   with photo instead of RT number, and qualified/unqualified split shown
   in the subtitle instead of seat-count and roster. */
.advisor-section{margin-bottom:14px}
.advisor-section-head{
  width:100%;
  display:flex;align-items:center;gap:11px;
  padding:11px 13px;
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:10px;
  color:inherit;font:inherit;cursor:pointer;text-align:left;
  transition:background .12s,border-color .12s;
}
.advisor-section-head:hover{background:var(--bg-elev2);border-color:var(--text-3)}
.advisor-section-chev{
  display:inline-block;color:var(--text-3);font-size:11px;
  transition:transform .15s ease-out;flex-shrink:0;
}
.advisor-section.collapsed .advisor-section-chev{transform:rotate(-90deg)}
.advisor-section-photo{
  width:32px;height:32px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-tint);color:var(--accent);
  font-size:12px;font-weight:700;line-height:1;
  flex-shrink:0;overflow:hidden;
}
img.advisor-section-photo{object-fit:cover}
.advisor-section-photo-fallback{background:var(--accent-tint);color:var(--accent)}
.advisor-section-photo-unassigned{background:var(--hairline);color:var(--text-3)}
.advisor-section-meta{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.advisor-section-name{font-size:14px;font-weight:700;color:var(--text);letter-spacing:-.005em}
.advisor-section-sub{font-size:11px;color:var(--text-3);font-weight:500}
.advisor-section-count{
  font-size:11px;font-weight:600;color:var(--text-2);
  padding:3px 9px;background:var(--bg-elev2);border-radius:999px;
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
.advisor-section-body{padding-top:14px}
.advisor-section.collapsed .advisor-section-body{display:none}
/* Search override — expand all sections so every card is searchable */
body.search-active .advisor-section.collapsed .advisor-section-body{display:block}
.advisor-section-empty{
  padding:22px 14px;text-align:center;
  color:var(--text-3);font-size:12px;font-style:italic;
}
.advisor-section.unassigned .advisor-section-head{
  border-color:color-mix(in srgb, #f59e0b 30%, var(--hairline));
}

/* Settings cog icon button — appears in priority-row alongside the
   toggles. Square-ish, icon-only, opens the Active Advisors modal. */
.advisor-settings-cog{padding:6px 9px;color:var(--text-3)}
.advisor-settings-cog:hover{color:var(--text);background:var(--bg-elev)}
.advisor-settings-cog svg{display:block}

/* Active Advisors modal — settings UI for managing the active advisor
   roster. Toggle existing advisors, add new ones with name + email.
   Same visual pattern as the post-modal (Ship IX): centered card with
   close button, scrim, fade animation. */
.aa-modal-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;padding:20px;
  animation:postModalFadeIn .15s ease-out;
}
.aa-modal-card{
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:18px;padding:28px 28px 24px;
  max-width:560px;width:100%;
  max-height:88vh;overflow-y:auto;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  position:relative;
  animation:postModalSlideIn .2s ease-out;
}
.aa-modal-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  background:transparent;border:none;cursor:pointer;
  font-size:24px;line-height:1;color:var(--text-2);
  display:flex;align-items:center;justify-content:center;
  transition:background .12s, color .12s;
}
.aa-modal-close:hover{background:var(--hairline);color:var(--text)}
.aa-modal-title{
  font-size:18px;font-weight:700;color:var(--text);
  letter-spacing:-.01em;margin-bottom:6px;
}
.aa-modal-sub{
  font-size:12px;color:var(--text-2);margin-bottom:18px;line-height:1.5;
}
.aa-rows{display:flex;flex-direction:column;gap:6px;margin-bottom:22px}
.aa-row{
  display:flex;align-items:center;gap:11px;
  padding:10px 12px;
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:10px;cursor:pointer;
  transition:background .1s,border-color .1s;
}
.aa-row:hover{background:var(--bg-elev2);border-color:var(--text-3)}
.aa-row.active{
  background:color-mix(in srgb, var(--accent) 7%, var(--bg-elev));
  border-color:color-mix(in srgb, var(--accent) 28%, var(--hairline));
}
.aa-row-avatar{
  width:32px;height:32px;border-radius:50%;
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--accent-tint);color:var(--accent);
  font-size:12px;font-weight:700;line-height:1;
  flex-shrink:0;overflow:hidden;
}
img.aa-row-avatar{object-fit:cover}
.aa-row-avatar-fallback{background:var(--accent-tint);color:var(--accent)}
.aa-row-meta{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}
.aa-row-name{font-size:13px;font-weight:600;color:var(--text)}
.aa-row-sub{font-size:11px;color:var(--text-3)}
.aa-row-toggle{
  width:18px;height:18px;cursor:pointer;
  accent-color:var(--accent);
}
.aa-modal-add{
  padding:16px;background:var(--bg-elev);
  border:1px dashed var(--hairline);border-radius:10px;
}
.aa-modal-add-title{
  font-size:12px;font-weight:700;color:var(--text);
  text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px;
}
.aa-modal-add-row{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap}
.aa-modal-add-row input{
  flex:1;min-width:140px;
  padding:8px 11px;
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:8px;color:var(--text);
  font-size:13px;font-family:inherit;
}
.aa-modal-add-row input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}
.aa-add-btn{
  padding:8px 16px;
  background:var(--accent);border:1px solid var(--accent);
  border-radius:8px;color:#fff;
  font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;
  transition:filter .12s;
}
.aa-add-btn:hover{filter:brightness(1.08)}
.aa-modal-add-note{font-size:11px;color:var(--text-3);font-style:italic;line-height:1.5}

/* ─── Generic UI toast (RT moves, etc.) ─────────────────────────────────── */
/* Separate from the sync-toast (which hooks into the CSV sync subsystem) so
   ephemeral UI confirmations don't interfere with sync state. Auto-dismisses
   in ~2.5s; bottom-anchored so it doesn't fight the search bar at the top. */
/* Build 2026.07.14-2 — the fixed footer (.ft, z-index 9999, ~40px + safe-area) was covering the toast (bottom:20px, z-index 200). Lift it clear of the footer and above it in stacking order. */
.ui-toast{position:fixed;bottom:calc(64px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);background:var(--text);color:var(--bg-elev);padding:10px 16px;border-radius:8px;font-size:13px;font-weight:500;box-shadow:0 8px 20px rgba(0,0,0,.22);z-index:10000;animation:ui-toast-in .18s ease-out;pointer-events:none;max-width:90vw;text-align:center}
@keyframes ui-toast-in{from{opacity:0;transform:translate(-50%,8px)}to{opacity:1;transform:translate(-50%,0)}}

/* feedback FAB styles removed 2026-07-05 — feature retired */

/* Build 138 — Global leaderboard FAB + modal.
   Accessible from every view (founder grid, dossier, intel, post, quiz),
   so advisors can glance at standings mid-workshop without leaving the
   founder dashboard they're working in. Sits next to the feedback FAB
   on the bottom-right; offsets up by ~56px to avoid overlap. */
.glb-fab{
  position:fixed;right:16px;bottom:124px;width:48px;height:48px;
  border-radius:50%;border:1px solid var(--hairline);
  background:var(--bg-elev);color:#ffc400;
  display:flex;align-items:center;justify-content:center;
  font-size:22px;cursor:pointer;
  box-shadow:0 4px 14px rgba(0,0,0,.28);
  z-index:180;transition:transform .15s,background .15s;
  padding:0;
}
.glb-fab:hover{background:var(--hairline-2);transform:translateY(-2px)}
.glb-fab-icon{line-height:1;display:block}
@media (max-width:780px){
  .glb-fab{right:12px;bottom:116px;width:44px;height:44px;font-size:20px}
}
.glb-bg{
  position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:210;
  display:flex;align-items:flex-start;justify-content:center;padding:40px 16px 16px;
  animation:fdb-bg-in .15s ease-out;overflow-y:auto;
}
.glb-modal{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;width:100%;max-width:520px;
  display:flex;flex-direction:column;overflow:hidden;
  box-shadow:0 20px 60px rgba(0,0,0,.5);
}
.glb-hd{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:14px 18px;border-bottom:1px solid var(--hairline);
}
.glb-hd-ttl{font-size:15px;font-weight:800;color:var(--text);letter-spacing:-.01em}
.glb-hd-sub{font-size:11.5px;color:var(--text-3);margin-top:2px}
.glb-close{
  background:transparent;border:none;color:var(--text-3);
  font-size:22px;cursor:pointer;padding:0;width:28px;height:28px;
  display:flex;align-items:center;justify-content:center;border-radius:6px;
}
.glb-close:hover{background:var(--hairline);color:var(--text)}
.glb-tabs{display:flex;gap:6px;padding:10px 14px;border-bottom:1px solid var(--hairline);overflow-x:auto}
.glb-tab{
  flex-shrink:0;padding:7px 12px;border-radius:100px;border:1px solid var(--hairline);
  background:transparent;color:var(--text-2);font-size:11.5px;font-weight:700;cursor:pointer;
  font-family:inherit;transition:all .12s;letter-spacing:.02em;
}
.glb-tab:hover{background:var(--hairline-2)}
.glb-tab.act{background:#ffc400;color:#0a0a0f;border-color:#ffc400}
.glb-body{padding:8px 18px 14px;max-height:min(70vh,520px);overflow-y:auto}
.glb-empty{padding:30px 16px;text-align:center;color:var(--text-3);font-size:12.5px;line-height:1.6}

/* feedback drop-box styles removed 2026-07-05 — feature retired. Keyframe kept: .glb-bg uses it. */
@keyframes fdb-bg-in{from{opacity:0}to{opacity:1}}

/* ─────────────────────────────── CARDS ─────────────────────────────── */
.cards{padding:4px 14px 14px;display:flex;flex-direction:column;gap:10px;position:relative;z-index:2}

.card{
  background:var(--bg-elev);
  border:1px solid var(--hairline);
  border-radius:18px;
  overflow:hidden;
  position:relative;
  transition:transform .25s cubic-bezier(.2,.8,.2,1),border-color .2s,opacity .25s;
}
.card.exp{border-color:var(--hairline-2)}
/* all-used: dim only the WOW claim button — photo/name/stats stay full opacity.
   The green .ch-wow-pill.full badge already signals completion. */
.card.all-used .wow-peek-btn{opacity:.45}

/* No-show state — applies when attendanceStatus active for current view */
.card.noshow{opacity:.58;border-color:color-mix(in srgb,var(--warn) 30%,var(--hairline));position:relative}
.card.noshow .ch{filter:grayscale(.35)}
.card.noshow.exp{opacity:.85}
.card.noshow.exp .ch{filter:none}

/* Background sync indicator — small pill in header showing HubSpot sync status */
.sync-ind{display:inline-flex;align-items:center;gap:4px;font-size:10px;font-weight:600;color:var(--text-3);background:var(--bg-soft);border:1px solid var(--hairline);border-radius:20px;padding:3px 8px;cursor:default;user-select:none;transition:all .2s}
.sync-ind.syncing{color:var(--teal);border-color:var(--teal);opacity:.85}
.sync-ind.ok{color:var(--text-3)}
.sync-ind.error{color:var(--coral);border-color:var(--coral)}
.sync-ind-dot{width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}
.sync-ind.syncing .sync-ind-dot{animation:sync-pulse 1s ease-in-out infinite}
@keyframes sync-pulse{0%,100%{opacity:.3}50%{opacity:1}}

/* Gold Card — fancy styling for qualified ("Q") founders (L2Q rule: >=$1M rev, >=$200K profit, >=50% owner) */
.card.l3-golden{border:2px solid #D4A630;box-shadow:inset 0 0 16px rgba(212,166,48,.08),0 0 0 1px rgba(212,166,48,.2)}
.card.l3-golden .pc,.card.l3-golden .pc-stack{background:linear-gradient(135deg,#8B6914 0%,#6B5410 100%)}
.card.l3-golden .pc::before,.card.l3-golden .pc-stack::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);z-index:10}
.card.l3-golden .pc-pair-label{background:linear-gradient(to top, rgba(0,0,0,.95), rgba(0,0,0,.7))}
.card.l3-golden .initials{color:#FDF8F0}
.card.l3-golden .pc-flag-pill{background:rgba(0,0,0,.75);border-color:rgba(255,255,255,.25);color:#FDF8F0}

.noshow-badge{position:absolute;top:10px;right:12px;z-index:3;font-size:9px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--warn-tint);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none}

/* ARRIVED DAY 2 chip — green, signals a Day 1 no-show who came back */
.arrived-d2{position:absolute;top:10px;right:12px;z-index:3;font-size:9px;font-weight:700;padding:3px 8px;border-radius:6px;background:var(--success-tint);color:var(--success);border:1px solid color-mix(in srgb,var(--success) 40%,transparent);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;pointer-events:none}
/* Returning-attendee pill. Additive top-of-card overlay (same class as the
   no-show/arrived badges). Centered along the top edge between the fav star
   (top-left, z6) and the wow-peek/no-show controls (top-right, z6); lower
   z-index + pointer-events:none so it can never cover or block them, and
   max-width+ellipsis so it never spills into the corners. Purple matches the
   existing returners-mode accent. Set by returner-seed -> isReturner. */
.ch-returner-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.04em;line-height:1.2;background:color-mix(in srgb,#a855f7 16%,var(--bg-elev));color:#c084fc;border:1px solid color-mix(in srgb,#a855f7 45%,transparent);white-space:nowrap}

/* V11-2026.09.22-2 — Gives-back pill (card meta row) + Giving tab */
.ch-giving-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 7px;border-radius:4px;letter-spacing:.04em;line-height:1.2;background:color-mix(in srgb,#f472b6 14%,var(--bg-elev));color:#f9a8d4;border:1px solid color-mix(in srgb,#f472b6 45%,transparent);white-space:nowrap;cursor:help}
.giv-summary{font-weight:600}
.giv-level{font-size:11px;color:#8b8f98;margin-top:4px}
.giv-list{margin:6px 0 0;padding-left:18px;font-size:13px;line-height:1.6;color:var(--text)}
.giv-list li{margin:2px 0}
.giv-orgs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.giv-org{display:inline-block;font-size:12px;padding:3px 9px;border-radius:999px;background:rgba(244,114,182,.10);border:1px solid rgba(244,114,182,.35);color:#f9a8d4;text-decoration:none}
a.giv-org:hover{text-decoration:underline}
.giv-note{font-size:11px;color:#6b6f78;margin-top:14px;line-height:1.5}
.giv-note a{color:#6fb2ff;text-decoration:none}
.giv-note a:hover{text-decoration:underline}

/* Day 1 workshop stats banner — top of the grid, non-sticky, collapsible.
   Shows industry breakdown percentages across all attendees plus the most
   common stated constraint per industry. Collapsed by default — shows a
   single-row summary (top industry % + total biz + avg revenue); expanded
   shows the full industry card grid. Hidden entirely in Day 2 Mode. */
.workshop-stats{
  margin:4px 0 18px;
  border:1px solid color-mix(in srgb, var(--accent) 22%, var(--hairline));
  border-radius:18px;
  background:linear-gradient(135deg,
    color-mix(in srgb, var(--accent) 9%, var(--bg-elev)) 0%,
    color-mix(in srgb, var(--accent) 4%, var(--bg-elev)) 100%);
  box-shadow:0 1px 2px rgba(0,0,0,.02), 0 0 0 1px color-mix(in srgb, var(--accent) 8%, transparent) inset;
  overflow:hidden;
}
.workshop-stats.collapsed{padding:0}
.workshop-stats:not(.collapsed){padding:0 24px 22px}

/* Toggle button — whole header is the click target. */
.ws-toggle{
  width:100%;display:flex;align-items:center;gap:14px;
  background:transparent;border:none;padding:18px 24px;
  font-family:inherit;color:var(--text);cursor:pointer;text-align:left;
  transition:background .15s;
}
.ws-toggle.expanded{padding:22px 0 18px;margin:0}
.ws-toggle:hover{background:color-mix(in srgb, var(--accent) 4%, transparent)}
.workshop-stats:not(.collapsed) .ws-toggle:hover{background:transparent}
.ws-chev{
  font-size:16px;color:var(--text-2);transition:transform .2s;
  flex-shrink:0;width:16px;text-align:center;line-height:1;
}
.workshop-stats.collapsed .ws-chev{transform:rotate(-90deg)}

/* Header text */
.ws-header{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
.ws-title{
  font-size:16px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text);line-height:1.1;
}
.ws-subtitle{font-size:12px;color:var(--text-2);font-weight:500;line-height:1.35}

/* Collapsed-state stat strip — inline on the right side of the toggle */
.ws-collapsed-stats{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  margin-left:auto;font-size:13px;line-height:1.3;
}
.ws-cs-item{display:inline-flex;align-items:baseline;gap:8px;white-space:nowrap}
.ws-cs-lbl{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);
}
.ws-cs-val{color:var(--text);font-weight:800;font-size:15px;font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.ws-cs-pct{color:var(--accent);margin-left:2px}
.ws-cs-sep{color:var(--text-3);opacity:.5}

/* Industry stat item — name can be very long; truncate to prevent overflow.
   The percentage badge sits outside the truncated span so it's always visible. */
.ws-cs-item--industry{flex-shrink:1;min-width:0}
.ws-cs-val-industry{
  display:inline-block;vertical-align:bottom;
  max-width:min(42vw,180px);
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

/* Expanded industry card grid */
.ws-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(158px, 1fr));
  gap:12px;
}
.ws-card{
  background:var(--bg-elev);
  border:1px solid var(--hairline);
  border-radius:12px;
  padding:14px 14px 13px;
  display:flex;flex-direction:column;gap:0;min-width:0;
  transition:transform .12s, box-shadow .12s;
}
.ws-card:hover{transform:translateY(-1px);box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ws-industry{
  font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-2);margin-bottom:8px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ws-pct-row{display:flex;align-items:baseline;gap:8px;margin-bottom:4px}
.ws-pct{
  font-size:30px;font-weight:800;color:var(--accent);line-height:1;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
}
.ws-count{font-size:11px;color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums}
.ws-divider{height:1px;background:var(--hairline);margin:10px 0 10px}
.ws-con-lbl{
  font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:3px;
}
.ws-con{
  font-size:13px;font-weight:700;color:var(--text);line-height:1.25;
  overflow:hidden;text-overflow:ellipsis;
}
.ws-con.muted{color:var(--text-3);font-weight:500}
.ws-con-ct{color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums}
.ws-more{
  font-size:11px;color:var(--text-3);font-weight:500;
  margin-top:10px;text-align:center;font-style:italic;
}
@media (max-width: 720px){
  .workshop-stats{margin:4px 0 14px}
  .workshop-stats:not(.collapsed){padding:0 16px 18px}
  .ws-toggle{padding:14px 16px;gap:10px;flex-wrap:wrap}
  .ws-toggle.expanded{padding:18px 0 14px}
  .ws-title{font-size:14px}
  .ws-collapsed-stats{width:100%;margin-left:26px;gap:10px;font-size:12px;overflow:hidden}
  .ws-cs-item{flex-shrink:0}
  .ws-cs-val{font-size:14px}
  .ws-pct{font-size:24px}
  .ws-grid{grid-template-columns:repeat(2, minmax(0, 1fr));gap:10px}
  .ws-card{padding:12px}
}

/* Workshop stats — expanded state: pill row + distribution + matrix.
   The legacy .ws-grid / .ws-card rules above still exist but the expanded
   layout no longer uses them — it's two-column now (distribution + matrix).
   Pills sit between the toggle header and the two-column body. */
.ws-pills{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(150px, 1fr));
  gap:8px;margin:0 0 16px;
}
.ws-hint{
  font-size:10.5px;color:var(--text-3);line-height:1.4;
  margin:-9px 0 16px;letter-spacing:.01em;
}
.ws-hint strong{color:var(--text-2);font-weight:600}
.ws-pill{
  display:flex;flex-direction:column;justify-content:center;gap:5px;
  background:linear-gradient(180deg, var(--bg-elev), rgba(255,255,255,.012));
  border:1px solid var(--hairline);
  border-radius:12px;padding:11px 14px;min-width:0;min-height:60px;
}
.ws-pill-lbl{
  font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);line-height:1.25;
}
.ws-pill-val{
  font-size:21px;font-weight:800;color:var(--text);line-height:1.05;
  font-variant-numeric:tabular-nums;letter-spacing:-.02em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ws-pill-val .ws-pill-sub{font-size:12px;color:var(--accent);font-weight:700;margin-left:5px}
/* Clickable composition-filter pills (Returners / Vantage). Buttons that
   inherit the .ws-pill look; .active = the grid below is filtered to that
   population. The ✕ in the label is the clear affordance. */
button.ws-pill-btn{
  cursor:pointer;font-family:inherit;text-align:left;
  transition:border-color .12s ease, background .12s ease, transform .06s ease;
}
button.ws-pill-btn:hover{border-color:color-mix(in srgb, var(--accent) 45%, var(--hairline))}
button.ws-pill-btn:active{transform:scale(.985)}
button.ws-pill-btn.active{
  border-color:var(--accent);
  background:color-mix(in srgb, var(--accent) 10%, var(--bg-elev));
}
button.ws-pill-btn.active .ws-pill-lbl{color:var(--accent)}
.ws-pill-clear{margin-left:6px;font-size:9px;font-weight:800;color:var(--accent)}

.ws-body{display:block;align-items:start}
.ws-col{min-width:0}
.ws-sub-head{
  display:flex;align-items:baseline;justify-content:space-between;
  margin-bottom:10px;gap:10px;
}
.ws-sub-title{
  font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-2);
}
.ws-sub-meta{font-size:10px;color:var(--text-3);font-weight:500;letter-spacing:.04em}

/* Constraint distribution panel */
.con-dist-empty{font-size:12px;color:var(--text-3);font-style:italic;padding:20px 8px;text-align:center}
.cd-rows{display:flex;flex-direction:column;gap:5px}
.cd-row{
  display:grid;grid-template-columns:64px 1fr 24px;align-items:center;
  gap:8px;font-variant-numeric:tabular-nums;
}
.cd-lbl{font-size:12px;font-weight:600;color:var(--text)}
.cd-track{
  height:12px;background:var(--bg-elev2);border-radius:3px;overflow:hidden;
}
.cd-fill{
  display:block;height:100%;background:var(--accent);
  border-radius:3px;transition:width .25s ease;
}
.cd-ct{font-size:12px;font-weight:700;color:var(--text);text-align:right}
.cd-row.zero .cd-lbl{color:var(--text-3);font-weight:500}
.cd-row.zero .cd-ct{color:var(--text-3);font-weight:500}
.cd-row.zero .cd-fill{background:var(--hairline-2)}

/* Per-RT constraint mix chart — reuses .cd-row structure at slightly tighter
   sizing so the banner cell doesn't balloon. Inherits everything else. */
.rt-cd-rows{gap:4px;max-width:360px}
.rt-cd-rows .cd-row{grid-template-columns:58px 1fr 22px;gap:7px}
.rt-cd-rows .cd-lbl{font-size:11px;font-weight:600}
.rt-cd-rows .cd-track{height:10px}
.rt-cd-rows .cd-ct{font-size:11px;font-weight:700}

/* Industry scope dropdown — sits inside the bar-chart header where the
   "Constraint mix" label used to live. Styled as a prominent select so it
   reads like the chart's title but reveals a dropdown arrow on hover.
   Picking an industry re-scopes the chart's counts; default value "" shows
   "Room mix" (whole-room view). Grid filtering is separate (search row). */
.ws-scope-sel{
  height:30px;padding:0 26px 0 10px;margin:-2px 0;
  background:transparent;border:1px solid transparent;
  border-radius:8px;color:var(--text);
  font-size:12px;font-family:inherit;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;
  cursor:pointer;max-width:100%;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
  transition:background-color .12s,border-color .12s,color .12s;
}
.ws-scope-sel:hover{background-color:var(--bg-elev);border-color:var(--hairline)}
.ws-scope-sel:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-tint)}
.ws-scope-sel.active{
  color:var(--accent);border-color:var(--accent-line);
  background-color:var(--accent-tint);
}

/* Filter row under the search — three dropdowns that narrow the grid by
   industry, constraint category, or revenue band. Compact on desktop,
   wraps cleanly on mobile. Native <select> to stay fast on touch. */
.filter-row{
  display:flex;gap:8px;align-items:center;flex-wrap:wrap;
  margin:0 14px 10px;
}
.filter-sel{
  height:34px;padding:0 30px 0 12px;
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:10px;color:var(--text);font-size:13px;font-family:inherit;
  font-weight:500;cursor:pointer;
  -webkit-appearance:none;appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='none' stroke='%23888' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round' d='M3 4.5 6 7.5 9 4.5'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 10px center;
  transition:border-color .12s,background-color .12s,color .12s;
  max-width:100%;
}
.filter-sel:hover{background-color:var(--bg-elev2);border-color:var(--hairline-2)}
.filter-sel:focus{outline:none;border-color:var(--accent-line);box-shadow:0 0 0 3px var(--accent-tint)}
.filter-sel.active{
  border-color:var(--accent-line);color:var(--accent);font-weight:700;
  background-color:var(--accent-tint);
}
.filter-reset{
  height:34px;padding:0 14px;margin-left:auto;
  background:transparent;border:1px solid var(--hairline-2);
  border-radius:10px;color:var(--text-2);font-size:12px;font-weight:600;
  font-family:inherit;cursor:pointer;letter-spacing:.02em;
  transition:background .12s,color .12s;
}
.filter-reset:hover{background:var(--bg-elev2);color:var(--text)}
@media (max-width: 720px){
  .filter-row{gap:6px;margin:0 10px 10px}
  .filter-sel{font-size:12px;height:32px;padding:0 26px 0 10px;flex:1 1 calc(50% - 4px);min-width:0}
  .filter-reset{margin-left:0;height:32px;flex:1 1 100%}
}

/* Active-filter pills above the grid — one per active filter dropdown.
   Pill has its own × to remove just that filter; multi-filter states also
   get a Clear all button. Same visual family as the old matrix filter bar. */
.filter-bar{
  margin:-6px 14px 12px;padding:10px 14px;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  background:var(--accent-tint);border:1px solid var(--accent-line);
  border-radius:12px;font-size:13px;
}
.filter-bar .filter-lbl{
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--accent);flex-shrink:0;
}
.ft-pill{
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 4px 3px 10px;background:var(--bg-elev);
  border:1px solid var(--accent-line);border-radius:999px;
  font-size:12px;
}
.ft-pill-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);
}
.ft-pill-val{
  font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;
  max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.ft-pill-x{
  width:20px;height:20px;border:none;background:transparent;
  color:var(--accent);font-size:16px;line-height:1;cursor:pointer;
  border-radius:50%;padding:0;display:inline-flex;align-items:center;justify-content:center;
  transition:background .12s;
}
.ft-pill-x:hover{background:var(--accent-tint);color:var(--text)}
.ft-clear-all{
  margin-left:auto;background:transparent;border:1px solid var(--accent-line);
  color:var(--accent);font-weight:600;font-size:12px;
  padding:5px 12px;border-radius:999px;cursor:pointer;
  font-family:inherit;transition:background .12s;
}
.ft-clear-all:hover{background:var(--bg-elev)}

/* Revenue band pill — lives in .ch-flags row, colored per band.
   Inline background/color come from JS (REV_BANDS palette) so the badge
   always reads against whichever band color applies, but shape/size/letter-
   spacing is standardized here. */
.flag.rev-band{
  text-transform:none;letter-spacing:.01em;font-weight:700;font-size:10px;
  padding:2px 8px;border-style:solid;
}

/* Mobile tuning for the expanded stats body */
@media (max-width: 720px){
  .ws-body{grid-template-columns:1fr;gap:18px}
  .ws-pills{grid-template-columns:repeat(2, minmax(0,1fr));gap:6px}
  .rt-cd-rows{max-width:none}
}

/* Round Table sections — Day 2 mode only */
.rt-section{margin:8px 14px 14px;border:1px solid var(--hairline);border-radius:16px;background:var(--bg-elev);overflow:hidden}
.rt-section+.rt-section{margin-top:10px}
.rt-head{
  width:100%;display:flex;flex-direction:column;align-items:stretch;gap:8px;
  padding:22px 24px;background:transparent;border:none;cursor:pointer;
  font-family:inherit;color:var(--text);transition:background .15s;text-align:left;
}
.rt-head:hover{background:var(--bg-elev2)}
.rt-head-top{display:flex;align-items:center;gap:12px}
.rt-chev{font-size:16px;color:var(--text-3);transition:transform .2s;flex-shrink:0;width:16px;text-align:center;line-height:1}
.rt-section.collapsed .rt-chev{transform:rotate(-90deg)}
.rt-section.collapsed .rt-body{display:none}
body.search-active .rt-section.collapsed .rt-body{display:block}
.rt-title{
  font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--text);
  line-height:1.15;flex:1;min-width:0;
}
.rt-attendees-pill{
  font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--text);
  background:color-mix(in srgb, var(--accent) 14%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);
  padding:5px 12px;border-radius:999px;white-space:nowrap;
  font-variant-numeric:tabular-nums;flex-shrink:0;
}
/* Build 42 — supplementary "+N" indicator showing additional roster
   members (companions / +1s) beyond the primary founder count. Quieter
   weight so the headline number is the founder count, not the totalSeats
   blob that previously made high-roster tables look like 100+ attendees. */
.rt-roster-add{
  font-weight:600;font-size:11px;color:var(--text-3);margin-left:4px;
  padding:2px 5px;border-radius:6px;
  background:color-mix(in srgb, var(--text-3) 10%, transparent);
}
.rt-head-strip{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding-left:28px;  /* align under title, past the chevron */
  font-size:13px;line-height:1.3;color:var(--text-2);
}
.rt-head-strip .sep{color:var(--text-3);opacity:.6}
.rt-head-strip .lbl{color:var(--text-3);font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-right:2px}
.rt-head-strip .val{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums}
.rt-head-strip .val .pct{color:var(--accent);margin-left:3px}
.rt-hint{font-size:11px;color:var(--text-3);font-style:italic}
.rt-body{padding:0}
.rt-body .cards{padding:0 12px 12px}
.rt-section.unassigned .rt-title{color:var(--text-2);font-weight:700}
.rt-section.unassigned{border-style:dashed;opacity:.88}
@media (max-width: 720px){
  .rt-head{padding:18px 18px}
  .rt-title{font-size:19px}
  .rt-attendees-pill{font-size:12px;padding:4px 10px}
  .rt-head-strip{padding-left:0;font-size:12px;gap:10px}
}

/* Stats banner — each RT section leads with this panel so advisors can size
   up the table composition at a glance before looking at individual cards.
   Grid of 4 cells: Attendees · Avg Revenue · Industries · Top Constraints. */
.rt-stats{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:24px 32px;
  padding:20px 22px 22px;
  background:color-mix(in srgb, var(--accent) 7%, var(--bg-elev));
  border-bottom:1px solid var(--hairline);
  align-items:start;
}
.rt-stat{display:flex;flex-direction:column;gap:8px;min-width:0}
.rt-stat.wide{grid-column:span 1}
.rt-stat-lbl{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);
}
.rt-stat-val{
  font-size:26px;font-weight:800;color:var(--text);
  font-variant-numeric:tabular-nums;line-height:1.1;letter-spacing:-.01em;
}
.rt-stat-val.muted{color:var(--text-3);font-weight:600}
.rt-stat-list{display:flex;flex-direction:column;gap:5px;min-width:0}
.rt-stat-item{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  font-size:14px;font-weight:600;color:var(--text);line-height:1.25;min-width:0;
}
.rt-stat-item .lbl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-stat-item .pct,.rt-stat-item .ct{
  color:var(--accent);font-weight:700;font-variant-numeric:tabular-nums;
  flex-shrink:0;
}
@media (max-width: 720px){
  .rt-stats{grid-template-columns:repeat(2, minmax(0, 1fr));gap:18px 20px;padding:16px 16px 18px}
  .rt-stat-val{font-size:22px}
  .rt-stat-item{font-size:13px}
}

/* ─── Day 2 per-roundtable composition panel (rt-stats-v2) ──────────────
   Mirrors the Day 1 room-composition widget layout: summary tiles row,
   Industries + Revenue bands pies, country chips, and a constraint-mix
   bar chart that's specific to Day 2. Same color taxonomy as Day 1 so
   advisors read a given industry or revenue bucket as the same color
   on both tabs. */
.rt-stats-v2{
  display:flex;flex-direction:column;gap:14px;
  padding:18px 18px 20px;
  background:color-mix(in srgb, var(--accent) 7%, var(--bg-elev));
  border-bottom:1px solid var(--hairline);
}
.rt-summary{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:20px 32px;align-items:start;
}
/* Piechart wrap inside a roundtable — slightly tighter than Day 1 so two
   pies fit inside a card on laptop widths without looking oversized */
.rt-piechart-wrap{margin:0;gap:12px}
.rt-pie-card{padding:14px 14px 12px;gap:10px;background:var(--bg-elev)}
.rt-pie-card .ws-pie{width:160px;height:160px}
.rt-countries{margin:0;background:var(--bg-elev)}
.ws-country-ct{color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums;margin-left:2px;font-size:12px}
.rt-conmix{
  display:flex;flex-direction:column;gap:10px;
  padding:14px 14px 12px;
  background:var(--bg-elev);border:1px solid var(--hairline);border-radius:14px;
}
.rt-conmix .rt-stat-lbl{font-size:12px;color:var(--text-2)}
@media (max-width: 720px){
  .rt-stats-v2{padding:14px 14px 16px;gap:12px}
  .rt-summary{grid-template-columns:repeat(2, minmax(0, 1fr));gap:14px 16px}
  .rt-piechart-wrap{grid-template-columns:1fr}
  .rt-pie-card .ws-pie{width:150px;height:150px}
}

/* Roster-row tags: 'Plus One of X' and 'Not qualified' */
.rr-tag{
  font-size:10px;font-weight:700;letter-spacing:.04em;
  padding:2px 7px;border-radius:999px;white-space:nowrap;
  flex-shrink:0;
}
.rr-tag.plus-one{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 28%, transparent)}
.rr-tag.unqualified{background:color-mix(in srgb, var(--text-3) 14%, transparent);color:var(--text-2);border:1px solid var(--hairline)}

/* ── Companion indicator (collapsed card) ──────────────────────────────────── */
/* ── Companion header badge (collapsed card) ──────────────────────────────────
   Discrete indicator on the primary card's header area telling advisors
   there are companions attached — visible without expanding. Intentionally
   quieter than the buyer badges; companions are context, not action items. */
.companion-header-badge{
  display:inline-flex;align-items:center;gap:5px;
  margin:0 14px 10px;
  padding:3px 8px 3px 7px;
  font-size:10.5px;font-weight:600;line-height:1;
  color:var(--accent);
  background:color-mix(in srgb, var(--accent) 10%, transparent);
  border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  border-radius:999px;
  pointer-events:none;
  white-space:nowrap;
  max-width:calc(100% - 28px);
  overflow:hidden;text-overflow:ellipsis;
}
.companion-header-badge svg{flex-shrink:0;opacity:.8}
/* Legacy indicator styles — kept for backwards compat with any cached renders */
.companion-indicator{display:none}
.companion-dot{display:none}
.companion-indicator-lbl{display:none}

/* ── Companion cards (expanded card) ──────────────────────────────────────────
   Each companion gets their own mini card: initials avatar + name + role.
   Looks like a real card — same border/radius language as the main dossier
   cards — just scaled down so it reads as "belongs to this primary" without
   competing with the primary's stats block. Multiple companions stack
   vertically with a small gap. */
.companion-section{
  padding:10px 14px 12px;
  border-top:1px solid var(--hairline);
}
.companion-section-hd{
  font-size:9.5px;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--text-3);
  margin-bottom:8px;
}
.companion-mini-cards{
  display:flex;flex-direction:column;gap:6px;
}
/* companion-mini is now a proper card row */
.companion-mini{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:10px;
  min-width:0;
  transition:background .12s ease,border-color .12s ease;
}
.companion-mini-av{
  width:32px;height:32px;border-radius:50%;
  background:color-mix(in srgb, var(--accent) 18%, var(--bg-elev));
  border:1px solid color-mix(in srgb, var(--accent) 28%, transparent);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
  color:var(--accent);letter-spacing:.04em;
  flex-shrink:0;overflow:hidden;
}
.companion-mini-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.companion-mini-body{display:flex;flex-direction:column;gap:1px;min-width:0;flex:1}
.companion-mini-name{
  font-size:13px;font-weight:700;color:var(--text);line-height:1.25;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.companion-mini-role{
  font-size:11px;color:var(--text-3);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}

/* Roster rows — Plus Ones, non-qualifying primaries, companions; every attendee
   seated at the table but not represented by a dossier card */
.roster-list{padding:4px 12px 12px;display:flex;flex-direction:column;gap:4px}
.roster-row{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:10px;font-size:12px;line-height:1.35}
.roster-row.noshow{opacity:.58;filter:grayscale(.35)}
.roster-row-click{cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .08s ease}
.roster-row-click:hover{background:color-mix(in srgb, var(--accent) 8%, var(--bg-elev2));border-color:color-mix(in srgb, var(--accent) 35%, var(--hairline))}
.roster-row-click:active{transform:translateY(1px)}
.roster-row-click:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.roster-av{width:26px;height:26px;border-radius:50%;background:var(--bg-elev);border:1px solid var(--hairline);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:var(--text-2);letter-spacing:.04em;flex-shrink:0}
.roster-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%}
.roster-co{color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;font-weight:500}
.roster-badge{font-size:8px;font-weight:700;padding:2px 6px;border-radius:4px;background:var(--warn-tint);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;flex-shrink:0}

/* Day 1 notes viewed on Day 2 — dimmed so Day 2 context reads forward */
.note-card.d1-on-d2{opacity:.72}
.note-card.d1-on-d2 .note-body{color:var(--text-2)}
.note-day-chip{display:inline-block;font-size:9px;font-weight:700;padding:2px 6px;border-radius:4px;margin-left:6px;letter-spacing:.06em;vertical-align:middle;line-height:1.4}
.note-day-chip.d1{background:var(--bg-elev2);color:var(--text-3);border:1px solid var(--hairline)}
.note-day-chip.d2{background:var(--accent-tint);color:var(--accent);border:1px solid var(--accent-line)}

/* ─────────────────────────────────────────────────────────────────────────
   CARD HEADER — HERO POSTER LAYOUT (build 2026.04.22-45)
   Photo is the card. Name overlaid in gradient. Buyer badges & flag float
   over photo. Stats demoted to a strip below. Optimized for face
   recognition at across-the-room distance on mobile.
   ───────────────────────────────────────────────────────────────────────── */
.ch{display:flex;flex-direction:column;cursor:pointer;position:relative;padding:0;gap:0}
/* Top row inside the card head — photo column + name/meta column side-by-side.
   Replaces the old single-row layout so the stats row can break out below
   to full card width on mobile (no more truncation when paired photos +
   large rev numbers compete for the same horizontal space). */
.ch-top{display:flex;align-items:stretch;gap:0;min-width:0}

/* PHOTO COLUMN — square 140x140 solo, 200x140 paired (stays 140 tall regardless).
   border-radius:8px gives an intentional modern square (matches card chrome
   proportions). Defensive border-radius:0 on imgs overrides any legacy
   inline circle styling that might have shipped with older uploads. */
.pc{position:relative;width:140px;height:140px;flex-shrink:0;background:var(--bg-elev2);overflow:hidden;display:flex;align-items:center;justify-content:center;border-radius:8px}

/* Blurred backdrop layer — same photo, blurred + darkened, fills corners
   for legacy circle photos and aspect-mismatched uploads. Aggressive inset
   so the blur smears into corners even when source has circular alpha mask. */
.pc-blur{position:absolute;inset:-10%;width:120%;height:120%;object-fit:cover;filter:blur(22px) saturate(1.35) brightness(.55);z-index:0;pointer-events:none;transform:translateZ(0);border-radius:0!important}

/* Main (sharp) photo — object-fit:cover. Subtle unifying filter. */
.pc img.pc-main,.pc>img:not(.pc-blur){position:relative;width:100%;height:100%;object-fit:cover;display:block;z-index:1;filter:saturate(.92) contrast(1.04);border-radius:0!important}
.pc .initials{position:relative;z-index:1;font-size:48px;font-weight:600;color:var(--text-3);letter-spacing:0.02em;line-height:1}

/* Inset edge vignette */
.pc::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 32px rgba(0,0,0,.22)}

/* Camera button — bottom-right of photo */
.pc-edit-btn{position:absolute;bottom:6px;right:6px;width:28px;height:28px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.22);color:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;cursor:pointer;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);box-shadow:0 2px 6px rgba(0,0,0,.4);transition:all .15s;z-index:4;padding:0;font-family:inherit}
.pc-edit-btn:hover{background:rgba(0,0,0,.72);border-color:rgba(255,255,255,.38);color:#fff;transform:scale(1.05)}
.pc-edit-btn:active{transform:scale(.95)}
.pc-edit-btn svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.pc-edit-btn.empty{background:rgba(139,92,246,.55);border-color:rgba(255,255,255,.35);box-shadow:0 2px 8px rgba(139,92,246,.45)}
.pc-edit-btn.empty:hover{background:rgba(139,92,246,.72)}

/* PAIRED PHOTOS — column splits VERTICALLY into two portrait halves side-by-side.
   Each half ~100px wide x 140px tall. Portrait orientation matches face shape.
   Outer container gets the rounded corners; inner pairs stay square so the
   1px gap between them reads cleanly. */
.pc-stack{position:relative;width:200px;height:140px;flex-shrink:0;display:grid;grid-template-columns:1fr 1fr;gap:1px;background:rgba(255,255,255,.12);overflow:hidden;border-radius:8px}
/* Build V11-2026.06.09-3 — trio layout: 3-owner companies get a third photo slot */
.pc-stack.trio{width:246px;grid-template-columns:1fr 1fr 1fr}
.wow-who{display:inline-block;font-size:9px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);padding:2px 7px;border-radius:5px;margin-bottom:5px}
.pc-stack .pc-pair{position:relative;background:var(--bg-elev2);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pc-stack .pc-pair .pc-blur{position:absolute;inset:-12%;width:124%;height:124%;object-fit:cover;filter:blur(18px) saturate(1.35) brightness(.55);z-index:0;pointer-events:none;border-radius:0!important}
.pc-stack .pc-pair img.pc-main,.pc-stack .pc-pair>img:not(.pc-blur){position:relative;width:100%;height:100%;object-fit:cover;display:block;z-index:1;filter:saturate(.92) contrast(1.04);border-radius:0!important}
.pc-stack .pc-pair .initials{position:relative;z-index:1;font-size:36px;font-weight:600;color:var(--text-3);letter-spacing:0.02em;line-height:1}
.pc-stack .pc-pair::after{content:"";position:absolute;inset:0;pointer-events:none;z-index:2;box-shadow:inset 0 0 24px rgba(0,0,0,.2)}
.pc-stack .pc-pair .pc-edit-btn{width:24px;height:24px;bottom:5px;right:5px}
.pc-stack .pc-pair .pc-edit-btn svg{width:11px;height:11px}
/* Small name label at bottom of each half so a glance at the face also
   tells you who's who (canonical combined name still in the data column) */
.pc-pair-label{position:absolute;left:0;right:0;bottom:0;padding:5px 7px 5px;background:linear-gradient(to top, rgba(0,0,0,.85), rgba(0,0,0,0));color:#fff;font-size:9.5px;font-weight:700;letter-spacing:.01em;line-height:1.15;text-shadow:0 1px 4px rgba(0,0,0,.6);pointer-events:none;z-index:2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* COUNTRY FLAG + NAME overlay (top-left of photo). Flag emoji + country name
   in a small pill so advisors don't have to memorize flags. */
.pc-flag-pill{position:absolute;top:6px;left:6px;display:inline-flex;align-items:center;gap:4px;padding:3px 7px 3px 5px;border-radius:999px;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);font-size:10px;font-weight:600;color:#fff;line-height:1;letter-spacing:.01em;box-shadow:0 1px 4px rgba(0,0,0,.4);max-width:calc(100% - 12px);z-index:3}
.pc-flag-pill .pc-flag-emoji{font-size:12px;line-height:1;flex-shrink:0}
.pc-flag-pill .pc-flag-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:90px}
/* On paired (200px wide), give country name more room */
.pc-stack .pc-flag-pill .pc-flag-name{max-width:140px}

/* ── PAIRED-FOUNDER STACKED LAYOUT ────────────────────────────────────────
   When both founders share a card, the default side-by-side layout leaves
   empty space below the photos while cramming long names + all meta info
   into a narrow right column. Fix: photos span full card width at the top,
   info wraps below at full width. Long names get room; wasted space gone.
   Only fires when .pc-stack is present — single-founder cards unaffected. */
.ch-top:has(.pc-stack){flex-wrap:wrap;align-items:flex-start}
.card:has(.pc-stack) .companion-header-badge,.card:has(.pc-stack) .companion-section{display:none}
/* ^^ Paired cards: co-founder is already shown in the stacked photo layout
   so the companion badge and the 'ALSO ATTENDING' section are suppressed.
   The nesting logic also prevents new nesting of partnerName matches. */
.ch-top:has(.pc-stack) .pc-stack{width:100%;height:182px;border-radius:0}
.ch-top:has(.pc-stack) .ch-info{flex:0 0 100%;width:100%;min-width:0}
.ch-top:has(.pc-stack) .ch-founder.paired{font-size:16px;line-height:1.22}

/* Confidence dot — small dot in top-right of photo */
.conf-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px rgba(0,0,0,.35),0 1px 4px rgba(0,0,0,.4)}
.conf-dot.full{background:var(--success)}
.conf-dot.partial{background:var(--warn)}
.conf-dot.minimal{background:var(--danger)}
.pc-conf-dot{position:absolute;top:9px;right:9px;z-index:3}

/* DATA COLUMN — right side, structured layout */
.ch-info{flex:1;min-width:0;padding:11px 12px 11px 13px;display:flex;flex-direction:column;gap:7px;position:relative}

/* Edit pencil — stacks BELOW the wow-peek sparkle button (which sits at
   top:8/right:8, 34px tall). Build 37 — was at top:5/right:5 and getting
   completely covered by .wow-peek-btn (z:6, bigger footprint). The comment
   used to claim "edit pencil tucks under it on the rare card without
   partner" but the geometry was wrong: 34px circle at right:8 covered
   most of a 26px circle at right:5 every time. Moved to top:50 (just
   below wow-peek's 8+34=42px bottom edge plus 8px gap) so they stack. */
.ch-edit{position:absolute;top:50px;right:8px;width:26px;height:26px;border:none;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;z-index:5}
.ch-edit:hover{color:var(--text);background:var(--bg-elev2)}
.ch-edit svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Copy-dossier button (build 2026.07.13-6, sales-team request) — stacks
   BELOW the edit pencil in the same top-right control column: pencil sits
   at top:50 and is 26px tall, so 50+26+6px gap = 82. Same footprint and
   hover behavior as .ch-edit so the column reads as one action stack.
   One tap copies the dossier + prework as plain text for AI prompts. */
.copy-dossier-btn{position:absolute;top:82px;right:8px;width:26px;height:26px;border:none;background:transparent;color:var(--text-3);cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:6px;padding:0;flex-shrink:0;z-index:5}
.copy-dossier-btn:hover{color:var(--text);background:var(--bg-elev2)}
.copy-dossier-btn:active{transform:scale(.92)}
.copy-dossier-btn svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* Name + company block */
.ch-name-block{padding-right:28px;min-width:0}
.ch-founder{font-size:17px;font-weight:700;color:var(--text);letter-spacing:-0.01em;line-height:1.18;margin:0;word-break:break-word;display:block}
.ch-founder.paired{font-size:13.5px;line-height:1.22}
.ch-founder-txt{display:inline}
.ch-founder-and{color:var(--text-3);font-weight:500;margin:0 3px}
.ch-company{font-size:12px;color:var(--text-2);font-weight:500;margin:1px 0 0;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;line-height:1.3}

/* Meta row (industry · RT · ratio) */
.ch-meta-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px;color:var(--text-2);font-weight:500;line-height:1.2;padding-right:36px}
.ch-meta-item{display:inline-flex;align-items:center;gap:4px;line-height:1}
/* Build 121 — country flag pill. Subtle (no border, no tint), reads as
   a passport stamp: emoji + short country label. Emoji slightly larger
   than text for visibility on small viewports. */
.ch-flag-pill{gap:3px}
.ch-flag-emoji{font-size:13px;line-height:1}
.ch-flag-lbl{color:var(--text-3);font-weight:500}
/* Build 111 — multi-contact company badge. Amber so advisors notice "this
   person is at a company with other attendees in the room." Tooltip lists
   the other names. Style mirrors ch-wow-pill.partial (the warn variant)
   so it looks deliberate and consistent with existing pill vocabulary. */
.ch-cogroup-pill{font-weight:700;padding:2px 6px;border-radius:4px;font-size:10px;letter-spacing:.02em;border:1px solid color-mix(in srgb,var(--warn) 40%,transparent);background:var(--warn-tint);color:var(--warn);cursor:help}
/* Build 143 — related-attendee pill (spouse/relative in room w/ different business) */
.ch-related-pill{font-weight:700;padding:2px 6px;border-radius:4px;font-size:10px;letter-spacing:.02em;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);color:var(--accent);cursor:help}
.ch-related-pill .ch-related-co{font-weight:500;opacity:.75}
/* Build 144 — social reach pill. Three loudness tiers (100K / 500K / 1M+)
   so advisors instantly spot founders with big audiences. Only renders at
   100K+ total followers (computed from f.socials[], Pipeline B). */
.ch-social-pill{font-weight:700;padding:2px 6px;border-radius:4px;font-size:10px;letter-spacing:.02em;cursor:help}
.ch-social-pill.tier-100k{border:1px solid rgba(77,163,255,.4);background:rgba(77,163,255,.12);color:#6fb2ff}
.ch-social-pill.tier-500k{border:1px solid rgba(255,176,32,.45);background:rgba(255,176,32,.13);color:#ffbf47}
.ch-social-pill.tier-1m{border:1px solid rgba(255,120,60,.6);background:linear-gradient(90deg,rgba(255,90,90,.18),rgba(255,170,40,.18));color:#ff9d5c;box-shadow:0 0 6px rgba(255,140,60,.28)}
/* Build 145 — pill now shows at every level; quiet below 50K, warming up at 50K */
.ch-social-pill.tier-sub{border:1px solid rgba(255,255,255,.10);background:rgba(255,255,255,.04);color:#8b8f98;font-weight:600}
.ch-social-pill.tier-50k{border:1px solid rgba(120,200,160,.35);background:rgba(120,200,160,.10);color:#8fd6b0}
/* Build 145 — active-ads pill (Meta Ad Library check) */
.ch-ads-pill{font-weight:700;padding:2px 6px;border-radius:4px;font-size:10px;letter-spacing:.02em;cursor:help;border:1px solid rgba(240,190,60,.4);background:rgba(240,190,60,.10);color:#e8c25a}
/* Build 145 — Social tab */
.soc-head{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:#6b6f78;padding:8px 0 4px;border-bottom:1px solid rgba(255,255,255,.07)}
.soc-row{display:grid;grid-template-columns:1.4fr .7fr .8fr 1fr;gap:8px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:12.5px}
.soc-row a{color:#6fb2ff;text-decoration:none}
.soc-row a:hover{text-decoration:underline}
.soc-handle{color:#6b6f78;font-size:11px;margin-left:4px}
.soc-count{font-weight:700;color:#e8eaf0}
.soc-freq{color:#a7abb5}
.soc-na{color:#565a63;font-style:italic;font-weight:400}
.soc-total{font-weight:700}
.soc-growth{font-size:11px;font-weight:700;margin-right:8px;cursor:help}
.soc-growth.up{color:#5fd08a}
.soc-growth.down{color:#ff7a7a}
.soc-checked{font-size:10px;color:#565a63}
.soc-note{font-size:10.5px;color:#6b6f78;padding-top:8px;line-height:1.5}
/* Build 145 — Ads tab */
.ads-live{color:#5fd08a;font-weight:800;font-size:11px;letter-spacing:.05em;margin-right:2px}
.ch-meta-divider{color:var(--text-3);opacity:.5}
.ch-rt-pill{background:var(--bg-elev2);border:1px solid var(--hairline);color:var(--text);font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.04em;line-height:1.2}
/* WOW usage counter on card header — color-coded by state so advisors can
   spot at-a-glance which founders haven't been hit with a wow fact yet:
   red = 0 used (needs attention), amber = partial, green = all used. */
.ch-wow-pill{display:inline-flex;align-items:center;gap:3px;font-size:10px;font-weight:700;padding:2px 6px;border-radius:4px;letter-spacing:.04em;line-height:1.2;border:1px solid var(--hairline);background:var(--bg-elev2);color:var(--text)}
.ch-wow-pill.zero{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 45%,transparent);color:var(--danger)}
.ch-wow-pill.partial{background:var(--warn-tint);border-color:color-mix(in srgb,var(--warn) 40%,transparent);color:var(--warn)}
.ch-wow-pill.full{background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 40%,transparent);color:var(--success)}

/* Country chip — sits at the bottom of the info column in the open space
   left by the moved-out stats row. Pushed to bottom via margin-top:auto so
   it grounds the right column at the same baseline as the photo bottom. */
.ch-country{display:inline-flex;align-items:center;gap:6px;margin-top:auto;padding:5px 9px 5px 7px;border-radius:6px;background:var(--bg-elev2);border:1px solid var(--hairline);font-size:11px;color:var(--text-2);font-weight:600;align-self:flex-start;line-height:1.1;max-width:100%;overflow:hidden}
.ch-country-flag{font-size:14px;line-height:1;flex-shrink:0}
.ch-country-name{letter-spacing:.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Stats row — now full card width below the photo+info top row. Gets its own
   horizontal padding since it's no longer nested inside .ch-info. */
.ch-stats-row{display:grid;grid-template-columns:repeat(5,1fr);gap:0;padding:8px 10px;border-top:1px solid var(--hairline)}
.ch-stats-row .s{text-align:left;position:relative;padding-right:4px;min-width:0}
.ch-stats-row .s+.s{padding-left:6px}
.ch-stats-row .s+.s::before{content:"";position:absolute;left:0;top:3px;bottom:3px;width:1px;background:var(--hairline)}
.ch-stats-row .s .v{font-size:12px;font-weight:700;color:var(--text);letter-spacing:-0.015em;line-height:1.1;font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ch-stats-row .s.accent .v{color:var(--accent)}
.ch-stats-row .s .l{font-size:7.5px;font-weight:700;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-top:3px}

/* Buyer badges row — full card width below stats */
.ch-badges-row{display:flex;gap:4px;flex-wrap:wrap;padding:0 14px 10px;min-height:0}
.ch-badges-row:empty{display:none}
.ch-badges-row .buyer-badge{font-size:9px;font-weight:800;letter-spacing:.06em;padding:3px 6px;border-radius:4px;line-height:1}
/* Flags row — max 3 pills total, single row, overflow hidden. Individual
   pill widths are capped so long country names or industries never push out */
.ch-flags{display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden;max-width:100%}
.flag{font-size:9px;padding:2px 7px;border-radius:4px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:140px;flex-shrink:1;min-width:0}
.flag.n{background:var(--bg-elev2);color:var(--text-2);border:1px solid var(--hairline)}
.flag.a{background:var(--accent-tint);color:var(--accent);border:1px solid var(--accent-line)}
.flag.w{background:var(--warn-tint);color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 30%,transparent)}
.flag.country{background:var(--bg-elev2);color:var(--text);border:1px solid var(--hairline-2);text-transform:none;letter-spacing:0.01em;font-weight:500;font-size:10px;padding:2px 8px;display:inline-flex;align-items:center;gap:4px}
.flag.industry{background:var(--bg-elev2);color:var(--text);border:1px solid var(--hairline-2);text-transform:none;letter-spacing:0.01em;font-weight:500;font-size:10px;padding:2px 8px}
.flag.critical{background:color-mix(in srgb,var(--warn) 18%,var(--bg));color:var(--warn);border:1px solid color-mix(in srgb,var(--warn) 45%,transparent);font-weight:700;text-transform:uppercase;letter-spacing:.06em}

/* Mobile: let the pills wrap onto a second row so country/rev-band/industry
   tags aren't truncated on narrow phones. Desktop still uses single-row +
   ellipsis to keep the collapsed card compact. */
@media (max-width:600px){
  .ch-flags{flex-wrap:wrap;overflow:visible;row-gap:4px}
  .flag{max-width:100%;flex-shrink:0;overflow:visible;text-overflow:clip}
  .flag.country,.flag.industry,.flag.rev-band{max-width:100%}
}

/* ─── Room composition: pie charts + country chips ─── */
.ws-piechart-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:4px 0 14px}
@media (max-width:720px){ .ws-piechart-wrap{grid-template-columns:1fr;gap:14px} }
.ws-pie-card{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:14px;padding:16px 16px 14px;display:flex;flex-direction:column;gap:12px;min-width:0}
.ws-pie-title{font-size:12px;font-weight:700;color:var(--text-2);letter-spacing:.1em;text-transform:uppercase;margin:0}
/* Always stack pie above legend — keeps the pie large enough to read on every width */
.ws-pie-body{display:flex;flex-direction:column;align-items:center;gap:14px;min-width:0}
.ws-pie{width:180px;height:180px;border-radius:50%;flex-shrink:0;position:relative;box-shadow:inset 0 0 0 2px var(--bg-elev)}
.ws-pie-empty{background:var(--hairline);display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-3)}
.ws-pie-legend{width:100%;min-width:0;display:flex;flex-direction:column;gap:6px;font-size:13px}
.ws-pie-row{display:flex;align-items:center;gap:10px;min-width:0}
.ws-pie-swatch{width:13px;height:13px;border-radius:3px;flex-shrink:0}
.ws-pie-name{flex:1;min-width:0;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:500}
.ws-pie-pct{color:var(--text-3);font-weight:600;font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px}
.ws-pie-ct{color:var(--text-3);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:12px;min-width:22px;text-align:right}

.ws-countries{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:14px;padding:12px 14px;display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-bottom:4px}
.ws-countries-lbl{font-size:11px;font-weight:700;color:var(--text-2);letter-spacing:.1em;text-transform:uppercase;margin-right:4px}
.ws-country-chip{display:inline-flex;align-items:center;gap:6px;background:var(--bg-elev);border:1px solid var(--hairline-2);border-radius:999px;padding:5px 12px;font-size:13px;color:var(--text);font-weight:500}
.ws-country-chip .ws-country-flag{font-size:15px;line-height:1}

/* ─── Revenue band nickname strip (Day 1 only) ───────────────────────────
   Attendee count per internal REV_BANDS nickname (Model / Swamp / People /
   A Players). Tile colors come straight from the REV_BANDS palette so the
   strip color-matches the per-card revenue pill on every dossier card.
   Not Day-1-gated in JS — buildDistributionPanel only runs on Day 1
   (workshopStatsBar is hidden on Day 2 via showStats). */
.ws-revband-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:0 0 14px}
@media (max-width:720px){ .ws-revband-strip{grid-template-columns:repeat(2,1fr)} }
@media (max-width:380px){ .ws-revband-strip{grid-template-columns:1fr} }
.ws-revband-tile{border:1px solid var(--hairline);border-radius:14px;padding:14px 14px 12px;display:flex;flex-direction:column;gap:6px;min-width:0}
.ws-revband-lbl{font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;line-height:1;opacity:.85}
.ws-revband-ct{font-size:28px;font-weight:700;letter-spacing:-0.02em;line-height:1;font-variant-numeric:tabular-nums}
.ws-revband-sub{font-size:11px;font-weight:600;opacity:.7;font-variant-numeric:tabular-nums;letter-spacing:.02em}

/* right column — hero numbers + ring */
.ch-right{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;min-width:72px}
.hero-profit{font-size:22px;font-weight:700;color:var(--text);letter-spacing:-0.03em;line-height:1}
.hero-rev{font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:0}
.card-ring{display:flex;align-items:center;gap:5px;margin-top:4px}
.card-ring svg{width:16px;height:16px}
.card-ring-bg{fill:none;stroke:var(--hairline-2);stroke-width:2.5}
.card-ring-fg{fill:none;stroke:var(--accent);stroke-width:2.5;stroke-linecap:round;transform:rotate(-90deg);transform-origin:center;transition:stroke-dasharray .4s ease}
.card-ring.done .card-ring-fg{stroke:var(--success)}
.card-ring-txt{font-size:10px;color:var(--text-3);font-weight:600}

/* ─────────────────────────────── CARD BODY / TABS ─────────────────────────────── */
.cb{border-top:1px solid var(--hairline);animation:slideDown .35s cubic-bezier(.2,.8,.2,1)}
@keyframes slideDown{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}

/* segmented-control tabs (iOS style) */
.seg-wrap{padding:14px 18px 8px}
.seg{display:flex;flex-wrap:wrap;gap:2px;background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:10px;padding:3px;position:relative}
.seg-btn{flex:1 1 72px;padding:7px 4px;font-size:11px;background:transparent;border:none;cursor:pointer;color:var(--text-2);font-weight:500;border-radius:7px;transition:all .18s cubic-bezier(.2,.8,.2,1);font-family:inherit;letter-spacing:0;white-space:nowrap}
.seg-btn.active{background:var(--bg);color:var(--text);font-weight:600;box-shadow:0 1px 2px rgba(0,0,0,.2),0 0 0 1px var(--hairline-2)}
html.light .seg-btn.active{box-shadow:0 1px 3px rgba(0,0,0,.08),0 0 0 1px var(--hairline)}

/* ══════════════════════════════════════════════════════════════════════════
   LIGHT MODE — comprehensive overrides for all hardcoded dark surfaces
   ══════════════════════════════════════════════════════════════════════════ */

/* LOGO: transparent background via blend mode
   Dark mode: screen blend erases the black bg so mountain floats on dark UI
   Light mode: invert → multiply erases the near-white bg so dark mark shows */
.hdr-brand,.sel-brand,.splash-logo,.gate-logo,.hdr-brand-inline{mix-blend-mode:screen}
html.light .hdr-brand,html.light .sel-brand,
html.light .splash-logo,html.light .gate-logo,
html.light .hdr-brand-inline{
  filter:invert(1);mix-blend-mode:multiply
}

/* Inline logo-url divs (e.g. inside top-bar HTML) */
html.light [style*="--logo-url"]{filter:invert(1);mix-blend-mode:multiply}

/* WELCOME SPLASH
 * The intro splash always renders in dark mode regardless of the user's
 * selected theme. Trying to flip the splash to light mode broke the visual
 * (white text on white bg, purple logo invert misfiring). After the splash
 * fades out, the rest of the app honors the user's theme normally.
 *
 * 1. .welcome-splash itself: always #08070b (dark) — no light override.
 * 2. .splash-logo inside .welcome-splash: cancel the light-mode invert
 *    filter so the mountain mark renders correctly on the dark splash.
 */
html.light .welcome-splash .splash-logo{
  filter:none;mix-blend-mode:screen
}

/* TOP-BAR v11: tabs, util buttons, profile pill, sync pill */
html.light .tabs{
  background:rgba(250,250,250,0.96);
  border-bottom-color:var(--hairline)
}
html.light .tab{color:var(--text-2);border-color:var(--hairline)}
html.light .tab:hover{color:var(--accent);background:var(--accent-tint);border-color:var(--accent)}
html.light .tab.active{
  background:linear-gradient(180deg, #b366f9 0%, #9333ea 100%);
  color:#fff;
  border-color:rgba(168,85,247,0.5);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.4) inset,
    0 4px 14px rgba(168,85,247,0.25),
    0 0 0 1px rgba(168,85,247,0.3);
}
html.light .tab.arena-tab:hover{color:var(--accent)}
html.light .sync-pill{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .util-icon-btn{
  background:var(--bg-elev);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .util-icon-btn:hover{
  background:var(--bg-elev2);
  border-color:var(--hairline-2);
  color:var(--text)
}
html.light .profile-pill{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .profile-pill:hover{
  background:var(--bg-elev2);
  border-color:var(--hairline-2)
}
html.light .profile-name{color:var(--text)}
html.light .profile-badge{border-color:var(--bg-elev)}

/* PAGE HEADERS */
html.light .page-title-big{color:var(--text)}
html.light .page-subtitle{color:var(--text-2)}
html.light .page-subtitle .sep{color:var(--text-3)}

/* FILTER CHIPS */
html.light .chip{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .chip:hover{
  background:var(--bg-elev);
  border-color:var(--hairline-2);
  color:var(--text)
}
html.light .chip.active{
  background:var(--accent-tint);
  border-color:var(--accent-line);
  color:var(--accent)
}

/* BELL / NOTIFICATION DROPDOWN */
html.light .bell-dropdown{
  background:var(--bg-elev);
  border-color:var(--hairline-2);
  box-shadow:var(--shadow)
}
html.light .bd-head,html.light .bd-item,html.light .bd-foot{
  border-color:var(--hairline)
}
html.light .bd-item:hover{background:var(--bg-elev2)}
html.light .bd-foot{color:var(--accent)}
html.light .bd-foot:hover{color:var(--accent-dim);background:var(--bg-elev2)}
/* DARK-CARD (summary + settings panels) */
html.light .dark-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .dc-title{color:var(--text)}
html.light .dc-link{color:var(--accent)}
html.light .dc-link:hover{color:var(--accent-dim)}
html.light .csat-num-val{color:var(--text)}
html.light .csat-num-val .pct{color:var(--text-3)}
html.light .csat-num-meta,html.light .csat-legend{color:var(--text-2)}
html.light .funnel-label{color:var(--accent)}
html.light .funnel-val{color:var(--text)}
html.light .funnel-bar-bg{background:var(--accent-tint)}

/* KPI TILES */
html.light .kpi-tile{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .kpi-tile-val{color:var(--text)}
html.light .kpi-tile-val .s{color:var(--text-3)}
html.light .kpi-tile-lbl{color:var(--text-2)}

/* SECTION HEADERS */
html.light .section-hd h3{color:var(--text)}
html.light .section-hd h3 .ct{color:var(--text-3)}
html.light .section-hd .more{color:var(--accent)}
html.light .section-hd .more:hover{color:var(--accent-dim)}

/* ADVISOR CARDS (Arena leaderboard) */
html.light .advisor-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .adv-rank{color:var(--text-3)}
html.light .adv-name{color:var(--text)}

/* SALES / INTEL FOUNDER CARDS */
html.light .founder-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .founder-card:hover{border-color:var(--accent-line)}
html.light .fc-photo{
  background:var(--bg-elev2)
}

/* INSIGHTS SCOPE ROW + SCOPE PILLS + NAV ARROWS */
html.light .insights-scope-row{
  background:var(--bg-elev2);
  border-color:var(--hairline)
}
html.light .viewing-selector{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .viewing-selector:hover{
  border-color:var(--accent-line);
  background:var(--bg-elev2)
}
html.light .ws-nav-arrow{
  background:var(--bg-elev);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .ws-nav-arrow:hover:not(:disabled){
  background:var(--bg-elev2);
  color:var(--text);
  border-color:var(--hairline-2)
}
html.light .scope-pill{
  background:var(--bg-elev);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .scope-pill:hover{
  background:var(--bg-elev2);
  color:var(--text)
}

/* SETTINGS PANEL */
html.light .settings-section{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .settings-sync-pill{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .settings-advisor-row{border-color:var(--hairline)}
html.light .settings-advisor-slider{
  background:var(--bg-elev2);
  border-color:var(--hairline)
}
html.light .settings-add-row input{
  background:var(--bg);
  border-color:var(--hairline);
  color:var(--text)
}
html.light .settings-add-row input:focus{border-color:var(--accent-line)}
html.light .settings-action-btn{
  background:var(--bg-elev);
  border-color:var(--hairline);
  color:var(--text)
}
html.light .settings-action-btn:hover{
  background:var(--bg-elev2);
  border-color:var(--hairline-2)
}
html.light .settings-archive-row select{
  background:var(--bg-elev);
  border-color:var(--hairline);
  color:var(--text)
}
html.light .settings-kv{border-color:var(--hairline)}
html.light .settings-add-advisor{border-color:var(--hairline)}

/* IML (Industry Mastery Learning) report */
html.light .iml-report-hero{
  background:linear-gradient(145deg,var(--bg-elev2),var(--bg-elev));
  border-color:var(--hairline-2)
}

/* ARCHIVE FLASHCARDS */
html.light .arch-card-front{
  background:var(--bg-elev)
}
html.light .arch-card-front-photo{
  background:var(--bg-elev2)
}
html.light .arch-card-front-avatar{
  background:linear-gradient(145deg,var(--accent-tint),var(--bg-elev))
}

/* ARENA GAME PAGES */
html.light .arena-game-wrap .wd-page,
html.light .arena-game-wrap .wd-setup,
html.light .arena-game-wrap .wd-done{
  background:var(--bg-elev)
}

/* SCROLL TO TOP */
html.light .scroll-top-btn{
  background:var(--bg-elev);
  border-color:var(--accent-line);
  color:var(--accent)
}

/* PIPE LIST (sales pipeline) */
html.light .pipe-list{
  background:var(--bg-elev);
  border-color:var(--hairline)
}

/* COMMENT CARDS (survey tab) */
html.light .comment-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .comment-card.promoter{
  background:linear-gradient(135deg,var(--accent-tint),var(--bg-elev));
  border-color:var(--accent-line)
}
html.light .comment-card.detractor{
  background:linear-gradient(135deg,rgba(239,68,68,.05),var(--bg-elev));
  border-color:color-mix(in srgb,var(--danger) 25%,transparent)
}
html.light .cc-quote{color:var(--text-2)}

/* ARENA UNLOCK NEXT */
html.light .arena-unlock-next{
  background:var(--bg-elev);
  border-color:var(--accent-line)
}
html.light .aun-title{color:var(--text)}
html.light .aun-desc{color:var(--text-2)}
html.light .aun-progress{color:var(--text-3)}

/* ARENA BADGE LEGEND */
html.light .abl-toggle{
  background:var(--bg-elev2);
  border-color:var(--hairline)
}
html.light .abl-item{
  background:var(--bg-soft);
  border-color:var(--hairline)
}
html.light .abl-toggle-caret{color:var(--text-3)}

/* SALES page: search bar, chips, advisor-group, ag-count */
html.light .search-bar{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .search-bar:hover,
html.light .search-bar:focus-within{
  border-color:var(--accent-line)
}
html.light .search-shortcut{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-3)
}
html.light .chip-cog{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-3)
}
html.light .advisor-group{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .ag-name{color:var(--text)}
html.light .ag-stats{color:var(--text-2)}
html.light .ag-chevron{color:var(--text-3)}
html.light .ag-count{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}

/* ROOT FIX: V11 design system block sets body{color:#fff} which wins the cascade.
   In light mode, re-assert var(--text) so all inherited text is dark, not white. */
html.light body{color:var(--text)}

/* FOUNDER CARD — hardcoded dark-mode colors need light overrides */
html.light .fc-name{color:var(--text)}
html.light .fc-title{color:var(--text-2)}
html.light .fc-industry{color:var(--text-2)}
html.light .fc-divider{color:var(--hairline-2)}
html.light .fc-country{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}
html.light .fc-advisor-pill{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text)
}
html.light .fc-edit-btn{color:var(--text-3);border-color:var(--hairline)}
html.light .fc-edit-btn:hover{color:var(--text);border-color:var(--accent-line)}
html.light .fc-stat-val{color:var(--text)}
html.light .fc-stat-label{color:var(--text-3)}
html.light .fc-stats-row{border-top-color:var(--hairline)}

/* COMPANION SECTION — companion-mini-name uses var(--text-1) which is undefined;
   in light mode this inherited #fff from the V11 body override. */
html.light .companion-mini-name{color:var(--text)}
html.light .companion-mini-role{color:var(--text-2)}
html.light .companion-section-hd{color:var(--text-3)}

/* V11 LABEL / BRAND — hardcoded colors in the nav utility bar */
html.light .brand-name .top{color:var(--text)}
html.light .brand-name .bottom{color:var(--text-3)}
html.light .label-mono{color:var(--text-3)}

/* SALES founder cards: photo placeholder */
html.light .fc-photo{
  background:linear-gradient(135deg,var(--accent-tint),var(--bg-elev2));
  border-color:var(--hairline)
}
html.light .fc-photo-img{
  background:linear-gradient(135deg,var(--accent-tint),var(--bg-elev2));
  color:var(--accent)
}

/* INSIGHTS: scope selector dropdown */
html.light .scope-dropdown{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .scope-dropdown:hover{
  background:var(--bg-elev2);
  border-color:var(--hairline-2)
}
html.light .scope-pill.active{
  background:var(--accent-tint);
  color:var(--accent);
  box-shadow:0 0 0 1px var(--accent-line)
}

/* TREND CARDS */
html.light .trend-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}

/* BUYER FEED */
html.light .buyer-card{
  background:var(--bg-elev);
  border-color:var(--hairline)
}
html.light .buyer-card:hover{
  border-color:var(--accent-line);
  background:var(--bg-elev2)
}
html.light .buyer-card.fresh{
  background:var(--bg-elev)
}

/* RC stats (room composition) */
html.light .rc-stat-val .unit{color:var(--text-2)}

/* Sync/status pill in sales page */
html.light .sync-pill{
  background:var(--bg-elev2);
  border-color:var(--hairline);
  color:var(--text-2)
}

/* SETTINGS: identity / action btn tweaks */
html.light .settings-identity-avatar{border-color:var(--accent-line)}
html.light .settings-advisor-toggle input:checked+.settings-advisor-slider{
  background:var(--accent-tint);
  border-color:var(--accent-line)
}

.seg-btn .dot-red{display:inline-block;width:5px;height:5px;background:var(--danger);border-radius:50%;margin-left:3px;vertical-align:middle}

.tab-body{padding:6px 18px 20px}

/* stats strip */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 18px}
.stat{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:10px;padding:12px 8px;text-align:center}
.stat.accent{background:var(--accent-tint);border-color:var(--accent-line)}
.stat .v{font-size:15px;font-weight:700;letter-spacing:-0.02em;color:var(--text);margin-bottom:2px}
.stat.accent .v{color:var(--accent)}
.stat .l{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.15em;font-weight:600}

/* section labels */
.sec-lbl{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.22em;font-weight:600;margin:18px 0 8px}
.sec-lbl:first-child{margin-top:4px}
.sec-txt{font-size:14px;color:var(--text);line-height:1.6;font-weight:400}
.wtd-toggle{color:var(--accent);font-size:12px;font-weight:700;cursor:pointer;margin-left:5px;white-space:nowrap;letter-spacing:.01em}

/* photo upload area */
.pu{margin-bottom:14px;border:1px dashed var(--hairline-2);border-radius:12px;padding:16px;text-align:center;cursor:pointer;transition:all .2s}
.pu:hover{background:var(--bg-soft);border-color:var(--accent-line)}
.pu.has{background:var(--bg-soft);border-style:solid;border-color:var(--hairline-2)}
.pu-lg{width:72px;height:72px;border-radius:8px;object-fit:cover;margin:0 auto 10px;display:block}
.pu-txt{font-size:13px;color:var(--text);font-weight:500;margin-bottom:3px}
.pu-sub{font-size:11px;color:var(--text-3)}

/* constraint */
.con-box{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:12px;padding:14px}
.con-box.real{background:color-mix(in srgb,var(--warn) 6%,var(--bg-elev));border-color:color-mix(in srgb,var(--warn) 25%,transparent)}
.con-lbl{font-size:9px;font-weight:600;text-transform:uppercase;letter-spacing:.22em;color:var(--text-3);margin-bottom:7px}
.con-box.real .con-lbl{color:var(--warn)}
.con-txt{font-size:14px;color:var(--text);line-height:1.55}
.con-txt.italic{font-style:italic;color:var(--text-2)}
.con-arrow{display:flex;align-items:center;justify-content:center;padding:10px 0;color:var(--text-3);font-size:11px;gap:6px;font-weight:500}
.con-arrow svg{width:14px;height:14px}
.unlock{display:flex;gap:10px;font-size:14px;color:var(--text);line-height:1.5;margin-top:10px;align-items:flex-start}
.unlock::before{content:'';width:16px;height:1px;background:var(--accent);margin-top:10px;flex-shrink:0}

/* hubspot */
.hs-row{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--hairline);align-items:flex-start}
.hs-row:last-child{border-bottom:none}
.hs-row::before{content:'';width:4px;height:4px;border-radius:50%;background:var(--accent);margin-top:8px;flex-shrink:0}
.hs-row span{font-size:14px;color:var(--text);line-height:1.55}

/* wow facts */
.wow-top{display:flex;justify-content:space-between;align-items:center;margin:4px 0 12px}
.wow-count{font-size:12px;color:var(--text-2);font-weight:500}
.wow-count .num{color:var(--text);font-weight:600}
.btn-mini{font-size:11px;background:transparent;border:1px solid var(--hairline-2);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--text-2);font-weight:500;font-family:inherit;transition:all .15s}
.btn-mini:hover{border-color:var(--accent-line);color:var(--accent)}

/* Shared tab edit inputs (Constraint + Links) */
.tab-edit-ta{width:100%;border:1px solid var(--hairline-2);border-radius:8px;padding:9px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-elev);resize:vertical;outline:none;line-height:1.5;box-sizing:border-box}
.tab-edit-ta:focus{border-color:var(--accent)}
.tab-edit-in{width:100%;border:1px solid var(--hairline-2);border-radius:8px;padding:9px;font-size:13px;font-family:inherit;color:var(--text);background:var(--bg-elev);outline:none;line-height:1.4;box-sizing:border-box}
.tab-edit-in:focus{border-color:var(--accent)}
.unlock-edit-row{display:flex;gap:6px;margin-top:8px;align-items:flex-start}
.unlock-edit-row .tab-edit-ta{flex:1}
.unlock-edit-row .btn-del{padding:5px 9px;font-size:14px;line-height:1;flex-shrink:0;height:36px}
.link-edit-row{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:10px;padding:10px;margin-bottom:8px}
.link-edit-grid{display:grid;grid-template-columns:1fr 2fr;gap:6px;margin-bottom:6px}
.link-edit-grid2{display:flex;gap:6px;align-items:stretch}
.link-edit-grid2 .tab-edit-in{flex:1}
.link-edit-grid2 .btn-del{padding:5px 10px;font-size:14px;line-height:1;flex-shrink:0}

/* Team tab styling */
.team-member{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:10px;padding:12px 14px;margin-bottom:8px}
.team-member-name{font-size:14px;font-weight:600;color:var(--text);letter-spacing:-0.01em}
.team-member-role{font-size:12px;color:var(--text-2);margin-top:3px;font-weight:500}
.team-edit-row{display:flex;gap:6px;align-items:stretch;margin-top:8px}
.team-edit-row .team-edit-grid{flex:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
.team-edit-row .btn-del{padding:5px 10px;font-size:14px;line-height:1;flex-shrink:0}

.wow-card{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:14px;padding:14px;margin-bottom:8px;transition:all .25s cubic-bezier(.2,.8,.2,1)}
.wow-card.used{background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 30%,transparent)}
.wow-card.flagged{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 30%,transparent)}
.wow-card.unv{background:var(--warn-tint);border-color:color-mix(in srgb,var(--warn) 30%,transparent)}
.wow-row{display:flex;gap:10px;margin-bottom:10px;align-items:flex-start}
.wow-txt{font-size:14px;color:var(--text);line-height:1.55;flex:1;font-weight:400}
.wow-txt-edit{width:100%;border:1px solid var(--hairline-2);border-radius:8px;padding:9px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-elev);resize:none;outline:none;line-height:1.5}
.wow-txt-edit:focus{border-color:var(--accent)}
.chip-verify{font-size:9px;padding:3px 7px;border-radius:6px;font-weight:600;flex-shrink:0;letter-spacing:.04em;white-space:nowrap}
.chip-verify.v{background:var(--success-tint);color:var(--success)}
.chip-verify.u{background:var(--warn-tint);color:var(--warn)}
.chip-verify.toggle{border:1px dashed currentColor;cursor:pointer;font-family:inherit;transition:transform .12s}
.chip-verify.toggle:hover{transform:scale(1.05)}
.chip-verify.toggle:active{transform:scale(.95)}

.wow-foot{display:flex;align-items:center;gap:6px;flex-wrap:wrap}

/* Wow fact ownership — any advisor can edit or delete a fact, but once they
   do, they become the owner and other advisors can't modify it. The chip
   identifies the owner; the lock styling signals non-editability to viewers. */
.wow-owner{
  font-size:10px;font-weight:700;letter-spacing:.04em;
  padding:3px 9px;border-radius:999px;white-space:nowrap;
  background:color-mix(in srgb, var(--text-3) 18%, transparent);
  color:var(--text-2);
  border:1px solid color-mix(in srgb, var(--text-3) 24%, transparent);
}
.wow-owner.mine{
  background:color-mix(in srgb, var(--accent) 18%, transparent);
  color:var(--accent);
  border-color:color-mix(in srgb, var(--accent) 34%, transparent);
}
.wow-card.locked{background:var(--bg-elev);opacity:.9}
.wow-card.locked .wow-txt{color:var(--text-2)}
.wow-lock{color:var(--text-3);font-size:12px;margin-right:4px;user-select:none}
.wow-txt.locked{font-style:italic}
.badge-used{font-size:10px;background:var(--accent);color:#fff;padding:4px 9px;border-radius:999px;font-weight:600;letter-spacing:0.02em}
.badge-used.other{background:var(--text-2)}
.badge-flag{font-size:10px;background:var(--danger-tint);color:var(--danger);padding:4px 9px;border-radius:999px;font-weight:600}
.btn-flag{font-size:11px;background:transparent;border:1px solid var(--hairline-2);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--text-2);font-weight:500;font-family:inherit}
.btn-flag.on{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 30%,transparent);color:var(--danger)}
.btn-del{font-size:11px;background:transparent;border:1px solid color-mix(in srgb,var(--danger) 30%,transparent);border-radius:8px;padding:5px 10px;cursor:pointer;color:var(--danger);font-weight:500;font-family:inherit}

/* Nike-style CTA */
.btn-claim{
  font-size:11px;
  background:var(--text);
  color:var(--bg);
  border:none;
  border-radius:999px;
  padding:7px 14px;
  cursor:pointer;
  margin-left:auto;
  font-weight:700;
  letter-spacing:0.06em;
  text-transform:uppercase;
  font-family:inherit;
  transition:all .15s cubic-bezier(.2,.8,.2,1);
}
.btn-claim:hover{transform:translateY(-1px)}
.btn-claim:active{transform:scale(.97)}
.btn-claim.mine{background:var(--accent);color:#fff}
.btn-claim.taken{background:transparent;color:var(--text-3);border:1px solid var(--hairline-2);cursor:not-allowed}
.btn-claim.taken:hover{transform:none}

.add-wow{margin-top:10px}
.add-wow-ta{width:100%;border:1px dashed var(--hairline-2);border-radius:10px;padding:10px;font-size:13px;font-family:inherit;color:var(--text);background:var(--bg-elev);resize:none;outline:none;line-height:1.5;margin-bottom:6px}
.add-wow-ta:focus{border-color:var(--accent);border-style:solid}
.add-wow-save{width:100%;padding:9px;background:var(--bg-elev2);border:1px solid var(--hairline-2);border-radius:10px;cursor:pointer;font-size:12px;color:var(--accent);font-weight:600;font-family:inherit}
.add-wow-save:hover{background:var(--accent-tint);border-color:var(--accent-line)}

/* links */
.link-grp{margin-bottom:14px}
.link-grp-lbl{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.22em;font-weight:600;margin-bottom:7px}
.link{display:flex;align-items:center;gap:12px;padding:11px 14px;background:var(--bg-soft);border:1px solid var(--hairline);border-radius:10px;margin-bottom:6px;text-decoration:none;color:var(--text);transition:all .15s}
.link:hover{background:var(--bg-elev2);border-color:var(--hairline-2)}
.link-info{flex:1;min-width:0}
.link-lbl{font-size:13px;font-weight:600;color:var(--text);margin-bottom:1px}
.link-url{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.link-arrow{color:var(--text-3);flex-shrink:0}
.link-arrow svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}
.no-links{font-size:13px;color:var(--text-3);font-style:italic;padding:16px 0;text-align:center}

/* notes */
.note-card{background:var(--bg-soft);border:1px solid var(--hairline);border-radius:12px;padding:14px;margin-bottom:12px}
.note-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}
.note-author{font-size:11px;color:var(--accent);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.note-time{font-size:11px;color:var(--text-3);font-weight:500}
.note-body{font-size:14px;color:var(--text);line-height:1.55}
textarea.note-in{width:100%;border:1px solid var(--hairline-2);border-radius:12px;padding:12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-elev);resize:none;outline:none;line-height:1.55}
textarea.note-in:focus{border-color:var(--accent)}
.note-save{margin-top:8px;width:100%;padding:12px;background:var(--accent);color:#fff;border:none;border-radius:12px;font-size:13px;cursor:pointer;font-weight:700;letter-spacing:.04em;font-family:inherit;transition:transform .15s}
.note-save:active{transform:scale(.98)}
.note-save:disabled{background:var(--bg-elev2);color:var(--text-3);cursor:not-allowed}
.note-save:disabled:active{transform:none}

/* ─────────────────────────────── ADD MODAL ─────────────────────────────── */
.modal-bg{position:fixed;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:200;display:flex;align-items:flex-end;justify-content:center;animation:fadeIn .2s;padding-bottom:env(safe-area-inset-bottom,0px)}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}
.modal{background:var(--bg-elev);border-radius:24px 24px 0 0;width:100%;max-width:680px;padding:24px 22px 36px;max-height:88vh;max-height:88dvh;overflow-y:auto;border:1px solid var(--hairline);border-bottom:none;animation:slideUp .3s cubic-bezier(.2,.8,.2,1)}
@keyframes slideUp{from{transform:translateY(40px)}to{transform:translateY(0)}}
.modal-handle{width:36px;height:4px;background:var(--hairline-2);border-radius:2px;margin:0 auto 18px}
.modal-title{font-size:20px;font-weight:700;margin-bottom:4px;letter-spacing:-0.02em}
.modal-sub{font-size:13px;color:var(--text-2);margin-bottom:20px}
.modal-actions{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:18px -22px -36px;padding:14px 22px calc(16px + env(safe-area-inset-bottom,0px));background:var(--bg-elev);border-top:1px solid var(--hairline);z-index:2}
.modal-actions .modal-save,.modal-actions .modal-cancel{padding:12px 18px;border-radius:12px;font-family:inherit;font-weight:700;font-size:14px;cursor:pointer;border:1px solid var(--hairline-2)}
.modal-actions .modal-save{background:var(--accent);color:#fff;border-color:var(--accent)}
.modal-actions .modal-cancel{background:var(--bg-elev2);color:#e6e6e6}
.frow{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fgrp{display:flex;flex-direction:column;gap:5px;margin-bottom:12px}
.flbl{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.18em;font-weight:600}
input[type=text]{width:100%;border:1px solid var(--hairline-2);border-radius:10px;padding:11px 12px;font-size:14px;font-family:inherit;color:var(--text);background:var(--bg-soft);outline:none;transition:border-color .15s}
input[type=text]:focus{border-color:var(--accent)}
.conf-row{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:12px}
.conf-opt{padding:10px 6px;border:1px solid var(--hairline);border-radius:10px;text-align:center;cursor:pointer;font-size:11px;font-weight:600;color:var(--text-2);background:transparent;transition:all .15s;font-family:inherit;letter-spacing:0.02em}
.conf-opt:hover{background:var(--bg-soft)}
.conf-opt.sel-g{background:var(--success-tint);border-color:color-mix(in srgb,var(--success) 35%,transparent);color:var(--success)}
.conf-opt.sel-a{background:var(--warn-tint);border-color:color-mix(in srgb,var(--warn) 35%,transparent);color:var(--warn)}
.conf-opt.sel-r{background:var(--danger-tint);border-color:color-mix(in srgb,var(--danger) 35%,transparent);color:var(--danger)}
.mbtns{display:flex;gap:10px;margin-top:16px}
.m-cancel{flex:1;padding:13px;border:1px solid var(--hairline-2);border-radius:12px;background:transparent;cursor:pointer;font-size:14px;color:var(--text);font-weight:500;font-family:inherit}
.m-cancel:hover{background:var(--bg-soft)}
.m-save{flex:2;padding:13px;background:var(--text);color:var(--bg);border:none;border-radius:12px;cursor:pointer;font-size:14px;font-weight:700;letter-spacing:0.04em;font-family:inherit;transition:transform .15s}
.m-save:active{transform:scale(.98)}

/* ═══════════ PHOTO UNVERIFIED (build 31) — Tier C auto-photo + verify flow ═══════════ */
/* When research auto-inserts a candidate photo it lands with photoMeta.unverified
   = true, so advisors know to glance before relying on it. The chip is small
   (16px) and amber so it reads as "needs a look" without screaming. Click the
   chip (or the photo) to open the verify modal. */
.pc-unv-chip{
  position:absolute;top:6px;left:6px;
  width:18px;height:18px;border-radius:50%;
  background:var(--warn);
  color:#000;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:800;line-height:1;
  border:2px solid var(--bg-elev);
  z-index:4;
  cursor:pointer;
  box-shadow:0 1px 4px rgba(0,0,0,.25);
  transition:transform .15s;
}
.pc-unv-chip:hover{transform:scale(1.12)}
.pc-unv-chip:active{transform:scale(.94)}
/* Faint amber border + dashed outline on the photo container itself so the
   "this might be wrong" signal extends beyond the chip alone. Restrained
   so the grid still reads cleanly when several cards are unverified. */
.pc.pc-unverified,.pc-pair.pc-unverified{
  outline:1px dashed color-mix(in srgb, var(--warn) 55%, transparent);
  outline-offset:-1px;
}

/* Verify modal — appears when chip is tapped. Reuses .modal-bg / .modal
   bottom-sheet pattern. Shows the photo big, the founder name, and three
   actions. */
.pv-modal-photo{
  width:200px;height:200px;
  border-radius:50%;
  background:var(--bg-soft);
  margin:8px auto 14px;
  overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  border:1px solid var(--hairline);
}
.pv-modal-photo img{width:100%;height:100%;object-fit:cover}
.pv-modal-name{text-align:center;font-size:16px;font-weight:700;margin-bottom:2px;letter-spacing:-0.01em}
.pv-modal-co{text-align:center;font-size:12px;color:var(--text-2);margin-bottom:10px}
.pv-modal-source{
  text-align:center;
  font-size:11px;color:var(--text-3);
  font-style:italic;
  margin-bottom:18px;
  word-break:break-word;
}
.pv-modal-actions{display:flex;flex-direction:column;gap:8px}
.pv-btn{
  width:100%;padding:13px;border-radius:11px;
  font-size:14px;font-weight:600;font-family:inherit;letter-spacing:.02em;
  cursor:pointer;
  border:1px solid var(--hairline-2);background:transparent;color:var(--text);
  transition:background .15s,border-color .15s,transform .12s;
}
.pv-btn:hover{background:var(--bg-soft)}
.pv-btn:active{transform:scale(.98)}
.pv-btn.primary{background:var(--success);border-color:var(--success);color:#fff}
.pv-btn.primary:hover{background:color-mix(in srgb, var(--success) 88%, #000)}
.pv-btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}
.pv-btn.danger:hover{background:color-mix(in srgb, var(--danger) 10%, transparent)}

/* ═══════════ WOW FACT PEEK — floating button + dedicated modal ═══════════ */
/* Sparkle button on every founder card (top-right corner). One-tap access to
   wow facts during fast workshop conversations. Resting state subtle so it
   doesn't fight the card content; lights up when it has unclaimed ammo,
   dims when everything's been used, gets a green check when YOU've claimed
   one. Sits at z-index 6. The edit pencil now stacks below it at top:50px
   (build 37 fix — was previously at top:5 and getting completely covered
   by this button's 34px footprint). */
.fav-btn{
  position:absolute;top:8px;left:8px;
  width:30px;height:30px;border-radius:50%;
  border:1px solid color-mix(in srgb, var(--text-3) 45%, transparent);
  background:color-mix(in srgb, var(--bg) 70%, var(--bg-elev));
  color:var(--text-3);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:6;
  padding:0;
  transition:transform .15s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,color .2s,box-shadow .2s;
  box-shadow:0 2px 6px rgba(0,0,0,.18);
}
.fav-btn:hover{transform:scale(1.08);color:#f5b500;border-color:#f5b500}
.fav-btn:active{transform:scale(.94)}
.fav-btn.on{
  color:#f5b500; /* warm amber — distinct from the green/accent palette */
  border-color:#f5b500;
  background:color-mix(in srgb, #f5b500 18%, var(--bg-elev));
  box-shadow:0 0 0 2px color-mix(in srgb, #f5b500 30%, transparent),0 2px 8px rgba(0,0,0,.18);
}
.fav-btn.on svg{filter:drop-shadow(0 0 2px color-mix(in srgb, #f5b500 60%, transparent))}
/* Subtle ring on the whole card when favorited so it reads as "pinned" even
   from a glance, before the eye lands on the star itself. */
.card.favorited{
  box-shadow:0 0 0 1px color-mix(in srgb, #f5b500 40%, transparent),0 6px 18px rgba(0,0,0,.22);
}
.wow-peek-btn{
  position:absolute;top:8px;right:8px;
  width:34px;height:34px;border-radius:50%;
  border:1px solid color-mix(in srgb, var(--accent) 35%, transparent);
  background:color-mix(in srgb, var(--accent) 12%, var(--bg-elev));
  color:var(--accent);
  cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  z-index:6;
  font-size:15px;line-height:1;
  padding:0;
  transition:transform .15s cubic-bezier(.2,.8,.2,1),background .2s,border-color .2s,opacity .2s;
  box-shadow:0 2px 8px rgba(0,0,0,.18);
}
.wow-peek-btn:hover{transform:scale(1.08);background:color-mix(in srgb, var(--accent) 22%, var(--bg-elev));border-color:var(--accent)}
.wow-peek-btn:active{transform:scale(.94)}
/* "Fresh" — has facts, none claimed yet by anyone. Soft glow draws the eye. */
.wow-peek-btn.fresh{
  box-shadow:0 0 0 1px color-mix(in srgb, var(--accent) 40%, transparent),0 0 14px -2px color-mix(in srgb, var(--accent) 50%, transparent),0 2px 8px rgba(0,0,0,.18);
}
/* "Mine" — you've claimed at least one. Sparkle stays accent-colored
   (so the icon never changes meaning), but the button gets a green
   ring around it: solid green border + outer halo via box-shadow.
   Reads as "you've got skin in the game" without being mistaken
   for "all done / complete." */
.wow-peek-btn.mine{
  border-color:var(--success);
  background:color-mix(in srgb, var(--success) 12%, var(--bg-elev));
  color:var(--accent);
  box-shadow:0 0 0 2px color-mix(in srgb, var(--success) 28%, transparent),0 2px 8px rgba(0,0,0,.18);
}
/* "Other-claimed" — somebody else (not you) has claimed at least one fact.
   Slightly dimmed so the card grid reads "less ammo here" at a glance. */
.wow-peek-btn.other-claimed{opacity:.72}
/* Empty — no wow facts on this founder. Outline-only +, prompts adding one. */
.wow-peek-btn.empty{
  border-style:dashed;
  background:transparent;
  color:var(--text-3);
  box-shadow:none;
}
.wow-peek-btn .wow-peek-badge{
  position:absolute;
  bottom:-3px;right:-3px;
  min-width:16px;height:16px;
  border-radius:9px;
  padding:0 4px;
  background:var(--text);color:var(--bg);
  font-size:9px;font-weight:800;
  display:flex;align-items:center;justify-content:center;
  border:2px solid var(--bg-elev);
  letter-spacing:0;
}
.wow-peek-btn .wow-peek-dot{
  position:absolute;
  bottom:-1px;right:-1px;
  width:9px;height:9px;border-radius:50%;
  background:var(--warn);
  border:2px solid var(--bg-elev);
}

/* Peek modal — center-screen on desktop, bottom-sheet feel on mobile.
   Smaller than intel-modal (max-width 520px), darker backdrop than the
   regular .modal-bg so the focus is unambiguously the wow facts. */
.wow-peek-bg{
  position:fixed;inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:220;
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:fadeIn .2s;
}
.wow-peek-modal{
  background:var(--bg-elev);
  border:1px solid var(--hairline);
  border-radius:20px;
  width:100%;max-width:520px;
  max-height:88vh;
  display:flex;flex-direction:column;
  overflow:hidden;
  animation:intelSlide .25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.wow-peek-hd{
  padding:18px 20px 14px;
  border-bottom:1px solid var(--hairline);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.wow-peek-hd-text{min-width:0;flex:1}
.wow-peek-hd-name{font-size:15px;font-weight:700;letter-spacing:-0.01em;line-height:1.3}
.wow-peek-hd-co{font-size:12px;color:var(--text-2);margin-top:2px;font-weight:500}
.wow-peek-hd-sub{
  margin-top:8px;
  font-size:9px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--text-3);
}
.wow-peek-hd-sub .num{color:var(--text-2);font-variant-numeric:tabular-nums}
.wow-peek-close{
  width:32px;height:32px;border-radius:8px;
  border:1px solid var(--hairline);
  background:transparent;color:var(--text-2);
  cursor:pointer;font-size:20px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:background .15s,color .15s;
}
.wow-peek-close:hover{background:var(--bg-elev2);color:var(--text)}
.wow-peek-body{
  padding:16px 20px 4px;
  overflow-y:auto;
  flex:1;
  display:flex;flex-direction:column;gap:12px;
}
.wow-peek-body::-webkit-scrollbar{width:6px}
.wow-peek-body::-webkit-scrollbar-thumb{background:var(--hairline-2);border-radius:3px}

/* Individual fact card inside the modal */
.wpc{
  border:1px solid var(--hairline);
  border-radius:14px;
  padding:14px 14px 12px;
  background:var(--bg-soft);
  transition:opacity .2s,border-color .2s;
}
.wpc.locked-other{opacity:.62}
.wpc.mine{border-color:color-mix(in srgb, var(--success) 45%, transparent);background:color-mix(in srgb, var(--success) 5%, var(--bg-soft))}
.wpc-conf{
  display:inline-flex;align-items:center;gap:5px;
  font-size:9px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  margin-bottom:6px;
}
.wpc-conf.v{color:var(--success)}
.wpc-conf.p{color:var(--warn)}
.wpc-conf-icon{font-size:11px}
.wpc-text{font-size:14px;line-height:1.45;color:var(--text);font-weight:500}
.wpc-source{font-size:11px;color:var(--text-3);margin-top:6px;font-style:italic}
/* Build 85 — clickable verification link inside the source line. Lives next
   to "Source: …" text either as the explicit "Verify ↗" anchor (when a
   sourceUrl field exists) or as auto-linkified URLs found inside the
   source text itself. Inherits the italic look but gets the accent color. */
.wpc-source-link{color:var(--accent);text-decoration:underline;text-underline-offset:2px;font-style:normal;font-weight:600}
.wpc-source-link:hover{opacity:.8}
.wpc-claim-info{
  margin-top:10px;
  font-size:11px;color:var(--text-2);
  display:flex;align-items:center;gap:6px;
  padding:7px 10px;
  background:color-mix(in srgb, var(--accent) 10%, transparent);
  border-radius:8px;
}
.wpc-claim-info.mine{
  color:var(--success);
  background:color-mix(in srgb, var(--success) 10%, transparent);
}
.wpc-claim-info-lock{font-size:11px}
.wpc-actions{
  display:flex;gap:6px;margin-top:11px;flex-wrap:wrap;
}
.wpc-btn{
  flex:1;
  min-width:0;
  padding:9px 10px;border-radius:9px;
  border:1px solid var(--hairline-2);
  background:transparent;color:var(--text);
  font-size:12px;font-weight:600;letter-spacing:.02em;font-family:inherit;
  cursor:pointer;
  transition:background .15s,border-color .15s,color .15s,transform .12s;
  white-space:nowrap;
}
.wpc-btn:hover{background:var(--bg-elev2)}
.wpc-btn:active{transform:scale(.97)}
.wpc-btn.primary{background:var(--text);color:var(--bg);border-color:var(--text)}
.wpc-btn.primary:hover{opacity:.88;background:var(--text)}
.wpc-btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 35%, transparent)}
.wpc-btn.danger:hover{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger)}
.wpc-btn.release{color:var(--warn);border-color:color-mix(in srgb, var(--warn) 35%, transparent)}
.wpc-btn.release:hover{background:color-mix(in srgb, var(--warn) 12%, transparent)}
.wpc-btn[disabled]{opacity:.45;cursor:not-allowed}
.wpc-btn[disabled]:hover{background:transparent}

/* Edit-mode replaces text + actions with textarea + save/cancel */
.wpc-edit-ta{
  width:100%;border:1px solid var(--hairline-2);border-radius:10px;
  padding:10px 11px;font-size:13px;line-height:1.5;font-family:inherit;
  color:var(--text);background:var(--bg-elev);outline:none;
  resize:vertical;min-height:80px;
  transition:border-color .15s;
}
.wpc-edit-ta:focus{border-color:var(--accent)}
.wpc-edit-meta{
  display:flex;justify-content:space-between;align-items:center;
  margin-top:6px;font-size:10px;color:var(--text-3);
}
.wpc-edit-count{font-variant-numeric:tabular-nums}
.wpc-edit-count.over{color:var(--danger)}

/* Flag confirmation — appears in-line, replacing the actions row when active */
.wpc-flag-confirm{
  margin-top:11px;
  padding:11px 12px;
  border:1px solid color-mix(in srgb, var(--danger) 35%, transparent);
  background:color-mix(in srgb, var(--danger) 7%, transparent);
  border-radius:10px;
}
.wpc-flag-q{
  font-size:12px;font-weight:600;color:var(--text);margin-bottom:8px;
}
.wpc-flag-reason{
  width:100%;border:1px solid var(--hairline-2);border-radius:8px;
  padding:8px 10px;font-size:12px;font-family:inherit;
  color:var(--text);background:var(--bg-elev);outline:none;
  resize:vertical;min-height:48px;
  margin-bottom:8px;
}
.wpc-flag-reason:focus{border-color:var(--danger)}

/* Footer — Add a wow fact toggle + manual entry form */
.wow-peek-footer{
  padding:14px 20px 18px;
  border-top:1px solid var(--hairline);
  background:var(--bg-elev);
}
.wpc-add-toggle{
  width:100%;
  padding:10px;border-radius:10px;
  border:1px dashed var(--hairline-2);
  background:transparent;color:var(--text-2);
  font-size:12px;font-weight:600;font-family:inherit;
  cursor:pointer;
  transition:border-color .15s,color .15s,background .15s;
}
.wpc-add-toggle:hover{border-color:var(--text-3);color:var(--text);background:var(--bg-soft)}
.wpc-add-form{
  display:flex;flex-direction:column;gap:8px;
}
.wpc-add-form .flbl{font-size:9px;color:var(--text-3);text-transform:uppercase;letter-spacing:.18em;font-weight:700;margin-bottom:3px}
.wpc-add-conf{display:flex;gap:6px}
.wpc-add-conf-btn{
  flex:1;padding:8px;border-radius:8px;
  border:1px solid var(--hairline);background:transparent;
  font-size:11px;font-weight:600;letter-spacing:.05em;
  color:var(--text-2);cursor:pointer;font-family:inherit;
  transition:all .15s;
}
.wpc-add-conf-btn.sel-v{background:color-mix(in srgb, var(--success) 14%, transparent);border-color:color-mix(in srgb, var(--success) 35%, transparent);color:var(--success)}
.wpc-add-conf-btn.sel-p{background:color-mix(in srgb, var(--warn) 14%, transparent);border-color:color-mix(in srgb, var(--warn) 35%, transparent);color:var(--warn)}
.wpc-add-actions{display:flex;gap:8px;margin-top:6px}

/* Empty state — when founder has zero wow facts */
.wow-peek-empty{
  text-align:center;padding:30px 20px;
  font-size:13px;color:var(--text-2);
}
.wow-peek-empty-icon{font-size:32px;opacity:.5;margin-bottom:8px}

/* Mobile tweaks */
@media (max-width:560px){
  .wow-peek-bg{padding:0;align-items:flex-end}
  .wow-peek-modal{
    max-width:100%;
    max-height:92vh;
    border-radius:20px 20px 0 0;
    animation:slideUp .3s cubic-bezier(.2,.8,.2,1);
  }
  .wpc-actions{flex-wrap:wrap}
  .wpc-btn{flex:1 1 calc(33% - 4px);min-width:0}
}

/* ═══════════ WORKSHOP INTEL (toolbar green $ button + full-screen modal) ═══════════ */
/* Green dollar icon — sits in the toolbar between the Day 2 toggle and the
   refresh button. Subtle when idle, brighter on hover. */
.intel-btn{
  color:#10b981;
  background:color-mix(in srgb, #10b981 8%, transparent);
  border:1px solid color-mix(in srgb, #10b981 28%, transparent);
}
.intel-btn:hover{
  color:#fff;
  background:#10b981;
  border-color:#10b981;
}
.intel-btn svg{width:18px;height:18px}

/* Full-screen modal — distinct from the bottom-sheet modals used elsewhere.
   Covers most of the viewport so segmentation is readable; click backdrop or
   X to close. */
.intel-modal-bg{
  align-items:center;justify-content:center;
  background:rgba(0,0,0,.7);
  padding:24px;
}
.intel-modal{
  background:var(--bg-elev);
  border:1px solid var(--hairline);
  border-radius:18px;
  width:100%;max-width:1100px;max-height:92vh;
  display:flex;flex-direction:column;
  overflow:hidden;
  animation:intelSlide .25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 30px 80px rgba(0,0,0,.4);
}
@keyframes intelSlide{from{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}

/* Header bar — title left, status + refresh + close right */
.intel-hd{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 22px;
  border-bottom:1px solid var(--hairline);
  background:linear-gradient(135deg,
    color-mix(in srgb, #10b981 8%, var(--bg-elev)) 0%,
    color-mix(in srgb, #10b981 3%, var(--bg-elev)) 100%);
  flex-shrink:0;
}
.intel-hd-left{display:flex;align-items:center;gap:14px;min-width:0}
.intel-hd-icon{
  display:inline-flex;align-items:center;justify-content:center;
  width:38px;height:38px;border-radius:12px;
  background:#10b981;color:#fff;
  font-size:22px;font-weight:800;line-height:1;
  flex-shrink:0;
}
.intel-hd-text{min-width:0}
.intel-hd-ttl{font-size:18px;font-weight:800;letter-spacing:-.01em;line-height:1.2;color:var(--text)}
.intel-hd-sub{font-size:11px;color:var(--text-2);font-weight:500;letter-spacing:.04em;text-transform:uppercase}

/* Workshop date cycler — prev/next arrows + date label + status badge */
.intel-cycler{
  display:inline-flex;align-items:center;gap:6px;
  margin-top:4px;
}
.intel-cyc-arrow{
  display:inline-flex;align-items:center;justify-content:center;
  width:22px;height:22px;border-radius:6px;
  background:transparent;border:1px solid var(--hairline);
  color:var(--text-2);cursor:pointer;font-family:inherit;padding:0;
  transition:background .15s,color .15s,border-color .15s;
}
.intel-cyc-arrow:hover{background:color-mix(in srgb, #10b981 12%, transparent);color:#10b981;border-color:#10b981}
.intel-cyc-arrow:active{transform:scale(.92)}
.intel-cyc-label{
  display:inline-flex;align-items:center;gap:8px;
  padding:2px 10px;border-radius:6px;
  background:color-mix(in srgb, var(--text-3) 4%, transparent);
}
.intel-cyc-date{font-size:13px;font-weight:700;color:var(--text);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.intel-cyc-badge{
  font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  padding:2px 7px;border-radius:999px;line-height:1.3;
}
.intel-cyc-badge.current{color:#10b981;background:color-mix(in srgb, #10b981 15%, transparent)}
.intel-cyc-badge.past{color:#3b82f6;background:color-mix(in srgb, #3b82f6 15%, transparent)}
.intel-hd-right{display:flex;align-items:center;gap:10px}
.intel-status{font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:.02em}
.intel-status.muted{color:var(--text-3)}
.intel-status.err{color:var(--danger,#ef4444)}
.intel-status.loading{color:#10b981}
.intel-refresh-btn,.intel-close-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:32px;height:32px;border-radius:8px;
  background:transparent;border:1px solid var(--hairline);
  color:var(--text-2);cursor:pointer;font-family:inherit;
  transition:background .15s,color .15s,border-color .15s;
}
.intel-refresh-btn:hover{background:color-mix(in srgb, #10b981 12%, transparent);color:#10b981;border-color:#10b981}
.intel-refresh-btn:disabled{opacity:.45;cursor:not-allowed}
.intel-refresh-btn:disabled:hover{background:transparent;color:var(--text-2);border-color:var(--hairline)}
.intel-close-btn{font-size:22px;line-height:1;font-weight:300}
.intel-close-btn:hover{background:var(--bg-elev2);color:var(--text)}

/* Build 85 — Sales tab scope dropdown (Event/Month/Quarter/YTD). Mirrors
   the post-tab workshop selector styling so the two scope controls feel
   consistent. */
.intel-scope-select,.insights-scope-select{
  background:var(--bg-elev);border:1px solid var(--hairline);
  color:var(--text);padding:7px 28px 7px 12px;border-radius:8px;
  font:inherit;font-size:13px;cursor:pointer;
  appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23bcb8ad' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 8px center;
}
.intel-scope-select:hover,.insights-scope-select:hover{border-color:var(--hairline-2)}
.intel-scope-select:focus,.insights-scope-select:focus{outline:none;border-color:var(--accent)}

/* Build 85 — Period summary card on the Sales tab. Renders above the
   per-workshop body when scope != 'event', summing attendees/buyers/sales
   $ across the workshops in the period. The grid auto-fits so 5 tiles can
   collapse cleanly on narrow screens. */
.ips-delta-up{font-size:10.5px;color:#34d399;font-weight:600}
.ips-delta-dn{font-size:10.5px;color:#f87171;font-weight:600}
.intel-period-sum{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;padding:16px 18px;margin-bottom:18px;
}
.ips-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.ips-ttl{font-size:16px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.ips-sub{font-size:11px;color:var(--text-3);margin-top:2px}
.ips-grid{
  display:grid;grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));gap:12px;
}
.ips-tile{
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:10px;padding:12px 14px;
}
.ips-lbl{font-size:11px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.ips-num{font-size:22px;font-weight:700;color:var(--text);line-height:1.1;margin-top:4px;font-variant-numeric:tabular-nums;letter-spacing:-.02em}
.ips-sub2{font-size:11px;color:var(--text-3);margin-top:3px}
.ips-foot{font-size:10px;color:var(--text-3);margin-top:6px;display:block;font-style:italic;line-height:1.4}

/* Body area — scrolls if content overflows the modal */
.intel-body{flex:1;overflow-y:auto;padding:22px}

/* Empty state — used when fetch fails or first load */
.intel-empty{padding:60px 20px;text-align:center;color:var(--text-2)}
.intel-empty-icon{font-size:36px;margin-bottom:12px;color:var(--text-3)}
.intel-empty-title{font-size:16px;font-weight:700;color:var(--text);margin-bottom:6px}
.intel-empty-sub{font-size:13px;color:var(--text-2);margin-bottom:14px}
.intel-empty-help{font-size:12px;color:var(--text-3);max-width:420px;margin:0 auto;line-height:1.5}
.intel-empty-help code{background:var(--bg-elev2);padding:2px 6px;border-radius:4px;font-size:11px;font-family:ui-monospace,Menlo,monospace}

/* Top KPI strip — Conversion %, Day 1, Day 2, Non-buyers */
/* Workshop Intel — top KPI section.
   Row 1: 3 large headline cards (Attendees + Conversion + Sales), equal weight.
   Row 2: 4 compact stat cards (D1 / D2 / L2 / L3) for single/double-digit
          buyer counts, all on one line. */
.intel-kpis{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:10px;
}
.intel-kpis-compact{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:14px;
}
/* Boxes size to their own content (widest of label/value — e.g.
   "CONTRACTED" / "$442k") and grow to fill the row; extras wrap to the
   next line instead of squeezing and clipping on narrow screens. */
.intel-kpis-compact .intel-kpi{flex:1 1 auto;min-width:max-content}
.intel-kpi{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:12px;
  padding:16px 18px;
  display:flex;flex-direction:column;gap:4px;
  min-width:0;
}
.intel-kpi.headline{
  background:linear-gradient(135deg, #10b981 0%, #059669 100%);
  border-color:#10b981;
  color:#fff;
}
/* Compact variant for the small D1/D2/L2/L3 row — same card treatment
   but with tighter padding and a smaller value font, since these only
   ever hold single or double-digit numbers. */
.intel-kpi.compact{
  padding:10px 14px;
  gap:2px;
}
.intel-kpi.compact .intel-kpi-val{
  font-size:22px;
}
.intel-kpi-lbl{
  font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--text-3);
}
.intel-kpi.headline .intel-kpi-lbl{color:rgba(255,255,255,.85)}
.intel-kpi-val{
  font-size:34px;font-weight:800;line-height:1.1;letter-spacing:-.02em;
  color:var(--text);font-variant-numeric:tabular-nums;
}
.intel-kpi.headline .intel-kpi-val{color:#fff}
.intel-kpi-val.muted{color:var(--text-3)}
.intel-kpi-val .pct{font-size:22px;font-weight:700;margin-left:1px}
.intel-kpi-sub{font-size:11px;color:var(--text-2);font-weight:500;margin-top:2px}
.intel-kpi.headline .intel-kpi-sub{color:rgba(255,255,255,.85)}
/* Deal Economics plan-mix chips (PIF / n-pay · price × count). Same card
   language as the compact KPIs but inline-flowing so any number of plan
   variants wraps naturally. */
.intel-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.intel-chip{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:999px;
  padding:5px 12px;
  font-size:12px;font-weight:600;color:var(--text-2);
  white-space:nowrap;
}
.intel-chip b{color:var(--text);font-weight:800;margin-left:2px}
/* Mobile: keep all 3 headline cards on one line by tightening padding and
   the value font. Attendees + Conversion (2 digits + %) + Sales (compact
   money like $1.25M) all fit comfortably even on narrow screens. The
   5-stat compact row (D1/D2/D3+/L2/L3) gets extra padding tightening
   since its cards are smaller and we don't want them to wrap. */
@media (max-width: 720px){
  .intel-kpis{gap:8px}
  .intel-kpi{padding:12px 12px}
  .intel-kpi-val{font-size:24px}
  .intel-kpi-val .pct{font-size:16px}
  .intel-kpi-sub{font-size:10px}
  .intel-kpi-lbl{font-size:9px}
  .intel-kpis-compact{gap:6px}
  .intel-kpi.compact{padding:8px 6px}
  .intel-kpi.compact .intel-kpi-val{font-size:18px}
}

/* Payment-type strip — sits below the headline KPIs */
.intel-payment-strip{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:12px;
  margin-bottom:18px;
}
.intel-pmt{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:10px;
  padding:12px 14px;
  display:flex;flex-direction:column;gap:4px;
  min-width:0;
}
.intel-pmt.highlight{
  background:color-mix(in srgb, #10b981 8%, var(--bg-elev2));
  border-color:color-mix(in srgb, #10b981 30%, var(--hairline));
}
.intel-pmt.muted{
  background:color-mix(in srgb, var(--accent) 6%, var(--bg-elev2));
  border-color:color-mix(in srgb, var(--accent) 25%, var(--hairline));
}
.intel-pmt-lbl{font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:.04em;text-transform:uppercase}
.intel-pmt-val{font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1;margin-top:2px}
.intel-pmt-val .intel-pmt-sep{color:var(--text-3);font-weight:500;margin:0 4px;font-size:18px}
.intel-pmt-sub{font-size:10px;font-weight:500;color:var(--text-3);letter-spacing:.04em;margin-top:4px;text-transform:none}
.intel-pmt-sub{font-size:10.5px;color:var(--text-3);font-weight:500;letter-spacing:0;text-transform:none;margin-top:2px}
.intel-pmt.highlight .intel-pmt-val{color:#10b981}
.intel-pmt.muted .intel-pmt-val{color:var(--accent)}

/* Revenue strip — sits below the payment-type strip on the Workshop
   Intel page. Two boxes: Cash Collected (headline) and Companion
   Revenue (secondary). Re-uses .intel-pmt for the box styling so the
   page reads as one unified surface. */
.intel-revenue-strip{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:12px;
  margin-bottom:18px;
}
.intel-pmt.cash-collected{
  background:color-mix(in srgb, #10b981 12%, var(--bg-elev2));
  border-color:color-mix(in srgb, #10b981 40%, var(--hairline));
}
.intel-pmt.cash-collected .intel-pmt-val{color:#10b981;font-size:30px}
.intel-pmt.cash-collected .intel-pmt-lbl{color:#10b981}

/* Cohort breakdown — 4-up tile grid (Attendees / Accounts / DMs+ / DMs).
   Matches intel-pmt aesthetic so the page reads as one unified dashboard. */
.intel-cohort-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:8px}
/* Row 2 = buyer profile (Avg Rev / Avg Profit / Avg Savings) — 3 cards
   on desktop. Buyer-stat cards get a subtle accent treatment to read
   as "this is who actually bought" without competing with the headline
   green of the Cash Collected widget. */
.intel-cohort-grid-row2{grid-template-columns:repeat(3,1fr)}
.intel-cohort-card.buyer-stat{
  background:color-mix(in srgb, #10b981 6%, var(--bg-elev2));
  border-color:color-mix(in srgb, #10b981 20%, var(--hairline));
}
.intel-cohort-card.buyer-stat .intel-cohort-val{color:#10b981}
.intel-cohort-card{background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:3px;min-width:0}
.intel-cohort-lbl{font-size:11px;font-weight:600;color:var(--text-2);letter-spacing:.04em;text-transform:uppercase}
.intel-cohort-val{font-size:26px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1}
.intel-cohort-val.muted{color:var(--text-3)}
.intel-cohort-sub{font-size:10.5px;color:var(--text-3);font-weight:500;margin-top:1px}
@media (max-width:720px){
  .intel-cohort-grid{grid-template-columns:repeat(2,1fr)}
  .intel-cohort-grid-row2{grid-template-columns:repeat(2,1fr)}
}

/* Money stats table — buyers left, non-buyers right, metrics on rows. */
.money-table-wrap{background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:10px;padding:0;margin-top:8px;overflow-x:auto}
.money-table{width:100%;border-collapse:collapse;font-size:13px}
.money-table thead th{font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2);padding:10px 12px;text-align:left;border-bottom:1px solid var(--hairline)}
.money-table .money-hd-buyers{color:#10b981}
.money-table .money-hd-non{color:var(--text-3)}
.money-table .money-hd-n{font-weight:500;opacity:.8}
.money-table tr.money-sub th{font-size:10.5px;padding:6px 12px;color:var(--text-3);border-bottom:1px solid var(--hairline)}
.money-table tbody td{padding:10px 12px;border-bottom:1px solid var(--hairline)}
.money-table tbody tr:last-child td{border-bottom:none}
.money-table .money-lbl{font-weight:600;color:var(--text)}
.money-table .money-val{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600;text-align:right}
.money-table .money-val.muted{color:var(--text-3)}

/* Collapsible buyer list — clickable section header with chevron, body
   expands on click. Badges for day (D1/D2), tier (L2/L3), payment type. */
.buyer-list-section{padding:0}
.buyer-list-hd{background:transparent;border:none;width:100%;text-align:left;cursor:pointer;padding:14px 16px;display:block;color:inherit;font-family:inherit}
.buyer-list-hd:hover{background:color-mix(in srgb, var(--text) 3%, transparent)}
.buyer-list-chev{display:inline-block;font-size:10px;color:var(--text-3);margin-right:6px;transform:translateY(-1px)}
.buyer-list-n{display:inline-block;background:var(--bg-elev2);border:1px solid var(--hairline);border-radius:999px;padding:1px 8px;font-size:11px;font-weight:700;color:var(--text-2);margin-left:6px}
.buyer-list-body{border-top:1px solid var(--hairline);padding:8px 0}
.buyer-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 16px;border-bottom:1px solid var(--hairline);flex-wrap:wrap}
.buyer-row:last-child{border-bottom:none}
.buyer-row-main{min-width:0;flex:1 1 auto}
.buyer-row-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2}
.buyer-row-partner{font-size:12px;font-weight:500;color:var(--text-3)}
.buyer-row-co{font-size:12px;color:var(--text-2);line-height:1.3;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.buyer-row-rev{color:var(--text-3);font-variant-numeric:tabular-nums}
.buyer-row-badges{display:flex;gap:6px;align-items:center;flex-shrink:0;flex-wrap:wrap}

/* Badge system — used on buyer list AND hooked into founder cards for
   Wed/Thu live. Consistent color language: tier (L2=blue, L3=purple),
   payment (PIF=green, Plan=amber, Dep=gray), day (D1/D2=neutral). */
.buyer-badge{display:inline-flex;align-items:center;justify-content:center;font-size:10px;font-weight:800;letter-spacing:.04em;padding:3px 7px;border-radius:5px;line-height:1;text-transform:uppercase;white-space:nowrap}
/* Workshop-day SALES pop: solid fill + white text + glow, unmistakably louder
   than the quiet outlined .member-badge chips (pre-existing membership).
   Per Dion 2026-07-07: a live buy must never be confusable with a badge
   someone walked in with. Deprecated products stay muted below. */
.buyer-badge.tier-l2{background:#3b82f6;color:#fff;border:1px solid #3b82f6;box-shadow:0 0 8px color-mix(in srgb,#3b82f6 55%,transparent)}
.buyer-badge.tier-l3{background:#a855f7;color:#fff;border:1px solid #a855f7;box-shadow:0 0 8px color-mix(in srgb,#a855f7 55%,transparent)}
.buyer-badge.tier-vantage{background:#10b981;color:#fff;border:1px solid #10b981;box-shadow:0 0 8px color-mix(in srgb,#10b981 55%,transparent)}
.buyer-badge.tier-vantage-plus{background:#14b8a6;color:#fff;border:1px solid #14b8a6;box-shadow:0 0 8px color-mix(in srgb,#14b8a6 55%,transparent)}
.buyer-badge.tier-l3-vantage{background:#06b6d4;color:#fff;border:1px solid #06b6d4;box-shadow:0 0 8px color-mix(in srgb,#06b6d4 55%,transparent)}
.buyer-badge.tier-ai-accel{background:#f97316;color:#fff;border:1px solid #f97316;box-shadow:0 0 8px color-mix(in srgb,#f97316 55%,transparent)}
.buyer-badge.tier-brand{background:#ec4899;color:#fff;border:1px solid #ec4899;box-shadow:0 0 8px color-mix(in srgb,#ec4899 55%,transparent)}
.buyer-badge.tier-l2-renewal,.buyer-badge.tier-l3-renewal,.buyer-badge.tier-default{background:var(--bg-elev2);color:var(--text-2);border:1px solid var(--hairline)}
/* ── Member badges (existing Vantage membership, intel Step 3b) ──────────────
   Quiet outline chips — clearly NOT a sale. VTG (violet) for base Vantage and
   the Vantage half of L3+Vantage; VTG+ (amber) for Vantage Plus; the L3 half
   of L3+Vantage renders as an outlined L3 chip in the same member styling. */
.member-badge{display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:800;letter-spacing:.06em;padding:3px 6px;border-radius:4px;line-height:1;text-transform:uppercase;white-space:nowrap;background:transparent}
/* Same hue as the matching buyer badge — the treatment (outline vs solid)
   is the only signal for prior-member vs bought-on-workshop-day. */
.member-badge.m-vtg{color:#10b981;border:1.5px solid #10b981}
.member-badge.m-vtg-plus{color:#14b8a6;border:1.5px solid #14b8a6}
.member-badge.m-l3{color:#a855f7;border:1.5px solid #a855f7}
/* $100M Money Models launch-bundle buyer — HubSpot contact fact (mmBundle),
   not an intel-feed signal. Amber to stand apart from the green/teal Vantage
   family and the purple L3. */
.member-badge.m-mm{color:#f59e0b;border:1.5px solid #f59e0b}
/* ── Dossier Vantage tab ── */
.vtg-facts{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0 10px}
.vtg-facts>div{display:flex;flex-direction:column;gap:2px}
.vtg-k{font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-2)}
.vtg-v{font-size:13px;font-weight:700}
.vtg-note{margin-bottom:6px}
.vtg-note-date{font-weight:700;color:var(--text-2)}
.vtg-divider{height:1px;background:var(--hairline);margin:12px 0}
.buyer-badge.deprecated{opacity:.5;filter:grayscale(.55)}
.buyer-badge.pay-pif{background:color-mix(in srgb,#10b981 15%,transparent);color:#10b981;border:1px solid color-mix(in srgb,#10b981 35%,transparent)}
.buyer-badge.pay-plan{background:color-mix(in srgb,#f59e0b 15%,transparent);color:#f59e0b;border:1px solid color-mix(in srgb,#f59e0b 35%,transparent)}
.buyer-badge.pay-dep{background:var(--bg-elev2);color:var(--text-2);border:1px solid var(--hairline)}
.buyer-badge.day-d1,.buyer-badge.day-d2,.buyer-badge.day-d3{background:var(--bg-elev2);color:var(--text-2);border:1px solid var(--hairline);font-weight:700}
/* Per-day purchase group: day chip + that day's product chips inside one
   bordered pill, so WHICH product sold on WHICH day reads at a glance
   (e.g. [D1 VTG+] [D2 L3]). 2026-07-08. */
.buyer-day-group{display:inline-flex;align-items:center;gap:4px;padding:3px 5px;border:1px solid var(--hairline);border-radius:7px;background:color-mix(in srgb,var(--bg-elev2) 45%,transparent)}
.buyer-day-group .buyer-badge{font-size:9px;padding:3px 6px}

/* Historical comparison strip — sits between the headline KPI grid and the
   payment-type strip. Compact, two-row: summary line on top, per-workshop
   pills below. */
/* Workshop Trend — bar chart of last N workshops + vs-previous delta row.
   Selected workshop highlighted with accent color; live workshop marked with
   a small dot so it's distinguishable even when not selected. */
.intel-trend{
  margin-bottom:16px;
  padding:14px 16px;
  border:1px solid var(--hairline);
  border-radius:10px;
  background:color-mix(in srgb, var(--text-3) 4%, var(--bg-elev2));
  display:flex;flex-direction:column;gap:14px;
}
.intel-trend.loading{font-size:12px;color:var(--text-3);font-style:italic;padding:12px 16px}
.intel-trend.err{font-size:12px;color:var(--danger,#ef4444);background:color-mix(in srgb, var(--danger,#ef4444) 5%, transparent);border-color:color-mix(in srgb, var(--danger,#ef4444) 25%, transparent);padding:12px 16px}
.intel-trend-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}
.intel-trend-ttl{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.intel-trend-sub{font-size:11px;color:var(--text-3);font-weight:500}

/* Bar chart — fixed-height columns, oldest on left */
.intel-trend-chart{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:1fr;
  gap:8px;
  align-items:end;
  min-height:82px;
}
.intel-trend-bar-col{
  display:flex;flex-direction:column;align-items:center;gap:4px;
  cursor:default;
}
.intel-trend-bar-val{font-size:11px;font-weight:700;color:var(--text-2);font-variant-numeric:tabular-nums;line-height:1}
.intel-trend-bar-col.selected .intel-trend-bar-val{color:#10b981;font-size:13px}
.intel-trend-bar-col.empty .intel-trend-bar-val{color:var(--text-3);font-weight:500}
.intel-trend-bar-wrap{
  position:relative;width:100%;height:50px;
  background:color-mix(in srgb, var(--hairline) 40%, transparent);
  border-radius:4px 4px 0 0;
  overflow:hidden;
  display:flex;align-items:flex-end;
}
.intel-trend-bar-fill{
  width:100%;
  background:linear-gradient(180deg, color-mix(in srgb, var(--text-2) 60%, transparent) 0%, color-mix(in srgb, var(--text-2) 40%, transparent) 100%);
  border-radius:4px 4px 0 0;
  transition:height .3s ease;
}
.intel-trend-bar-col.selected .intel-trend-bar-fill{
  background:linear-gradient(180deg, #10b981 0%, #059669 100%);
}
.intel-trend-bar-col.live:not(.selected) .intel-trend-bar-fill{
  background:linear-gradient(180deg, color-mix(in srgb, #10b981 60%, transparent) 0%, color-mix(in srgb, #10b981 40%, transparent) 100%);
}
.intel-trend-bar-col.empty .intel-trend-bar-fill{background:color-mix(in srgb, var(--hairline) 50%, transparent);opacity:.4}
.intel-trend-bar-date{font-size:10px;color:var(--text-3);font-weight:600;letter-spacing:.02em;text-align:center;line-height:1.2;font-variant-numeric:tabular-nums}
.intel-trend-bar-col.selected .intel-trend-bar-date{color:var(--text);font-weight:700}

/* vs-previous delta row */
.intel-trend-deltas{
  border-top:1px solid color-mix(in srgb, var(--hairline) 60%, transparent);
  padding-top:12px;
  display:flex;flex-direction:column;gap:10px;
}
.intel-trend-deltas.empty{padding-top:8px;border-top:none}
.intel-trend-vs{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text)}
.intel-trend-vs-sub{font-size:11px;color:var(--text-3);font-weight:500;letter-spacing:.04em;text-transform:none;margin-left:4px}
.intel-trend-deltas-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}
.intel-trend-delta{
  background:var(--bg-elev);
  border:1px solid color-mix(in srgb, var(--hairline) 60%, transparent);
  border-radius:8px;
  padding:8px 10px;
  display:flex;flex-direction:column;gap:4px;
  min-width:0;
}
.intel-trend-delta-lbl{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}
.intel-trend-delta-val{font-size:18px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1}
.intel-trend-delta-chip{
  display:inline-block;align-self:flex-start;
  font-size:11px;font-weight:700;font-variant-numeric:tabular-nums;
  padding:2px 7px;border-radius:999px;line-height:1.3;
}
.intel-trend-delta-chip.up{color:#10b981;background:color-mix(in srgb, #10b981 15%, transparent)}
.intel-trend-delta-chip.down{color:#ef4444;background:color-mix(in srgb, #ef4444 15%, transparent)}
.intel-trend-delta-chip.flat{color:var(--text-3);background:color-mix(in srgb, var(--text-3) 8%, transparent)}

/* Loading block — appears at the top of .intel-body while a fetch is in
   flight for the currently-selected workshop. Simple flex layout (no sticky
   positioning) so it renders reliably. Mint-green accent matches the rest
   of the Intel treatment. Spinner on the left, text in the middle, animated
   progress bar pinned to the bottom edge. */
.intel-load{
  position:relative;
  margin-bottom:18px;
  padding:16px 18px 18px;
  border:1px solid color-mix(in srgb, #10b981 30%, var(--hairline));
  border-radius:12px;
  background:color-mix(in srgb, #10b981 6%, var(--bg-elev));
  display:flex;align-items:center;gap:14px;
  overflow:hidden;
}
.intel-load-icon{
  flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  width:44px;height:44px;
}
.intel-load-spinner{
  width:30px;height:30px;
  border:3px solid color-mix(in srgb, #10b981 25%, transparent);
  border-top-color:#10b981;
  border-radius:50%;
  animation:intelSpin .9s linear infinite;
}
@keyframes intelSpin{to{transform:rotate(360deg)}}
.intel-load-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.intel-load-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}
.intel-load-sub{font-size:12px;color:var(--text-2);font-weight:500;line-height:1.4}
.intel-load-bar{
  position:absolute;bottom:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, transparent 0%, #10b981 50%, transparent 100%);
  background-size:40% 100%;background-repeat:no-repeat;
  animation:intelLoadBarSlide 1.1s ease-in-out infinite;
}
@keyframes intelLoadBarSlide{
  from{background-position:-40% 0}
  to{background-position:140% 0}
}

/* Error block — shown at top of .intel-body when the most recent fetch
   failed. Prominent red accent, clear message, retry button. Stays above
   any stale data that's still rendered below so context isn't lost. */
.post-stat-row{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.post-stat-box{flex:1;min-width:140px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:14px;padding:16px 18px 14px;display:flex;flex-direction:column;gap:4px}
.post-stat-box-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--text-3);font-family:'IBM Plex Mono',monospace}
.post-stat-box-value{font-size:40px;font-weight:200;letter-spacing:-.03em;line-height:1.1;color:var(--text)}
.post-stat-box-sub{font-size:11px;color:var(--text-3);font-family:'IBM Plex Mono',monospace;font-weight:600;letter-spacing:.04em}
.post-stat-box-seg-bar{display:flex;height:6px;border-radius:4px;overflow:hidden;gap:2px;margin-top:6px}
.post-stat-seg{height:100%;border-radius:2px;min-width:2px}
.post-stat-seg.great{background:#a855f7}
.post-stat-seg.good{background:#7c3aed}
.post-stat-seg.okay{background:#f59e0b}
.post-stat-seg.bad{background:#374151}
.post-stat-seg.pro{background:#22c55e}
.post-stat-seg.pas{background:#6b7280}
.post-stat-seg.det{background:#ef4444}
/* legacy — kept for KPI strip compatibility */
.post-csat-header{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:4px;flex-wrap:wrap;gap:8px}
.post-csat-title{font-size:15px;font-weight:600;color:var(--text)}
.post-csat-meta{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-3);font-weight:600;letter-spacing:.06em;text-transform:uppercase}
/* comment buyer/equity badges */
.post-comment-badge{font-size:10px;font-weight:700;padding:2px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em}
.post-comment-badge.buyer{background:color-mix(in srgb,#22c55e 18%,transparent);color:#22c55e}
.post-comment-badge.buyer.deprecated{opacity:.5;filter:grayscale(.55)}
.post-comment-badge.dm{background:color-mix(in srgb,#a855f7 18%,transparent);color:#a855f7}
.post-comment-badge.nondm{background:color-mix(in srgb,#6b7280 16%,transparent);color:#9ca3af}
.post-csat-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:5px;vertical-align:1px}
.intel-no-data{
  display:flex;align-items:center;gap:16px;
  margin:32px auto;max-width:420px;
  padding:24px 28px;
  border:0.5px solid rgba(168,85,247,0.15);
  border-radius:16px;
  background:rgba(168,85,247,0.04);
}
.intel-no-data-icon{font-size:28px;opacity:0.4;flex-shrink:0}
.intel-no-data-msg{font-size:14px;font-weight:600;color:var(--text-2,#a8a8b0);line-height:1.5}
.intel-no-data-sub{font-size:12px;font-weight:400;opacity:0.7}
.intel-err-block{
  margin-bottom:18px;
  padding:14px 16px;
  border:1px solid color-mix(in srgb, var(--danger,#ef4444) 35%, transparent);
  border-radius:12px;
  background:color-mix(in srgb, var(--danger,#ef4444) 6%, var(--bg-elev));
  display:flex;align-items:flex-start;gap:14px;
}
.intel-err-icon{
  flex-shrink:0;
  font-size:22px;line-height:1;
  color:var(--danger,#ef4444);
  padding-top:2px;
}
.intel-err-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.intel-err-title{font-size:15px;font-weight:700;color:var(--text);letter-spacing:-.01em}
.intel-err-msg{
  font-size:12px;color:var(--text-2);font-weight:500;line-height:1.5;
  font-family:ui-monospace,Menlo,Monaco,monospace;
  background:var(--bg-soft,var(--bg-elev2));
  padding:8px 10px;border-radius:6px;
  word-break:break-word;
  max-height:100px;overflow-y:auto;
}
.intel-err-retry{
  align-self:flex-start;
  padding:8px 18px;
  background:var(--danger,#ef4444);
  color:#fff;
  border:none;border-radius:8px;
  font-size:13px;font-weight:700;font-family:inherit;letter-spacing:.02em;
  cursor:pointer;
  transition:transform .15s,background .15s;
}
.intel-err-retry:hover{background:color-mix(in srgb, var(--danger,#ef4444) 85%, #000)}
.intel-err-retry:active{transform:scale(.97)}

@media (max-width: 720px){
  .intel-trend-deltas-grid{grid-template-columns:repeat(2, 1fr)}
  .intel-trend-bar-date{font-size:9px}
  .intel-trend-chart{min-height:72px}
  .intel-trend-bar-wrap{height:40px}
}

/* Per-roundtable stat-box grid — one card per RT showing buying %.
   Sorted highest-to-lowest. No bar, no D1/D2 split, no N/M fraction —
   just the conversion rate, since that's what advisors scan in live view.
   Note: this grid layout is no longer used by buyerProfileBlock (which
   renders RT data as a list inside a 2-column section), but kept for
   any future place that wants the multi-card RT visualization. */
.intel-rt-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill, minmax(120px, 1fr));
  gap:10px;
  margin-bottom:14px;
}
.intel-rt-card{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:10px;
  padding:12px 14px;
  display:flex;flex-direction:column;gap:4px;
}
.intel-rt-card.top{
  border-color:color-mix(in srgb, #10b981 35%, transparent);
  background:color-mix(in srgb, #10b981 6%, var(--bg-elev2));
}
.intel-rt-card-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);
}
.intel-rt-card-val{
  font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;
}
.intel-rt-card.top .intel-rt-card-val{color:#10b981}
.intel-rt-card-val .pct{font-size:14px;font-weight:700;margin-left:1px}

/* Buyer Profile Breakdown — top stat row (DMs+ / DMs / Avg Profit /
   Avg Savings) followed by a 2-column list grid (Buyers By Industries
   on the left, D2 Buyers By Roundtable on the right). */
.intel-bp-stats{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
  margin-bottom:14px;
}
.intel-bp-stat{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:10px;
  padding:12px 14px;
  display:flex;flex-direction:column;gap:3px;
  min-width:0;
}
.intel-bp-stat-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);
}
.intel-bp-stat-val{
  font-size:22px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;line-height:1.1;
}
.intel-bp-stat-val.muted{color:var(--text-3)}
.intel-bp-stat-of{font-size:13px;font-weight:500;color:var(--text-3)}
.intel-bp-stat-sub{font-size:10.5px;color:var(--text-3);font-weight:500;margin-top:1px}
@media (max-width: 720px){
  .intel-bp-stats{grid-template-columns:repeat(2,1fr);gap:8px}
  .intel-bp-stat{padding:10px 12px}
  .intel-bp-stat-val{font-size:18px}
}

/* 2-column list grid — Buyers By Industries (left), D2 Buyers By
   Roundtable (right). Each column is a styled list with header. */
.intel-bp-cols{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
  margin-bottom:14px;
}
@media (max-width: 720px){
  .intel-bp-cols{grid-template-columns:1fr;gap:12px}
}

/* Generic profile-list container — used by both columns of the Buyer
   Profile Breakdown (industries on the left, RT % on the right) and
   any other simple "label : %" list that wants the same look. */
.intel-list{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:10px;
  padding:14px 16px;
  display:flex;flex-direction:column;gap:8px;
}
.intel-list-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-3);
  margin-bottom:2px;
}
.intel-list-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:12px;
  font-variant-numeric:tabular-nums;
}
.intel-list-row + .intel-list-row{
  padding-top:6px;border-top:1px solid color-mix(in srgb, var(--hairline) 50%, transparent);
}
.intel-list-name{font-size:13px;color:var(--text);font-weight:600}
.intel-list-pct{font-size:14px;color:var(--text);font-weight:700}
.intel-list-pct .muted{color:var(--text-3);font-weight:500}
.intel-list-empty{font-size:12px;color:var(--text-3);font-style:italic}

/* Section + segmentation grid */
.intel-section{margin-top:6px;margin-bottom:18px}
.intel-section-hd{margin-bottom:12px}
.intel-section-ttl{font-size:14px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text)}
.intel-section-sub{font-size:12px;color:var(--text-2);margin-top:3px;line-height:1.4;max-width:680px}

.intel-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
  gap:14px;
  margin-top:8px;
}

/* Single segment block: Day 1 / Day 2 / Non-buyers */
.intel-seg{
  background:var(--bg-elev2);
  border:1px solid var(--hairline);
  border-radius:14px;
  padding:16px 18px;
  display:flex;flex-direction:column;gap:14px;
}
.intel-seg.day1{border-top:3px solid #10b981}
.intel-seg.day2{border-top:3px solid #3b82f6}
.intel-seg.non{border-top:3px solid var(--text-3);opacity:.92}

.intel-seg-hd{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.intel-seg-ttl{font-size:14px;font-weight:800;letter-spacing:.02em;color:var(--text)}
.intel-seg-meta{font-size:11px;color:var(--text-2);display:flex;gap:8px;align-items:baseline}
.intel-seg-n{font-weight:700;color:var(--text)}
.intel-seg-avg{color:var(--text-3)}
/* Footer inside a segment card explaining the gap between segment-count and
   the KPI count. Example: "18 buyers" but rev bands sum to 16 because 2 had
   no prework match. Without this footer the gap looks like a bug. */
.intel-seg-foot{font-size:11px;color:var(--text-3);padding:8px 10px;margin-top:4px;border-top:1px dashed var(--hairline);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.intel-seg-foot-dot{color:var(--warn,#f59e0b);font-size:14px;line-height:1}
.intel-seg-foot-hint{color:var(--text-3);font-style:italic}

.intel-seg-body{display:flex;flex-direction:column;gap:14px}
.intel-seg-block-lbl{
  font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--text-3);margin-bottom:6px;
}
.intel-row{
  display:flex;justify-content:space-between;align-items:baseline;gap:10px;
  padding:4px 0;font-size:13px;
}
.intel-row+.intel-row{border-top:1px solid color-mix(in srgb, var(--hairline) 50%, transparent)}
.intel-row.muted{color:var(--text-3);font-style:italic;font-size:12px}
.intel-row-lbl{color:var(--text);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.intel-row-val{color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;flex-shrink:0}
.intel-row-val .muted{color:var(--text-3);font-weight:500;margin-left:1px}

/* Footer with metadata */
.intel-footer{
  margin-top:18px;padding-top:12px;
  border-top:1px solid var(--hairline);
  display:flex;justify-content:space-between;align-items:center;
  font-size:10px;color:var(--text-3);font-weight:500;letter-spacing:.04em;
}

/* Inline prework data-population diagnostic chip. Sits above the footer
   on the Workshop Intel page. Visible without devtools. */
.intel-diag{
  margin-top:14px;padding:12px 14px;
  background:var(--bg-elev2);
  border:1px dashed color-mix(in srgb, var(--hairline) 70%, transparent);
  border-radius:10px;
  display:flex;flex-direction:column;gap:6px;
}
.intel-diag-lbl{
  font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;
  color:var(--text-2);
}
.intel-diag-lbl .muted{font-weight:500;text-transform:none;letter-spacing:0;color:var(--text-3)}
.intel-diag-val{font-size:12px;color:var(--text-2)}
.intel-diag-val.muted{color:var(--text-3);font-style:italic}
.intel-diag-row{
  display:flex;flex-wrap:wrap;gap:6px 10px;
  align-items:baseline;font-variant-numeric:tabular-nums;
}
.intel-diag-row.intel-diag-buckets{padding-top:4px;border-top:1px dashed color-mix(in srgb, var(--hairline) 50%, transparent)}
.intel-diag-chip{
  font-size:11px;color:var(--text);
  background:color-mix(in srgb, var(--hairline) 30%, transparent);
  padding:2px 8px;border-radius:999px;
}
.intel-diag-chip.muted{color:var(--text-3);background:transparent;border:1px solid var(--hairline)}
.intel-diag-chip strong{font-weight:700}
.intel-diag-chip .muted{color:var(--text-3);font-weight:500}

@media (max-width: 720px){
  .intel-modal-bg{padding:0;align-items:flex-start}
  .intel-modal{max-height:100vh;border-radius:0;height:100vh}
  .intel-hd{padding:14px 16px}
  .intel-hd-ttl{font-size:16px}
  .intel-body{padding:14px}
  /* NOTE: .intel-kpis is intentionally NOT overridden here. The
     3-column headline row (Attendees / Conversion / Sales) is sized to
     fit on one line on mobile via the @media block higher up — see the
     .intel-kpis padding/font-size shrink for narrow screens. */
  .intel-payment-strip{grid-template-columns:repeat(2, 1fr);gap:8px}
  .intel-revenue-strip{grid-template-columns:1fr;gap:8px}
  .intel-pmt.cash-collected .intel-pmt-val{font-size:26px}
  .intel-grid{grid-template-columns:1fr;gap:10px}
}


/* ═════════════════════════════ POST-EVENT TAB ═════════════════════════════ */
.post-page{padding:0 18px 24px;max-width:1400px;margin:0 auto}
@media (max-width:780px){.post-page{padding:0 12px 20px}}
.post-header{
  display:flex;align-items:center;justify-content:space-between;
  gap:14px;padding:18px 0 14px;border-bottom:1px solid var(--hairline);
  margin-bottom:18px;flex-wrap:wrap;
}
.post-header-left{display:flex;flex-direction:column;gap:4px;min-width:0}
.post-header-right{display:flex;align-items:center;gap:8px}
.post-title{font-size:20px;font-weight:700;color:var(--text);margin:0;letter-spacing:-.01em}
.post-sub{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.post-date{font-size:13px;color:var(--text-2);font-weight:500}
.post-loading-pill{
  font-size:11px;color:var(--accent);font-weight:600;
  padding:3px 8px;background:var(--accent-tint);border-radius:8px;
}
.post-workshop-select{
  font-size:13px;font-weight:500;padding:8px 12px;
  border:1px solid var(--hairline);border-radius:10px;
  background:var(--bg-elev);color:var(--text);cursor:pointer;
  min-width:180px;
}
.post-workshop-select:hover{border-color:var(--accent)}
.post-workshop-select:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-tint)}

.post-loading{
  text-align:center;padding:48px 16px;color:var(--text-2);
  font-size:14px;font-style:italic;
}
.post-err{
  display:flex;align-items:center;gap:12px;padding:14px 18px;
  background:color-mix(in srgb, var(--danger,#ef4444) 8%, var(--bg-elev));
  border:1px solid color-mix(in srgb, var(--danger,#ef4444) 30%, var(--hairline));
  border-radius:12px;margin-bottom:18px;
}
.post-err-msg{flex:1;font-size:13px;color:var(--text);font-weight:500}
.post-err-retry{
  padding:8px 14px;background:var(--danger,#ef4444);color:#fff;
  border:none;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;
}
.post-err-retry:hover{background:color-mix(in srgb, var(--danger,#ef4444) 85%, #000)}

/* Ship IX: KPI strip is now 2 cards (NPS clickable + scope-aware Trend
   tile). Promoter/Passive/Detractor counts moved into the modal. Strip
   stays clean and the cards get more breathing room. Mobile collapses
   to 1 column for full readability. */
.post-kpi-row{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;
  margin-bottom:24px;
}
@media (max-width:780px){
  .post-kpi-row{grid-template-columns:1fr;gap:10px}
}
.post-kpi-card{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;padding:14px 16px;
}
.post-kpi-label{font-size:11px;color:var(--text-2);font-weight:600;text-transform:uppercase;letter-spacing:.05em}
.post-kpi-num{font-size:32px;font-weight:700;color:var(--text);line-height:1.1;margin-top:4px;letter-spacing:-.02em}
@media (max-width:780px){.post-kpi-num{font-size:26px}}
.post-kpi-sub{font-size:11px;color:var(--text-2);font-weight:500;margin-top:2px;display:flex;align-items:center;gap:8px;flex-wrap:wrap}

/* Clickable NPS card — opens the modal. Visually identical to a regular
   card at rest, but cursor + subtle accent on hover signal it's a button.
   Reset native button styling since we use <button> for accessibility. */
.post-kpi-clickable{
  cursor:pointer;text-align:left;font-family:inherit;
  width:100%;display:block;
  border:1px solid var(--hairline);
  transition:border-color .12s, transform .08s;
}
.post-kpi-clickable:hover{border-color:var(--accent);transform:translateY(-1px)}
.post-kpi-clickable:active{transform:translateY(0)}
.post-kpi-clickable:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-tint)}
.post-kpi-tap{
  font-size:10px;font-weight:600;color:var(--accent);
  text-transform:uppercase;letter-spacing:.06em;
  padding:2px 7px;background:var(--accent-tint);border-radius:6px;
  margin-left:auto;
}

/* NPS Trend tile — single contextual delta vs previous period, color-
   coded (green up / red down / gray flat). Sparkline removed in Ship IX
   per Dion's feedback that it added little signal. */
.post-kpi-trend-num{font-size:32px;font-weight:700;line-height:1.1;letter-spacing:-.02em;font-variant-numeric:tabular-nums;display:inline-flex;align-items:center;gap:6px;margin-top:4px}
.post-kpi-trend-arrow{font-size:24px;font-weight:800;line-height:1}
.post-kpi-trend-up .post-kpi-trend-num{color:#10b981}
.post-kpi-trend-down .post-kpi-trend-num{color:#ef4444}
.post-kpi-trend-flat .post-kpi-trend-num{color:var(--text-2)}
@media (max-width:780px){
  .post-kpi-trend-num{font-size:26px}
  .post-kpi-trend-arrow{font-size:20px}
}

/* Scope dropdown (Ship IX) — sits next to the workshop selector in the
   header. Same look as post-workshop-select, slightly bolder font weight
   to signal it's the primary navigation control. */
.post-scope-select{font-weight:600}
.post-scope-warn{
  font-size:11px;color:var(--text-2);font-style:italic;
  padding:2px 8px;background:color-mix(in srgb, var(--warning,#f59e0b) 14%, transparent);
  border-radius:6px;
}

/* Per-comment workshop date (pooled scope only) — small chip showing
   which workshop a comment came from when viewing month/quarter scope. */
.post-comment-ws{
  font-size:11px;font-weight:500;color:var(--text-2);
  padding:2px 7px;background:var(--hairline);border-radius:6px;
}
.post-comments-pooled-note{
  font-size:12px;color:var(--text-2);font-style:italic;
  padding:10px 14px;margin-bottom:10px;
  background:var(--bg-elev);border:1px dashed var(--hairline);border-radius:10px;
}

/* NPS Modal — appears over the page when the NPS card is clicked.
   Shows promoter/passive/detractor counts only (no percentage subtitles
   since the buckets are self-evident per Dion's call). Click backdrop
   or close button to dismiss. */
.post-modal-overlay{
  position:fixed;inset:0;z-index:9000;
  background:rgba(0,0,0,.55);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:postModalFadeIn .15s ease-out;
}
@keyframes postModalFadeIn{from{opacity:0}to{opacity:1}}
.post-modal-card{
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:18px;padding:28px 28px 24px;
  max-width:520px;width:100%;
  box-shadow:0 20px 60px rgba(0,0,0,.35);
  position:relative;
  animation:postModalSlideIn .2s ease-out;
}
@keyframes postModalSlideIn{from{transform:translateY(8px);opacity:0}to{transform:translateY(0);opacity:1}}
.post-modal-close{
  position:absolute;top:14px;right:14px;
  width:32px;height:32px;border-radius:50%;
  background:transparent;border:none;cursor:pointer;
  font-size:24px;line-height:1;color:var(--text-2);
  display:flex;align-items:center;justify-content:center;
  transition:background .12s, color .12s;
}
.post-modal-close:hover{background:var(--hairline);color:var(--text)}
.post-modal-title{
  font-size:18px;font-weight:700;color:var(--text);
  letter-spacing:-.01em;margin-bottom:4px;
}
.post-modal-sub{
  font-size:13px;color:var(--text-2);margin-bottom:18px;
}
.post-modal-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:10px;
}
@media (max-width:480px){
  .post-modal-grid{grid-template-columns:1fr;gap:8px}
}
.post-modal-stat{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;padding:18px 16px;text-align:center;
}
.post-modal-stat-pro{
  border-color:color-mix(in srgb, #10b981 35%, var(--hairline));
  background:color-mix(in srgb, #10b981 6%, var(--bg-elev));
}
.post-modal-stat-pas{
  border-color:color-mix(in srgb, #f59e0b 35%, var(--hairline));
  background:color-mix(in srgb, #f59e0b 6%, var(--bg-elev));
}
.post-modal-stat-det{
  border-color:color-mix(in srgb, #ef4444 35%, var(--hairline));
  background:color-mix(in srgb, #ef4444 6%, var(--bg-elev));
}
.post-modal-stat-num{
  font-size:36px;font-weight:800;line-height:1;
  letter-spacing:-.02em;font-variant-numeric:tabular-nums;
}
.post-modal-stat-pro .post-modal-stat-num{color:#10b981}
.post-modal-stat-pas .post-modal-stat-num{color:#f59e0b}
.post-modal-stat-det .post-modal-stat-num{color:#ef4444}
.post-modal-stat-lbl{
  font-size:12px;font-weight:700;color:var(--text);
  text-transform:uppercase;letter-spacing:.05em;margin-top:6px;
}

/* ─── Attendee Ratings Table (postAttendeeRatingsTable) ──────────────────── */
.post-art-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-top:12px}
.post-art-table{width:100%;border-collapse:collapse;font-size:12px;min-width:520px}
.post-art-table th{padding:6px 10px;text-align:left;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);border-bottom:1px solid var(--hairline);white-space:nowrap;background:var(--bg-base)}
.post-art-table th.post-art-sort{cursor:pointer;user-select:none;color:var(--text-2)}
.post-art-table th.post-art-sort:hover{color:var(--accent)}
.post-art-table th.post-art-sort-active{color:var(--accent)}
.post-art-table th.post-art-sort-active .post-art-sort-arrow{opacity:1}
.post-art-sort-arrow{opacity:.35;margin-left:4px;font-style:normal}
.post-art-table td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}
.post-art-table tr:last-child td{border-bottom:none}
.post-art-table tr:hover td{background:rgba(168,85,247,.04)}
.post-art-who{display:flex;align-items:center;gap:10px;min-width:0}
.post-art-idcol{min-width:0}
.post-art-photo{width:34px;height:34px;border-radius:50%;object-fit:cover;flex:none;background:#2c2654;border:1.5px solid rgba(168,85,247,.55)}
.post-art-photo-fb{display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;color:#c4a0ff;letter-spacing:.02em}
.post-art-name{font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px}
.post-art-biz{font-size:11px;color:var(--text-3);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.post-art-nps{font-size:12px;font-weight:700;text-align:center;white-space:nowrap}
.post-art-nps.nps-pro{color:#10b981}
.post-art-nps.nps-pas{color:#f59e0b}
.post-art-nps.nps-det{color:#ef4444}
.post-art-nps.nps-na{color:var(--text-3)}
.post-art-rating{text-align:center;white-space:nowrap}
.post-art-pill{display:inline-block;padding:2px 7px;border-radius:9px;font-size:10px;font-weight:700;letter-spacing:.04em}
.post-art-pill.r-great{background:rgba(16,185,129,.18);color:#10b981}
.post-art-pill.r-good {background:rgba(59,130,246,.18);color:#60a5fa}
.post-art-pill.r-okay {background:rgba(245,158,11,.18);color:#f59e0b}
.post-art-pill.r-bad  {background:rgba(239,68,68,.18);color:#ef4444}
.post-art-pill.r-none {color:var(--text-3);background:transparent;font-weight:400;letter-spacing:0}
.post-art-ws{font-size:10px;color:var(--text-3);white-space:nowrap}
.post-art-sort-controls{display:flex;align-items:center;gap:12px;margin-bottom:10px;flex-wrap:wrap}
.post-art-sort-btn{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:6px;padding:4px 10px;font-size:11px;color:var(--text-2);cursor:pointer;font-family:inherit}
.post-art-sort-btn.active{border-color:var(--accent);color:var(--accent);background:rgba(168,85,247,.08)}
.post-art-sort-btn:hover:not(.active){border-color:var(--text-3);color:var(--text)}
.post-art-empty{color:var(--text-3);font-size:13px;padding:20px 0;text-align:center}
/* End Attendee Ratings Table */
.post-section{margin-bottom:28px}
.post-section-tog{display:inline-flex;align-items:center;gap:8px;background:transparent;border:none;cursor:pointer;padding:0;color:inherit;font:inherit;text-align:left}
.post-section-tog:hover .post-section-title{color:var(--accent)}
.post-section-tog .post-section-chevron{flex-shrink:0;color:var(--text-2);transition:transform .15s ease-out}
.post-section-tog:hover .post-section-chevron{color:var(--accent)}
.post-section-tog.open .post-section-chevron{transform:rotate(90deg)}
.post-section-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}
.post-section-title{
  font-size:15px;font-weight:700;color:var(--text);margin:0 0 12px 0;
  letter-spacing:-.01em;
}
.post-section-head .post-section-title{margin-bottom:0}

/* Advisor leaderboard */
.post-leaderboard{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;overflow:hidden;
}
.post-lb-head, .post-lb-row{
  display:grid;
  grid-template-columns:36px 1.6fr 1fr 1fr 2.4fr 0.7fr;
  gap:12px;align-items:center;padding:10px 14px;
  font-size:13px;
}
.post-lb-head{
  background:color-mix(in srgb, var(--accent) 6%, var(--bg-elev));
  font-size:11px;font-weight:700;color:var(--text-2);
  text-transform:uppercase;letter-spacing:.04em;
  border-bottom:1px solid var(--hairline);
}
.post-lb-row{border-bottom:1px solid var(--hairline);transition:background .12s}
.post-lb-row:last-child{border-bottom:none}
.post-lb-row:hover{background:color-mix(in srgb, var(--accent) 4%, var(--bg-elev))}
.post-lb-rank{color:var(--text-2);font-weight:600;text-align:center}
.post-lb-name{display:flex;align-items:center;gap:10px;min-width:0}
.post-lb-avatar{
  width:30px;height:30px;border-radius:50%;flex-shrink:0;
  background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;overflow:hidden;
}
.post-lb-avatar img{width:100%;height:100%;object-fit:cover}
.post-lb-namelbl{font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.post-lb-score{font-variant-numeric:tabular-nums;font-weight:600;color:var(--text)}
.post-lb-pct{font-variant-numeric:tabular-nums;color:var(--text-2)}
.post-lb-total{font-variant-numeric:tabular-nums;color:var(--text-2);text-align:right}

.post-lb-stack{display:flex;height:18px;border-radius:5px;overflow:hidden;background:var(--hairline)}
.post-lb-seg{height:100%;transition:width .2s}
.post-lb-seg.seg-great, .post-lb-dot.seg-great{background:#10b981}
.post-lb-seg.seg-good,  .post-lb-dot.seg-good {background:#3b82f6}
.post-lb-seg.seg-okay,  .post-lb-dot.seg-okay {background:#f59e0b}
.post-lb-seg.seg-bad,   .post-lb-dot.seg-bad  {background:#ef4444}

.post-lb-legend{
  display:flex;flex-wrap:wrap;gap:14px;
  padding:10px 14px;font-size:11px;color:var(--text-2);
  border-top:1px solid var(--hairline);
}
.post-lb-key{display:inline-flex;align-items:center;gap:6px}
.post-lb-dot{width:10px;height:10px;border-radius:3px;display:inline-block}

@media (max-width:780px){
  .post-lb-head, .post-lb-row{
    grid-template-columns:24px 1.6fr 0.8fr 0.8fr;
    font-size:12px;gap:8px;padding:10px 12px;
  }
  .post-lb-bar, .post-lb-total, .post-lb-head .post-lb-bar, .post-lb-head .post-lb-total{display:none}
  .post-lb-avatar{width:26px;height:26px}
}

/* Podium CSS removed in Ship VIII.1 — see postAdvisorLeaderboard
   comment for the list of removed classes. The unified single-list
   approach uses the new .post-lb-champion / .post-lb-silver /
   .post-lb-bronze / .post-lb-medal classes defined below in the
   row-clickable section. */

/* Comments feed */
.post-comments-head{align-items:center}
.post-comments-tog{
  display:inline-flex;align-items:center;gap:8px;
  background:transparent;border:none;cursor:pointer;
  padding:6px 8px;margin-left:-8px;border-radius:8px;
  color:inherit;font:inherit;
  transition:background .12s;
}
.post-comments-tog:hover{background:color-mix(in srgb, var(--accent) 7%, transparent)}
.post-comments-chevron{
  flex-shrink:0;color:var(--text-2);
  transition:transform .15s ease-out;
}
.post-comments-tog.open .post-comments-chevron{transform:rotate(90deg)}
.post-comments-tog:hover .post-comments-chevron{color:var(--accent)}

/* .post-sort-tog removed in Ship VIII.1 along with the single-list
   sort toggle. The bucket-by-NPS sectioning IS the sort now. */

.post-comments{display:flex;flex-direction:column;gap:10px}
.post-comment{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:12px;padding:12px 14px;
}
.post-comment-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:6px}
.post-comment-name{font-size:13px;font-weight:700;color:var(--text)}
.post-comment-biz{font-size:12px;color:var(--text-2);font-weight:500}
.post-comment-nps{
  font-size:10px;font-weight:700;padding:2px 7px;border-radius:8px;
  text-transform:uppercase;letter-spacing:.04em;font-variant-numeric:tabular-nums;
}
.post-comment-nps.nps-pro{background:color-mix(in srgb, #10b981 18%, transparent);color:#10b981}
.post-comment-nps.nps-pas{background:color-mix(in srgb, #f59e0b 18%, transparent);color:#f59e0b}
.post-comment-nps.nps-det{background:color-mix(in srgb, #ef4444 18%, transparent);color:#ef4444}
.post-comment-nps.nps-na{background:var(--hairline);color:var(--text-2)}
.post-comment-body{font-size:13px;color:var(--text);line-height:1.5;white-space:pre-wrap;word-wrap:break-word}

/* Comments-by-NPS-bucket sections (Ship VIII.1) — three (or four)
   independently collapsible groups so advisors can pop open just the
   bucket they care about (typically Detractors first for triage). */
.post-comments-bucket{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:12px;margin-bottom:8px;overflow:hidden;
}
.post-comments-bucket .post-comments-tog{
  width:100%;padding:12px 14px;margin:0;
  display:flex;align-items:center;gap:10px;
  background:transparent;border:none;cursor:pointer;
  color:inherit;font:inherit;text-align:left;
  border-radius:0;
}
.post-comments-bucket .post-comments-tog:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}
.post-comments-bucket-label{font-size:13px;font-weight:700;color:var(--text);flex:1}
.post-comments-bucket-count{
  font-size:11px;font-weight:700;padding:3px 9px;border-radius:10px;
  font-variant-numeric:tabular-nums;
}
.post-comments-bucket-count-pro{background:color-mix(in srgb, #10b981 18%, transparent);color:#10b981}
.post-comments-bucket-count-pas{background:color-mix(in srgb, #f59e0b 18%, transparent);color:#f59e0b}
.post-comments-bucket-count-det{background:color-mix(in srgb, #ef4444 18%, transparent);color:#ef4444}
.post-comments-bucket-count-na{background:var(--hairline);color:var(--text-2)}
/* Bucket-tone left border for quick visual scan: red for detractors,
   amber for neutrals, green for promoters. Subtle — 3px stripe only. */
.post-comments-bucket-det{border-left:3px solid #ef4444}
.post-comments-bucket-pas{border-left:3px solid #f59e0b}
.post-comments-bucket-pro{border-left:3px solid #10b981}
.post-comments-bucket-na{border-left:3px solid var(--hairline)}
/* When expanded, comments live inside a padded body. Override the
   default .post-comments grid since we're now nested inside a
   bucket card. */
.post-comments-bucket .post-comments{
  padding:0 14px 14px;gap:8px;
}

/* Trend chart CSS (.post-trend-note, .post-trend-svg, .post-axis,
   .post-axis-lbl, .post-trend-line, .post-trend-dot) was removed in
   Ship VIII.1 along with postTrendChart() — see the function comment
   for context. NPS trend now renders as a tile inside the KPI strip. */

/* ════════════════════════ ADVISOR DOSSIER (Ship VI.5) ════════════════════════ */

/* Make leaderboard rows look clickable — subtle on idle, clear on hover */
.post-lb-row-clickable{cursor:pointer;position:relative}
.post-lb-row-clickable:hover{background:color-mix(in srgb, var(--accent) 8%, var(--bg-elev))}
.post-lb-row-clickable:active{background:color-mix(in srgb, var(--accent) 14%, var(--bg-elev))}
.post-lb-row-clickable::after{
  content:"›";position:absolute;right:10px;top:50%;transform:translateY(-50%);
  color:var(--text-2);font-size:18px;font-weight:600;opacity:0;transition:opacity .15s;
}
.post-lb-row-clickable:hover::after{opacity:1}
@media (max-width:780px){.post-lb-row-clickable::after{display:none}}

/* Top 3 medal treatment (Ship VIII.1) — rows stay in the unified list
   but the top 3 get a thick colored left border + medal emoji in the
   rank cell. #1 gets the most pronounced treatment: 6px gold border,
   subtle golden background tint, slightly more vertical padding.
   #2 and #3 are 4px silver/bronze borders, no tint. */
.post-lb-champion{
  border-left:6px solid #fbbf24;
  background:linear-gradient(90deg,
    color-mix(in srgb, #fbbf24 11%, var(--bg-elev)) 0%,
    var(--bg-elev) 35%);
  padding-top:14px;padding-bottom:14px;
}
.post-lb-champion:hover{
  background:linear-gradient(90deg,
    color-mix(in srgb, #fbbf24 18%, var(--bg-elev)) 0%,
    color-mix(in srgb, var(--accent) 4%, var(--bg-elev)) 35%);
}
.post-lb-silver{border-left:4px solid #94a3b8}
.post-lb-bronze{border-left:4px solid #b45309}
.post-lb-medal{
  font-size:18px;line-height:1;display:inline-block;
  filter:drop-shadow(0 1px 1px rgba(0,0,0,.18));
}
.post-lb-champion .post-lb-medal{font-size:22px}
@media (max-width:780px){
  .post-lb-champion{padding-top:12px;padding-bottom:12px}
  .post-lb-medal{font-size:16px}
  .post-lb-champion .post-lb-medal{font-size:18px}
}

/* Dossier header — back button + title + nav arrows */
.dossier-header{align-items:flex-start}
.dossier-back{
  display:inline-flex;align-items:center;gap:6px;
  padding:6px 10px;margin-bottom:10px;
  background:transparent;border:1px solid var(--hairline);border-radius:8px;
  color:var(--text-2);font-size:12px;font-weight:600;cursor:pointer;
  transition:all .12s;
}
.dossier-back:hover{border-color:var(--accent);color:var(--accent)}
.dossier-nav-btn{
  width:36px;height:36px;border-radius:50%;
  background:var(--bg-elev);border:1px solid var(--hairline);
  color:var(--text);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all .12s;
}
.dossier-nav-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.dossier-nav-btn:disabled{opacity:0.4;cursor:not-allowed}

/* Hero block — photo + name + 4 KPI cards */
.dossier-hero{
  display:flex;flex-direction:column;gap:18px;
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:16px;padding:20px;margin-bottom:24px;
}
.dossier-hero-left{display:flex;align-items:center;gap:16px}
.dossier-photo{
  width:72px;height:72px;border-radius:50%;flex-shrink:0;
  background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;font-weight:700;overflow:hidden;
}
.dossier-photo img{width:100%;height:100%;object-fit:cover}
.dossier-hero-name{font-size:24px;font-weight:700;color:var(--text);letter-spacing:-.02em}
.dossier-hero-sub{font-size:13px;color:var(--text-2);margin-top:2px}
.dossier-kpi-row{
  display:grid;grid-template-columns:repeat(5, 1fr);gap:12px;
}
@media (max-width:1080px){.dossier-kpi-row{grid-template-columns:repeat(3, 1fr)}}
@media (max-width:780px){.dossier-kpi-row{grid-template-columns:repeat(2, 1fr)}}
.dossier-kpi{
  background:var(--bg);border:1px solid var(--hairline);
  border-radius:12px;padding:12px 14px;
}
.dossier-kpi-lbl{font-size:10px;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.dossier-kpi-val{font-size:28px;font-weight:700;color:var(--text);line-height:1.05;margin-top:6px;letter-spacing:-.02em;font-variant-numeric:tabular-nums}
.dossier-kpi-val-sm{font-size:18px;line-height:1.2;margin-top:8px}
.dossier-kpi-pct{font-size:18px;font-weight:600;color:var(--text-2);margin-left:1px}
.dossier-kpi-sub{font-size:11px;color:var(--text-2);font-weight:500;margin-top:3px}

/* Growth indicator strip */
.dossier-growth{
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:14px 16px;border-radius:12px;margin-bottom:24px;
  background:var(--bg-elev);border:1px solid var(--hairline);
  font-size:13px;
}
.dossier-growth-lbl{font-size:11px;color:var(--text-2);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.dossier-growth-arrow{font-size:22px;font-weight:700;line-height:1}
.dossier-growth-val{font-weight:700;color:var(--text)}
.dossier-growth-delta{font-variant-numeric:tabular-nums;color:var(--text-2);font-weight:600}
.dossier-growth-frame{font-size:11px;color:var(--text-2);font-style:italic;margin-left:auto}
.dossier-growth-up .dossier-growth-arrow,.dossier-growth-up .dossier-growth-val{color:#10b981}
.dossier-growth-up{border-color:color-mix(in srgb, #10b981 35%, var(--hairline))}
.dossier-growth-down .dossier-growth-arrow,.dossier-growth-down .dossier-growth-val{color:#ef4444}
.dossier-growth-down{border-color:color-mix(in srgb, #ef4444 35%, var(--hairline))}
.dossier-growth-flat .dossier-growth-arrow,.dossier-growth-flat .dossier-growth-val{color:var(--text-2)}
.dossier-growth-na .dossier-growth-val{color:var(--text-2);font-weight:500}

/* Dossier trend chart CSS removed in Ship VII along with dossierTrendChart() —
   see comment on the function for the full list of removed classes. */

/* Per-event breakdown table — reuses post-leaderboard with custom columns */
.dossier-table .dossier-table-head,
.dossier-table .dossier-table-row{
  display:grid;
  grid-template-columns:1.4fr 1.6fr 0.8fr 0.8fr 0.8fr 0.5fr;
  gap:10px;align-items:center;padding:10px 14px;
  font-size:13px;
}
.dossier-table-row{border-bottom:1px solid var(--hairline)}
.dossier-table-row:last-child{border-bottom:none}
.dossier-tcol-date{font-weight:600;color:var(--text);font-variant-numeric:tabular-nums}
.dossier-tcol-num{font-variant-numeric:tabular-nums;text-align:right;color:var(--text-2)}
.dossier-table-row .dossier-tcol-num:nth-of-type(2){color:var(--text);font-weight:600}
@media (max-width:780px){
  .dossier-table .dossier-table-head,
  .dossier-table .dossier-table-row{
    grid-template-columns:1.4fr 0.8fr 0.8fr 0.6fr;
    font-size:12px;gap:8px;padding:10px 12px;
  }
  .dossier-tcol-dist,.dossier-tcol-num:nth-of-type(3){display:none}
}

/* Compare/H2H/delta CSS removed in Ship VIII along with the H2H card
   and "vs Cohort" event-table column. Removed classes:
   .dossier-compare-row, .dossier-compare-lbl, .dossier-compare-select,
   .dossier-compare-note, .dossier-compare-empty, .dossier-h2h-grid,
   .dossier-h2h-card, .dossier-h2h-left, .dossier-h2h-right,
   .dossier-h2h-photo, .dossier-h2h-name, .dossier-h2h-headline,
   .dossier-h2h-headline-unit, .dossier-h2h-headline-lbl,
   .dossier-h2h-stats, .dossier-h2h-stat-val, .dossier-h2h-stat-lbl,
   .dossier-h2h-vs, .dossier-delta-pos, .dossier-delta-neg,
   .dossier-delta-flat. */

/* ─────────────────── Dimension widgets (Ship VII) ─────────────────── */
/* Used by both workshop-level postDimensionWidgets and advisor-level
   dossierDimensionWidgets. Three cards side-by-side on desktop, stacked
   on mobile. Each card has a title + rows. */
.post-dim-grid{
  display:grid;grid-template-columns:repeat(3, 1fr);gap:12px;
}
@media (max-width:980px){
  .post-dim-grid{grid-template-columns:1fr;gap:10px}
}
.post-dim-card{
  background:var(--bg-elev);border:1px solid var(--hairline);
  border-radius:14px;padding:14px 16px;
}
.post-dim-title{
  font-size:11px;color:var(--text-2);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em;margin-bottom:10px;
}
.post-dim-rows{display:flex;flex-direction:column;gap:6px}
.post-dim-row{
  display:grid;grid-template-columns:90px 1fr 38px 36px;gap:8px;align-items:center;
  font-size:12px;
}
.post-dim-row-label{
  font-weight:600;color:var(--text);overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;padding:2px 6px;border-radius:5px;display:inline-block;
  background:transparent;
}
.post-dim-row-bar{
  position:relative;height:14px;background:var(--hairline);
  border-radius:5px;overflow:hidden;
}
.post-dim-row-fill{
  position:absolute;top:0;left:0;height:100%;border-radius:5px;
  transition:width .3s ease-out;
}
.post-dim-fill-pos{background:#10b981}
.post-dim-fill-neu{background:#f59e0b}
.post-dim-fill-neg{background:#ef4444}
.post-dim-row-nps{
  font-variant-numeric:tabular-nums;font-weight:700;text-align:right;
}
.post-dim-nps-pos{color:#10b981}
.post-dim-nps-neu{color:#f59e0b}
.post-dim-nps-neg{color:#ef4444}
.post-dim-row-n{font-size:10px;color:var(--text-2);text-align:right;font-variant-numeric:tabular-nums}
.post-dim-empty{font-size:12px;color:var(--text-2);font-style:italic;padding:8px 0}

/* Advisor-dossier variant of the dimension row uses the stacked Great/Good/
   Okay/Bad bar instead of an NPS fill. Slightly different column widths
   to give the stacked bar more room. */
.dossier-dim-row{
  grid-template-columns:90px 1fr 44px 36px;
}
.dossier-dim-row .post-dim-row-bar{background:transparent;height:14px}
.dossier-section-sub{
  font-size:12px;color:var(--text-2);font-style:italic;margin:-6px 0 12px;
}


/* ─────────────────────────────── SYNC (CSV pre-work) ─────────────────────────────── */
.sync-toast{
  max-width:680px;margin:14px auto 0;padding:12px 14px;
  background:var(--bg-elev);border:1px solid var(--accent-line);
  border-radius:14px;display:flex;align-items:center;gap:10px;
  font-size:13px;color:var(--text);box-shadow:var(--shadow);
  animation:toastIn .25s ease-out;
}
@keyframes toastIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}
.sync-toast-ico{
  flex-shrink:0;width:22px;height:22px;border-radius:50%;
  background:var(--accent-tint);color:var(--accent);
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;
}
.sync-toast-txt{flex:1;line-height:1.4}
.sync-toast-x{
  flex-shrink:0;width:24px;height:24px;border-radius:50%;
  background:transparent;border:0;color:var(--text-3);cursor:pointer;
  font-size:20px;line-height:1;padding:0;font-family:inherit;
}
.sync-toast-x:hover{background:var(--bg-soft);color:var(--text)}

/* Walk-in toast — persistent amber banner for Master-tab attendees without a card */
.walkin-toast{
  max-width:680px;margin:10px auto 0;padding:14px 16px;
  background:var(--warn-tint);border:1px solid color-mix(in srgb,var(--warn) 35%,transparent);
  border-radius:14px;font-size:13px;color:var(--text);animation:toastIn .25s ease-out;
}
.walkin-hd{display:flex;align-items:center;gap:10px}
.walkin-ico{flex-shrink:0;width:22px;height:22px;border-radius:50%;background:var(--warn);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;line-height:1}
.walkin-ttl{flex:1;font-weight:600;color:var(--text);letter-spacing:-0.01em}
.walkin-sub{font-size:11.5px;color:var(--text-2);line-height:1.5;margin:5px 0 8px 32px}
.walkin-list{list-style:none;padding:0;margin:0 0 0 32px;display:flex;flex-direction:column;gap:3px}
.walkin-list li{font-size:12px;color:var(--text);line-height:1.4}
.walkin-name{font-weight:600}
.walkin-co{color:var(--text-2);font-weight:500}
.walkin-more{font-size:11px;color:var(--text-3);margin:6px 0 0 32px;font-weight:500}

.sync-status{
  margin-top:12px;padding:10px 12px;border-radius:10px;
  background:var(--bg-soft);font-size:12px;color:var(--text-2);line-height:1.5;
}
.sync-status.err{background:rgba(239,68,68,.08);color:#ef4444}
.sync-status.muted{color:var(--text-2)}
.set-help{margin-top:8px;font-size:11px;color:var(--text-3);line-height:1.55}
.set-help strong{color:var(--text-2);font-weight:600}

/* Settings toggle row (Day 2 mode, future toggles) */
.set-toggle-row{margin-top:14px;padding:12px 14px;background:var(--bg-soft);border:1px solid var(--hairline);border-radius:10px;display:flex;align-items:center;gap:14px}
.set-toggle-info{flex:1;min-width:0}
.set-toggle-lbl{font-size:13px;font-weight:600;color:var(--text);letter-spacing:-0.01em}
.set-toggle-sub{font-size:11px;color:var(--text-3);line-height:1.45;margin-top:3px}
.set-toggle-sub em{color:var(--warn);font-style:normal;font-weight:600}
.set-toggle{position:relative;width:44px;height:26px;border-radius:13px;background:var(--bg-elev2);border:1px solid var(--hairline-2);cursor:pointer;flex-shrink:0;transition:background .18s,border-color .18s;padding:0;font-family:inherit}
.set-toggle.on{background:var(--accent);border-color:var(--accent)}
.set-toggle-knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.set-toggle.on .set-toggle-knob{transform:translateX(18px)}


/* ─────────────────────────────── FOOTER ─────────────────────────────── */
.ft{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 18px;background:var(--bg);
  border-top:1px solid var(--hairline);
  position:fixed;bottom:0;left:0;right:0;max-width:680px;margin:0 auto;
  padding-bottom:calc(12px + env(safe-area-inset-bottom));
  z-index:9999;
}
.ft-txt{font-size:10px;color:var(--text-3);font-weight:500;letter-spacing:0.02em}
.ft-sync{font-size:11px;background:transparent;border:1px solid var(--hairline-2);border-radius:999px;padding:6px 12px;color:var(--text-2);cursor:pointer;font-weight:500;font-family:inherit}
.ft-sync:hover{background:var(--bg-soft);color:var(--text)}

/* Responsive touch-ups */
@media (max-width:380px){
  .pc{width:120px;height:120px}
  .pc-stack{width:170px;height:120px}
  .ch-top:has(.pc-stack) .pc-stack{width:100%;height:158px}
  .pc .initials{font-size:42px}
  .pc-stack .pc-pair .initials{font-size:32px}
  .ch-info{padding:9px 10px 9px 11px;gap:6px}
  .ch-founder{font-size:16px}
  .ch-founder.paired{font-size:13px}
  .ch-company{font-size:11.5px}
  .ch-meta-row{font-size:10.5px;gap:5px;padding-right:34px}
  .ch-rt-pill{font-size:9.5px;padding:2px 5px}
  .ch-wow-pill{font-size:9.5px;padding:2px 5px}
  .ch-cogroup-pill{font-size:9.5px;padding:2px 5px}
  .ch-related-pill{font-size:9.5px;padding:2px 5px}
  .ch-stats-row .s .v{font-size:11px}
  .ch-stats-row .s .l{font-size:7px}
  .pc-flag-pill{font-size:9.5px;padding:3px 6px 3px 5px}
  .pc-flag-pill .pc-flag-name{max-width:78px}
  .pc-stack .pc-flag-pill .pc-flag-name{max-width:118px}
  .hdr{padding:10px 14px 4px 16px}
  .hdr-hero{padding:2px 14px 12px;gap:3px}
  .hdr-hero-title{font-size:22px;letter-spacing:-0.04em}
  .hdr-hero-sub{font-size:9.5px;letter-spacing:0.14em}
  .founder-count .num{font-size:14px}
  .founder-count{padding:3px 8px}
  .day2-tog-pip{height:24px;min-width:28px;padding:0 8px;font-size:10px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .seg-btn{font-size:10px;flex-basis:64px}
}

/* ═══════════ PASSWORD GATE ═══════════ */
.welcome-splash{position:fixed;inset:0;background:#08070b;z-index:9999;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;cursor:pointer}
.welcome-splash.out{animation:splashOut .5s ease forwards;pointer-events:none}
@keyframes splashOut{to{opacity:0}}
.splash-logo{width:88px;height:88px;background:var(--logo-url) center/contain no-repeat;animation:splashLogo .9s cubic-bezier(.34,1.56,.64,1) both;animation-delay:.15s}
@keyframes splashLogo{from{transform:scale(.4);opacity:0}to{transform:scale(1);opacity:1}}
.splash-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:clamp(32px,8vw,56px);letter-spacing:.06em;color:#fff;animation:splashUp .6s ease both;animation-delay:.5s;text-align:center;line-height:1}
.splash-sub{font-size:12px;font-weight:700;letter-spacing:.18em;color:#a855f7;text-transform:uppercase;animation:splashUp .5s ease both;animation-delay:.7s}
.splash-hint{font-size:10.5px;color:#444;letter-spacing:.08em;text-transform:uppercase;animation:splashUp .5s ease both;animation-delay:1.5s}
@keyframes splashUp{from{transform:translateY(10px);opacity:0}to{transform:translateY(0);opacity:1}}
.gate-bg{position:fixed;inset:0;background:var(--bg);display:flex;align-items:center;justify-content:center;z-index:100;padding:20px}
.gate-box{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:32px 28px;max-width:400px;width:100%;box-shadow:0 20px 60px rgba(0,0,0,.4)}
.gate-logo{width:56px;height:56px;background:var(--logo-url) center/contain no-repeat;margin:0 auto 20px}
.gate-title{font-size:20px;font-weight:800;text-align:center;margin-bottom:8px;letter-spacing:-.02em}
.gate-sub{font-size:13px;color:var(--mute);text-align:center;margin-bottom:24px}
.gate-in{width:100%;padding:14px 16px;border-radius:12px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-size:16px;font-family:inherit;font-weight:500;outline:none;transition:border-color .15s}
.gate-in:focus{border-color:var(--acc)}
.gate-in.err{border-color:#ef4444;animation:shake .4s}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-6px)}75%{transform:translateX(6px)}}
.gate-btn{width:100%;margin-top:12px;padding:14px;border-radius:12px;background:var(--acc);color:#fff;border:none;font-weight:700;font-size:15px;cursor:pointer;font-family:inherit;transition:opacity .15s}
.gate-btn:hover{opacity:.9}
.gate-err{color:#ef4444;font-size:12px;text-align:center;margin-top:10px;min-height:14px}

/* ═══════════ NOTES (multi + editing) ═══════════ */
.note-list{display:flex;flex-direction:column;gap:10px;margin-bottom:12px}
.note-card{position:relative}
.note-ctrls{position:absolute;top:10px;right:10px;display:flex;gap:6px;opacity:0;transition:opacity .15s}
.note-card:hover .note-ctrls,.note-card.active .note-ctrls{opacity:1}
.note-btn{width:26px;height:26px;border-radius:7px;border:1px solid var(--border);background:var(--card);color:var(--mute);cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;padding:0}
.note-btn:hover{color:var(--text);background:var(--bg)}
.note-btn svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.note-btn.danger:hover{color:#ef4444;border-color:#ef4444}
.note-edit{width:100%;padding:10px;border-radius:10px;border:1px solid var(--acc);background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;resize:vertical;margin-top:6px;outline:none}
.note-edit-row{display:flex;gap:6px;margin-top:6px;justify-content:flex-end}
.note-sv{padding:6px 12px;border-radius:8px;background:var(--acc);color:#fff;border:none;font-weight:600;font-size:12px;cursor:pointer;font-family:inherit}
.note-cx{padding:6px 12px;border-radius:8px;background:transparent;color:var(--mute);border:1px solid var(--border);font-weight:500;font-size:12px;cursor:pointer;font-family:inherit}
.note-edited{font-size:10px;color:var(--mute);font-style:italic;margin-left:4px}

/* ═══════════ AUDIO NOTES ═══════════ */
.audio-note{background:var(--card);border:1px solid var(--border);border-radius:14px;padding:12px 14px;display:flex;gap:12px;align-items:flex-start;position:relative}
.audio-play{flex-shrink:0;width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit}
.audio-play svg{width:16px;height:16px;fill:currentColor}
.audio-play:hover{transform:scale(1.05)}
.audio-play.playing{background:#ef4444}
.audio-meta{flex:1;min-width:0}
.audio-hdr{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.audio-author{font-weight:700;font-size:13px}
.audio-time{font-size:11px;color:var(--mute)}
.audio-dur{font-size:11px;color:var(--mute);font-variant-numeric:tabular-nums}
.audio-dur::before{content:"·";margin-right:6px}
.audio-trans{font-size:13px;color:var(--text);line-height:1.5;word-break:break-word}
.audio-trans.pending{color:var(--mute);font-style:italic}
.audio-del{position:absolute;top:10px;right:10px;width:24px;height:24px;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--mute);cursor:pointer;display:none;align-items:center;justify-content:center;padding:0}
.audio-note:hover .audio-del{display:flex}
.audio-del:hover{color:#ef4444;border-color:#ef4444}
.audio-del svg{width:11px;height:11px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.audio-trigger{display:flex;align-items:center;justify-content:center;gap:8px;padding:12px;border-radius:12px;border:1px dashed var(--border);background:transparent;color:var(--text);cursor:pointer;font-family:inherit;font-weight:600;font-size:13px;width:100%;margin-bottom:10px;transition:all .15s}
.audio-trigger:hover{border-color:var(--acc);color:var(--acc)}
.audio-trigger svg{width:14px;height:14px;fill:currentColor}

/* ═══════════ RECORD MODAL ═══════════ */
.rec-bg{position:fixed;inset:0;background:rgba(0,0,0,.75);display:flex;align-items:center;justify-content:center;z-index:90;padding:20px;backdrop-filter:blur(8px)}
.rec-box{background:var(--card);border:1px solid var(--border);border-radius:24px;padding:32px 24px;max-width:400px;width:100%;text-align:center}
.rec-title{font-size:18px;font-weight:800;margin-bottom:4px;letter-spacing:-.02em}
.rec-sub{font-size:12px;color:var(--mute);margin-bottom:24px}
.rec-mic{width:92px;height:92px;border-radius:50%;background:var(--acc);color:#fff;border:none;cursor:pointer;margin:0 auto;display:flex;align-items:center;justify-content:center;transition:all .2s;position:relative}
.rec-mic svg{width:36px;height:36px;fill:currentColor}
.rec-mic:hover{transform:scale(1.05)}
.rec-mic.recording{background:#ef4444;animation:pulse-mic 1.5s infinite}
@keyframes pulse-mic{0%,100%{box-shadow:0 0 0 0 rgba(239,68,68,.7)}50%{box-shadow:0 0 0 18px rgba(239,68,68,0)}}
.rec-time{font-size:32px;font-weight:800;font-variant-numeric:tabular-nums;margin-top:16px;letter-spacing:-.02em}
.rec-status{font-size:12px;color:var(--mute);margin-top:6px;min-height:16px}
.rec-live-trans{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px;margin-top:16px;font-size:13px;line-height:1.5;color:var(--text);min-height:60px;max-height:120px;overflow-y:auto;text-align:left}
.rec-live-trans:empty::before{content:"Live transcription will appear here while recording…";color:var(--mute);font-style:italic}
.rec-live-trans .interim{color:var(--mute);opacity:.7}
.rec-actions{display:flex;gap:10px;margin-top:20px}
.rec-discard{flex:1;padding:12px;border-radius:12px;background:transparent;color:var(--text);border:1px solid var(--border);font-weight:600;font-size:14px;cursor:pointer;font-family:inherit}
.rec-save{flex:1;padding:12px;border-radius:12px;background:var(--acc);color:#fff;border:none;font-weight:700;font-size:14px;cursor:pointer;font-family:inherit}
.rec-save:disabled{opacity:.4;cursor:not-allowed}
.rec-preview{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px;background:var(--bg);border-radius:12px;margin-top:16px}
.rec-preview-play{width:40px;height:40px;border-radius:50%;background:var(--acc);color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center}
.rec-preview-play svg{width:14px;height:14px;fill:currentColor}
.rec-preview-label{font-size:13px;color:var(--text);font-weight:600}

/* ═══════════ GOOGLE SSO ═══════════ */
.gate-google{width:100%;padding:12px 16px;background:#fff;color:#1f1f1f;border:1px solid #dadce0;border-radius:12px;font-weight:600;font-size:14px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:16px;transition:box-shadow .15s,background .15s}
.gate-google:hover{background:#f8f9fa;box-shadow:0 1px 3px rgba(60,64,67,.15)}
.gate-google:disabled{opacity:.6;cursor:wait}
.gate-google svg{width:18px;height:18px;flex-shrink:0}
/* Password-fallback CSS removed in build 72:
   .gate-or, .gate-fallback, .gate-fallback-link, .gate-backtop —
   these classes were only used by the password gate UI which has been
   removed. SSO-only flow does not need divider, fallback link, or back-
   button affordances. */

/* Signed-in badge on advisor chip (tiny Google "G") */
.me-chip .sso-dot{position:absolute;bottom:-2px;right:-2px;width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid var(--card);display:flex;align-items:center;justify-content:center;font-size:7px;font-weight:800;color:#4285F4;line-height:1}
.me-chip{position:relative}

/* ═══════════ EDIT DOSSIER ═══════════ */
.ch-edit{background:transparent;border:none;color:var(--mute);cursor:pointer;padding:6px;border-radius:6px;margin-left:2px;display:inline-flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;align-self:flex-start}
.ch-edit:hover{color:var(--acc);background:var(--bg)}
.ch-edit svg{width:14px;height:14px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.ch-company-txt{display:inline-flex;align-items:center;gap:4px}
.edited-badge{font-size:10px;color:var(--mute);font-style:italic;margin-left:6px;display:inline-block}

.edit-sec{margin-top:20px;padding-top:16px;border-top:1px solid var(--border)}
.edit-sec:first-of-type{margin-top:16px;padding-top:0;border-top:none}
.edit-sec-hdr{font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--mute);margin-bottom:10px}
.edit-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.edit-grid-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}
@media(max-width:600px){
  .edit-grid-3{grid-template-columns:1fr 1fr}
}
.edit-list{display:flex;flex-direction:column;gap:8px;margin-bottom:8px}
.edit-list-item{display:flex;gap:6px;align-items:flex-start;background:var(--bg);padding:8px;border-radius:10px;border:1px solid var(--border)}
.edit-list-item-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:6px}
.edit-list-item input,.edit-list-item textarea{width:100%;padding:8px 10px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--text);font-family:inherit;font-size:13px;outline:none}
.edit-list-item input:focus,.edit-list-item textarea:focus{border-color:var(--acc)}
.edit-list-item textarea{resize:vertical;min-height:60px}
.edit-list-row{display:flex;gap:6px}
.edit-list-row input{flex:1}
.edit-list-del{flex-shrink:0;width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--card);color:var(--mute);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.edit-list-del:hover{color:#ef4444;border-color:#ef4444}
.edit-list-del svg{width:13px;height:13px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round}
.edit-list-add{width:100%;padding:10px;border-radius:10px;border:1px dashed var(--border);background:transparent;color:var(--mute);cursor:pointer;font-family:inherit;font-weight:600;font-size:12px;transition:all .15s}
.edit-list-add:hover{border-color:var(--acc);color:var(--acc)}
.edit-check{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--mute);cursor:pointer;user-select:none}
.edit-check input{width:auto;margin:0}
.edit-select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--text);font-family:inherit;font-size:13px;outline:none;cursor:pointer}
.edit-select:focus{border-color:var(--acc)}

/* ─────────────────────────────── WHO DAT? TRAIN VIEW ─────────────────────────────── */
.wd-page{max-width:540px;margin:0 auto;padding:20px 16px 60px}

/* ── Title hero ── */
.wd-hero{text-align:center;padding:8px 0 28px}
.wd-eyebrow{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.2em;color:#ffc400;margin-bottom:10px}
.wd-title{font-size:48px;font-weight:900;color:var(--text);letter-spacing:-.07em;line-height:.88;margin-bottom:10px}
.wd-title span{color:#ffc400}
.wd-hero-sub{font-size:13px;color:var(--text-2);line-height:1.5;max-width:240px;margin:0 auto}

/* ── Section label ── */
.wd-slabel{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);margin-bottom:10px}

/* ── Resume banner (Build 83) — shown on setup screen when an in-progress
   game is saved in localStorage. Two buttons let the advisor consciously
   choose to continue or wipe the save and start fresh. ── */
.wd-resume{border-radius:16px;border:2px solid #6c63ff;background:color-mix(in srgb,#6c63ff 9%,var(--bg-elev));padding:14px 16px;margin-bottom:18px;display:flex;flex-direction:column;gap:11px}
.wd-resume-top{display:flex;align-items:center;gap:11px}
.wd-resume-icon{width:38px;height:38px;border-radius:11px;background:color-mix(in srgb,#6c63ff 18%,var(--bg-elev));display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.wd-resume-body{flex:1;min-width:0}
.wd-resume-title{font-size:13px;font-weight:800;color:#6c63ff;margin-bottom:2px}
.wd-resume-meta{font-size:11.5px;color:var(--text-2);line-height:1.45}
.wd-resume-btns{display:flex;gap:8px}
.wd-resume-btn-p{flex:1;padding:11px;border-radius:11px;border:none;background:#6c63ff;color:#fff;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
.wd-resume-btn-p:active{transform:scale(.99)}
.wd-resume-btn-s{flex:1;padding:11px;border-radius:11px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-2);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}

/* ── Mode cards ── */
.wd-modes{display:flex;flex-direction:column;gap:9px;margin-bottom:16px}
.wd-mode{border-radius:16px;border:2px solid var(--hairline);background:var(--bg-elev);padding:14px 16px;cursor:pointer;display:flex;align-items:center;gap:14px;transition:border-color .12s,background .12s;text-align:left;font-family:inherit;width:100%}
.wd-mode:active{transform:scale(.99)}
.wd-mode.sel-gold{background:color-mix(in srgb,#ffc400 7%,var(--bg-elev));border-color:#ffc400}
.wd-mode.sel-purple{background:color-mix(in srgb,#6c63ff 8%,var(--bg-elev));border-color:#6c63ff}
.wd-mode.sel-red{background:color-mix(in srgb,#dc2626 7%,var(--bg-elev));border-color:#dc2626}
.wd-mode.sel-blue{background:color-mix(in srgb,#3b82f6 7%,var(--bg-elev));border-color:#3b82f6}
.wd-mode-icon.blue{background:color-mix(in srgb,#3b82f6 12%,var(--bg-elev))}
.wd-mode-name.blue{color:#60a5fa}
.wd-mode-badge.blue{background:color-mix(in srgb,#3b82f6 12%,var(--bg-elev));color:#60a5fa}
.wd-mode-icon{width:46px;height:46px;border-radius:13px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0}
.wd-mode-icon.gold{background:color-mix(in srgb,#ffc400 15%,var(--bg-elev))}
.wd-mode-icon.purple{background:color-mix(in srgb,#6c63ff 15%,var(--bg-elev))}
.wd-mode-icon.green{background:color-mix(in srgb,#10b981 12%,var(--bg-elev))}
.wd-mode-icon.red{background:color-mix(in srgb,#dc2626 12%,var(--bg-elev))}
.wd-mode-body{flex:1;min-width:0}
.wd-mode-name{font-size:14px;font-weight:800;line-height:1.2;margin-bottom:2px}
.wd-mode-name.gold{color:#ffc400}
.wd-mode-name.purple{color:color-mix(in srgb,#6c63ff 100%,var(--accent))}
.wd-mode-name.green{color:#10b981}
.wd-mode-name.red{color:#dc2626}
.wd-mode-desc{font-size:13px;color:var(--text-2);line-height:1.45;margin-bottom:0}
.wd-mode-badge{display:inline-flex;padding:2px 9px;border-radius:100px;font-size:10.5px;font-weight:700}
.wd-mode-badge.gold{background:color-mix(in srgb,#ffc400 12%,var(--bg-elev));color:#ffc400}
.wd-mode-badge.purple{background:color-mix(in srgb,#6c63ff 12%,var(--bg-elev));color:color-mix(in srgb,#6c63ff 100%,var(--accent))}
.wd-mode-badge.green{background:color-mix(in srgb,#10b981 12%,var(--bg-elev));color:#10b981}
.wd-mode-badge.red{background:color-mix(in srgb,#dc2626 12%,var(--bg-elev));color:#dc2626}
.wd-mode-radio{width:21px;height:21px;border-radius:50%;border:2px solid var(--hairline);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .12s}
.wd-mode-radio.on-gold{border-color:#ffc400;background:#ffc400}
.wd-mode-radio.on-purple{border-color:#6c63ff;background:#6c63ff}
.wd-mode-radio.on-green{border-color:#10b981;background:#10b981}
.wd-mode-radio.on-red{border-color:#dc2626;background:#dc2626}
.wd-radio-dot{width:8px;height:8px;border-radius:50%;background:#fff}

/* ── Scope toggle (Build 139, Wreck My/All founders) ── */
.wd-scope{display:flex;align-items:center;gap:11px;margin:0 0 14px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--bg-elev)}
.wd-scope-label{font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);flex-shrink:0}
.wd-scope-tabs{display:flex;gap:4px;background:var(--bg);border-radius:10px;padding:3px;flex:1}
.wd-scope-tab{flex:1;border:0;background:transparent;color:var(--text-2);font-size:12px;font-weight:700;padding:8px 10px;border-radius:8px;cursor:pointer;transition:all .12s}
.wd-scope-tab.on{background:#ffc400;color:#1a1a1a;box-shadow:0 1px 4px rgba(255,196,0,.25)}

/* ── How to Play accordion ── */
.wd-htp{border-radius:14px;border:1.5px solid var(--hairline);background:var(--bg-elev);overflow:hidden;margin-bottom:20px}
.wd-htp-trigger{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;cursor:pointer;user-select:none}
.wd-htp-left{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700;color:var(--text)}
.wd-htp-chevron{font-size:12px;color:var(--text-3);transition:transform .22s;line-height:1}
.wd-htp-chevron.open{transform:rotate(180deg)}
.wd-htp-body{border-top:1px solid var(--hairline);padding:4px 16px 12px}
.wd-htp-row{display:flex;align-items:flex-start;gap:11px;padding:10px 0;border-bottom:1px solid var(--hairline)}
.wd-htp-row:last-child{border:none;padding-bottom:2px}
.wd-htp-dot{width:30px;height:30px;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0;margin-top:1px}
.wd-htp-name{font-size:12.5px;font-weight:800;color:var(--text);margin-bottom:2px}
.wd-htp-desc{font-size:11.5px;color:var(--text-2);line-height:1.45}

/* ── Start button ── */
.wd-start{width:100%;padding:17px;border-radius:16px;border:none;background:#ffc400;color:#0a0a0f;font-size:16px;font-weight:900;cursor:pointer;letter-spacing:-.02em;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:10px;transition:opacity .12s;font-family:inherit}
.wd-start:hover{opacity:.9}
.wd-start:active{transform:scale(.98)}
.wd-start:disabled{opacity:.35;cursor:not-allowed}
.wd-start-sub{text-align:center;font-size:10.5px;color:var(--text-3);letter-spacing:.04em;margin-bottom:26px}

/* ── Leaderboard ── */
.wd-lb-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
.wd-lb-title{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3)}
.wd-lb-row{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--hairline)}
.wd-lb-row:last-child{border-bottom:none}
.wd-lb-rank{font-size:11px;font-weight:700;color:var(--text-3);width:14px;text-align:center}
.wd-lb-rank.gold{color:#ffc400}
.wd-av{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;flex-shrink:0;overflow:hidden;background:color-mix(in srgb,var(--accent) 18%,var(--bg-elev))}
.wd-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wd-lb-info{flex:1;min-width:0}
.wd-lb-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:4px}
.wd-lb-bar-bg{height:3px;background:var(--hairline);border-radius:2px;overflow:hidden}
.wd-lb-bar{height:100%;border-radius:2px}
.wd-lb-score{font-size:12.5px;font-weight:700;color:var(--text);font-variant-numeric:tabular-nums;min-width:34px;text-align:right}
.wd-lb-plays{font-size:10.5px;color:var(--text-3);margin-top:2px}
.wd-lb-you{font-size:10px;font-weight:700;color:#ffc400}

/* ── Build 84 — Advisor detail modal (tap leaderboard row) ── */
.wd-dm-bg{position:fixed;inset:0;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);z-index:230;display:flex;align-items:center;justify-content:center;padding:20px;animation:fadeIn .18s}
.wd-dm{background:var(--bg-elev);border:1px solid var(--hairline);border-radius:20px;width:100%;max-width:480px;max-height:88vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 30px 80px rgba(0,0,0,.5);animation:intelSlide .25s cubic-bezier(.2,.8,.2,1)}
.wd-dm-hdr{padding:18px 20px 16px;display:flex;align-items:center;gap:14px;border-bottom:1px solid var(--hairline)}
.wd-dm-av{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0;overflow:hidden;background:color-mix(in srgb,var(--accent) 18%,var(--bg-elev))}
.wd-dm-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wd-dm-name{font-size:18px;font-weight:800;letter-spacing:-.01em;color:var(--text)}
.wd-dm-sub{font-size:11.5px;color:var(--text-2);margin-top:3px;line-height:1.4}
.wd-dm-x{width:32px;height:32px;border-radius:8px;border:1px solid var(--hairline);background:transparent;color:var(--text-2);font-size:18px;cursor:pointer;font-family:inherit;flex-shrink:0;display:flex;align-items:center;justify-content:center;line-height:1}
.wd-dm-x:hover{background:var(--hairline)}
.wd-dm-section{padding:16px 20px;border-bottom:1px solid var(--hairline)}
.wd-dm-section:last-child{border-bottom:none}
.wd-dm-section-lbl{font-size:9.5px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;color:var(--text-3);margin-bottom:11px}
.wd-dm-modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.wd-dm-mode{border-radius:13px;background:var(--bg-elev);border:1.5px solid var(--hairline);padding:11px 9px;text-align:center;display:flex;flex-direction:column;gap:3px;align-items:center}
.wd-dm-mode-gold{border-color:color-mix(in srgb,#ffc400 30%,transparent);background:color-mix(in srgb,#ffc400 5%,var(--bg-elev))}
.wd-dm-mode-purple{border-color:color-mix(in srgb,#6c63ff 35%,transparent);background:color-mix(in srgb,#6c63ff 5%,var(--bg-elev))}
.wd-dm-mode-green{border-color:color-mix(in srgb,#10b981 30%,transparent);background:color-mix(in srgb,#10b981 5%,var(--bg-elev))}
.wd-dm-mode-emoji{font-size:20px;line-height:1}
.wd-dm-mode-label{font-size:10.5px;font-weight:700;color:var(--text-2)}
.wd-dm-mode-stat{font-size:14px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums;margin-top:1px}
.wd-dm-mode-plays{font-size:9.5px;color:var(--text-3);font-weight:600}
.wd-dm-rows{display:flex;flex-direction:column;gap:11px}
.wd-dm-row{display:flex;align-items:center;gap:12px}
.wd-dm-row-icon{width:38px;height:38px;border-radius:11px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}
.wd-dm-row-body{flex:1;min-width:0}
.wd-dm-row-name{font-size:12.5px;font-weight:800;line-height:1.2;margin-bottom:5px;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.wd-dm-rank{font-size:9.5px;font-weight:700;color:var(--text-3);text-transform:uppercase;letter-spacing:.1em}
.wd-dm-row-bar-bg{height:4px;background:var(--hairline);border-radius:2px;overflow:hidden;margin-bottom:4px}
.wd-dm-row-bar{height:100%;border-radius:2px}
.wd-dm-row-meta{font-size:10.5px;color:var(--text-2)}

/* ── Round intro ── */
.wd-intro{min-height:440px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 24px}
.wd-intro-num{font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.16em;margin-bottom:16px}
.wd-intro-badge{width:100px;height:100px;border-radius:28px;display:flex;align-items:center;justify-content:center;font-size:54px;margin:0 auto 20px}
.wd-intro-name{font-size:32px;font-weight:900;letter-spacing:-.05em;line-height:1.1;margin-bottom:8px;color:var(--text)}
.wd-intro-tag{font-size:13.5px;line-height:1.55;max-width:300px;margin:0 auto 8px;color:var(--text-2)}
.wd-intro-count{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:6px 16px;border-radius:100px;margin-bottom:24px;display:inline-block}
.wd-intro-btn{padding:15px 36px;border-radius:14px;border:none;font-size:15px;font-weight:800;cursor:pointer;letter-spacing:-.01em;font-family:inherit}
.wd-r1 .wd-intro-num{color:#a9a3ff}
.wd-r1 .wd-intro-badge{background:color-mix(in srgb,#6c63ff 15%,var(--bg-elev))}
.wd-r1 .wd-intro-count{background:color-mix(in srgb,#6c63ff 12%,var(--bg-elev));border:1px solid color-mix(in srgb,#6c63ff 30%,transparent);color:#a9a3ff}
.wd-r1 .wd-intro-btn{background:#6c63ff;color:#fff}
.wd-r2 .wd-intro-num{color:#fbbf24}
.wd-r2 .wd-intro-badge{background:color-mix(in srgb,#d97706 15%,var(--bg-elev))}
.wd-r2 .wd-intro-count{background:color-mix(in srgb,#d97706 12%,var(--bg-elev));border:1px solid color-mix(in srgb,#d97706 30%,transparent);color:#fbbf24}
.wd-r2 .wd-intro-btn{background:#d97706;color:#fff}
.wd-r3 .wd-intro-num{color:#2dd4bf}
.wd-r3 .wd-intro-badge{background:color-mix(in srgb,#0d9488 15%,var(--bg-elev))}
.wd-r3 .wd-intro-count{background:color-mix(in srgb,#0d9488 12%,var(--bg-elev));border:1px solid color-mix(in srgb,#0d9488 30%,transparent);color:#2dd4bf}
.wd-r3 .wd-intro-btn{background:#0d9488;color:#fff}

/* ── Question screen ── */
.wd-q-shell{padding:18px 18px 24px}
.wd-q-topbar{display:flex;justify-content:space-between;align-items:flex-end;margin-bottom:10px}
.wd-q-num{font-size:36px;font-weight:900;color:var(--text);letter-spacing:-.07em;line-height:1}
.wd-q-num span{font-size:13px;font-weight:600;color:var(--text-3);letter-spacing:0}
.wd-streak{display:flex;align-items:center;gap:5px;border-radius:100px;padding:5px 12px;font-size:12.5px;font-weight:800}
.wd-streak.live{background:color-mix(in srgb,#10b981 12%,var(--bg-elev));border:1.5px solid color-mix(in srgb,#10b981 35%,transparent);color:#10b981}
.wd-streak.zero{background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text-3)}
.wd-prog{height:5px;background:var(--hairline);border-radius:3px;margin-bottom:16px;overflow:hidden}
.wd-prog-fill{height:100%;border-radius:3px;transition:width .35s ease}
.wd-r1 .wd-prog-fill{background:#6c63ff}
.wd-r2 .wd-prog-fill{background:#d97706}
.wd-r3 .wd-prog-fill{background:#0d9488}

/* ── Prompt card ── */
.wd-prompt{border-radius:16px;border:2px solid;padding:16px 18px;margin-bottom:14px}
.wd-prompt-tag{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:12px;display:flex;align-items:center;gap:6px}
.wd-prompt-row{display:flex;align-items:center;gap:14px}
.wd-prompt-av{width:68px;height:68px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:900;overflow:hidden;border:2px solid}
.wd-prompt-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wd-prompt-name{font-size:17px;font-weight:900;color:var(--text);letter-spacing:-.03em;line-height:1.2;margin-bottom:2px}
.wd-prompt-co{font-size:12px;color:var(--text-2);margin-bottom:5px}
.wd-prompt-text{font-size:14px;color:var(--text);line-height:1.55;font-weight:600}
.wd-prompt-q{font-size:13px;color:var(--text-2);margin-top:10px;font-style:italic}
.wd-r1 .wd-prompt{background:color-mix(in srgb,#6c63ff 7%,var(--bg-elev));border-color:color-mix(in srgb,#6c63ff 28%,transparent)}
.wd-r1 .wd-prompt-tag{color:#a9a3ff}
.wd-r1 .wd-prompt-av{background:color-mix(in srgb,#6c63ff 20%,var(--bg-elev));border-color:color-mix(in srgb,#6c63ff 35%,transparent);color:#a9a3ff}
.wd-r2 .wd-prompt{background:color-mix(in srgb,#d97706 7%,var(--bg-elev));border-color:color-mix(in srgb,#d97706 28%,transparent)}
.wd-r2 .wd-prompt-tag{color:#fbbf24}
.wd-r2 .wd-prompt-av{background:color-mix(in srgb,#d97706 20%,var(--bg-elev));border-color:color-mix(in srgb,#d97706 35%,transparent);color:#fbbf24}
.wd-r3 .wd-prompt{background:color-mix(in srgb,#0d9488 7%,var(--bg-elev));border-color:color-mix(in srgb,#0d9488 28%,transparent)}
.wd-r3 .wd-prompt-tag{color:#2dd4bf}
.wd-r3 .wd-prompt-av{background:color-mix(in srgb,#0d9488 20%,var(--bg-elev));border-color:color-mix(in srgb,#0d9488 35%,transparent);color:#2dd4bf}

/* ── 2×2 answer grid ── */
.wd-ans-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px}
.wd-ans{border-radius:14px;border:2px solid var(--hairline);background:var(--bg-elev);padding:14px 12px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:8px;min-height:88px;justify-content:center;text-align:center;transition:border-color .1s,background .1s,opacity .15s;font-family:inherit;width:100%;position:relative}
.wd-ans:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg-elev))}
.wd-ans:disabled{cursor:default}
.wd-ans.correct{border-color:#10b981;background:color-mix(in srgb,#10b981 10%,var(--bg-elev))}
.wd-ans.wrong{border-color:#ef4444;background:color-mix(in srgb,#ef4444 8%,var(--bg-elev))}
.wd-ans.dim{opacity:.22}
.wd-ans-letter{position:absolute;top:8px;left:10px;font-size:10px;font-weight:800;color:var(--text-3);letter-spacing:.04em}
.wd-ans-av{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:800;overflow:hidden;background:color-mix(in srgb,var(--accent) 15%,var(--bg-elev));color:var(--accent);flex-shrink:0}
.wd-ans-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wd-ans-name{font-size:12.5px;font-weight:800;color:var(--text);line-height:1.2}
.wd-ans-co{font-size:10.5px;color:var(--text-2);line-height:1.3}
.wd-ans-text{font-size:12px;font-weight:600;color:var(--text);line-height:1.5;text-align:left}
.wd-ans-icon{font-size:14px;font-weight:900;position:absolute;top:8px;right:10px}

/* ── Feedback + Next ── */
.wd-feedback{margin-top:12px;padding:11px 14px;border-radius:12px;font-size:13px;font-weight:700;line-height:1.45}
.wd-feedback.ok{background:color-mix(in srgb,#10b981 10%,var(--bg-elev));border:1px solid color-mix(in srgb,#10b981 30%,transparent);color:#059669}
.wd-feedback.bad{background:color-mix(in srgb,#ef4444 8%,var(--bg-elev));border:1px solid color-mix(in srgb,#ef4444 25%,transparent);color:#dc2626}
.wd-next{width:100%;margin-top:10px;padding:14px;border-radius:13px;border:none;color:#fff;font-size:14px;font-weight:800;cursor:pointer;font-family:inherit;letter-spacing:-.01em;transition:opacity .12s}
.wd-next:hover{opacity:.88}
.wd-r1 .wd-next{background:#6c63ff}
.wd-r2 .wd-next{background:#d97706}
.wd-r3 .wd-next{background:#0d9488}

/* ── Round end ── */
.wd-round-end{display:flex;flex-direction:column;align-items:center;padding:40px 24px 32px;text-align:center}
.wd-round-end-score{font-size:68px;font-weight:900;letter-spacing:-.07em;line-height:1;color:var(--text)}
.wd-round-end-denom{font-size:22px;color:var(--text-3);font-weight:700}
.wd-round-end-label{font-size:13.5px;color:var(--text-2);margin:6px 0 28px}
/* Build 84 — round leader callout: small chip-style line shown between
   the score label and the Next button on the round-end screen. */
.wd-round-leader{font-size:11.5px;color:var(--text-2);background:color-mix(in srgb,var(--accent) 8%,var(--bg-elev));border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);border-radius:100px;padding:6px 14px;margin:-12px 0 24px;line-height:1.3}
.wd-round-leader b{color:var(--accent);font-weight:800}
.wd-round-end-next{padding:15px 32px;border-radius:14px;border:none;font-size:15px;font-weight:800;cursor:pointer;color:#fff;font-family:inherit;transition:opacity .12s}
.wd-round-end-next:hover{opacity:.88}

/* ── Results ── */
.wd-results-hero{display:flex;align-items:center;gap:18px;padding:18px;border-radius:16px;border:1px solid var(--hairline);background:var(--bg-elev);margin-bottom:20px}
.wd-ring{position:relative;width:80px;height:80px;flex-shrink:0}
.wd-ring svg{transform:rotate(-90deg)}
.wd-ring-track{fill:none;stroke:var(--hairline);stroke-width:7}
.wd-ring-fill{fill:none;stroke-width:7;stroke-linecap:round;stroke-dasharray:213}
.wd-ring-label{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.wd-ring-pct{font-size:19px;font-weight:900;color:var(--text);letter-spacing:-.04em;line-height:1}
.wd-ring-frac{font-size:10.5px;color:var(--text-3);font-weight:600;margin-top:1px}
.wd-results-msg{font-size:18px;font-weight:900;color:var(--text);letter-spacing:-.03em;line-height:1.2;margin-bottom:4px}
.wd-results-sub{font-size:12.5px;color:var(--text-2);line-height:1.5}
.wd-results-btns{display:flex;gap:9px;margin-bottom:24px}
.wd-results-btn-p{flex:1;padding:13px;border-radius:12px;border:none;background:#ffc400;color:#0a0a0f;font-size:14px;font-weight:900;cursor:pointer;font-family:inherit;transition:opacity .12s}
.wd-results-btn-p:hover{opacity:.9}
.wd-results-btn-s{flex:1;padding:13px;border-radius:12px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-2);font-size:14px;font-weight:700;cursor:pointer;font-family:inherit}
.wd-round-scores{margin-bottom:22px}
.wd-rs-row{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-radius:11px;border:1px solid var(--hairline);background:var(--bg-elev);margin-bottom:7px}
.wd-rs-left{display:flex;align-items:center;gap:10px}
.wd-rs-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.wd-rs-name{font-size:13px;font-weight:700;color:var(--text)}
.wd-rs-score{font-size:13px;font-weight:800;color:var(--text);font-variant-numeric:tabular-nums}
.wd-miss-item{display:flex;align-items:flex-start;gap:11px;padding:12px 14px;border-radius:13px;border:1px solid var(--hairline);background:var(--bg-elev);margin-bottom:8px}
.wd-miss-av{width:36px;height:36px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:800;overflow:hidden;background:color-mix(in srgb,var(--accent) 15%,var(--bg-elev));color:var(--accent)}
.wd-miss-av img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.wd-miss-name{font-size:12.5px;font-weight:700;color:var(--text);margin-bottom:1px}
.wd-miss-type{font-size:10.5px;font-weight:600;color:var(--text-3);text-transform:uppercase;letter-spacing:.06em;margin-bottom:5px}
.wd-miss-answer{font-size:12px;color:var(--text-2);line-height:1.5}
/* ── Expandable miss dossier ── */
.wd-miss-trigger{cursor:pointer;user-select:none}
.wd-miss-trigger:hover .wd-miss-name{color:var(--accent)}
.wd-miss-dossier{margin-top:12px;padding-top:12px;border-top:1px solid var(--hairline)}
.wd-doss-stats{display:flex;gap:16px;margin-bottom:10px;flex-wrap:wrap}
.wd-doss-stat{display:flex;flex-direction:column}
.wd-doss-stat-val{font-size:14px;font-weight:800;color:var(--text);letter-spacing:-.02em}
.wd-doss-stat-lbl{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:1px}
/* Post-answer dossier flash card */
@keyframes wd-flash-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.wd-flash-card{overflow:hidden}
.wd-flash-name{font-size:13.5px;font-weight:800;color:var(--text);letter-spacing:-.01em;line-height:1.2}
.wd-flash-co{font-size:12px;font-weight:500;color:var(--text-3)}
.wd-flash-stat{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:var(--bg);border:1px solid var(--hairline);border-radius:100px;padding:2px 8px;color:var(--text-2)}
.wd-flash-wtd{font-size:12px;color:var(--text-2);line-height:1.45;margin-bottom:6px}
.wd-flash-wow{font-size:11.5px;color:var(--text-3);line-height:1.4;padding-top:6px;border-top:1px solid var(--hairline)}
.wd-doss-section{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3);margin:10px 0 5px}
.wd-doss-text{font-size:13px;color:var(--text-2);line-height:1.55}
.wd-doss-wow{font-size:12.5px;color:var(--text);line-height:1.5;padding:8px 10px;background:color-mix(in srgb,var(--accent) 6%,var(--bg-elev));border-radius:9px;border:1px solid color-mix(in srgb,var(--accent) 15%,transparent);margin-bottom:6px}
.wd-miss-chevron{font-size:11px;color:var(--text-3);transition:transform .2s;display:inline-block;margin-left:6px}
.wd-miss-chevron.open{transform:rotate(180deg)}
/* ── Question: centered photo layout ── */
.wd-q-center{text-align:center;padding:8px 18px 0}
.wd-q-photo-big{width:130px;height:130px;border-radius:50%;margin:0 auto 12px;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:36px;font-weight:900;border:3px solid}
.wd-q-photo-big img{width:100%;height:100%;object-fit:cover;border-radius:50%}
/* Build 107 — mystery placeholder used when a founder has no photo. Shown
   in Rounds 2 & 3 (R1 filters out photo-less founders entirely) so the
   advisor's actual initials don't spoil the answer. Big '?' at low opacity
   reads as "mystery" rather than "broken/missing". */
.wd-q-photo-big .wd-q-mystery{font-size:64px;font-weight:900;opacity:.5;letter-spacing:-.04em;line-height:1}
.wd-q-photo-none{width:100px;height:100px;border-radius:28px;margin:0 auto 14px;display:flex;align-items:center;justify-content:center;font-size:44px;border:2px solid}
.wd-advisor-pill{display:inline-flex;padding:5px 14px;border-radius:100px;font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:8px}
.wd-q-type-lbl{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3);margin-bottom:14px}
.wd-q-clue{font-size:17px;color:var(--text);line-height:1.55;margin:0 auto 22px;font-weight:500;max-width:480px}
/* Stacked answer list */
.wd-ans-list{display:flex;flex-direction:column;gap:9px;padding:0 18px 24px}
.wd-ans-item{width:100%;padding:15px 18px;border-radius:14px;border:2px solid var(--hairline);background:var(--bg-elev);cursor:pointer;text-align:left;font-family:inherit;transition:border-color .1s,background .1s,opacity .15s}
/* V11-2026.09.22-1 — hover only on devices that actually hover. On iOS a tap left the purple border stuck on whichever option was last touched, which read as "the answer is highlighted." */
@media (hover:hover){.wd-ans-item:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb,var(--accent) 5%,var(--bg-elev))}}
.wd-ans-item:disabled{cursor:default}
.wd-ans-item.correct{border-color:#10b981;background:color-mix(in srgb,#10b981 10%,var(--bg-elev))}
.wd-ans-item.wrong{border-color:#ef4444;background:color-mix(in srgb,#ef4444 8%,var(--bg-elev))}
.wd-ans-item.dim{opacity:.25}
.wd-ans-founder{font-size:15px;font-weight:700;color:var(--text);line-height:1.2}
.wd-ans-company{font-size:12px;color:var(--text-2);margin-top:2px}
.wd-r1 .wd-q-photo-big{border-color:color-mix(in srgb,#6c63ff 35%,transparent);background:color-mix(in srgb,#6c63ff 15%,var(--bg-elev));color:#a9a3ff}
.wd-r1 .wd-advisor-pill{background:color-mix(in srgb,#6c63ff 18%,var(--bg-elev));color:#a9a3ff}
.wd-r2 .wd-q-photo-big{border-color:color-mix(in srgb,#d97706 35%,transparent);background:color-mix(in srgb,#d97706 15%,var(--bg-elev));color:#fbbf24}
.wd-r2 .wd-advisor-pill{background:color-mix(in srgb,#d97706 18%,var(--bg-elev));color:#fbbf24}
.wd-r3 .wd-q-photo-none{border-color:color-mix(in srgb,#0d9488 25%,transparent);background:color-mix(in srgb,#0d9488 12%,var(--bg-elev))}
.wd-r3 .wd-advisor-pill{background:color-mix(in srgb,#0d9488 18%,var(--bg-elev));color:#2dd4bf}
.wd-fb-wrap{padding:0 18px 4px}
/* ── Streak celebration ── */
.wd-streak-pop{border-radius:16px;padding:16px 20px;text-align:center;margin:0 18px 12px;border:2px solid}
.wd-streak-pop-emoji{font-size:36px;line-height:1;margin-bottom:4px}
.wd-streak-pop-count{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.12em;margin-bottom:2px}
.wd-streak-pop-msg{font-size:15px;font-weight:900;letter-spacing:-.02em}
.wd-sp-fire{background:color-mix(in srgb,#ef4444 8%,var(--bg-elev));border-color:color-mix(in srgb,#ef4444 35%,transparent)}
.wd-sp-fire .wd-streak-pop-count{color:#ef4444}.wd-sp-fire .wd-streak-pop-msg{color:var(--text)}
.wd-sp-bolt{background:color-mix(in srgb,#8b5cf6 8%,var(--bg-elev));border-color:color-mix(in srgb,#8b5cf6 35%,transparent)}
.wd-sp-bolt .wd-streak-pop-count{color:#a78bfa}.wd-sp-bolt .wd-streak-pop-msg{color:var(--text)}
.wd-sp-brain{background:color-mix(in srgb,#3b82f6 8%,var(--bg-elev));border-color:color-mix(in srgb,#3b82f6 35%,transparent)}
.wd-sp-brain .wd-streak-pop-count{color:#60a5fa}.wd-sp-brain .wd-streak-pop-msg{color:var(--text)}
.wd-sp-crown{background:color-mix(in srgb,#ffc400 10%,var(--bg-elev));border-color:color-mix(in srgb,#ffc400 40%,transparent)}
.wd-sp-crown .wd-streak-pop-count{color:#ffc400}.wd-sp-crown .wd-streak-pop-msg{color:var(--text)}
/* ── Badges ── */
.wd-badges{display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}
.wd-badge{display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border-radius:100px;font-size:10px;font-weight:700;background:color-mix(in srgb,var(--accent) 12%,var(--bg-elev));color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent)}
.wd-badge-gold{background:color-mix(in srgb,#ffc400 12%,var(--bg-elev));color:#b8860b;border-color:color-mix(in srgb,#ffc400 30%,transparent)}
/* Build 84 — Rizzler badge: special flashy treatment for a perfect Round 2. Animated rainbow gradient + soft glow pulse so it stands out from gold/standard badges in the leaderboard and results screen. */
.wd-badge-rizzler{
  background:linear-gradient(110deg,#ff6b9a 0%,#ff8a3d 25%,#ffd23d 50%,#7ee787 75%,#9b8cff 100%);
  background-size:200% 200%;
  color:#1a1a1a;
  border:1px solid color-mix(in srgb,#ffd23d 60%,transparent);
  animation:wdRizzlerShine 4s ease-in-out infinite, wdRizzlerGlow 2.4s ease-in-out infinite;
  font-weight:800;
  text-shadow:0 1px 0 rgba(255,255,255,.45);
}
@keyframes wdRizzlerShine{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes wdRizzlerGlow{0%,100%{box-shadow:0 0 0 0 rgba(255,210,61,0)}50%{box-shadow:0 0 8px 1px rgba(255,210,61,.55)}}


/* ===== V11 DESIGN SYSTEM ===== */
/* Injected by Phase A shell swap. Shell/nav/Arena/Insights CSS only.
   RT, dossier, and founder-card CSS excluded to preserve production rendering. */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { background: var(--bg,#0A0A0A); overflow-x: hidden; max-width: 100vw; }
body {
  color: #fff;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, system-ui, sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-feature-settings: "ss01", "cv11", "tnum";
  min-height: 100vh;
  min-height: 100dvh;
}
.mono { font-family: 'IBM Plex Mono', ui-monospace, monospace; font-feature-settings: "tnum"; }
.varsity { font-family: 'Bebas Neue', Anton, Impact, sans-serif; letter-spacing: 0.04em; }
.tnum { font-variant-numeric: tabular-nums; }
.label-mono {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #6a6a72;
  font-weight: 500;
}
/* ---- SHELL ---- */
.shell { max-width: 1320px; margin: 0 auto; padding: 28px 48px 80px; }
/* ---- UTILITY BAR (top right) ---- */
.util-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
}
.brand-left { display: flex; align-items: center; gap: 14px; }
.logo-mark { width: 38px; height: 38px; display: flex; align-items: center; justify-content: center; }
.logo-mark svg { width: 100%; height: 100%; }
.brand-name { display: flex; flex-direction: column; }
.brand-name .top { font-size: 11px; font-weight: 600; letter-spacing: 0.16em; color: #fff; text-transform: uppercase; }
.brand-name .bottom { font-size: 9px; font-weight: 500; letter-spacing: 0.32em; color: #6a6a72; text-transform: uppercase; margin-top: 2px; }
.util-right { display: flex; align-items: center; gap: 10px; }
.sync-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #161220;
  border: 0.5px solid rgba(168, 85, 247, 0.15);
  border-radius: 999px;
  padding: 8px 14px;
  font-size: 12px;
  color: #a8a8b0;
  font-weight: 500;
}
.sync-dot { width: 7px; height: 7px; border-radius: 50%; background: #34d399; box-shadow: 0 0 6px rgba(52,211,153,0.6); }
.util-icon-btn {
  width: 38px;
  height: 38px;
  border-radius: 50%;
  background: #0f0d14;
  border: 0.5px solid rgba(168, 85, 247, 0.12);
  display: flex; align-items: center; justify-content: center;
  cursor: pointer;
  color: #a8a8b0;
  transition: all 0.15s;
}
.util-icon-btn:hover { background: #1a1424; border-color: rgba(168,85,247,0.3); color: #fff; }
.util-icon-btn svg { width: 17px; height: 17px; }
.profile-pill {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: #0f0d14;
  border: 0.5px solid rgba(168, 85, 247, 0.12);
  border-radius: 999px;
  padding: 4px 16px 4px 4px;
  cursor: pointer;
  transition: all 0.15s;
}
.profile-pill:hover { background: #1a1424; border-color: rgba(168,85,247,0.3); }
.profile-avatar {
  position: relative;
  width: 30px; height: 30px; border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed 0%, #a855f7 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; color: #fff;
}
.profile-badge {
  position: absolute;
  bottom: -2px; right: -3px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #3b82f6;
  border: 2px solid #0f0d14;
  display: flex; align-items: center; justify-content: center;
  font-size: 7px; font-weight: 700; color: #fff;
}
.profile-name { font-size: 13px; font-weight: 600; color: #fff; }
/* ---- PAGE HEADER ---- */
.page-header { margin-bottom: 28px; }
.page-title-big {
  font-size: 56px;
  font-weight: 800;
  letter-spacing: -0.02em;
  text-transform: uppercase;
  line-height: 1;
  color: #fff;
}
.page-subtitle {
  margin-top: 12px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a6a72;
  display: flex; align-items: center; gap: 14px;
}
.page-subtitle .sep { color: #2a2a32; }
/* ---- TABS ---- */
.tabs {
  display: flex;
  gap: 6px;
  margin-bottom: 0;
  position: sticky;
  top: 0;
  background: rgba(8,7,11,0.96);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 10;
  padding: 10px 14px 12px;
  border-bottom: 0.5px solid rgba(255,255,255,0.06);
}
.tab {
  background: transparent;
  border: 0.5px solid rgba(255,255,255,0.06);
  color: #a0a0a8;
  font-family: inherit; font-size: 15px; font-weight: 700;
  padding: 11px 22px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex; align-items: center; gap: 7px;
  letter-spacing: 0.01em;
  flex-shrink: 0;
}
.tab:hover {
  color: #fff;
  background: rgba(168,85,247,0.12);
  border-color: rgba(168,85,247,0.25);
}
.tab.active {
  background: linear-gradient(180deg, #b366f9 0%, #9333ea 100%);
  color: #fff;
  border-color: rgba(168,85,247,0.6);
  box-shadow:
    0 1px 0 rgba(255,255,255,0.18) inset,
    0 4px 14px rgba(168,85,247,0.35),
    0 0 0 1px rgba(168,85,247,0.4);
}
.tab-icon { width: 17px; height: 17px; display: flex; align-items: center; justify-content: center; }
.tab-icon svg { width: 100%; height: 100%; }
.tab.arena-tab.active {
  background: linear-gradient(180deg, #b366f9 0%, #9333ea 100%);
  color: #fff;
}
.tab.arena-tab:hover { color: #fff; }
.tab-badge { font-size: 9px; background: #a855f7; color: #fff; padding: 2px 6px; border-radius: 4px; font-weight: 700; letter-spacing: 0.06em; }
/* ---- VIEW ---- */
.view { display: none; padding: 36px 0 24px; }
.view.active { display: block; }
/* ===== LIVE / FOUNDERS TAB ===== */

/* ─── FLAG FILTER CHIPS ─────────────────────────────────────────────── */

/* ═══════════════════════════════════════════════════════════════════════════
   ARENA — full redesign
   ═══════════════════════════════════════════════════════════════════════════ */
/* ── Industry Mastery Game ── */
.iml-shell{padding:0 0 80px;background:#08070b}
.iml-back-btn{display:flex;align-items:center;gap:6px;padding:14px 16px 0;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.08em;color:var(--text-3);cursor:pointer;background:none;border:none;text-transform:uppercase}
.iml-header{padding:12px 16px 0;text-align:center}
.iml-sifu-char{font-family:serif;font-size:112px;color:#a855f7;line-height:1;display:block;opacity:1}
.iml-sifu-houseof{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:18px;color:rgba(255,255,255,0.6);letter-spacing:6px;display:block;margin-top:8px;width:178px;margin-left:auto;margin-right:auto;text-align:center}
.iml-sifu-word{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:62px;letter-spacing:10px;color:#ffffff;line-height:1;display:block;width:178px;margin-left:auto;margin-right:auto;text-align:center}
.iml-sifu-rule{width:55%;height:0.5px;background:#a855f7;opacity:0.35;margin:8px auto}
.iml-sifu-quote{font-family:Georgia,serif;font-size:13px;font-style:italic;color:rgba(255,255,255,0.62);margin-top:10px;letter-spacing:.02em;display:block}
.iml-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:36px;letter-spacing:.08em;background:linear-gradient(135deg,#c084fc 0%,#a855f7 50%,#7c3aed 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 0 16px rgba(168,85,247,0.4));line-height:1}
.iml-subtitle{font-family:'IBM Plex Mono',monospace;font-size:9.5px;letter-spacing:.1em;color:var(--text-3);margin-top:7px;text-transform:uppercase}
.iml-loading{padding:48px 20px;text-align:center}
.iml-loading-spinner{width:32px;height:32px;border:3px solid rgba(168,85,247,0.2);border-top-color:#a855f7;border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 14px}
.iml-loading-txt{font-family:'IBM Plex Mono',monospace;font-size:11px;color:var(--text-3);letter-spacing:.08em}
.iml-loading-sub{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--text-3);opacity:.6;margin-top:6px;letter-spacing:.05em}
.iml-grid{padding:12px 12px 0;display:grid;grid-template-columns:1fr 1fr;gap:9px}
.iml-tile{background:var(--bg-elev);border:2px solid var(--hairline);border-radius:14px;padding:14px 12px 12px;cursor:pointer;transition:border-color .2s,transform .15s;position:relative;overflow:hidden;text-align:center}
.iml-tile:active{transform:scale(0.97)}
.iml-tile:hover{border-color:var(--accent)}
.iml-tile.mastered{border-color:rgba(34,197,94,0.4)}
.iml-tile.fluent{border-color:rgba(168,85,247,0.45)}
.iml-tile.familiar{border-color:rgba(251,191,36,0.4)}
.iml-tile-emoji{font-size:24px;line-height:1;margin-bottom:6px}
.iml-tile-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:16px;letter-spacing:.06em;color:var(--text);line-height:1.1;margin-bottom:4px}
.iml-tile-count{font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--text-3);letter-spacing:.05em}
.iml-tile-mastery{position:absolute;top:7px;right:7px;font-family:'IBM Plex Mono',monospace;font-size:7px;font-weight:700;letter-spacing:.06em;padding:2px 6px;border-radius:100px;text-transform:uppercase}
.iml-tile-mastery.expert{background:rgba(34,197,94,0.12);color:#4ade80;border:1px solid rgba(34,197,94,0.25)}
.iml-tile-mastery.fluent{background:rgba(168,85,247,0.1);color:#c084fc;border:1px solid rgba(168,85,247,0.25)}
.iml-tile-mastery.familiar{background:rgba(251,191,36,0.1);color:#fbbf24;border:1px solid rgba(251,191,36,0.2)}
.iml-tile-mastery.novice{display:none}
.iml-drill-header{padding:12px 16px 0}
.iml-drill-industry{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:22px;letter-spacing:.08em;color:var(--text);line-height:1}
.iml-drill-meta{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--text-3);letter-spacing:.06em;margin-top:3px;text-transform:uppercase}
.iml-progress-bar{margin:10px 14px 0;height:4px;background:var(--hairline);border-radius:2px;overflow:hidden}
.iml-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),#c084fc);border-radius:2px;transition:width .4s ease}
.iml-q-card{margin:10px 12px 0;background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:16px;padding:16px 14px 14px}
.iml-q-category{font-family:'IBM Plex Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:8px}
.iml-q-text{font-size:14px;color:var(--text);line-height:1.5;font-weight:500}
.iml-timer-bar{margin:8px 12px 0;height:3px;background:var(--hairline);border-radius:2px;overflow:hidden}
.iml-timer-fill{height:100%;background:#a855f7;border-radius:2px;transition:width .25s linear}
.iml-timer-fill.urgent{background:#ef4444}
.iml-choices{margin:10px 12px 0;display:flex;flex-direction:column;gap:7px}
.iml-choice{padding:11px 14px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--bg-elev);cursor:pointer;font-size:13px;color:var(--text);text-align:left;transition:all .18s;line-height:1.4;width:100%}
.iml-choice:hover:not(:disabled){border-color:var(--accent);background:rgba(168,85,247,0.07)}
.iml-choice.selected{border-color:var(--accent);background:rgba(168,85,247,0.1)}
.iml-choice.correct{border-color:#22c55e;background:rgba(34,197,94,0.08);color:#4ade80}
.iml-choice.wrong{border-color:#ef4444;background:rgba(239,68,68,0.06);color:#f87171}
.iml-choice:disabled{cursor:default}
.iml-reveal{margin:10px 12px 0;padding:12px 14px;border-radius:12px;background:rgba(168,85,247,0.06);border:1px solid rgba(168,85,247,0.18)}
.iml-reveal-label{font-family:'IBM Plex Mono',monospace;font-size:8px;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:5px}
.iml-reveal-opener{font-size:12.5px;color:var(--text-2);line-height:1.5;font-style:italic}
.iml-reveal-why{font-size:11.5px;color:var(--text-3);margin-top:6px;line-height:1.5}
.iml-next-btn{display:block;margin:10px 12px 0;width:calc(100% - 24px);padding:12px;border-radius:10px;border:none;background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:15px;letter-spacing:.13em;cursor:pointer;box-shadow:0 4px 14px rgba(168,85,247,0.3);transition:all .2s}
.iml-next-btn:active{transform:scale(0.98)}
.iml-report{padding:0 12px}
.iml-report-hero{background:linear-gradient(145deg,#160d2e,#1e1040);border-radius:16px;padding:24px 20px;text-align:center;margin-bottom:12px;border:1px solid rgba(168,85,247,0.2)}
.iml-report-score{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:72px;line-height:1;letter-spacing:.04em}
.iml-report-score.s5{color:#fbbf24;text-shadow:0 3px 0 #b45309,4px 6px 0 rgba(0,0,0,0.4)}
.iml-report-score.s4{color:#a855f7;text-shadow:0 3px 0 #7c3aed,4px 6px 0 rgba(0,0,0,0.4)}
.iml-report-score.s3{color:#60a5fa;text-shadow:0 3px 0 #2563eb,4px 6px 0 rgba(0,0,0,0.4)}
.iml-report-score.slo{color:#f87171;text-shadow:0 3px 0 #b91c1c,4px 6px 0 rgba(0,0,0,0.4)}
.iml-report-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--text-3);text-transform:uppercase;margin-top:4px}
.iml-report-level{display:inline-block;margin-top:10px;padding:5px 16px;border-radius:100px;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:18px;letter-spacing:.1em}
.iml-report-level.expert{background:rgba(34,197,94,0.15);color:#4ade80;border:1px solid rgba(34,197,94,0.3)}
.iml-report-level.fluent{background:rgba(168,85,247,0.12);color:#c084fc;border:1px solid rgba(168,85,247,0.25)}
.iml-report-level.familiar{background:rgba(251,191,36,0.1);color:#fbbf24;border:1px solid rgba(251,191,36,0.2)}
.iml-report-level.novice{background:rgba(239,68,68,0.08);color:#f87171;border:1px solid rgba(239,68,68,0.15)}
.iml-takeaways{background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:14px;padding:14px}
.iml-takeaways-label{font-family:'IBM Plex Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.12em;color:var(--accent);text-transform:uppercase;margin-bottom:10px}
.iml-takeaway{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--hairline);align-items:flex-start}
.iml-takeaway:last-child{border-bottom:none;padding-bottom:0}
.iml-takeaway-num{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:20px;color:rgba(168,85,247,0.3);line-height:1;flex-shrink:0;width:18px}
.iml-takeaway-txt{font-size:12px;color:var(--text-2);line-height:1.5}
.iml-report-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:12px}
.iml-action-btn{padding:11px;border-radius:10px;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:13px;letter-spacing:.1em;cursor:pointer;border:none;transition:all .2s}
.iml-action-btn.primary{background:linear-gradient(135deg,var(--accent),#7c3aed);color:#fff;box-shadow:0 3px 12px rgba(168,85,247,0.3)}
.iml-action-btn.secondary{background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text-2)}
.iml-mode-toggle{display:flex;gap:0;margin:16px 14px 0;border:1.5px solid var(--hairline);border-radius:10px;overflow:hidden}
.iml-mode-btn{flex:1;padding:9px 6px;font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;background:none;border:none;color:var(--text-3);cursor:pointer;transition:all .18s}
.iml-mode-btn.active{background:var(--accent);color:#fff}
.iml-random-shell{padding:20px 16px 0;text-align:center}
.iml-random-desc{font-size:12px;color:var(--text-2);line-height:1.6;margin-bottom:20px;font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.03em}
.iml-random-btn{width:100%;padding:16px;background:linear-gradient(135deg,var(--accent),#7c3aed);border:none;border-radius:14px;color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:22px;letter-spacing:.12em;cursor:pointer;box-shadow:0 4px 20px rgba(168,85,247,0.35);transition:transform .15s,box-shadow .15s}
.iml-random-btn:active{transform:scale(0.97)}
.iml-enc-score-bar{display:flex;justify-content:center;gap:16px;margin-top:16px;padding:10px;background:var(--bg-elev);border-radius:10px;margin:16px 0 0}
.iml-enc-score-pip{text-align:center}
.iml-enc-score-pip-num{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:20px;color:var(--text);line-height:1}
.iml-enc-score-pip-lbl{font-family:'IBM Plex Mono',monospace;font-size:7px;color:var(--text-3);letter-spacing:.08em;text-transform:uppercase;margin-top:2px}
.iml-enc-header{display:flex;align-items:center;gap:10px;padding:0 16px;margin-bottom:14px}
.iml-step-badge{padding:4px 10px;border-radius:100px;font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#000}
.iml-step-num{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--text-3);letter-spacing:.06em}
.iml-founder-card{margin:0 16px 12px;background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:12px;padding:12px 14px}
.iml-founder-industry{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:18px;letter-spacing:.1em;color:var(--accent);margin-bottom:4px}
.iml-founder-stats{font-family:'IBM Plex Mono',monospace;font-size:9.5px;color:var(--text-2);letter-spacing:.04em;display:flex;gap:6px;flex-wrap:wrap}
.iml-founder-bubble{margin:0 16px 14px;background:rgba(168,85,247,0.06);border:1px solid rgba(168,85,247,0.2);border-radius:12px;padding:12px 14px}
.iml-bubble-label{font-family:'IBM Plex Mono',monospace;font-size:7.5px;font-weight:700;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:6px;opacity:.7}
.iml-bubble-text{font-size:12.5px;color:var(--text);line-height:1.55;font-style:italic}
.iml-enc-prompt{padding:0 16px 10px}
.iml-enc-step-desc{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--text-3);letter-spacing:.05em;margin-bottom:6px;font-style:italic}
.iml-enc-q{font-size:13px;font-weight:700;color:var(--text);line-height:1.4}
.iml-enc-options{padding:0 16px;display:flex;flex-direction:column;gap:8px}
.iml-enc-option{width:100%;padding:12px 14px;background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:12px;color:var(--text);font-size:12px;line-height:1.5;cursor:pointer;text-align:left;transition:border-color .18s;font-family:inherit}
.iml-enc-option:disabled{cursor:default}
.iml-enc-option.correct{border-color:#22c55e;background:rgba(34,197,94,0.08);color:var(--text)}
.iml-enc-option.wrong{border-color:#ef4444;background:rgba(239,68,68,0.07);color:var(--text-2)}
.iml-enc-why{margin:12px 16px 0;background:var(--bg-elev);border-left:3px solid var(--accent);border-radius:0 10px 10px 0;padding:12px 14px}
.iml-enc-why-label{font-family:'IBM Plex Mono',monospace;font-size:8px;font-weight:700;letter-spacing:.14em;color:var(--accent);text-transform:uppercase;margin-bottom:6px}
.iml-enc-why-text{font-size:11.5px;color:var(--text-2);line-height:1.55}
.iml-enc-next{display:block;width:calc(100% - 32px);margin:14px 16px 0;padding:14px;background:linear-gradient(135deg,var(--accent),#7c3aed);border:none;border-radius:12px;color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:18px;letter-spacing:.1em;cursor:pointer}
.iml-enc-footer{padding:10px 16px 0;font-family:'IBM Plex Mono',monospace;font-size:8.5px;color:var(--text-3);text-align:center;letter-spacing:.05em}
.iml-comp-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.iml-comp-row:last-child{margin-bottom:0}
.iml-comp-lbl{font-family:'IBM Plex Mono',monospace;font-size:8px;font-weight:700;letter-spacing:.1em;width:72px;flex-shrink:0}
.iml-comp-track{flex:1;height:5px;background:rgba(255,255,255,0.06);border-radius:100px;overflow:hidden}
.iml-comp-fill{height:100%;border-radius:100px}
.iml-comp-stat{font-family:'IBM Plex Mono',monospace;font-size:9px;color:var(--text-3);width:28px;text-align:right;flex-shrink:0}
/* ── Archives Tab ── */
.arch-page{padding:20px 0 80px}
.arch-header{padding:0 16px 14px}
.arch-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:28px;letter-spacing:.08em;color:var(--text);line-height:1}
.arch-subtitle{font-size:12px;color:var(--text-3);margin-top:3px}
.arch-loading-bar{height:3px;background:var(--hairline);border-radius:2px;margin:0 16px 6px;overflow:hidden}
.arch-loading-fill{height:100%;background:var(--accent);border-radius:2px;transition:width .4s ease}
.arch-loading-note{font-size:11px;color:var(--text-3);text-align:center;padding:0 16px 10px}
.arch-filters{padding:0 16px 14px;display:flex;flex-direction:column;gap:8px}
.arch-filter-row{display:flex;gap:8px;align-items:center}
/* ── Archive sub-tab nav (Founders / Sales / Surveys) ── */
.arch-sub-tabs{display:flex;gap:0;border-bottom:0.5px solid rgba(255,255,255,0.07);padding:0 18px;margin-bottom:14px;flex-wrap:wrap}
.arch-sub-tab{background:transparent;border:none;color:#6a6a72;font-family:inherit;font-size:14px;font-weight:600;padding:11px 0;margin-right:26px;border-bottom:2px solid transparent;cursor:pointer;transition:color .15s,border-color .15s;letter-spacing:.01em;margin-bottom:-0.5px;white-space:nowrap}
.arch-sub-tab:hover{color:#c4b5fd}
.arch-sub-tab.active{color:#fff;border-bottom-color:#a855f7}
html.light .arch-sub-tab{color:var(--text-2)}
html.light .arch-sub-tab:hover{color:var(--accent)}
html.light .arch-sub-tab.active{color:var(--accent);border-bottom-color:var(--accent)}
/* ── Archive period selector row ── */
.arch-period-row{display:flex;gap:8px;padding:0 16px 12px;flex-wrap:wrap;align-items:center}
.arch-period-select{background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text);font-family:inherit;font-size:13px;font-weight:600;padding:9px 32px 9px 14px;border-radius:10px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a855f7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;min-width:140px}
.arch-period-select:hover{border-color:rgba(168,85,247,.3)}
.arch-period-select:focus{outline:none;border-color:var(--accent)}
.arch-select{background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text);font-family:inherit;font-size:13px;padding:9px 12px;border-radius:10px;cursor:pointer;flex-shrink:0;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a855f7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.arch-search-wrap{position:relative;flex:1;display:flex;align-items:center}
.arch-search-icon{position:absolute;left:10px;width:15px;height:15px;color:var(--text-3);pointer-events:none;flex-shrink:0}
.arch-search{width:100%;background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text);font-family:inherit;font-size:13px;padding:9px 32px 9px 32px;border-radius:10px;outline:none}
.arch-search:focus{border-color:var(--accent)}
/* Build 2026.09.04 — iOS Safari auto-zooms any focused input with font-size
   <16px; the zoom scaled the field under the absolutely-positioned magnifier
   icon so the first typed letters sat hidden behind it. 16px on touch-width
   screens kills the zoom (and the icon overlap) without changing desktop. */
@media (max-width:768px){.arch-search{font-size:16px;padding-left:34px}}
.arch-search-clear{position:absolute;right:10px;background:none;border:none;color:var(--text-3);cursor:pointer;font-size:13px;padding:4px;line-height:1}
.arch-filter-count{font-size:11.5px;color:var(--text-3);padding-left:2px}
.arch-empty{text-align:center;padding:48px 20px;color:var(--text-3);font-size:14px}
/* ── Flip card grid ── */
.arch-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 12px}
/* Card scene — fixed aspect ratio, perspective container */
.arch-card-scene{perspective:900px;cursor:pointer;-webkit-tap-highlight-color:transparent}
.arch-card-inner{position:relative;width:100%;padding-bottom:148%;transform-style:preserve-3d;transition:transform .45s cubic-bezier(.4,0,.2,1)}
.arch-card-scene.flipped .arch-card-inner{transform:rotateY(180deg)}
.arch-card-front,.arch-card-back{position:absolute;inset:0;border-radius:14px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden}
/* FRONT */
.arch-card-front{background:#0f0d14;border:1.5px solid var(--hairline)}
.arch-card-front-photo{position:absolute;inset:0;background:#1a1730}
.arch-card-front-photo img{width:100%;height:100%;object-fit:cover;display:block}
/* Gradient overlay at bottom of front */
.arch-card-front-overlay{position:absolute;bottom:0;left:0;right:0;padding:10px 10px 10px;background:linear-gradient(to top,rgba(0,0,0,.92) 0%,rgba(0,0,0,.6) 55%,transparent 100%)}
.arch-card-front-name{font-size:13px;font-weight:800;color:#fff;line-height:1.2;margin-bottom:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arch-card-front-company{font-size:10.5px;font-weight:600;color:rgba(168,85,247,.9);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* No-photo front: initial avatar */
.arch-card-front-avatar{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,#0f0d14) 0%,#0f0d14 100%)}
.arch-card-front-initials{font-size:clamp(32px,12vw,52px);font-weight:900;color:var(--accent);letter-spacing:-.03em;line-height:1;margin-bottom:6px;font-family:'Bebas Neue',Anton,Impact,sans-serif}
/* Badges on front */
.arch-card-front-badges{position:absolute;top:8px;right:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.arch-badge-product{font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:3px 7px;border-radius:100px;line-height:1}
.arch-badge-l2{background:rgba(168,85,247,.85);color:#fff}
.arch-badge-l3{background:rgba(251,191,36,.85);color:#000}
.arch-badge-other{background:rgba(16,185,129,.85);color:#fff}
.arch-badge-product.deprecated{opacity:.5;filter:grayscale(.55)}
/* Flip hint */
.arch-flip-hint{position:absolute;top:8px;left:8px;font-size:9px;color:rgba(255,255,255,.35);font-weight:600;letter-spacing:.04em}
/* BACK */
.arch-card-back{background:var(--bg-elev);border:1.5px solid var(--hairline);transform:rotateY(180deg);display:flex;flex-direction:column;overflow:hidden}
.arch-card-back-head{padding:10px 12px 8px;border-bottom:1px solid var(--hairline);flex-shrink:0}
.arch-card-back-name{font-size:13px;font-weight:800;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arch-card-back-company{font-size:10.5px;font-weight:600;color:var(--accent);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.arch-card-back-body{flex:1;overflow-y:auto;padding:8px 12px 10px;display:flex;flex-direction:column;gap:7px;-webkit-overflow-scrolling:touch}
.arch-back-row{display:flex;flex-direction:column;gap:2px}
.arch-back-lbl{font-size:8.5px;font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:var(--text-3)}
.arch-back-val{font-size:11px;color:var(--text);line-height:1.45;font-weight:500}
.arch-back-val.muted{color:var(--text-2)}
.arch-back-wow{font-size:11px;color:var(--text-2);line-height:1.4;padding-left:12px;position:relative}
.arch-back-wow::before{content:'⚡';position:absolute;left:0;top:0;font-size:9px}
.arch-back-notes{font-size:11px;color:var(--text-2);line-height:1.45;font-style:italic;background:color-mix(in srgb,#f59e0b 8%,var(--bg-elev));border-radius:6px;padding:5px 7px}
.arch-back-workshop{font-size:9px;color:var(--text-3);margin-top:auto;padding-top:4px;border-top:1px solid var(--hairline);flex-shrink:0}
.arch-rev-inline{font-size:10px;color:var(--text-3);font-weight:600}
/* Returners mode banner */
.arch-returners-banner{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 12px 12px;padding:10px 14px;background:color-mix(in srgb,#a855f7 10%,var(--bg-elev));border:1.5px solid color-mix(in srgb,#a855f7 35%,transparent);border-radius:12px}
.arch-returners-banner-left{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:700;color:#c084fc}
.arch-returners-clear{background:none;border:1px solid rgba(168,85,247,.3);color:var(--text-3);font-size:11px;font-weight:600;padding:4px 10px;border-radius:100px;cursor:pointer;font-family:inherit;white-space:nowrap}
.arch-returners-clear:active{background:rgba(168,85,247,.1)}
/* Return date chip on card front */
.arch-return-chip{font-size:9.5px;font-weight:800;color:#fbbf24;letter-spacing:.04em;margin-bottom:3px;text-shadow:0 1px 3px rgba(0,0,0,.8)}
@media(max-width:360px){.arch-grid{grid-template-columns:1fr}.arch-card-front-name{font-size:12px}}
@media(min-width:600px){.arch-grid{grid-template-columns:repeat(3,1fr)}}
/* Build 2026.09.16-1 — lazy photo face slot + paging button */
.arch-face{position:absolute;inset:0}
.arch-filter-count:empty{display:none}
.arch-show-more{grid-column:1/-1;margin:6px 0 14px;padding:12px 16px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--bg-elev);color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}
.arch-show-more:active{background:color-mix(in srgb,var(--accent) 12%,var(--bg-elev))}

/* ── Archive READ-ONLY dossier overlay ── */
.archd-scrim{position:fixed;inset:0;z-index:10000;background:rgba(8,6,16,.78);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding:28px 14px 40px;overflow-y:auto;-webkit-overflow-scrolling:touch}
.archd{position:relative;width:100%;max-width:560px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:16px;padding:18px 18px 24px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.archd-close{position:absolute;top:12px;right:12px;width:30px;height:30px;border:none;border-radius:50%;background:var(--hairline-2);color:var(--text-2);font-size:15px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2}
.archd-close:hover{background:var(--text-3);color:var(--bg-elev)}
.archd-ro{font-size:9.5px;font-weight:800;letter-spacing:.12em;color:var(--text-3);text-transform:uppercase;margin-bottom:12px;padding-right:230px}
@media(max-width:520px){.archd-ro{padding-right:0}}
.archd-head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.archd-photos{display:flex;gap:6px;flex-shrink:0}
.archd-photo{width:72px;height:72px;border-radius:12px;overflow:hidden;background:#1a1730;flex-shrink:0;position:relative;cursor:pointer;display:block}
.archd-photo img{width:100%;height:100%;object-fit:cover;display:block}
.archd-photo-ph{display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:30px;font-weight:900;color:var(--accent);background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 18%,#0f0d14) 0%,#0f0d14 100%)}
.archd-photo-ini{line-height:1}
.archd-photo-cam{position:absolute;bottom:4px;right:4px;width:24px;height:24px;border-radius:50%;background:rgba(0,0,0,.55);border:1px solid rgba(255,255,255,.22);color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(0,0,0,.4);z-index:4}
.archd-photo-cam svg{width:12px;height:12px;stroke:currentColor;stroke-width:2;fill:none;stroke-linecap:round;stroke-linejoin:round}
.archd-photo-cam.empty{background:rgba(139,92,246,.85);border-color:rgba(255,255,255,.4);box-shadow:0 2px 10px rgba(139,92,246,.55)}
.archd-photo:hover .archd-photo-cam{transform:scale(1.08)}
.archd-head-txt{min-width:0}
.archd-name{font-size:18px;font-weight:800;color:var(--text);line-height:1.15}
.archd-co{font-size:12.5px;font-weight:600;color:var(--accent);margin-top:2px;line-height:1.2}
.archd-conf{display:inline-block;margin-top:6px;font-size:9.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:2px 7px;border-radius:5px;background:var(--hairline);color:var(--text-2)}
.archd-conf-high{background:rgba(34,197,94,.16);color:#4ade80}
.archd-conf-medium{background:rgba(251,191,36,.16);color:#fbbf24}
.archd-conf-thin{background:rgba(148,163,184,.16);color:var(--text-3)}
.archd-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.archd-stat{background:var(--bg);border:1px solid var(--hairline);border-radius:9px;padding:8px 9px}
.archd-stat-v{font-size:14px;font-weight:800;color:var(--text);line-height:1.1;font-variant-numeric:tabular-nums;word-break:break-word}
.archd-stat-l{font-size:9.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);margin-top:3px}
.archd-sec{margin-bottom:15px}
.archd-sec-h{font-size:10.5px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:var(--accent);margin-bottom:7px}
.archd-para{font-size:13.5px;line-height:1.5;color:var(--text);white-space:pre-wrap}
.archd-notes{color:var(--text-2);font-style:italic}
.archd-wow{background:var(--bg);border:1px solid var(--hairline);border-radius:9px;padding:9px 11px;margin-bottom:7px}
.archd-wow-txt{font-size:13.5px;line-height:1.45;color:var(--text)}
.archd-vchk{color:#4ade80;font-weight:900}
.archd-wow-src{font-size:11px;line-height:1.4;color:var(--text-3);margin-top:5px}
.archd-links{display:flex;flex-direction:column;gap:6px}
.archd-link{display:flex;align-items:center;gap:7px;font-size:13px;color:#c4b5fd;text-decoration:none;word-break:break-word}
.archd-link:hover{color:#fff;text-decoration:underline}
.archd-link-cat{font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--text-3);background:var(--hairline);padding:2px 6px;border-radius:4px;flex-shrink:0}
.archd-unlock{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:6px}
.archd-unlock li{font-size:13px;line-height:1.5;color:var(--text)}
.archd-flags{display:flex;flex-wrap:wrap;gap:6px}
.archd-flag{font-size:10px;font-weight:800;letter-spacing:.04em;color:var(--text-2);background:var(--hairline);border:1px solid var(--hairline-2);padding:3px 8px;border-radius:6px}
.archd-hub{display:flex;flex-direction:column;gap:6px}
.archd-hub-row{font-size:12.5px;line-height:1.45;color:var(--text-2);padding-left:10px;border-left:2px solid var(--hairline-2)}
.archd-empty{font-size:13px;color:var(--text-3);text-align:center;padding:26px 8px}
html.light .archd-scrim{background:rgba(40,30,60,.5)}

.arena-container{background:radial-gradient(ellipse 80% 50% at 50% 0%,#6d28d9 0%,transparent 70%),radial-gradient(ellipse at top,#4c1d95 0%,#2e1065 38%,#1a0a3e 100%);padding:64px 40px 100px;position:relative;overflow:hidden;margin:0 -28px}
.arena-dots{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,0.18) 1px,transparent 0);background-size:18px 18px;opacity:.5;pointer-events:none;mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%);-webkit-mask-image:radial-gradient(ellipse at center,#000 30%,transparent 80%)}
.arena-rays{position:absolute;top:-200px;left:50%;transform:translateX(-50%);width:1400px;height:1400px;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,0.04) 4deg,transparent 8deg,rgba(255,255,255,0.04) 12deg,transparent 16deg,rgba(255,255,255,0.04) 20deg,transparent 24deg);pointer-events:none;opacity:.7}
.arena-content{position:relative;max-width:760px;margin:0 auto}
.arena-title{text-align:center;margin-bottom:40px}
.arena-invader{width:48px;height:32px;color:rgba(168,85,247,0.55);margin:0 auto 8px;display:block}
.arena-bigtitle{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:min(120px,18vw);letter-spacing:.02em;line-height:.92;color:#fff;text-shadow:0 3px 0 #fbbf24,0 5px 0 #f59e0b,4px 9px 0 #b45309,6px 12px 0 #000,10px 16px 0 rgba(0,0,0,0.45);display:inline-block;position:relative;padding:0 min(80px,10vw);box-sizing:border-box}
.arena-bigtitle::before,.arena-bigtitle::after{content:'\2605';position:absolute;top:50%;transform:translateY(-50%);font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:min(64px,10vw);color:#fbbf24;line-height:1;text-shadow:3px 3px 0 #b45309,5px 5px 0 #000;animation:arenaStar 3s ease-in-out infinite}
.arena-bigtitle::before{left:0}.arena-bigtitle::after{right:0;animation-delay:1.5s}
@keyframes arenaStar{0%,100%{transform:translateY(-50%) rotate(0deg) scale(1)}50%{transform:translateY(-50%) rotate(15deg) scale(1.12)}}
.arena-subtitle{color:#fbbf24;font-family:'IBM Plex Mono',monospace;font-size:11px;margin-top:18px;font-weight:700;letter-spacing:.28em;text-transform:uppercase;text-shadow:2px 2px 0 #000}
.arena-mode-toggle{display:flex;background:rgba(0,0,0,0.4);border:4px solid #000;border-radius:999px;padding:4px;width:fit-content;margin:0 auto 28px;box-shadow:6px 6px 0 #000}
.arena-mode-btn{background:transparent;border:none;color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:22px;letter-spacing:.16em;padding:10px 32px;border-radius:999px;cursor:pointer;transition:all .2s;opacity:.5}
.arena-mode-btn:hover{opacity:.8}
.arena-mode-btn.active{background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 100%);color:#000;opacity:1;box-shadow:inset 0 -3px 0 rgba(0,0,0,0.2)}
.arena-filter-row{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:32px}
.arena-filter-btn{background:rgba(0,0,0,0.5);border:3px solid #000;color:#fff;font-family:'IBM Plex Mono',monospace;font-weight:700;font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:8px 14px;border-radius:999px;cursor:pointer;box-shadow:3px 3px 0 #000;transition:transform .15s}
.arena-filter-btn:hover{transform:translate(-1px,-1px);box-shadow:4px 4px 0 #000}
.arena-filter-btn.active{background:#fcd34d;color:#000}
.champion-card{background:linear-gradient(135deg,#fcd34d 0%,#f59e0b 100%);border-radius:28px;padding:32px 36px;border:5px solid #000;box-shadow:10px 10px 0 #000;margin-bottom:32px;position:relative;margin-top:26px}
.champion-badge{position:absolute;top:-22px;right:28px;background:#000;color:#fbbf24;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:17px;letter-spacing:.24em;padding:7px 20px;border-radius:999px;border:4px solid #fbbf24;white-space:nowrap}
.champion-row{display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.champion-avatar{width:80px;height:80px;border-radius:50%;background:#000;color:#fbbf24;display:flex;align-items:center;justify-content:center;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:36px;border:5px solid #000;flex-shrink:0}
.champion-info{flex:1;min-width:0}
.champion-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:46px;color:#000;line-height:1;letter-spacing:.02em}
.champion-nick{font-size:14px;color:#000;opacity:.75;margin-top:4px;font-weight:600;letter-spacing:.03em}
.champion-stat{text-align:right;flex-shrink:0}
.champion-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:72px;color:#000;line-height:1}
.champion-pct .small{font-size:32px}
.champion-ratings{font-size:11px;color:#000;opacity:.7;font-weight:700;letter-spacing:.08em}
.champion-badges{display:flex;gap:8px;margin-top:20px;flex-wrap:wrap}
.champion-tag{background:#000;color:#fbbf24;font-size:12px;padding:6px 12px;border-radius:7px;font-weight:700;letter-spacing:.03em}
.podium-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:40px}
.podium-card{background:#fff;border-radius:20px;border:4px solid #000;box-shadow:7px 7px 0 #000;padding:24px 22px;position:relative}
.podium-medal-tag{position:absolute;top:-15px;left:20px;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:15px;padding:5px 14px;border-radius:8px;border:3px solid #000;letter-spacing:.06em}
.podium-medal-tag.silver{background:#d4d4d8;color:#000}
.podium-medal-tag.bronze{background:#cd7f32;color:#fff}
.podium-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:34px;color:#000;line-height:1;margin-top:12px;letter-spacing:.02em}
.podium-nick{font-size:11px;color:#555;margin-top:4px;font-weight:600;letter-spacing:.03em}
.podium-bottom{display:flex;justify-content:space-between;align-items:flex-end;margin-top:18px}
.podium-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:48px;color:#000;line-height:1}
.fire-tag{background:#ef4444;color:#fff;font-size:11px;padding:5px 10px;border-radius:6px;font-weight:700;letter-spacing:.04em}
.climb-tag{background:#10b981;color:#fff;font-size:11px;padding:5px 10px;border-radius:6px;font-weight:700;letter-spacing:.04em}
.challengers-label{font-family:'Bebas Neue',Anton,Impact,sans-serif;color:#c4b5fd;font-size:24px;letter-spacing:.22em;margin-bottom:18px;text-shadow:3px 3px 0 #000;text-align:center}
.challenger-list{display:flex;flex-direction:column;gap:12px;margin-bottom:36px}
.challenger-card{background:rgba(255,255,255,0.97);border-radius:16px;border:3px solid #000;box-shadow:5px 5px 0 #000;padding:16px 20px;display:grid;grid-template-columns:52px 1fr auto;gap:16px;align-items:center;transition:transform .15s}
.challenger-card:hover{transform:translate(-2px,-2px);box-shadow:7px 7px 0 #000}
.challenger-rank{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:32px;color:#000;line-height:1;text-align:center}
.challenger-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:24px;color:#000;line-height:1;letter-spacing:.02em}
.challenger-nick{font-size:11px;color:#666;margin-top:3px;font-weight:600}
.challenger-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:32px;color:#000;line-height:1}
.unlock-card{background:rgba(0,0,0,0.55);border:3px dashed #a855f7;border-radius:20px;padding:28px;text-align:center;margin-top:12px}
.unlock-label{font-family:'Bebas Neue',Anton,Impact,sans-serif;color:#fbbf24;font-size:17px;letter-spacing:.28em}
.unlock-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;color:#fff;font-size:36px;letter-spacing:.05em;margin-top:8px;text-shadow:4px 4px 0 #000;line-height:1.05}
.unlock-progress{font-size:13px;color:#c4b5fd;margin-top:12px;font-weight:500}
.arsenal-label{font-family:'Bebas Neue',Anton,Impact,sans-serif;color:#fbbf24;font-size:24px;letter-spacing:.22em;margin-bottom:18px;text-shadow:3px 3px 0 #000;text-align:center}
.arsenal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:36px}
.arsenal-card{background:#fff;border-radius:20px;border:4px solid #000;box-shadow:7px 7px 0 #000;padding:20px;position:relative;transition:transform .15s;cursor:pointer}
.arsenal-card:hover{transform:translate(-2px,-2px);box-shadow:9px 9px 0 #000}
.arsenal-card.locked{opacity:.65;cursor:not-allowed}
.arsenal-card.locked:hover{transform:none;box-shadow:7px 7px 0 #000}
.arsenal-status-tag{position:absolute;top:-13px;right:14px;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:12px;padding:3px 10px;border-radius:6px;border:3px solid #000;letter-spacing:.06em}
.arsenal-status-tag.new{background:#fbbf24;color:#000}
.arsenal-status-tag.hot{background:#ef4444;color:#fff}
.arsenal-status-tag.locked{background:#6a6a72;color:#fff}
.arsenal-icon{font-size:36px;margin-bottom:10px;display:block}
.arsenal-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:22px;color:#000;line-height:1;letter-spacing:.03em}
.arsenal-desc{font-size:11px;color:#555;margin-top:6px;font-weight:500;line-height:1.4;min-height:30px}
.arsenal-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;padding-top:12px;border-top:2px solid rgba(0,0,0,0.07)}
.arsenal-stat{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;color:#000;letter-spacing:.06em}
.arsenal-stat .val{color:#a855f7;font-size:12px}
.arsenal-play{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:14px;background:#000;color:#fbbf24;padding:5px 12px;border-radius:7px;letter-spacing:.12em}
.arsenal-card.locked .arsenal-play{background:#6a6a72;color:#fff}
.games-leaderboard-wrap{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:36px}
.game-lb-card{background:#fff;border-radius:20px;border:4px solid #000;padding:20px;box-shadow:8px 8px 0 #000}
.game-lb-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;border-bottom:3px solid #000;padding-bottom:12px}
.game-lb-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:20px;letter-spacing:.08em;color:#000;line-height:1}
.game-lb-icon{font-size:24px}
.game-lb-row{display:grid;grid-template-columns:26px 1fr auto;gap:10px;align-items:center;padding:7px 0;border-bottom:1px dashed rgba(0,0,0,0.1)}
.game-lb-row:last-child{border-bottom:none}
.game-lb-rank{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:20px;color:#000;text-align:center}
.game-lb-name{font-weight:700;font-size:13px;color:#000}
.game-lb-score{font-family:'IBM Plex Mono',monospace;font-size:13px;font-weight:700;color:#7c3aed;font-variant-numeric:tabular-nums}

/* Arena game embed — wraps quizPage inside the arena shell */
.arena-game-wrap{background:rgba(0,0,0,0.35);border-radius:24px;padding:4px;margin-top:4px;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.arena-game-wrap .wd-setup,.arena-game-wrap .wd-page,.arena-game-wrap .wd-done,.arena-game-wrap .wd-detail-modal{border-radius:20px;overflow:hidden}
/* Force the game shell to a solid near-black surface so game card text
   doesn't render against the transparent arena purple background */
.arena-game-wrap .wd-page,.arena-game-wrap .wd-setup,.arena-game-wrap .wd-done{background:#0f0d14}
/* Ensure all game text is always legible regardless of arena background */
.arena-game-wrap .wd-q-clue{color:#f1f0f5!important}
.arena-game-wrap .wd-q-num{color:#f1f0f5!important}
.arena-game-wrap .wd-q-type-lbl{color:rgba(241,240,245,0.55)!important}
.arena-game-wrap .wd-ans-founder{color:#f1f0f5!important}
.arena-game-wrap .wd-ans-text{color:#f1f0f5!important}
.arena-game-wrap .wd-streak.zero{color:rgba(241,240,245,0.5)!important}
.arena-game-wrap [style*="color:var(--text)"]{color:#f1f0f5}
/* Override quiz card bg to be slightly lighter on the dark arena bg */
.arena-game-wrap .wd-mode-card{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.1)}
.arena-game-wrap .wd-mode-card:hover{background:rgba(255,255,255,0.09)}
.arena-game-wrap .wd-mode-card.selected{background:rgba(168,85,247,0.18);border-color:rgba(168,85,247,0.5)}
/* Make round pills pop on dark bg */
.arena-game-wrap .wd-round-pill{background:rgba(255,255,255,0.07);border-color:rgba(255,255,255,0.12);color:rgba(255,255,255,0.7)}
.arena-game-wrap .wd-round-pill.active,.arena-game-wrap .wd-round-pill:hover{background:rgba(168,85,247,0.2);border-color:rgba(168,85,247,0.4);color:#c4b5fd}
/* Resume banner stays visible */
.arena-game-wrap .wd-resume{border-color:rgba(168,85,247,0.3)}
/* Leaderboard section in arena */
.arena-lb-section{margin-top:4px}
.arena-lb-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:24px}
.arena-lb-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:16px;box-shadow:2px 2px 0 rgba(0,0,0,.4)}
.arena-lb-card-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.1)}
.arena-lb-card-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:17px;letter-spacing:.1em;color:#fbbf24;line-height:1}
.arena-lb-card-icon{font-size:22px}
.arena-lb-row{display:grid;grid-template-columns:24px 1fr auto;gap:8px;align-items:center;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.07)}
.arena-lb-row:last-child{border-bottom:none}
/* ── CSAT Leaderboard ─────────────────────────────────────────────────── */
.csat-champion{background:linear-gradient(135deg,#fff5b4 0%,#ffd700 20%,#fbbf24 55%,#d97706 85%,#b45309 100%);border:4px solid #000;border-radius:20px;padding:22px 24px 22px;box-shadow:5px 5px 0 #000,0 0 36px rgba(251,191,36,.45),0 0 80px rgba(251,191,36,.18);margin-bottom:20px;position:relative;margin-top:18px}
.csat-champ-corner{position:absolute;top:-15px;right:20px;background:#000;color:#fbbf24;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:14px;letter-spacing:.2em;padding:7px 20px;border-radius:8px;border:none;box-shadow:3px 3px 0 rgba(0,0,0,.45);white-space:nowrap;z-index:2}
.csat-champ-label{font-size:10px;color:rgba(0,0,0,.55);font-weight:700;letter-spacing:.12em;text-transform:uppercase;margin:4px 0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.csat-champ-row{display:flex;align-items:center;gap:18px}
.csat-champ-avatar{width:80px;height:80px;min-width:80px;border-radius:50%;background:#000;color:#fbbf24;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:28px;display:flex;align-items:center;justify-content:center;border:none;overflow:hidden;flex-shrink:0}
.csat-champ-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.csat-champ-info{flex:1;min-width:0}
.csat-champ-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:38px;color:#000;line-height:1;letter-spacing:.02em}
.csat-champ-nick{font-size:14px;color:rgba(0,0,0,.7);font-style:italic;margin-bottom:12px;letter-spacing:.04em}
.csat-champ-tags{display:flex;flex-wrap:wrap;gap:8px}
.csat-champ-tag{background:#000;color:#fbbf24;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:13px;font-weight:700;letter-spacing:.13em;padding:6px 14px;border-radius:8px;box-shadow:2px 2px 0 rgba(0,0,0,.4);white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.csat-champ-stat{text-align:right;flex-shrink:0}
.csat-cochamp{display:flex;align-items:center;gap:12px;flex:1 1 300px;min-width:0}
.csat-cochamp .csat-champ-pct{font-size:54px}
.csat-cochamp .csat-champ-pct .sp{font-size:28px}
.csat-cochamp .csat-champ-name{font-size:30px}
.csat-champ-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:72px;color:#000;line-height:1;letter-spacing:-.02em}
.csat-champ-pct .sp{font-size:36px}
.csat-champ-sub{font-size:11px;color:rgba(0,0,0,.7);letter-spacing:.12em;text-transform:uppercase;font-weight:700;white-space:nowrap}
.csat-champ-header{position:absolute;top:-15px;right:20px;z-index:2;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.csat-champ-crown{display:inline-block;background:#000;color:#fbbf24;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:14px;letter-spacing:.2em;padding:7px 20px;border-radius:8px;box-shadow:3px 3px 0 rgba(0,0,0,.45);white-space:nowrap}
.csat-podium{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px}
.csat-medal-card{background:rgba(255,255,255,.06);border:2px solid rgba(255,255,255,.12);border-radius:14px;padding:20px 20px 18px;position:relative;box-shadow:3px 3px 0 rgba(0,0,0,.4)}
.csat-medal-card.silver{background:linear-gradient(135deg,rgba(180,196,210,.55) 0%,rgba(120,140,160,.38) 100%);border:2.5px solid #000;box-shadow:4px 4px 0 rgba(0,0,0,.5);}
.csat-medal-card.bronze{background:linear-gradient(135deg,rgba(205,127,50,.62) 0%,rgba(140,70,20,.45) 100%);border:2.5px solid #000;box-shadow:4px 4px 0 rgba(0,0,0,.5);}
.csat-medal-badge{display:inline-flex;align-items:center;gap:6px;background:#000;color:#c0cdd8;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:12px;font-weight:700;letter-spacing:.18em;padding:6px 14px;border-radius:8px;margin-bottom:12px;border:none;box-shadow:2px 2px 0 rgba(0,0,0,.45)}
.csat-medal-card.silver .csat-medal-badge{color:#c8d6e0}
.csat-medal-card.bronze .csat-medal-badge{color:#cd9055}
.csat-medal-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:28px;color:#fff;letter-spacing:.02em;line-height:1;margin-bottom:4px}
.csat-medal-nick{font-size:12px;color:rgba(255,255,255,.5);font-style:italic;margin-bottom:14px}
.csat-medal-bottom{display:flex;align-items:center;justify-content:space-between}
.csat-medal-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:40px;color:#fff;line-height:1}
.csat-medal-row{display:flex;align-items:center;gap:16px}
.csat-medal-info{flex:1;min-width:0}
.csat-medal-stat{text-align:right;flex-shrink:0}
.csat-medal-sub{font-size:12px;color:rgba(255,255,255,.7);font-weight:700;letter-spacing:.06em;margin-top:2px;text-align:right}
.csat-medal-chip{background:#000;color:#c0cdd8;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:12px;font-weight:700;letter-spacing:.12em;padding:6px 13px;border-radius:8px;white-space:nowrap;border:none;box-shadow:2px 2px 0 rgba(0,0,0,.4);display:inline-flex;align-items:center;gap:5px}
.csat-medal-card.silver .csat-medal-chip{color:#c8d6e0}
.csat-medal-card.bronze .csat-medal-chip{color:#cd9055}
/* .csat-medal-chip.green — removed, card-context variants handle color */
.csat-challengers{margin-top:8px}
.csat-challengers-label{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:22px;color:#fbbf24;letter-spacing:.22em;text-align:left;margin-bottom:12px;text-shadow:2px 2px 0 #000}
.csat-row{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:10px;padding:14px 18px;margin-bottom:10px;display:flex;align-items:center;gap:14px;box-shadow:2px 2px 0 rgba(0,0,0,.3)}
.csat-rank{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:28px;color:rgba(255,255,255,.35);min-width:36px;text-align:center}
.csat-row-info{flex:1;min-width:0}
.csat-row-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:18px;color:#fff;letter-spacing:.06em;line-height:1}
.csat-row-nick{font-size:11px;color:rgba(255,255,255,.4);font-style:italic}
.csat-row-chip{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:10px;letter-spacing:.1em;padding:3px 9px;border-radius:999px;white-space:nowrap;color:#fff}
.csat-row-chip.red{background:#dc2626}
.csat-row-chip.amber{background:#d97706}
.csat-row-chip.green{background:#059669}
.csat-row-pct{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:28px;color:#fff;white-space:nowrap}
@media(max-width:600px){
  .csat-champ-pct{font-size:48px}.csat-champ-name{font-size:26px}
  .csat-champ-avatar{width:60px;height:60px;min-width:60px;font-size:22px;border:none}
  .csat-podium{grid-template-columns:1fr;gap:12px}
  .csat-champ-row{gap:12px}
  .csat-cochamp{flex-basis:100%}
  .csat-cochamp .csat-champ-pct{font-size:42px}
  .csat-cochamp .csat-champ-name{font-size:24px}
  .csat-champ-tag{font-size:11px;padding:5px 11px}
  .csat-medal-chip{font-size:11px;padding:5px 11px}
  .csat-champ-corner,.csat-champ-crown{font-size:12px;padding:6px 14px}
}
.arena-lb-rank{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:19px;color:rgba(255,255,255,.35);text-align:center;line-height:1}
.arena-lb-row:first-child .arena-lb-rank{color:#fbbf24}
.arena-lb-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:14px;letter-spacing:.06em;color:#fff}
.arena-lb-badges{display:flex;gap:3px;flex-wrap:wrap;margin-top:2px}
.arena-lb-badge{font-size:13px;line-height:1}
.arena-lb-score{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:20px;color:#fbbf24;font-variant-numeric:tabular-nums}
.arena-lb-empty{font-size:11px;color:#999;grid-column:1/-1;padding:8px 0;text-align:center}
@media(max-width:620px){
  .arena-lb-grid{grid-template-columns:1fr}
}
.arena-no-data{text-align:center;padding:48px 24px;color:rgba(255,255,255,0.4);font-size:13px;font-weight:500}
@media(max-width:680px){
  .arena-container{padding:48px 20px 80px;margin:0 -16px}
  .champion-pct{font-size:52px}.champion-name{font-size:34px}
  .arsenal-grid{grid-template-columns:1fr 1fr}
  .games-leaderboard-wrap{grid-template-columns:1fr}
  .podium-grid{grid-template-columns:1fr}
}


/* ─── SETTINGS PAGE ─────────────────────────────────────────────────────── */
.settings-page{max-width:680px;margin:0 auto;padding:0 0 80px}
.settings-page-header{display:flex;align-items:center;gap:16px;padding:28px 0 24px}
.settings-back-btn{display:flex;align-items:center;gap:7px;color:#a8a8b0;font-size:13px;font-weight:600;background:none;border:none;cursor:pointer;padding:8px 12px 8px 4px;border-radius:10px;transition:color .15s;letter-spacing:.01em}
.settings-back-btn:hover{color:#fff}
.settings-back-btn svg{opacity:.7}
.settings-page-title{font-size:22px;font-weight:700;color:#fff;letter-spacing:-.02em}
.settings-section{background:#0a0810;border:.5px solid rgba(168,85,247,0.15);border-radius:20px;padding:24px;margin-bottom:16px}
.settings-section-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:#6a6a72;margin-bottom:18px}
.settings-section-toggle{margin-bottom:0;padding:6px 0;transition:color .15s}
.settings-section-toggle:hover{color:#a855f7}
.settings-section-toggle.collapsed{margin-bottom:0}
/* Settings redesign (2026-07-31) — grouped multi-section wrapper. One
   toggle collapses everything inside at once (Cohort Rotation, Content &
   Media). Nested .settings-section cards get a flatter treatment so they
   read as sub-items of the group, not competing top-level cards. */
.settings-group{border:1px solid rgba(139,92,246,.28);border-radius:22px;padding:18px;margin-bottom:16px;background:linear-gradient(180deg,rgba(139,92,246,.05),transparent 65%)}
.settings-group-title{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:#c4b5fd;display:flex;align-items:center;justify-content:space-between;cursor:pointer;user-select:none;padding:2px 2px 2px 4px;transition:color .15s}
.settings-group-title:hover{color:#fff}
.settings-group-body{margin-top:14px}
.settings-group-body .settings-section{background:rgba(255,255,255,.025);border-color:rgba(255,255,255,.08);padding:16px 18px;margin-bottom:10px}
.settings-group-body .settings-section:last-child{margin-bottom:0}
.settings-group-body .settings-section .settings-section-label{margin-bottom:12px;color:#8a8a92}
.settings-identity-row{display:flex;align-items:center;gap:16px;margin-bottom:6px}
.settings-identity-avatar{width:48px;height:48px;border-radius:50%;object-fit:cover;flex-shrink:0;border:2px solid rgba(168,85,247,0.3)}
.settings-identity-avatar-fallback{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#a855f7,#6d28d9);display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:700;color:#fff;flex-shrink:0}
.settings-identity-name{font-size:18px;font-weight:700;color:#fff;margin-bottom:2px}
.settings-identity-email{font-size:12px;color:#6a6a72;font-family:'IBM Plex Mono',monospace}
.settings-identity-badge{display:inline-block;background:rgba(52,211,153,0.15);color:#34d399;font-size:10px;font-weight:700;letter-spacing:.1em;padding:2px 8px;border-radius:999px;margin-left:8px;vertical-align:1px}
.settings-sync-pill{display:inline-flex;align-items:center;gap:7px;background:#0f0d14;border:.5px solid rgba(168,85,247,0.15);border-radius:999px;padding:6px 12px;font-size:12px;color:#a8a8b0;margin-top:12px}
.settings-sync-dot{width:6px;height:6px;border-radius:50%;background:#34d399;flex-shrink:0}
.settings-sync-dot.err{background:#ef4444}
.settings-sync-dot.busy{background:#fbbf24;animation:pulse 1.5s infinite}
/* Advisor rows */
.settings-advisor-row{display:flex;align-items:center;gap:14px;padding:14px 0;border-bottom:.5px solid rgba(168,85,247,0.08)}
.settings-advisor-row:last-of-type{border-bottom:none}
.settings-advisor-avatar{width:38px;height:38px;border-radius:50%;object-fit:cover;flex-shrink:0}
.settings-advisor-avatar-fallback{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#7c3aed,#4c1d95);display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:#fff;flex-shrink:0}
.settings-advisor-info{flex:1;min-width:0}
.settings-advisor-name{font-size:14px;font-weight:600;color:#fff}
.settings-advisor-sub{font-size:11px;color:#6a6a72;margin-top:2px;font-family:'IBM Plex Mono',monospace}
.settings-remove-user{background:transparent;border:none;color:#4a4a52;font-size:18px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:4px;transition:color .12s,background .12s;flex-shrink:0}
.settings-remove-user:hover{color:#ef4444;background:rgba(239,68,68,.1)}
.settings-role-seg{display:flex;gap:0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:3px;width:fit-content}
.srs-btn{background:transparent;border:none;color:#6a6a72;font-size:12px;font-weight:600;letter-spacing:.04em;padding:6px 18px;border-radius:5px;cursor:pointer;transition:all .15s;font-family:inherit}
.srs-btn.active{background:var(--accent);color:#fff}
.srs-btn:not(.active):hover{color:#fff;background:rgba(255,255,255,.08)}
.settings-guest-badge{font-family:'IBM Plex Mono',monospace;font-size:9.5px;font-weight:700;letter-spacing:.14em;color:#6a6a72;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:5px;padding:4px 9px;flex-shrink:0;align-self:center}
.settings-role-divider{display:flex;align-items:center;gap:12px;margin:20px 0 12px;font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.16em;color:#4a4a52;text-transform:uppercase}
.settings-role-divider::before,.settings-role-divider::after{content:'';flex:1;height:1px;background:rgba(255,255,255,.07)}
.settings-advisor-toggle{position:relative;width:44px;height:24px;flex-shrink:0}
.settings-advisor-toggle input{opacity:0;width:0;height:0;position:absolute}
.settings-advisor-slider{position:absolute;inset:0;border-radius:999px;background:#1a1424;border:.5px solid rgba(168,85,247,0.2);transition:all .2s;cursor:pointer}
.settings-advisor-slider::after{content:'';position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#6a6a72;transition:all .2s}
.settings-advisor-toggle input:checked+.settings-advisor-slider{background:rgba(168,85,247,0.25);border-color:rgba(168,85,247,0.5)}
.settings-advisor-toggle input:checked+.settings-advisor-slider::after{transform:translateX(20px);background:#a855f7}
/* Add advisor */
.settings-add-advisor{margin-top:20px;padding-top:20px;border-top:.5px solid rgba(168,85,247,0.1)}
.settings-add-advisor-label{font-size:12px;font-weight:600;color:#a8a8b0;margin-bottom:12px;letter-spacing:.02em}
.settings-add-row{display:flex;gap:8px;flex-wrap:wrap}
.settings-add-row input{flex:1;min-width:120px;background:#07060a;border:.5px solid rgba(168,85,247,0.2);border-radius:10px;padding:10px 14px;font-size:13px;color:#fff;outline:none;transition:border-color .15s}
.settings-add-row input:focus{border-color:rgba(168,85,247,0.5)}
.settings-add-row input::placeholder{color:#6a6a72}
.settings-add-btn{background:#a855f7;color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s;letter-spacing:.02em}
.settings-add-btn:hover{background:#9333ea}
/* Action buttons */
.settings-action-btn{width:100%;padding:13px 18px;background:#07060a;border:.5px solid rgba(168,85,247,0.18);border-radius:12px;font-size:13px;font-weight:600;color:#fff;cursor:pointer;text-align:left;transition:all .15s;margin-bottom:8px;display:flex;justify-content:space-between;align-items:center}
.settings-action-btn:last-child{margin-bottom:0}
.settings-action-btn:hover{background:#0f0d14;border-color:rgba(168,85,247,0.35)}
.settings-action-btn .sab-desc{font-size:11px;color:#6a6a72;font-weight:400;margin-top:3px;font-family:'IBM Plex Mono',monospace;letter-spacing:.02em}
.settings-action-btn .sab-right{color:#6a6a72;font-size:11px;font-family:'IBM Plex Mono',monospace;white-space:nowrap}
.settings-action-btn.destructive:hover{border-color:rgba(239,68,68,0.4)}
/* Workshop info row */
.settings-kv{display:flex;justify-content:space-between;align-items:center;padding:11px 0;border-bottom:.5px solid rgba(168,85,247,0.07)}
.settings-kv:last-child{border-bottom:none}
.settings-kv-label{font-size:12px;color:#6a6a72;font-weight:500}
.settings-kv-value{font-size:13px;font-weight:600;color:#fff;font-family:'IBM Plex Mono',monospace;letter-spacing:.02em}
/* Archive row */
.settings-archive-row{display:flex;gap:10px;align-items:center;margin-top:14px;flex-wrap:wrap}
.settings-archive-row select{flex:1;min-width:160px;background:#07060a;border:.5px solid rgba(168,85,247,0.2);border-radius:10px;padding:10px 14px;font-size:13px;color:#fff;outline:none}
.settings-archive-btn{background:#a855f7;color:#fff;border:none;border-radius:10px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s}
.settings-archive-btn:hover{background:#9333ea}
.settings-warn-box{background:rgba(251,191,36,0.08);border:.5px solid rgba(251,191,36,0.3);border-radius:12px;padding:12px 16px;font-size:12px;color:#fbbf24;margin-bottom:14px;line-height:1.5}
.chips-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:18px}
.chip{padding:7px 14px;border-radius:999px;font-size:12px;color:#a8a8b0;background:#0f0d14;border:0.5px solid rgba(168,85,247,0.12);font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:7px;letter-spacing:.02em;user-select:none}
.chip:hover{background:#1a1424;color:#fff;border-color:rgba(168,85,247,0.3)}
.chip.active{background:rgba(168,85,247,0.18);color:#c4b5fd;border-color:rgba(168,85,247,0.4)}
.chip-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}
.chip-ct{font-family:'IBM Plex Mono',monospace;font-size:10px;opacity:.7}
.chip.flag-green.active{background:rgba(52,211,153,0.18);color:#6ee7b7;border-color:rgba(52,211,153,0.35)}
.chip.flag-yellow.active{background:rgba(251,191,36,0.18);color:#fcd34d;border-color:rgba(251,191,36,0.35)}
.chip.flag-red.active{background:rgba(239,68,68,0.18);color:#fca5a5;border-color:rgba(239,68,68,0.35)}
/* Card flag stripes — applied post-render via applyFlagStripes() */
.card.flag-red{border-left:4px solid #ef4444!important;padding-left:17px!important}
.card.flag-yellow{border-left:4px solid #fbbf24!important;padding-left:17px!important}
.card.flag-green{border-left:4px solid #34d399!important;padding-left:17px!important}

/* ─── BELL / RETURNERS ───────────────────────────────────────────────── */
.bell-wrapper{position:relative}
.bell-btn-wrap{position:relative}
.bell-badge{position:absolute;top:-3px;right:-3px;background:#a855f7;color:#fff;font-size:9px;font-weight:700;padding:2px 5px;border-radius:999px;border:2px solid #000;font-family:'IBM Plex Mono',monospace;min-width:18px;text-align:center;letter-spacing:0;line-height:1.3}
.bell-btn-wrap.tomorrow .bell-badge{background:#fbbf24;color:#000;animation:bellPulse 2s infinite}
@keyframes bellPulse{0%,100%{box-shadow:0 0 0 0 rgba(251,191,36,0.5)}50%{box-shadow:0 0 0 6px rgba(251,191,36,0)}}
.bell-dropdown{position:absolute;top:52px;right:-8px;width:360px;background:#08070b;border:.5px solid rgba(168,85,247,0.25);border-radius:16px;box-shadow:0 24px 48px rgba(0,0,0,0.6),0 0 0 .5px rgba(168,85,247,0.1);z-index:200;display:none;overflow:hidden}
.bell-dropdown.open{display:block}
.bd-head{padding:16px 20px;border-bottom:.5px solid rgba(168,85,247,0.1);display:flex;justify-content:space-between;align-items:center}
.bd-head-title{font-size:14px;font-weight:700;color:#fff}
.bd-head-meta{font-family:'IBM Plex Mono',monospace;font-size:10px;color:#6a6a72;letter-spacing:.12em;text-transform:uppercase}
.bd-head-right{display:flex;align-items:center;gap:12px}
.bd-close{background:rgba(168,85,247,0.12);border:.5px solid rgba(168,85,247,0.3);color:#c4b5fd;width:30px;height:30px;border-radius:50%;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:inherit;transition:background .15s}
.bd-close:hover,.bd-close:active{background:rgba(168,85,247,0.25);color:#fff}
.bd-list{max-height:360px;overflow-y:auto}
.bd-item{display:grid;grid-template-columns:38px 1fr auto;gap:12px;padding:13px 20px;align-items:center;border-bottom:.5px solid rgba(168,85,247,0.05);cursor:pointer;transition:background .15s}
.bd-item:hover{background:#0f0d14}
.bd-item:last-child{border-bottom:none}
.bd-item.tomorrow{background:linear-gradient(90deg,rgba(251,191,36,0.08),transparent);border-left:3px solid #fbbf24;padding-left:17px}
.bd-item-avatar{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0}
.bd-item-name{font-size:13px;font-weight:600;color:#fff}
.bd-item-meta{font-size:11px;color:#6a6a72;margin-top:2px;font-weight:500}
.bd-item-when{text-align:right;flex-shrink:0}
.bd-item-countdown{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.06em;color:#c4b5fd;text-transform:uppercase}
.bd-item-countdown.tomorrow{color:#fbbf24}
.bd-item-date{font-size:10px;color:#6a6a72;margin-top:2px;font-family:'IBM Plex Mono',monospace}
.bd-empty{padding:32px 20px;text-align:center;color:#6a6a72;font-size:13px}
.bd-foot{padding:12px 20px;border-top:.5px solid rgba(168,85,247,0.1);text-align:center;font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:#c4b5fd;cursor:pointer}
.bd-foot:hover{color:#fff;background:#0f0d14}


/* ─── SCROLL TO TOP ─────────────────────────────────────────────────────────*/
.scroll-top-btn{position:fixed;bottom:180px;right:16px;width:40px;height:40px;border-radius:50%;background:#1a1424;border:1px solid rgba(168,85,247,.35);color:#a855f7;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:120;padding:0;box-shadow:0 4px 16px rgba(0,0,0,.45);transition:opacity .2s,transform .2s;opacity:0;pointer-events:none}
.scroll-top-btn.visible{opacity:1;pointer-events:auto}
.scroll-top-btn:hover{background:#241830;border-color:#a855f7;transform:translateY(-2px)}
.scroll-top-btn:active{transform:scale(.92)}
.scroll-top-btn svg{width:18px;height:18px;stroke:currentColor;stroke-width:2.2;fill:none;stroke-linecap:round;stroke-linejoin:round}

/* ─── INSIGHTS CONTEXT BAR (scope pills + VIEWING selector) ─────────────── */
.insights-ctx{margin-bottom:0;padding:10px 18px 12px;background:var(--bg);border-bottom:1px solid var(--hairline)}
.insights-scope-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap;margin-bottom:12px;background:#0a0810;border:.5px solid rgba(168,85,247,0.12);border-radius:999px;padding:4px;width:fit-content}
.scope-pill{padding:7px 16px;border-radius:999px;font-size:12px;font-weight:600;background:transparent;border:none;color:#a8a8b0;cursor:pointer;transition:all .15s;letter-spacing:.02em;white-space:nowrap}
.scope-pill:hover{color:#fff}
.scope-pill.active{background:rgba(168,85,247,0.2);color:#c4b5fd;box-shadow:0 0 0 .5px rgba(168,85,247,0.3)}
.viewing-row{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.viewing-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6a6a72}
.viewing-selector{display:flex;align-items:center;gap:6px;background:#0a0810;border:.5px solid rgba(168,85,247,0.2);border-radius:12px;padding:8px 14px;cursor:pointer;transition:all .15s;position:relative}
.viewing-selector:hover{border-color:rgba(168,85,247,0.4);background:#0f0d14}
.viewing-cal-icon{color:#c4b5fd;flex-shrink:0}
.viewing-date-lbl{font-size:13px;font-weight:600;color:#fff}
.viewing-date-sub{font-size:11px;color:#a8a8b0;font-family:'IBM Plex Mono',monospace;margin-left:4px}
.viewing-chevron{color:#6a6a72;margin-left:4px;font-size:12px}
.viewing-select-overlay{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;border:none}
.ws-nav-arrows{display:flex;gap:6px}
.ws-nav-arrow{width:34px;height:34px;border-radius:50%;background:#0a0810;border:.5px solid rgba(168,85,247,0.2);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#a8a8b0;transition:all .15s;font-size:14px}
.ws-nav-arrow:hover:not(:disabled){background:#1a1424;color:#fff;border-color:rgba(168,85,247,0.4)}
.ws-nav-arrow:disabled{opacity:.3;cursor:not-allowed}


.insights-scope-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:22px}
.scope-pills{display:flex;gap:6px;flex-wrap:wrap}
.scope-pill{padding:7px 16px;border-radius:999px;font-size:12px;font-weight:600;background:#0a0810;border:.5px solid rgba(168,85,247,0.12);color:#a8a8b0;cursor:pointer;transition:all .15s;letter-spacing:.02em}
.scope-pill:hover{background:#1a1424;color:#fff}
.scope-pill.active{background:rgba(168,85,247,0.18);color:#c4b5fd;border-color:rgba(168,85,247,0.4)}
.insights-sub-view{display:none}
.insights-sub-view.active{display:block}
/* Summary page components */
.purple-hero{background:linear-gradient(135deg,rgba(168,85,247,0.22) 0%,rgba(109,40,217,0.12) 100%);border:.5px solid rgba(168,85,247,0.3);border-radius:24px;padding:32px 36px;margin-bottom:20px;position:relative;overflow:hidden}
.purple-hero::before{content:'';position:absolute;top:-60px;right:-60px;width:200px;height:200px;background:radial-gradient(circle,rgba(168,85,247,0.25),transparent 70%);pointer-events:none}
.ph-label{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,0.5);margin-bottom:12px}
.ph-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap}
.ph-num{font-size:72px;font-weight:200;letter-spacing:-.03em;line-height:1;color:#fff;font-variant-numeric:tabular-nums}
.ph-bd{display:flex;gap:18px;margin-top:16px;flex-wrap:wrap}
.ph-bd-item{font-size:13px;font-weight:600;display:inline-flex;align-items:center;gap:7px;color:rgba(255,255,255,0.85)}
.ph-bd-dot{width:8px;height:8px;border-radius:50%;background:#fff;flex-shrink:0}
.ph-bd-item.passive{opacity:.6}
.ph-bd-item.detractor{opacity:.4}
.ph-side{padding-bottom:14px;text-align:right}
.ph-side-val{font-size:20px;font-weight:700;line-height:1;color:#34d399}
.ph-side-lbl{font-size:11px;opacity:.7;margin-top:6px;font-weight:600;letter-spacing:.06em;color:#fff}
.ph-meta-pill{margin-top:22px;background:rgba(255,255,255,0.08);border-radius:999px;padding:6px 14px;font-size:11px;font-weight:600;color:rgba(255,255,255,0.7);display:inline-block;letter-spacing:.04em}
.ws-cards-row{display:grid;grid-template-columns:1.1fr 1fr;gap:14px;margin-bottom:14px}
.dark-card{background:#0a0810;border:.5px solid rgba(168,85,247,0.15);border-radius:20px;padding:24px 26px}
.dc-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.dc-title{font-size:14px;font-weight:600;color:#fff;letter-spacing:-.005em}
.dc-link{font-size:11px;color:#c4b5fd;font-family:'IBM Plex Mono',monospace;letter-spacing:.1em;text-transform:uppercase;font-weight:600;cursor:pointer}
.dc-link:hover{color:#fff}
.csat-gauge{position:relative;margin:18px 0 4px}
.csat-num{position:absolute;left:50%;top:64%;transform:translate(-50%,-50%);text-align:center}
.csat-num-val{font-size:44px;font-weight:200;letter-spacing:-.03em;line-height:1;color:#fff}
.csat-num-val .pct{font-size:20px;color:#6a6a72}
.csat-num-meta{font-size:10px;color:#a8a8b0;margin-top:4px;font-weight:600;letter-spacing:.06em}
.csat-legend{display:flex;justify-content:center;gap:14px;font-size:12px;color:#a8a8b0;margin-top:10px;font-weight:500;flex-wrap:wrap}
.csat-legend .dot{display:inline-block;width:7px;height:7px;border-radius:50%;margin-right:5px;vertical-align:1px}
.funnel-wrap{margin:18px 0 6px}
.funnel-row{display:grid;grid-template-columns:80px 1fr 48px;align-items:center;gap:12px;margin-bottom:10px}
.funnel-label{font-size:12px;font-weight:600;color:#c4b5fd}
.funnel-bar-bg{height:28px;background:rgba(168,85,247,0.06);border-radius:6px;overflow:hidden}
.funnel-bar{height:100%;border-radius:6px;transition:width .5s ease;background:linear-gradient(90deg,#a855f7,#7c3aed)}
.funnel-bar.alt{background:linear-gradient(90deg,#c084fc,#a855f7)}
.funnel-bar.alt2{background:linear-gradient(90deg,#ddd6fe,#c084fc)}
.funnel-val{font-family:'IBM Plex Mono',monospace;font-size:14px;color:#fff;text-align:right;font-weight:700;font-variant-numeric:tabular-nums}
.kpi-grid-tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:14px 0 20px}
.ren-card{background:var(--bg-elev);border:.5px solid var(--hairline);border-radius:18px;padding:20px 22px;margin:0 0 20px}
.ren-card-hd{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--text-2)}
.ren-card-sub{font-size:11px;font-weight:600;text-transform:none;letter-spacing:0;color:var(--text-3);margin-left:8px}
.ren-loading{font-size:12px;color:var(--text-3);padding:10px 0}
.ren-kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px}
.ren-kpi{text-align:center}
.ren-kpi-val{font-size:24px;font-weight:800;color:var(--text)}
.ren-kpi-lbl{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin-top:2px}
.ren-tiers{margin-top:16px;border-top:.5px solid var(--hairline);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.ren-tier{display:flex;justify-content:space-between;align-items:center;font-size:12px}
.ren-tier-lbl{font-weight:700;color:var(--text-2)}
.ren-tier-val{color:var(--text-3)}
@media(max-width:600px){.ren-kpis{grid-template-columns:1fr 1fr}}
.kpi-tile{background:#0a0810;border:.5px solid rgba(168,85,247,0.12);border-radius:18px;padding:20px 22px;position:relative}
.kpi-tile-icon{position:absolute;top:20px;right:20px;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700}
.kpi-tile-val{font-size:32px;font-weight:300;letter-spacing:-.02em;line-height:1;margin-top:36px;color:#fff;font-variant-numeric:tabular-nums}
.kpi-tile-val .s{font-size:16px;color:#6a6a72;font-weight:500}
.kpi-tile-lbl{font-size:12px;color:#a8a8b0;margin-top:8px;font-weight:600}
.kpi-tile-trend{font-size:11px;margin-top:8px;font-weight:700;display:inline-flex;align-items:center;gap:4px;letter-spacing:.04em}
.kpi-tile-trend.up{color:#34d399}.kpi-tile-trend.down{color:#f87171}
.comments-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:20px}
.comment-card{background:#0a0810;border:.5px solid rgba(168,85,247,0.12);border-radius:18px;padding:22px 24px}
.comment-card.promoter{background:linear-gradient(135deg,rgba(168,85,247,0.1) 0%,rgba(168,85,247,0.02) 100%);border-color:rgba(168,85,247,0.2)}
.comment-card.detractor{background:linear-gradient(135deg,rgba(239,68,68,0.07) 0%,rgba(239,68,68,0.01) 100%);border-color:rgba(239,68,68,0.18)}
.cc-head{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.cc-icon{width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.cc-icon.promoter{background:rgba(168,85,247,0.18);color:#c4b5fd}
.cc-icon.detractor{background:rgba(239,68,68,0.15);color:#fca5a5}
.cc-label{font-family:'IBM Plex Mono',monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;font-weight:700}
.cc-label.promoter{color:#c4b5fd}.cc-label.detractor{color:#fca5a5}
.cc-quote{font-size:14px;line-height:1.55;color:#d4d4dc;font-weight:400;margin-bottom:16px;font-style:italic}
.cc-author{display:flex;align-items:center;gap:10px}
.cc-author-avatar{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;color:#fff;flex-shrink:0}
.cc-author-name{font-size:12px;color:#fff;font-weight:600}
.cc-author-biz{font-size:11px;color:#6a6a72;font-family:'IBM Plex Mono',monospace;letter-spacing:.04em;margin-top:1px}
/* Founders search page */
.ins-fnd-wrap{padding:12px 18px 60px;max-width:720px;margin:0 auto}
.ins-fnd-toolbar{display:flex;gap:8px;margin-bottom:14px;align-items:center;flex-wrap:wrap}
.ins-fnd-search{flex:1;min-width:160px;background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:8px;padding:9px 13px;color:var(--text);font-size:13px;font-family:inherit;outline:none}
.ins-fnd-search:focus{border-color:var(--accent)}
.ins-fnd-search::placeholder{color:var(--mute)}
.ins-fnd-date{background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:8px;padding:9px 13px;color:var(--text);font-size:13px;font-family:inherit;outline:none;cursor:pointer}
.ins-fnd-date:focus{border-color:var(--accent)}
.ins-fnd-meta{font-size:11.5px;color:var(--mute);margin-bottom:10px}
.ins-fnd-grid{display:flex;flex-direction:column;gap:6px}
.ins-fnd-row{display:flex;align-items:center;gap:11px;padding:10px 12px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:9px;cursor:pointer;transition:border-color .12s}
.ins-fnd-row:hover{border-color:rgba(168,85,247,0.4)}
.ins-fnd-avatar{width:34px;height:34px;border-radius:50%;background:var(--bg-2);flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--text-2);overflow:hidden}
.ins-fnd-avatar img{width:100%;height:100%;object-fit:cover}
.ins-fnd-name{font-size:13.5px;font-weight:700;color:var(--text);line-height:1.2}
.ins-fnd-co{font-size:11.5px;color:var(--text-2)}
.ins-fnd-tags{display:flex;gap:4px;margin-top:3px;flex-wrap:wrap}
.ins-fnd-tag{font-size:10px;padding:2px 6px;border-radius:8px;background:var(--bg-2);color:var(--text-3);font-weight:600}
.ins-fnd-rev{font-size:12px;font-weight:700;color:var(--text-2);flex-shrink:0;white-space:nowrap;margin-left:auto}
.ins-fnd-empty{text-align:center;padding:40px 20px;color:var(--mute);font-size:13px}
.ins-founders-wrap{padding:16px 18px;max-width:680px;margin:0 auto}
.ins-founders-search-row{display:flex;gap:8px;margin-bottom:16px}
.ins-founders-q{flex:1;background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:8px;padding:10px 14px;color:var(--text);font-size:14px;font-family:inherit;outline:none;transition:border-color .15s}
.ins-founders-q:focus{border-color:var(--accent)}
.ins-founders-q::placeholder{color:var(--mute)}
.ins-founders-search-btn{background:var(--accent);color:#fff;border:none;border-radius:8px;padding:10px 18px;font-size:13px;font-weight:700;cursor:pointer;letter-spacing:.02em;white-space:nowrap;flex-shrink:0}
.ins-founders-search-btn:disabled{opacity:.45;cursor:not-allowed}
.ins-founders-filters{display:flex;gap:6px;margin-bottom:14px;flex-wrap:wrap}
.ins-founders-filter{background:var(--bg-elev);border:1.5px solid var(--hairline);border-radius:20px;padding:5px 12px;font-size:11.5px;font-weight:600;color:var(--text-2);cursor:pointer;transition:all .12s;white-space:nowrap}
.ins-founders-filter.on{border-color:var(--accent);color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--bg-elev))}
.ins-founders-meta{font-size:11.5px;color:var(--mute);margin-bottom:12px;letter-spacing:.01em}
.ins-founders-results{display:flex;flex-direction:column;gap:8px}
.ins-fr{display:flex;align-items:center;gap:12px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:10px;padding:12px 14px;cursor:pointer;transition:border-color .12s}
.ins-fr:hover{border-color:var(--accent)}
.ins-fr-photo{width:38px;height:38px;border-radius:50%;background:var(--bg-2);flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:700;color:var(--text-2)}
.ins-fr-photo img{width:100%;height:100%;object-fit:cover}
.ins-fr-body{flex:1;min-width:0}
.ins-fr-name{font-size:14px;font-weight:700;color:var(--text);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ins-fr-co{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ins-fr-tags{display:flex;gap:5px;margin-top:4px;flex-wrap:wrap}
.ins-fr-tag{font-size:10.5px;padding:2px 7px;border-radius:10px;background:var(--bg-2);color:var(--text-3);font-weight:600;letter-spacing:.01em;white-space:nowrap}
.ins-fr-tag.notes{background:color-mix(in srgb,#a855f7 15%,var(--bg-2));color:#a855f7}
.ins-fr-right{display:flex;flex-direction:column;align-items:flex-end;gap:3px;flex-shrink:0}
.ins-fr-date{font-size:11px;color:var(--mute);font-weight:600;letter-spacing:.02em;white-space:nowrap}
.ins-fr-rev{font-size:12px;color:var(--text-2);font-weight:700;white-space:nowrap}
.ins-founders-empty{text-align:center;padding:40px 20px;color:var(--mute)}
.ins-founders-empty-icon{font-size:32px;margin-bottom:10px}
.ins-founders-loading{text-align:center;padding:40px 20px;color:var(--mute);font-size:13px}
.ins-founders-stub{display:flex;flex-direction:column;align-items:center;gap:16px;padding:64px 32px;text-align:center}
.ins-founders-stub-icon{font-size:32px;opacity:.3}
.ins-founders-stub-title{font-size:18px;font-weight:700;color:#fff}
.ins-founders-stub-sub{font-size:13px;color:#6a6a72;max-width:360px;line-height:1.5}
/* Responsive */
@media(max-width:700px){
  .ws-cards-row{grid-template-columns:1fr}
  .kpi-grid-tiles{grid-template-columns:1fr 1fr}
  .comments-grid{grid-template-columns:1fr}
  .ph-num{font-size:48px}
}
.page-state-row{padding:2px 0 10px;display:flex;align-items:center}
.arena-scope-bar{display:flex;align-items:center;gap:8px;margin-bottom:18px}

/* ── UNLOCK NEXT ── */
.arena-unlock-next{background:#0a0810;border:2px dashed rgba(168,85,247,.5);border-radius:16px;padding:28px 24px 24px;margin-top:24px;text-align:center}
.aun-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:700;letter-spacing:.22em;color:#fbbf24;margin-bottom:12px}
.aun-title{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:32px;color:#fff;letter-spacing:.06em;line-height:1.1;margin-bottom:8px}
.aun-desc{font-size:12px;color:rgba(255,255,255,.45);letter-spacing:.04em;margin-bottom:14px}
.aun-progress{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-family:'IBM Plex Mono',monospace;font-size:11px;color:rgba(255,255,255,.55)}
.aun-dot{color:rgba(168,85,247,.5)}
@media(max-width:600px){.aun-title{font-size:22px}.aun-progress{font-size:10px}}

/* ── BADGE LEGEND ── */
.arena-badge-legend{margin-top:28px;padding:20px 0 4px}
.abl-toggle{list-style:none;display:flex;align-items:center;justify-content:space-between;cursor:pointer;padding:14px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:10px;margin-bottom:0;gap:12px}
.abl-toggle::-webkit-details-marker{display:none}
.arena-badge-legend[open] .abl-toggle{border-radius:10px 10px 0 0;margin-bottom:0}
.arena-badge-legend .abl-grid{border:1px solid rgba(255,255,255,.1);border-top:none;border-radius:0 0 10px 10px;padding:12px;gap:0}
.abl-toggle-label{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:15px;letter-spacing:.16em;color:#fbbf24}
.abl-toggle-caret{color:rgba(255,255,255,.4);font-size:14px;transition:transform .2s;flex-shrink:0}
.arena-badge-legend[open] .abl-toggle-caret{transform:rotate(180deg)}
.abl-grid{display:flex;flex-direction:column;gap:10px}
.abl-item{display:flex;align-items:flex-start;gap:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:10px;padding:12px 14px}
.abl-icon{font-size:20px;flex-shrink:0;line-height:1;margin-top:1px}
.abl-body{min-width:0}
.abl-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:13px;color:#fff;letter-spacing:.1em;line-height:1;margin-bottom:4px}
.abl-how{font-size:11px;color:rgba(255,255,255,.4);line-height:1.5}
.arena-profile-nav{display:flex;align-items:center;justify-content:space-between;padding:4px 0 20px}
.arena-profile-back-btn{display:inline-flex;align-items:center;gap:7px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:14px;letter-spacing:.16em;padding:8px 16px;border-radius:8px;cursor:pointer;transition:background .12s}
.arena-profile-back-btn:hover{background:rgba(255,255,255,.12);border-color:rgba(168,85,247,.4)}
.arena-profile-back-btn svg{opacity:.7}
.arena-profile-eyebrow{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.22em;color:#a855f7;text-transform:uppercase}
.arena-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;margin-bottom:16px}
.arena-kpi-tile{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:18px 16px}
.arena-kpi-lbl{font-family:'IBM Plex Mono',monospace;font-size:8.5px;font-weight:700;letter-spacing:.2em;color:#6a6a72;text-transform:uppercase;margin-bottom:8px}
.arena-kpi-val{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:38px;color:#fff;line-height:1}
.arena-kpi-sub{font-family:'IBM Plex Mono',monospace;font-size:9px;color:#9ca3af;letter-spacing:.06em;margin-top:5px}
.arena-scope-sel,.arena-scope-sub{background:#1a1330;border:1.5px solid rgba(168,85,247,.3);color:#fff;font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:15px;letter-spacing:.1em;padding:8px 14px;border-radius:8px;cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23a855f7'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;padding-right:28px}
.arena-scope-sel:focus,.arena-scope-sub:focus{outline:none;border-color:rgba(168,85,247,.7)}
.page-header-compact{margin-bottom:12px;padding-top:0}
.page-wk-line{font-family:'IBM Plex Mono',monospace;font-size:11.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6a6a72;display:flex;align-items:center;gap:8px;margin-bottom:6px}
.page-wk-date{color:#a8a8b0;letter-spacing:.12em}
.page-status-label{font-family:'IBM Plex Mono',monospace;font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#6a6a72;margin-right:8px;flex-shrink:0}
.state-inline{display:inline-flex;align-items:center;gap:7px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}
.state-inline.prepping{color:#fbbf24}
.state-inline.day1,.state-inline.day2{color:#34d399}
.state-inline .live-pulse{flex-shrink:0}
.state-inline.prepping .live-pulse{background:#fbbf24;animation:prepPulse 2.5s ease-in-out infinite}
@keyframes prepPulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(251,191,36,0.5)}50%{opacity:.6;box-shadow:0 0 0 6px rgba(251,191,36,0)}}
.state-inline.day1 .live-pulse,.state-inline.day2 .live-pulse{background:#34d399;animation:livePulse 1.2s ease-in-out infinite}
@keyframes livePulse{0%,100%{opacity:1;box-shadow:0 0 0 0 rgba(52,211,153,0.6)}50%{opacity:.7;box-shadow:0 0 0 8px rgba(52,211,153,0)}}
.live-status-row { display: none; } /* pill now lives inside live-sub-tabs */
.live-pill-spacer { flex: 1; min-width: 8px; }
.live-status-pill {
  display: inline-flex; align-items: center; gap: 6px;
  background: rgba(168,85,247,0.12);
  border: 0.5px solid rgba(168,85,247,0.3);
  border-radius: 999px;
  padding: 5px 12px;
  font-size: 11px; font-weight: 600;
  color: #c4b5fd;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  flex-shrink: 0;
  white-space: nowrap;
}
.live-pulse { width: 7px; height: 7px; border-radius: 50%; background: #a855f7; animation: pulse 1.5s infinite; }
@keyframes pulse { 0%,100% { opacity: 1; box-shadow: 0 0 0 0 rgba(168,85,247,0.5); } 50% { opacity: 0.5; box-shadow: 0 0 0 8px rgba(168,85,247,0); } }
/* ROOM COMPOSITION BAR */
.room-composition {
  background: linear-gradient(135deg, rgba(168,85,247,0.08) 0%, rgba(168,85,247,0.02) 100%);
  border: 0.5px solid rgba(168,85,247,0.25);
  border-radius: 18px;
  padding: 24px 28px;
  margin-bottom: 14px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 32px;
  align-items: center;
}
.rc-label {
  font-family: 'Inter', sans-serif;
  font-size: 16px;
  font-weight: 800;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1.1;
}
.rc-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 24px;
}
.rc-stat {
  display: flex; flex-direction: column; gap: 4px;
}
.rc-stat-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6a6a72;
  font-weight: 600;
}
.rc-stat-val {
  font-size: 22px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.rc-stat-val .accent { color: #c4b5fd; }
.rc-stat-val .unit { font-size: 13px; font-weight: 600; color: #a8a8b0; margin-left: 4px; }
/* SEARCH + CHIPS */
.search-bar {
  background: #0a0810;
  border-radius: 14px;
  padding: 14px 20px;
  display: flex; align-items: center; gap: 14px;
  border: 0.5px solid rgba(168,85,247,0.12);
  margin-bottom: 18px;
  transition: border-color 0.15s;
}
.search-bar:hover, .search-bar:focus-within { border-color: rgba(168,85,247,0.3); }
.search-icon { color: #6a6a72; font-size: 18px; }
.search-text { color: #4a4a52; font-size: 15px; font-weight: 400; flex: 1; }
.search-shortcut {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #6a6a72;
  background: #161220;
  padding: 5px 10px;
  border-radius: 6px;
  border: 0.5px solid rgba(168,85,247,0.12);
}
.chips { display: flex; gap: 8px; margin-bottom: 24px; flex-wrap: wrap; align-items: center; }
.chip {
  padding: 8px 16px;
  border-radius: 999px;
  font-size: 12px;
  color: #a8a8b0;
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.12);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.15s;
  display: inline-flex; align-items: center; gap: 7px;
  letter-spacing: 0.02em;
}
.chip:hover { background: #1a1424; color: #fff; border-color: rgba(168,85,247,0.3); }
.chip.active {
  background: rgba(168,85,247,0.18);
  color: #c4b5fd;
  border-color: rgba(168,85,247,0.4);
}
.chip-dot { width: 6px; height: 6px; border-radius: 50%; }
.chip-ct { font-family: 'IBM Plex Mono', monospace; font-size: 10px; opacity: 0.7; }
.chip-cog {
  width: 32px; height: 32px;
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.12);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #6a6a72;
  cursor: pointer;
}
/* ADVISOR GROUP HEADER */
.advisor-group {
  background: #0a0810;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 14px;
  padding: 16px 22px;
  display: flex; align-items: center; gap: 16px;
  margin-bottom: 16px;
}
.ag-chevron { color: #6a6a72; font-size: 14px; }
.ag-avatar {
  width: 38px; height: 38px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px; font-weight: 700; color: #fff;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
}
.ag-info { flex: 1; }
.ag-name { font-size: 17px; font-weight: 700; color: #fff; }
.ag-stats { font-size: 12px; color: #6a6a72; margin-top: 3px; font-weight: 500; }
.ag-count {
  background: #161220;
  border: 0.5px solid rgba(168,85,247,0.12);
  border-radius: 999px;
  padding: 6px 14px;
  font-size: 12px;
  color: #a8a8b0;
  font-weight: 600;
}
/* FOUNDER CARDS (matches existing pattern, elevated) */
.founder-list { display: flex; flex-direction: column; gap: 14px; }
.founder-card {
  background: #08070b;
  border: 1.5px solid rgba(168,85,247,0.1);
  border-radius: 18px;
  padding: 20px;
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 22px;
  position: relative;
  transition: all 0.2s;
  cursor: pointer;
}
.founder-card:hover { border-color: rgba(168,85,247,0.4); transform: translateY(-1px); }
.founder-card.active {
  border-color: #fbbf24;
  box-shadow: 0 0 0 0.5px rgba(251,191,36,0.3), 0 0 32px rgba(251,191,36,0.08);
}
.founder-card.companion-linked {
  background: linear-gradient(135deg, rgba(168,85,247,0.04) 0%, transparent 100%);
}
/* photo */
.fc-photo {
  width: 140px; height: 140px;
  border-radius: 14px;
  overflow: hidden;
  position: relative;
  background: linear-gradient(135deg, #1a1424 0%, #0f0d14 100%);
  border: 0.5px solid rgba(168,85,247,0.1);
}
.fc-photo-img {
  width: 100%; height: 100%;
  background: linear-gradient(135deg, #2a1f3d 0%, #1a1424 100%);
  display: flex; align-items: center; justify-content: center;
  font-size: 36px; font-weight: 700; color: #c4b5fd;
}
.fc-star {
  position: absolute; top: 10px; left: 10px;
  width: 32px; height: 32px;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(8px);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #a8a8b0;
  cursor: pointer;
  font-size: 14px;
  transition: color 0.15s;
}
.fc-star:hover { color: #fbbf24; }
.fc-star.starred { color: #fbbf24; }
.fc-camera {
  position: absolute; bottom: 10px; left: 10px;
  width: 28px; height: 28px;
  background: rgba(0,0,0,0.6);
  backdrop-filter: blur(8px);
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #a8a8b0;
  cursor: pointer;
  font-size: 12px;
}
.fc-online {
  position: absolute; top: 10px; right: 10px;
  width: 12px; height: 12px;
  border-radius: 50%;
  background: #34d399;
  border: 2px solid #08070b;
}
/* content */
.fc-content { display: flex; flex-direction: column; min-width: 0; }
.fc-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; margin-bottom: 4px; }
.fc-name { font-size: 22px; font-weight: 700; color: #fff; letter-spacing: -0.01em; }
.fc-actions { display: flex; align-items: center; gap: 8px; }
.fc-ai-btn {
  width: 38px; height: 38px;
  border-radius: 50%;
  background: rgba(168,85,247,0.12);
  border: 0.5px solid rgba(168,85,247,0.3);
  display: flex; align-items: center; justify-content: center;
  color: #c4b5fd;
  cursor: pointer;
  font-size: 16px;
  transition: all 0.15s;
}
.fc-ai-btn:hover { background: rgba(168,85,247,0.25); color: #fff; }
.fc-edit-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: transparent;
  border: 0.5px solid rgba(168,85,247,0.12);
  display: flex; align-items: center; justify-content: center;
  color: #6a6a72;
  cursor: pointer;
  font-size: 13px;
}
.fc-edit-btn:hover { color: #fff; border-color: rgba(168,85,247,0.3); }
.fc-title { font-size: 13px; color: #a8a8b0; font-weight: 500; margin-bottom: 12px; }
.fc-tags { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 14px; }
.fc-industry {
  font-size: 12px; color: #a8a8b0; font-weight: 500;
}
.fc-divider { color: #2a2a32; }
.fc-companion-pill {
  background: rgba(251,146,60,0.12);
  border: 0.5px solid rgba(251,146,60,0.35);
  color: #fdba74;
  padding: 5px 11px;
  border-radius: 8px;
  font-size: 12px; font-weight: 600;
  display: inline-flex; align-items: center; gap: 5px;
  cursor: pointer;
}
.fc-companion-pill:hover { background: rgba(251,146,60,0.2); }
.fc-advisor-pill {
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.18);
  border-radius: 999px;
  padding: 4px 12px 4px 4px;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 600; color: #fff;
}
.fc-advisor-avatar {
  width: 22px; height: 22px; border-radius: 50%;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  display: flex; align-items: center; justify-content: center;
  font-size: 9px; font-weight: 700;
}
.fc-rt-pill {
  background: rgba(168,85,247,0.12);
  border: 0.5px solid rgba(168,85,247,0.35);
  color: #c4b5fd;
  padding: 5px 11px;
  border-radius: 7px;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.04em;
  display: inline-flex; align-items: center; gap: 5px;
}
.fc-rt-dot { width: 5px; height: 5px; border-radius: 50%; background: #a855f7; }
.fc-wows-pill {
  background: rgba(239,68,68,0.12);
  border: 0.5px solid rgba(239,68,68,0.35);
  color: #fca5a5;
  padding: 5px 11px;
  border-radius: 7px;
  font-size: 12px; font-weight: 700;
  letter-spacing: 0.04em;
}
.fc-wows-pill.complete {
  background: rgba(52,211,153,0.12);
  border-color: rgba(52,211,153,0.35);
  color: #6ee7b7;
}
.fc-country {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12px; color: #a8a8b0; font-weight: 500;
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 7px;
  padding: 4px 11px;
  margin-bottom: 14px;
  align-self: flex-start;
}
.fc-stats-row {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  padding-top: 16px;
  border-top: 0.5px solid rgba(168,85,247,0.08);
  margin-top: auto;
}
.fc-stat { display: flex; flex-direction: column; align-items: center; padding: 0 8px; }
.fc-stat-val {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 18px;
  font-weight: 700;
  color: #fff;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.fc-stat-val.accent { color: #c4b5fd; }
.fc-stat-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.18em;
  color: #6a6a72;
  text-transform: uppercase;
  margin-top: 4px;
}
.fc-companion-link {
  margin-top: 14px;
  background: rgba(168,85,247,0.08);
  border: 0.5px solid rgba(168,85,247,0.2);
  border-radius: 999px;
  padding: 7px 14px;
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12px; font-weight: 600; color: #c4b5fd;
  cursor: pointer;
  align-self: flex-start;
}
.fc-companion-link:hover { background: rgba(168,85,247,0.15); }
/* ===== WORKSHOPS (POST-EVENT) TAB ===== */
.ws-nav-bar { display: flex; justify-content: space-between; align-items: center; margin-bottom: 22px; }
.ws-selector { display: flex; align-items: center; gap: 12px; }
.ws-pill {
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.2);
  border-radius: 999px;
  padding: 10px 18px;
  font-size: 13px; color: #fff; font-weight: 600;
  cursor: pointer;
  display: inline-flex; align-items: center; gap: 8px;
}
.ws-pill:hover { background: #1a1424; border-color: rgba(168,85,247,0.4); }
.ws-arrows { display: flex; gap: 8px; }
.ws-arrow {
  width: 38px; height: 38px; border-radius: 50%;
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.12);
  display: flex; align-items: center; justify-content: center;
  color: #a8a8b0; font-size: 14px;
  cursor: pointer;
}
.ws-arrow:hover { background: #1a1424; color: #fff; border-color: rgba(168,85,247,0.3); }
/* bold purple hero - replaces lime green */
.purple-hero {
  background: linear-gradient(135deg, #a855f7 0%, #7c3aed 100%);
  color: #fff;
  border-radius: 28px;
  padding: 36px 40px;
  position: relative;
  overflow: hidden;
  margin-bottom: 16px;
}
.purple-hero::before {
  content: '';
  position: absolute;
  top: -120px; right: -120px;
  width: 400px; height: 400px;
  background: radial-gradient(circle, rgba(255,255,255,0.15) 0%, transparent 60%);
  pointer-events: none;
}
.ph-action {
  position: absolute; top: 24px; right: 24px;
  width: 46px; height: 46px; border-radius: 50%;
  background: rgba(0,0,0,0.4);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 22px;
  cursor: pointer;
  transition: transform 0.2s;
}
.ph-action:hover { transform: scale(1.08); background: rgba(0,0,0,0.6); }
.ph-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px; letter-spacing: 0.22em; text-transform: uppercase;
  font-weight: 700; opacity: 0.7;
}
.ph-row { display: flex; align-items: flex-end; justify-content: space-between; gap: 32px; }
.ph-num {
  font-size: 144px;
  font-weight: 200;
  letter-spacing: -0.05em;
  line-height: 0.82;
  margin-top: 14px;
  font-variant-numeric: tabular-nums;
}
.ph-bd { display: flex; gap: 20px; margin-top: 18px; }
.ph-bd-item { font-size: 13px; font-weight: 600; display: inline-flex; align-items: center; gap: 7px; }
.ph-bd-dot { width: 8px; height: 8px; border-radius: 50%; background: #fff; }
.ph-bd-item.passive .ph-bd-dot { background: rgba(255,255,255,0.5); }
.ph-bd-item.detractor .ph-bd-dot { background: rgba(255,255,255,0.25); }
.ph-bd-item.passive { opacity: 0.7; }
.ph-bd-item.detractor { opacity: 0.55; }
.ph-side { padding-bottom: 18px; text-align: right; }
.ph-side-val { font-size: 22px; font-weight: 700; line-height: 1; }
.ph-side-lbl { font-size: 11px; opacity: 0.7; margin-top: 6px; font-weight: 600; letter-spacing: 0.06em; }
.ph-meta-pill {
  display: inline-flex; align-items: center; gap: 8px;
  background: rgba(0,0,0,0.3);
  border: 0.5px solid rgba(255,255,255,0.15);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 12px; font-weight: 600;
  margin-top: 22px;
}
.ws-cards-row { display: grid; grid-template-columns: 1.1fr 1fr; gap: 14px; margin-bottom: 14px; }
.dark-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 22px;
  padding: 28px;
}
.dc-head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 8px; }
.dc-title { font-size: 14px; font-weight: 600; color: #fff; letter-spacing: -0.005em; }
.dc-link { font-size: 11px; color: #c4b5fd; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; cursor: pointer; }
.dc-link:hover { color: #fff; }
.csat-gauge { position: relative; margin: 18px 0 4px; }
.csat-num { position: absolute; left: 50%; top: 64%; transform: translate(-50%,-50%); text-align: center; }
.csat-num-val { font-size: 52px; font-weight: 200; letter-spacing: -0.03em; line-height: 1; color: #fff; }
.csat-num-val .pct { font-size: 22px; color: #6a6a72; }
.csat-num-meta { font-size: 11px; color: #a8a8b0; margin-top: 4px; font-weight: 600; letter-spacing: 0.06em; }
.csat-legend { display: flex; justify-content: center; gap: 18px; font-size: 12px; color: #a8a8b0; margin-top: 12px; font-weight: 500; }
.csat-legend .dot { display: inline-block; width: 8px; height: 8px; border-radius: 50%; margin-right: 6px; vertical-align: 1px; }
.funnel-wrap { margin: 22px 0 6px; }
.funnel-row { display: grid; grid-template-columns: 90px 1fr 56px; align-items: center; gap: 14px; margin-bottom: 12px; }
.funnel-label { font-size: 13px; font-weight: 600; color: #c4b5fd; }
.funnel-bar-bg { height: 32px; background: rgba(168,85,247,0.06); border-radius: 8px; overflow: hidden; position: relative; }
.funnel-bar { height: 100%; border-radius: 8px; transition: width 0.6s ease; background: linear-gradient(90deg, #a855f7, #7c3aed); }
.funnel-bar.alt { background: linear-gradient(90deg, #c084fc, #a855f7); }
.funnel-bar.alt2 { background: linear-gradient(90deg, #ddd6fe, #c084fc); }
.funnel-val { font-family: 'IBM Plex Mono', monospace; font-size: 16px; color: #fff; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; }
/* KPI tiles */
.kpi-grid-tiles { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 32px; }
.kpi-tile {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 18px;
  padding: 22px;
  position: relative;
  overflow: hidden;
}
.kpi-tile-icon {
  position: absolute; top: 18px; right: 18px;
  width: 34px; height: 34px; border-radius: 10px;
  display: flex; align-items: center; justify-content: center;
  font-size: 16px;
}
.kpi-tile-val { font-size: 36px; font-weight: 300; letter-spacing: -0.02em; line-height: 1; margin-top: 40px; color: #fff; font-variant-numeric: tabular-nums; }
.kpi-tile-val .s { font-size: 18px; color: #6a6a72; font-weight: 500; }
.kpi-tile-lbl { font-size: 12px; color: #a8a8b0; margin-top: 8px; font-weight: 600; }
.kpi-tile-trend { font-size: 11px; margin-top: 10px; font-weight: 700; display: inline-flex; align-items: center; gap: 4px; letter-spacing: 0.04em; }
.kpi-tile-trend.up { color: #34d399; }
.kpi-tile-trend.down { color: #f87171; }
/* SECTION HD */
.section-hd { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 18px; }
.section-hd h3 {
  font-size: 18px;
  font-weight: 800;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: #fff;
}
.section-hd h3 .ct { color: #6a6a72; font-weight: 600; margin-left: 10px; font-size: 14px; letter-spacing: 0.04em; }
.section-hd .more { font-size: 12px; color: #c4b5fd; cursor: pointer; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.1em; text-transform: uppercase; font-weight: 600; }
.section-hd .more:hover { color: #fff; }
/* advisor list */
.advisor-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 16px;
}
.adv-row { display: grid; grid-template-columns: 32px 44px 1fr 220px 70px 32px; gap: 18px; align-items: center; padding: 12px 0; }
.adv-rank { font-family: 'IBM Plex Mono', monospace; font-size: 12px; color: #6a6a72; letter-spacing: 0.04em; font-weight: 600; }
.adv-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #fff; font-weight: 700; }
.adv-name { font-size: 15px; font-weight: 600; color: #fff; }
.adv-name-sub { font-size: 11px; color: #6a6a72; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.06em; margin-top: 3px; font-weight: 500; }
.adv-bar-bg { height: 8px; background: rgba(168,85,247,0.08); border-radius: 4px; overflow: hidden; }
.adv-bar { height: 100%; border-radius: 4px; background: linear-gradient(90deg, #a855f7, #7c3aed); }
.adv-pct { font-family: 'IBM Plex Mono', monospace; font-size: 16px; text-align: right; font-weight: 700; font-variant-numeric: tabular-nums; color: #fff; }
.adv-medal { font-size: 18px; text-align: center; }
/* comments */
.comments-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.comment-card {
  border-radius: 22px;
  padding: 28px;
  border: 0.5px solid;
  position: relative;
  overflow: hidden;
}
.comment-card.promoter { background: linear-gradient(135deg, rgba(168,85,247,0.12) 0%, rgba(168,85,247,0.02) 100%); border-color: rgba(168,85,247,0.25); }
.comment-card.detractor { background: linear-gradient(135deg, rgba(239,68,68,0.08) 0%, rgba(239,68,68,0.02) 100%); border-color: rgba(239,68,68,0.2); }
.cc-head { display: flex; align-items: center; gap: 10px; margin-bottom: 18px; }
.cc-icon { width: 36px; height: 36px; border-radius: 10px; display: flex; align-items: center; justify-content: center; font-size: 16px; }
.cc-icon.promoter { background: rgba(168,85,247,0.18); color: #c4b5fd; }
.cc-icon.detractor { background: rgba(239,68,68,0.15); color: #fca5a5; }
.cc-label { font-family: 'IBM Plex Mono', monospace; font-size: 11px; letter-spacing: 0.18em; text-transform: uppercase; font-weight: 700; }
.cc-label.promoter { color: #c4b5fd; }
.cc-label.detractor { color: #fca5a5; }
.cc-quote { font-size: 15px; line-height: 1.55; color: #d4d4dc; font-weight: 400; margin-bottom: 18px; font-style: italic; }
.cc-author { display: flex; align-items: center; gap: 12px; }
.cc-author-avatar { width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #fff; }
.cc-author-name { font-size: 13px; color: #fff; font-weight: 600; }
.cc-author-biz { font-size: 11px; color: #6a6a72; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.06em; margin-top: 2px; }
/* ===== PIPELINE TAB ===== */
.pipeline-row { display: grid; grid-template-columns: 1.4fr 1fr; gap: 14px; margin-bottom: 14px; }
.cal-grid { display: grid; grid-template-columns: repeat(7, 1fr); gap: 8px; margin-top: 18px; }
.cal-day { text-align: center; }
.cal-day-label { font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: #6a6a72; letter-spacing: 0.16em; font-weight: 600; }
.cal-day.today .cal-day-label { color: #c4b5fd; font-weight: 700; }
.cal-cell { margin-top: 8px; aspect-ratio: 1; border-radius: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 6px; cursor: pointer; transition: all 0.15s; }
.cal-cell:hover { transform: scale(1.04); }
.cal-cell.today { background: #a855f7; color: #fff; box-shadow: 0 4px 16px rgba(168,85,247,0.4); }
.cal-cell.intensity-0 { background: rgba(168,85,247,0.04); color: #4a4a52; }
.cal-cell.intensity-1 { background: rgba(168,85,247,0.15); color: #c4b5fd; }
.cal-cell.intensity-2 { background: rgba(168,85,247,0.28); color: #ddd6fe; }
.cal-cell.intensity-3 { background: rgba(168,85,247,0.5); color: #fff; }
.cal-cell.intensity-4 { background: rgba(168,85,247,0.8); color: #fff; }
.cal-num { font-size: 20px; font-weight: 700; font-variant-numeric: tabular-nums; }
.cal-mini { font-size: 9px; font-family: 'IBM Plex Mono', monospace; letter-spacing: 0.06em; margin-top: 2px; opacity: 0.85; font-weight: 600; }
.donut-wrap { display: flex; align-items: center; gap: 24px; margin-top: 14px; flex: 1; }
.donut-svg { flex-shrink: 0; }
.donut-legend { flex: 1; display: flex; flex-direction: column; gap: 14px; }
.donut-item { display: flex; align-items: center; gap: 10px; }
.donut-color { width: 12px; height: 12px; border-radius: 4px; flex-shrink: 0; }
.donut-name { font-size: 13px; color: #d4d4dc; flex: 1; font-weight: 500; }
.donut-pct { font-family: 'IBM Plex Mono', monospace; font-size: 13px; font-weight: 700; color: #fff; font-variant-numeric: tabular-nums; }
.pipe-list { background: #08070b; border: 0.5px solid rgba(168,85,247,0.1); border-radius: 22px; padding: 28px; }
.pipe-row { display: grid; grid-template-columns: 44px 1fr auto auto; gap: 16px; align-items: center; padding: 14px 0; border-bottom: 0.5px solid rgba(168,85,247,0.05); }
.pipe-row:last-child { border-bottom: none; }
.pipe-avatar { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 13px; color: #fff; font-weight: 700; }
.pipe-name { font-size: 15px; font-weight: 600; color: #fff; }
.pipe-meta { font-size: 12px; color: #6a6a72; margin-top: 3px; display: flex; align-items: center; gap: 8px; font-weight: 500; }
.pipe-stage { padding: 4px 9px; border-radius: 6px; font-size: 10px; font-weight: 700; letter-spacing: 0.06em; }
.pipe-stage.l2 { background: rgba(168,85,247,0.18); color: #c4b5fd; }
.pipe-stage.l3 { background: rgba(124,58,237,0.25); color: #ddd6fe; }
.pipe-val { font-family: 'IBM Plex Mono', monospace; font-size: 18px; font-weight: 700; font-variant-numeric: tabular-nums; color: #fff; }
.pipe-time { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #6a6a72; letter-spacing: 0.08em; padding-left: 14px; border-left: 0.5px solid rgba(168,85,247,0.1); font-weight: 600; }
/* ===== ARENA (unchanged) ===== */
#view-arena { padding: 0; margin: 0 -48px; }
.arena-container { background: radial-gradient(ellipse 80% 50% at 50% 0%, #6d28d9 0%, transparent 70%), radial-gradient(ellipse at top, #4c1d95 0%, #2e1065 38%, #1a0a3e 100%); padding: 80px 48px 100px; position: relative; overflow: hidden; }
.arena-dots { position: absolute; inset: 0; background-image: radial-gradient(circle at 1px 1px, rgba(255,255,255,0.18) 1px, transparent 0); background-size: 18px 18px; opacity: 0.5; pointer-events: none; mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%); -webkit-mask-image: radial-gradient(ellipse at center, #000 30%, transparent 80%); }
.arena-rays { position: absolute; top: -200px; left: 50%; transform: translateX(-50%); width: 1400px; height: 1400px; background: conic-gradient(from 0deg, transparent 0deg, rgba(255,255,255,0.04) 4deg, transparent 8deg, rgba(255,255,255,0.04) 12deg, transparent 16deg, rgba(255,255,255,0.04) 20deg, transparent 24deg); pointer-events: none; opacity: 0.7; }
.arena-content { position: relative; max-width: 1200px; margin: 0 auto; }
.arena-title { text-align: center; margin-bottom: 48px; position: relative; }
.arena-bigtitle {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 144px;
  letter-spacing: 0.02em;
  line-height: 0.92;
  color: #fff;
  text-shadow:
    0 3px 0 #fbbf24,
    0 5px 0 #f59e0b,
    4px 9px 0 #b45309,
    6px 12px 0 #000,
    10px 16px 0 rgba(0,0,0,0.45);
  display: inline-block;
  position: relative;
  padding: 0 80px;
  max-width: 100%;
  box-sizing: border-box;
  white-space: nowrap;
}
.arena-bigtitle::before,
.arena-bigtitle::after {
  content: '★';
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 64px;
  color: #fbbf24;
  line-height: 1;
  text-shadow: 3px 3px 0 #b45309, 5px 5px 0 #000;
  animation: arenaStar 3s ease-in-out infinite;
}
.arena-bigtitle::before { left: 0; }
.arena-bigtitle::after { right: 0; animation-delay: 1.5s; }
@keyframes arenaStar {
  0%, 100% { transform: translateY(-50%) rotate(0deg) scale(1); }
  50% { transform: translateY(-50%) rotate(15deg) scale(1.12); }
}
.arena-subtitle {
  color: #fbbf24;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  margin-top: 22px;
  font-weight: 700;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  text-shadow: 2px 2px 0 #000;
}
.arena-subtitle .full { display: inline; }
.arena-subtitle .short { display: none; }
.champion-card { background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%); border-radius: 28px; padding: 36px 40px; border: 5px solid #000; box-shadow: 10px 10px 0 #000; margin-bottom: 36px; position: relative; }
.champion-badge { position: absolute; top: -22px; right: 32px; background: #000; color: #fbbf24; font-family: 'Bebas Neue'; font-size: 18px; letter-spacing: 0.24em; padding: 8px 22px; border-radius: 999px; border: 4px solid #fbbf24; }
.champion-row { display: flex; align-items: center; gap: 28px; }
.champion-avatar { width: 90px; height: 90px; border-radius: 50%; background: #000; color: #fbbf24; display: flex; align-items: center; justify-content: center; font-family: 'Bebas Neue'; font-size: 40px; border: 5px solid #000; flex-shrink: 0; }
.champion-info { flex: 1; }
.champion-name { font-family: 'Bebas Neue'; font-size: 52px; color: #000; line-height: 1; letter-spacing: 0.02em; }
.champion-nick { font-size: 15px; color: #000; opacity: 0.75; margin-top: 6px; font-weight: 600; letter-spacing: 0.03em; }
.champion-stat { text-align: right; }
.champion-pct { font-family: 'Bebas Neue'; font-size: 84px; color: #000; line-height: 1; }
.champion-pct .small { font-size: 36px; }
.champion-ratings { font-size: 12px; color: #000; opacity: 0.75; font-weight: 700; letter-spacing: 0.08em; }
.champion-badges { display: flex; gap: 10px; margin-top: 24px; flex-wrap: wrap; }
.champion-tag { background: #000; color: #fbbf24; font-size: 13px; padding: 7px 14px; border-radius: 8px; font-weight: 700; letter-spacing: 0.03em; }
.podium-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 48px; }
.podium-card { background: #fff; border-radius: 22px; border: 4px solid #000; box-shadow: 7px 7px 0 #000; padding: 28px 26px; position: relative; }
.podium-medal-tag { position: absolute; top: -16px; left: 24px; font-family: 'Bebas Neue'; font-size: 16px; padding: 6px 16px; border-radius: 10px; border: 4px solid #000; letter-spacing: 0.06em; }
.podium-medal-tag.silver { background: #d4d4d8; color: #000; }
.podium-medal-tag.bronze { background: #cd7f32; color: #fff; }
.podium-name { font-family: 'Bebas Neue'; font-size: 38px; color: #000; line-height: 1; margin-top: 14px; letter-spacing: 0.02em; }
.podium-nick { font-size: 12px; color: #555; margin-top: 6px; font-weight: 600; letter-spacing: 0.03em; }
.podium-bottom { display: flex; justify-content: space-between; align-items: flex-end; margin-top: 24px; }
.podium-pct { font-family: 'Bebas Neue'; font-size: 56px; color: #000; line-height: 1; }
.fire-tag { background: #ef4444; color: #fff; font-size: 12px; padding: 6px 11px; border-radius: 7px; font-weight: 700; letter-spacing: 0.04em; }
.climb-tag { background: #10b981; color: #fff; font-size: 12px; padding: 6px 11px; border-radius: 7px; font-weight: 700; letter-spacing: 0.04em; }
.challengers-label { font-family: 'Bebas Neue'; color: #c4b5fd; font-size: 26px; letter-spacing: 0.22em; margin-bottom: 22px; text-shadow: 3px 3px 0 #000; }
.challenger-list { display: flex; flex-direction: column; gap: 14px; margin-bottom: 44px; }
.challenger-card { background: rgba(255,255,255,0.98); border-radius: 18px; border: 3px solid #000; box-shadow: 5px 5px 0 #000; padding: 18px 24px; display: grid; grid-template-columns: 60px 1fr auto auto; gap: 20px; align-items: center; transition: transform 0.15s; cursor: pointer; }
.challenger-card:hover { transform: translate(-2px, -2px); box-shadow: 7px 7px 0 #000; }
.challenger-rank { font-family: 'Bebas Neue'; font-size: 36px; color: #000; line-height: 1; }
.challenger-name-row { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.challenger-name { font-family: 'Bebas Neue'; font-size: 26px; color: #000; line-height: 1; letter-spacing: 0.02em; }
.challenger-nick { font-size: 11px; color: #666; margin-top: 5px; font-weight: 600; letter-spacing: 0.03em; }
.challenger-medal { font-size: 26px; }
.challenger-pct { font-family: 'Bebas Neue'; font-size: 36px; color: #000; line-height: 1; }
.fire-mini { background: #ef4444; color: #fff; font-size: 11px; padding: 4px 9px; border-radius: 5px; font-weight: 700; letter-spacing: 0.04em; }
.fire-mini.amber { background: #fbbf24; color: #000; }
.unlock-card { background: rgba(0,0,0,0.55); border: 3px dashed #a855f7; border-radius: 22px; padding: 32px; text-align: center; }
.unlock-label { font-family: 'Bebas Neue'; color: #fbbf24; font-size: 18px; letter-spacing: 0.28em; }
.unlock-title { font-family: 'Bebas Neue'; color: #fff; font-size: 44px; letter-spacing: 0.05em; margin-top: 10px; text-shadow: 4px 4px 0 #000; }
.unlock-progress { font-size: 13px; color: #c4b5fd; margin-top: 14px; font-weight: 500; }
/* ===== BELL NOTIFICATION ===== */
.bell-wrapper { position: relative; }
.bell-btn-wrap {
  position: relative;
}
.bell-badge {
  position: absolute;
  top: -3px; right: -3px;
  background: #a855f7;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  padding: 2px 5px;
  border-radius: 999px;
  border: 2px solid #000;
  font-family: 'IBM Plex Mono', monospace;
  min-width: 18px;
  text-align: center;
  letter-spacing: 0;
}
.bell-btn-wrap.tomorrow .bell-badge {
  background: #fbbf24;
  color: #000;
  animation: bellPulse 2s infinite;
}
@keyframes bellPulse {
  0%,100% { box-shadow: 0 0 0 0 rgba(251,191,36,0.5); }
  50% { box-shadow: 0 0 0 6px rgba(251,191,36,0); }
}
.bell-dropdown {
  position: absolute;
  top: 52px;
  right: 0;
  width: 380px;
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.25);
  border-radius: 16px;
  box-shadow: 0 24px 48px rgba(0,0,0,0.6), 0 0 0 0.5px rgba(168,85,247,0.1);
  z-index: 50;
  display: none;
  overflow: hidden;
}
.bell-dropdown.open { display: block; }
.bd-head {
  padding: 18px 20px;
  border-bottom: 0.5px solid rgba(168,85,247,0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.bd-head-title { font-size: 14px; font-weight: 700; color: #fff; }
.bd-head-meta { font-family: 'IBM Plex Mono', monospace; font-size: 10px; color: #6a6a72; letter-spacing: 0.12em; text-transform: uppercase; }
.bd-list { max-height: 380px; overflow-y: auto; }
.bd-item {
  display: grid;
  grid-template-columns: 38px 1fr auto;
  gap: 12px;
  padding: 14px 20px;
  align-items: center;
  border-bottom: 0.5px solid rgba(168,85,247,0.05);
  cursor: pointer;
  transition: background 0.15s;
}
.bd-item:hover { background: #0f0d14; }
.bd-item:last-child { border-bottom: none; }
.bd-item.tomorrow {
  background: linear-gradient(90deg, rgba(251,191,36,0.08), transparent);
  border-left: 3px solid #fbbf24;
  padding-left: 17px;
}
.bd-item-avatar {
  width: 36px; height: 36px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 11px; font-weight: 700; color: #fff;
}
.bd-item-name { font-size: 13px; font-weight: 600; color: #fff; }
.bd-item-meta { font-size: 11px; color: #6a6a72; margin-top: 2px; font-weight: 500; }
.bd-item-when { text-align: right; }
.bd-item-countdown {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  color: #c4b5fd;
  text-transform: uppercase;
}
.bd-item-countdown.tomorrow { color: #fbbf24; }
.bd-item-date { font-size: 10px; color: #6a6a72; margin-top: 2px; font-family: 'IBM Plex Mono', monospace; }
.bd-foot {
  padding: 12px 20px;
  border-top: 0.5px solid rgba(168,85,247,0.1);
  text-align: center;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #c4b5fd;
  cursor: pointer;
}
.bd-foot:hover { color: #fff; background: #0f0d14; }
/* ===== STATE PILL VARIATIONS ===== */
.live-status-pill.prepping {
  background: rgba(168,85,247,0.12);
  border-color: rgba(168,85,247,0.3);
  color: #c4b5fd;
}
.live-status-pill.prepping .live-pulse { display: none; }
.live-status-pill.day1, .live-status-pill.day2 {
  background: rgba(52,211,153,0.12);
  border-color: rgba(52,211,153,0.35);
  color: #6ee7b7;
}
.live-status-pill.day1 .live-pulse,
.live-status-pill.day2 .live-pulse {
  background: #34d399;
}
/* ===== STATE PREVIEW BAR (mockup-only) ===== */
/* ===== FLAG SYSTEM ===== */
.founder-card.flag-red { border-left: 4px solid #ef4444; padding-left: 17px; }
.founder-card.flag-yellow { border-left: 4px solid #fbbf24; padding-left: 17px; }
.founder-card.flag-green { border-left: 4px solid #34d399; padding-left: 17px; }
.fc-flag-note {
  background: rgba(255,255,255,0.025);
  border: 0.5px solid rgba(168,85,247,0.08);
  border-radius: 10px;
  padding: 10px 14px;
  font-size: 12px;
  color: #d4d4dc;
  font-style: italic;
  margin-top: 12px;
  margin-bottom: 12px;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.4;
}
.fc-flag-note.red { background: rgba(239,68,68,0.05); border-color: rgba(239,68,68,0.2); }
.fc-flag-note.yellow { background: rgba(251,191,36,0.05); border-color: rgba(251,191,36,0.2); }
.fc-flag-note.green { background: rgba(52,211,153,0.05); border-color: rgba(52,211,153,0.2); }
.fc-flag-note-icon { font-size: 14px; flex-shrink: 0; }
.fc-flag-note-body { flex: 1; }
.fc-flag-note-author {
  font-size: 10px;
  color: #6a6a72;
  font-family: 'IBM Plex Mono', monospace;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-top: 4px;
  font-style: normal;
  font-weight: 600;
}
.fc-flag-btn {
  width: 32px; height: 32px;
  border-radius: 50%;
  background: transparent;
  border: 0.5px solid rgba(168,85,247,0.18);
  display: flex; align-items: center; justify-content: center;
  color: #a8a8b0;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.15s;
}
.fc-flag-btn:hover { color: #fff; background: rgba(168,85,247,0.08); }
.fc-flag-btn.flagged-red { color: #fca5a5; border-color: rgba(239,68,68,0.3); background: rgba(239,68,68,0.08); }
.fc-flag-btn.flagged-yellow { color: #fcd34d; border-color: rgba(251,191,36,0.3); background: rgba(251,191,36,0.08); }
.fc-flag-btn.flagged-green { color: #6ee7b7; border-color: rgba(52,211,153,0.3); background: rgba(52,211,153,0.08); }
/* flag chip colors */
.chip.flag-green.active { background: rgba(52,211,153,0.18); color: #6ee7b7; border-color: rgba(52,211,153,0.35); }
.chip.flag-yellow.active { background: rgba(251,191,36,0.18); color: #fcd34d; border-color: rgba(251,191,36,0.35); }
.chip.flag-red.active { background: rgba(239,68,68,0.18); color: #fca5a5; border-color: rgba(239,68,68,0.35); }
/* ===== INSIGHTS SCOPE FILTER ===== */
.insights-scope-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 22px;
  flex-wrap: wrap;
  gap: 14px;
}
.scope-pills {
  display: flex;
  gap: 4px;
  background: #0a0810;
  border: 0.5px solid rgba(168,85,247,0.12);
  border-radius: 999px;
  padding: 4px;
}
.scope-pill {
  background: transparent;
  border: none;
  color: #a8a8b0;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.15s;
  letter-spacing: 0.01em;
}
.scope-pill:hover { color: #fff; }
.scope-pill.active { background: rgba(168,85,247,0.2); color: #fff; box-shadow: 0 0 0 0.5px rgba(168,85,247,0.3); }
.scope-selector {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}
.scope-dropdown {
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.2);
  border-radius: 999px;
  padding: 9px 18px 9px 16px;
  font-size: 13px;
  color: #fff;
  font-weight: 600;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.scope-dropdown:hover { background: #1a1424; border-color: rgba(168,85,247,0.4); }
.scope-dropdown .label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  color: #6a6a72;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-weight: 600;
  margin-right: 4px;
}
.insights-sub-view { display: none; }
.insights-sub-view.active { display: block; }
/* trend line chart wrapper */
.trend-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 16px;
}
.trend-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 22px;
}
.trend-num {
  font-size: 48px;
  font-weight: 200;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.trend-num .delta {
  font-size: 14px;
  font-weight: 700;
  color: #34d399;
  margin-left: 12px;
  letter-spacing: 0.04em;
}
/* ===== LIVE SUB-TABS ===== */
.live-sub-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0;
  align-items: center;
  background: transparent;
  border: none;
  border-bottom: 0.5px solid rgba(255,255,255,0.07);
  border-radius: 0;
  padding: 0 18px;
  margin-bottom: 16px;
  width: 100%;
  box-sizing: border-box;
}
.live-sub-tab {
  background: transparent;
  border: none;
  color: #6a6a72;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  padding: 10px 0;
  margin-right: 24px;
  border-radius: 0;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  transition: color 0.15s, border-color 0.15s;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  letter-spacing: 0.01em;
  margin-bottom: -0.5px;
  flex-shrink: 0;
  white-space: nowrap;
}
.live-sub-tab:hover { color: #c4b5fd; }
.live-sub-tab.active { color: #fff; border-bottom-color: #a855f7; background: transparent; box-shadow: none; }
.live-sub-tab.disabled { color: #4a4a52; cursor: not-allowed; }
.live-sub-tab .ct {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  opacity: 0.7;
  background: rgba(255,255,255,0.06);
  padding: 2px 6px;
  border-radius: 4px;
  font-weight: 500;
}
.live-sub-tab.active .ct { background: rgba(255,255,255,0.15); }
.live-sub-view { display: none; }
.live-sub-view.active { display: block; }
/* ===== ROUND TABLES VIEW ===== */
.rt-header {
  display: grid;
  grid-template-columns: auto 1fr auto;
  gap: 18px;
  align-items: center;
  padding: 16px 20px;
  cursor: pointer;
  user-select: none;
  transition: background 0.15s;
}
/* RT 5/6 table toggle bar (admin-only, Day 2) */
.rt-table-toggle-bar{display:flex;align-items:center;gap:8px;padding:10px 14px;margin:8px 14px 0;background:rgba(168,85,247,.08);border:1px solid rgba(168,85,247,.2);border-radius:12px;width:fit-content}
.rt-ttb-label{font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:700;letter-spacing:.14em;color:#a855f7;text-transform:uppercase}
.rt-ttb-btn{background:transparent;border:1px solid rgba(168,85,247,.3);color:#9ca3af;font-family:'IBM Plex Mono',monospace;font-size:12px;font-weight:700;padding:4px 14px;border-radius:8px;cursor:pointer;transition:all .15s;letter-spacing:.08em}
.rt-ttb-btn.active{background:#a855f7;border-color:#a855f7;color:#fff}
.rt-ttb-btn:hover:not(.active){border-color:#a855f7;color:#a855f7}
/* Arena trophy case */
.arena-trophy-case{margin:0 0 20px;padding:16px;background:linear-gradient(135deg,rgba(168,85,247,.08) 0%,rgba(251,191,36,.06) 100%);border:1px solid rgba(168,85,247,.25);border-radius:18px}
.atc-title{font-family:'IBM Plex Mono',monospace;font-size:9px;font-weight:700;letter-spacing:.22em;color:#a855f7;text-transform:uppercase;margin-bottom:14px}
.atc-empty{font-size:13px;color:#6a6a72;text-align:center;padding:18px 0}
.atc-grid{display:flex;flex-wrap:wrap;gap:10px}
.atc-badge{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 16px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:14px;min-width:100px;flex:1;max-width:160px;transition:border-color .15s;cursor:default;text-align:center}
.atc-badge:hover{border-color:rgba(168,85,247,.5);background:rgba(168,85,247,.06)}
.atc-badge-icon{font-size:28px;line-height:1;filter:drop-shadow(0 0 8px rgba(168,85,247,.4))}
.atc-badge-name{font-family:'Bebas Neue',Anton,Impact,sans-serif;font-size:13px;letter-spacing:.1em;color:#e2d9f3;line-height:1.2}
.atc-badge-how{font-size:10px;color:#6a6a72;line-height:1.4;margin-top:2px}
/* Settings advisor photo upload */
.sap-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media(max-width:540px){.sap-grid{grid-template-columns:1fr}}
.sap-card{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:10px 12px}
.sap-avatar{width:40px;height:40px;min-width:40px;border-radius:50%;object-fit:cover;background:rgba(168,85,247,.2);display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#a855f7;overflow:hidden}
.sap-avatar img{width:100%;height:100%;object-fit:cover;border-radius:50%}
.sap-info{flex:1;min-width:0}
.sap-name{font-size:13px;font-weight:700;color:#e2e2e2;margin-bottom:4px}
.sap-controls{display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.sap-url-input{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:5px 8px;color:#e2e2e2;font-size:11px;font-family:inherit;outline:none;width:100%;min-width:0;flex:1}
.sap-url-input::placeholder{color:#6a6a72}
.sap-save-btn{background:rgba(168,85,247,.2);border:1px solid rgba(168,85,247,.4);color:#c4b5fd;font-size:11px;font-weight:700;padding:5px 10px;border-radius:6px;cursor:pointer;white-space:nowrap;font-family:inherit;transition:background .15s}
.sap-save-btn:hover{background:rgba(168,85,247,.35)}
.sap-clear-btn{background:rgba(255,100,100,.1);border:1px solid rgba(255,100,100,.25);color:#f87171;font-size:11px;font-weight:700;padding:5px 8px;border-radius:6px;cursor:pointer;font-family:inherit}
.sap-status{font-size:10px;color:#10b981;margin-top:3px}
.rt-body-inner {
  padding: 18px 20px 22px;
}
.rt-body-legends {
  display: flex;
  flex-wrap: wrap;
  gap: 18px;
  padding-bottom: 18px;
  margin-bottom: 16px;
  border-bottom: 0.5px solid rgba(168,85,247,0.08);
}
.rt-body-legend-block { display: flex; flex-direction: column; gap: 6px; flex: 1; min-width: 220px; }
.rt-body-legend-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6a6a72;
}
.rt-body-legend-items {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 10px;
  font-size: 10px;
  color: #a8a8b0;
  font-weight: 500;
}
.rt-body-legend-items .item { display: inline-flex; align-items: center; gap: 5px; }
.rt-body-legend-items .dot { width: 8px; height: 8px; border-radius: 2px; }
/* ===== DOSSIER MODAL (RT founder tap) ===== */
/* ===== ADVISOR STATS MODAL (Arena clickthroughs) ===== */
.adv-modal-head {
  padding: 28px 26px 22px;
  display: flex;
  gap: 16px;
  align-items: flex-start;
  border-bottom: 0.5px solid rgba(168,85,247,0.1);
  background: linear-gradient(135deg, rgba(168,85,247,0.08), transparent 60%);
}
.adv-modal-photo {
  width: 80px; height: 80px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 30px;
  color: #fff;
  flex-shrink: 0;
  border: 3px solid #000;
  box-shadow: 4px 4px 0 #000;
}
.adv-modal-name {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 30px;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.02em;
}
.adv-modal-nick {
  font-size: 12px;
  color: #c4b5fd;
  margin-top: 6px;
  font-weight: 600;
  letter-spacing: 0.04em;
}
.adv-modal-rank-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
  margin-top: 10px;
}
.adv-modal-rank-pill {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  letter-spacing: 0.1em;
  font-weight: 700;
  text-transform: uppercase;
  background: rgba(251,191,36,0.15);
  color: #fbbf24;
  padding: 4px 9px;
  border-radius: 6px;
  border: 0.5px solid rgba(251,191,36,0.3);
}
.adv-modal-rank-pill.csat { background: rgba(168,85,247,0.15); color: #c4b5fd; border-color: rgba(168,85,247,0.3); }
.adv-modal-rank-pill.streak { background: rgba(239,68,68,0.15); color: #fca5a5; border-color: rgba(239,68,68,0.3); }
.adv-modal-stats {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  padding: 22px 26px;
  gap: 16px;
  border-bottom: 0.5px solid rgba(168,85,247,0.08);
}
.adv-modal-stat { text-align: left; }
.adv-modal-stat-val {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 26px;
  color: #fff;
  line-height: 1;
  letter-spacing: 0.01em;
}
.adv-modal-stat-val.accent { color: #fbbf24; }
.adv-modal-stat-lbl {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #6a6a72;
  font-weight: 600;
  margin-top: 6px;
}
.adv-section { padding: 20px 26px; border-bottom: 0.5px solid rgba(168,85,247,0.08); }
.adv-section:last-child { border-bottom: none; }
.adv-section-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: #6a6a72;
  margin-bottom: 14px;
}
/* CSAT trend chart — mini bars */
.adv-trend {
  display: grid;
  grid-template-columns: repeat(9, 1fr);
  gap: 6px;
  align-items: end;
  height: 90px;
}
.adv-trend-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 5px;
  cursor: pointer;
}
.adv-trend-bar-wrap {
  flex: 1;
  width: 100%;
  display: flex;
  align-items: flex-end;
  position: relative;
}
.adv-trend-bar {
  width: 100%;
  border-radius: 4px 4px 0 0;
  background: linear-gradient(180deg, #a855f7, #7c3aed);
  position: relative;
}
.adv-trend-bar.gold { background: linear-gradient(180deg, #fcd34d, #f59e0b); }
.adv-trend-val {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  color: #fff;
  font-weight: 700;
  position: absolute;
  top: -16px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
.adv-trend-lbl {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 8px;
  color: #6a6a72;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
/* Per-game scores */
.adv-game-row {
  display: grid;
  grid-template-columns: 24px 1fr auto auto;
  gap: 12px;
  align-items: center;
  padding: 10px 0;
  border-bottom: 0.5px solid rgba(168,85,247,0.06);
}
.adv-game-row:last-child { border-bottom: none; }
.adv-game-icon { font-size: 18px; text-align: center; }
.adv-game-name { font-size: 13px; font-weight: 600; color: #fff; }
.adv-game-score {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  color: #c4b5fd;
  font-variant-numeric: tabular-nums;
}
.adv-game-rank {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  color: #fbbf24;
  font-weight: 700;
  background: rgba(251,191,36,0.12);
  padding: 3px 7px;
  border-radius: 5px;
  letter-spacing: 0.06em;
}
/* Breakdown rows in advisor modal */
.adv-bd-row {
  display: grid;
  grid-template-columns: 100px 1fr 40px;
  gap: 10px;
  align-items: center;
  padding: 6px 0;
}
.adv-bd-row-label { font-size: 11px; color: #a8a8b0; font-weight: 500; }
.adv-bd-row-bar-bg { height: 6px; background: rgba(168,85,247,0.06); border-radius: 3px; overflow: hidden; }
.adv-bd-row-bar { height: 100%; background: linear-gradient(90deg, #a855f7, #c084fc); border-radius: 3px; }
.adv-bd-row-pct { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #fff; font-weight: 700; text-align: right; }
/* Achievement badges */
.adv-achievements {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}
.adv-achievement {
  background: rgba(251,191,36,0.1);
  border: 0.5px solid rgba(251,191,36,0.25);
  color: #fcd34d;
  padding: 6px 11px;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
}
/* Hover affordance on Arena clickable cards */
.champion-card, .podium-card, .challenger-card, .game-lb-row {
  cursor: pointer;
}
.game-lb-row:hover { background: rgba(168,85,247,0.05); border-radius: 8px; }
/* ===== LIVE SALES VIEW ===== */
.live-sales-hero {
  background: linear-gradient(135deg, rgba(168,85,247,0.1) 0%, rgba(124,58,237,0.04) 100%);
  border: 0.5px solid rgba(168,85,247,0.2);
  border-radius: 22px;
  padding: 40px;
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 40px;
  align-items: center;
  margin-bottom: 22px;
}
.lsh-counter-wrap { text-align: left; }
.lsh-status {
  display: inline-flex; align-items: center; gap: 8px;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #34d399;
  margin-bottom: 18px;
}
.lsh-pulse { width: 8px; height: 8px; border-radius: 50%; background: #34d399; animation: pulse 1.5s infinite; }
.lsh-counter {
  font-size: 200px;
  font-weight: 200;
  letter-spacing: -0.06em;
  line-height: 0.85;
  color: #fff;
  font-variant-numeric: tabular-nums;
  display: flex;
  align-items: baseline;
  gap: 16px;
}
.lsh-counter .lbl {
  font-size: 18px;
  font-weight: 700;
  color: #c4b5fd;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  white-space: nowrap;
  align-self: flex-end;
  padding-bottom: 24px;
}
.lsh-split {
  display: flex;
  gap: 12px;
  margin-top: 18px;
}
.lsh-split-tag {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: #0f0d14;
  border: 0.5px solid rgba(168,85,247,0.18);
  border-radius: 999px;
  padding: 8px 16px;
  font-size: 13px;
  font-weight: 600;
  color: #fff;
}
.lsh-split-tag.deposit { color: #fdba74; }
.lsh-split-tag .num {
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-variant-numeric: tabular-nums;
}
.lsh-split-tag .amt {
  color: #6a6a72;
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  padding-left: 8px;
  border-left: 0.5px solid rgba(168,85,247,0.15);
}
.lsh-day-pill-row {
  display: flex;
  gap: 8px;
  margin-top: 16px;
  flex-wrap: wrap;
}
.lsh-day-pill {
  display: inline-flex;
  align-items: baseline;
  gap: 8px;
  background: rgba(168,85,247,0.08);
  border: 0.5px solid rgba(168,85,247,0.18);
  border-radius: 999px;
  padding: 7px 14px;
}
.lsh-day-pill .num {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.01em;
}
.lsh-day-pill .lbl {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #a8a8b0;
}
.lsh-products {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.lsh-products-label {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a6a72;
  margin-bottom: 8px;
}
.lsh-product {
  display: grid;
  grid-template-columns: 70px 1fr 30px;
  gap: 14px;
  align-items: center;
}
.lsh-product-name {
  font-size: 13px;
  font-weight: 600;
  color: #c4b5fd;
}
.lsh-product-bar-bg {
  height: 8px;
  background: rgba(168,85,247,0.08);
  border-radius: 4px;
  overflow: hidden;
}
.lsh-product-bar {
  height: 100%;
  background: linear-gradient(90deg, #a855f7, #7c3aed);
  border-radius: 4px;
}
.lsh-product-num {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.buyer-feed {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.buyer-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.12);
  border-radius: 14px;
  padding: 16px 20px;
  display: grid;
  grid-template-columns: 48px 1fr auto auto;
  gap: 18px;
  align-items: center;
  transition: all 0.15s;
}
.buyer-card:hover { border-color: rgba(168,85,247,0.3); background: #0a0810; }
.buyer-card.fresh {
  border-color: rgba(52,211,153,0.3);
  box-shadow: 0 0 0 0.5px rgba(52,211,153,0.2), 0 0 16px rgba(52,211,153,0.08);
}
.buyer-avatar {
  width: 44px; height: 44px;
  border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
  font-weight: 700;
  color: #fff;
}
.buyer-name { font-size: 15px; font-weight: 600; color: #fff; }
.buyer-biz { font-size: 12px; color: #6a6a72; margin-top: 3px; font-weight: 500; }
.buyer-product {
  background: rgba(168,85,247,0.15);
  color: #c4b5fd;
  border-radius: 6px;
  padding: 5px 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.04em;
}
.buyer-product.l3 { background: rgba(124,58,237,0.2); color: #ddd6fe; }
.buyer-amount-block { text-align: right; }
.buyer-amount {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 16px;
  font-weight: 700;
  color: #fff;
  font-variant-numeric: tabular-nums;
}
.buyer-status {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  margin-top: 3px;
}
.buyer-status.pif { color: #34d399; }
.buyer-status.dep { color: #fdba74; }
.buyer-time {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  color: #6a6a72;
  letter-spacing: 0.08em;
  padding-left: 14px;
  border-left: 0.5px solid rgba(168,85,247,0.1);
  font-weight: 600;
}
/* ===== WORKSHOP TAB: BUYER BREAKDOWNS ===== */
.breakdown-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin-bottom: 32px;
}
.bd-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 18px;
  padding: 22px;
}
.bd-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}
.bd-title {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #6a6a72;
}
.bd-icon {
  width: 28px; height: 28px;
  border-radius: 8px;
  background: rgba(168,85,247,0.12);
  color: #c4b5fd;
  display: flex; align-items: center; justify-content: center;
  font-size: 13px;
}
.bd-big {
  font-size: 32px;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #fff;
  margin-top: 14px;
  margin-bottom: 6px;
  font-variant-numeric: tabular-nums;
}
.bd-meta {
  font-size: 11px;
  color: #a8a8b0;
  font-weight: 500;
}
.bd-bars { margin-top: 16px; display: flex; flex-direction: column; gap: 8px; }
.bd-bar-row { display: grid; grid-template-columns: 70px 1fr 30px; gap: 10px; align-items: center; }
.bd-bar-label { font-size: 11px; color: #a8a8b0; font-weight: 500; }
.bd-bar-bg { height: 5px; background: rgba(168,85,247,0.06); border-radius: 3px; overflow: hidden; }
.bd-bar { height: 100%; background: linear-gradient(90deg, #a855f7, #7c3aed); border-radius: 3px; }
.bd-bar.alt { background: linear-gradient(90deg, #c084fc, #a855f7); }
.bd-bar.alt2 { background: linear-gradient(90deg, #ddd6fe, #c084fc); }
.bd-bar-num { font-family: 'IBM Plex Mono', monospace; font-size: 11px; color: #fff; text-align: right; font-weight: 700; }
/* === RETURNING ATTENDEES === */
.return-card {
  background: #08070b;
  border: 0.5px solid rgba(168,85,247,0.1);
  border-radius: 22px;
  padding: 28px;
  margin-bottom: 32px;
}
.return-row {
  display: grid;
  grid-template-columns: 44px 1fr 130px 130px auto;
  gap: 18px;
  align-items: center;
  padding: 14px 0;
  border-bottom: 0.5px solid rgba(168,85,247,0.05);
}
.return-row:last-child { border-bottom: none; }
.return-name { font-size: 15px; font-weight: 600; color: #fff; }
.return-biz { font-size: 12px; color: #6a6a72; margin-top: 3px; font-weight: 500; }
.return-date {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 12px;
  font-weight: 600;
  color: #a8a8b0;
  letter-spacing: 0.06em;
}
.return-date-lbl {
  font-size: 9px;
  font-weight: 600;
  color: #6a6a72;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  margin-bottom: 2px;
}
.return-incoming-pill {
  background: rgba(168,85,247,0.15);
  color: #c4b5fd;
  border: 0.5px solid rgba(168,85,247,0.3);
  border-radius: 8px;
  padding: 5px 11px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
/* ===== ARENA: MODE TOGGLE (CSAT / GAMES) ===== */
.arena-mode-toggle {
  display: flex;
  gap: 0;
  background: rgba(0,0,0,0.4);
  border: 4px solid #000;
  border-radius: 999px;
  padding: 4px;
  width: fit-content;
  margin: 0 auto 32px;
  box-shadow: 6px 6px 0 #000;
}
.arena-mode-btn {
  background: transparent;
  border: none;
  color: #fff;
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 22px;
  letter-spacing: 0.16em;
  padding: 10px 32px;
  border-radius: 999px;
  cursor: pointer;
  transition: all 0.2s;
  opacity: 0.5;
}
.arena-mode-btn:hover { opacity: 0.8; }
.arena-mode-btn.active {
  background: linear-gradient(135deg, #fcd34d 0%, #f59e0b 100%);
  color: #000;
  opacity: 1;
  text-shadow: 0 1px 0 rgba(255,255,255,0.3);
  box-shadow: inset 0 -3px 0 rgba(0,0,0,0.2);
}
/* ===== ARENA: CSAT FILTER ROW ===== */
.arena-filter-row {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8px;
  margin-bottom: 36px;
}
.arena-filter-btn {
  background: rgba(0,0,0,0.5);
  border: 3px solid #000;
  color: #fff;
  font-family: 'IBM Plex Mono', monospace;
  font-weight: 700;
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 8px 14px;
  border-radius: 999px;
  cursor: pointer;
  box-shadow: 3px 3px 0 #000;
  transition: transform 0.15s;
}
.arena-filter-btn:hover { transform: translate(-1px, -1px); box-shadow: 4px 4px 0 #000; }
.arena-filter-btn.active {
  background: #fcd34d;
  color: #000;
}
.arena-mode-view { display: none; }
.arena-mode-view.active { display: block; }
/* ===== ARENA: GAMES LEADERBOARD ===== */
.games-leaderboard-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 18px;
  margin-bottom: 44px;
}
.game-lb-card {
  background: #fff;
  border-radius: 22px;
  border: 4px solid #000;
  padding: 22px;
  box-shadow: 8px 8px 0 #000;
}
.game-lb-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 18px;
  border-bottom: 3px solid #000;
  padding-bottom: 14px;
}
.game-lb-title {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 22px;
  letter-spacing: 0.08em;
  color: #000;
  line-height: 1;
}
.game-lb-icon {
  font-size: 28px;
}
.game-lb-row {
  display: grid;
  grid-template-columns: 28px 1fr auto;
  gap: 12px;
  align-items: center;
  padding: 8px 0;
  border-bottom: 1px dashed rgba(0,0,0,0.1);
}
.game-lb-row:last-child { border-bottom: none; }
.game-lb-rank {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  font-size: 22px;
  color: #000;
  font-weight: 700;
  text-align: center;
}
.game-lb-row:nth-child(2) .game-lb-rank { color: #f59e0b; }
.game-lb-name {
  font-weight: 700;
  font-size: 13px;
  color: #000;
}
.game-lb-score {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 14px;
  font-weight: 700;
  color: #7c3aed;
  font-variant-numeric: tabular-nums;
}
/* ===== ARENA: TRAINING ARSENAL ===== */
.arsenal-label {
  font-family: 'Bebas Neue', Anton, Impact, sans-serif;
  color: #fbbf24;
  font-size: 26px;
  letter-spacing: 0.22em;
  margin-bottom: 22px;
  text-shadow: 3px 3px 0 #000;
  text-align: center;
}
.arsenal-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 18px;
  margin-bottom: 44px;
}
.arsenal-card {
  background: #fff;
  border-radius: 22px;
  border: 4px solid #000;
  box-shadow: 7px 7px 0 #000;
  padding: 24px;
  position: relative;
  transition: transform 0.15s;
  cursor: pointer;
}
.arsenal-card:hover { transform: translate(-2px, -2px); box-shadow: 9px 9px 0 #000; }
.arsenal-card.locked { opacity: 0.7; cursor: not-allowed; }
.arsenal-card.locked:hover { transform: none; box-shadow: 7px 7px 0 #000; }
.arsenal-status-tag {
  position: absolute;
  top: -14px;
  right: 18px;
  font-family: 'Bebas Neue';
  font-size: 13px;
  padding: 4px 12px;
  border-radius: 7px;
  border: 3px solid #000;
  letter-spacing: 0.06em;
}
.arsenal-status-tag.new { background: #fbbf24; color: #000; }
.arsenal-status-tag.hot { background: #ef4444; color: #fff; }
.arsenal-status-tag.locked { background: #6a6a72; color: #fff; }
.arsenal-status-tag.streak { background: #10b981; color: #fff; }
.arsenal-icon {
  font-size: 44px;
  margin-bottom: 14px;
  display: block;
}
.arsenal-title {
  font-family: 'Bebas Neue';
  font-size: 26px;
  color: #000;
  line-height: 1;
  letter-spacing: 0.03em;
}
.arsenal-desc {
  font-size: 12px;
  color: #555;
  margin-top: 8px;
  font-weight: 500;
  line-height: 1.45;
  min-height: 36px;
}
.arsenal-foot {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 18px;
  padding-top: 14px;
  border-top: 2px solid rgba(0,0,0,0.08);
}
.arsenal-stat {
  font-family: 'IBM Plex Mono', monospace;
  font-size: 11px;
  font-weight: 700;
  color: #000;
  letter-spacing: 0.06em;
}
.arsenal-stat .val { color: #a855f7; font-size: 13px; }
.arsenal-play {
  font-family: 'Bebas Neue';
  font-size: 16px;
  background: #000;
  color: #fbbf24;
  padding: 6px 14px;
  border-radius: 8px;
  letter-spacing: 0.12em;
}
.arsenal-card.locked .arsenal-play { background: #6a6a72; color: #fff; }
@media (max-width: 1100px) {
  .shell { padding: 24px 24px 80px; }
  #view-arena { margin: 0 -24px; }
  .breakdown-grid { grid-template-columns: 1fr 1fr; }
  .arsenal-grid { grid-template-columns: 1fr 1fr; }
  .games-leaderboard-wrap { grid-template-columns: 1fr 1fr; }
  .live-sales-hero { grid-template-columns: 1fr; }
  .lsh-counter { font-size: 120px; }
  .room-composition { grid-template-columns: 1fr; gap: 18px; }
  .rc-grid { grid-template-columns: repeat(3, 1fr); gap: 18px; }
  .kpi-grid-tiles { grid-template-columns: 1fr 1fr; }
  .ws-cards-row { grid-template-columns: 1fr; }
  .pipeline-row { grid-template-columns: 1fr; }
  .comments-grid { grid-template-columns: 1fr; }
  .founder-card { grid-template-columns: 100px 1fr; }
  .fc-photo { width: 100px; height: 100px; }
  .fc-stats-row { grid-template-columns: repeat(3, 1fr); gap: 12px 0; }
  .page-title-big { font-size: 38px; }
  .ph-num { font-size: 88px; }
  .podium-grid { grid-template-columns: 1fr; }
  .arena-bigtitle { font-size: 88px; padding: 0 60px; text-shadow: 0 2px 0 #fbbf24, 0 4px 0 #f59e0b, 3px 7px 0 #b45309, 5px 10px 0 #000; }
  .arena-bigtitle::before, .arena-bigtitle::after { font-size: 44px; }
}
/* ===== MOBILE (≤640px) — phone-first since 95% of usage is mobile ===== */
@media (max-width: 640px) {
  .shell { padding: 16px 14px 80px; }
  #view-arena { margin: 0 -14px; }

  /* Util bar compress */
  .util-bar { flex-wrap: wrap; gap: 10px; padding: 14px 0 10px; margin-bottom: 0; }
  .brand-name .top { font-size: 11px; }
  .brand-name .bottom { font-size: 12px; }
  .logo-mark { width: 30px; height: 30px; }
  .sync-pill { font-size: 10px; padding: 5px 10px; }
  .sync-pill span:nth-child(2) { display: none; }
  .util-icon-btn { width: 34px; height: 34px; }
  .util-icon-btn svg { width: 15px; height: 15px; }
  .profile-name { display: none; }
  .profile-pill { padding: 4px; }

  /* Page header */
  .page-header { padding: 0; }
  .page-title-big { font-size: 30px; line-height: 1; }
  .page-subtitle { font-size: 11px; }

  /* Tabs sticky-friendly — 3 tabs, larger for visual pop */
  .tabs { padding: 8px 8px 10px; gap: 4px; overflow-x: auto; flex-wrap: nowrap; }
  /* Build 2026.07.14-3 — with the 4th (admin Event Ops) tab, tabs overflowed
     off-screen on phones with no scroll affordance. Compress to fit. */
  .tabs .tab { flex: 1 1 0; min-width: 0; justify-content: center; padding: 9px 6px; font-size: 12px; gap: 4px; }
  .tabs .tab .tab-icon svg { width: 13px; height: 13px; }
  .tabs .tab { white-space: nowrap; }
  .tab { padding: 10px 18px; font-size: 14px; flex-shrink: 0; font-weight: 700; }
  .tab-icon svg { width: 15px; height: 15px; }
  .tab-badge { font-size: 8px; padding: 2px 5px; }

  /* Live state row */
  .state-preview { flex-wrap: wrap; font-size: 10px; gap: 6px; padding: 8px 10px; }
  .live-status-row { padding: 12px 14px; }
  .live-status-pill { font-size: 12px; padding: 6px 12px; }

  /* Filter chips horizontal scroll */
  .chips { overflow-x: auto; flex-wrap: nowrap; padding-bottom: 8px; gap: 6px; }
  .chip { flex-shrink: 0; font-size: 11px; padding: 6px 10px; }
  .search-bar { padding: 10px 14px; font-size: 13px; }
  .search-shortcut { display: none; }

  /* Live sub-tabs — 5 tabs, wrap to second row on mobile so all are visible */
  .top-chrome{padding-left:0}
  .live-sub-tabs { flex-wrap: wrap; padding: 0 14px; gap: 0; row-gap: 2px; }
  .live-sub-tab { padding: 9px 0; margin-right: 20px; font-size: 13px; flex-shrink: 0; }

  /* Room composition simplified */
  .room-composition { padding: 16px; flex-direction: column; align-items: flex-start; }
  .rc-grid { grid-template-columns: repeat(2, 1fr); gap: 14px; }
  .rc-stat-val { font-size: 22px; }

  /* Advisor group */
  .advisor-group { flex-wrap: wrap; padding: 12px; gap: 10px; }

  /* Founder cards stack vertically */
  .founder-card { grid-template-columns: 72px 1fr; gap: 12px; padding: 14px; padding-left: 14px !important; }
  .founder-card.flag-red, .founder-card.flag-yellow, .founder-card.flag-green { padding-left: 11px !important; }
  .fc-photo { width: 72px; height: 72px; }
  .fc-name { font-size: 17px; }
  .fc-title { font-size: 12px; }
  .fc-stats-row { grid-template-columns: repeat(3, 1fr); padding-top: 12px; }
  .fc-stat-val { font-size: 14px; }
  .fc-tags { gap: 6px 8px; flex-wrap: wrap; }
  .fc-actions { gap: 6px; }
  .fc-ai-btn, .fc-edit-btn, .fc-flag-btn { width: 30px; height: 30px; }
  .fc-flag-note { padding: 8px 12px; font-size: 11px; }
  .fc-companion-link { font-size: 11px; }

  /* RT cards stack one per row */
  .rt-grid { gap: 10px; }
  .rt-header {
    grid-template-columns: 1fr auto;
    grid-template-areas: "left chev" "mid mid";
    gap: 12px;
    padding: 14px 16px;
  }
  .rt-h-left { grid-area: left; flex-wrap: wrap; gap: 10px; }
  .rt-h-mid { grid-area: mid; gap: 6px; }
  .rt-h-chevron { grid-area: chev; width: 30px; height: 30px; }
  .rt-h-num { font-size: 22px; }
  .rt-h-band { font-size: 12px; padding: 5px 11px 5px 9px; }
  .rt-h-count { font-size: 11px; }
  .rt-h-count .n { font-size: 14px; }
  .rt-h-bd-block { gap: 8px; }
  .rt-h-bd-label { width: 56px; font-size: 8px; }
  .rt-h-bd-top { font-size: 9px; min-width: 64px; }
  .rt-body-inner { padding: 14px 16px 18px; }
  .rt-body-legends { flex-direction: column; gap: 12px; padding-bottom: 14px; margin-bottom: 12px; }
  .rt-body-legend-block { min-width: 0; }
  .rt-founders-list { grid-template-columns: 1fr 1fr; gap: 5px; }
  .rt-founder { padding: 7px 8px; min-height: 46px; }
  .rt-founder-avatar { width: 34px; height: 34px; }
  .rt-founder-name { font-size: 11px; }

  /* Live sales */
  .live-sales-hero { padding: 24px 18px; }
  .lsh-counter { font-size: 96px; }
  .lsh-counter .lbl { font-size: 11px; }
  .lsh-day-pill { padding: 6px 10px; }
  .lsh-day-pill .num { font-size: 12px; }
  .lsh-day-pill .lbl { font-size: 8px; }
  .lsh-split-tag { font-size: 11px; padding: 6px 12px; }
  .lsh-product-name { font-size: 11px; min-width: 60px; }

  /* Buyer feed */
  .buyer-row { grid-template-columns: 36px 1fr auto; gap: 10px; padding: 12px 14px; }
  .buyer-avatar { width: 36px; height: 36px; }
  .buyer-name { font-size: 13px; }
  .buyer-meta { font-size: 11px; }
  .buyer-pill { font-size: 10px; padding: 3px 8px; }
  .buyer-time { font-size: 11px; }

  /* Insights scope row */
  .insights-scope-row { flex-direction: column; align-items: stretch; gap: 10px; }
  .scope-pills { overflow-x: auto; flex-wrap: nowrap; padding: 3px; gap: 2px; }
  .scope-pill { flex-shrink: 0; padding: 6px 12px; font-size: 12px; }
  .scope-dropdown { font-size: 12px; padding: 8px 14px; }
  .ws-arrows { display: none; }

  /* Insights cards */
  .ws-cards-row { gap: 14px; }
  .dark-card { padding: 20px 18px; border-radius: 18px; }
  .kpi-grid-tiles { grid-template-columns: 1fr 1fr; gap: 12px; }
  .kpi-tile { padding: 18px 16px; border-radius: 18px; }
  .kpi-tile-val { font-size: 22px; }
  .breakdown-grid { grid-template-columns: 1fr; gap: 14px; }
  .bd-card { padding: 18px 16px; }
  .bd-big { font-size: 18px; }

  /* Purple hero */
  .purple-hero { padding: 26px 22px; border-radius: 24px; }
  .ph-num { font-size: 60px; }
  .ph-bd { flex-wrap: wrap; gap: 10px; font-size: 11px; }
  .ph-side { display: none; }
  .ph-row { flex-direction: column; align-items: flex-start; gap: 14px; }

  /* Calendar */
  .cal-grid { grid-template-columns: repeat(4, 1fr); gap: 4px; }
  .cal-day-label { font-size: 9px; }
  .cal-cell { height: 56px; padding: 8px; }
  .cal-num { font-size: 18px; }
  .cal-mini { font-size: 9px; }

  /* Comments */
  .comments-grid { gap: 14px; }
  .comment-card { padding: 22px 20px; }
  .cc-quote { font-size: 14px; }

  /* Arena */
  .arena-container { padding: 40px 14px 36px; overflow: hidden; margin:0 -12px; }
  .arena-content { max-width: 100%; }
  .arena-title { margin-bottom: 28px; padding: 0; }
  .arena-bigtitle {
    font-size: 44px;
    padding: 0 36px;
    text-shadow: 0 2px 0 #fbbf24, 0 3px 0 #f59e0b, 2px 4px 0 #b45309, 3px 6px 0 #000;
  }
  .arena-bigtitle::before, .arena-bigtitle::after {
    font-size: 24px;
    text-shadow: 1px 1px 0 #b45309, 2px 2px 0 #000;
  }
  .arena-subtitle {
    font-size: 9px;
    letter-spacing: 0.1em;
    margin-top: 16px;
    padding: 0;
    line-height: 1.6;
    /* V11-2026.09.07-3 — the 2px black shadow is ~a quarter of a 9px glyph
       and reads as a smear on phones. Halve it; keep the arcade feel. */
    text-shadow: 1px 1px 0 #000;
  }
  .arena-subtitle .full { display: none; }
  .arena-subtitle .short { display: inline; }
  .challengers-label, .csat-challengers-label { text-shadow: 1.5px 1.5px 0 #000; }

  .arena-mode-toggle {
    width: 100%;
    box-shadow: 3px 3px 0 #000;
    border-width: 3px;
    margin: 0 0 24px;
    box-sizing: border-box;
  }
  .arena-mode-btn { flex: 1; font-size: 15px; padding: 8px 10px; letter-spacing: 0.08em; }
  .arena-filter-row { gap: 5px; margin: 0 0 24px; padding: 0; }
  .arena-filter-btn { font-size: 10px; padding: 5px 9px; box-shadow: 2px 2px 0 #000; border-width: 2px; }

  .champion-card { padding: 22px 18px; border-radius: 18px; box-shadow: 3px 3px 0 #000; border-width: 3px; margin: 0 0 24px; box-sizing: border-box; }
  .champion-row { flex-direction: column; align-items: flex-start; gap: 14px; }
  .champion-avatar { width: 60px; height: 60px; font-size: 22px; }
  .champion-name { font-size: 26px; }
  .champion-nick { font-size: 12px; }
  .champion-pct { font-size: 36px; }
  .champion-ratings { font-size: 9px; }
  .champion-badges { flex-wrap: wrap; gap: 5px; }
  .champion-tag { font-size: 9px; padding: 3px 7px; }
  .champion-badge { font-size: 11px; padding: 5px 10px; }

  .podium-grid { grid-template-columns: 1fr; gap: 12px; margin: 0 0 24px; }
  .podium-card { padding: 18px; box-shadow: 3px 3px 0 #000; border-width: 3px; box-sizing: border-box; }
  .podium-name { font-size: 22px; }
  .podium-nick { font-size: 11px; }
  .podium-pct { font-size: 26px; }

  .games-leaderboard-wrap { grid-template-columns: 1fr; gap: 12px; margin: 0 0 24px; }
  .game-lb-card { padding: 16px 14px; box-shadow: 3px 3px 0 #000; border-width: 3px; box-sizing: border-box; }
  .game-lb-title { font-size: 16px; }

  .arsenal-grid { grid-template-columns: 1fr; gap: 12px; margin: 0 0 20px; }
  .arsenal-card { padding: 20px 18px; box-shadow: 3px 3px 0 #000; border-width: 3px; box-sizing: border-box; }
  .arsenal-label { font-size: 18px; letter-spacing: 0.16em; margin-bottom: 16px; }

  .unlock-card { margin: 0; box-sizing: border-box; padding: 22px 18px; }
  .challenger-list { margin: 0 0 24px; }
  .challengers-label { font-size: 16px; }

  /* Bell dropdown — top-anchored on mobile. It lives inside the backdrop-filter
     header (.top-chrome), which on iOS Safari traps position:fixed to the header
     box — so bottom:0 mispositioned the panel and clipped the top names with no
     way to scroll up. Anchor from the TOP with a vh cap (viewport-relative even
     when trapped) and flex-scroll the list so the header + first names stay put. */
  .bell-dropdown {
    position: fixed;
    top: 56px;
    bottom: auto;
    left: 8px;
    right: 8px;
    width: auto;
    max-width: none;
    max-height: calc(100vh - 72px);
    flex-direction: column;
    border-radius: 16px;
    z-index: 9999;
  }
  .bell-dropdown .bd-head, .bell-dropdown .bd-foot { flex: 0 0 auto; }
  .bell-dropdown .bd-list { flex: 1 1 auto; min-height: 0; max-height: none; overflow-y: auto; }
  .bell-dropdown.open { display: flex; animation: bellFadeIn 0.18s ease-out; }
  @keyframes bellFadeIn {
    from { opacity: 0; transform: translateY(-6px); }
    to { opacity: 1; transform: translateY(0); }
  }

  /* Dossier modal goes near-fullscreen on mobile */
  .dossier-backdrop { padding: 0; align-items: flex-end; }
  .dossier-modal { max-height: 92vh; border-radius: 22px 22px 0 0; border-bottom: none; }
  .dm-head { padding: 20px 18px 14px; }
  .dm-name { font-size: 16px; }
  .dm-photo { width: 52px; height: 52px; font-size: 16px; }
  .dm-stats { grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 16px 18px; }
  .dm-stat-val { font-size: 15px; }
  .dm-section { padding: 14px 18px; }
  .dm-actions { padding: 14px 18px 18px; }
  .dm-flag-btn { font-size: 11px; padding: 7px 11px; }

  /* Advisor stats modal on mobile */
  .adv-modal-head { padding: 22px 18px 18px; gap: 12px; }
  .adv-modal-photo { width: 64px; height: 64px; font-size: 24px; box-shadow: 3px 3px 0 #000; border-width: 2px; }
  .adv-modal-name { font-size: 24px; }
  .adv-modal-nick { font-size: 11px; }
  .adv-modal-rank-pill { font-size: 9px; padding: 3px 7px; }
  .adv-modal-stats { grid-template-columns: repeat(2, 1fr); gap: 14px; padding: 16px 18px; }
  .adv-modal-stat-val { font-size: 22px; }
  .adv-section { padding: 16px 18px; }
  .adv-trend { height: 70px; gap: 4px; }
  .adv-trend-lbl { font-size: 7px; }
  .adv-trend-val { font-size: 8px; }
  .adv-game-row { grid-template-columns: 20px 1fr auto auto; gap: 8px; padding: 8px 0; }
  .adv-game-name { font-size: 12px; }
  .adv-game-score { font-size: 12px; }
  .adv-game-rank { font-size: 9px; padding: 2px 6px; }
  .adv-bd-row { grid-template-columns: 84px 1fr 36px; gap: 8px; }
  .adv-bd-row-label { font-size: 10px; }
  .adv-bd-row-pct { font-size: 10px; }
  .adv-achievement { font-size: 10px; padding: 5px 9px; }
}
/* ===== SMALL PHONE (≤380px) — iPhone SE / mini devices ===== */
@media (max-width: 380px) {
  .shell { padding: 14px 10px 80px; }
  #view-arena { margin: 0 -10px; }
  .util-bar { gap: 6px; }
  .bell-dropdown { max-height: 70vh; }

  /* Arena title even smaller */
  .arena-bigtitle {
    font-size: 36px;
    padding: 0 28px;
  }
  .arena-bigtitle::before, .arena-bigtitle::after { font-size: 20px; }
  .arena-subtitle { font-size: 8px; letter-spacing: 0.08em; padding: 0 6px; }
  .arena-mode-btn { font-size: 14px; padding: 7px 8px; letter-spacing: 0.06em; }
  .arena-filter-btn { font-size: 9px; padding: 5px 8px; }
  .champion-name { font-size: 24px; }
  .champion-pct { font-size: 34px; }
  .arsenal-label { font-size: 16px; }
  .podium-name { font-size: 20px; }
  .game-lb-title { font-size: 14px; }

  /* RT header stays compact */
  .rt-h-num { font-size: 20px; }
  .rt-h-band { font-size: 11px; padding: 4px 9px 4px 7px; }
  .rt-h-count { font-size: 10px; }
  .rt-h-count .n { font-size: 13px; }
  .rt-h-bd-label { width: 50px; font-size: 8px; }
  .rt-h-bd-top { font-size: 8px; min-width: 56px; }
  .rt-founders-list { grid-template-columns: 1fr; }

  /* Page title */
  .page-title-big { font-size: 26px; }
}
/* ===== END V11 DESIGN SYSTEM ===== */
/* Workshops tab (returners) — attendance history + then-vs-now prework */
.ws-hist{display:flex;flex-direction:column;gap:6px;margin:6px 0 4px}
.ws-hist-row{display:flex;justify-content:space-between;align-items:center;padding:8px 10px;border-radius:8px;background:var(--bg-elev);border:1px solid var(--hairline)}
.ws-hist-row.current{border-color:color-mix(in srgb,#a855f7 45%,transparent);background:color-mix(in srgb,#a855f7 10%,var(--bg-elev))}
.ws-hist-type{font-weight:700;font-size:13px;color:var(--text-1)}
.ws-hist-date{font-size:12px;color:var(--text-3)}
.ws-cmp-head,.ws-cmp-row{display:grid;grid-template-columns:72px 1fr 16px 1fr;gap:6px;align-items:center}
.ws-cmp-head{font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--text-3);margin:6px 0 2px}
.ws-cmp-row{padding:6px 0;border-top:1px solid var(--hairline)}
.ws-cmp-k{font-size:11px;color:var(--text-3);text-transform:uppercase;letter-spacing:.04em}
.ws-cmp-then{font-size:13px;color:var(--text-2)}
.ws-cmp-then.ws-cmp-nf{color:var(--text-3);font-style:italic}
.ws-cmp-now{font-size:13px;font-weight:700;color:var(--text-1)}
.ws-cmp-arrow{color:#c084fc;text-align:center;font-weight:700}
.ws-cmp-src{font-size:11px;color:var(--text-3);margin-top:10px;font-style:italic}
/* Returner growth (2026-07-24): impact header + per-metric stat blocks. */
.ws-impact{margin:8px 0 4px;padding:11px 12px;border-radius:12px;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.30)}
.ws-impact.flat{background:var(--bg-elev);border-color:var(--hairline)}
.ws-impact-line{display:flex;align-items:baseline;gap:7px;font-size:13.5px;font-weight:700;color:#10B981}
.ws-impact.flat .ws-impact-line{color:var(--text-2)}
.ws-impact-line .arw{font-size:12px}
.ws-impact-since{font-size:10.5px;color:var(--text-3);margin-top:4px;font-weight:500;letter-spacing:.02em}
.ws-stat{padding:11px 0;border-top:1px solid var(--hairline)}
.ws-stat:first-of-type{border-top:none}
.ws-stat-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ws-stat-k{font-size:10px;color:var(--text-3);text-transform:uppercase;letter-spacing:.14em;font-weight:600}
.ws-chip{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;color:#10B981;background:rgba(16,185,129,.12);border:1px solid rgba(16,185,129,.30);border-radius:999px;padding:3px 9px;white-space:nowrap}
.ws-chip.flat{color:var(--text-2);background:var(--bg-elev2);border-color:var(--hairline-2)}
.ws-chip .pct{color:var(--text-2);font-weight:600}
.ws-chip.flat .pct{color:var(--text-3)}
.ws-stat-nums{display:flex;align-items:baseline;gap:9px;margin-top:6px}
.ws-then{font-size:13px;color:var(--text-2)}
.ws-to{color:#c084fc;font-weight:700;font-size:12px}
.ws-now{font-size:18px;font-weight:800;letter-spacing:-.02em;color:var(--text)}

/* ── Dual-founder cards (exactly 2 founders) ──────────────────────────────────
   Applies to: archive founder list (.arch-card-front). Card spans two grid columns and
   shows both faces side-by-side; padding-bottom:74% keeps a normal card height
   (single-card inner uses 148% of full width; spanning doubles width so 74% of
   the doubled width ≈ a normal card's height). 3+ founders deferred. */
.arch-card-scene.dual-span{grid-column:span 2}
.dual-span .arch-card-inner{padding-bottom:74%}
.arch-card-front-photo.dual{display:flex;position:absolute;inset:0}
.arch-card-front-photo.dual .dface{position:relative;width:50%;height:100%;overflow:hidden;background:#1a1730}
.arch-card-front-photo.dual .dface+.dface{border-left:1.5px solid rgba(0,0,0,.45)}
.arch-card-front-photo.dual .dface img{width:100%;height:100%;object-fit:cover;display:block}
.dface-ini{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:clamp(22px,7vw,38px);font-weight:900;color:var(--accent);letter-spacing:-.03em;line-height:1;font-family:'Bebas Neue',Anton,Impact,sans-serif;background:linear-gradient(145deg,color-mix(in srgb,var(--accent) 16%,#0f0d14) 0%,#0f0d14 100%)}

/* Build 2026.07.10-3 — role dropdown in Settings user rows */
.settings-role-select{font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:700;letter-spacing:.06em;color:#cfd2e8;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:6px;padding:4px 6px;flex-shrink:0;cursor:pointer;appearance:auto}
.settings-role-select:focus{outline:none;border-color:var(--accent)}

/* ── Transferred Out section + badges (2026-07-13, Dion) ────────────────────
   Transferred founders render at the bottom of the founder list and in
   archives with a small badge. Section reuses .advisor-section chrome. */
.transferred-section .advisor-section-head{opacity:.85}
.transferred-section-icon{display:flex;align-items:center;justify-content:center;background:rgba(128,128,128,.18);color:var(--text-3);font-size:15px;border-radius:50%}
.transferred-card-wrap{position:relative}
.transferred-card-wrap>.card,.transferred-card-wrap .founder-card{filter:grayscale(.25)}
.transferred-badge{position:absolute;top:6px;right:6px;z-index:5;background:rgba(110,110,118,.94);color:#fff;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;pointer-events:none}
.arch-transferred-chip{display:inline-block;background:rgba(110,110,118,.94);color:#fff;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;margin-bottom:4px}

/* ═══════════════════════ EVENTS CHECK-IN (Build 2026.07.13) ═══════════════════════ */
.ev-page{max-width:1100px;margin:0 auto;padding:14px 12px 60px}
.ev-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;padding:4px 2px 10px}
.ev-title{font-size:22px;font-weight:900;letter-spacing:-.01em}
.ev-sub{font-size:12.5px;color:var(--text-2);margin-top:2px}
.ev-sub .ev-n-in{color:#34d399}
.ev-sub .ev-n-no{color:#f87171}
.ev-sheet-status{font-size:10.5px;color:var(--text-3);margin-top:3px}
.ev-sheet-status.pending{color:#fbbf24}
.ev-header-right{display:flex;align-items:center;gap:8px}
.ev-who{font-size:12px;font-weight:700;color:var(--text-2)}
.ev-search{width:100%;box-sizing:border-box;padding:11px 14px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--card,#141218);color:var(--text-1,#fff);font-size:15px;margin-bottom:12px}
.ev-search:focus{outline:none;border-color:var(--accent)}
.ev-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
@media(min-width:600px){.ev-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:900px){.ev-grid{grid-template-columns:repeat(4,1fr)}}
.ev-grid-dim{opacity:.65;margin-top:8px}
.ev-section-label{font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3);margin:20px 2px 6px}
.ev-scene.ev-flipped .arch-card-inner{transform:rotateY(180deg)}
.arch-card-back.ev-back{transform:rotateY(180deg);background:#141218;border:1.5px solid var(--hairline);display:flex;flex-direction:column}
.ev-back-body{flex:1;display:flex;flex-direction:column;gap:6px;padding:8px 10px 10px;overflow-y:auto}
.ev-btn{width:100%;padding:9px 8px;border-radius:10px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-1);font-size:12.5px;font-weight:800;cursor:pointer;letter-spacing:.01em;transition:all .12s}
.ev-btn.ev-in.active{background:#065f46;border-color:#34d399;color:#d1fae5}
.ev-btn.ev-noshow.active{background:#7f1d1d;border-color:#f87171;color:#fee2e2}
.ev-btn.ev-transferred.active{background:#3f3f46;border-color:#a1a1aa;color:#e4e4e7}
.ev-back-actions{display:flex;gap:6px;margin-top:2px}
.ev-mini-btn{flex:1;padding:7px 8px;border-radius:9px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-2);font-size:11.5px;font-weight:700;cursor:pointer}
.ev-mini-btn.primary{background:var(--accent);border-color:var(--accent);color:#0c0a12}
.ev-p1-list{display:flex;flex-direction:column;gap:3px}
.ev-p1-row{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--text-2);background:rgba(255,255,255,.04);border-radius:7px;padding:4px 7px}
.ev-p1-row em{color:var(--text-3);font-style:normal}
.ev-p1-x{background:none;border:none;color:var(--text-3);font-size:14px;cursor:pointer;padding:0 2px;line-height:1}
.ev-audit-chip{margin-top:auto;font-size:10px;color:var(--text-3);background:rgba(255,255,255,.05);border-radius:999px;padding:3px 9px;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ev-status-chip{position:absolute;top:8px;left:8px;z-index:5;font-size:9px;font-weight:900;letter-spacing:.07em;padding:3px 9px;border-radius:999px;pointer-events:none}
.ev-status-chip.in{background:rgba(6,95,70,.95);color:#a7f3d0;border:1px solid #34d399}
.ev-status-chip.noshow{background:rgba(127,29,29,.95);color:#fecaca;border:1px solid #f87171}
.ev-status-chip.transferred{background:rgba(63,63,70,.95);color:#e4e4e7;border:1px solid #a1a1aa}
.ev-p1-dot{position:absolute;top:8px;right:8px;z-index:5;background:var(--accent);color:#0c0a12;font-size:10px;font-weight:900;border-radius:999px;padding:2px 7px;pointer-events:none}
.ev-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.6);z-index:900;display:flex;align-items:center;justify-content:center;padding:20px}
.ev-modal{width:100%;max-width:360px;background:var(--card,#17141d);border:1.5px solid var(--hairline);border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:10px}
.ev-modal-title{font-size:15px;font-weight:800}
.ev-modal-input{padding:10px 12px;border-radius:10px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-1);font-size:14px}
.ev-modal-input:focus{outline:none;border-color:var(--accent)}
.ev-modal-btns{display:flex;gap:8px;margin-top:4px}
/* Advisor-view check-in badge (wrapper pattern — safeCard untouched) */
.checkin-card-wrap{position:relative}
.checkin-badge{position:absolute;top:6px;left:6px;z-index:5;font-size:9px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 8px;border-radius:999px;pointer-events:none}
.checkin-badge.in{background:rgba(6,95,70,.94);color:#a7f3d0;border:1px solid rgba(52,211,153,.6)}
.checkin-badge.noshow{background:rgba(127,29,29,.94);color:#fecaca;border:1px solid rgba(248,113,113,.6)}
.ev-sheet-status.dropped{color:#f87171}

/* ═══ EVENT OPS arrivals + kiosk walk-ups (Build 2026.07.13-6) ═══ */
.ev-section-label.ev-label-in{color:#34d399}
.ev-grid-arrived{grid-template-columns:repeat(2,1fr)}
@media(min-width:700px){.ev-grid-arrived{grid-template-columns:repeat(3,1fr)}}
.ev-grid-arrived .arch-card-scene{--ev-scale:1}
.ev-grid-arrived .arch-card-front-name{font-size:17px;font-weight:900}
.ev-grid-arrived .arch-card-front-company{font-size:13px}
.ev-scene.ev-arrived .ev-status-chip.in{font-size:10px;padding:4px 10px}
@keyframes evNewPulse{
  0%{box-shadow:0 0 0 0 rgba(52,211,153,.65)}
  70%{box-shadow:0 0 0 14px rgba(52,211,153,0)}
  100%{box-shadow:0 0 0 0 rgba(52,211,153,0)}
}
.ev-scene.ev-new{border-radius:16px;animation:evNewPulse 2s ease-out 3}
.ev-scene.ev-new .arch-card-inner{outline:2px solid rgba(52,211,153,.75);outline-offset:-2px;border-radius:inherit}
.ev-empty-strip{padding:18px 16px;border:1.5px dashed var(--hairline);border-radius:14px;color:var(--text-3);font-size:13px;text-align:center;margin-bottom:6px}
.ev-walkups{display:flex;flex-direction:column;gap:6px;margin:2px 0 10px}
.ev-walkup{background:rgba(251,191,36,.10);border:1.5px solid rgba(251,191,36,.45);color:#fde68a;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5}
.ev-walkup span{color:rgba(253,230,138,.7)}


/* ─── Archive copy-dossier buttons (build 2026.07.14-1) ─── */
.arch-copy-btn{position:absolute;bottom:10px;right:8px;z-index:2;width:26px;height:26px;display:flex;align-items:center;justify-content:center;border-radius:7px;border:1px solid rgba(255,255,255,.18);background:rgba(0,0,0,.45);color:rgba(255,255,255,.75);cursor:pointer;padding:0;backdrop-filter:blur(2px);transition:color .15s,border-color .15s}
/* keep long names/companies clear of the copy button (additive override) */
.arch-card-front .arch-card-front-overlay{padding-right:42px}
.arch-copy-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.arch-copy-btn:hover{color:#fff;border-color:var(--accent,#a08bec)}
.archd-copy{position:absolute;top:12px;right:50px;width:30px;height:30px;border:none;border-radius:50%;background:var(--hairline-2);color:var(--text-2);cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;z-index:2;transition:color .15s}
.archd-copy svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.archd-copy:hover{color:var(--text-1)}
/* Build 2026.07.26-6 — link from the archive dossier to the living client record (clients.html) */
.archd-client{position:absolute;top:12px;right:92px;z-index:2;font-size:11px;font-weight:700;letter-spacing:.04em;color:#fff;text-decoration:none;border:1px solid var(--accent);background:var(--accent);border-radius:999px;padding:8px 13px;line-height:1;white-space:nowrap;box-shadow:0 2px 8px rgba(139,92,246,.35)}
.archd-client:hover{background:#9d74f8;border-color:#9d74f8}
@media(max-width:520px){.archd-client{position:static;display:inline-block;margin-bottom:10px}}
.ev-locked-note{background:rgba(139,92,246,.10);border:1.5px solid rgba(139,92,246,.4);color:#c4b5fd;border-radius:12px;padding:10px 14px;font-size:13px;line-height:1.5;margin:2px 0 10px}
.ev-mini-btn.ev-testmode-on{background:rgba(52,211,153,.18);border-color:#34d399;color:#a7f3d0}
/* Build 2026.07.14-4 — badge wraps hide as a unit during search (orphan-badge fix) */
.transferred-card-wrap.hidden-by-search,.checkin-card-wrap.hidden-by-search{display:none}
/* Build 2026.07.14-8 — two-phase arrival */
.checkin-badge.waiver{background:rgba(52,211,153,.16);border:1px solid rgba(52,211,153,.5);color:#a7f3d0}
.ev-n-entering{color:#6ee7b7}

/* ─── Copy-choice modal (build 2026.07.16-2) ─────────────────────────────
   Small chooser opened by the card / archive copy buttons: entire dossier
   vs contact info only. Same visual language as .wow-peek-modal. */
.copy-choice-bg{
  position:fixed;inset:0;
  background:rgba(0,0,0,.72);
  backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);
  z-index:10001; /* above .archd-scrim (10000) — the archive dossier's copy button opens this */
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:fadeIn .2s;
}
.copy-choice-modal{
  background:var(--bg-elev);
  border:1px solid var(--hairline);
  border-radius:20px;
  width:100%;max-width:420px;
  display:flex;flex-direction:column;
  overflow:hidden;
  animation:intelSlide .25s cubic-bezier(.2,.8,.2,1);
  box-shadow:0 30px 80px rgba(0,0,0,.5);
}
.copy-choice-hd{
  padding:16px 18px 12px;
  border-bottom:1px solid var(--hairline);
  display:flex;align-items:flex-start;justify-content:space-between;gap:12px;
}
.copy-choice-hd-name{font-weight:700;font-size:16px;color:var(--text-1)}
.copy-choice-hd-sub{font-size:12px;color:var(--text-3);margin-top:2px}
.copy-choice-close{
  background:none;border:none;color:var(--text-3);
  font-size:22px;line-height:1;cursor:pointer;padding:2px 6px;border-radius:8px;
}
.copy-choice-close:hover{color:var(--text-1);background:rgba(255,255,255,.06)}
.copy-choice-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:10px}
.copy-choice-opt{
  display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  text-align:left;width:100%;
  background:rgba(255,255,255,.04);
  border:1px solid var(--hairline);
  border-radius:14px;
  padding:12px 14px;
  cursor:pointer;color:var(--text-1);
  transition:background .15s,border-color .15s;
}
.copy-choice-opt:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.22)}
.copy-choice-opt:active{background:rgba(255,255,255,.12)}
.copy-choice-opt-title{font-weight:700;font-size:14px}
.copy-choice-opt-desc{font-size:12px;color:var(--text-3);line-height:1.4}
.copy-choice-warn{color:#e0b45a}
@media (max-width:600px){
  .copy-choice-bg{padding:0;align-items:flex-end}
  .copy-choice-modal{max-width:none;border-radius:20px 20px 0 0;padding-bottom:env(safe-area-inset-bottom,0px)}
}

/* ─── Filter button + panel (V11-2026.07.24-5) ─────────────────────────── */
.filter-btn{display:flex;align-items:center;gap:7px;padding:0 14px;background:var(--bg-elev);border:1px solid var(--hairline);border-radius:12px;color:var(--text-2);font-size:13px;font-weight:600;font-family:inherit;cursor:pointer;flex-shrink:0;transition:border-color .15s,background .15s,color .15s}
.filter-btn:hover{background:var(--bg-elev2);border-color:var(--hairline-2);color:var(--text)}
.filter-btn.has-active{border-color:var(--accent-line);color:var(--accent)}
.filter-btn-ct{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;font-variant-numeric:tabular-nums}
.fp-overlay{position:fixed;inset:0;z-index:220;background:rgba(0,0,0,.45);backdrop-filter:blur(2px);-webkit-backdrop-filter:blur(2px)}
.fp-panel{position:absolute;top:104px;left:50%;transform:translateX(-50%);width:min(420px,calc(100vw - 28px));max-height:min(72vh,640px);display:flex;flex-direction:column;background:var(--bg-elev);border:1px solid var(--hairline-2);border-radius:16px;box-shadow:0 24px 60px rgba(0,0,0,.5);overflow:hidden}
.fp-head{display:flex;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--hairline)}
.fp-title{font-size:15px;font-weight:700;color:var(--text);flex:1}
.fp-clear{background:none;border:none;color:var(--accent);font-size:12px;font-weight:600;font-family:inherit;cursor:pointer;padding:4px 6px}
.fp-clear:hover{text-decoration:underline}
.fp-close{width:26px;height:26px;border:none;border-radius:50%;background:var(--hairline);color:var(--text-2);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0}
.fp-close:hover{background:var(--hairline-2);color:var(--text)}
.fp-scroll{overflow-y:auto;padding:6px 16px 10px;flex:1;-webkit-overflow-scrolling:touch}
.fp-group{padding:10px 0 4px}
.fp-group+.fp-group{border-top:1px solid var(--hairline)}
.fp-group-lbl{font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--text-3);margin-bottom:6px}
.fp-row{display:flex;align-items:center;gap:10px;padding:9px 4px;border-radius:8px;cursor:pointer;user-select:none;-webkit-user-select:none}
.fp-row:hover{background:var(--bg-elev2)}
.fp-row input{position:absolute;opacity:0;pointer-events:none}
.fp-box{width:18px;height:18px;border-radius:5px;border:1.5px solid var(--hairline-2);background:transparent;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}
.fp-row.on .fp-box{background:var(--accent);border-color:var(--accent)}
.fp-row.on .fp-box::after{content:"";width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg);margin-top:-2px}
.fp-swatch{width:12px;height:12px;border-radius:4px;flex-shrink:0}
.fp-lbl{flex:1;font-size:13.5px;color:var(--text);font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fp-row.on .fp-lbl{font-weight:600}
.fp-ct{font-size:12px;color:var(--text-3);font-variant-numeric:tabular-nums;font-weight:600;background:var(--hairline);padding:1px 8px;border-radius:9px;flex-shrink:0}
.fp-row.on .fp-ct{background:var(--accent-tint);color:var(--accent)}
.fp-empty{font-size:12px;color:var(--text-3);padding:8px 4px}
.fp-footer{padding:12px 16px;border-top:1px solid var(--hairline);background:var(--bg-elev)}
.fp-done{width:100%;padding:12px;border:none;border-radius:10px;background:var(--accent);color:#fff;font-size:14px;font-weight:700;font-family:inherit;cursor:pointer}
.fp-done:hover{filter:brightness(1.08)}
@media(max-width:640px){
  .filter-btn-lbl{display:none}
  .filter-btn{padding:0 12px}
  .fp-panel{top:auto;bottom:0;left:0;transform:none;width:100vw;max-width:100vw;max-height:82vh;border-radius:18px 18px 0 0;border-left:none;border-right:none;border-bottom:none;padding-bottom:env(safe-area-inset-bottom)}
}
/* revenue-band tiles are now buttons (tappable filters) */
button.ws-revband-tile{font-family:inherit;text-align:left;cursor:pointer;appearance:none;-webkit-appearance:none;transition:box-shadow .12s,transform .05s}
button.ws-revband-tile:hover{box-shadow:0 0 0 2px var(--hairline-2) inset}
button.ws-revband-tile:active{transform:scale(.98)}
button.ws-revband-tile.active{box-shadow:0 0 0 2px currentColor inset}

/* ── Survey Builder (Build 2026.07.26) ──────────────────────────────────── */
.svb-tabs{display:flex;gap:8px;margin:0 0 14px}
.svb-tab{padding:8px 18px;border-radius:10px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-2);font-size:13px;font-weight:800;cursor:pointer;font-family:inherit}
.svb-tab.active{background:var(--accent);border-color:var(--accent);color:#0c0a12}
.svb-card{border:1.5px solid var(--hairline);border-radius:14px;padding:14px 16px;margin:0 0 14px;background:rgba(255,255,255,.02)}
.svb-card-title{font-size:13px;font-weight:800;color:var(--text-1);margin-bottom:10px}
.svb-check{display:flex;align-items:center;gap:10px;flex-wrap:wrap;font-size:13px;font-weight:600;color:var(--text-1);padding:7px 2px;cursor:pointer}
.svb-check input{width:17px;height:17px;accent-color:#7c3aed;cursor:pointer;flex:none}
.svb-hint{font-size:11px;font-weight:600;color:var(--text-3);}
.svb-grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:720px){.svb-grid2{grid-template-columns:1fr}}
.svb-lbl{display:flex;flex-direction:column;gap:5px;font-size:11.5px;font-weight:700;color:var(--text-2)}
.svb-in,.svb-sel{padding:9px 10px;border-radius:9px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-1);font-size:13px;font-family:inherit;min-width:0}
.svb-sel{max-width:220px}
.svb-row{display:flex;gap:8px;margin-bottom:8px;align-items:center}
.svb-row .svb-in{flex:1}
.svb-row .svb-x{flex:0 0 auto;width:34px}
.svb-actions{display:flex;gap:10px;margin:6px 0 16px}
.svb-actions .ev-mini-btn{flex:0 0 auto;padding:10px 18px;font-size:12.5px}
.svb-plan-line{font-size:12.5px;color:var(--text-2);margin:5px 0;line-height:1.5}
.svb-plan-line b{color:var(--text-1)}
.svb-result a{color:var(--accent)}
.svb-slide-wrap{margin:12px 0;border:1.5px solid var(--hairline);border-radius:12px;overflow:hidden}
.svb-slide-wrap canvas{width:100%;height:auto;display:block}
/* Survey Builder catalog dropdowns + pencil (2026.07.26-3) */
.svb-title-sel{flex:1;max-width:none}
.svb-title-in{flex:1}
/* Mobile (2026-10-11, Dion): the title column truncated to "Think L". Advisor
   takes the full first line; title + pencil + remove wrap onto a second line. */
@media(max-width:640px){
  .svb-row{flex-wrap:wrap}
  .svb-row>select[data-svb-f="advisor"],.svb-row .svb-custom{flex:1 1 100%;max-width:none}
  .svb-row .svb-title-sel,.svb-row .svb-title-in{flex:1 1 0;min-width:0}
  .svb-sel{max-width:none;text-overflow:ellipsis}
}
.svb-pencil{flex:0 0 auto;width:34px}

/* ── Top Feedback Themes (nested in Comments section, 2026-08-05) ── */
.post-topthemes{background:var(--surface-2,rgba(139,92,246,.05));border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin:10px 0 14px}
.post-topthemes-title{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-2);margin-bottom:6px}
.post-topthemes-row{padding:8px 0;border-bottom:1px solid var(--border)}
.post-topthemes-row:last-of-type{border-bottom:none}
.post-topthemes-head{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.post-topthemes-label{font-weight:600;font-size:14px;color:var(--text)}
.post-topthemes-count{font-family:'Geist Mono',monospace;font-size:12px;color:var(--text-2);white-space:nowrap}
.post-topthemes-stmt{margin-top:5px;font-size:13.5px;line-height:1.5;color:var(--text);font-weight:500}
.post-topthemes-stmt-pending{color:var(--text-3);font-style:italic;font-weight:400}
.post-topthemes-quotes{margin-top:5px;display:flex;flex-direction:column;gap:3px}
.post-topthemes-quote{font-size:12.5px;line-height:1.45;color:var(--text-2);padding-left:10px;border-left:2px solid var(--accent,#8B5CF6);font-style:italic}


/* ─── Ed Sales color groups + collapsible headers (2026-08-27) ─────────── */
.ed-grp{border:1px solid;border-radius:14px;padding:10px 12px 12px;margin-top:10px}
.ed-grp-lbl{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:700;margin-bottom:8px}
.ed-grp .intel-kpis-compact{margin:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px}
.ed-grp .intel-kpi.compact{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.06);width:auto;min-width:0;flex:none}
.ed-grp .intel-kpi-lbl{font-size:11.5px;letter-spacing:.04em;color:rgba(255,255,255,.92);white-space:normal;overflow:visible;text-overflow:clip;line-height:1.25;min-height:2.5em;display:flex;align-items:flex-end}
.ed-grp-funnel{background:rgba(59,130,246,.10);border-color:rgba(59,130,246,.32)}
.ed-grp-funnel .ed-grp-lbl{color:#93c5fd}
.ed-grp-closes{background:rgba(16,185,129,.10);border-color:rgba(16,185,129,.32)}
.ed-grp-closes .ed-grp-lbl{color:#6ee7b7}
.ed-grp-rates{background:rgba(168,85,247,.10);border-color:rgba(168,85,247,.32)}
.ed-grp-rates .ed-grp-lbl{color:#d8b4fe}
.ed-grp-money{background:rgba(245,158,11,.10);border-color:rgba(245,158,11,.32)}
.ed-grp-money .ed-grp-lbl{color:#fcd34d}
.ed-grp-cohort{background:rgba(20,184,166,.10);border-color:rgba(20,184,166,.32)}
.ed-grp-cohort .ed-grp-lbl{color:#5eead4}
.ed-tog{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px}
.ed-tog:hover .intel-section-ttl{opacity:.85}
.ed-caret{display:inline-block;font-size:12px;opacity:.7;transition:transform .15s ease}
.ed-caret.closed{transform:rotate(-90deg)}

.ed-row-lbl{font-size:10px;letter-spacing:.1em;text-transform:uppercase;font-weight:700;opacity:.6;margin:10px 0 6px}
.ed-grp .ed-row-lbl:first-of-type{margin-top:2px}


/* ─── ⓘ info tooltips on stat tiles (2026-08-27) ───────────────────────── */
.ed-info{display:inline-flex;align-items:center;justify-content:center;width:13px;height:13px;
  border-radius:50%;border:1px solid rgba(255,255,255,.35);font-size:9px;font-style:italic;
  font-weight:600;margin-left:5px;opacity:.55;cursor:help;position:relative;vertical-align:middle;
  text-transform:none;letter-spacing:0;flex:none}
.ed-info:hover,.ed-info:focus{opacity:1;border-color:rgba(255,255,255,.7);outline:none}
.ed-info:hover::after,.ed-info:focus::after{content:attr(data-tip);position:absolute;bottom:150%;
  left:50%;transform:translateX(-50%);background:#171a22;border:1px solid rgba(255,255,255,.18);
  box-shadow:0 6px 24px rgba(0,0,0,.55);padding:9px 11px;border-radius:9px;width:210px;
  font-size:11px;font-style:normal;font-weight:500;line-height:1.45;letter-spacing:0;
  text-transform:none;color:#e6e8ef;text-align:left;white-space:normal;z-index:60;pointer-events:none}
.intel-kpi.compact:first-child .ed-info::after{left:0;transform:none}
.ed-grp .intel-kpi-lbl{overflow:visible}


/* ─── Personal Records group: gold theme + PR-hit celebration ──────────── */
.ed-grp-pr{background:linear-gradient(160deg,rgba(212,175,55,.13),rgba(212,175,55,.05));border-color:rgba(212,175,55,.45)}
.ed-grp-pr .ed-grp-lbl{color:#f2d477}
.ed-grp-pr .intel-kpi.compact{background:rgba(212,175,55,.06);border:1px solid rgba(212,175,55,.14)}
.ed-pr-hit{border:2px solid #f2c14e!important;background:rgba(242,193,78,.12)!important;animation:edPrPulse 1.8s ease-in-out infinite}
.ed-pr-hit-sub{color:#f2c14e!important;font-weight:700}
@keyframes edPrPulse{0%,100%{box-shadow:0 0 8px rgba(242,193,78,.35)}50%{box-shadow:0 0 22px rgba(242,193,78,.75)}}

/* ═══════════ FULL ROOM READY (Build V11-2026.08.29-3) ═══════════ */
.wd-mode.sel-green{background:color-mix(in srgb,#10b981 7%,var(--bg-elev));border-color:#10b981}
.wd-mode-radio.on-green{border-color:#10b981;background:#10b981}
.frr-meter{border:1.5px solid var(--hairline);border-radius:14px;background:var(--bg-elev);padding:14px 16px;margin:0 0 14px}
.frr-meter-row{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:8px}
.frr-meter-lbl{font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--text-3)}
.frr-meter-num{font-size:14px;font-weight:800}
.frr-meter-bar{height:8px;border-radius:6px;background:color-mix(in srgb,var(--text-3) 12%,transparent);overflow:hidden}
.frr-meter-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#059669,#10b981);transition:width .3s}
.frr-meter-100{margin-top:8px;font-size:12px;font-weight:800;letter-spacing:.1em;color:#10b981;text-align:center}
.frr-head{display:flex;align-items:center;gap:12px;padding:14px 0 10px}
.frr-head-photo{width:52px;height:52px;border-radius:14px;overflow:hidden;background:var(--bg-elev);border:1.5px solid var(--hairline);display:flex;align-items:center;justify-content:center;flex:none}
.frr-head-photo img{width:100%;height:100%;object-fit:cover}
.frr-head-photo .wd-q-mystery{font-size:18px;font-weight:800;color:var(--text-3)}
.frr-head-body{flex:1;min-width:0}
.frr-head-name{font-size:16px;font-weight:800;color:var(--text)}
.frr-head-sub{font-size:12px;color:var(--text-3);margin-top:2px}
.frr-head-count{font-size:15px;font-weight:800;color:var(--text)}
.frr-head-count span{font-size:11px;color:var(--text-3);font-weight:700}
.frr-pills{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 14px}
.frr-pill{font-size:9.5px;font-weight:800;letter-spacing:.09em;padding:5px 9px;border-radius:8px;border:1.5px solid var(--hairline);color:var(--text-3);background:var(--bg-elev)}
.frr-pill.live{border-color:#10b981;color:#10b981;background:color-mix(in srgb,#10b981 8%,var(--bg-elev))}
.frr-pill.ok{border-color:#10b981;color:#10b981}
.frr-pill.bad{border-color:#dc2626;color:#dc2626}
.frr-explain{margin-top:12px;padding:13px 15px;border-radius:12px;border:1.5px solid color-mix(in srgb,#10b981 45%,var(--hairline));background:color-mix(in srgb,#10b981 6%,var(--bg-elev))}
.frr-explain.miss{border-color:color-mix(in srgb,#dc2626 45%,var(--hairline));background:color-mix(in srgb,#dc2626 5%,var(--bg-elev))}
.frr-explain-lbl{font-size:10.5px;font-weight:800;letter-spacing:.12em;color:var(--text-3);margin-bottom:6px}
.frr-explain-txt{font-size:13.5px;line-height:1.6;color:var(--text)}
.frr-verdict{text-align:center;padding:26px 18px;border-radius:16px;border:1.5px solid var(--hairline);background:var(--bg-elev);margin-bottom:14px}
.frr-verdict.pass{border-color:color-mix(in srgb,#10b981 50%,var(--hairline))}
.frr-verdict.fail{border-color:color-mix(in srgb,#dc2626 40%,var(--hairline))}
.frr-verdict-emoji{font-size:42px;margin-bottom:8px}
.frr-verdict-title{font-size:20px;font-weight:800;letter-spacing:.08em;color:var(--text)}
.frr-verdict.pass .frr-verdict-title{color:#10b981}
.frr-verdict-sub{font-size:13px;color:var(--text-3);margin-top:6px;line-height:1.5}

/* ═══════════ READY BOARD (Build V11-2026.08.29-4) ═══════════ */
.frr-board-bar{height:7px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:7px;max-width:340px}
.frr-board-fill{height:100%;border-radius:5px;background:linear-gradient(90deg,#059669,#10b981);transition:width .3s}

/* Build V11-2026.08.29-5 — FRR option buttons were inheriting the UA default
   button color (near-black), unreadable on the dark theme. */
.wd-ans-item.frr-opt{color:var(--text)}
.wd-ans-item.frr-opt.dim{color:var(--text-3)}

/* ── Boardroom Surveys (Archives → Surveys → Boardrooms) — V11-2026.08.29-6 ──
   Workshops/Boardrooms mode toggle + boardroom-specific response table.
   KPIs, leaderboard, and comments reuse the .post-kpi-*, .post-lb-*, and
   .post-comment* families. */
.arch-svy-toggle{display:flex;gap:6px;padding:0 16px 14px}
.arch-svy-mode{background:var(--bg-elev);border:1.5px solid var(--hairline);color:var(--text-2);font-family:inherit;font-size:13px;font-weight:600;padding:8px 18px;border-radius:999px;cursor:pointer;transition:color .12s,border-color .12s,background .12s}
.arch-svy-mode:hover{border-color:rgba(168,85,247,.35);color:var(--text)}
.arch-svy-mode.active{background:color-mix(in srgb,#a855f7 16%,transparent);border-color:#a855f7;color:#fff}
html.light .arch-svy-mode.active{color:var(--accent)}
.br-kpi-denom{font-size:16px;font-weight:600;color:var(--text-2);margin-left:2px}
.br-section{margin-bottom:26px}
.br-section-title{font-size:13px;font-weight:700;color:var(--text);text-transform:uppercase;letter-spacing:.05em;margin-bottom:10px}
.br-note{font-size:12px;color:var(--text-2);background:color-mix(in srgb,#a855f7 8%,transparent);border:1px solid color-mix(in srgb,#a855f7 25%,var(--hairline));border-radius:10px;padding:10px 12px;margin-bottom:12px}
.br-table-wrap{overflow-x:auto;border:1px solid var(--hairline);border-radius:12px}
.br-table{width:100%;border-collapse:collapse;font-size:13px}
.br-table th{text-align:left;font-size:11px;font-weight:700;color:var(--text-2);text-transform:uppercase;letter-spacing:.04em;padding:10px 12px;border-bottom:1px solid var(--hairline);background:var(--bg-elev);white-space:nowrap}
.br-table td{padding:9px 12px;border-bottom:1px solid var(--hairline);vertical-align:top;color:var(--text)}
.br-table tbody tr:last-child td{border-bottom:none}
.br-table tbody tr:hover{background:color-mix(in srgb,#a855f7 5%,transparent)}
.br-td-date{white-space:nowrap;color:var(--text-2);font-weight:600}
.br-td-name{font-weight:600}
.br-td-biz{font-size:11.5px;color:var(--text-2);margin-top:1px}
.br-dim{color:var(--text-3)}
.br-badge{font-size:10px;font-weight:700;padding:2px 7px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.br-badge-yes{background:color-mix(in srgb,#22c55e 18%,transparent);color:#22c55e}
.br-badge-fast{background:color-mix(in srgb,#a855f7 18%,transparent);color:#a855f7}

/* Boardroom advisor scoreboard (V11-2026.08.29-7) */
.br-adv-name{font-weight:700;color:var(--text)}
.br-row-dim td{color:var(--text-2);font-style:italic}

/* Boardroom drill-down (V11-2026.08.29-9) — advisor → sessions → scorecard */
.br-sub{color:var(--text-2);font-size:13px;margin:4px 0 14px}
.br-adv-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px}
.br-adv-card{background:var(--panel,#121212);border:1px solid var(--line,#262626);border-radius:10px;padding:16px;cursor:pointer;transition:border-color .12s,transform .12s}
.br-adv-card:hover{border-color:#8B5CF6;transform:translateY(-1px)}
.br-adv-card-name{font-size:16px;font-weight:700}
.br-adv-card-meta{color:var(--text-2);font-size:12px;margin-top:6px}
.br-sess-row{display:flex;align-items:center;justify-content:space-between;background:var(--panel,#121212);border:1px solid var(--line,#262626);border-radius:10px;padding:14px 16px;margin-bottom:10px;cursor:pointer;transition:border-color .12s}
.br-sess-row:hover{border-color:#8B5CF6}
.br-sess-date{font-size:15px;font-weight:600}
.br-sess-meta{color:var(--text-2);font-size:12px;margin-top:2px}
.br-sess-right{display:flex;gap:14px;align-items:center}
.br-chip{font-size:12px;padding:3px 9px;border-radius:99px;border:1px solid var(--line,#262626);color:var(--text-2)}
.br-chip b{color:var(--text)}
.br-chip-arrow{color:var(--text-2)}
.br-back{display:inline-flex;align-items:center;gap:6px;color:#8B5CF6;font-size:13px;cursor:pointer;margin-bottom:14px;user-select:none}
.br-back:hover{text-decoration:underline}
.br-lvl-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:8px}
.br-lvl-title{font-size:18px;font-weight:700}
.br-count{font-size:12px;color:var(--text-2)}
.br-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin:16px 0 6px}
.br-kpi{background:var(--panel,#121212);border:1px solid var(--line,#262626);border-radius:10px;padding:12px 14px}
.br-kpi-lbl{font-size:10.5px;letter-spacing:.09em;text-transform:uppercase;color:var(--text-2)}
.br-kpi-num{font-size:22px;font-weight:800;margin-top:4px}
.br-kpi-sub{font-size:11px;color:var(--text-2);margin-top:2px}
.br-sect-title{font-size:11px;letter-spacing:.11em;text-transform:uppercase;color:var(--text-2);margin:20px 0 10px}
.br-att{background:var(--panel,#121212);border:1px solid var(--line,#262626);border-radius:10px;padding:16px;margin-bottom:12px}
.br-att-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;flex-wrap:wrap}
.br-att-name{font-weight:700;font-size:15px}
.br-att-biz{color:var(--text-2);font-size:12px;margin-top:1px}
.br-att-scores{display:flex;gap:8px;flex-wrap:wrap}
.br-score{font-size:12px;padding:3px 9px;border-radius:6px;background:var(--panel-2,#181818);border:1px solid var(--line,#262626)}
.br-badge{font-size:11px;padding:3px 8px;border-radius:99px;font-weight:600}
.br-badge-growth{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.3)}
.br-badge-fast{background:rgba(139,92,246,.14);color:#8B5CF6;border:1px solid rgba(139,92,246,.35)}
.br-badge-no{background:rgba(138,138,138,.08);color:var(--text-2);border:1px solid var(--line,#262626)}
.br-q{margin-top:12px}
.br-q-lbl{font-size:10.5px;letter-spacing:.08em;text-transform:uppercase;color:#8B5CF6;margin-bottom:3px}
.br-q-txt{font-size:13.5px;line-height:1.5}
.br-q-empty{color:#4a4a4a;font-style:italic}

/* Boardroom sales + feedback sections (V11-2026.08.29-10) */
.br-chips-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:12px}
.br-note{color:var(--text-2);font-size:12px;font-style:italic;margin:6px 0 10px}
.br-sale-row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;background:var(--panel,#121212);border:1px solid var(--line,#262626);border-radius:8px;padding:10px 14px;margin-bottom:8px}
.br-sale-buyer{font-weight:600;font-size:13.5px}
.br-sale-biz{color:var(--text-2);font-size:12.5px}
.br-sale-right{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.br-sale-amt{font-weight:800;color:#10b981}
.br-sale-when{color:var(--text-2);font-size:12px}
.br-badge-sale{background:rgba(16,185,129,.12);color:#10b981;border:1px solid rgba(16,185,129,.3)}

/* ═══════════ THE GAUNTLET (Build V11-2026.08.29-11) ═══════════ */
.wd-mode.sel-purple{background:color-mix(in srgb,#7c3aed 7%,var(--bg-elev));border-color:#7c3aed}
.wd-mode-radio.on-purple{border-color:#7c3aed;background:#7c3aed}
.gnt-intake{border:1.5px solid var(--hairline);border-radius:14px;background:var(--bg-elev);padding:15px 16px;margin-top:6px}
.gnt-biz{font-size:15px;font-weight:800;color:var(--text);margin-bottom:10px}
.gnt-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.gnt-cell{border:1px solid var(--hairline);border-radius:10px;padding:8px 10px;background:var(--bg)}
.gnt-k{font-size:9.5px;font-weight:800;letter-spacing:.12em;color:var(--text-3)}
.gnt-v{font-size:13.5px;font-weight:700;color:var(--text);margin-top:2px}
.gnt-note{margin-top:10px;font-size:13px;font-style:italic;color:var(--text-2);line-height:1.5}
.gnt-reveal{border:1.5px solid color-mix(in srgb,#7c3aed 45%,var(--hairline));background:color-mix(in srgb,#7c3aed 6%,var(--bg-elev));border-radius:12px;padding:12px 14px;margin-top:12px}
.gnt-reveal-l{font-size:10px;font-weight:800;letter-spacing:.14em;color:#8b5cf6;margin-bottom:6px}
.gnt-reveal-r{font-size:13px;color:var(--text);line-height:1.55;margin-top:4px}
.gnt-patch{border:1.5px solid color-mix(in srgb,#d97706 40%,var(--hairline));background:color-mix(in srgb,#d97706 5%,var(--bg-elev));border-radius:13px;padding:13px 15px;margin-bottom:9px}
.gnt-patch-t{font-size:13px;font-weight:800;color:var(--text)}
.gnt-patch-r{font-size:12.5px;color:var(--text-2);line-height:1.55;margin-top:6px}
.gnt-patch-w{margin-top:10px;background:#d97706;color:#fff;border:none;border-radius:9px;padding:8px 14px;font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
/* Advisor picker cards with Slack photos (V11-2026.08.29-11) */
.br-adv-card{text-align:center;padding:20px 16px 16px}
.br-adv-photo,.br-adv-initials{width:64px;height:64px;border-radius:50%;object-fit:cover;margin:0 auto 10px;display:flex;align-items:center;justify-content:center;border:2px solid var(--line,#262626);transition:border-color .12s}
.br-adv-card:hover .br-adv-photo,.br-adv-card:hover .br-adv-initials{border-color:#8B5CF6}
.br-adv-initials{background:linear-gradient(135deg,rgba(139,92,246,.25),rgba(139,92,246,.08));color:#8B5CF6;font-weight:800;font-size:20px}
.br-adv-card-title{color:var(--text-2);font-size:11.5px;margin-top:3px;line-height:1.35}
.br-adv-card-rev{color:#10b981;font-weight:700}


/* ═══ KNOW THE ROOM (V11-2026.09.22-1) ═══ */
.ktr-cue-lbl{font-size:10.5px;font-weight:800;letter-spacing:.14em;color:var(--text-3);text-align:center;margin:6px 0 10px}
.ktr-face{width:150px;height:150px;border-radius:50%;margin:0 auto;overflow:hidden;border:3px solid var(--hairline);background:var(--bg-elev)}
.ktr-face img{width:100%;height:100%;object-fit:cover}
.ktr-cue-big{font-size:26px;font-weight:900;letter-spacing:-.03em;color:var(--text);text-align:center;padding:26px 12px;border:1.5px solid var(--hairline);border-radius:16px;background:var(--bg-elev);line-height:1.2}
.ktr-cue-text{font-size:17px;font-weight:600;color:var(--text);text-align:center;padding:22px 18px;border:1.5px solid var(--hairline);border-radius:16px;background:var(--bg-elev);line-height:1.5}
.wd-ans-item.ktr-opt{display:flex;align-items:center;gap:12px;padding:12px 14px;margin-bottom:8px;position:relative}
.ktr-opt-body{flex:1;min-width:0}
.ktr-opt-body .wd-ans-founder{font-size:15px}
.ktr-mark{font-size:16px;font-weight:900}
.ktr-av{border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;font-weight:800;color:var(--text-2);background:color-mix(in srgb,var(--text-3) 18%,var(--bg-elev));flex:0 0 auto}
.ktr-av img{width:100%;height:100%;object-fit:cover}
.ktr-card{border:1.5px solid var(--hairline);border-radius:16px;background:var(--bg-elev);padding:14px 16px;margin-top:10px}
.ktr-card.compact{padding:11px 13px;margin-bottom:8px;margin-top:0}
.ktr-card-head{display:flex;align-items:center;gap:12px}
.ktr-card-id{flex:1;min-width:0}
.ktr-card-name{font-size:16px;font-weight:800;color:var(--text);line-height:1.2}
.ktr-card-co{font-size:12.5px;color:var(--text-2);margin-top:2px}
.ktr-card-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.ktr-card-stats span{font-size:11px;font-weight:800;color:var(--text-2);background:color-mix(in srgb,var(--text-3) 12%,transparent);border-radius:100px;padding:3px 9px}
.ktr-card-line{font-size:13.5px;color:var(--text);line-height:1.5;margin-top:10px}
.ktr-card-line.stuck{color:var(--text-2)}
.ktr-card-lbl{font-size:10px;font-weight:800;letter-spacing:.1em;color:#d97706;text-transform:uppercase;margin-right:4px}
.ktr-card.compact .ktr-card-line{font-size:12.5px;margin-top:7px}

/* ── Vantage+ VIPs study mode (V11-2026.09.29-1) — vip* in app.games2.js ── */
.vip-pill{display:inline-flex;align-items:center;font-size:10.5px;font-weight:800;letter-spacing:.04em;padding:3px 9px;border-radius:100px;color:#0a0a0f;background:#ffc400;line-height:1.3}
.vip-meter .frr-meter-fill.vip{background:linear-gradient(90deg,#d97706,#ffc400)}
.vip-setup-row{display:flex;gap:8px;margin:0 0 14px}
.vip-setup-btn{flex:1;padding:11px;border-radius:12px;border:1.5px solid var(--hairline);background:var(--bg-elev);color:var(--text-2);font-size:13px;font-weight:700;cursor:pointer;font-family:inherit}
.vip-setup-btn:active{transform:scale(.98)}
.vip-title{font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--text);padding-top:10px}
.vip-title span{font-size:13px;font-weight:800;color:#ffc400;margin-left:6px}
.vip-sub{font-size:13px;color:var(--text-3);line-height:1.5;margin:4px 0 14px}
.vip-front{text-align:center;padding:18px 14px 22px;border:1.5px solid var(--hairline);border-radius:18px;background:var(--bg-elev);margin:6px 0 14px}
.vip-face{margin-bottom:14px;display:flex;align-items:center;justify-content:center;font-size:42px;font-weight:900;color:var(--text-3)}
.vip-front-name{font-size:22px;font-weight:900;letter-spacing:-.02em;color:var(--text);line-height:1.15}
.vip-front-co{font-size:14px;color:var(--text-2);margin-top:4px}
.vip-prompt{font-size:12.5px;color:var(--text-3);line-height:1.5;margin-top:16px;padding-top:14px;border-top:1px solid var(--hairline)}
.vip-sheet{border:1.5px solid var(--hairline);border-radius:16px;background:var(--bg-elev);padding:14px 16px;margin-top:10px}
.vip-sheet.compact{padding:11px 13px;margin:0 0 8px}
.vip-sheet-head{display:flex;align-items:center;gap:12px}
.vip-sheet-id{flex:1;min-width:0}
.vip-sheet-name{font-size:16px;font-weight:800;color:var(--text);line-height:1.2}
.vip-sheet-co{font-size:12.5px;color:var(--text-2);margin-top:2px}
.vip-stats{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.vip-stats span{font-size:11px;font-weight:700;color:var(--text-2);background:color-mix(in srgb,var(--text-3) 12%,transparent);border-radius:100px;padding:3px 9px}
.vip-stats span b{color:var(--text-3);font-weight:800;font-size:9.5px;letter-spacing:.08em;text-transform:uppercase;margin-right:3px}
.vip-line{font-size:13px;color:var(--text);line-height:1.5;margin-top:8px}
.vip-line.stuck{color:var(--text-2)}
.vip-line.dim{color:var(--text-3);font-size:12px}
.vip-inline-lbl{font-size:10px;font-weight:800;letter-spacing:.1em;color:#d97706;text-transform:uppercase;margin-right:4px}
.vip-sec{margin-top:13px;padding-top:12px;border-top:1px solid var(--hairline)}
.vip-sec-lbl{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--text-3);text-transform:uppercase;margin-bottom:5px}
.vip-sec.stuck .vip-sec-lbl{color:#d97706}
.vip-sec.real .vip-sec-lbl{color:#dc2626}
.vip-sec.lever .vip-sec-lbl{color:#0d9488}
.vip-sec.hook .vip-sec-lbl{color:#ffc400}
.vip-sec-txt{font-size:13.5px;line-height:1.55;color:var(--text)}
.vip-sec-txt.dim{color:var(--text-3);font-style:italic}
.vip-bullet{position:relative;padding-left:14px;margin-bottom:6px}
.vip-bullet::before{content:'\2022';position:absolute;left:0;color:var(--text-3)}
.vip-bullet:last-child{margin-bottom:0}
.vip-rate-row{display:flex;gap:8px;margin-top:14px}
.vip-rate{flex:1;padding:16px;border-radius:14px;font-size:15px;font-weight:900;cursor:pointer;font-family:inherit;border:2px solid var(--hairline)}
.vip-rate.again{background:transparent;color:var(--text-2)}
.vip-rate.got{background:#ffc400;border-color:#ffc400;color:#0a0a0f}
.vip-rate:active{transform:scale(.98)}
.vip-roster-row{cursor:pointer;margin-bottom:8px}
.vip-roster-row .vip-sheet{margin:0}
.vip-roster-more{font-size:11px;font-weight:700;color:var(--text-3);text-align:right;padding:4px 6px 0}
.vip-locked-row{display:flex;align-items:center;gap:10px;padding:9px 12px;border:1.5px solid var(--hairline);border-radius:11px;background:var(--bg-elev);margin-bottom:6px}
.vip-locked-row > div{flex:1;min-width:0;display:flex;flex-direction:column}
.vip-locked-row b{font-size:13px;font-weight:800;color:var(--text)}
.vip-locked-row span{font-size:11px;color:var(--text-3)}
.vip-locked-row em{font-style:normal;font-weight:900;color:#10b981}
.vip-more{font-size:11px;font-weight:800;letter-spacing:.06em;color:#ffc400;cursor:pointer;margin-top:5px;text-transform:uppercase}

/* ── Room Podcast (pod) + Frameworks (fw) — Build V11-2026.10.04-5 ── */
.wd-mode-radio.on-blue{border-color:#3b82f6;background:#3b82f6}
.pod-status{font-size:13px;color:var(--text-2);line-height:1.5;margin:0 0 10px}
.pod-status b{color:var(--text);font-weight:900}
.pod-missing{color:#f59e0b;font-weight:700}
.pod-gen{width:100%;padding:11px;border-radius:12px;border:1.5px dashed #3b82f6;background:transparent;color:#60a5fa;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;margin:0 0 12px}
.pod-gen:disabled{opacity:.6;cursor:default}
.pod-gen-msg{font-size:12px;color:var(--text-3);line-height:1.5;margin:-4px 0 12px}
.pod-chips{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pod-chip{padding:7px 12px;border-radius:100px;border:1.5px solid var(--hairline);background:var(--bg-elev);color:var(--text-2);font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
.pod-chip.on{border-color:#3b82f6;background:color-mix(in srgb,#3b82f6 14%,var(--bg-elev));color:#60a5fa}
.fw-chips .pod-chip.on{border-color:#a855f7;background:color-mix(in srgb,#a855f7 14%,var(--bg-elev));color:#c084fc}
.pod-face{width:46px;height:46px;border-radius:50%;overflow:hidden;flex:none;display:flex;align-items:center;justify-content:center;background:var(--hairline);font-size:15px;font-weight:900;color:var(--text-3)}
.pod-face img{width:100%;height:100%;object-fit:cover;display:block}
.pod-face.sm{width:40px;height:40px;font-size:13px}
.pod-player{position:sticky;top:0;z-index:5;border:1.5px solid #3b82f6;border-radius:16px;background:var(--bg-elev);padding:12px 14px 10px;margin:0 0 12px;box-shadow:0 8px 24px rgba(0,0,0,.18)}
.pod-player-top{display:flex;align-items:center;gap:12px}
.pod-player-id{flex:1;min-width:0}
.pod-player-name{font-size:17px;font-weight:900;color:var(--text);line-height:1.15;letter-spacing:-.01em}
.pod-player-co{font-size:12px;color:var(--text-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pod-speed{flex:none;padding:6px 10px;border-radius:100px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-2);font-size:12px;font-weight:800;cursor:pointer;font-family:inherit}
.pod-prog{height:8px;border-radius:100px;background:var(--hairline);margin:12px 0 8px;cursor:pointer;overflow:hidden}
.pod-prog-fill{height:100%;width:0;background:linear-gradient(90deg,#3b82f6,#60a5fa);border-radius:100px;transition:width .25s linear}
.pod-ctl{display:flex;align-items:center;justify-content:space-between;gap:8px}
.pod-time{font-size:11px;font-weight:700;color:var(--text-3);font-variant-numeric:tabular-nums;min-width:80px}
.pod-btns{display:flex;align-items:center;gap:6px}
.pod-btn{width:40px;height:40px;border-radius:50%;border:1.5px solid var(--hairline);background:transparent;color:var(--text);font-size:15px;cursor:pointer;font-family:inherit;display:flex;align-items:center;justify-content:center}
.pod-btn.big{width:52px;height:52px;background:#3b82f6;border-color:#3b82f6;color:#fff;font-size:18px}
.pod-btn:active{transform:scale(.96)}
.pod-auto{padding:6px 10px;border-radius:100px;border:1.5px solid var(--hairline);background:transparent;color:var(--text-3);font-size:11px;font-weight:800;cursor:pointer;font-family:inherit;min-width:88px}
.pod-auto.on{border-color:#10b981;color:#10b981}
.pod-err{font-size:12px;color:#dc2626;font-weight:700;margin-top:8px}
.pod-script-tgl{display:block;margin:8px auto 0;background:transparent;border:none;color:var(--text-3);font-size:11px;font-weight:700;cursor:pointer;font-family:inherit}
.pod-script{font-size:13.5px;line-height:1.6;color:var(--text);margin-top:8px;padding-top:10px;border-top:1px solid var(--hairline)}
.pod-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border:1.5px solid var(--hairline);border-radius:14px;background:var(--bg-elev);margin-bottom:8px;cursor:pointer}
.pod-row.now{border-color:#3b82f6;background:color-mix(in srgb,#3b82f6 8%,var(--bg-elev))}
.pod-row-id{flex:1;min-width:0}
.pod-row-name{font-size:15px;font-weight:800;color:var(--text);line-height:1.2}
.pod-row-co{font-size:12px;color:var(--text-2);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pod-row-dur{font-size:11px;font-weight:700;color:var(--text-3);font-variant-numeric:tabular-nums}
.pod-row-ic{width:34px;height:34px;border-radius:50%;background:var(--hairline);color:var(--text);display:flex;align-items:center;justify-content:center;font-size:12px;flex:none}
.pod-row.now .pod-row-ic{background:#3b82f6;color:#fff}

.fw-meter .frr-meter-fill.fw{background:linear-gradient(90deg,#7c3aed,#a855f7)}
.fw-front,.fw-back{border:1.5px solid var(--hairline);border-radius:18px;background:var(--bg-elev);padding:20px 18px 22px;margin:6px 0 14px}
.fw-front{text-align:center}
.fw-deck-pill{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;padding:3px 10px;border-radius:100px;margin-bottom:12px;color:#fff;background:#a855f7}
.fw-deck-pill.green{background:#10b981}
.fw-deck-pill.gold{background:#d97706}
.fw-deck-pill.purple{background:#a855f7}
.fw-term{font-size:34px;font-weight:900;letter-spacing:-.03em;line-height:1.05;color:var(--text)}
.fw-term.sm{font-size:24px;text-align:left}
.fw-term.sm span,.fw-read-term span{font-size:13px;font-weight:700;color:var(--text-3);letter-spacing:0;margin-left:6px}
.fw-sub{font-size:14px;font-weight:700;color:#c084fc;margin-top:6px;letter-spacing:.04em;text-transform:uppercase}
.fw-svg{display:block;width:100%;max-width:360px;height:auto;margin:16px auto 0}
.fw-back .fw-svg{margin:12px 0 4px}
.fw-def{font-size:19px;line-height:1.4;color:var(--text);font-weight:600;margin-top:12px;letter-spacing:-.01em}
.fw-sec{margin-top:14px;padding-top:12px;border-top:1px solid var(--hairline)}
.fw-sec-lbl{font-size:10px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;margin-bottom:5px;color:var(--text-3)}
.fw-sec-lbl.ex{color:#10b981}
.fw-sec-lbl.tell{color:#f59e0b}
.fw-sec-txt{font-size:15px;line-height:1.55;color:var(--text)}
.vip-rate.got.fw{background:#a855f7;border-color:#a855f7;color:#fff}
.fw-read-row{border:1.5px solid var(--hairline);border-radius:14px;background:var(--bg-elev);padding:14px 16px;margin-bottom:8px;cursor:pointer}
.fw-read-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}
.fw-read-term{font-size:20px;font-weight:900;letter-spacing:-.02em;color:var(--text);line-height:1.15}
.fw-read-chev{color:var(--text-3);font-size:14px;flex:none;padding-top:3px}
.fw-read-def{font-size:15px;line-height:1.5;color:var(--text-2);margin-top:6px}
/* Room Podcast: cohort briefings + tools (V11-2026.10.04-6) */
.pod-tools{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 12px}
.pod-tool{padding:7px 11px;border-radius:100px;border:1.5px solid var(--hairline);background:var(--bg-elev);color:var(--text-2);font-size:11.5px;font-weight:800;cursor:pointer;font-family:inherit;text-decoration:none;display:inline-flex;align-items:center}
.pod-sec-lbl{font-size:10px;font-weight:800;letter-spacing:.14em;color:var(--text-3);text-transform:uppercase;margin:14px 0 8px}
.pod-brief{border:1.5px solid var(--hairline);border-radius:16px;background:var(--bg-elev);margin-bottom:10px;overflow:hidden}
.pod-brief.now{border-color:#3b82f6}
.pod-brief-head{display:flex;align-items:center;gap:12px;padding:12px 12px 12px 14px;cursor:pointer}
.pod-brief-ic{width:46px;height:46px;border-radius:12px;background:color-mix(in srgb,#3b82f6 14%,var(--bg-elev));display:flex;align-items:center;justify-content:center;font-size:22px;flex:none}
.pod-brief-id{flex:1;min-width:0}
.pod-brief-name{font-size:16px;font-weight:900;color:var(--text);line-height:1.2}
.pod-brief-meta{font-size:12px;color:var(--text-2);margin-top:3px}
.pod-brief .pod-row-ic{border:none;cursor:pointer;font-family:inherit}
.pod-brief .pod-row-ic.now{background:#3b82f6;color:#fff}
.pod-chs{border-top:1px solid var(--hairline);max-height:420px;overflow-y:auto}
.pod-ch{display:flex;align-items:center;gap:10px;padding:8px 14px;cursor:pointer;border-bottom:1px solid var(--hairline)}
.pod-ch:last-child{border-bottom:none}
.pod-ch.now{background:color-mix(in srgb,#3b82f6 10%,var(--bg-elev))}
.pod-ch-name{font-size:14px;font-weight:800;color:var(--text);line-height:1.2}
.pod-face.xs{width:32px;height:32px;font-size:11px}
.pod-chapter{font-size:12px;font-weight:800;color:#60a5fa;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fw-deck-pill.red{background:#dc2626}
.fw-deck-pill.blue{background:#3b82f6}

/* Advisor all-time workshop count pill (2026-10-06) — see advisorWorkshopCount() in app.render.js */
.adv-wscount{display:inline-block;margin-left:8px;padding:2px 7px;border-radius:999px;font-family:'IBM Plex Mono',monospace;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;vertical-align:middle;line-height:1.3;background:rgba(255,255,255,.09);color:rgba(255,255,255,.72);white-space:nowrap}
html.light .adv-wscount{background:rgba(0,0,0,.07);color:rgba(0,0,0,.62)}
.adv-wscount.on-gold{background:rgba(0,0,0,.14);color:rgba(0,0,0,.7)}
.csat-champ-name .adv-wscount,.csat-medal-name .adv-wscount,.csat-row-name .adv-wscount{font-size:10px;letter-spacing:.06em;transform:translateY(-3px)}
.dossier-hero-name .adv-wscount{font-size:11px;transform:translateY(-3px)}
.settings-advisor-name .adv-wscount,.post-lb-namelbl .adv-wscount{font-size:9px;margin-left:6px}

/* ───────── Founder's Room (Live › Podcast) — Build V11-2026.10.14-1 ───────── */
.fr-wrap{max-width:1400px;margin:0 auto;padding:8px 24px 32px;box-sizing:border-box;width:100%}
.fr-card{display:flex;align-items:stretch;background:var(--bg-elev);border:1px solid var(--hairline-2);border-radius:22px;overflow:hidden;box-shadow:var(--shadow)}
.fr-cover{width:320px;height:320px;object-fit:cover;display:block;flex-shrink:0;border-right:1px solid var(--hairline)}
.fr-body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:12px;padding:28px 32px}
.fr-kicker{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--accent)}
.fr-head{font-size:30px;font-weight:800;letter-spacing:-.02em;line-height:1.05;color:var(--text)}
.fr-dim{color:var(--text-2);font-weight:500}
.fr-player{display:flex;align-items:center;gap:18px;margin-top:6px}
.fr-play{width:76px;height:76px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#b366f9 0%,#9333ea 100%);box-shadow:0 1px 0 rgba(255,255,255,.18) inset,0 8px 24px rgba(168,85,247,.4)}
.fr-play svg{width:30px;height:30px}
.fr-ic-pause{display:none}.playing>.fr-ic-pause{display:block}.playing>.fr-ic-play{display:none}
.fr-ctl{flex:1;min-width:0;display:flex;flex-direction:column;gap:12px}
.fr-prog-row{display:flex;align-items:center;gap:10px;max-width:380px}
.fr-prog{flex:1;margin:0;height:4px;background:var(--hairline-2)}
.fr-prog-fill{background:#a855f7}
.fr-time{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums;white-space:nowrap}
.fr-pills{display:flex;align-items:center;gap:8px}
.fr-pill{font-family:inherit;font-size:12px;font-weight:600;color:var(--text-2);background:transparent;border:1px solid var(--hairline-2);border-radius:999px;padding:7px 12px;display:inline-flex;align-items:center;gap:6px;cursor:pointer}
.fr-pill svg{width:14px;height:14px}
.fr-pill:hover{color:var(--text);border-color:var(--accent-line)}
.fr-list{display:flex;flex-direction:column;gap:8px;padding-top:14px}
.fr-list-hd{display:flex;justify-content:space-between;padding:6px 4px 8px;font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-2)}
.fr-row{display:grid;grid-template-columns:44px 1fr 56px 56px;align-items:center;gap:14px;padding:10px 14px;border:1px solid var(--hairline);border-radius:14px;background:transparent}
.fr-row.now{background:var(--accent-tint);border-color:var(--accent-line)}
.fr-row.done .fr-row-name{color:var(--text-2)}
.fr-row-btn{width:44px;height:44px;border-radius:50%;border:1px solid var(--hairline-2);background:var(--bg-elev2);color:var(--text);display:flex;align-items:center;justify-content:center;cursor:pointer}
.fr-row-btn svg{width:14px;height:14px}
.fr-row.playing .fr-row-btn .fr-ic-pause{display:block}.fr-row.playing .fr-row-btn .fr-ic-play{display:none}
.fr-row-id{min-width:0}
.fr-row-name{font-size:15px;font-weight:700;letter-spacing:-.01em;color:var(--text)}
.fr-row-co{font-size:12px;color:var(--text-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-row-rt{font-family:'Geist Mono',ui-monospace,monospace;font-size:11px;color:var(--text-2)}
.fr-row-dur{font-family:'Geist Mono',ui-monospace,monospace;font-size:12px;color:var(--text-2);font-variant-numeric:tabular-nums;text-align:right}
.fr-empty .fr-head{font-size:22px}
/* Founder's Room theme track (V11-2026.10.17-1) */
.fr-theme{display:flex;align-items:center;gap:16px;background:var(--bg-elev);border:1px solid var(--hairline-2);border-radius:18px;padding:14px 18px;margin-bottom:12px;box-shadow:var(--shadow)}
.fr-theme-cover{width:96px;height:96px;border-radius:12px;object-fit:cover;display:block;flex-shrink:0;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.fr-theme-play{width:52px;height:52px;border-radius:50%;border:none;cursor:pointer;flex-shrink:0;color:#fff;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#3a3a44 0%,#1b1b22 100%);box-shadow:0 1px 0 rgba(255,255,255,.14) inset,0 6px 18px rgba(0,0,0,.35)}
.fr-theme-play svg{width:22px;height:22px}
.fr-theme-play .fr-ic-pause{display:none}.fr-theme-play.playing .fr-ic-pause{display:block}.fr-theme-play.playing .fr-ic-play{display:none}
.fr-theme-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
.fr-theme-kicker{font-family:'Geist Mono',ui-monospace,monospace;font-size:10px;letter-spacing:.18em;text-transform:uppercase;color:var(--text-3)}
.fr-theme-title{font-size:17px;font-weight:800;letter-spacing:-.01em;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fr-theme .fr-prog-row{margin-top:2px}

@media (max-width:760px){
  .fr-wrap{padding:8px 16px 24px}
  .fr-card{flex-direction:column;border-radius:20px}
  .fr-cover{width:100%;height:auto;aspect-ratio:1/1;border-right:none;border-bottom:1px solid var(--hairline)}
  .fr-theme{gap:12px;padding:12px}.fr-theme-cover{width:72px;height:72px;border-radius:10px}
  .fr-body{padding:16px;gap:10px}
  .fr-head{font-size:20px}
  .fr-player{gap:14px}
  .fr-play{width:56px;height:56px}.fr-play svg{width:24px;height:24px}
  .fr-prog-row{max-width:none}
  .fr-row{grid-template-columns:40px 1fr 44px;gap:12px;padding:8px 10px}
  .fr-row-rt{display:none}
}

/* ── Live › Surveys › Build Rooms (app.buildroom.js, 2026-10-21) ─────────── */
.br-subtabs{margin:14px 0 10px}
.br-subtabs .ct{opacity:.7;font-weight:700;margin-left:4px}
.br-hd{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding:4px 0 14px;border-bottom:1px solid var(--hairline);margin-bottom:14px}
.br-title{font-size:22px;font-weight:800;letter-spacing:-.01em}
.br-sub{font-size:13px;color:var(--text-2);margin-top:4px;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.br-refresh{padding:4px 10px;font-size:12px}
.br-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 16px}
.br-kpi-val{font-size:34px;font-weight:800;line-height:1.1;margin:6px 0 2px}
.br-kpi-sub{font-size:12px;color:var(--text-2)}
.br-bar-row{display:grid;grid-template-columns:minmax(0,1fr) 90px 28px;align-items:center;gap:8px;margin:8px 0 0;font-size:12px}
.br-bar-lbl{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.br-bar{height:8px;border-radius:6px;background:rgba(255,255,255,.08);overflow:hidden}
.br-bar-fill{display:block;height:100%;background:var(--accent);border-radius:6px}
.br-bar-n{text-align:right;font-weight:700}
.br-list{display:grid;gap:10px}
.br-card{border:1.5px solid var(--hairline);border-radius:14px;padding:12px 14px;background:rgba(255,255,255,.02)}
.br-card-hd{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:14px}
.br-biz{color:var(--text-2);font-weight:500}
.br-card-meta{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:11px}
.br-chip{padding:2px 8px;border-radius:999px;border:1px solid var(--hairline);color:var(--text-2);font-weight:600}
.br-nps{padding:2px 8px;border-radius:999px;font-weight:800}
.br-nps-p{background:color-mix(in srgb,#22c55e 18%,transparent);color:#22c55e}
.br-nps-n{background:color-mix(in srgb,#eab308 18%,transparent);color:#eab308}
.br-nps-d{background:color-mix(in srgb,#ef4444 18%,transparent);color:#ef4444}
.br-when{color:var(--text-2);opacity:.8}
.br-card-body{margin-top:10px;display:grid;gap:6px}
.br-card-body.br-empty{color:var(--text-2);font-size:12px}
.br-line{display:grid;grid-template-columns:64px minmax(0,1fr);gap:8px;font-size:13px;line-height:1.45}
.br-k{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-2);padding-top:3px}
.br-v{white-space:pre-wrap;word-break:break-word}
@media(max-width:760px){.br-kpis{grid-template-columns:1fr}.br-hd{flex-direction:column;align-items:flex-start}}
