/* ============ Seven7 — site styles ============ */
/* Seven7 — identidade "Grid & Signal": grafite-navy + acento CIANO da marca.
   Verde/vermelho reservados só para P&L (semântica), nunca para a marca. */
:root,:root[data-theme="dark"]{
  --plane:#080d16; --surface:#0e1522; --surface-2:#131c2c; --raised:#182338;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.15);
  --ink:#eef4fa; --ink-2:#97a6bd; --muted:#5e6c85;
  --accent:#1fc6ea; --accent-2:#12a3cc; --accent-ink:#04141c;
  --pos:#2ccf83; --neg:#ff5d6c; --warn:#f2b23b;
  --grid:rgba(255,255,255,.06); --axis:#2b3650;
  --series:#1fc6ea; --bench:#6c7891;
  --heat-pos:#17a06a; --heat-neg:#dd4f5b; --heat-mid:#131c2c;
  --shadow:0 1px 0 rgba(255,255,255,.03) inset, 0 14px 44px -14px rgba(0,0,0,.7);
}
:root[data-theme="light"]{
  --plane:#eef2f7; --surface:#ffffff; --surface-2:#f4f8fb; --raised:#ffffff;
  --border:rgba(9,16,26,.10); --border-2:rgba(9,16,26,.17);
  --ink:#08131c; --ink-2:#45566a; --muted:#78859a;
  --accent:#0a9ec6; --accent-2:#0883a6; --accent-ink:#ffffff;
  --pos:#0a9b5f; --neg:#d43b45; --warn:#c98500;
  --grid:rgba(9,16,26,.07); --axis:#c3cddb;
  --series:#0a9ec6; --bench:#94a0b5;
  --heat-pos:#0f8f63; --heat-neg:#d8484f; --heat-mid:#eef2f9;
  --shadow:0 1px 2px rgba(9,16,26,.05), 0 16px 44px -22px rgba(9,16,26,.2);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;background:var(--plane);color:var(--ink);
  font-family:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  line-height:1.5;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;line-height:1.08;letter-spacing:-.02em;font-weight:680}
.num,.mono{font-variant-numeric:tabular-nums;font-family:ui-monospace,"SF Mono",Menlo,Consolas,monospace}
.accent{color:var(--accent)}
.muted-note{color:var(--muted);font-weight:400;font-size:.82em}

/* ---- nav ---- */
.nav{position:sticky;top:0;z-index:50;display:flex;align-items:center;gap:28px;
  padding:14px clamp(16px,4vw,48px);background:color-mix(in srgb,var(--plane) 82%,transparent);
  backdrop-filter:blur(14px);border-bottom:1px solid var(--border)}
.brand{display:flex;align-items:center;gap:11px;font-weight:750}
.brand-mark{display:grid;place-items:center;width:34px;height:34px}
.brand-mark svg{width:34px;height:34px;display:block;filter:drop-shadow(0 3px 10px color-mix(in srgb,var(--accent) 45%,transparent))}
.brand-wrap{display:flex;flex-direction:column;line-height:1}
.brand-name{font-size:19px;letter-spacing:-.01em;font-weight:750}
.brand-tag{font-size:8px;letter-spacing:.2em;color:var(--muted);margin-top:4px}
.nav-links{display:flex;gap:22px;margin-left:8px;font-size:14px;color:var(--ink-2)}
.nav-links a:hover{color:var(--ink)}
.nav-links a.active{color:var(--ink);font-weight:600}
.nav-links a.active::after{content:"";display:block;height:2px;border-radius:2px;background:var(--accent);margin-top:5px}
.nav-cta{margin-left:auto;display:flex;align-items:center;gap:10px}
.theme-toggle{background:none;border:1px solid var(--border);color:var(--ink-2);width:34px;height:34px;
  border-radius:8px;cursor:pointer;font-size:15px}
