/* ============================================================
   SYNAPSE ARENA — Design System v7 port
   ============================================================ */
:root {
  --ink:           #15171C;
  --ink-deep:      #0F1115;
  --ink-soft:      #1B1E24;
  --card:          #20232A;
  --card-hi:       #282C35;
  --card-edge:     #2D323C;
  --border:        rgba(255,255,255,0.06);
  --border-mid:    rgba(255,255,255,0.10);
  --border-strong: rgba(255,255,255,0.16);
  --synapse:       #4F62EE;
  --synapse-deep:  #3849D0;
  --synapse-soft:  rgba(79,98,238,0.14);
  --synapse-glow:  rgba(79,98,238,0.35);
  --iris:          #B5A6FF;
  --iris-soft:     rgba(181,166,255,0.14);
  --profit:        #34D399;
  --profit-soft:   rgba(52,211,153,0.10);
  --loss:          #F25E73;
  --loss-soft:     rgba(242,94,115,0.10);
  --watch:         #F2A93B;
  --watch-soft:    rgba(242,169,59,0.12);
  --text:          #ECEAE4;
  --text-dim:      #A6ACB8;
  --text-muted:    #6E7686;
  --text-faint:    #3B414C;
  --font-sans:     'Geist', system-ui, sans-serif;
  --font-mono:     'Geist Mono', ui-monospace, monospace;
  --font-edit:     'Newsreader', Georgia, serif;
  --r-xs: 4px;
  --r-sm: 6px;
  --r-md: 10px;
  --r-lg: 14px;
  --r-xl: 22px;
  --sh-card: 0 1px 0 rgba(255,255,255,0.03) inset, 0 24px 48px -24px rgba(0,0,0,0.45);
  --sh-deep: 0 40px 100px rgba(0,0,0,0.55), 0 1px 0 rgba(255,255,255,0.04) inset;
}

/* Model brand colors */
:root {
  --anthropic:  #D4A684;
  --openai:     #74AA9C;
  --google:     #4285F4;
  --deepseek:   #4D6BFE;
  --xai:        #AAAAAA;
  --kimi:       #FF6B35;
  --mistral:    #F06B45;
  --meta:       #0668E1;
}

*{box-sizing:border-box;margin:0;padding:0}
html,body{background:var(--ink);color:var(--text);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;line-height:1.5;font-size:15px;min-height:100vh;overflow-x:hidden}
body{background:radial-gradient(1200px 700px at 90% -10%,rgba(79,98,238,0.07),transparent 65%),radial-gradient(900px 600px at -10% 30%,rgba(181,166,255,0.04),transparent 60%),var(--ink)}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer}
::selection{background:var(--synapse);color:var(--ink)}
::-webkit-scrollbar{width:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border-mid);border-radius:8px}

/* ============================================================
   NAV
   ============================================================ */
.nav{position:sticky;top:0;z-index:80;background:rgba(15,17,21,0.82);backdrop-filter:saturate(140%) blur(14px);-webkit-backdrop-filter:saturate(140%) blur(14px);border-bottom:1px solid var(--border)}
.nav-inner{max-width:1320px;margin:0 auto;padding:14px 32px;display:flex;align-items:center;gap:28px}
.brand-lockup{display:inline-flex;align-items:center;gap:10px;cursor:pointer}
.brand-lockup svg{width:20px;height:20px;color:var(--synapse)}
.brand-name{font-size:16px;letter-spacing:-0.01em;color:var(--text-dim);font-weight:400}
.brand-name span{color:var(--text);font-weight:500}
.nav-links{display:flex;gap:4px;margin-left:12px}
.nav-links button{background:none;border:none;padding:6px 14px;border-radius:var(--r-sm);font-size:13px;color:var(--text-dim);transition:all .15s}
.nav-links button:hover{color:var(--text);background:var(--card)}
.nav-links button.active{color:var(--text);background:var(--card-hi)}
.nav-spacer{flex:1}
.nav-pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);border:1px solid var(--border-mid);padding:4px 10px;border-radius:999px}
.nav-pill .dot{width:5px;height:5px;border-radius:50%;background:var(--profit);box-shadow:0 0 8px var(--profit);animation:pulse 1.6s infinite}
@keyframes pulse{50%{opacity:.45}}
.btn{font-size:12px;font-weight:500;padding:7px 16px;border-radius:var(--r-md);border:1px solid;transition:all .15s;cursor:pointer}
.btn-primary{background:var(--synapse);color:#fff;border-color:var(--synapse)}
.btn-primary:hover{background:var(--synapse-deep);border-color:var(--synapse-deep)}
.btn-ghost{background:transparent;color:var(--text-dim);border-color:var(--border-mid)}
.btn-ghost:hover{color:var(--text);border-color:var(--border-strong)}
.btn-iris{background:var(--iris-soft);color:var(--iris);border-color:rgba(181,166,255,0.3)}
.btn-iris:hover{background:rgba(181,166,255,0.22)}

/* ============================================================
   LAYOUT
   ============================================================ */
.shell{max-width:1320px;margin:0 auto;padding:0 32px}
.page-layout{display:grid;grid-template-columns:1fr;gap:0}
.section{padding:72px 0;border-top:1px solid var(--border)}
.section:first-child{border-top:none;padding-top:56px}

/* ============================================================
   CARDS
   ============================================================ */
.card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;box-shadow:var(--sh-card)}
.card-head{padding:16px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:12px}
.card-head .label{font-size:12px;font-weight:500;color:var(--text-dim);letter-spacing:0.02em;flex:1}
.card-body{padding:20px}

/* ============================================================
   TYPOGRAPHY
   ============================================================ */
.eyebrow{font-family:var(--font-mono);font-size:11px;letter-spacing:0.18em;text-transform:uppercase;color:var(--text-muted);display:inline-flex;align-items:center;gap:12px}
.eyebrow::before{content:'';width:22px;height:1px;background:var(--synapse)}
.eyebrow.iris::before{background:var(--iris)}
.eyebrow.profit::before{background:var(--profit)}
h1.hero-h{font-size:clamp(32px,5vw,64px);line-height:1.04;font-weight:500;letter-spacing:-0.03em;margin:20px 0 16px}
.serif-em{font-family:var(--font-edit);font-style:italic;font-weight:400;color:var(--synapse);letter-spacing:-0.01em}
.sub{color:var(--text-dim);font-size:16px;max-width:680px;line-height:1.6;margin-bottom:32px}

/* ============================================================
   SEAT COUNTER
   ============================================================ */
.seat-counter{background:var(--ink-soft);border:1px solid var(--border-mid);border-radius:var(--r-lg);padding:20px 24px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:0;overflow:hidden}
.seat-col{padding:0 20px;border-right:1px solid var(--border)}
.seat-col:first-child{padding-left:0}
.seat-col:last-child{border-right:none}
.seat-label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:6px}
.seat-label.iris{color:var(--iris)}
.seat-label.synapse{color:var(--synapse)}
.seat-label.profit{color:var(--profit)}
.seat-label.muted{color:var(--text-muted)}
.seat-num{font-size:36px;font-weight:600;letter-spacing:-0.03em;font-variant-numeric:tabular-nums;line-height:1}
.seat-num.iris{color:var(--iris)}
.seat-num.synapse{color:var(--synapse)}
.seat-num.profit{color:var(--profit)}
.seat-num.muted{color:var(--text-faint)}
.seat-of{font-size:14px;color:var(--text-muted);font-weight:400;margin-left:4px}
.seat-status{font-size:12px;color:var(--text-muted);margin-top:4px}
.seat-status.active{color:var(--text-dim)}
.seat-bar-wrap{height:3px;background:var(--card-edge);border-radius:2px;margin-top:10px;overflow:hidden}
.seat-bar{height:100%;border-radius:2px;transition:width .5s ease}
.seat-locked-badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);background:var(--ink);border:1px solid var(--border);border-radius:4px;padding:2px 8px;margin-top:6px}

