/* Alt Capital Daily, redesign round 2 (11 October 2026). Shared look for the three white versions.
   Carries the agreed edits from option E: white page, guideline red, Montserrat plus one serif for headlines,
   sentence case labels, nothing under 12px, readable greys, 4px spacing steps, numbers never tick.
   Loaded after base.css. */
body{--bg:#F2F1F3;--panel:#fff;--soft:#F6F6F7;--line:#E7E6E9;--line2:#D8D8D8;--ink:#231F20;--ink2:#3F4043;--mut:#58595B;--dim:#58595B;
  --text:var(--ink);--hi:var(--ink);--red:#AA302D;--rose:var(--dn);--dn:#AA302D;--green:#1F6B41;--up:#1F6B41;--bar:#C9CACC;--mid:#8E8F94;--tint:#FBECEB;
  --mono:var(--body);--serif:"Fraunces",Georgia,serif;--r:12px;--out:cubic-bezier(.16,1,.3,1);
  background:var(--bg);color:var(--ink);font:500 14px/1.55 var(--body);min-height:100vh;touch-action:manipulation;overflow-x:clip}
html{overflow-x:clip;scrollbar-color:var(--bar) transparent;scrollbar-width:thin}
::selection{background:var(--tint);color:var(--ink)}
:focus-visible{outline:2px solid var(--red);outline-offset:2px}
h1,h2,h3{text-wrap:balance}
.skip{position:absolute;left:-999px}.skip:focus{left:12px;top:12px;z-index:50;background:var(--panel);padding:8px 12px;border-radius:8px}
.rv{opacity:1;transform:none}
.num{font-variant-numeric:tabular-nums}