.theme-toggle:hover{color:var(--ink);border-color:var(--border-2)}
.lang-toggle{display:inline-flex;gap:2px;padding:3px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}
.lang-opt{padding:5px 9px;border-radius:6px;font-size:12px;font-weight:700;color:var(--muted);cursor:pointer;border:none;background:none;letter-spacing:.03em}
.lang-opt.on{background:var(--raised);color:var(--ink)}
.lang-opt:hover:not(.on){color:var(--ink)}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:600;font-size:14px;
  padding:9px 16px;border-radius:9px;cursor:pointer;border:1px solid transparent;transition:.15s;white-space:nowrap}
.btn-primary{background:linear-gradient(135deg,var(--accent),var(--accent-2));color:var(--accent-ink);
  box-shadow:0 6px 20px -8px var(--accent)}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px)}
.btn-ghost{border-color:var(--border-2);color:var(--ink)}
.btn-ghost:hover{background:var(--surface-2)}
.btn-lg{padding:13px 24px;font-size:15px;border-radius:11px}
.btn-block{width:100%}

/* ---- ticker ---- */
.ticker{overflow:hidden;border-bottom:1px solid var(--border);background:var(--surface);
  padding:9px 0;white-space:nowrap;mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent)}
.ticker-track{display:inline-flex;gap:34px;animation:scroll 60s linear infinite;will-change:transform}
.ticker:hover .ticker-track{animation-play-state:paused}
@keyframes scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.tick{display:inline-flex;align-items:center;gap:9px;font-size:13px;font-weight:600}
.tick .tk{font-family:ui-monospace,monospace;letter-spacing:.02em}
.tick .badge{font-size:10.5px;padding:2px 7px;border-radius:5px;font-weight:700;letter-spacing:.04em}
.badge.buy{background:color-mix(in srgb,var(--pos) 18%,transparent);color:var(--pos)}
.badge.active{background:color-mix(in srgb,var(--accent) 16%,transparent);color:var(--accent)}
.badge.wait{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
.badge.flat{background:var(--raised);color:var(--muted)}
.tick .rg{color:var(--muted);font-size:11.5px}

/* ---- hero ---- */
.hero{padding:clamp(56px,9vw,120px) clamp(16px,4vw,48px) clamp(40px,6vw,80px);
  background:
    linear-gradient(var(--grid) 1px,transparent 1px) 0 -1px / 68px 68px,
    linear-gradient(90deg,var(--grid) 1px,transparent 1px) -1px 0 / 68px 68px,
    radial-gradient(1100px 480px at 72% -8%,color-mix(in srgb,var(--accent) 13%,transparent),transparent 60%);
  -webkit-mask-image:linear-gradient(180deg,#000,#000);position:relative}
.hero-inner{max-width:1080px;margin:0 auto}
.eyebrow{font-size:12px;letter-spacing:.24em;color:var(--accent);font-weight:700;margin-bottom:22px}
.hero h1{font-size:clamp(38px,6.6vw,76px);font-weight:720}
.lede{max-width:640px;margin:24px 0 30px;color:var(--ink-2);font-size:clamp(16px,2vw,19px)}
.lede strong{color:var(--ink)}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1px;
  margin-top:52px;background:var(--border);border:1px solid var(--border);border-radius:14px;overflow:hidden}
.hstat{background:var(--surface);padding:20px 22px}
.hstat .v{font-size:clamp(24px,3vw,34px);font-weight:750;letter-spacing:-.02em}
.hstat .l{font-size:11.5px;letter-spacing:.1em;color:var(--muted);margin-top:6px;text-transform:uppercase}
.updated{margin-top:18px;font-size:12.5px;color:var(--muted);display:flex;align-items:center;gap:8px}
.updated .dot{width:7px;height:7px;border-radius:50%;background:var(--pos);box-shadow:0 0 0 3px color-mix(in srgb,var(--pos) 25%,transparent);animation:pulse 2s infinite}
@keyframes pulse{50%{opacity:.4}}

/* ---- page hero (subpages) ---- */
.page-hero{padding:clamp(40px,6vw,72px) clamp(16px,4vw,48px) clamp(20px,3vw,32px);max-width:1180px;margin:0 auto;
  border-bottom:1px solid var(--border)}
.page-hero .kicker{margin-bottom:12px}
.page-hero h1{font-size:clamp(28px,4.5vw,48px);letter-spacing:-.02em}
.page-hero .sub{color:var(--ink-2);margin-top:14px;max-width:640px;font-size:16px}
.page-hero .sub em{color:var(--ink);font-style:normal;font-weight:600}

/* ---- home cherry teaser ---- */
.cherry-teaser{display:flex;align-items:center;gap:22px;flex-wrap:wrap;
  background:linear-gradient(120deg,color-mix(in srgb,var(--accent) 14%,var(--surface)),var(--surface));
  border:1px solid color-mix(in srgb,var(--accent) 32%,var(--border));border-radius:18px;
  padding:24px 28px;box-shadow:var(--shadow)}
.cherry-teaser .ct-emoji{font-size:40px;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.3))}
.cherry-teaser .ct-body{flex:1;min-width:220px}
.cherry-teaser .ct-h{font-size:22px;font-weight:750;letter-spacing:-.01em}
.cherry-teaser .ct-sub{font-size:14px;color:var(--ink-2);margin-top:6px;max-width:60ch}
.cherry-teaser .ct-chips{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}
.cherry-teaser .ct-chip{display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--muted);
  background:var(--surface-2);border:1px solid var(--border);border-radius:20px;padding:5px 12px}