/* ============================================================
   TIER CARDS
   ============================================================ */
.tier-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:32px}
.tier-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:24px;position:relative;display:flex;flex-direction:column;gap:0;overflow:hidden;transition:border-color .2s}
.tier-card.active{border-color:rgba(181,166,255,0.4);box-shadow:0 0 0 1px rgba(181,166,255,0.15),var(--sh-card)}
.tier-card.active.synapse-active{border-color:rgba(79,98,238,0.5);box-shadow:0 0 0 1px rgba(79,98,238,0.2),var(--sh-card)}
.tier-accent{position:absolute;top:0;left:0;width:3px;height:100%;border-radius:4px 0 0 4px}
.tier-name{font-family:var(--font-mono);font-size:10px;letter-spacing:0.18em;text-transform:uppercase;margin-bottom:16px;padding-left:10px}
.tier-price-row{display:flex;align-items:baseline;gap:4px;margin-bottom:4px;padding-left:10px}
.tier-price{font-size:38px;font-weight:600;letter-spacing:-0.03em;line-height:1}
.tier-unit{font-size:14px;color:var(--text-dim)}
.tier-duration{font-size:12px;color:var(--text-muted);padding-left:10px;margin-bottom:16px;font-style:italic}
.tier-divider{height:1px;background:var(--border);margin:16px 0}
.tier-remaining-label{font-family:var(--font-mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;padding-left:10px}
.tier-remaining{font-size:20px;font-weight:600;letter-spacing:-0.02em;padding-left:10px;margin-bottom:2px}
.tier-state{font-size:12px;color:var(--text-muted);padding-left:10px;margin-bottom:16px}
.tier-state.active-state{color:var(--text-dim)}
.tier-features{list-style:none;padding-left:10px;display:flex;flex-direction:column;gap:6px;margin-bottom:20px;flex:1}
.tier-features li{font-size:12px;color:var(--text-dim);display:flex;align-items:flex-start;gap:8px}
.tier-features li::before{content:'✓';color:var(--profit);font-size:11px;margin-top:1px;flex-shrink:0}
.tier-features li.locked::before{content:'—';color:var(--text-faint)}
.tier-features li.locked{color:var(--text-faint)}
.tier-cta{margin-top:auto;width:100%;padding:10px;border-radius:var(--r-md);font-size:13px;font-weight:500;border:1px solid;transition:all .15s}
.tier-cta.iris{background:var(--iris-soft);color:var(--iris);border-color:rgba(181,166,255,0.35)}
.tier-cta.iris:hover{background:rgba(181,166,255,0.22)}
.tier-cta.synapse{background:var(--synapse-soft);color:var(--synapse);border-color:var(--synapse-glow)}
.tier-cta.synapse:hover{background:rgba(79,98,238,0.22)}
.tier-cta.locked-cta{background:transparent;color:var(--text-faint);border-color:var(--border);cursor:not-allowed}

/* Legal disclaimer strip */
.disclaimer{background:var(--ink-soft);border:1px solid rgba(242,169,59,0.25);border-radius:var(--r-md);padding:12px 16px;display:flex;gap:12px;align-items:flex-start;margin-top:16px}
.disclaimer svg{flex-shrink:0;color:var(--watch);margin-top:1px}
.disclaimer p{font-size:12px;color:var(--text-dim);line-height:1.5;font-style:italic}

/* ============================================================
   LEADERBOARD
   ============================================================ */
.arena-layout{display:grid;grid-template-columns:1fr 340px;gap:16px;align-items:start}
.lb-table{width:100%;border-collapse:collapse}
.lb-table th{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);padding:10px 14px;text-align:left;border-bottom:1px solid var(--border)}
.lb-table th.right{text-align:right}
.lb-table td{padding:12px 14px;border-bottom:1px solid var(--border);vertical-align:middle;font-size:13px}
.lb-table tr:last-child td{border-bottom:none}
.lb-table tr{transition:background .12s;cursor:pointer}
.lb-table tr:hover td{background:rgba(255,255,255,0.02)}
.lb-table tr.selected td{background:var(--synapse-soft)}
.lb-rank{font-family:var(--font-mono);font-size:12px;color:var(--text-muted);width:32px}
.lb-model-cell{display:flex;align-items:center;gap:10px}
.model-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.model-name{font-weight:500;color:var(--text)}
.model-provider{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}
.lb-num{font-family:var(--font-mono);font-size:12px;font-variant-numeric:tabular-nums;text-align:right}
.lb-num.profit{color:var(--profit)}
.lb-num.loss{color:var(--loss)}
.lb-num.muted{color:var(--text-muted)}

/* Equity chart SVG */
.chart-area{background:var(--ink-deep);border-radius:var(--r-md);overflow:hidden;position:relative}
.chart-svg{display:block;width:100%}
.chart-labels{display:flex;justify-content:space-between;padding:6px 12px;font-family:var(--font-mono);font-size:10px;color:var(--text-muted)}

/* Period tabs */
.period-tabs{display:flex;gap:2px}
.period-tab{background:none;border:none;padding:4px 8px;border-radius:var(--r-xs);font-family:var(--font-mono);font-size:10px;color:var(--text-muted);cursor:pointer;transition:all .15s;letter-spacing:0.08em}
.period-tab:hover{color:var(--text-dim)}
.period-tab.on{color:var(--text);background:var(--card-hi)}

/* Market Pulse */
.pulse-table{width:100%;border-collapse:collapse}
.pulse-table th{font-family:var(--font-mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);padding:8px 10px;text-align:left;border-bottom:1px solid var(--border)}
.pulse-table td{padding:8px 10px;border-bottom:1px solid var(--border);font-size:12px;font-family:var(--font-mono);vertical-align:middle}
.pulse-table tr:last-child td{border-bottom:none}
.pulse-kind{display:inline-block;padding:1px 7px;border-radius:3px;font-size:10px;text-transform:uppercase;letter-spacing:0.1em}
.pulse-kind.price{background:var(--synapse-soft);color:var(--synapse)}
.pulse-kind.volume{background:var(--iris-soft);color:var(--iris)}
.pulse-dir.up{color:var(--profit);font-weight:600}
.pulse-dir.down{color:var(--loss);font-weight:600}
.pulse-mag{color:var(--text-dim);text-align:right}

/* ============================================================
   ONBOARDING WIZARD  (matches Trade screenshots exactly)
   ============================================================ */
.wizard-overlay{position:fixed;inset:0;background:rgba(10,11,14,0.85);backdrop-filter:blur(6px);z-index:200;display:flex;align-items:center;justify-content:center;padding:24px}
.wizard-shell{background:var(--ink-soft);border:1px solid var(--border-mid);border-radius:var(--r-xl);width:100%;max-width:720px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--sh-deep)}
.wizard-header{padding:16px 24px;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}
.wizard-brand{display:flex;align-items:center;gap:8px}
.wizard-brand svg{width:16px;height:16px;color:var(--synapse)}
.wizard-brand-label{font-size:14px;color:var(--text-dim)}
.wizard-brand-label b{color:var(--text)}
.wizard-close{background:none;border:none;color:var(--text-muted);font-size:18px;line-height:1;cursor:pointer;padding:4px 8px;border-radius:var(--r-sm);transition:all .15s}
.wizard-close:hover{background:var(--card-hi);color:var(--text)}

