/* Caverio synthesis d6 "race" · 2026-09-17. Palette from caverio.css: green only for observed inflow,
   rose only for observed outflow or an observed exit, blue for the crowd (attention), bone for money and cap. */
*{box-sizing:border-box}
html{background:var(--cv-field)}
body{margin:0;background:var(--cv-field);color:var(--cv-bone);font-family:var(--cv-font-ui);font-size:14px;line-height:1.45;-webkit-font-smoothing:antialiased}
.num{font-family:var(--cv-font-data);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.dim{color:var(--cv-bone-62)}
.k{font-family:var(--cv-font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-bone-62)}
.up{color:var(--cv-green)}.down{color:var(--cv-rose)}
a{color:inherit}
.shell{max-width:1360px;margin:0 auto;padding:0 28px}
.topbar{display:flex;align-items:center;justify-content:space-between;height:66px;border-bottom:1px solid var(--cv-bone-12);gap:20px}
.nav{display:flex;gap:22px;font-size:13px;color:var(--cv-bone-62);align-self:stretch}
.nav span{display:flex;align-items:center;border-bottom:2px solid transparent}
.nav span.active{color:var(--cv-bone);border-bottom-color:var(--cv-bone)}
.intro{margin:26px 0 14px;display:flex;justify-content:space-between;align-items:end;gap:16px;flex-wrap:wrap}
.intro h1{font-size:30px;font-weight:500;letter-spacing:-.02em;margin:0 0 2px}
.intro p{margin:0;color:var(--cv-bone-62);font-size:14px;max-width:760px}
.intro .status{font-family:var(--cv-font-data);font-size:12px;color:var(--cv-bone-40);letter-spacing:.06em;text-align:right}
.footer{margin:40px 0 44px;font-size:12px;color:var(--cv-bone-40);display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}

/* board */
.board{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{display:flex;flex-direction:column;gap:10px;background:var(--cv-graphite);border:1px solid var(--cv-bone-12);border-radius:var(--cv-radius-card);padding:16px 18px 14px;min-width:0;text-decoration:none;color:inherit;position:relative;overflow:clip}
.card:hover{border-color:var(--cv-bone-18);background:#1b201e}
.card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:var(--edge-w,2px);background:var(--edge-ink,var(--cv-bone-18))}
.stage-forming{--edge-w:2px;--edge-ink:var(--cv-bone-40)}.stage-confirming{--edge-w:3px;--edge-ink:var(--cv-bone-70)}.stage-active{--edge-w:4px;--edge-ink:var(--cv-bone)}.stage-fading{--edge-w:2px;--edge-ink:var(--cv-bone-18)}.stage-cooling{--edge-w:2px;--edge-ink:var(--cv-bone-18)}

/* header */
.hd{display:flex;align-items:center;justify-content:space-between;gap:10px;min-width:0}
.idb{display:flex;align-items:center;gap:10px;min-width:0}
.mark{width:32px;height:32px;border-radius:8px;background:var(--cv-raised);border:1px solid var(--cv-bone-12);display:inline-flex;align-items:center;justify-content:center;font-family:var(--cv-font-data);font-size:13px;color:var(--cv-bone-70);flex-shrink:0}
.idt{display:flex;flex-direction:column;min-width:0}
.idt b{font-size:15px;font-weight:600;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.idt .ctx{font-size:12px;color:var(--cv-bone-62);white-space:nowrap}
.hdr{display:flex;align-items:center;gap:6px;flex-shrink:0}
.stage{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:var(--cv-bone-70);border:1px solid var(--cv-bone-18);border-radius:4px;padding:3px 8px;white-space:nowrap}
.stage .st{text-transform:capitalize}.stage .dur{color:var(--cv-bone-62)}
.stage i{width:6px;height:6px;border-radius:50%;background:var(--cv-bone-40)}
.stage-active .stage i,.stage-confirming .stage i{background:var(--cv-bone)}
.copy,.pin{font:inherit;background:transparent;border:1px solid var(--cv-bone-12);color:var(--cv-bone-62);border-radius:4px;height:26px;display:inline-flex;align-items:center;gap:5px;padding:0 7px;cursor:pointer}
.copy .num{font-size:12px}
.copy:hover,.pin:hover{color:var(--cv-bone);border-color:var(--cv-bone-18)}
.copy.done{color:var(--cv-green);border-color:var(--cv-green-line)}
.pin{width:26px;padding:0;justify-content:center}.pin.on{color:var(--cv-ochre);border-color:var(--cv-ochre-line)}
@media(max-width:700px){.copy .num{display:none}}

/* cap block */
.capb{display:flex;justify-content:space-between;align-items:end;gap:12px;margin-top:2px}
.capb .big{font-size:30px;line-height:1.05;font-weight:500;margin-top:2px}
.capb .since{text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:2px}
.capb .since .num{font-size:15px}
.strip{display:flex;flex-direction:column;gap:4px}
.sl{display:flex;justify-content:space-between;gap:8px;font-size:12px;color:var(--cv-bone-62);align-items:baseline;flex-wrap:wrap}
.sl .num{color:var(--cv-bone-70)}
.svgbox{width:100%;min-width:0}
.svgbox svg{display:block;width:100%;overflow:visible}
.pl{display:flex;justify-content:space-between;gap:10px;font-size:12.5px;color:var(--cv-bone-62);border-top:1px solid var(--cv-bone-12);padding-top:8px;flex-wrap:wrap}
.pl b{color:var(--cv-bone);font-weight:500}

/* the race */
.raceti{color:var(--cv-bone-70);font-family:var(--cv-font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.raceti em{font-style:normal;color:var(--cv-bone-40)}
.raceti .cw{color:var(--cv-blue)}
.lead{font-family:var(--cv-font-ui);font-size:13px;font-weight:500;color:var(--cv-bone);white-space:nowrap}
.lead-crowd{color:var(--cv-blue)}.lead-money{color:var(--cv-bone)}.lead-none{color:var(--cv-bone-62)}
.card .strip.race{border-top:1px solid var(--cv-bone-12);padding-top:8px}
svg text{font-family:var(--cv-font-data);font-size:12px;fill:var(--cv-bone-62)}
svg text.ax{font-size:12px;fill:var(--cv-bone-62)}
svg text.dim{fill:var(--cv-bone-40)}
svg text.lbl{font-size:12.5px;fill:var(--cv-bone)}
svg text.lbl.money{fill:var(--cv-bone)}
svg text.crowd,svg text.lbl.crowd{fill:var(--cv-blue)}
svg text.lbl.buy{fill:var(--cv-bone-70);font-size:12px}
svg text.lbl.out{fill:var(--cv-rose)}
.capline{fill:none;stroke:var(--cv-bone);stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
.capdot{fill:var(--cv-bone)}
.zero{stroke:var(--cv-bone-18);stroke-width:1}
.seen{stroke:var(--cv-bone-18);stroke-width:1;stroke-dasharray:2 3}
.nowcur{stroke:var(--cv-bone-40);stroke-width:1}
.money{fill:none;stroke:var(--cv-bone);stroke-width:1.6;stroke-linejoin:round}
.fill-in{fill:var(--cv-green);opacity:.28}
.fill-out{fill:var(--cv-rose);opacity:.28}
.crowd{fill:none;stroke:var(--cv-blue);stroke-width:1.6;stroke-linejoin:round}
.crowd.unknown{stroke-dasharray:3 4;opacity:.8}
.crowddot{fill:var(--cv-blue)}
.callline{stroke:var(--cv-blue);stroke-width:1;stroke-dasharray:2 3;opacity:.7}
.callflag{fill:var(--cv-blue)}
.buytick{stroke:var(--cv-bone);stroke-width:2;stroke-linecap:round}
.buytick.out{stroke:var(--cv-rose)}
.selltick{stroke:var(--cv-rose);stroke-width:2;stroke-linecap:round}
.bar-in{fill:var(--cv-green)}.bar-out{fill:var(--cv-rose)}

/* flow strip (the live card's) */
.flowrow{display:grid;grid-template-columns:auto minmax(80px,1fr) auto;gap:12px;align-items:center;border-top:1px solid var(--cv-bone-12);padding-top:8px}
.fl{display:flex;flex-direction:column;font-size:12px;color:var(--cv-bone-62);white-space:nowrap}
.fl .dim{font-size:12px;color:var(--cv-bone-40)}
.fv{font-size:14px;text-align:right;display:flex;flex-direction:column;align-items:flex-end;gap:1px}
.fv .k{font-size:12px;letter-spacing:.04em;white-space:nowrap}
.fv.dim{color:var(--cv-bone-62)}

/* people + exposure */
.people{display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:var(--cv-bone-70)}
.expo{display:flex;gap:3px;height:5px}
.expo i{flex:1;border-radius:1px;background:var(--cv-bone-70)}
.expo .e-reduced{background:var(--cv-bone-40)}
.expo .e-exited{background:var(--cv-rose)}
.expo .e-unchecked{background:var(--cv-unknown-hatch,repeating-linear-gradient(135deg,rgba(233,237,231,.42) 0 1px,transparent 1px 4px));border:1px solid var(--cv-bone-12)}
.expo.none{height:auto;font-size:12px;color:var(--cv-bone-40)}

/* the read */
.read{font-family:var(--cv-font-editorial);font-size:16.5px;line-height:1.35;margin:2px 0 0;color:var(--cv-bone);letter-spacing:-.005em}
.read.big{font-size:21px;margin-top:14px}
.next{display:flex;gap:8px;align-items:baseline;font-size:12.5px;color:var(--cv-bone-70);margin-top:auto;padding-top:4px}
.next .k{flex-shrink:0}

/* situation view */
.view{display:flex;flex-direction:column;gap:18px;padding:22px 0 0}
.view .hd .idt b{font-size:20px}
.topnums{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1.4fr;gap:18px;align-items:end;background:var(--cv-graphite);border:1px solid var(--cv-bone-12);border-radius:var(--cv-radius-card);padding:16px 20px}
.topnums .capb{margin:0}
.topnums .capb .big{font-size:36px}
.tn{display:flex;flex-direction:column;gap:3px;font-size:14px}
.tn b{font-weight:500;font-size:16px}
.racefull{background:var(--cv-graphite);border:1px solid var(--cv-bone-12);border-radius:var(--cv-radius-card);padding:18px 20px 16px;display:flex;flex-direction:column;gap:6px}
.racefull .sl{font-size:13px}
.racefull .sl.sub{margin-top:10px;font-size:12px}
.racefull .lead{white-space:normal;text-align:right;max-width:60%}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--cv-bone-62);margin-top:2px}
.legend span{display:inline-flex;align-items:center;gap:6px}
.lg{width:14px;height:3px;border-radius:2px;display:inline-block}
.lg.money{background:var(--cv-bone)}.lg.crowd{background:var(--cv-blue)}.lg.buy{width:3px;height:10px;background:var(--cv-bone)}.lg.hatch{height:10px;background:repeating-linear-gradient(135deg,rgba(233,237,231,.42) 0 1px,transparent 1px 4px);border:1px solid var(--cv-bone-12)}
.cols{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.cols section{background:var(--cv-graphite);border:1px solid var(--cv-bone-12);border-radius:var(--cv-radius-card);padding:16px 18px;min-width:0}
.cols h3{font-family:var(--cv-font-data);font-size:12px;letter-spacing:.13em;text-transform:uppercase;color:var(--cv-bone-62);margin:0 0 10px;font-weight:500}
.cols h3+h3,.cols p+h3,.cols ul+h3,.cols div+h3{margin-top:18px}
.fine{font-size:13px;line-height:1.5;margin:6px 0;color:var(--cv-bone-70)}
.fine.warn{color:var(--cv-ochre)}
.tb{width:100%;border-collapse:collapse;font-size:12.5px}
.tb th{text-align:left;font-family:var(--cv-font-data);font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--cv-bone-40);font-weight:500;padding:0 6px 6px 0}
.tb td{padding:4px 6px 4px 0;border-top:1px solid var(--cv-bone-06);vertical-align:top}
.tb tr.unpriced td,.tb tr.no_evidence td,.tb tr.unk td{color:var(--cv-bone-40)}
.tb td.in{color:var(--cv-green)}.tb td.out{color:var(--cv-rose)}
.pp{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px}
.pp li{border-top:1px solid var(--cv-bone-06);padding-top:8px}
.ph{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.ph b{font-weight:500}
.tag{font-family:var(--cv-font-data);font-size:12px;letter-spacing:.06em;text-transform:uppercase;border:1px solid var(--cv-bone-18);border-radius:3px;padding:1px 6px;color:var(--cv-bone-62)}
.tag.ok{color:var(--cv-bone)}.tag.out{color:var(--cv-rose);border-color:var(--cv-rose-line)}.tag.red{color:var(--cv-bone-70)}.tag.unk{background:repeating-linear-gradient(135deg,rgba(233,237,231,.18) 0 1px,transparent 1px 4px)}
.pd{font-size:12.5px;color:var(--cv-bone-70);margin-top:2px}
.pr{font-size:12px;color:var(--cv-bone-62);margin-top:3px;line-height:1.45}
ul.unk{margin:0;padding-left:18px;font-size:12.5px;color:var(--cv-bone-70)}
.back{font-size:13px;color:var(--cv-bone-62);text-decoration:none}
.back:hover{color:var(--cv-bone)}

@media(max-width:700px){
  .shell{padding:0 12px}.topbar{height:58px}.nav span:not(.active){display:none}.nav span.active{padding:19px 0}
  .intro h1{font-size:24px}.intro .status{text-align:left}
  .board{grid-template-columns:1fr;gap:14px}
  .card{padding:14px 14px 12px}
  .capb .big{font-size:28px}
  .lead{font-size:12px}
  .topnums{grid-template-columns:1fr 1fr;gap:12px}
  .topnums .capb{grid-column:1/-1}
  .cols{grid-template-columns:1fr}
  .racefull{padding:14px 12px 12px}
  .racefull .lead{max-width:100%;text-align:left}
  .read.big{font-size:18px}
  .hd{flex-wrap:wrap}
}