.cherry-teaser .ct-chip b{font-family:ui-monospace,monospace;font-size:14px;color:var(--pos);font-weight:750}
.cherry-teaser .btn{white-space:nowrap}

/* ---- home explore cards ---- */
.home-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.home-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px 24px 20px;
  display:flex;flex-direction:column;gap:10px;transition:.15s;box-shadow:var(--shadow)}
.home-card:hover{transform:translateY(-2px);border-color:var(--border-2)}
.hc-title{font-size:19px;font-weight:700;letter-spacing:-.01em}
.hc-desc{font-size:14px;color:var(--ink-2);flex:1}
.hc-open{font-size:13.5px;font-weight:700;color:var(--accent)}

/* ---- auth pages ---- */
.auth-page{min-height:calc(100vh - 220px);display:grid;place-items:center;padding:48px clamp(16px,4vw,48px)}
.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--border);border-radius:18px;
  padding:34px 32px;box-shadow:var(--shadow)}
.auth-card h1{font-size:26px;letter-spacing:-.02em}
.auth-card .auth-sub{color:var(--ink-2);font-size:14px;margin-top:8px;margin-bottom:24px}
.auth-form{display:flex;flex-direction:column;gap:14px}
.field{display:flex;flex-direction:column;gap:6px}
.field label{font-size:12.5px;font-weight:600;color:var(--ink-2)}
.field input{background:var(--surface-2);border:1px solid var(--border-2);border-radius:10px;padding:12px 14px;
  color:var(--ink);font-size:14.5px;font-family:inherit}
.field input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 22%,transparent)}
.auth-msg{display:none;font-size:13px;color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,transparent);
  border:1px solid color-mix(in srgb,var(--accent) 26%,transparent);border-radius:10px;padding:11px 13px;line-height:1.45}