/* Step bar — top stepper identical to Trade onboarding */
.step-bar{padding:16px 24px 0;background:var(--ink)}
.step-bar-inner{display:flex;justify-content:center;gap:6px}
.step-item{display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;min-width:64px}
.step-circle{width:32px;height:32px;border-radius:50%;border:2px solid var(--border-mid);display:flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:12px;font-weight:600;color:var(--text-muted);transition:all .2s;background:var(--ink)}
.step-circle.done{background:var(--synapse);border-color:var(--synapse);color:#fff}
.step-circle.active{background:var(--card-hi);border-color:var(--synapse);color:var(--text)}
.step-label{font-size:10px;color:var(--text-muted);text-align:center;line-height:1.2;white-space:nowrap;font-family:var(--font-mono);letter-spacing:0.04em}
.step-label.active{color:var(--text-dim)}
.step-label.done{color:var(--synapse)}

/* Wizard body */
.wizard-body{flex:1;overflow-y:auto;padding:28px 32px}
.wizard-step-title{font-size:22px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px}
.wizard-step-sub{font-size:13px;color:var(--text-dim);margin-bottom:24px;line-height:1.5}

/* Field components */
.field{margin-bottom:16px}
.field-label{font-size:11px;font-weight:500;letter-spacing:0.06em;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;display:block}
.input{background:var(--ink);border:1px solid var(--border-mid);border-radius:var(--r-md);padding:10px 14px;color:var(--text);font-family:var(--font-sans);font-size:13px;width:100%;transition:border .15s,box-shadow .15s}
.input:focus{outline:none;border-color:var(--synapse);box-shadow:0 0 0 3px var(--synapse-soft)}
.input-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
select.input{cursor:pointer}
select.input option{background:var(--card)}

/* OTP input */
.otp-wrap{display:flex;gap:10px;margin-top:8px}
.otp-digit{width:52px;height:56px;border-radius:var(--r-md);border:1px solid var(--border-mid);background:var(--ink);color:var(--text);font-size:24px;font-family:var(--font-mono);font-weight:600;text-align:center;transition:border .15s}
.otp-digit:focus{outline:none;border-color:var(--synapse);box-shadow:0 0 0 3px var(--synapse-soft)}

/* Email verified badge */
.verified-badge{display:inline-flex;align-items:center;gap:6px;background:rgba(52,211,153,0.12);border:1px solid rgba(52,211,153,0.25);border-radius:var(--r-sm);padding:5px 12px;font-size:12px;color:var(--profit);font-family:var(--font-mono)}

/* Harness notice (like Trade dev mode) */
.harness-notice{background:var(--synapse-soft);border:1px solid rgba(79,98,238,0.3);border-radius:var(--r-md);padding:12px 14px;margin:12px 0}
.harness-notice .label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--synapse);margin-bottom:4px}
.harness-notice p{font-size:12px;color:var(--text-dim)}

/* Tier selector in onboarding */
.tier-select-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:20px}
.tier-select-card{border:1px solid var(--border-mid);border-radius:var(--r-lg);padding:20px;cursor:pointer;transition:all .15s;background:var(--ink);position:relative;overflow:hidden}
.tier-select-card:hover{border-color:var(--border-strong)}
.tier-select-card.selected.iris{border-color:rgba(181,166,255,0.5);background:var(--iris-soft);box-shadow:0 0 0 1px rgba(181,166,255,0.2)}
.tier-select-card.selected.synapse{border-color:var(--synapse-glow);background:var(--synapse-soft);box-shadow:0 0 0 1px var(--synapse-soft)}
.tier-select-card .sold-out{position:absolute;top:10px;right:10px;font-family:var(--font-mono);font-size:9px;letter-spacing:0.1em;text-transform:uppercase;color:var(--text-faint);background:var(--card-edge);border-radius:3px;padding:2px 6px}
.tier-select-name{font-family:var(--font-mono);font-size:10px;letter-spacing:0.16em;text-transform:uppercase;margin-bottom:10px}
.tier-select-name.iris{color:var(--iris)}
.tier-select-name.synapse{color:var(--synapse)}
.tier-select-price{font-size:28px;font-weight:600;letter-spacing:-0.03em;margin-bottom:2px}
.tier-select-unit{font-size:12px;color:var(--text-dim)}
.tier-select-features{list-style:none;margin-top:12px;display:flex;flex-direction:column;gap:5px}
.tier-select-features li{font-size:11px;color:var(--text-dim);display:flex;align-items:center;gap:6px}
.tier-select-features li::before{content:'✓';color:var(--profit);font-size:10px;flex-shrink:0}

/* Payment section */
.payment-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border)}
.payment-row:last-child{border-bottom:none}
.payment-total{font-size:18px;font-weight:600;color:var(--text)}
.stripe-badge{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}
.card-field-row{display:grid;grid-template-columns:1fr 80px 80px;gap:8px}

/* Doc acknowledgment rows (like Trade ADV + AI Disclosure) */
.doc-row{background:var(--ink);border:1px solid var(--border-mid);border-radius:var(--r-md);padding:14px 16px;display:flex;align-items:center;gap:14px;margin-bottom:10px}
.doc-info{flex:1}
.doc-title{font-size:13px;font-weight:500;color:var(--text);margin-bottom:2px}
.doc-sub{font-size:11px;color:var(--text-muted)}
.doc-actions{display:flex;gap:8px;align-items:center}
.doc-toggle{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--text-muted)}
.toggle-track{width:38px;height:22px;border-radius:11px;background:var(--card-edge);border:1px solid var(--border-mid);position:relative;cursor:pointer;transition:all .2s;flex-shrink:0}
.toggle-track::before{content:'';position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:var(--text-dim);transition:all .2s}
.toggle-on .toggle-track{background:var(--synapse);border-color:var(--synapse)}
.toggle-on .toggle-track::before{left:18px;background:#fff}

/* E-signature block */
.esig-block{background:var(--ink);border:1px solid var(--border-mid);border-radius:var(--r-md);padding:14px 16px;margin:16px 0}
.esig-consent{font-size:12px;color:var(--text-dim);line-height:1.6;margin-top:10px}
.esig-checkbox{display:flex;gap:10px;align-items:flex-start;margin-top:12px;cursor:pointer}
.esig-checkbox input{margin-top:2px;accent-color:var(--synapse)}
.esig-label{font-size:12px;color:var(--text-dim);line-height:1.5}

/* Profile section (review page) */
.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.profile-row{display:flex;flex-direction:column;gap:2px}
.profile-key{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted)}
.profile-val{font-size:13px;color:var(--text)}
.profile-edit{font-size:11px;color:var(--synapse);cursor:pointer;margin-left:8px}

/* Wizard footer */
.wizard-footer{padding:16px 32px;border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-between;background:var(--ink)}
.footer-hint{font-size:11px;color:var(--text-muted);font-family:var(--font-mono);font-size:10px;letter-spacing:0.06em}

/* ============================================================
   WELCOME / SUCCESS
   ============================================================ */
.welcome-card{text-align:center;padding:40px 24px}
.badge-display{display:inline-flex;align-items:center;justify-content:center;margin:0 auto 20px;padding:12px 24px;border-radius:var(--r-lg);font-family:var(--font-mono);font-size:14px;letter-spacing:0.14em;font-weight:600;text-transform:uppercase}
.badge-display.genesis{background:var(--iris-soft);border:1px solid rgba(181,166,255,0.4);color:var(--iris)}
.badge-display.founder{background:var(--synapse-soft);border:1px solid var(--synapse-glow);color:var(--synapse)}
.badge-display.early{background:rgba(52,211,153,0.1);border:1px solid rgba(52,211,153,0.3);color:var(--profit)}

/* ============================================================
   SIDEBAR PANELS (right rail)
   ============================================================ */
.right-rail{display:flex;flex-direction:column;gap:12px}