/* shared parts from base.css, restated plainly */
.pill{background:none;border:0;padding:0;border-radius:0;font:600 12px/1.3 var(--body);letter-spacing:0;gap:4px}
.pill:before{font-size:8px}
.pill.up{color:var(--up);border:0}.pill.dn{color:var(--dn);background:none;border:0}.pill.fl{color:var(--mut)}
.tag{border:0;background:none;padding:0;border-radius:0;font:600 12px/1.3 var(--body);letter-spacing:0;text-transform:none;color:var(--mut)}
.g-tile .l,.g-bhead,.mvh,.g-group,.g-it .ra b,.g-it .tgl,.back,.g-mv .r,.g-mv small,.g-co .name small,.g-co .m i{font-family:var(--body);text-transform:none;letter-spacing:0;font-size:12px}
.g-tile,.g-card,.g-it,.g-board{border-color:transparent}
.g-it:hover{border-color:var(--line)}
.g-group{background:var(--soft);color:var(--mut)}.g-co-main:hover{background:var(--soft)}.track{background:var(--line)}
.g-head h2{font:400 28px/1.2 var(--serif)}
.g-head p,.g-sub,.g-sech p,.g-how,.g-note,.src,.g-row .k small{font-size:13px;color:var(--mut)}
.g-it .body,.g-it .ra,.g-nb p,.g-mv{font-size:13px}
.view:not(#v-overview){padding-bottom:24px}
.pk:hover{background:var(--panel)}.pk-day{background:var(--panel);border-color:var(--line);font-size:13px}
.day-list{background:var(--panel);box-shadow:0 12px 32px -8px rgba(35,31,32,.18)}
.day-list button:hover,.day-list button.on{background:var(--soft)}.day-list b{font-size:13px}.day-list span{font-size:12px;color:var(--mut)}
.end{font-size:12px;color:var(--mut);text-align:left;padding:24px 0 32px}

/* common pieces */
.ttl h1{margin:0;font:400 clamp(24px,2.5vw,31px)/1.22 var(--serif);color:var(--ink);letter-spacing:-.012em;max-width:34ch}
.ttl p{color:var(--mut);margin-top:8px;max-width:70ch}
h2.pt{font:600 16px/1.3 var(--body);color:var(--ink);display:flex;align-items:baseline;gap:12px;flex-wrap:wrap}
h2.pt small{font:500 13px var(--body);color:var(--mut)}
.more-l{margin-left:auto;font:500 13px var(--body);color:var(--mut);text-decoration:underline;text-decoration-color:var(--line2);text-underline-offset:3px;transition:color .2s,text-decoration-color .2s}
.more-l:hover{color:var(--dn);text-decoration-color:var(--red)}
.lab{font:500 13px/1.3 var(--body);color:var(--mut)}
.lab a{text-decoration:none}.lab a:hover{text-decoration:underline}
.cap{font-size:12px;color:var(--mut);margin-top:8px}
.seg{display:inline-flex;margin-left:auto;background:var(--bg);border-radius:8px;padding:2px}
.seg+.more-l{margin-left:0}
.seg button,.seg a{font:600 12px var(--body);color:var(--mut);padding:4px 12px;border-radius:6px;text-decoration:none;transition:color .2s,background-color .2s}
.seg .on{background:var(--panel);color:var(--ink);box-shadow:0 1px 2px rgba(35,31,32,.12)}
.motion{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}
.motion .seg{margin:0;background:var(--line)}

.fig .v{font:700 22px/1.2 var(--body);color:var(--ink);margin:8px 0 4px;font-variant-numeric:tabular-nums}
.fig .ft{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;min-height:28px}
.strip{display:flex;align-items:flex-end;gap:2px;height:28px;flex:1;max-width:120px;justify-content:flex-end}
.strip i{flex:1;max-width:4px;background:var(--bar);height:var(--h);transform-origin:bottom}
.strip i:last-child{background:var(--c)}

.lead{display:block;width:100%;padding:16px 0 20px;border-bottom:1px solid var(--line)}
.lead .t{display:block;font:400 22px/1.28 var(--serif);color:var(--ink);margin:4px 0 8px;max-width:38ch;transition:color .2s}
.lead .s{display:block;color:var(--mut);max-width:68ch}
.lead:hover .t,.nrow:hover .t,.drow:hover .t{color:var(--dn)}
.nrow{display:grid;grid-template-columns:104px minmax(0,1fr);gap:16px;align-items:baseline;width:100%;padding:12px 0;border-bottom:1px solid var(--line)}
.nrow:last-child{border-bottom:0;padding-bottom:0}
.nrow .t,.drow .t{font:600 14px/1.4 var(--body);color:var(--ink);transition:color .2s}
.drow{display:block;width:100%;padding:12px 0;border-bottom:1px solid var(--line)}
.drow:last-child{border-bottom:0}
.drow .t{display:block}
.drow .m{display:block;font-size:12px;color:var(--mut);margin-top:4px}
.tally{display:flex;gap:2px;height:8px;margin:12px 0 4px}
.tally i{background:var(--bar);border-radius:2px;transform-origin:left}
.tally i:nth-child(1){background:var(--red)}.tally i:nth-child(2){background:var(--mut)}.tally i:nth-child(3){background:var(--mid)}
.tally-l{display:flex;gap:16px;flex-wrap:wrap;font-size:12px;color:var(--mut);margin-bottom:4px}
.tally-l i{display:inline-block;width:8px;height:8px;border-radius:2px;margin-right:6px;background:var(--bar)}
.tally-l span:nth-child(1) i{background:var(--red)}.tally-l span:nth-child(2) i{background:var(--mut)}.tally-l span:nth-child(3) i{background:var(--mid)}

.th,.tr{display:grid;gap:12px;align-items:center;width:100%;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.th{font:500 12px var(--body);color:var(--mut);padding-top:12px}
.tr:last-child{border-bottom:0}
.cmp .th,.cmp .tr{grid-template-columns:minmax(0,1.5fr) 56px minmax(72px,1fr) 64px 72px}
.tr .n{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tr .n small{font:500 12px var(--body);color:var(--mut);margin-left:8px}
.tr .r,.th .r{text-align:right;font-variant-numeric:tabular-nums}
.tr .up{color:var(--up);font-weight:600}.tr .dn{color:var(--dn);font-weight:600}
button.tr{transition:background-color .2s}button.tr:hover{background:var(--soft)}
/* tiny bar beside each comparable: year to date, drawn from a shared zero line */
.mini{position:relative;height:8px;background:var(--bg);border-radius:2px}
.mini i{position:absolute;top:0;bottom:0;border-radius:2px;background:var(--green);transform-origin:var(--o)}
.mini i.dn{background:var(--red)}
.mini u{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--ink)}

.hk b{display:inline-block;font:700 20px/1.2 var(--body);color:var(--ink);margin:4px 12px 0 0;font-variant-numeric:tabular-nums}
.hk p{font-size:13px;color:var(--mut);margin-top:8px;max-width:44ch}

/* ---------- graphics. Each one sits in a .g block and plays once when it scrolls into view (.in). ---------- */
svg.gx{display:block;width:100%;height:auto;overflow:visible}
.gx text{font:500 12px "Montserrat",sans-serif;fill:var(--mut);font-variant-numeric:tabular-nums}
.gx .val{fill:var(--ink);font-weight:700}

/* TASI dot chart */
.dots .col{opacity:0;transform:translateY(28px)}
.g.in .dots .col{opacity:1;transform:none;transition:opacity .4s ease calc(var(--i)*55ms),transform .7s var(--out) calc(var(--i)*55ms)}
.dots .hot{transition:r .2s}
.dots .col:hover .hot{r:8}
.dots .halo{fill:none;stroke:var(--red);stroke-width:1.5;opacity:0;transform-box:fill-box;transform-origin:center}
body.rich .g.in .dots .halo{animation:halo 2.4s ease-out 1.2s 3}
@keyframes halo{0%{opacity:.7;transform:scale(1)}100%{opacity:0;transform:scale(3.2)}}

/* line chart */
svg.line{cursor:crosshair;margin-top:8px}
.line .path{fill:none;stroke-width:2;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:1}
.g.in .line .path{stroke-dashoffset:0;transition:stroke-dashoffset 1.4s var(--out) calc(var(--i)*180ms)}
.line .area{opacity:0}.g.in .line .area{opacity:1;transition:opacity .8s ease .9s}
.line .mark{opacity:0;transition:transform .25s var(--out),opacity .4s ease 1.1s}
.g.in .line .mark{opacity:1}
.line .mark rect{fill:var(--panel);stroke:var(--line)}
.line .mark .mv{fill:var(--ink);font-weight:600}
.legend{margin-left:auto;display:flex;gap:16px;font:500 13px var(--body);color:var(--mut)}
.legend i{display:inline-block;width:12px;height:2px;margin-right:6px;vertical-align:middle}
.legend i.sq{height:8px;width:8px;border-radius:2px}

/* column charts: turnover, and gainers against losers */
.cols rect{transform-box:fill-box;transform-origin:bottom;transform:scaleY(0)}
.cols rect.dn{transform-origin:top}
.g.in .cols rect{transform:none;transition:transform .7s var(--out) calc(var(--i)*40ms)}
.cols rect{transition:opacity .2s}.cols g:hover rect{opacity:.75}

/* bars that grow sideways: movers, race, mini bars, tally, strips */
.g .grow{transform:scaleX(0)}
.g.in .grow{transform:none;transition:transform .9s var(--out) calc(var(--i,0)*60ms)}
.g .strip i{transform:scaleY(0)}
.g.in .strip i{transform:none;transition:transform .6s var(--out) calc(var(--i,0)*30ms)}
.mvb{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 32px;margin-top:8px}
.mvr{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) 60px;gap:12px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line);font-size:13px}
.mvr:last-child{border-bottom:0}
.mvr .n{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mvr .n small{display:block;font:500 12px var(--body);color:var(--mut)}
.mvr .rk{display:inline-block;min-width:20px;font:500 12px var(--body);font-style:normal;color:var(--mut);font-variant-numeric:tabular-nums}
.mvr .n:has(.rk) small{padding-left:20px}
.mvr .lane{height:12px;background:var(--bg);border-radius:2px;overflow:hidden}
.mvr .lane i{display:block;height:100%;width:var(--w);background:var(--green);border-radius:2px;transform-origin:left}
.mvr.dn .lane i{background:var(--red)}
.mvr .r{text-align:right;font-weight:600;color:var(--up);font-variant-numeric:tabular-nums}.mvr.dn .r{color:var(--dn)}
.mvh2{font:500 12px var(--body);color:var(--mut);padding:12px 0 4px;border-bottom:1px solid var(--line)}

.race{display:grid;gap:8px;margin-top:16px}
.rc{display:grid;grid-template-columns:128px minmax(0,1fr) 64px;gap:12px;align-items:center;width:100%;font-size:13px}
.rc .n{font-weight:600;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:color .2s}
.rc:hover .n{color:var(--dn)}
.rc .lane{position:relative;height:16px;background:var(--bg);border-radius:3px}
.rc .zero{position:absolute;top:-3px;bottom:-3px;width:1px;background:var(--ink)}
.rc .bar{position:absolute;top:0;bottom:0;border-radius:3px;background:var(--green);transform-origin:var(--o)}
.rc .bar.dn{background:var(--red)}
.rc .v{text-align:right;font-weight:600;font-variant-numeric:tabular-nums;color:var(--up)}.rc .v.dn{color:var(--dn)}
.rc.idx .n{color:var(--mut);font-weight:500}.rc.idx .bar{background:var(--mid)}.rc.idx .v{color:var(--mut)}
.replay{font:600 12px var(--body);color:var(--mut);padding:4px 8px;border-radius:6px;transition:color .2s,background-color .2s}
.replay:hover{color:var(--dn);background:var(--bg)}

/* breadth */
.ringw{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:center;margin-top:16px}
svg.ring{width:100%;max-width:176px;height:auto;display:block;margin:0 auto}
.ring .seg-c{fill:none;stroke-width:16;stroke-dasharray:0 var(--c)}
.g.in .ring .seg-c{stroke-dasharray:var(--len) var(--c);transition:stroke-dasharray 1.1s var(--out) calc(var(--i)*160ms)}
.ring text{fill:var(--ink);font:700 22px "Montserrat",sans-serif}.ring text.s{fill:var(--mut);font:500 12px "Montserrat",sans-serif}
.leg div{margin-bottom:12px;font-size:13px;color:var(--mut)}
.leg b{display:block;font:700 16px var(--body);font-variant-numeric:tabular-nums}
.bbar{display:flex;gap:2px;height:16px;margin:16px 0 8px}
.bbar i{border-radius:3px;transform-origin:left}
.bbar-l{display:flex;justify-content:space-between;font-size:13px;color:var(--mut)}
.bbar-l b{font-weight:700;font-variant-numeric:tabular-nums;margin-right:4px}

/* heat map of movers: a bigger and stronger tile is a bigger move */
.heat{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:44px;gap:4px;margin-top:16px}
.heat[hidden]{display:none}
.hm{border-radius:8px;padding:8px 12px;display:flex;flex-direction:column;justify-content:space-between;overflow:hidden;min-width:0;
  background:color-mix(in srgb,var(--t) calc(var(--a)*1%),var(--panel));color:var(--ink);opacity:0;transform:scale(.94)}
.g.in .hm{opacity:1;transform:none;transition:opacity .4s ease calc(var(--i)*35ms),transform .5s var(--out) calc(var(--i)*35ms)}
.hm b{font:600 13px/1.2 var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hm span{font:700 13px var(--body);font-variant-numeric:tabular-nums}
.hm.s1{grid-column:span 2;grid-row:span 2}.hm.s1 b{font-size:16px}.hm.s1 span{font-size:22px}
.hm.s2{grid-row:span 2}.hm.s2 span{font-size:16px}
.hm.s3{flex-direction:row;align-items:center;gap:8px}.hm.s3 b{font-size:12px}.hm.s3 span{font-size:12px}
.hm.ink{color:#fff}

/* rich only: a strip of prices that moves, and blocks that rise as you scroll. Pauses on hover and focus. */
.ticker{display:none}
body.rich .ticker{display:block;overflow:hidden;background:var(--ink);color:#fff;font-size:13px;white-space:nowrap}
.ticker-track{display:inline-flex;gap:32px;padding:8px 16px;animation:tick 70s linear infinite}
.ticker:hover .ticker-track,.ticker:focus-within .ticker-track{animation-play-state:paused}
@keyframes tick{to{transform:translateX(-50%)}}
.tk b{font-weight:600;margin-right:8px}.tk i{font-style:normal;margin-right:8px;font-variant-numeric:tabular-nums;color:#D8D8D8}
.tk i.up{color:#8FD3AE}.tk i.dn{color:#F0A29E}
body.rich .g{opacity:0;transform:translateY(16px)}
body.rich .g.in{opacity:1;transform:none;transition:opacity .6s ease,transform .8s var(--out)}

@media (max-width:820px){.mvb{grid-template-columns:minmax(0,1fr)}.nrow{grid-template-columns:minmax(0,1fr);gap:4px}.legend{margin-left:0;width:100%}
  .rc{grid-template-columns:96px minmax(0,1fr) 56px}.ringw{grid-template-columns:minmax(0,1fr)}.leg{display:flex;gap:24px;justify-content:center}
  .cmp .th,.cmp .tr{grid-template-columns:minmax(0,1.4fr) 52px 60px 68px}.cmp .mini,.cmp .th .mb{display:none}}
@media (prefers-reduced-motion:reduce){
  .g .grow,.g .strip i,.cols rect,.dots .col,.hm,body.rich .g{transform:none!important;opacity:1!important}
  .line .path{stroke-dashoffset:0}.line .area,.line .mark{opacity:1}.ring .seg-c{stroke-dasharray:var(--len) var(--c)}
  .ticker-track{animation:none}
}

/* graphics added to the inner screens */
.kx{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:12px}
.kx .g-card{margin:0}.kx1{margin:0 0 12px;max-width:760px}
#v-deals .kx1{margin:0 0 4px;max-width:520px}
@media (max-width:1100px){.kx{grid-template-columns:minmax(0,1fr)}}


/* ---------- night mode. Same layout and red; black and grey from the brand's dark look, with one soft wine glow at the top. ---------- */
html[data-theme=dark]{color-scheme:dark;scrollbar-color:#4a4546 transparent}
html[data-theme=dark] body{--bg:#121011;--panel:#1C191A;--soft:#262223;--line:#2E2A2B;--line2:#3D3839;--ink:#F2F1F3;--ink2:#DAD9DC;--mut:#B4B5B9;--dim:#B4B5B9;
  --red:#C6453F;--dn:#F08A82;--green:#2E9A5E;--up:#6CCB95;--bar:#575253;--mid:#9B9CA1;--tint:#3A1D1C;
  background:radial-gradient(60% 420px at 50% -120px,rgba(122,30,30,.5),transparent 70%) var(--bg) no-repeat}
html[data-theme=dark] body.rich .ticker,html[data-theme=dark] .tk-btn{background:#000;color:#fff}
html[data-theme=dark] .tk-btn{box-shadow:-16px 0 16px #000}
html[data-theme=dark] .day-list{box-shadow:0 12px 32px -8px rgba(0,0,0,.7)}
html[data-theme=dark] .seg .on{box-shadow:none;background:var(--line2)}
/* charts are drawn with fixed colours; in night mode each one is swapped for its dark partner */
html[data-theme=dark] svg [fill="#231F20"]{fill:var(--ink)}html[data-theme=dark] svg [stroke="#231F20"]{stroke:var(--ink)}
html[data-theme=dark] svg [fill="#fff"]{fill:var(--panel)}
html[data-theme=dark] svg [stroke="#E7E6E9"]{stroke:var(--line)}
html[data-theme=dark] svg [fill="#C9CACC"]{fill:var(--bar)}html[data-theme=dark] svg [stroke="#C9CACC"]{stroke:var(--bar)}
html[data-theme=dark] svg [stroke="#8E8F94"]{stroke:var(--mid)}
html[data-theme=dark] svg [fill="#AA302D"]{fill:var(--red)}html[data-theme=dark] svg [stroke="#AA302D"]{stroke:var(--red)}
html[data-theme=dark] svg [fill="#1F6B41"]{fill:var(--green)}html[data-theme=dark] svg [stroke="#1F6B41"]{stroke:var(--green)}
html[data-theme=dark] svg [fill="#F3D6D4"]{fill:#6E2D2A}html[data-theme=dark] svg [fill="#DE9B97"]{fill:#A8443F}
html[data-theme=dark] svg [stop-color="#AA302D"]{stop-color:#C6453F}
.theme-b{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:8px;color:var(--mut);font:600 12px/1.2 var(--body);transition:color .2s,background-color .2s}
.theme-b:hover{color:var(--ink);background:var(--soft)}
.theme-b svg{width:18px;height:18px}
.theme-b .sun,html[data-theme=dark] .theme-b .moon{display:none}html[data-theme=dark] .theme-b .sun{display:block}