.auth-msg.show{display:block}
.auth-msg.err{color:var(--neg);background:color-mix(in srgb,var(--neg) 12%,transparent);border-color:color-mix(in srgb,var(--neg) 26%,transparent)}
.nav-auth{display:inline-flex;align-items:center;gap:10px}
.nav-user{font-size:13.5px;font-weight:600;color:var(--ink-2);max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.auth-alt{margin-top:20px;font-size:13.5px;color:var(--ink-2);text-align:center}
.auth-alt a{color:var(--accent);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.auth-legal{font-size:11.5px;color:var(--muted);margin-top:16px;text-align:center;line-height:1.5}

/* ---- sections ---- */
.section{padding:clamp(56px,7vw,100px) clamp(16px,4vw,48px);max-width:1180px;margin:0 auto}
.section-alt{background:var(--surface);max-width:none;border-block:1px solid var(--border)}
.section-alt>*{max-width:1180px;margin-inline:auto}
.section-head{margin-bottom:38px}
.kicker{font-size:12px;letter-spacing:.2em;color:var(--accent);font-weight:700;margin-bottom:14px}
.section h2{font-size:clamp(26px,4vw,44px)}
.sub{color:var(--ink-2);margin-top:14px;max-width:640px;font-size:16px}
.sub em{color:var(--ink);font-style:normal;font-weight:600}

/* ---- book tabs ---- */
.book-tabs{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);
  border-radius:11px;margin-bottom:28px}
.book-tab{padding:8px 18px;border-radius:8px;font-size:13.5px;font-weight:600;color:var(--ink-2);cursor:pointer;border:none;background:none}
.book-tab.on{background:var(--raised);color:var(--ink);box-shadow:var(--shadow)}
.book-tab:hover:not(.on){color:var(--ink)}

/* ---- stat row ---- */
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px}
.stat{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px}
.stat .v{font-size:26px;font-weight:750;letter-spacing:-.02em}
.stat .l{font-size:11.5px;letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin-top:5px}
.stat .v.pos{color:var(--pos)} .stat .v.neg{color:var(--neg)}
.stat-note{font-size:12px;color:var(--muted);margin:-14px 0 22px;line-height:1.5}

/* ---- chart card ---- */
.chart-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:22px 22px 12px;margin-bottom:22px;box-shadow:var(--shadow)}
.chart-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:8px;flex-wrap:wrap}
.chart-title{font-weight:680;font-size:15.5px}
.chart-sub{font-size:12.5px;color:var(--muted);margin-top:4px}
.chart-body{width:100%;overflow-x:auto}
.chart-body svg{display:block;width:100%;height:auto}
.legend{display:flex;gap:16px;font-size:12.5px;color:var(--ink-2)}
.legend .lg{display:inline-flex;align-items:center;gap:7px}
.legend .sw{width:16px;height:3px;border-radius:2px}
.legend .sw.dash{background:repeating-linear-gradient(90deg,var(--bench) 0 5px,transparent 5px 9px);height:2px}

/* ---- quant grid ---- */
.quant-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;margin-bottom:24px}
.qcard{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px 20px;position:relative}
.qcard .qv{font-size:29px;font-weight:750;letter-spacing:-.02em}
.qcard .ql{font-size:12.5px;color:var(--ink-2);margin-top:4px;font-weight:600}
.qcard .qd{font-size:11.5px;color:var(--muted);margin-top:8px;line-height:1.45}
.qcard .verdict{position:absolute;top:16px;right:16px;font-size:10.5px;font-weight:700;letter-spacing:.04em;
  padding:3px 9px;border-radius:20px}
.verdict.good{background:color-mix(in srgb,var(--pos) 15%,transparent);color:var(--pos)}
.verdict.warn{background:color-mix(in srgb,var(--warn) 16%,transparent);color:var(--warn)}
.verdict.bad{background:color-mix(in srgb,var(--neg) 15%,transparent);color:var(--neg)}

/* ---- honesty box ---- */
.honesty{border:1px solid var(--border-2);border-left:3px solid var(--warn);background:var(--surface-2);
  border-radius:12px;padding:22px 24px;margin-top:8px}
.honesty h3{font-size:15px;margin-bottom:12px;display:flex;align-items:center;gap:9px}
.honesty ul{margin:0;padding-left:20px;color:var(--ink-2);font-size:14px}
.honesty li{margin:7px 0}
.honesty strong{color:var(--ink)}