/* Mini stats row above leaderboard */
.stats-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:16px}
.stat-mini{background:var(--card);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px}
.stat-mini .lab{font-family:var(--font-mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.stat-mini .val{font-size:18px;font-weight:600;letter-spacing:-0.02em;font-variant-numeric:tabular-nums}
.stat-mini .val.profit{color:var(--profit)}
.stat-mini .val.dim{color:var(--text)}

/* Model detail side panel */
.model-panel{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.model-panel-head{padding:16px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.model-panel-dot{width:12px;height:12px;border-radius:50%}
.model-panel-info{}
.model-panel-name{font-size:15px;font-weight:500;color:var(--text)}
.model-panel-sub{font-size:11px;color:var(--text-muted);font-family:var(--font-mono)}
.model-stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.model-stat{padding:12px 14px;border-right:1px solid var(--border);border-bottom:1px solid var(--border)}
.model-stat:nth-child(2n){border-right:none}
.model-stat:nth-last-child(-n+2){border-bottom:none}
.model-stat .k{font-family:var(--font-mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px}
.model-stat .v{font-size:16px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-0.01em}
.model-stat .v.profit{color:var(--profit)}
.model-stat .v.loss{color:var(--loss)}

/* Create run form */
.run-form{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}
.run-form-title{font-size:13px;font-weight:500;margin-bottom:14px;display:flex;align-items:center;gap:8px}
.run-form-title svg{color:var(--synapse);width:15px;height:15px}
.run-form-note{font-size:11px;color:var(--text-muted);margin-top:8px;font-style:italic}
.locked-overlay{text-align:center;padding:24px 16px}
.locked-overlay svg{color:var(--text-faint);margin:0 auto 10px;display:block}
.locked-overlay p{font-size:12px;color:var(--text-muted);margin-bottom:12px}

/* ============================================================
   MEMBER DASHBOARD
   ============================================================ */
.dash-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 57px)}
.dash-sidebar{background:var(--ink-deep);border-right:1px solid var(--border);padding:20px 0}
.dash-nav-section{padding:0 12px;margin-bottom:4px}
.dash-nav-section-label{font-family:var(--font-mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-faint);padding:8px 12px}
.dash-nav-item{display:flex;align-items:center;gap:10px;padding:8px 12px;border-radius:var(--r-sm);font-size:13px;color:var(--text-dim);cursor:pointer;transition:all .15s;margin-bottom:1px}
.dash-nav-item svg{width:15px;height:15px;flex-shrink:0}
.dash-nav-item:hover{background:var(--card);color:var(--text)}
.dash-nav-item.on{background:var(--card-hi);color:var(--text)}
.dash-nav-item.on::before{content:'';position:absolute;left:12px;width:2px;height:20px;background:var(--synapse);border-radius:2px}
.dash-nav-item{position:relative}
.dash-main{padding:32px}
.member-hero{display:flex;align-items:center;gap:20px;margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid var(--border)}
.member-avatar{width:56px;height:56px;border-radius:50%;background:var(--synapse);display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:#fff;flex-shrink:0}
.member-info{}
.member-name{font-size:20px;font-weight:500;letter-spacing:-0.02em;margin-bottom:4px}
.member-badge-row{display:flex;align-items:center;gap:10px}
.member-badge{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:4px;font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;font-weight:600}
.member-badge.genesis{background:var(--iris-soft);border:1px solid rgba(181,166,255,0.35);color:var(--iris)}
.member-badge.founder{background:var(--synapse-soft);border:1px solid var(--synapse-glow);color:var(--synapse)}
.member-since{font-size:12px;color:var(--text-muted)}
.dash-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:24px}
.dash-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:18px}
.dash-card .label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}
.dash-card .value{font-size:26px;font-weight:600;letter-spacing:-0.03em;margin-bottom:4px}
.dash-card .sub{font-size:12px;color:var(--text-muted)}

/* ============================================================
   LANDING HERO
   ============================================================ */
.hero-section{padding:80px 0 56px;text-align:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--iris-soft);border:1px solid rgba(181,166,255,0.25);border-radius:999px;padding:5px 14px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;color:var(--iris);text-transform:uppercase;margin-bottom:24px}
.hero-badge-dot{width:6px;height:6px;border-radius:50%;background:var(--iris);box-shadow:0 0 8px var(--iris)}
.hero-h{font-size:clamp(36px,6vw,72px);line-height:1.02;font-weight:500;letter-spacing:-0.035em;max-width:900px;margin:0 auto 20px}
.hero-sub{font-size:17px;color:var(--text-dim);max-width:600px;margin:0 auto 40px;line-height:1.6}
.hero-ctas{display:flex;align-items:center;justify-content:center;gap:12px;margin-bottom:56px}
.hero-cta-primary{background:var(--synapse);color:#fff;border:none;padding:13px 28px;border-radius:var(--r-md);font-size:15px;font-weight:500;cursor:pointer;transition:all .15s}
.hero-cta-primary:hover{background:var(--synapse-deep)}
.hero-cta-ghost{background:transparent;color:var(--text-dim);border:1px solid var(--border-mid);padding:13px 24px;border-radius:var(--r-md);font-size:15px;cursor:pointer;transition:all .15s}
.hero-cta-ghost:hover{color:var(--text);border-color:var(--border-strong)}

/* Mini preview of leaderboard above the fold */
.lb-preview{max-width:900px;margin:0 auto;background:var(--card);border:1px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:0 40px 100px rgba(0,0,0,0.4)}
.lb-preview-header{padding:14px 20px;border-bottom:1px solid var(--border);display:flex;align-items:center;gap:10px}
.lb-preview-dot{width:12px;height:12px;border-radius:50%;background:var(--profit);box-shadow:0 0 8px var(--profit);animation:pulse 1.6s infinite}
.lb-preview-label{font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted)}
.lb-preview-count{font-family:var(--font-mono);font-size:11px;color:var(--synapse);margin-left:auto}

/* Model provider color dots */
.dot-anthropic{background:var(--anthropic)}
.dot-openai{background:var(--openai)}
.dot-google{background:var(--google)}
.dot-deepseek{background:var(--deepseek)}
.dot-xai{background:var(--xai)}
.dot-kimi{background:var(--kimi)}
.dot-mistral{background:var(--mistral)}
.dot-meta{background:var(--meta)}

/* ============================================================
   FOOTER  
   ============================================================ */
.site-footer{border-top:1px solid var(--border);padding:32px;text-align:center;font-size:12px;color:var(--text-muted);font-family:var(--font-mono);letter-spacing:0.06em}
.site-footer a{color:var(--text-muted);transition:color .15s}
.site-footer a:hover{color:var(--text-dim)}

/* ============================================================
   UTILITIES
   ============================================================ */
.flex{display:flex}.items-center{align-items:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.flex-1{flex:1}
.mt-4{margin-top:4px}.mt-8{margin-top:8px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}
.mb-4{margin-bottom:4px}.mb-8{margin-bottom:8px}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}
.text-right{text-align:right}.text-center{text-align:center}
.mono{font-family:var(--font-mono)}.text-muted{color:var(--text-muted)}.text-dim{color:var(--text-dim)}
.text-profit{color:var(--profit)}.text-loss{color:var(--loss)}.text-synapse{color:var(--synapse)}.text-iris{color:var(--iris)}
.hidden{display:none!important}

/* Responsive */
@media(max-width:900px){
  .nav-inner{padding:12px 16px}
  .shell{padding:0 16px}
  .tier-grid{grid-template-columns:1fr 1fr}
  .arena-layout{grid-template-columns:1fr}
  .stats-strip{grid-template-columns:repeat(2,1fr)}
  .hero-h{font-size:clamp(28px,7vw,48px)}
  .input-row{grid-template-columns:1fr}
  .tier-select-grid{grid-template-columns:1fr}
}
/* ============================================================
   v2 ADDITIONS — Models, Methodology, Settings
   ============================================================ */

