:root{
  --ink:#0A0D13; --panel:#121722; --panel-hi:#161D2B; --raised:#1A2333; --hair:#242E42; --hair-2:#33405C;
  --hi:#EAEEF6; --mid:#8A94AA; --dim:#5C6578;
  --pos:#3FD6C0; --neg:#FF6B7A; --lit:#F2C14E; --blu:#6FA8FF; --vio:#B58BFF;
  --pos-soft:rgba(63,214,192,.14); --neg-soft:rgba(255,107,122,.14); --lit-soft:rgba(242,193,78,.14);
  --edge:rgba(255,255,255,.06); --edge-2:rgba(255,255,255,.03);
  --shadow-sm:0 1px 2px rgba(0,0,0,.5);
  --shadow-md:0 10px 30px -16px rgba(0,0,0,.7);
  --r-lg:14px; --r-md:11px; --r-sm:7px;
  --mono:ui-monospace,"SF Mono","JetBrains Mono",Menlo,"Cascadia Mono",monospace;
  --sans:system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
}
*{box-sizing:border-box} html,body{margin:0}
body{background:radial-gradient(1100px 560px at 82% -10%, rgba(34,46,74,.5) 0%, transparent 62%),linear-gradient(180deg,#0C1017 0%, #090C12 46%);
  color:var(--hi); font-family:var(--sans); line-height:1.45; -webkit-font-smoothing:antialiased; padding:0 0 72px; font-variant-numeric:tabular-nums}
.wrap{max-width:1200px; margin:0 auto; padding:0 24px}
section{margin-top:44px}

/* lane nav (from equity_phase1) */
.nav{display:flex; align-items:center; gap:14px; padding:9px 24px; border-bottom:1px solid var(--hair); background:linear-gradient(180deg,rgba(12,16,23,.96),rgba(10,13,19,.86));
  font-family:var(--mono); font-size:10px; letter-spacing:.14em; text-transform:uppercase; font-weight:700}
.nav a{color:var(--mid); text-decoration:none; padding:3px 8px; border-radius:5px; border:1px solid transparent; transition:color .15s ease}
.nav a:hover{color:var(--hi)}
.nav .active{color:var(--pos); background:var(--pos-soft); border-color:rgba(63,214,192,.28)}
.nav .soon{color:var(--dim); opacity:.55; padding:3px 8px}

/* status rail */
.rail{padding:13px 24px; border-bottom:1px solid var(--hair); position:sticky; top:0; z-index:20;
  backdrop-filter:blur(14px) saturate(1.2); background:linear-gradient(180deg,rgba(12,16,23,.92),rgba(10,13,19,.74)); box-shadow:0 1px 0 var(--edge),var(--shadow-sm)}
.rail .max{max-width:1200px; margin:0 auto; display:flex; align-items:center; gap:18px; flex-wrap:wrap}
.brand{font-family:var(--mono); font-weight:700; letter-spacing:-.01em; font-size:15px; color:var(--hi)}
.brand .v{color:var(--pos)}
.lane{font-family:var(--mono); font-size:10px; letter-spacing:.2em; text-transform:uppercase;
  color:#04120F; background:linear-gradient(180deg,#5ce7d3,var(--pos)); padding:4px 10px; border-radius:5px; font-weight:800; box-shadow:0 0 16px -4px rgba(63,214,192,.6),inset 0 1px 0 rgba(255,255,255,.4)}
.stamp{font-family:var(--mono); font-size:11px; color:var(--mid); margin-left:auto; text-align:right; line-height:1.5}
.stamp b{color:var(--hi); font-weight:600}

/* hero — pure-CSS candle motif behind the title */
.hero{position:relative; max-width:1200px; margin:0 auto; padding:58px 24px 34px; overflow:hidden}
.hero h1{position:relative; z-index:1; margin:0; font-size:34px; letter-spacing:-.02em; font-weight:700}
.hero .tagline{position:relative; z-index:1; margin:10px 0 0; font-family:var(--mono); font-size:11.5px; letter-spacing:.06em; color:var(--mid)}
.candles{position:absolute; inset:auto 24px 0 auto; width:min(46%,480px); height:86%; display:flex; align-items:flex-end; gap:12px; opacity:.32; pointer-events:none; mask-image:linear-gradient(90deg,transparent,#000 28%); -webkit-mask-image:linear-gradient(90deg,transparent,#000 28%)}
.candles i{position:relative; flex:1; max-width:13px; height:var(--b,40%); border-radius:2px; margin-bottom:14px}
.candles i.up{color:rgba(63,214,192,.55); background:linear-gradient(180deg,rgba(63,214,192,.55),rgba(63,214,192,.10))}
.candles i.dn{color:rgba(255,107,122,.5); background:linear-gradient(180deg,rgba(255,107,122,.5),rgba(255,107,122,.08))}
.candles i::before{content:""; position:absolute; left:calc(50% - .5px); width:1px; top:calc(-1*var(--wt,10px)); bottom:calc(-1*var(--wb,8px)); background:currentColor}

.eyebrow{font-family:var(--mono); font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:var(--dim); margin:0 0 14px}
h2.sec{font-size:15px; font-weight:600; margin:0; letter-spacing:-.01em; color:var(--hi)}
.sec-row{display:flex; align-items:baseline; gap:12px; margin:0 0 16px; flex-wrap:wrap}

/* chart */
.chart-wrap{background:radial-gradient(120% 100% at 50% 0%, var(--panel-hi), var(--panel) 72%); border:1px solid var(--hair); border-radius:var(--r-lg); padding:18px 20px 20px; position:relative; box-shadow:inset 0 1px 0 var(--edge),inset 0 0 44px -22px rgba(63,214,192,.16),var(--shadow-md)}
#laneChart{height:260px}
.note{font-size:11.5px; color:var(--dim); margin-top:16px; line-height:1.6}

/* lane cards */
.lgrid{display:grid; grid-template-columns:repeat(3,1fr); gap:16px}
.lcard{background:linear-gradient(180deg,var(--panel-hi),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-lg); padding:18px; box-shadow:inset 0 1px 0 var(--edge),var(--shadow-md); display:flex; flex-direction:column; gap:10px; min-height:118px}
.lhead2{display:flex; align-items:center; justify-content:space-between; gap:10px}
.lname{font-family:var(--mono); font-size:13px; font-weight:700; letter-spacing:.02em; text-transform:capitalize; color:var(--hi)}
.lname a{color:var(--pos); text-decoration:none; border-bottom:1px dashed rgba(63,214,192,.4)}
.lname a:hover{border-bottom-style:solid}
.badge{font-family:var(--mono); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; padding:3px 8px; border-radius:5px; font-weight:800; border:1px solid transparent; white-space:nowrap}
.badge.st-shadow{color:var(--lit); background:var(--lit-soft); border-color:rgba(242,193,78,.3)}
.badge.st-active{color:var(--pos); background:var(--pos-soft); border-color:rgba(63,214,192,.28)}
.badge.st-legacy{color:var(--blu); background:rgba(111,168,255,.12); border-color:rgba(111,168,255,.3)}
.badge.st-nodata{color:var(--neg); background:var(--neg-soft); border-color:rgba(255,107,122,.25); opacity:.8}
.badge.st-newborn{color:var(--vio); background:rgba(181,139,255,.1); border-color:rgba(181,139,255,.28)}
.badge.st-notbuilt{color:var(--dim); background:rgba(90,99,119,.1); border:1px dashed var(--hair-2)}
.lstat{font-family:var(--mono); font-size:12px; color:var(--hi)}
.lstat b{font-size:16px; font-weight:700}
.lwr{font-family:var(--mono); font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--pos)}
.lwr span{font-size:9.5px; font-weight:400; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); margin-left:8px}
.lnote{font-size:11px; color:var(--dim); line-height:1.55}
.lexcl{font-family:var(--mono); font-size:9.5px; letter-spacing:.04em; color:var(--dim); margin-top:auto}
.empty{text-align:center; color:var(--dim); padding:28px; font-family:var(--mono); font-size:11.5px}

/* footer */
.foot{max-width:1200px; margin:64px auto 0; padding:18px 24px 0; border-top:1px solid var(--hair);
  font-family:var(--mono); font-size:10px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); text-align:center; line-height:1.8}

@media (max-width:880px){
  .lgrid{grid-template-columns:1fr}
  .candles{width:60%; opacity:.2}
  .stamp{margin-left:0; text-align:left}
}
@media (prefers-reduced-motion:reduce){ *{transition:none!important} }

/* ===== meme-page additions ===== */
.legend{display:flex; gap:15px; font-size:9.5px; font-family:var(--mono); letter-spacing:.06em; text-transform:uppercase; color:var(--mid)}
.legend span{display:inline-flex; align-items:center; gap:6px}
.dot{width:7px; height:7px; border-radius:50%}
.dot.live{background:var(--pos); box-shadow:0 0 10px -1px var(--pos)} .dot.shadow{background:var(--lit); box-shadow:0 0 10px -1px var(--lit)} .dot.samp{background:var(--dim)}
.loop{display:inline-flex; align-items:center; gap:9px}
.loop .loopage{font-family:var(--mono); font-size:10px; color:var(--mid); letter-spacing:.02em}
.tag{font-family:var(--mono); font-size:9px; letter-spacing:.12em; text-transform:uppercase; padding:3px 8px; border-radius:5px; font-weight:700; border:1px solid transparent}
.tag.live{color:var(--pos); background:var(--pos-soft); border-color:rgba(63,214,192,.28)}
.tag.shadow{color:var(--lit); background:var(--lit-soft); border-color:rgba(242,193,78,.3)}
.tag.neg{color:var(--neg); background:var(--neg-soft); border-color:rgba(255,107,122,.3)}
.stamp.stale b, .stamp.stale span{color:var(--lit)!important}

/* stat tiles */
.stats{display:grid; grid-template-columns:repeat(5,1fr); gap:14px}
.cell{position:relative; background:linear-gradient(180deg,var(--panel-hi),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-lg); padding:16px 16px 15px; box-shadow:inset 0 1px 0 var(--edge),var(--shadow-md); overflow:hidden}
.cell .k{font-family:var(--mono); font-size:9.5px; letter-spacing:.16em; text-transform:uppercase; color:var(--mid)}
.cell .num{font-family:var(--mono); font-size:30px; font-weight:700; margin-top:10px; letter-spacing:-.035em; line-height:.95; color:var(--hi)}
.cell .sub{font-size:10px; color:var(--dim); margin-top:9px; font-family:var(--mono); letter-spacing:.01em; line-height:1.5}
.cell .goal{display:block; color:var(--mid); margin-top:3px}
.cell.pos{border-color:rgba(63,214,192,.3)} .cell.pos .num{color:var(--pos); text-shadow:0 0 26px rgba(63,214,192,.35)}
.cell.flag{border-color:rgba(242,193,78,.3)} .cell.flag .num{color:var(--lit); text-shadow:0 0 26px rgba(242,193,78,.35)}
.cell .tilebar{height:6px; background:var(--ink); border-radius:4px; margin-top:10px; overflow:hidden; border:1px solid var(--hair)}
.cell .tilebar > i{display:block; height:100%; background:linear-gradient(90deg,rgba(242,193,78,.35),var(--lit))}

/* filter pills */
.pills{display:inline-flex; gap:6px; flex-wrap:wrap}
.pill-btn{font-family:var(--mono); font-size:9.5px; letter-spacing:.1em; text-transform:uppercase; padding:4px 10px; border-radius:6px; cursor:pointer;
  color:var(--mid); background:linear-gradient(180deg,var(--raised),var(--panel)); border:1px solid var(--hair)}
.pill-btn.on{color:var(--pos); background:var(--pos-soft); border-color:rgba(63,214,192,.35)}
.filters{display:flex; gap:10px 14px; flex-wrap:wrap; margin-bottom:14px; align-items:center}
.filters .lbl{font-family:var(--mono); font-size:9px; letter-spacing:.14em; text-transform:uppercase; color:var(--dim)}

/* charts */
#actChart,#matChart,#llChart{height:250px}

/* signal board */
.board{margin-top:18px; background:linear-gradient(180deg,var(--panel-hi),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-lg); overflow:hidden; box-shadow:inset 0 1px 0 var(--edge),var(--shadow-md)}
.brow{display:grid; grid-template-columns:230px 92px 130px 70px 1fr; gap:14px; align-items:center; padding:12px 18px; border-bottom:1px solid var(--hair); cursor:pointer; transition:background .15s ease}
.brow:last-child{border-bottom:none} .brow:hover{background:var(--raised)}
.brow .bname{font-size:13px; color:var(--hi); font-weight:600}
.brow .bdesc{grid-column:1/-1; font-size:11.5px; color:var(--mid); line-height:1.6; display:none; padding-top:2px}
.brow.open .bdesc{display:block}
.chip{font-family:var(--mono); font-size:8.5px; letter-spacing:.1em; text-transform:uppercase; padding:3px 8px; border-radius:5px; font-weight:800; border:1px solid transparent; white-space:nowrap; justify-self:start}
.chip.fam-onchain{color:#6FA8FF; background:rgba(111,168,255,.1); border-color:rgba(111,168,255,.3)}
.chip.fam-social{color:var(--lit); background:var(--lit-soft); border-color:rgba(242,193,78,.3)}
.chip.fam-computed{color:var(--vio); background:rgba(181,139,255,.1); border-color:rgba(181,139,255,.28)}
.chip.st-gathering{color:var(--dim); background:rgba(90,99,119,.12); border:1px dashed var(--hair-2)}
.chip.st-readable{color:var(--lit); background:var(--lit-soft); border-color:rgba(242,193,78,.3)}
.chip.st-trusted{color:var(--vio); background:rgba(181,139,255,.12); border-color:rgba(181,139,255,.35)}
.chip.st-provisional{color:#6FA8FF; background:rgba(111,168,255,.12); border-color:rgba(111,168,255,.35)}
.chip.st-licensed{color:var(--pos); background:var(--pos-soft); border-color:rgba(63,214,192,.35)}
.chip.arm-standby{color:var(--dim); opacity:.7; border-style:dashed; border-color:var(--hair-2); background:var(--ink)}
.brow .bn{font-family:var(--mono); font-size:11px; color:var(--mid)}
.gate{display:flex; align-items:center; gap:10px}
.gate .gbar{flex:1; height:7px; background:var(--ink); border-radius:5px; overflow:hidden; border:1px solid var(--hair)}
.gate .gbar > i{display:block; height:100%; background:linear-gradient(90deg,rgba(242,193,78,.35),var(--lit))}
.gate .glab{font-family:var(--mono); font-size:9.5px; color:var(--dim); white-space:nowrap}

/* source cards + buckets + regime (equity_phase1 idiom) */
.two{display:grid; grid-template-columns:1fr 1fr; gap:20px}
.card{background:linear-gradient(180deg,var(--panel-hi),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-lg); padding:20px; box-shadow:inset 0 1px 0 var(--edge),var(--shadow-md)}
.src-top{display:flex; justify-content:space-between; align-items:baseline; font-family:var(--mono)}
.src-top .nm{font-size:12.5px; color:var(--hi)} .src-top .truth{color:var(--pos); font-size:8.5px; letter-spacing:.12em; text-transform:uppercase; margin-left:8px}
.src-top .pct{font-size:21px; font-weight:700}
.src-meta{font-family:var(--mono); font-size:10px; color:var(--dim); margin-top:4px}
.src-meta .drag{color:var(--neg)}
.src-desc{font-size:11.5px; color:var(--mid); margin-top:8px; line-height:1.6}
.track{height:7px; background:var(--ink); border-radius:5px; margin-top:10px; overflow:hidden; border:1px solid var(--hair)}
.track > i{display:block; height:100%; background:linear-gradient(90deg,rgba(63,214,192,.35),var(--pos))}
.buckets{display:grid; grid-template-columns:repeat(3,1fr); gap:12px; margin-top:14px}
.bk{background:linear-gradient(180deg,var(--raised),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-md); padding:14px}
.bk .nm{font-family:var(--mono); font-size:10px; letter-spacing:.16em; text-transform:uppercase; color:var(--lit)}
.bk .hold{font-family:var(--mono); font-size:20px; font-weight:700; margin:8px 0 2px; color:var(--hi)}
.bk .band{font-family:var(--mono); font-size:9.5px; color:var(--dim)}
.grad{margin-top:16px; background:linear-gradient(180deg,var(--raised),var(--panel)); border:1px solid var(--hair); border-radius:var(--r-md); padding:15px 16px}
.grad .row{display:flex; justify-content:space-between; align-items:center; font-family:var(--mono); font-size:11.5px; color:var(--hi)}
.grad .row .st{color:var(--lit); font-weight:700; letter-spacing:.06em; text-transform:uppercase; font-size:10px}
.grad .bar{height:8px; background:var(--ink); border-radius:5px; margin-top:11px; overflow:hidden; border:1px solid var(--hair)}
.grad .bar > i{display:block; height:100%; background:linear-gradient(90deg,rgba(242,193,78,.35),var(--lit))}
.grad .eta{font-family:var(--mono); font-size:10px; color:var(--mid); margin-top:10px; line-height:1.6}

/* corpus table */
table{width:100%; border-collapse:separate; border-spacing:0; font-family:var(--mono); font-size:11.5px}
thead th{text-align:left; color:var(--dim); font-weight:600; font-size:9px; letter-spacing:.14em; text-transform:uppercase; padding:12px 14px; background:linear-gradient(180deg,#141b28,#10151f); border-bottom:1px solid var(--hair-2)}
tbody td{padding:12px 14px; border-bottom:1px solid var(--hair); color:var(--hi)}
tbody tr:nth-child(2n) td{background:rgba(255,255,255,.014)}
tbody tr:hover td{background:var(--raised)}
.pill{font-size:8.5px; letter-spacing:.08em; text-transform:uppercase; padding:3px 8px; border-radius:5px; font-weight:800; border:1px solid transparent; white-space:nowrap}
.pill.win{color:#8ff0e2; background:rgba(63,214,192,.16); border-color:rgba(63,214,192,.4)}
.pill.loss{color:#ff9aa6; background:rgba(255,107,122,.16); border-color:rgba(255,107,122,.4)}
.pill.time_exit{color:#f7d488; background:rgba(242,193,78,.16); border-color:rgba(242,193,78,.4)}
td a.ax{color:var(--pos); text-decoration:none; border-bottom:1px dashed rgba(63,214,192,.4)}
.note .grading{color:var(--lit); opacity:.85}
td .vtag{font-size:8.5px; letter-spacing:.06em; text-transform:uppercase; color:var(--dim); border:1px solid var(--hair); border-radius:4px; padding:1px 5px; margin-left:6px; white-space:nowrap}
td a.ax:hover{border-bottom-style:solid}
.showall{text-align:center; margin-top:14px}
.showall button{font-family:var(--mono); font-size:10px; letter-spacing:.1em; text-transform:uppercase; color:var(--mid); background:linear-gradient(180deg,var(--raised),var(--panel)); border:1px solid var(--hair); border-radius:7px; padding:9px 18px; cursor:pointer}
.showall button:hover{color:var(--hi)}

@media (max-width:880px){
  .stats{grid-template-columns:repeat(2,1fr)} .two{grid-template-columns:1fr} .buckets{grid-template-columns:1fr}
  .brow{grid-template-columns:1fr 90px; gap:8px} .brow .gate{grid-column:1/-1}
}

/* ===== board v2: state sections + always-visible rows ===== */
.bsec{border-bottom:1px solid var(--hair)} .bsec:last-child{border-bottom:none}
.bsec-head{display:flex; align-items:center; gap:12px; padding:12px 18px; cursor:pointer; background:rgba(0,0,0,.22); border-bottom:1px solid var(--hair)}
.bsec-head:hover{background:rgba(0,0,0,.32)}
.bsec-def{font-size:11px; color:var(--mid)}
.bsec-count{margin-left:auto; font-family:var(--mono); font-size:9px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); white-space:nowrap}
.bsec.closed .brows{display:none}
.brow2{padding:13px 18px; border-bottom:1px solid var(--hair)}
.brow2:last-child{border-bottom:none} .brow2:hover{background:var(--raised)}
.brow2 .l1{display:flex; align-items:center; gap:10px; flex-wrap:wrap}
.brow2 .bname{font-size:13px; color:var(--hi); font-weight:600}
.brow2 .meas{font-family:var(--mono); font-size:10px; color:var(--mid)}
.brow2 .meter{display:inline-flex; align-items:center; gap:8px; margin-left:auto}
.mbar2{display:inline-block; width:110px; height:7px; background:var(--ink); border-radius:5px; overflow:hidden; border:1px solid var(--hair)}
.mbar2 > i{display:block; height:100%; background:linear-gradient(90deg,rgba(63,214,192,.35),var(--pos))}
.meter .dir{font-family:var(--mono); font-size:9px; letter-spacing:.05em; text-transform:uppercase; color:var(--dim); white-space:nowrap}
.bdesc2{font-size:11.5px; color:var(--mid); line-height:1.55; margin-top:5px}
.bgate{font-family:var(--mono); font-size:10px; color:var(--lit); margin-top:6px; letter-spacing:.02em}
.bk .meas{font-family:var(--mono); font-size:9.5px; color:var(--mid); margin-top:8px}
@media (max-width:880px){ .brow2 .meter{margin-left:0; width:100%} }