/* ---- heatmap ---- */
.heatmap-body{padding-bottom:8px}
.heat-table{border-collapse:separate;border-spacing:3px;font-size:12px;width:100%}
.heat-table th{color:var(--muted);font-weight:600;font-size:11px;padding:2px 4px;text-align:center}
.heat-table td.yr{color:var(--ink-2);font-weight:700;font-family:ui-monospace,monospace;text-align:right;padding-right:8px}
.heat-cell{width:100%;height:30px;border-radius:5px;text-align:center;vertical-align:middle;
  font-variant-numeric:tabular-nums;font-size:11px;color:var(--ink);font-weight:600}
.heat-cell.empty{background:transparent!important;color:var(--muted)}
.heat-ytd{font-weight:750;border-left:2px solid var(--border-2)}

/* ---- signals table ---- */
.table-wrap{border:1px solid var(--border);border-radius:14px;overflow:hidden;overflow-x:auto;background:var(--surface)}
.signals-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:640px}
.signals-table th{text-align:left;padding:13px 16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;
  color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2)}
.signals-table th.num,.signals-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.signals-table td{padding:12px 16px;border-bottom:1px solid var(--border)}
.signals-table tr:last-child td{border-bottom:none}
.signals-table tr:hover td{background:var(--surface-2)}
.tk-cell{font-family:ui-monospace,monospace;font-weight:700}
.dir-buy{color:var(--pos);font-weight:700;font-size:12px}
.st{font-size:11px;font-weight:700;padding:3px 9px;border-radius:6px;letter-spacing:.03em}
.st.active{background:color-mix(in srgb,var(--accent) 15%,transparent);color:var(--accent)}
.st.wait{background:color-mix(in srgb,var(--warn) 15%,transparent);color:var(--warn)}
.st.shift{background:color-mix(in srgb,var(--bench) 20%,transparent);color:var(--ink-2)}
.st.flat{background:var(--raised);color:var(--muted)}

/* ---- replay ---- */
.replay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:14px}
.replay-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:18px;position:relative;overflow:hidden}
.replay-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px}
.replay-card.win::before{background:var(--pos)} .replay-card.loss::before{background:var(--neg)}
.rc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.rc-tk{font-family:ui-monospace,monospace;font-weight:750;font-size:16px}
.rc-pnl{font-weight:750;font-variant-numeric:tabular-nums}
.rc-pnl.win{color:var(--pos)} .rc-pnl.loss{color:var(--neg)}
.rc-meta{display:flex;gap:14px;font-size:12px;color:var(--muted)}
.rc-meta b{color:var(--ink-2);font-weight:600;font-family:ui-monospace,monospace}
.rc-dates{font-size:11.5px;color:var(--muted);margin-top:10px;font-family:ui-monospace,monospace}

/* ---- rules ---- */
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px}
.rule{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px;display:flex;gap:14px}
.rule .n{flex:none;width:28px;height:28px;border-radius:8px;background:var(--surface-2);border:1px solid var(--border);
  display:grid;place-items:center;font-weight:750;font-size:13px;color:var(--accent)}
.rule p{margin:0;font-size:14px;color:var(--ink-2)}

/* ---- pricing ---- */
.billing-toggle{display:inline-flex;gap:4px;padding:4px;background:var(--surface-2);border:1px solid var(--border);border-radius:11px;margin-bottom:28px}
.bt-opt{padding:9px 18px;border-radius:8px;font-size:14px;font-weight:600;color:var(--ink-2);cursor:pointer;border:none;background:none;display:inline-flex;align-items:center;gap:9px}
.bt-opt.on{background:var(--raised);color:var(--ink);box-shadow:var(--shadow)}
.bt-save{font-size:10px;font-weight:800;letter-spacing:.03em;color:var(--accent);background:color-mix(in srgb,var(--accent) 16%,transparent);padding:3px 8px;border-radius:20px}
.pricing-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}
.price-sub{font-size:12.5px;color:var(--muted);margin:-10px 0 18px;min-height:18px}
.price-save{position:absolute;top:-11px;right:20px;background:color-mix(in srgb,var(--pos) 18%,transparent);color:var(--pos);
  font-size:10.5px;font-weight:800;letter-spacing:.03em;padding:4px 10px;border-radius:20px;border:1px solid color-mix(in srgb,var(--pos) 30%,transparent)}