/* Status strip used above grids */
.status-strip{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);letter-spacing:0.1em;margin-bottom:24px;text-transform:uppercase}
.status-strip b{color:var(--text)}
.status-strip .live-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--profit);margin:0 4px 1px 0;box-shadow:0 0 6px var(--profit);animation:pulse 1.6s infinite}
.status-strip .idle-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--text-faint);margin:0 4px 1px 0}

/* Section header with eyebrow + h2 + sub */
.page-head{margin-bottom:32px}
.page-head h2{font-size:32px;font-weight:500;letter-spacing:-0.025em;margin:8px 0 12px;line-height:1.1}
.page-head p.lead{font-size:15px;color:var(--text-dim);max-width:680px;line-height:1.6;margin:0}

/* ============================================================
   MODELS PAGE
   ============================================================ */

/* Provider filter pills */
.provider-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:24px}
.provider-pill{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 14px;border-radius:999px;font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;cursor:pointer;transition:all .15s;text-transform:uppercase}
.provider-pill:hover{border-color:var(--border-strong);color:var(--text-dim)}
.provider-pill.active{background:var(--card-hi);border-color:var(--border-strong);color:var(--text)}
.provider-pill .pill-dot{display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:6px;vertical-align:middle}

/* Models grid */
.models-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-bottom:48px}
.model-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;transition:border-color .15s,transform .15s;cursor:pointer;position:relative;overflow:hidden}
.model-card:hover{border-color:var(--border-strong);transform:translateY(-1px)}
.model-card-head{display:flex;align-items:flex-start;gap:10px;margin-bottom:8px}
.model-card-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;margin-top:5px}
.model-card-title{font-size:15px;font-weight:500;color:var(--text);letter-spacing:-0.01em}
.model-card-id{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-top:2px}
.model-card-arch{font-family:var(--font-mono);font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--text-dim);margin:12px 0 14px;padding:4px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.model-card-spark{height:32px;margin-bottom:12px;display:block;width:100%}
.model-card-stats{display:grid;grid-template-columns:1fr 1fr;gap:8px}

/* Session 6: model-card operator-key status pill. One per provider's
   live state from operator_key_status. Pulled into the card's flex
   header next to the colored provider dot. */
.model-status-pill{
  padding:3px 8px;
  border-radius:3px;
  font-size:10px;
  font-family:var(--font-mono);
  text-transform:uppercase;
  letter-spacing:0.08em;
  font-weight:500;
  margin-left:auto;
  margin-top:3px;
  flex-shrink:0;
  align-self:flex-start;
}
.model-status-pill.status-live{
  background:var(--profit-soft, rgba(0,200,83,0.15));
  color:var(--profit, #00C853);
}
.model-status-pill.status-degraded{
  background:rgba(255,180,0,0.15);
  color:#FFB400;
}
.model-status-pill.status-invalid{
  background:var(--loss-soft, rgba(255,59,48,0.15));
  color:var(--loss, #FF3B30);
}
.model-status-pill.status-unknown{
  background:var(--card-hi);
  color:var(--text-muted);
}
.model-stat-cell{display:flex;flex-direction:column;gap:2px}
.model-stat-cell .k{font-family:var(--font-mono);font-size:9px;letter-spacing:0.12em;text-transform:uppercase;color:var(--text-muted)}
.model-stat-cell .v{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;letter-spacing:-0.01em}
.model-stat-cell .v.profit{color:var(--profit)}
.model-stat-cell .v.loss{color:var(--loss)}
.model-stat-cell .v.muted{color:var(--text-faint)}

/* BYOK API Keys section */
.byok-section{margin-top:48px;padding-top:48px;border-top:1px solid var(--border)}
.byok-table{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}
.byok-row{display:grid;grid-template-columns:200px 120px 1fr 100px 140px;gap:16px;align-items:center;padding:14px 18px;border-bottom:1px solid var(--border);transition:background .12s}
.byok-row:last-child{border-bottom:none}
.byok-row:hover{background:rgba(255,255,255,0.015)}
.byok-row.head{background:var(--ink-deep);font-family:var(--font-mono);font-size:9px;letter-spacing:0.14em;text-transform:uppercase;color:var(--text-muted);padding:10px 18px}
.byok-provider{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:500;color:var(--text)}
.byok-provider .dot{width:9px;height:9px;border-radius:50%}
.byok-status{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-family:var(--font-mono);letter-spacing:0.06em;text-transform:uppercase}
.byok-status.connected{color:var(--profit)}
.byok-status.connected::before{content:'●';color:var(--profit)}
.byok-status.disconnected{color:var(--text-faint)}
.byok-status.disconnected::before{content:'○';color:var(--text-faint)}
.byok-status.invalid{color:var(--loss)}
.byok-status.invalid::before{content:'✕';color:var(--loss)}
.byok-key-display{font-family:var(--font-mono);font-size:11px;color:var(--text-dim);letter-spacing:0.02em}
.byok-key-display.empty{color:var(--text-faint);font-style:italic}
.byok-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);text-align:right}
.byok-actions{display:flex;gap:6px;justify-content:flex-end}
.byok-actions button{font-size:11px;padding:5px 10px;border-radius:var(--r-sm);border:1px solid;cursor:pointer;font-family:inherit;transition:all .15s}
.byok-action-add{background:var(--synapse-soft);color:var(--synapse);border-color:var(--synapse-glow)}
.byok-action-add:hover{background:rgba(79,98,238,.22)}
.byok-action-test{background:transparent;color:var(--text-dim);border-color:var(--border-mid)}
.byok-action-test:hover{color:var(--text);border-color:var(--border-strong)}
.byok-action-remove{background:transparent;color:var(--loss);border-color:rgba(242,94,115,.3)}
.byok-action-remove:hover{background:var(--loss-soft)}

/* API key entry modal */
.byok-modal-backdrop{position:fixed;inset:0;background:rgba(10,11,14,0.85);backdrop-filter:blur(6px);z-index:300;display:flex;align-items:center;justify-content:center;padding:24px}
.byok-modal{background:var(--ink-soft);border:1px solid var(--border-mid);border-radius:var(--r-xl);width:100%;max-width:520px;padding:28px;box-shadow:var(--sh-deep)}
.byok-modal h3{font-size:18px;font-weight:500;letter-spacing:-0.01em;margin-bottom:6px}
.byok-modal-sub{font-size:12px;color:var(--text-dim);margin-bottom:20px;line-height:1.5}
.byok-modal-key{font-family:var(--font-mono)}
.byok-modal-help{background:var(--ink);border:1px solid var(--border);border-radius:var(--r-md);padding:12px 14px;margin-top:14px;font-size:11px;color:var(--text-muted);line-height:1.6}
.byok-modal-help code{color:var(--synapse);font-family:var(--font-mono);font-size:11px}
.byok-modal-foot{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}

/* Custom model CTA */
.custom-model-cta{margin-top:32px;background:linear-gradient(135deg,var(--card),var(--card-hi));border:1px solid var(--border);border-radius:var(--r-lg);padding:32px;text-align:center;position:relative;overflow:hidden}
.custom-model-cta::before{content:'';position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--iris),transparent)}
.custom-model-cta h3{font-size:20px;font-weight:500;margin-bottom:8px;letter-spacing:-0.01em}
.custom-model-cta p{font-size:13px;color:var(--text-dim);max-width:520px;margin:0 auto 20px;line-height:1.6}

/* ============================================================
   METHODOLOGY PAGE
   ============================================================ */

.methodology-shell{max-width:740px;margin:0 auto;padding:48px 32px}
.methodology-shell h2{font-size:42px;font-weight:500;letter-spacing:-0.03em;line-height:1.05;margin:8px 0 16px}
.methodology-shell .lead{font-size:18px;color:var(--text-dim);line-height:1.55;margin-bottom:48px;font-family:var(--font-edit);font-style:italic}
.methodology-section{margin-bottom:48px}
.methodology-section h3{font-size:13px;font-weight:600;font-family:var(--font-mono);letter-spacing:0.16em;text-transform:uppercase;color:var(--synapse);margin-bottom:18px;display:flex;align-items:baseline;gap:14px}
.methodology-section h3 .num{font-family:var(--font-mono);font-size:11px;color:var(--text-muted);font-weight:400}
.methodology-section h3 .title{color:var(--text);font-family:var(--font-sans);font-size:22px;font-weight:500;text-transform:none;letter-spacing:-0.02em}
.methodology-section .body{font-family:var(--font-edit);font-size:17px;line-height:1.7;color:var(--text);max-width:660px}
.methodology-section .body p{margin-bottom:16px}
.methodology-section .body p:last-child{margin-bottom:0}
.methodology-section .body em{color:var(--iris);font-style:italic}
.methodology-section .body strong{color:var(--text);font-weight:600;background:var(--synapse-soft);padding:0 4px;border-radius:3px}
.methodology-section .body code{font-family:var(--font-mono);font-size:14px;background:var(--ink);padding:1px 6px;border-radius:4px;color:var(--synapse)}

/* Cycle diagram */
.cycle-diagram{margin:24px 0;background:var(--ink-deep);border:1px solid var(--border);border-radius:var(--r-md);padding:24px;display:flex;flex-direction:column;gap:14px}
.cycle-step{display:flex;align-items:center;gap:14px;font-family:var(--font-mono);font-size:12px}
.cycle-step .step-num{width:24px;height:24px;border-radius:50%;background:var(--synapse-soft);color:var(--synapse);display:flex;align-items:center;justify-content:center;font-weight:600;font-size:11px;flex-shrink:0}
.cycle-step .step-name{font-weight:600;color:var(--text);width:120px}
.cycle-step .step-desc{color:var(--text-muted);font-family:var(--font-sans);font-size:12px;font-style:italic}

/* Risk caps callout */
.risk-callout{background:var(--ink-deep);border:1px solid rgba(242,169,59,.3);border-radius:var(--r-md);padding:20px 24px;margin:20px 0}
.risk-callout-head{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--watch);margin-bottom:12px}
.risk-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 32px}
.risk-line{display:flex;justify-content:space-between;align-items:baseline;font-family:var(--font-mono);font-size:13px;padding:6px 0;border-bottom:1px dashed var(--border)}
.risk-line:last-child{border-bottom:none}
.risk-line .lab{color:var(--text-dim)}
.risk-line .val{color:var(--watch);font-weight:600}

.methodology-foot{margin-top:64px;padding-top:32px;border-top:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.methodology-foot .stamp{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);letter-spacing:0.08em;font-style:italic}
.methodology-foot a.cta{font-size:14px;color:var(--synapse);font-weight:500;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:color .15s}
.methodology-foot a.cta:hover{color:var(--text)}

/* ============================================================
   SETTINGS PAGE
   ============================================================ */

.settings-layout{display:grid;grid-template-columns:240px 1fr;min-height:calc(100vh - 57px)}
.settings-sidebar{background:var(--ink-deep);border-right:1px solid var(--border);padding:24px 0}
.settings-section-label{font-family:var(--font-mono);font-size:9px;letter-spacing:0.16em;text-transform:uppercase;color:var(--text-faint);padding:0 24px 8px}
.settings-nav-item{display:flex;align-items:center;gap:10px;padding:9px 24px;font-size:13px;color:var(--text-dim);cursor:pointer;transition:all .12s;border-left:2px solid transparent}
.settings-nav-item:hover{background:var(--card);color:var(--text)}
.settings-nav-item.on{background:var(--card-hi);color:var(--text);border-left-color:var(--synapse)}
.settings-nav-item svg{width:14px;height:14px;flex-shrink:0;opacity:0.8}
.settings-nav-item.danger{color:var(--loss)}
.settings-nav-item.danger.on{color:var(--loss);border-left-color:var(--loss)}

.settings-main{padding:32px 40px;max-width:840px}
.settings-section-head{margin-bottom:24px}
.settings-section-head h2{font-size:24px;font-weight:500;letter-spacing:-0.02em;margin-bottom:6px}
.settings-section-head p{font-size:13px;color:var(--text-dim);line-height:1.5}

.settings-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px 24px;margin-bottom:14px}
.settings-card-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:14px}
.settings-card-head h3{font-size:14px;font-weight:500;letter-spacing:-0.01em;color:var(--text);margin-bottom:2px}
.settings-card-head .desc{font-size:12px;color:var(--text-muted);line-height:1.5}

.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--border);gap:16px}
.settings-row:last-child{border-bottom:none}
.settings-row-label{font-size:13px;color:var(--text);min-width:140px}
.settings-row-sub{font-size:11px;color:var(--text-muted);margin-top:2px}
.settings-row-control{flex-shrink:0}

/* Risk management hard caps display */
.risk-hard-caps{background:var(--ink-deep);border:1px solid rgba(242,169,59,.25);border-radius:var(--r-md);padding:18px 20px;margin-bottom:20px}
.risk-hard-caps-head{display:flex;align-items:center;gap:8px;margin-bottom:12px}
.risk-hard-caps-head .lock{color:var(--watch)}
.risk-hard-caps-head .label{font-family:var(--font-mono);font-size:10px;letter-spacing:0.14em;text-transform:uppercase;color:var(--watch)}
.risk-hard-caps-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px 24px}
.risk-cap-item{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-bottom:1px dashed var(--border)}
.risk-cap-item:last-child,.risk-cap-item:nth-last-child(2){border-bottom:none}
.risk-cap-item .lab{font-size:12px;color:var(--text-dim)}
.risk-cap-item .val{font-family:var(--font-mono);font-size:13px;color:var(--watch);font-weight:600}

/* User preference sliders */
.pref-slider-wrap{display:flex;align-items:center;gap:12px;flex:1}
.pref-slider{flex:1;height:4px;border-radius:2px;background:var(--ink);appearance:none;cursor:pointer;outline:none}
.pref-slider::-webkit-slider-thumb{appearance:none;width:14px;height:14px;border-radius:50%;background:var(--synapse);cursor:pointer;border:2px solid var(--ink-soft);box-shadow:0 0 0 1px var(--synapse-glow)}
.pref-slider::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--synapse);cursor:pointer;border:2px solid var(--ink-soft)}
.pref-value{font-family:var(--font-mono);font-size:13px;color:var(--text);font-weight:600;font-variant-numeric:tabular-nums;min-width:48px;text-align:right}
.pref-disabled{opacity:0.4;pointer-events:none}

/* Data export panel */
.export-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.export-card{background:var(--card);border:1px solid var(--border);border-radius:var(--r-lg);padding:20px;display:flex;flex-direction:column}
.export-card-head{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.export-card-head svg{width:18px;height:18px;color:var(--synapse)}
.export-card-head h4{font-size:14px;font-weight:500;color:var(--text)}
.export-card .desc{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:14px;flex:1}
.export-meta{font-family:var(--font-mono);font-size:10px;color:var(--text-muted);margin-bottom:14px;letter-spacing:0.04em}
.export-filter-row{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.export-filter-row .input{font-size:12px;padding:7px 10px}
.export-cta{align-self:flex-start;padding:8px 14px;border-radius:var(--r-md);background:var(--synapse-soft);color:var(--synapse);border:1px solid var(--synapse-glow);font-size:12px;font-weight:500;cursor:pointer;transition:all .15s;display:inline-flex;align-items:center;gap:6px}
.export-cta:hover{background:rgba(79,98,238,.22)}
.export-cta svg{width:13px;height:13px}

/* Notification toggles row */
.notif-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--border)}
.notif-toggle-row:last-child{border-bottom:none}
.notif-toggle-info{flex:1}
.notif-toggle-info .name{font-size:13px;color:var(--text);margin-bottom:2px}
.notif-toggle-info .desc{font-size:11px;color:var(--text-muted)}