.price-strike{color:var(--muted);text-decoration:line-through;font-size:15px;font-weight:500;margin-right:6px}

/* ---- monthly results table ---- */
.mr-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.mr-table th{text-align:left;padding:12px 16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2)}
.mr-table th.num,.mr-table td.num{text-align:right;font-variant-numeric:tabular-nums}
.mr-table td{padding:12px 16px;border-bottom:1px solid var(--border)}
.mr-table tr:last-child td{border-bottom:none}
.mr-table tr:hover td{background:var(--surface-2)}
.mr-mo{font-family:ui-monospace,monospace;font-weight:700;text-transform:capitalize}
.mr-r{font-weight:750;font-variant-numeric:tabular-nums}
.mr-r.pos{color:var(--pos)} .mr-r.neg{color:var(--neg)}
.mr-bar{display:inline-block;height:7px;border-radius:4px;vertical-align:middle;min-width:2px}
.price-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:26px 24px;position:relative}
.price-card.featured{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 20px 50px -24px var(--accent)}
.price-badge{position:absolute;top:-11px;left:24px;background:var(--accent);color:var(--accent-ink);font-size:10.5px;
  font-weight:800;letter-spacing:.06em;padding:4px 11px;border-radius:20px}
.price-tier{font-size:12px;letter-spacing:.16em;color:var(--muted);font-weight:700}
.price-amt{font-size:34px;font-weight:800;margin:8px 0 18px;letter-spacing:-.02em}
.price-amt span{font-size:14px;font-weight:500;color:var(--muted)}
.price-feats{list-style:none;margin:0 0 22px;padding:0;font-size:13.5px}
.price-feats li{padding:8px 0 8px 26px;position:relative;border-bottom:1px solid var(--border);color:var(--ink-2)}
.price-feats li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:800}
.price-feats li.off{color:var(--muted)}
.price-feats li.off::before{content:"✕";color:var(--muted)}
.price-feats li.hot{color:var(--ink);font-weight:650}
.price-feats li.hot::before{content:"★";color:var(--warn)}

/* ---- hedge ---- */
.hedge-head{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;margin-bottom:18px}
.hedge-hero{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:20px 22px}
.hedge-hero .v{font-size:27px;font-weight:750;letter-spacing:-.02em}
.hedge-hero .v.good{color:var(--pos)}
.hedge-hero .v .arrow{color:var(--muted);font-weight:400;font-size:19px;margin:0 5px}
.hedge-hero .v b.pos{color:var(--pos)}
.hedge-hero .l{font-size:11.5px;color:var(--muted);margin-top:7px;text-transform:uppercase;letter-spacing:.07em}
.hedge-wrap{display:grid;grid-template-columns:1.3fr .7fr;gap:16px;align-items:start}
@media(max-width:760px){.hedge-wrap{grid-template-columns:1fr}}
.hedge-table-card{background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:6px 4px;box-shadow:var(--shadow);overflow-x:auto}
.hedge-table{width:100%;border-collapse:collapse;font-size:14px;min-width:420px}
.hedge-table th{text-align:right;padding:13px 18px;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border)}
.hedge-table th:first-child{text-align:left}
.hedge-table td{padding:13px 18px;border-bottom:1px solid var(--border);text-align:right;font-variant-numeric:tabular-nums}
.hedge-table td:first-child{text-align:left;color:var(--ink-2)}
.hedge-table tr:last-child td{border-bottom:none}
.hedge-table .col-h{color:var(--ink);font-weight:600}
.hc-better{color:var(--pos);font-weight:750}
.hedge-elite{background:var(--surface-2);border:1px solid var(--border-2);border-radius:16px;padding:22px;display:flex;flex-direction:column;gap:12px}
.hedge-elite .he-lock{font-size:22px}
.hedge-elite .he-t{font-weight:680;font-size:15px}
.hedge-elite .he-s{font-size:13px;color:var(--ink-2)}
.hedge-note{font-size:12px;color:var(--muted);margin-top:14px;line-height:1.5}