/* Danger zone */
.danger-card{background:var(--card);border:1px solid rgba(242,94,115,.25);border-radius:var(--r-lg);padding:20px 24px;margin-bottom:14px}
.danger-card h4{font-size:13px;color:var(--loss);font-weight:500;margin-bottom:6px}
.danger-card .desc{font-size:12px;color:var(--text-dim);line-height:1.5;margin-bottom:14px}
.btn-danger{background:transparent;color:var(--loss);border:1px solid rgba(242,94,115,.4);padding:7px 14px;border-radius:var(--r-md);font-size:12px;cursor:pointer;font-family:inherit;transition:all .15s}
.btn-danger:hover{background:var(--loss-soft);border-color:var(--loss)}

/* Toast notification (for actions like CSV download) */
.toast-stack{position:fixed;bottom:24px;right:24px;display:flex;flex-direction:column;gap:8px;z-index:500;pointer-events:none}
.toast{background:var(--card-hi);border:1px solid var(--border-strong);border-radius:var(--r-md);padding:12px 16px;display:flex;align-items:center;gap:10px;font-size:13px;color:var(--text);box-shadow:var(--sh-deep);min-width:280px;animation:toast-in .25s ease-out;pointer-events:auto}
.toast.profit{border-left:3px solid var(--profit)}
.toast.synapse{border-left:3px solid var(--synapse)}
.toast.loss{border-left:3px solid var(--loss)}
.toast .toast-icon{width:16px;height:16px;flex-shrink:0}
.toast .toast-icon.profit{color:var(--profit)}
.toast .toast-icon.synapse{color:var(--synapse)}
.toast .toast-msg{flex:1}
.toast .toast-sub{font-size:11px;color:var(--text-muted);margin-top:2px}
@keyframes toast-in{from{transform:translateX(20px);opacity:0}to{transform:translateX(0);opacity:1}}

/* Session 9 — Google Sign-In button + "or" divider on wizard Step 0 */
.google-signin-btn{width:100%;padding:11px 16px;border-radius:var(--r-md);border:1px solid var(--border-mid);background:var(--card);color:var(--text);font-size:14px;font-weight:500;font-family:var(--font-sans);display:flex;align-items:center;justify-content:center;gap:10px;cursor:pointer;transition:all .15s}
.google-signin-btn:hover{background:var(--card-hi);border-color:var(--border-strong)}
.google-signin-btn:active{background:var(--card-edge)}
.oauth-divider{display:flex;align-items:center;gap:12px;margin:16px 0 0;color:var(--text-muted);font-size:12px;font-family:var(--font-mono);letter-spacing:.06em;text-transform:uppercase}
.oauth-divider::before,.oauth-divider::after{content:'';flex:1;height:1px;background:var(--border)}

@media(max-width:900px){
  .models-grid{grid-template-columns:1fr 1fr}
  .byok-row{grid-template-columns:1fr 1fr;gap:8px}
  .byok-row.head{display:none}
  .settings-layout{grid-template-columns:1fr}
  .settings-sidebar{display:none}
  .export-grid{grid-template-columns:1fr}
  .risk-hard-caps-grid{grid-template-columns:1fr}
}
@media(max-width:600px){
  .models-grid{grid-template-columns:1fr}
  .methodology-shell{padding:32px 16px}
  .methodology-shell h2{font-size:32px}
}

/* ── Session 13-A: guest timer + utility classes ─────────────────── */

.guest-timer{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:12px;color:var(--text-dim);
  background:var(--card);border:1px solid var(--border-mid);
  border-radius:var(--r-sm);padding:4px 10px;
  margin-left:12px;transition:all .2s ease;
}
.guest-timer.urgent{
  color:var(--watch,#F2A93B);
  border-color:rgba(242,169,59,0.3);
  background:rgba(242,169,59,0.06);
}

/* Tiny inline link button — used in upgrade prompts + overlay copy
   where a plain anchor wouldn't carry Alpine click handlers. */
.btn-link{
  background:none;border:none;padding:0;
  color:var(--synapse);font-size:inherit;font-family:inherit;
  cursor:pointer;text-decoration:underline;text-underline-offset:2px;
}
.btn-link:hover{color:var(--iris)}

/* Compact button variant used in the nav + leaderboard upgrade prompt. */
.btn-sm{padding:6px 14px;font-size:13px}

/* ── Session 11: legal pages (Terms + Privacy) ───────────────────── */

.legal-wrap{
  max-width:740px;margin:0 auto;padding:48px 24px 80px;
}
.legal-back{
  display:inline-flex;align-items:center;gap:6px;
  font-family:var(--font-mono);font-size:12px;color:var(--text-muted);
  letter-spacing:0.04em;cursor:pointer;margin-bottom:40px;
  background:none;border:none;padding:0;transition:color .15s;
}
.legal-back:hover{color:var(--text)}

.legal-kicker{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.14em;
  text-transform:uppercase;color:var(--synapse);margin-bottom:10px;
}
.legal-title{
  font-size:28px;font-weight:600;color:var(--text);
  line-height:1.25;margin-bottom:8px;
}
.legal-meta{
  font-family:var(--font-mono);font-size:12px;color:var(--text-muted);
  margin-bottom:36px;display:flex;gap:20px;flex-wrap:wrap;
}

.legal-notice{
  padding:16px 20px;border-radius:var(--r-md);margin-bottom:32px;
  font-size:13px;line-height:1.65;color:var(--text-dim);
}
.legal-notice.info{
  background:var(--synapse-soft);border-left:3px solid var(--synapse);
}
.legal-notice.warning{
  background:var(--watch-soft);border-left:3px solid var(--watch);
  color:var(--text);
}
.legal-notice strong{color:var(--text)}

.legal-toc{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-md);padding:20px 24px;margin-bottom:40px;
}
.legal-toc-title{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.12em;
  text-transform:uppercase;color:var(--text-muted);margin-bottom:12px;
}
.legal-toc ol{
  margin:0;padding-left:20px;display:grid;
  grid-template-columns:1fr 1fr;gap:4px 24px;
}
.legal-toc li{font-size:13px;color:var(--text-muted);line-height:1.6}

.legal-section{margin-bottom:40px}

.legal-h2{
  font-family:var(--font-sans);font-size:15px;font-weight:600;color:var(--text);
  padding-bottom:10px;border-bottom:1px solid var(--border);
  margin-bottom:16px;margin-top:0;
}
.legal-h3{
  font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--text);
  margin:20px 0 8px;
}

.legal-body{
  font-family:var(--font-edit);font-size:15px;color:var(--text-dim);
  line-height:1.8;margin-bottom:12px;
}
.legal-body strong{color:var(--text);font-weight:600}

.legal-list{
  font-family:var(--font-edit);font-size:15px;color:var(--text-dim);
  line-height:1.75;padding-left:22px;margin-bottom:12px;
}
.legal-list li{margin-bottom:4px}
.legal-alpha{list-style-type:lower-alpha}

.legal-table{
  width:100%;border-collapse:collapse;font-size:13px;margin-bottom:16px;
}
.legal-table th{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.08em;
  text-transform:uppercase;color:var(--text-muted);text-align:left;
  padding:8px 12px;border-bottom:1px solid var(--border-mid);
}
.legal-table td{
  font-family:var(--font-sans);font-size:13px;color:var(--text-dim);
  padding:10px 12px;border-bottom:1px solid var(--border);
  vertical-align:top;line-height:1.55;
}
.legal-table tr:last-child td{border-bottom:none}

.legal-divider{
  border:none;border-top:1px solid var(--border);margin:40px 0;
}

.legal-footer-strip{
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.06em;
  color:var(--text-faint);text-align:center;padding-top:32px;
  border-top:1px solid var(--border);line-height:1.8;
}

@media(max-width:600px){
  .legal-wrap{padding:32px 18px 60px}
  .legal-title{font-size:22px}
  .legal-toc ol{grid-template-columns:1fr}
}


/* Session 15: Beat the AI trading challenge */
.field-input{
  background:var(--ink);border:1px solid var(--border-mid);
  border-radius:var(--r-md);padding:10px 14px;color:var(--text);
  font-family:var(--font-sans);font-size:13px;width:100%;
  transition:border .15s,box-shadow .15s;
}
.field-input:focus{
  outline:none;border-color:var(--synapse);
  box-shadow:0 0 0 3px var(--synapse-soft);
}
.beat-form{
  background:var(--ink-soft);border:1px solid var(--border-mid);
  border-radius:var(--r-lg);padding:24px;
}
.beat-form-title{font-size:16px;font-weight:600;margin-bottom:4px}
.beat-form-sub{font-size:13px;color:var(--text-dim);margin-bottom:20px}
.pick-btns{display:flex;gap:8px}
.pick-btn{
  flex:1;padding:10px;border-radius:var(--r-md);
  border:1px solid var(--border-mid);background:transparent;cursor:pointer;
  font-family:var(--font-mono);font-size:12px;letter-spacing:0.06em;
  text-transform:uppercase;color:var(--text-muted);transition:all .15s;
}
.pick-btn:hover{border-color:var(--border-strong);color:var(--text)}
.pick-btn.home-pick.on{
  background:var(--profit-soft);border-color:rgba(52,211,153,0.4);
  color:var(--profit);
}
.pick-btn.draw-pick.on{
  background:var(--synapse-soft);border-color:var(--synapse-glow);
  color:var(--synapse);
}
.pick-btn.away-pick.on{
  background:var(--loss-soft);border-color:rgba(242,94,115,0.35);
  color:var(--loss);
}
.pitch-lb-row{
  display:grid;align-items:center;gap:10px;padding:8px 14px;
  border-bottom:1px solid var(--border);font-size:13px;
}
.pitch-lb-row.header{
  font-family:var(--font-mono);font-size:10px;
  letter-spacing:0.1em;text-transform:uppercase;
  color:var(--text-muted);padding:10px 14px;
}
.pitch-rank{
  font-family:var(--font-mono);font-size:12px;font-weight:600;
  text-align:center;color:var(--text-muted);
}
.pitch-rank.gold{color:#FFC857}
.pitch-rank.silver{color:#C0C0C0}
.pitch-rank.bronze{color:#CD7F32}


/* ──────────────────────────────────────────────────────────────
   Session 16: Synapse Pitch (FIFA 2026 prediction benchmark)
   ────────────────────────────────────────────────────────────── */
.pitch-hero-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(52,211,153,0.1);
  border:1px solid rgba(52,211,153,0.25);
  border-radius:999px;padding:5px 14px;
  font-family:var(--font-mono);font-size:11px;letter-spacing:0.1em;
  color:var(--profit);text-transform:uppercase;
}
.pitch-badge-dot{
  width:6px;height:6px;border-radius:50%;background:var(--profit);
  box-shadow:0 0 8px var(--profit);animation:pulse 1.6s infinite;
}
.match-card{
  background:var(--card);border:1px solid var(--border);
  border-radius:var(--r-lg);overflow:hidden;transition:border-color .2s;
}
.match-card:hover{border-color:var(--border-mid)}
.match-card-head{
  padding:12px 16px;border-bottom:1px solid var(--border);
  display:flex;align-items:center;gap:8px;background:var(--ink-soft);
}
.match-status-live{
  display:inline-flex;align-items:center;gap:5px;
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--loss);background:var(--loss-soft);
  border:1px solid rgba(242,94,115,0.25);border-radius:3px;padding:2px 8px;
}
.match-status-live::before{
  content:'';width:5px;height:5px;border-radius:50%;
  background:var(--loss);display:inline-block;animation:pulse 1s infinite;
}
.match-status-upcoming{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--text-muted);
  background:var(--card-hi);border-radius:3px;padding:2px 8px;
}
.match-status-done{
  font-family:var(--font-mono);font-size:10px;letter-spacing:0.1em;
  text-transform:uppercase;color:var(--profit);background:var(--profit-soft);
  border-radius:3px;padding:2px 8px;
}
.match-teams{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px;
}
.match-team{
  display:flex;flex-direction:column;align-items:center;gap:8px;
  min-width:80px;
}
.match-flag{font-size:32px;line-height:1}
.match-team-name{font-size:12px;font-weight:500;color:var(--text);text-align:center}
.match-score{
  font-size:32px;font-weight:600;letter-spacing:-0.03em;color:var(--text);
  font-variant-numeric:tabular-nums;text-align:center;min-width:60px;
}
.match-score.upcoming{font-size:18px;color:var(--text-muted);font-weight:400}
.match-minute{
  font-family:var(--font-mono);font-size:11px;color:var(--loss);
  letter-spacing:0.1em;text-align:center;margin-top:2px;
}
.prob-bar{
  height:6px;background:var(--card-edge);border-radius:3px;
  overflow:hidden;display:flex;gap:1px;margin:0 20px 16px;
}
.prob-seg{height:100%;transition:width .5s ease}
.prob-labels{
  display:flex;justify-content:space-between;padding:0 20px 12px;
  font-family:var(--font-mono);font-size:10px;color:var(--text-muted);
}
.llm-pred-row{
  display:flex;align-items:center;gap:10px;padding:8px 16px;
  border-top:1px solid var(--border);font-size:12px;
}
.llm-pred-row:hover{background:rgba(255,255,255,0.015)}
.pred-model-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}
.pred-model-name{flex:1;font-size:12px;color:var(--text-dim)}
.pred-pick{font-family:var(--font-mono);font-size:11px;font-weight:600}
.pred-pick.home{color:var(--profit)}
.pred-pick.draw{color:var(--text-muted)}
.pred-pick.away{color:var(--loss)}
.pred-conf{
  font-family:var(--font-mono);font-size:10px;color:var(--text-faint);
  min-width:32px;text-align:right;
}
.pred-reasoning{
  font-size:11px;color:var(--text-muted);font-style:italic;
  line-height:1.4;padding:8px 16px 10px;border-top:1px solid var(--border);
}
.prize-banner{
  background:linear-gradient(135deg,rgba(52,211,153,0.08) 0%,rgba(79,98,238,0.08) 100%);
  border:1px solid rgba(52,211,153,0.2);border-radius:var(--r-lg);
  padding:24px 28px;display:flex;align-items:center;gap:24px;
  margin-bottom:24px;
}
.prize-icon{font-size:40px;flex-shrink:0}
.prize-text h3{font-size:17px;font-weight:600;margin-bottom:4px}
.prize-text p{font-size:13px;color:var(--text-dim);line-height:1.55}
.admin-tab{
  background:none;border:none;padding:10px 18px;
  font-size:13px;color:var(--text-muted);cursor:pointer;
  border-bottom:2px solid transparent;transition:all .15s;
}
.admin-tab:hover{color:var(--text)}
.admin-tab.on{color:var(--text);border-bottom-color:var(--synapse)}


/* ──────────────────────────────────────────────────────────────
   Session 18-B: Committee + threshold activity log line styles.
   Applied to rows in the arena activity log when a 🧠 COMMITTEE or
   ⚡ THRESHOLD HIT line is rendered. The left-border colour signals
   the kind at a glance.
   ────────────────────────────────────────────────────────────── */
.log-committee{
  border-left:3px solid var(--synapse);
  padding-left:10px;
  background:var(--synapse-soft);
}
.log-threshold{
  border-left:3px solid var(--watch);
  padding-left:10px;
  background:var(--watch-soft);
}