/* ---- proprietary note ---- */
.proprietary{margin-top:22px;max-width:680px;color:var(--ink-2);font-size:15px;
  border-left:3px solid var(--accent);padding:4px 0 4px 18px}
.proprietary a{color:var(--accent);text-decoration:underline;text-underline-offset:2px}

/* ---- locked radar / members teaser ---- */
.radar-summary{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.rs-pill{background:var(--surface);border:1px solid var(--border);border-radius:11px;padding:14px 18px}
.rs-pill .v{font-size:24px;font-weight:750}
.rs-pill .v.pos{color:var(--accent)}
.rs-pill .l{font-size:11.5px;letter-spacing:.07em;color:var(--muted);text-transform:uppercase;margin-top:4px}
.locked-wrap{position:relative;border:1px solid var(--border);border-radius:14px;overflow:hidden;background:var(--surface)}
.locked-table{width:100%;border-collapse:collapse;font-size:13.5px;min-width:520px}
.locked-table th{text-align:left;padding:12px 16px;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border-bottom:1px solid var(--border);background:var(--surface-2)}
.locked-table th.num,.locked-table td.num{text-align:right}
.locked-table td{padding:11px 16px;border-bottom:1px solid var(--border)}
.locked-table .lockval{filter:blur(5px);opacity:.5;font-family:ui-monospace,monospace;user-select:none}
.locked-cta{position:absolute;inset:auto 0 0 0;top:52px;display:flex;flex-direction:column;align-items:center;
  justify-content:center;gap:12px;text-align:center;padding:28px 20px;
  background:linear-gradient(180deg,transparent,color-mix(in srgb,var(--surface) 82%,transparent) 34%,var(--surface) 62%)}
.locked-cta .lk{font-size:26px}
.locked-cta .lt{font-weight:680;font-size:16px}
.locked-cta .ls{font-size:13px;color:var(--ink-2);max-width:360px}
.members-tag{font-size:10px;font-weight:700;letter-spacing:.05em;color:var(--muted);
  border:1px solid var(--border);border-radius:5px;padding:2px 7px}

/* ---- footer ---- */
.footer{border-top:1px solid var(--border);padding:48px clamp(16px,4vw,48px);max-width:1180px;margin:0 auto}
.footer-top{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:26px}
.footer-links{display:flex;gap:22px;font-size:14px;color:var(--ink-2)}
.disclaimer{font-size:12px;color:var(--muted);max-width:900px;line-height:1.6;border-top:1px solid var(--border);padding-top:22px}
.copy{font-size:12px;color:var(--muted);margin-top:14px}

/* ---- tooltip ---- */
.tooltip{position:fixed;z-index:100;pointer-events:none;background:var(--raised);border:1px solid var(--border-2);
  border-radius:9px;padding:9px 12px;font-size:12px;box-shadow:0 12px 30px -8px rgba(0,0,0,.5);min-width:130px}
.tooltip .tt-d{color:var(--muted);font-size:11px;margin-bottom:5px}
.tooltip .tt-row{display:flex;justify-content:space-between;gap:16px;font-variant-numeric:tabular-nums}
.tooltip .tt-row .k{color:var(--ink-2)} .tooltip .tt-row .val{font-weight:700}

/* svg helpers */
.gridline{stroke:var(--grid);stroke-width:1}
.axis-label{fill:var(--muted);font-size:11px;font-family:ui-monospace,monospace}
.crosshair{stroke:var(--border-2);stroke-width:1;stroke-dasharray:3 3}

@media(max-width:760px){
  .nav-links{display:none}
  .hero-stats{grid-template-columns:repeat(2,1fr)}
}
