@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans.woff2)format("woff2");
 font-weight:400 700;font-style:normal;font-display:swap}
@font-face{font-family:"Instrument Sans";src:url(/fonts/instrument-sans-italic.woff2)format("woff2");
 font-weight:400 700;font-style:italic;font-display:swap}
@font-face{font-family:"Instrument Serif";src:url(/fonts/instrument-serif-italic.woff2)format("woff2");
 font-weight:400;font-style:italic;font-display:swap}
@font-face{font-family:"JetBrains Mono";src:url(/fonts/jetbrains-mono.woff2)format("woff2");
 font-weight:400 800;font-style:normal;font-display:swap}
@font-face{font-family:"Caveat";src:url(/fonts/caveat.woff2)format("woff2");
 font-weight:500 600;font-style:normal;font-display:swap}
:root{
  --bg:#F7F6F0; --bg2:#EDEBE1; --panel:#FBFBF6; --hover:#F0EEE5; --sel:#FAE9E7;
  --line:#E3E1D7; --line2:#D1CEC0; --grid:rgba(29,26,24,.05);
  --ink:#1D1A18; --ink2:#3B3632; --muted:#67615A;
  --rich:#1D1A18; --cheap:#67615A; --pos:#1D1A18; --neg:#973533; --acc:#973533;
  --report:#973533; --ordinary:#366373; --paper-drawn:#F6F4E6;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 28px -14px rgba(0,0,0,.22);
  --ui:"Instrument Sans",system-ui,sans-serif;
  --serif:"Instrument Serif",Georgia,serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
}
:root[data-theme="dark"]{
  --bg:#151411; --bg2:#1A1915; --panel:#1D1C18; --hover:#26241F; --sel:#322625;
  --line:#2b2923; --line2:#3F3D34; --grid:rgba(239,237,231,.05);
  --ink:#EFEDE7; --ink2:#BEBCB2; --muted:#939187;
  --rich:#EFEDE7; --cheap:#939187; --pos:#EFEDE7; --neg:#D87267; --acc:#D87267;
  --report:#D87267; --ordinary:#80AEBF; --paper-drawn:#201E19;
  --shadow:0 1px 2px rgba(0,0,0,.4),0 12px 32px -12px rgba(0,0,0,.6);
}
*{box-sizing:border-box}
html{color-scheme:light}
:root[data-theme="dark"]{color-scheme:dark}
body{margin:0;background:var(--bg);color:var(--ink);font:13px/1.45 var(--ui);-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums}
a{color:inherit}
button{font:inherit;color:inherit}
:focus-visible{outline:2px solid var(--acc);outline-offset:1px}
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:6px;height:56px;padding:0 32px;background:var(--panel);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:9px;font-weight:700;font-size:15px;letter-spacing:-.03em;margin-right:22px;text-decoration:none}
.brand .mark{width:20px;height:20px;display:block;color:var(--ink)}
.tabs{display:flex;gap:2px}
.tabs a{display:flex;align-items:center;height:32px;padding:0 12px;text-decoration:none;color:var(--ink2);font-weight:500;border-radius:8px}
.tabs a:hover{background:var(--bg)}
.top .right{margin-left:auto;display:flex;align-items:center;gap:8px}
.pill{font:500 10px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--pos);border:1px solid currentColor;border-radius:999px;padding:5px 9px}
.pill.fx{color:var(--neg)}
.btn{height:34px;padding:0 14px;border:1px solid var(--ink);border-radius:8px;background:var(--ink);color:var(--panel);cursor:pointer;font-weight:500;text-decoration:none;display:inline-flex;align-items:center}
.btn.ghost{background:var(--panel);color:var(--ink);border-color:var(--line)}
.btn:hover{opacity:.88}
.wrap{max-width:1400px;margin:0 auto;padding:0 16px}
.lead{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:24px 40px;align-items:end;padding:44px 0 26px}
.kicker{font:500 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--acc);margin:0 0 14px}
h1{margin:0;font-size:clamp(34px,3.6vw,50px);line-height:1.02;font-weight:600;letter-spacing:-.028em;text-wrap:balance}
h1 em{font:italic 400 1.06em var(--serif);letter-spacing:0;color:var(--ink)}
h1 .sym{color:var(--muted);font-weight:500}
.lede{margin:14px 0 0;font-size:16px;line-height:1.5;color:var(--muted);max-width:54ch}
.lede a{color:var(--acc);text-decoration:none;border-bottom:1px solid var(--line2)}
.kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.kpi{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:14px 16px;box-shadow:var(--shadow);display:flex;flex-direction:column;gap:6px;min-height:84px}
.kpi .l{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.kpi .v{font-size:24px;font-weight:600;letter-spacing:-.03em;line-height:1}
.kpi .v small{font-size:12px;font-weight:500;color:var(--muted);margin-left:6px;letter-spacing:0}
.kpi .n{font-size:11.5px;color:var(--muted);margin-top:auto}
.kpi.rich .v{color:var(--rich)}
.paper{border-radius:16px;padding:12px;background-color:var(--bg2);background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:24px 24px;background-position:-1px -1px;margin-bottom:22px}
.win{background:var(--panel);border:1px solid var(--line);border-radius:12px;box-shadow:var(--shadow);overflow:hidden;position:relative}
.titlebar{display:flex;align-items:center;gap:10px;height:40px;padding:0 14px;border-bottom:1px solid var(--line)}
.titlebar .mark{width:14px;height:14px;color:var(--muted)}
.titlebar .t{margin:0 auto;font:500 11px var(--mono);letter-spacing:.06em;color:var(--muted)}
.titlebar .act{font:500 10.5px var(--mono);color:var(--muted);border:1px solid var(--line);border-radius:6px;padding:3px 8px;background:var(--bg)}
.status{display:flex;align-items:center;height:30px;border-top:1px solid var(--line);font:500 10.5px var(--mono);letter-spacing:.04em;color:var(--muted)}
.status span{padding:0 14px;border-right:1px solid var(--line);height:100%;display:flex;align-items:center}
.status span b{color:var(--ink2);font-weight:500;margin-left:6px}
.status .r{margin-left:auto;border-right:0;border-left:1px solid var(--line)}
.tw{overflow-x:auto}
table{border-collapse:separate;border-spacing:0;width:100%}
th{background:var(--panel);text-align:right;font:500 11px var(--ui);color:var(--muted);padding:0 8px;height:36px;border-bottom:1px solid var(--line2);white-space:nowrap}
th.l{text-align:left}
th.g{border-left:1px solid var(--line)}
th .grp{display:block;font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);opacity:.8;margin-bottom:1px;text-align:left}
#hist thead th:not(:has(.grp))::before{content:"";display:block;height:13px;margin-bottom:1px}
td{padding:0 8px;height:38px;border-bottom:1px solid var(--line);text-align:right;white-space:nowrap;vertical-align:middle}
td.l{text-align:left}
td.g{border-left:1px solid var(--line)}
tr:hover td{background:var(--hover)}
tr.med td{background:var(--bg);font-weight:600;border-top:1px solid var(--line2)}
tr.med td:first-child{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
tr.med:hover td{background:var(--bg)}
td .u{color:var(--muted);font-size:11px;margin-left:1px}
td .d{font-weight:600}
td .t{font-weight:600;letter-spacing:-.01em;font-size:13.5px}
td .c{color:var(--muted);font-size:11.5px;margin-left:8px}
td .s{font:500 10px var(--mono);letter-spacing:.06em;color:var(--ink2);border:1px solid var(--line2);border-radius:5px;padding:2px 6px;margin-left:8px}
td .s.amc{background:var(--ink);color:var(--panel);border-color:var(--ink)}
td.pos{color:var(--pos)}
td.neg{color:var(--neg)}
td.dim{color:var(--muted)}
td .src{font:500 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line2);border-radius:4px;padding:1px 5px;margin-left:6px}
#hist th.evc,
#hist td.evc{text-align:center}
.ev{display:inline-block;width:180px;height:14px;position:relative;vertical-align:middle}
.ev svg{position:absolute;inset:0;width:100%;height:14px;display:block}
.ev .band{fill:var(--line)}
.ev .zero{position:absolute;left:50%;top:0;width:1px;height:14px;background:var(--line2)}
.ev .mv{position:absolute;top:2px;width:2px;height:10px;border-radius:1px}
.ev .mv.in{background:var(--pos)}
.ev .mv.out{background:var(--neg)}
.ev .mv.intra{top:5px;height:4px;opacity:.55}
.note{padding:12px 18px;border-top:1px solid var(--line);font-size:12px;color:var(--muted);line-height:1.5}
.note b{color:var(--ink2);font-weight:500}
.how{display:grid;grid-template-columns:repeat(3,1fr)}
@media not all and (max-width:1100px){
  .how{grid-template-rows:repeat(6,auto)}
  .how .b{display:grid;grid-template-rows:subgrid;grid-row:span 6;align-content:start}
}
.how .b{padding:18px;border-right:1px solid var(--line)}
.how .b:last-child{border-right:0}
.how .k{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.how h3{margin:6px 0 6px;font-size:16px;font-weight:600;letter-spacing:-.02em}
.how p{margin:0 0 8px;color:var(--ink2);font-size:13px;line-height:1.5}
.how .ex{font:500 12px var(--mono);color:var(--muted);border-top:1px dashed var(--line);padding-top:8px;margin-top:10px}
.how a{color:var(--acc);text-decoration:none;border-bottom:1px solid var(--line2)}
.teaser{position:relative}
.teaser .fade{position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(180deg,transparent,var(--panel) 70%);pointer-events:none}
.pc{display:inline-flex;align-items:center;gap:8px;width:140px;vertical-align:middle}
.pc .tr{flex:1;height:12px;display:block}
.pc .tr .bg{fill:var(--line)}
.pc .tr .md{fill:var(--line2)}
.pc .tr .fl{fill:var(--rich)}
.pc .tr .mk{fill:var(--rich)}
.pc .v{width:26px;text-align:right;font-weight:600;font-size:13px;color:var(--rich)}
.foot{padding:0 0 40px;color:var(--muted);font-size:11.5px;line-height:1.5}
.foot p{max-width:100ch;margin:0 0 6px}
@media (max-width:1100px){.lead,.how{grid-template-columns:1fr}.how .b{border-right:0;border-bottom:1px solid var(--line)}}
.teaser .fade{display:none}
.dt{display:inline-block;min-width:48px}
.combo{position:relative}
.combo .fade{position:absolute;left:0;right:0;bottom:0;height:116px;
  background:linear-gradient(180deg,transparent,var(--panel) 78%);pointer-events:none}
#board tr.seg td{height:auto;padding:13px 6px 6px;border-bottom:1px solid var(--line2);
  font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted);
  text-align:left;background:var(--panel)}
#board tr.seg b{color:var(--ink2);font-weight:500}
#board tr.fw td{color:var(--muted)}
.board-lock{display:inline-block;height:6px;border-radius:3px;background:var(--line2);
  vertical-align:middle}
.board-lock.w1{width:34px}
.board-lock.w2{width:58px}
.board-lock.w3{width:26px}
.combolegend{display:flex;flex-wrap:wrap;gap:16px;align-items:center;padding:10px 20px;
  border-top:1px solid var(--line);color:var(--muted);font-size:11.5px}
.combolegend span{display:inline-flex;align-items:center;gap:7px}
.combolegend .dash{font:500 12px var(--mono);color:var(--muted)}
.out{font:500 11px var(--mono);letter-spacing:.04em;color:var(--ink2)}
.out.brk{color:var(--neg)}
.note{max-width:70ch}
.combolegend span{max-width:70ch}
.foot p{max-width:70ch}
.status{flex-wrap:wrap;height:auto;min-height:30px;row-gap:2px;padding:4px 0}
:root[data-theme="dark"] .optwrap img{filter:invert(1) hue-rotate(180deg) saturate(.85)}
:root[data-theme="dark"] .optwrap{background:var(--paper-drawn)}
:where(.opt) .fig{display:block;width:100%;height:auto;background:var(--paper-drawn);border-radius:8px}
.grf text{font-family:var(--mono)}
.grf .k{font-size:9.5px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;fill:var(--muted)}
.grf .k.xs{font-size:8px}
.grf .k.sm{font-size:8.5px}
.grf .v{font-size:12.5px;font-weight:500;fill:var(--ink);text-transform:none;letter-spacing:0}
.grf .v.sm{font-size:9.5px}
.grf .k.ev,
.grf .k.r,
.grf .k.rep,
.grf .v.r{fill:var(--report)}
.grf .k.od,
.grf .k.o,
.grf .v.od,
.grf .v.o{fill:var(--ordinary)}
.grf .k.qt,
.grf .v.qt{fill:var(--ink2)}
.grf .k.dim{fill:var(--muted)}
.grf .k.lane{fill:var(--ink2);font-size:9px}
.grf .v.od,
.grf .v.o{fill:var(--ordinary)}
.grf .v.r{fill:var(--report)}
.grf .sh{fill:var(--muted);font-size:9px}
.grf .ln{fill:none;stroke-linecap:round;stroke-width:2.2}
.grf .ln.ev{stroke:var(--report)}
.grf .ln.od{stroke:var(--ordinary)}
.grf .ln.qt{stroke:var(--ink);stroke-width:1.6}
.grf .rt{fill:none;stroke:var(--muted);stroke-width:1.3}
.grf .ghost{stroke:var(--report);stroke-width:11;opacity:.30;stroke-linecap:butt}
.grf .ghost.o{stroke:var(--ordinary)}
.grf .cap{stroke:var(--line2);stroke-width:1.2}
.grf .col{stroke:var(--line);stroke-width:1;stroke-dasharray:2 4}
.grf .mark{fill:none;stroke:var(--ordinary);stroke-width:1.6}
.grf .v.bad{fill:var(--muted)}
.grf .strike{stroke:var(--muted);stroke-width:1.1;stroke-dasharray:3 3}
.grf .k.bad{fill:var(--muted)}
.grf .rail{stroke:var(--line2);stroke-width:1.4}
.grf .tick{stroke:var(--ink2);stroke-width:1.4}
.grf .burst{stroke:var(--report);stroke-width:1.6;stroke-dasharray:2.5 2.5}
.grf .burstdot{fill:var(--report)}
.grf .anch{stroke:var(--ordinary);stroke-width:1.4}
.grf .prism{fill:none;stroke:var(--ink);stroke-width:1.7;stroke-linejoin:round}
.grf .facet{stroke:none}
.grf .facet.l{fill:var(--panel)}
.grf .facet.r{fill:var(--line2);opacity:.75}
.grf .ray{fill:none;stroke-width:3;stroke-linecap:round}
.grf .ray.r{stroke:var(--report)}
.grf .ray.o{stroke:var(--ordinary)}
.grf .ghost.big{stroke-width:16;opacity:.34}
.optfig{display:block;width:100%;height:auto}
.optwrap{background:var(--paper-drawn);border:1px solid var(--line);border-radius:10px;
 overflow:hidden;position:relative}
.optwrap img{display:block;width:100%;height:auto}
.opthand{position:absolute;font:600 17px "Caveat",cursive;transform:rotate(-3deg);
 white-space:nowrap;line-height:1}
.opthand.r{color:var(--report)}
.opthand.o{color:var(--ordinary)}
.opthand.q{color:var(--ink)}
.alt{display:none}
html.ground-grain body::before{content:"";position:fixed;
 inset:0;z-index:-1;pointer-events:none}
html.ground-grain body::before{background:url(/img/bg-paper-grain-linen.webp) center/460px repeat;
 opacity:.70}
.bgaccent{display:none;position:absolute;top:0;left:0;width:100%;height:460px;
 z-index:-1;pointer-events:none;background-position:center 38%;
 background-size:cover;background-repeat:no-repeat;
 -webkit-mask:linear-gradient(180deg,black 0,black 48%,transparent 97%);
 mask:linear-gradient(180deg,black 0,black 48%,transparent 97%);
 animation:bgkb 48s ease-in-out infinite alternate}
@keyframes bgkb{from{transform:scale(1) translateY(0)}to{transform:scale(1.07) translateY(-2%)}}
html.accent-daybreak .bgaccent{display:block}
.bgaccent::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,
 color-mix(in srgb,var(--bg) 30%,transparent) 0,
 color-mix(in srgb,var(--bg) 52%,transparent) 16%,
 color-mix(in srgb,var(--bg) 82%,transparent) 30%,
 color-mix(in srgb,var(--bg) 93%,transparent) 58%,
 var(--bg) 100%)}
html.accent-daybreak .bgaccent{background-image:url(/img/background.jpg);opacity:.82;filter:saturate(.6) hue-rotate(10deg) sepia(.08)}
html.accent-daybreak .top{
 background:color-mix(in srgb,var(--panel) 72%,transparent);backdrop-filter:blur(10px)}
.bgfoot{display:none;position:fixed;right:0;bottom:0;width:60vw;height:50vh;z-index:-1;
 pointer-events:none;background:url(/img/background_2.jpg) right bottom/cover no-repeat;
 -webkit-mask:linear-gradient(320deg,black 0,rgba(0,0,0,.5) 34%,transparent 64%);
 mask:linear-gradient(320deg,black 0,rgba(0,0,0,.5) 34%,transparent 64%);opacity:.5}
html.accent-macro .bgfoot{display:block;filter:hue-rotate(-12deg) saturate(.8)}
html.atmos .paper{background-color:color-mix(in srgb,var(--bg2) 55%,transparent);
 backdrop-filter:blur(2px)}
:root[data-theme="dark"] .bgaccent,
:root[data-theme="dark"] .bgfoot{display:none!important}
:root[data-theme="dark"].ground-grain body::before,
:root[data-theme="dark"].ground-rays body::before{opacity:.16;filter:invert(1)}
:root[data-theme="dark"].atmos .paper{background-color:color-mix(in srgb,var(--bg2) 55%,transparent)}
.u-rank{color:var(--muted);font:500 11.5px var(--mono)}
.u-acc{color:var(--acc)}
.u-p1gap{margin-bottom:14px}
.u-note{margin-top:10px}
.opthand.h1{left:5%;top:36%}
.opthand.h2{right:4%;top:12%}
.opthand.h3{left:3%;top:66%}
.opthand.h4{right:4%;top:6%}
.opthand.h5{right:4%;top:20%}
.opthand.h6{right:4%;top:62%}
.combo .fade{display:none}
.ovl{position:absolute;left:0;right:0;bottom:0;pointer-events:none;display:flex}
.ovl b{font-weight:600}
.ovl .price2{font:600 17px var(--mono);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.ovl .price2 em{font-style:normal;font-weight:500;color:var(--muted);font-size:12px;margin:0 2px}
.ovl .btn{height:34px;font-size:13px;white-space:nowrap;pointer-events:auto}
.ovl .save{font:500 10px var(--mono);letter-spacing:.06em;color:var(--muted)}
.ovl a{pointer-events:auto}
.ovl.curtain{padding:150px 20px 22px;justify-content:center;align-items:flex-end;
  background:linear-gradient(180deg,transparent 0,var(--panel) 46%)}
.cur-card{pointer-events:auto;width:min(620px,100%);padding:19px 22px;border-radius:12px;
  border:1px solid var(--line2);background:var(--panel);box-shadow:var(--shadow);
  display:grid;gap:10px;justify-items:center;text-align:center}
.cur-eyebrow{font:500 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;
  color:var(--muted)}
.cur-eyebrow b{color:var(--ink);font-size:13px;letter-spacing:.02em}
.cur-card h3{margin:0;font-size:19px;font-weight:600;letter-spacing:-.02em}
.cur-card p{margin:0;font-size:13px;line-height:1.5;color:var(--muted);max-width:62ch}
.cur-act{display:flex;align-items:center;gap:15px;flex-wrap:wrap;justify-content:center;
  margin-top:1px}
.cur-alt{font-size:12px!important}
.cur-alt a{color:var(--ink2);text-underline-offset:2px}
@media (max-width:700px){.ovl.curtain{padding:54px 12px 14px}
  .cur-card{padding:14px 13px;gap:7px}
  .cur-card h3{font-size:16.5px;line-height:1.25}
  .cur-card p{font-size:12.5px;line-height:1.45}
  .cur-eyebrow{font-size:9px;letter-spacing:.06em}
  .cur-act{flex-direction:column;gap:8px}
  .cur-act .btn{width:100%;justify-content:center}}
.ovl.curtain{background:linear-gradient(180deg,transparent 0,
  color-mix(in oklab,var(--panel) 88%,transparent) 52%,
  color-mix(in oklab,var(--panel) 88%,transparent) 100%)}
.fq{list-style:none;margin:14px 0 0;padding:0}
.fq li{padding:10px 0;border-bottom:1px solid var(--line)}
.fq li:last-child{border-bottom:0}
.fq li b{font-size:13px;font-weight:600}
.fq li .c{margin-left:9px;font:500 10.5px var(--mono);letter-spacing:.05em;color:var(--muted)}
.fq li p{margin:4px 0 0;max-width:70ch;font-size:12.5px;line-height:1.55;color:var(--ink2)}
.c2w2 .c2w-key{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:baseline;margin:2px 0 16px;
  padding-bottom:13px;border-bottom:1px solid var(--line)}
.c2w2 .c2w-k{display:inline-flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--ink2)}
.c2w2 .c2w-k i{width:16px;height:9px;border-radius:2px;align-self:center;flex:none}
.c2w2 .c2w-kf i{background:linear-gradient(var(--ordinary) 0 59%,var(--report) 59% 100%);opacity:1}
.c2w2 .c2w-kf i{background-image:linear-gradient(var(--ordinary) 0 59%,color-mix(in srgb,var(--report) 50%,transparent) 59% 100%)}
.c2w2 .c2w-kt i{background:var(--ordinary)}
.c2w2 .c2w-kg i{background:var(--report);opacity:.5}
.c2w2 .c2w-k b{font:600 15px var(--mono);letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.c2w2 .c2w-k em{font-style:normal;font:500 10px var(--mono);letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.c2w2 .c2w-fr{display:grid;grid-template-columns:34px minmax(0,1fr);column-gap:8px}
.c2w2 .c2w-gut{position:relative;height:150px}
.c2w2 .c2w-gut span{position:absolute;right:0;transform:translateY(-50%);
  font:500 9.5px var(--mono);letter-spacing:.04em;color:var(--muted)}
.c2w2 .c2w-plot svg{display:block;width:100%;height:150px}
.c2w2 .c2w-zero{fill:var(--line2)}
.c2w2 .c2w-grid{stroke:var(--line);stroke-width:1}
.c2w2 .c2w-seen{fill:var(--ordinary);opacity:.9}
.c2w2 .c2w-miss{fill:var(--report);opacity:.5}
.c2w2 .c2w-edge{fill:var(--report)}
.c2w2 .c2w-med{stroke-width:1;stroke-dasharray:3 4}
.c2w2 .c2w-mf{stroke:var(--report);opacity:.7}
.c2w2 .c2w-mt{stroke:var(--ordinary);opacity:.7}
.c2w2 .c2w-dates{display:grid;grid-template-columns:repeat(17,minmax(0,1fr));margin-top:7px}
.c2w2 .c2w-dates span{text-align:center;font:500 9.5px var(--mono);letter-spacing:.02em;
  color:var(--muted);white-space:nowrap;overflow:hidden}
@media (max-width:900px){.c2w2 .c2w-dates{display:none}}
.ta3 .ta-key{display:flex;flex-wrap:wrap;gap:8px 26px;align-items:baseline;margin:2px 0 14px;
  padding-bottom:13px;border-bottom:1px solid var(--line)}
.ta3 .ta-k{display:inline-flex;align-items:baseline;gap:8px;font-size:12.5px;color:var(--ink2)}
.ta3 .ta-k i{width:16px;height:8px;border-radius:2px;align-self:center;flex:none}
.ta3 .ta-kb i{background:var(--line)}
.ta3 .ta-ki i{background:var(--report)}
.ta3 .ta-kc i{background:var(--ink);height:11px;width:3px;border-radius:1px}
.ta3 .ta-k b{font:600 15px var(--mono);letter-spacing:-.02em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.ta3 .ta-kn b{font-size:13px}
.ta3 .ta-k em{font-style:normal;font:500 10px var(--mono);letter-spacing:.09em;
  text-transform:uppercase;color:var(--muted)}
.ta3 .ta-kn{margin-left:auto;color:var(--muted);font-size:12px}
.ta3 .ta-r,
.ta3 .ta-foot{display:grid;grid-template-columns:86px minmax(0,1fr) 62px 62px;
  column-gap:14px;align-items:center}
.ta3 .ta-r{height:23px}
.ta3 .ta-d{font:500 9.5px var(--mono);letter-spacing:.02em;color:var(--muted);white-space:nowrap}
.ta3 .ta-s svg{display:block;width:100%;height:16px}
.ta3 .ta-band{fill:var(--line)}
.ta3 .ta-zero{fill:var(--line2)}
.ta3 .ta-ext{fill:var(--report);opacity:.55}
.ta3 .ta-ext.ta-brk{opacity:1}
.ta3 .ta-cl{fill:var(--ink)}
.ta3 .ta-vc,
.ta3 .ta-vi{text-align:right;font:500 11.5px var(--mono);color:var(--ink2);
  font-variant-numeric:tabular-nums}
.ta3 .ta-vi{font-weight:600;color:var(--ink)}
.ta3 .ta-over{color:var(--neg)}
.ta3 .ta-foot{margin-top:6px;height:34px;align-items:start}
.ta3 .ta-fax{grid-column:2;position:relative;height:30px}
.ta3 .ta-rail{display:block;width:100%;height:5px}
.ta3 .ta-rl{fill:var(--line)}
.ta3 .ta-tk2{fill:var(--line2)}
.ta3 .ta-fax span{position:absolute;top:9px;font:500 10px var(--mono);letter-spacing:.06em;
  color:var(--muted);white-space:nowrap}
.ta3 .ta-l0{left:0}
.ta3 .ta-l1{left:25%;transform:translateX(-50%)}
.ta3 .ta-l2{left:50%;transform:translateX(-50%)}
.ta3 .ta-l3{left:75%;transform:translateX(-50%)}
.ta3 .ta-l4{right:0}
@media (max-width:820px){
  .ta3 .ta-r,.ta3 .ta-foot{grid-template-columns:72px minmax(0,1fr) 54px;column-gap:9px}
  .ta3 .ta-vc{display:none}
  .ta3 .ta-kn{margin-left:0}
}
.dq1 .dq-grid{display:grid;grid-template-columns:168px repeat(17,minmax(0,1fr)) 74px;
  column-gap:4px;row-gap:5px;align-items:center;margin:4px 0 0}
.dq1 .dq-r{display:contents}
.dq1 .dq-nm{font:500 12.5px var(--ui);color:var(--ink);white-space:nowrap;overflow:hidden;
  text-overflow:ellipsis}
.dq1 .dq-dt{font:500 8.5px/1.3 var(--mono);letter-spacing:.02em;color:var(--muted);
  text-align:center;padding-bottom:4px}
.dq1 .dq-ct{font:500 11px var(--mono);color:var(--muted);text-align:right;white-space:nowrap}
.dq1 .dq-ct b{color:var(--ink);font-weight:600;font-size:12.5px}
.dq1 .dq-head .dq-ct{font-size:9px;letter-spacing:.08em;text-transform:uppercase}
.dq1 .dq-c{display:block;height:20px;border-radius:3px;background:var(--line);opacity:.55}
.dq1 .dq-c.dq-on{background:var(--report);opacity:1}
.dq1 .dq-why{margin:18px 0 0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0 28px}
.dq1 .dq-why p{margin:0;padding-right:24px;font-size:12px;line-height:1.55;color:var(--muted)}
.dq1 .dq-why p+p{padding-right:0;padding-left:28px;border-left:1px solid var(--line)}
.dq1 .dq-why b{display:block;margin-bottom:4px;font-size:12.5px;font-weight:600;color:var(--ink);
  font-family:var(--ui)}
@media (max-width:900px){
  .dq1 .dq-grid{grid-template-columns:132px repeat(17,minmax(0,1fr)) 62px;column-gap:2px}
  .dq1 .dq-dt{display:none}
  .dq1 .dq-why{grid-template-columns:1fr;gap:14px}
  .dq1 .dq-why p+p{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:14px}
}
.dq1 .dq-nm{grid-column:1}
.dq1 .dq-ct{grid-column:-2/-1}
@media (max-width:700px){
  .dq1 .dq-grid{grid-template-columns:repeat(17,minmax(0,1fr)) 54px;column-gap:3px;row-gap:4px}
  .dq1 .dq-nm{grid-column:1/-1;white-space:normal;padding-top:8px}
  .dq1 .dq-head .dq-nm{display:none}
  .dq1 .dq-head+.dq-r .dq-nm{padding-top:0}
}
.ladder{padding:18px 20px 20px}
.ladder .intro{margin:0 0 14px;max-width:70ch;font-size:13.5px;line-height:1.6;color:var(--ink2)}
.ladder table{width:100%;border-collapse:collapse}
.ladder th{font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;
 color:var(--muted);text-align:right;padding:0 10px 7px;border-bottom:1px solid var(--line2)}
.ladder th.l,
.ladder td.l{text-align:left}
.ladder td{text-align:right;padding:9px 10px;border-bottom:1px solid var(--line);
 font:500 14px var(--mono)}
.ladder td.l{font:400 13.5px var(--ui);color:var(--ink2)}
.ladder tr.us td{font-weight:600;color:var(--ink);background:var(--sel)}
.ladder tr.us td.l{font-weight:600;color:var(--ink)}
.ladder tbody tr:last-child td{border-bottom:0}
.ladder .note{margin:14px 0 0;max-width:70ch;font-size:12.5px;line-height:1.6;color:var(--muted)}
.ladder .call{margin:14px 0 0;max-width:70ch}
.lad2 .lv-figs{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;margin:2px 0 22px}
.lad2 .lv-fig{padding-right:26px}
.lad2 .lv-fig+.lv-fig{padding-right:0;padding-left:34px;border-left:1px solid var(--line)}
.lad2 .lv-fig .lv-sm{font:500 10px var(--mono);letter-spacing:.09em;text-transform:uppercase;
  color:var(--muted);display:block;padding-bottom:11px;border-bottom:1px solid var(--line2);
  margin-bottom:13px}
.lad2 .lv-big{font:600 34px/1 var(--mono);letter-spacing:-.025em;color:var(--acc);
  font-variant-numeric:tabular-nums;display:block}
.lad2 .lv-big em{font-style:normal;font-size:15px;font-weight:500;letter-spacing:0;
  color:var(--ink2);margin-left:9px}
.lad2 .sub{margin:9px 0 0;font-size:12.5px;line-height:1.5;color:var(--muted);max-width:30ch}
.lad2 .sub b{color:var(--ink2);font-weight:500;font-family:var(--mono);font-size:12px}
.lad2 .second{margin-top:17px;padding-top:15px;border-top:1px solid var(--line)}
.lad2 .mid{font:600 19px/1 var(--mono);color:var(--ink);letter-spacing:-.015em;
  font-variant-numeric:tabular-nums}
.lad2 .mid em{font-style:normal;font-size:12.5px;font-weight:400;font-family:var(--ui);
  color:var(--muted);margin-left:9px;letter-spacing:0}
.lad2 .lv-foot{display:grid;grid-template-columns:1fr 1fr;gap:0 34px;align-items:start;
  margin-top:14px}
.lad2 .lv-foot .note{margin:0 26px 0 0;padding:12px 0 0}
.lad2 .lv-foot .note+.note{margin:0 0 0 35px}
@media (max-width:640px){
  .lad2 .lv-figs{grid-template-columns:1fr;gap:22px}
  .lad2 .lv-fig+.lv-fig{padding-left:0;border-left:0;border-top:1px solid var(--line);padding-top:20px}
  .lad2 .lv-foot{grid-template-columns:1fr;gap:0}
  .lad2 .lv-foot .note,.lad2 .lv-foot .note+.note{margin:0;padding:12px 0 0}
}
.act.lk{opacity:.72;cursor:help}
.act.lk i{font-style:normal;margin-left:5px;padding:0 4px;border:1px solid var(--line2);
 border-radius:3px;font-size:9px;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.mono{flex:none}
.mono-plate{fill:var(--bg2);stroke:var(--line2);stroke-width:1}
.mono-text{fill:var(--muted);font-family:var(--mono);font-weight:500;letter-spacing:.02em}
.idrow{display:inline-block;vertical-align:-.18em;margin-right:12px}
.idrow .mono{width:clamp(34px,3.6vw,50px);height:clamp(34px,3.6vw,50px)}
.idnote{margin:10px 0 0;font-size:11.5px;line-height:1.5;color:var(--muted);max-width:62ch}
:root{--bar-h:56px}
.top a[href="#"]{outline:2px dashed var(--neg)}
.state{display:flex;align-items:center;gap:10px;white-space:nowrap}
.fresh{font:500 11px var(--mono);letter-spacing:.04em;color:var(--muted)}
.fresh b{font-weight:600;color:var(--ink2)}
.fresh b.ok{font-weight:700}
.fresh b.stale{color:var(--neg);font-weight:700}
.pill{flex:none}
.state .pill{color:var(--neg)}
.nav-id{display:flex;align-items:center;height:32px;padding:0 12px;text-decoration:none;
 color:var(--ink2);font-weight:500;border-radius:8px}
.nav-id:hover{background:var(--bg)}
.top .brand{text-decoration:none}
.tabs a{--tab-pad:12px}
.tabs a[aria-current]{position:relative;color:var(--acc);font-weight:600}
.tabs a[aria-current]::after{content:"";position:absolute;left:var(--tab-pad);
 right:var(--tab-pad);bottom:4px;height:2px;border-radius:1px;background:var(--acc)}
.top{flex-wrap:wrap;height:auto;min-height:56px;row-gap:0;--bar-h:0px}
.top .right{gap:12px}
@media (max-width:820px){
  .top{padding:0 16px}
  .brand{margin-right:12px}
  .tabs{order:3;width:100%;margin:0 -4px 6px;overflow-x:auto;scrollbar-width:none}
  .fresh{font-size:10px}
}
@media (max-width:520px){
  .brand .btxt{display:none}
  .brand{margin-right:8px}
  .fresh .long,.pill .long{display:none}
  .pill{font-size:9px;padding:4px 7px}
  .top .right{gap:8px}
  .nav-id{padding:0 9px}
}
.icon-btn{width:34px;padding:0;display:inline-grid;place-items:center}
.icon-btn svg{display:block;width:16px;height:16px}
.icon-btn .ico-sun{display:none}
.icon-btn[aria-pressed="true"] .ico-moon{display:none}
.icon-btn[aria-pressed="true"] .ico-sun{display:block}
html{--mt-top:0px}
@media (min-width:701px){.mt-ph{display:none!important}}
@media (max-width:700px){.mt-dt{display:none!important}}
.mt-vh{position:absolute!important;width:1px;height:1px;margin:-1px;padding:0;border:0;
  overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:700px){
  .win>.status{flex-wrap:wrap;height:auto;padding:5px 0 6px}
  .win>.status span{min-height:21px;padding:2px 14px;border:0;white-space:normal}
  .win>.status .r{margin-left:0;flex-basis:100%;border:0}
  .win:is(:has(table),:has(.mt-rows))>.titlebar{height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}
}
@media (hover:none) and (max-width:700px){.mt-kbd{display:none!important}}
@property --mt-fr{syntax:"<length>";inherits:false;initial-value:0px}
@keyframes mt-edge{from{--mt-fr:44px}to{--mt-fr:0px}}
.tw,
.f pre{animation:mt-edge linear both;animation-timeline:scroll(self inline);
  -webkit-mask-image:linear-gradient(to right,#000 calc(100% - var(--mt-fr)),transparent);
  mask-image:linear-gradient(to right,#000 calc(100% - var(--mt-fr)),transparent)}
@media (max-width:700px),(pointer:coarse){
  .top .brand{min-width:44px;min-height:44px;justify-content:center}
  .tabs a{min-height:44px}
  .icon-btn{width:44px;height:44px}
  .nav-id{min-height:44px}
}
@media (max-width:520px){.top>.brand{margin-left:-12px}}
@media (max-width:520px){.top .brand .btxt{display:inline;position:absolute;width:1px;height:1px;
  margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}}
.top{padding-left:max(16px,calc((100% - 1400px) / 2 + 16px));
  padding-right:max(16px,calc((100% - 1400px) / 2 + 16px))}
@media (max-width:520px){
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpis>:first-child:nth-last-child(odd){grid-column:1/-1}
}
.mt-lens{display:none}
@media (max-width:700px){
  .mt-lens{display:flex;flex-wrap:wrap;align-items:center;gap:0 6px;margin:0;min-width:0;
    padding:0 10px;border:0;border-bottom:1px solid var(--line);background:var(--panel)}
  .mt-lens .k{font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted);margin-right:2px}
  .mt-lens label{position:relative;display:flex;align-items:center;min-height:44px;cursor:pointer}
  .mt-lens input{position:absolute;inset:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}
  .mt-lens label span{display:block;min-width:44px;text-align:center;padding:5px 11px;
    border:1px solid var(--line2);border-radius:999px;font:500 12px var(--ui);color:var(--ink2);
    background:var(--bg);white-space:nowrap}
  .mt-lens input:checked+span{background:var(--ink);border-color:var(--ink);color:var(--panel)}
  .mt-lens input:focus-visible+span{outline:2px solid var(--acc);outline-offset:2px}
  .mt-lens label:hover span{border-color:var(--ink2)}
  .win:has(.mt-lens) thead th{white-space:normal;line-height:1.2}
  .win:has(.mt-lens) td .tag{display:inline-block}
  .mt-when{display:block;margin-top:2px;font:500 10px var(--mono);letter-spacing:0;
    color:var(--muted);white-space:nowrap}
}
@media (max-width:700px){
  #hist td .d{min-width:0}
  #hist td .s,#hist td .src{display:table;margin:3px 0 0}
  #hist td,#hist th{padding:0 7px}
  #hist td:first-child,#hist th:first-child{padding-left:12px}
  #hist tr.med td{white-space:normal;line-height:1.3;padding-top:6px;padding-bottom:6px}
  #hist tr td{height:44px}
  #hist .ev{width:min(190px,calc(100vw - 218px))}
}
@media (max-width:360px){
  #hist td,#hist th{padding:0 5px}
  #hist td:first-child,#hist th:first-child{padding-left:10px}
  #hist .ev{width:calc(100vw - 222px)}
}
@media (max-width:700px){
  .win:has(#mtl-hist-move:checked) #hist :is(th,td):is(:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(10)){display:none}
  .win:has(#mtl-hist-chart:checked) #hist :is(th,td):is(:nth-child(3),:nth-child(4),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(10)){display:none}
  .win:has(#mtl-hist-crush:checked) #hist :is(th,td):is(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(9),:nth-child(10)){display:none}
  .win:has(#mtl-hist-fcst:checked) #hist :is(th,td):is(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8)){display:none}
}
.mt-rowsbox{display:none}
@media (max-width:700px){
  .mt-rowsbox{display:block}
  .mt-rowsbox .mt-hd,.mt-rowsbox .mt-rb{display:grid;grid-template-columns:var(--mt-cols);
    column-gap:10px;align-items:center}
  .mt-hd{position:sticky;top:var(--mt-top,0px);z-index:3;min-height:40px;padding:0 12px 0 14px;
    background:var(--panel);border-bottom:1px solid var(--line2);
    font:500 11px var(--ui);color:var(--muted);text-align:right}
  .mt-hd .l{text-align:left}
  .mt-hd button{min-height:44px;padding:0;border:0;background:none;font:inherit;color:inherit;
    text-align:inherit;cursor:pointer;white-space:nowrap}
  .mt-hd button.on{color:var(--ink)}
  .mt-hd button.on::after{content:attr(data-arrow);margin-left:4px;color:var(--acc)}
  .mt-rows{list-style:none;margin:0;padding:0}
  .mt-row{border-bottom:1px solid var(--line)}
  .mt-rb{row-gap:6px;width:100%;min-height:44px;padding:10px 12px 11px 14px;border:0;margin:0;
    background:transparent;font:inherit;color:inherit;text-align:right;cursor:pointer}
  div.mt-rb{cursor:default}
  button.mt-rb:hover{background:var(--hover)}
  .mt-row.is-open>.mt-rb{background:var(--sel);box-shadow:inset 2px 0 0 var(--acc)}
  .mt-id{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 7px;min-width:0;
    text-align:left}
  .mt-id .rk{color:var(--muted);font:500 11px var(--mono);min-width:1.4em}
  .mt-id .t{font-weight:600;letter-spacing:-.01em;font-size:14px}
  .mt-id .c{flex:1 1 0;min-width:0;color:var(--muted);font-size:12px;overflow:hidden;
    text-overflow:ellipsis;white-space:nowrap}
  .mt-id .tag{margin-left:0;cursor:default;flex:none}
  .mt-id .stale{margin-left:0;flex:none}
  .mt-id .wh{flex:none;margin-left:auto;display:flex;align-items:center;gap:6px;font-size:12.5px;
    color:var(--ink2);white-space:nowrap}
  .mt-rows .s{font:500 9.5px var(--mono);letter-spacing:.06em;color:var(--ink2);
    border:1px solid var(--line2);border-radius:5px;padding:1px 5px}
  .mt-rows .s.amc{background:var(--ink);color:var(--panel);border-color:var(--ink)}
  .mt-rows .u{color:var(--muted);font-size:11px;margin-left:1px}
  .mt-rows .b{font-weight:600;font-size:13.5px}
  .mt-rows .band{color:var(--muted);font-size:11px;margin-left:6px}
  .mt-rows .dim{color:var(--muted)}
  .mt-f{min-width:0;white-space:nowrap;font-size:13px}
  .mt-f.l{text-align:left}
  .mt-f .pc{width:100%;max-width:150px}
  .mt-chev{justify-self:end;width:7px;height:7px;border-right:1.5px solid var(--muted);
    border-bottom:1.5px solid var(--muted);transform:translateY(-2px) rotate(45deg)}
  .mt-row.is-open .mt-chev{transform:translateY(1px) rotate(225deg)}
  .mt-div{padding:6px 14px;background:var(--bg);border-bottom:1px solid var(--line);
    font:500 10px/1.5 var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .mt-div b{color:var(--ink2);font-weight:500}
  .mt-det{padding:2px 14px 12px;background:var(--bg);border-top:1px solid var(--line)}
  .mt-g{padding:10px 0 2px}
  .mt-g+.mt-g{border-top:1px solid var(--line)}
  .mt-g h4{margin:0 0 6px;font:500 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;
    color:var(--muted)}
  .mt-g dl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;margin:0}
  .mt-g dl>div{min-width:0}
  .mt-g dl>.w2{grid-column:span 2}.mt-g dl>.w3{grid-column:1/-1}
  .mt-g dt{font-size:11px;color:var(--muted);margin-bottom:1px}
  .mt-g dd{margin:0;font-size:13px;font-weight:600;white-space:nowrap}
  .mt-g dd .xg{width:100%;max-width:220px}
  .mt-g dd .pc{width:100%;max-width:150px}
  .mt-why{margin:0 0 8px;font-size:12.5px;line-height:1.5;color:var(--ink2)}
  .mt-why .tag{margin:0 6px 0 0;cursor:default}
  .mt-open{display:flex;align-items:center;min-height:44px;font-weight:600;font-size:13px;
    color:var(--ink);text-underline-offset:3px}
}
.combo{--mt-cols:50px minmax(0,1fr) 34px 62px}
@media (max-width:700px){
  .mt-row .out{font:500 10.5px var(--mono)}
  .mt-row.fw .mt-id .t,.mt-row.fw .mt-id .wh{color:var(--muted)}
  .mt-rowsbox .board-lock{vertical-align:middle}
}
.combolegend span:last-child{display:block}
@media (max-width:700px),(pointer:coarse){
  .u-note a{display:inline-flex;align-items:center;min-height:44px}
  .ovl .btn{height:44px}
}
.win>.note{max-width:none;padding-right:max(18px,calc(100% - 70ch + 18px))}
.ladder>.note{max-width:none;padding-right:max(18px,calc(100% - 70ch + 18px))}
@media (min-width:360px) and (max-width:820px){
  .top{flex-wrap:nowrap}
  .tabs{order:0;width:auto;flex:none;margin:0;overflow:visible}
  .top .right>.state,.top .right>#theme{display:none}
}
@media (min-width:360px) and (max-width:520px){.tabs a{padding:0 8px;--tab-pad:8px}.nav-id{padding:0 8px}}
@media (min-width:360px) and (max-width:420px){.tabs a{padding:0 6px;--tab-pad:6px}.nav-id{padding:0 6px}}
@media (min-width:360px) and (max-width:374px){.tabs a{padding:0 5px;--tab-pad:5px}.nav-id{padding:0 5px}}
.foot-bar{display:none}
@media (min-width:360px) and (max-width:820px){
  .foot-bar{display:flex;align-items:center;gap:10px;min-height:44px;margin:16px 0 0;
    padding:8px 0 0;border-top:1px solid var(--line);font-size:13px}
  .foot-bar .icon-btn{margin-left:auto;flex:none}
}
@media (min-width:375px) and (max-width:520px){.foot-bar .fresh .long,.foot-bar .pill .long{display:inline}}
.titlebar{display:grid;grid-template-columns:1fr auto 1fr}
.titlebar>.mark{justify-self:start}
.titlebar .t{text-align:center}
.titlebar:not(:has(>.act))::after{content:"";width:14px}
.titlebar>.act{justify-self:end}
.titlebar .act.lk{display:inline-flex;align-items:center;white-space:pre}
@media (max-width:700px){.titlebar{height:auto;min-height:40px;padding-top:8px;padding-bottom:8px}}
footer.site{margin-top:64px;border-top:1px solid var(--line);padding:24px 0 44px;font-size:11.5px;color:var(--muted)}
footer.site .site-in{max-width:1400px;margin:0 auto;padding:0 16px;display:grid;gap:6px}
footer.site a{color:var(--ink2)}
footer.site span:last-child a{display:inline-flex;align-items:center;min-height:44px;min-width:44px}
.idrow img.mono{width:clamp(34px,3.6vw,50px);height:clamp(34px,3.6vw,50px);object-fit:contain;display:block;border-radius:6px}
.idrow{vertical-align:-.14em}
.pend{font:500 9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);border:1px dashed var(--line2);border-radius:999px;padding:1px 6px;margin-left:6px}
.spk{padding:14px 18px 6px}
.spk svg{width:100%;height:auto;display:block}
.spk .lg{display:flex;gap:18px;font:500 10.5px var(--mono);letter-spacing:.06em;color:var(--muted);margin:4px 0 10px}
.spk .lg i{display:inline-block;width:14px;height:2px;vertical-align:middle;margin-right:6px;background:var(--report)}
.spk .lg i.e2{background:var(--ink)}
.foot a{color:var(--ink2)}
@media (min-width:901px){.dq1 .dq-why p:nth-child(3n+1){padding-left:0;padding-right:24px;border-left:0}}

/* ---- product additions (BUILD_PLAN 3.82): every rule below is a logged difference ---- */
/*
 * Appended to every ported page's stylesheet and to chrome.css (scripts/port_mockup_css.py).
 * Each rule is a logged difference from the mockups (BUILD_PLAN 3.82).
 */

/*
 * TIER VARIANTS (3.64), rewritten for the mockup cascade. app.css reveals a variant with
 * `display: revert`, which rolls back to the UA value and would drop the mockup's
 * `.nav-id{display:flex}` for exactly the signed-in readers. So these HIDE the variants that do
 * not apply and never set a display for the one that does: whatever the page's own rules say
 * is what shows. (b: the page bytes are identical for every reader, 3.64.)
 */
html[data-tier] .tier-anon,
html:not([data-tier]) .tier-auth,
html:not([data-tier='free']) .tier-free,
html:not([data-tier='paid']) .tier-paid{display:none!important}

/*
 * The theme switch ships `hidden` (decision 18). The mockup's `.icon-btn{display:inline-grid}`
 * beats the UA's `[hidden]{display:none}`, so without this the attribute would do nothing.
 * `theme.js` sets `html.js` at parse time, before the bar exists, so a reader with scripts on
 * never sees the bar change after load; with scripts off the dead button stays hidden.
 */
html:not(.js) .icon-btn[hidden]{display:none}

/*
 * "ON" STATES ARE LINEN AND INK (3.409, `mockups/board-select/` option A, operator 2026-11-03). The
 * mockups mark every selected, pressed and current thing with `--sel` (the accent's pink) and an
 * oxblood edge, and oxblood already MEANS something on these pages: the report's part of the split,
 * a negative number, a link. So an open row was tinted the colour of the report, under every
 * figure in it. `--on-bg` is the page's own paper one step deeper and `--on` is ink: a row, a
 * pressed filter, a current tab or a picked item is pulled forward, not coloured. `--sel` is left
 * as it is, because `/`'s subscribe band and its free macro block use it as a fill and stay pink
 * (operator). Checked at 4.5:1 or better for the muted text on `--on-bg` in both modes.
 */
:root{--on-bg:#ECE8DC;--on:#1D1A18}
:root[data-theme="dark"]{--on-bg:#2A2822;--on:#EFEDE7}

/*
 * THE COMPACT FOOTER (operator, 2026-09-28). The mockup's footer set each disclaimer on its own
 * line, padded every link to a 44px box, and sat 64px below a separate readout/theme row, so
 * the pair took most of a phone screen. Now: one bar (links, readout, theme switch), and no
 * disclaimer lines (operator). The links are 32px tall, over WCAG 2.2 AA's 24px.
 *
 * The readout and the switch are shown where the top bar does not show them: the switch from
 * 360px up (the top bar keeps it below 360px, where it has room), and the readout from 360 to
 * 820px only (the top bar shows it everywhere else). On a phone the two head the footer; on a
 * desktop the switch ends the link row. (d)
 */
footer.site{margin-top:8px;padding:14px 0 20px}
footer.site .site-in{gap:2px}
.site-bar{display:flex;align-items:center;flex-wrap:wrap;gap:0 16px;min-height:34px}
.site-links{display:flex;flex-wrap:wrap;gap:0 16px;flex:1 1 auto;font-size:12.5px}
/* Terms and Privacy wrap as a pair, so a wrapped row never strands one word on a line */
.site-pair{display:flex;gap:inherit}
footer.site .site-links a{display:inline-flex;align-items:center;min-height:32px;color:var(--ink2);text-decoration:none}
footer.site .site-links a:hover{text-decoration:underline}
/* 3.418: what VolModel is, one sentence above the links (SITE_DEFINITION; SEO audit item 9). */
footer.site .site-def{max-width:68ch;margin:2px 0 8px;font:400 13px/1.55 var(--ui);color:var(--muted)}
.site-bar>.state{display:none}
.site-bar .icon-btn{flex:none}
/* 3.433: down to 320 too, now that the footer's switch is the only one (it was hidden below 360,
   where the bar carried its own) */
@media (max-width:820px){
.site-bar>.state{display:flex;flex:1 1 auto;order:-1}
.site-bar .icon-btn{order:-1}
.site-links{flex-basis:100%}
.site-bar.bare>.state{display:none}
.site-bar.bare .icon-btn{order:0}
.site-bar.bare .site-links{flex:1 1 0;min-width:0}}
@media (min-width:375px) and (max-width:520px){.site-bar .fresh .long{display:inline}}
@media (max-width:520px){.site-links{gap:0 12px}}
/* the page notes above the footer end in 40px of padding, and the footer adds its own */
.wrap>.foot,body>.foot{padding-bottom:12px}

/*
 * "Sign in" in the top bar stands out from the section tabs (operator, 2026-09-28): a quieted
 * accent (60% accent, 40% ink2, so it does not compete with the current tab's full accent) and a
 * heavier weight. "Account", the signed-in variant, stays plain.
 */
.nav-id.nav-signin{color:color-mix(in srgb,var(--acc) 60%,var(--ink2));font-weight:600}
.bgaccent{overflow:clip;animation:none}
.bgaccent::before{content:"";position:absolute;inset:0;background:inherit;animation:bgkb 48s ease-in-out infinite alternate}
/*
 * THE TWO RULES ABOVE: THE DAYBREAK ZOOM DOES NOT WIDEN THE PAGE (BUILD_PLAN 3.111). The
 * mockup zooms the whole `.bgaccent` box (`bgkb`, scale 1 to 1.07 over 48s), and a transformed
 * box counts toward the
 * page's scrollable width. So in light mode every page with the band scrolled sideways, growing
 * with the zoom to 50px at 1440 and 13px at 375 (dark hides the band). The box now stays put and
 * clips, and the photo zooms inside it on `::before`, which inherits the box's background. The
 * veil (`::after`) and the mask no longer zoom with it.
 */

/*
 * THE PHONE LENS AS ONE SEGMENTED ROW (3.115). The mockups' lens is a row of pills that wraps:
 * "Cost after" sat alone on a second line on /, and the other lens pages wrapped the same way.
 * Each segment is as wide as its label and the row fills the width, so it fits a 320px phone
 * wherever the labels do (`check_css.mjs` cannot see widths; 3.115 measured each page). The
 * "Show" label goes because the control explains itself; the legend stays for screen readers.
 * The fieldset's bottom rule moves onto the table under it, which every lens page puts next.
 */
@media (max-width:700px){
  .mt-lens{display:grid;grid-auto-flow:column;grid-auto-columns:auto;gap:2px;margin:10px;padding:2px;
    border:1px solid var(--line2);border-radius:999px;background:var(--bg)}
  .mt-lens .k{display:none}
  .mt-lens label span{width:100%;min-width:0;padding:10px 6px;border:0;border-radius:999px;
    background:transparent;font-size:12.5px}
  .mt-lens input:checked+span{background:var(--ink);color:var(--panel)}
  .mt-lens label:hover span{border:0}
  .mt-lens+.tw{border-top:1px solid var(--line)}
}
/* the narrowest phones: /accuracy/'s three labels overflowed the row by a few px at 320 */
@media (max-width:360px){
  .mt-lens{margin:10px 8px}
  .mt-lens label span{padding:10px 4px;font-size:12px}
}

/*
 * THE BAR PER READER (BUILD_PLAN 3.150, mockups/topbar-audit/). A visitor's "Sign in" gets a
 * filled "Create free account" button beside it from 768px up, and goes plain there so the two
 * do not compete; below 768px the button is hidden and "Sign in" keeps its accent. A free
 * reader's "Upgrade" takes that quiet accent. The tier rules above still win (`!important`), so
 * on a cached page the button never shows to a signed-in reader. (d)
 *
 * The button is an ink PILL with a chevron (3.320, mockups/topbar-nav-states/ round 2, R1): the
 * only round object on the bar, so it reads as the one action rather than an 8px-cornered slab
 * that matched nothing beside it. Hover warms the ink a step toward the accent, lifts it, and
 * moves the chevron 2px forward, in place of the flat `opacity:.88` dim. 4px more air before it.
 */
.top .nav-cta{display:none}
@media (min-width:768px){
.top .nav-id.nav-signin.has-cta{color:var(--ink2);font-weight:500}
.top .nav-id.nav-signin.has-cta:hover{color:var(--ink)}
.top .nav-cta{display:inline-flex;align-items:center;gap:8px;height:32px;padding:0 13px 0 15px;margin-left:4px;
  border:1px solid var(--ink);border-radius:999px;background:var(--ink);color:var(--panel);
  font:600 13px var(--ui);text-decoration:none;white-space:nowrap;box-shadow:0 1px 2px rgba(0,0,0,.12);
  transition:background .15s,border-color .15s,box-shadow .15s}
.top .nav-cta::after{content:"";width:6px;height:6px;margin-top:1px;border:solid currentColor;
  border-width:1.6px 1.6px 0 0;transform:rotate(45deg);transition:transform .18s cubic-bezier(.2,.8,.2,1)}
.top .nav-cta:hover{background:color-mix(in srgb,var(--ink) 86%,var(--acc));
  border-color:color-mix(in srgb,var(--ink) 86%,var(--acc));
  box-shadow:0 1px 2px rgba(0,0,0,.12),0 6px 16px -8px rgba(0,0,0,.45)}
.top .nav-cta:hover::after{transform:translateX(2px) rotate(45deg)}}
@media (prefers-reduced-motion:reduce){.top .nav-cta,.top .nav-cta::after{transition:none}}
.top .nav-id.nav-upgrade{color:color-mix(in srgb,var(--acc) 60%,var(--ink2));font-weight:600}
/*
 * THE BAR'S LINKS ARE UNDERLINED WORDS, NOT BOXES (3.320, mockups/topbar-nav-states/, option C).
 * The mockup's current tab carried three signals (a tinted box, the accent, and an underline
 * floating inside the box), and its hover box was LIGHTER than the frosted bar, so it read as a
 * white patch, and a hovered tab beside the current one looked like a second selection. Now the
 * current page is ink (the accent until 3.409), weight 600 and a 2px underline under the word; hover is ink and a faint
 * ink underline at the same offset. The identity link takes the same two states: on its own page
 * (/login/'s "Sign in", /account/'s "Account", which until 3.150 only a screen reader could
 * tell) it is current, and an open Account menu shows the hover state. (d)
 */
.tabs a,.top .nav-id{text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:8px;
  text-decoration-color:transparent;transition:color .15s,text-decoration-color .15s}
.tabs a:hover,.top .nav-id:hover,.am[open]>summary{background:none;color:var(--ink);
  text-decoration-color:color-mix(in srgb,var(--ink) 25%,transparent)}
.tabs a[aria-current],.top .nav-id[aria-current]{background:none;color:var(--on);font-weight:600;
  text-decoration-color:var(--on)}
.tabs a[aria-current]::after{content:none}
@media (prefers-reduced-motion:reduce){.tabs a,.top .nav-id{transition:none}}

/*
 * ONE BASELINE ON THE RIGHT OF THE BAR (3.153). The bar centres every item's BOX, and a box holding
 * 11px JetBrains Mono centres onto a different baseline than one holding 13px Instrument Sans: the
 * readout ("Updated 6 Oct") sat 0.58px above "Account" beside it, which reads as misaligned at any
 * zoom. The text-bearing items now share a baseline; the theme switch, which has no text, stays
 * centred. The group's tallest item (the 34px button where there is one, else the identity link)
 * keeps its place, so nothing but the readout moves.
 */
.top .right>.state,.top .right>.nav-id,.top .right>.btn:not(.icon-btn){align-self:baseline}

/*
 * SEARCH IN THE BAR (3.157, mockups/topbar-search/, phone layout B). The field from 1024px up,
 * growing from 160 to 300px; below that an icon opens a panel (search.js). Measured on the real
 * bars at every width from 320 to 1440: a field narrower than ~160px is not usable, and below 1024
 * one reader or another has less than that (a visitor 41-120px at 821-940, a free reader 24-104px
 * at 560-640).
 *   - basis 160, not 300: the bar is flex-wrap, and a line wraps on an item's BASIS before it
 *     shrinks one. A 300px basis wrapped a visitor's bar to 67px at 1024.
 *   - from 821 to 1023 the readout leaves the bar to make room for the icon, as it already does
 *     at 360-820; the footer carries it at every width.
 *   - on a phone the Method tab leaves the bar for the icon (it is in the footer). Below 360 the
 *     bar is already two rows, and the icon joins the tabs row instead.
 *   - the icon is 32px tall like the links beside it (44 where they are): the right side aligns on
 *     the text baseline (3.153), and a taller icon grew the group and lifted "Sign in" 4px.
 */
.srch{position:relative;flex:1 1 160px;max-width:300px;min-width:0;margin-left:14px}
.srch-box{display:flex;align-items:center;gap:8px;height:34px;padding:0 7px 0 10px;border:1px solid var(--line2);
  border-radius:9px;background:var(--bg);color:var(--muted);cursor:text}
.srch-box:hover{border-color:color-mix(in srgb,var(--ink2) 35%,var(--line2))}
.srch-box:focus-within{border-color:var(--acc);background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}
.srch-box svg{flex:none}
.srch input,.srch-sheet input{flex:1;min-width:0;height:100%;border:0;padding:0;margin:0;background:none;outline:0;
  font:500 13.5px var(--ui);color:var(--ink);-webkit-appearance:none;appearance:none}
.srch input::placeholder,.srch-sheet input::placeholder{color:var(--muted);opacity:1}
.srch input::-webkit-search-cancel-button,.srch-sheet input::-webkit-search-cancel-button{display:none}
.srch kbd{flex:none;font:600 10.5px/1 var(--mono);color:var(--muted);border:1px solid var(--line2);border-radius:5px;
  padding:3px 6px;background:var(--panel)}
.srch-box:focus-within kbd{visibility:hidden}
.srch-pop{position:absolute;top:calc(100% + 8px);left:0;width:min(460px,calc(100vw - 32px));max-height:min(70vh,560px);
  overflow:auto;background:var(--panel);border:1px solid var(--line2);border-radius:12px;box-shadow:var(--shadow);
  padding:6px;z-index:40}
.srch-pop[hidden]{display:none}
.srch-hd{font:600 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:8px 10px 6px}
.sr{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;column-gap:10px;min-height:40px;
  padding:8px 10px;border-radius:8px;text-decoration:none;color:var(--ink)}
.sr:hover{background:var(--hover)}
.sr[aria-selected="true"]{background:var(--on-bg);box-shadow:inset 2px 0 0 var(--on)}
.sr .sy{font:600 13px var(--mono);letter-spacing:.01em}
.sr .nm{font-size:13.5px;color:var(--ink2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sr .mt,.ix-l .mt{display:flex;align-items:center;gap:6px;font:500 11.5px var(--ui);color:var(--muted);white-space:nowrap}
.sr .ss,.ix-l .ss{font:500 9.5px var(--mono);letter-spacing:.06em;color:var(--ink2);border:1px solid var(--line2);
  border-radius:5px;padding:1px 5px}
.sr .ss.amc,.ix-l .ss.amc{background:var(--ink);color:var(--panel);border-color:var(--ink)}
.sr .et,.ix-l .et{font:600 9.5px var(--mono);letter-spacing:.06em;color:var(--muted);border:1px solid var(--line2);
  border-radius:5px;padding:1px 5px}
.sr mark{background:none;color:var(--acc);font-weight:700}
.sr .go{display:none;font:600 11px var(--mono);color:var(--acc)}
.sr[aria-selected="true"] .go{display:inline}
.srch-none{padding:14px 12px 12px;font-size:13.5px;color:var(--ink2);line-height:1.5}
.srch-none b{color:var(--ink)}
.srch-none a{color:var(--acc);font-weight:600;text-decoration:none}
.srch-ft{display:flex;justify-content:space-between;gap:14px;border-top:1px solid var(--line);margin-top:6px;
  padding:9px 10px 5px;font:500 11px var(--mono);color:var(--muted)}
.srch-ft kbd{font:inherit;border:1px solid var(--line2);border-radius:4px;padding:0 4px}
.srch-ico{display:none;align-self:center;place-items:center;flex:none;width:36px;height:32px;margin:0;padding:0;border:0;
  border-radius:8px;background:none;color:var(--ink2);cursor:pointer}
.srch-ico:hover{background:var(--bg)}
@media (max-width:700px),(pointer:coarse){.srch-ico{min-height:44px}}
@media (max-width:1023px){.srch{display:none}.srch-ico.in-right{display:inline-grid}}
@media (min-width:821px) and (max-width:1023px){.top .right>.state{display:none}}
@media (max-width:520px){.tabs a[href="/methodology/"]{display:none}}
/*
 * ONE ROW DOWN TO 320 (3.433, mockups/topbar-oneline/, option A). Below 360 the bar used to wrap
 * the tabs onto a second row (95px) with the search icon beside them; now 360-820's single row
 * runs all the way down, with the padding stepped down once more. The readout goes, as it does
 * from 360 (the footer carries it), and the theme switch is the footer's only.
 */
@media (max-width:359px){
  .top{flex-wrap:nowrap}
  .tabs{order:0;width:auto;flex:none;margin:0;overflow:visible}
  .top .right>.state{display:none}
  .srch-ico.in-right{width:32px}
  .tabs a{padding:0 4px;--tab-pad:4px}
  .nav-id{padding:0 4px}
  .top .right{gap:4px}
  .brand{margin-right:4px}
}
/* the panel: a sheet over the page on a phone, a centred box from 521px */
.srch-sheet{position:fixed;inset:0;z-index:60;display:flex;flex-direction:column;background:var(--panel)}
.srch-sheet[hidden]{display:none}
@media (min-width:521px){.srch-sheet{inset:auto;top:64px;left:50%;transform:translateX(-50%);width:min(560px,calc(100vw - 32px));
  max-height:min(72vh,620px);border:1px solid var(--line2);border-radius:14px;box-shadow:var(--shadow)}}
html.srch-open{overflow:hidden}
@media (min-width:521px){html.srch-open{overflow:visible}}
.srch-sh-top{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 12px;border-bottom:1px solid var(--line)}
.srch-sh-top .srch-box{flex:1;height:44px;border-radius:10px;border-color:var(--acc);background:var(--panel);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}
.srch-sh-top input{font-size:16px}
.srch-x{flex:none;height:44px;padding:0 6px;border:0;background:none;font:600 14px var(--ui);color:var(--acc);cursor:pointer}
.srch-sh-list{flex:1;overflow:auto;padding:4px 6px 24px}
.srch-sheet .sr{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"sy mt" "nm nm";row-gap:2px;min-height:56px;padding:9px 10px}
.srch-sheet .sr .sy{grid-area:sy;font-size:14px}
.srch-sheet .sr .nm{grid-area:nm;font-size:14px}
.srch-sheet .sr .mt{grid-area:mt}
.srch-sheet .srch-ft{display:none}

/*
 * A COMPANY'S TWO VIEWS (3.171, `mockups/company-views/` E3). Both `/earnings/<sym>/` and
 * `/t/<SYM>/` open with the same one-line head and, for a company with a public page, the same
 * switch at the top of the figures column (`views/view-switch.ts`). Here, not in the two pages'
 * own files, because it is one component and the two copies would drift.
 *
 * The head: one line at every width. The symbol, the parent and the separators never shrink; a
 * long company name is cut with an ellipsis instead of wrapping the line.
 */
.kicker.k1{display:flex;align-items:baseline;white-space:nowrap;min-width:0;max-width:100%}
.kicker.k1 > *{flex:none}
.kicker.k1 .knm{flex:0 1 auto;min-width:3ch;overflow:hidden;text-overflow:ellipsis}
.kicker.k1 .ksp{color:var(--muted);margin:0 .6em}
.kicker.k1 .kdt{margin:0 .6em}
.kicker.k1 .kc{color:var(--acc);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--acc) 35%,transparent);
  text-underline-offset:3px;text-decoration-thickness:1px}
.kicker.k1 .kc:hover{text-decoration-color:var(--acc)}
@media (max-width:700px){.kicker.k1 .kc{display:inline-flex;align-items:center;min-height:44px;margin:-15px 0}}
/* 3.191: the ellipsis above never engaged. The head sits in `.lead`'s first column, a grid item
   with the default `min-width:auto`, so the column grew to the head's no-wrap width instead of
   letting `.knm` shrink: "Hewlett Packard Enterprise Co" made the head 352px in a 343px column at
   375, hidden by the page's overflow clip. A control after the name would be pushed off screen. */
.lead>div:has(>.kicker.k1){min-width:0}

/*
 * THE WATCH CONTROL (3.191, `mockups/watchlist/` K1): "· ☆ WATCH" in the head's own type, ink where
 * the breadcrumb is accent, and "· ★ WATCHING" in the accent once the name is on the list. The
 * text sets the baseline (the star is centred on it), and the 44px tap area is a pseudo-element,
 * so the head's line does not grow. A pending button (the cached page, before `watch.js` has
 * asked) is dimmed and not pressable.
 */
.kicker.k1 .kx-sep{color:var(--muted);margin:0 .6em}
.k1w{position:relative;display:inline-flex;align-items:baseline;gap:.5em;padding:0;border:0;background:none;cursor:pointer;
  font:inherit;letter-spacing:inherit;text-transform:inherit;color:var(--ink2);text-decoration:none;-webkit-tap-highlight-color:transparent}
.k1w::after{content:"";position:absolute;inset:-16px -6px}
.k1w .wl-i{position:relative;top:-1px;align-self:center;flex:none;width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linejoin:round}
.k1w:hover .t{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
.k1w:focus-visible{outline:2px solid var(--acc);outline-offset:3px;border-radius:2px}
.k1w .on-t{display:none}
.k1w.on{color:var(--on)}
.k1w.on .wl-i{fill:currentColor}
.k1w.on .on-t{display:inline}
.k1w.on .off-t{display:none}
.k1w[aria-busy=true]{opacity:.45;cursor:progress}
.wl-toast{position:fixed;left:50%;bottom:24px;z-index:80;max-width:calc(100vw - 32px);transform:translateX(-50%) translateY(8px);opacity:0;pointer-events:none;
  padding:10px 14px;border-radius:10px;background:var(--ink);color:var(--bg);font:500 13.5px/1.4 var(--ui);box-shadow:var(--shadow);transition:opacity .18s,transform .18s}
.wl-toast.show{opacity:1;transform:translateX(-50%) translateY(0);pointer-events:auto}
.wl-toast a{margin-left:10px;color:inherit;font-weight:600}

/*
 * THE ACCOUNT MENU (3.191, `mockups/watchlist/` round 2, M1). A `<details>`: its summary is the
 * bar's "Account" (`.nav-id`, so it keeps that link's look, its current-page underline and its
 * hit area), and the panel drops below it, right-aligned to the bar's edge. The wrapper takes
 * 3.153's baseline rule, which keys on `.nav-id`: without it the readout ("Updated 13 Oct") lost
 * its line beside Account the first time the menu was rendered.
 */
.am{position:relative;display:flex}
.top .right>.am{align-self:baseline}
.am-t{list-style:none;cursor:pointer;gap:6px;user-select:none;-webkit-user-select:none}
.am-t::-webkit-details-marker{display:none}
.am-t:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.am-cv{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.am[open]>summary{color:var(--ink)}
.am[open] .am-cv{transform:rotate(180deg)}
.am-p{position:absolute;right:0;top:calc(100% + 8px);z-index:70;width:292px;padding:6px;background:var(--panel);border:1px solid var(--line);
  border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.06),0 18px 40px -18px rgba(0,0,0,.35);font:14px/1.4 var(--ui);text-align:left}
.am-who{padding:10px 12px 11px;margin-bottom:4px;border-bottom:1px solid var(--line)}
.am-who b{display:block;font-size:14px;font-weight:600;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.am-who span{display:block;margin-top:2px;font:500 11px var(--mono);letter-spacing:.04em;color:var(--muted)}
.am-i{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;column-gap:10px;width:100%;min-height:44px;padding:7px 10px;
  border:0;border-radius:8px;background:transparent;color:var(--ink);font:inherit;font-size:14.5px;font-weight:550;text-align:left;text-decoration:none;cursor:pointer}
/* Hover is `--bg2`, not `--hover`: `landing.css` defines `--hover` only for dark, so on `/` the
   light hover painted nothing, and where it is defined it sits one barely visible step off the panel
   (#F5ECE3 on #FDFAF5). Dark keeps `--hover`, which every page defines there and which is LIGHTER
   than its panel, where `--bg2` would be darker. */
.am-i:hover,.am-i:focus-visible{background:var(--bg2);outline:0}
.am-i:hover .am-ic,.am-i:focus-visible .am-ic{color:var(--ink)}
.am-i:hover .am-star,.am-i:focus-visible .am-star{color:var(--acc)}
html[data-theme="dark"] .am-i:hover,html[data-theme="dark"] .am-i:focus-visible{background:var(--hover)}
.am-i[aria-current]{background:var(--on-bg);box-shadow:inset 2px 0 0 var(--on)}
.am-i[aria-current] .am-l{color:var(--on)}
.am-ic{grid-row:1 / span 2;width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round;color:var(--ink2)}
.am-star{color:var(--acc);fill:currentColor}
.am-l{display:block}
.am-s{display:block;grid-column:2;margin-top:1px;font-size:12px;font-weight:400;color:var(--muted)}
.am-sep{height:1px;margin:4px 6px;background:var(--line)}
.am-p form{margin:0}
.am-out{color:var(--ink2);font-weight:500}
@media (max-width:520px){.am-p{right:-8px;width:min(320px,calc(100vw - 16px))}}
/* a free bar (Upgrade + Account) is 5px too wide at 375 and 6px at 360 with the full chevron */
@media (max-width:420px){.am-t{gap:2px}.am-cv{width:10px;height:10px}}
@media (max-width:374px){.am-cv{display:none}}
/* 3.433: below 360 "Account" is its menu's person icon, the word kept for screen readers; a free bar
   (Upgrade + Account) is otherwise 20px too wide at 320. With no text left, the baseline rule above
   would drop Upgrade 3px, so the menu centres instead. */
.am-tico{display:none;width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.4;stroke-linejoin:round;stroke-linecap:round}
@media (max-width:359px){
  .am-t .am-tl{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
  .am-t .am-tico{display:block}
  .am-t{min-width:40px;justify-content:center}
  .top .right>.am{align-self:center}
}

/*
 * The switch, above the figures: its own column wrapper, so on the signed-out ticker page it
 * sits above the dashed "Open with a free account" panel rather than inside that lock.
 *
 * 3.216 (operator, 2026-10-16, option B of four rendered): a recessed track with the CURRENT half
 * raised on it, the phone's segmented-control shape, because the old switch read backwards. Its
 * only colour was the accent arrow, and that sat on the LINK half, so the eye went to the page you
 * were not on; the current half was marked by a 2px bar on the box edge alone. Now the raised
 * surface says where you are, the arrows (still the direction of time, ← past, next →) take the
 * text colour, and the accent appears only on hover. No new colour: oxblood stays the report's.
 * Dark mode raises the current half on --hover, since --panel is too close to the dark track.
 */
.kcol{display:flex;flex-direction:column;gap:12px;min-width:0}
/* 3.219: `.lead` bottom-aligns its columns (`align-items:end`, the mockups' own rule), so the
 * switch's height under the top bar was the headline column's height minus this one's, and it
 * differed between the two pages it exists to join: 25px lower on /earnings/nvda/ than on
 * /t/NVDA/ at 1600. Pinned to the top, it starts on the kicker line on both. */
.lead>.kcol{align-self:start}
.vsw{display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;border:1px solid var(--line);border-radius:10px;
  background:var(--bg2);box-shadow:inset 0 1px 2px rgba(0,0,0,.07)}
:root[data-theme="dark"] .vsw{background:var(--bg)}
.vsw .h{position:relative;display:flex;flex-direction:column;gap:3px;min-width:0;border-radius:7px;text-decoration:none;color:var(--muted)}
.vsw .h.pv{padding:11px 14px 11px 38px}
.vsw .h.nx{padding:11px 38px 11px 14px;align-items:flex-end;text-align:right}
.vsw .h b{font:600 14.5px/1.2 var(--ui);color:inherit;letter-spacing:-.005em}
.vsw .h i{font:500 10px/1.25 var(--mono);font-style:normal;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.vsw .h[aria-current]{background:var(--panel);color:var(--ink);
  box-shadow:0 0 0 1px var(--line2),0 1px 2px rgba(0,0,0,.08),0 3px 10px -3px rgba(0,0,0,.18)}
:root[data-theme="dark"] .vsw .h[aria-current]{background:var(--hover);box-shadow:0 0 0 1px var(--line2),0 2px 10px -2px rgba(0,0,0,.6)}
.vsw .h[aria-current] i{color:var(--ink2)}
.vsw a.h:hover{background:color-mix(in srgb,var(--panel) 45%,transparent);color:var(--ink)}
.vsw a.h:focus-visible{outline:2px solid var(--acc);outline-offset:-2px}
.vsw .dir{position:absolute;top:50%;transform:translateY(-50%);font:500 16px/1 var(--mono);color:inherit;transition:transform .15s}
.vsw .pv .dir{left:14px}
.vsw .nx .dir{right:14px}
.vsw a.h:hover .dir{color:var(--acc)}
.vsw a.pv:hover .dir{transform:translate(-3px,-50%)}
.vsw a.nx:hover .dir{transform:translate(3px,-50%)}
@media (prefers-reduced-motion:reduce){.vsw .dir{transition:none}}
/* The track's 4px inset is taken back from each half's inner padding, so a phone keeps the old
   line breaks ("Mon 19 Oct · before bell" on one line at 390). */
@media (max-width:700px){
  .vsw .h.pv{padding:10px 10px 10px 27px}
  .vsw .h.nx{padding:10px 27px 10px 10px}
  .vsw .pv .dir{left:8px}
  .vsw .nx .dir{right:8px}
}
/*
 * 3.388 — the two boards as a switch (`boardsSwitch`, `mockups/offseason-entry/` option A). The
 * company pages' track, without the arrows (they mean past and next there), so each half keeps
 * the same inner padding on both sides. On /board/ it heads the tiles' column (`.bcol`), in the
 * space the headline column leaves above them, so a desktop board moves nothing when the operator
 * turns it on; the off-season page has the same lead since 3.389, so it heads that page's tiles
 * too, as its way back (it sat beside the title, in `.off-head`, before). The counts' tails
 * (`.xl`) go on a phone, where they wrapped each half to three lines.
 */
.vsw.bsw .h.pv,.vsw.bsw .h.nx{padding:11px 14px}
@media (max-width:700px){.vsw.bsw .h.pv,.vsw.bsw .h.nx{padding:10px 12px}}
@media (max-width:520px){.bsw .xl{display:none}}
.bcol{display:flex;flex-direction:column;justify-content:space-between;gap:18px;align-self:stretch;min-width:0}
.bcol>.bsw{width:100%;max-width:420px;margin-left:auto}
@media (max-width:900px){.bcol>.bsw{max-width:none;margin-left:0}}

/*
 * `/watchlist/`'s add box (3.191) is the top bar's search list over the same index (`search.js`),
 * dropped from a box at the right of the window, so it opens right-aligned; the empty page's box is
 * centred, and so is its list. Here and not in `app.css`: these override `.srch-pop` above, which is
 * unlayered, and a rule in `app.css`'s `@layer components` would lose to it whatever its specificity.
 */
.wl-add .srch-pop{left:auto;right:0;z-index:30;text-align:left}
.wl-add.big .srch-pop{right:auto;left:50%;transform:translateX(-50%)}
.wl-add .sr .go{font-size:10.5px}
.sr .wl-on{color:var(--acc);font-weight:600}
/* Focus is the box's, as the top bar's search draws it, not a second ring on the field inside it. */
.wl-add input:focus,.wl-add input:focus-visible{outline:none}
.wl-add label:focus-within{border-color:var(--acc);background:var(--panel);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 16%,transparent)}

/*
 * 3.215 — the history tables on /earnings/<sym>/ and /t/<SYM>/ (#hist, and /t/'s #hist2), one
 * shape on both pages. The cells were centred, and an empty spacer stood in for the group label
 * above a lone name; on a phone the label wraps ("Report's / part") and the spacer stays one
 * line, so "Priced" sat a line below "Report", "Rank" and "C2C". Now the group label sits at the
 * top-left of its cell, every column name on the bottom line, with room between the two
 * (operator's reference: /t/'s "Priced / Quoted"). Type is each page's quiet pass: the label
 * 12px 600 ink, the name the base 11px muted.
 */
#hist thead th,#hist2 thead th{vertical-align:bottom;height:auto;padding-top:5px;padding-bottom:5px;line-height:1.15}
/* the spacer goes: both pages' rules for it carry a :not(), so this needs the weight */
#hist thead th::before,#hist2 thead th::before{display:none!important}
#hist th .grp,#hist2 th .grp{white-space:nowrap;margin-bottom:7px}
/* The forecast column: every number ends on one edge, "rec" or not. A cell without it reserves
   the width "rec" takes, so the column is no wider than it was. */
#hist sup.u{display:inline-block;width:14px;margin-left:2px;text-align:left;font:500 8.5px var(--mono);
  letter-spacing:.04em;color:var(--muted);vertical-align:4px}
#hist .pr:not(:has(sup.u))::after{content:"";display:inline-block;width:16px}
@media (max-width:700px){
  /* "Report's part" is "Report's" on a phone: one line in a ~60px column */
  #hist th .grp .gx{display:none}
  /* The Chart lens: the strip takes whatever the other columns leave, up to its 190px. It was
     100vw minus a guessed width for them, and /earnings/'s Report column (date and chip on one
     line, 130px) is wider than the guess, so the table ran 23px past its box at 375. */
  #hist .evc{width:100%}
  #hist .ev{width:100%;max-width:190px}
}
/* below 360px "By 10:00" is "10:00": it sits under "Realized" */
@media (max-width:359px){#hist th .bx{display:none}}

/*
 * NO PAPER MAT (operator, 2026-10-25). The mockup sets every window on a `.paper` mat: 12px of
 * grid-paper padding with rounded corners. Removed on every page. The element stays, because it
 * carries the window's spacing (`margin-bottom:22px`, `/`'s `margin:22px 0`) and its anchor ids
 * (`#split`, `#fl-rank`). `!important` because the fills it clears include `/`'s band tints and
 * the dark `.atmos` re-tint, whose selectors outweigh any plain `.paper`. (d)
 */
.paper{padding:0!important;border-radius:0!important;background:none!important;backdrop-filter:none!important}

/*
 * HOVER (2026-10-28). The mockup's buttons hovered by dropping to `opacity:.88`. On an ink button
 * that is a faint grey, and on an outlined one (`.btn.ghost`, the theme switch: panel on panel) it
 * changes nothing anyone can see. Buttons now hover the way the bar's "Create free account" pill
 * does (3.320): a filled button warms its ink toward the accent and lifts, an outlined one takes
 * the hover ground and a firmer border. `app.css` gives its own buttons (`/account/`, `/pricing/`,
 * `/login/`, `/watchlist/`) the same two states. A button in a form that is sending
 * (`submit-once.js` sets `aria-disabled`) keeps its resting look. (d)
 */
.btn:not([aria-disabled="true"]):hover{opacity:1;background:color-mix(in srgb,var(--ink) 86%,var(--acc));
  border-color:color-mix(in srgb,var(--ink) 86%,var(--acc));box-shadow:0 6px 16px -8px rgba(0,0,0,.45)}
.btn.ghost:not([aria-disabled="true"]):hover{background:var(--hover);color:var(--ink);
  border-color:color-mix(in srgb,var(--ink) 45%,var(--line2));box-shadow:none}
.more-btn:hover{color:var(--ink);border-color:color-mix(in srgb,var(--ink) 45%,var(--line2))}
@media (prefers-reduced-motion:no-preference){.btn,.more-btn{transition:background-color .12s,border-color .12s,box-shadow .12s,transform .2s}}
/* Links that had no hover at all: the glossary's "What the columns mean", a methodology key's
   note, the board's off-season notice, and a ticker window's CSV chip, which hovers as the
   board's own CSV button does. */
.foot .gl .glsee a:hover,.mk-note a:hover,.board-notice a:hover{color:var(--acc);text-decoration-color:var(--acc)}
.titlebar .act:has(>a:hover){color:var(--ink);border-color:var(--muted)}
/*
 * /earnings/<sym>/ — what the mockup set from script, as rules (3.82).
 *
 * The mockup positions the "Twelve" chart's gutter labels with `el.style.top` and writes each
 * grid's column count into its stylesheet (`repeat(17,…)` for NVDA, `repeat(14,…)` for LAZR). A
 * server-rendered page can do neither without a `style` attribute, which `style-src 'self'`
 * drops silently, so both become classes: the four gutter offsets are fixed (they are the
 * chart's own y() at 0/−20/−40/−60), and the column count is a class per N up to 80 reports,
 * each rule identical to the mockup's but for its N. Generated; see the comment in
 * scripts/port_mockup_css.py. (b)
 */
.c2w2 .c2w-gut span:nth-child(1){top:14.0px}
.c2w2 .c2w-gut span:nth-child(2){top:52.7px}
.c2w2 .c2w-gut span:nth-child(3){top:91.3px}
.c2w2 .c2w-gut span:nth-child(4){top:130.0px}
.c2w2 .c2w-dates.c2wn-1{grid-template-columns:repeat(1,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-2{grid-template-columns:repeat(2,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-3{grid-template-columns:repeat(3,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-4{grid-template-columns:repeat(4,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-5{grid-template-columns:repeat(5,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-6{grid-template-columns:repeat(6,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-7{grid-template-columns:repeat(7,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-8{grid-template-columns:repeat(8,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-9{grid-template-columns:repeat(9,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-10{grid-template-columns:repeat(10,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-11{grid-template-columns:repeat(11,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-12{grid-template-columns:repeat(12,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-13{grid-template-columns:repeat(13,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-14{grid-template-columns:repeat(14,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-15{grid-template-columns:repeat(15,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-16{grid-template-columns:repeat(16,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-17{grid-template-columns:repeat(17,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-18{grid-template-columns:repeat(18,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-19{grid-template-columns:repeat(19,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-20{grid-template-columns:repeat(20,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-21{grid-template-columns:repeat(21,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-22{grid-template-columns:repeat(22,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-23{grid-template-columns:repeat(23,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-24{grid-template-columns:repeat(24,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-25{grid-template-columns:repeat(25,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-26{grid-template-columns:repeat(26,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-27{grid-template-columns:repeat(27,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-28{grid-template-columns:repeat(28,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-29{grid-template-columns:repeat(29,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-30{grid-template-columns:repeat(30,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-31{grid-template-columns:repeat(31,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-32{grid-template-columns:repeat(32,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-33{grid-template-columns:repeat(33,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-34{grid-template-columns:repeat(34,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-35{grid-template-columns:repeat(35,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-36{grid-template-columns:repeat(36,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-37{grid-template-columns:repeat(37,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-38{grid-template-columns:repeat(38,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-39{grid-template-columns:repeat(39,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-40{grid-template-columns:repeat(40,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-41{grid-template-columns:repeat(41,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-42{grid-template-columns:repeat(42,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-43{grid-template-columns:repeat(43,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-44{grid-template-columns:repeat(44,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-45{grid-template-columns:repeat(45,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-46{grid-template-columns:repeat(46,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-47{grid-template-columns:repeat(47,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-48{grid-template-columns:repeat(48,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-49{grid-template-columns:repeat(49,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-50{grid-template-columns:repeat(50,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-51{grid-template-columns:repeat(51,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-52{grid-template-columns:repeat(52,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-53{grid-template-columns:repeat(53,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-54{grid-template-columns:repeat(54,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-55{grid-template-columns:repeat(55,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-56{grid-template-columns:repeat(56,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-57{grid-template-columns:repeat(57,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-58{grid-template-columns:repeat(58,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-59{grid-template-columns:repeat(59,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-60{grid-template-columns:repeat(60,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-61{grid-template-columns:repeat(61,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-62{grid-template-columns:repeat(62,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-63{grid-template-columns:repeat(63,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-64{grid-template-columns:repeat(64,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-65{grid-template-columns:repeat(65,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-66{grid-template-columns:repeat(66,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-67{grid-template-columns:repeat(67,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-68{grid-template-columns:repeat(68,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-69{grid-template-columns:repeat(69,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-70{grid-template-columns:repeat(70,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-71{grid-template-columns:repeat(71,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-72{grid-template-columns:repeat(72,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-73{grid-template-columns:repeat(73,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-74{grid-template-columns:repeat(74,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-75{grid-template-columns:repeat(75,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-76{grid-template-columns:repeat(76,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-77{grid-template-columns:repeat(77,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-78{grid-template-columns:repeat(78,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-79{grid-template-columns:repeat(79,minmax(0,1fr))} .c2w2 .c2w-dates.c2wn-80{grid-template-columns:repeat(80,minmax(0,1fr))}
.dq1 .dq-grid.dqn-1{grid-template-columns:168px repeat(1,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-2{grid-template-columns:168px repeat(2,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-3{grid-template-columns:168px repeat(3,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-4{grid-template-columns:168px repeat(4,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-5{grid-template-columns:168px repeat(5,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-6{grid-template-columns:168px repeat(6,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-7{grid-template-columns:168px repeat(7,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-8{grid-template-columns:168px repeat(8,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-9{grid-template-columns:168px repeat(9,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-10{grid-template-columns:168px repeat(10,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-11{grid-template-columns:168px repeat(11,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-12{grid-template-columns:168px repeat(12,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-13{grid-template-columns:168px repeat(13,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-14{grid-template-columns:168px repeat(14,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-15{grid-template-columns:168px repeat(15,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-16{grid-template-columns:168px repeat(16,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-17{grid-template-columns:168px repeat(17,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-18{grid-template-columns:168px repeat(18,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-19{grid-template-columns:168px repeat(19,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-20{grid-template-columns:168px repeat(20,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-21{grid-template-columns:168px repeat(21,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-22{grid-template-columns:168px repeat(22,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-23{grid-template-columns:168px repeat(23,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-24{grid-template-columns:168px repeat(24,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-25{grid-template-columns:168px repeat(25,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-26{grid-template-columns:168px repeat(26,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-27{grid-template-columns:168px repeat(27,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-28{grid-template-columns:168px repeat(28,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-29{grid-template-columns:168px repeat(29,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-30{grid-template-columns:168px repeat(30,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-31{grid-template-columns:168px repeat(31,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-32{grid-template-columns:168px repeat(32,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-33{grid-template-columns:168px repeat(33,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-34{grid-template-columns:168px repeat(34,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-35{grid-template-columns:168px repeat(35,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-36{grid-template-columns:168px repeat(36,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-37{grid-template-columns:168px repeat(37,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-38{grid-template-columns:168px repeat(38,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-39{grid-template-columns:168px repeat(39,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-40{grid-template-columns:168px repeat(40,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-41{grid-template-columns:168px repeat(41,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-42{grid-template-columns:168px repeat(42,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-43{grid-template-columns:168px repeat(43,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-44{grid-template-columns:168px repeat(44,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-45{grid-template-columns:168px repeat(45,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-46{grid-template-columns:168px repeat(46,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-47{grid-template-columns:168px repeat(47,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-48{grid-template-columns:168px repeat(48,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-49{grid-template-columns:168px repeat(49,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-50{grid-template-columns:168px repeat(50,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-51{grid-template-columns:168px repeat(51,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-52{grid-template-columns:168px repeat(52,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-53{grid-template-columns:168px repeat(53,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-54{grid-template-columns:168px repeat(54,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-55{grid-template-columns:168px repeat(55,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-56{grid-template-columns:168px repeat(56,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-57{grid-template-columns:168px repeat(57,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-58{grid-template-columns:168px repeat(58,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-59{grid-template-columns:168px repeat(59,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-60{grid-template-columns:168px repeat(60,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-61{grid-template-columns:168px repeat(61,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-62{grid-template-columns:168px repeat(62,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-63{grid-template-columns:168px repeat(63,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-64{grid-template-columns:168px repeat(64,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-65{grid-template-columns:168px repeat(65,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-66{grid-template-columns:168px repeat(66,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-67{grid-template-columns:168px repeat(67,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-68{grid-template-columns:168px repeat(68,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-69{grid-template-columns:168px repeat(69,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-70{grid-template-columns:168px repeat(70,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-71{grid-template-columns:168px repeat(71,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-72{grid-template-columns:168px repeat(72,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-73{grid-template-columns:168px repeat(73,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-74{grid-template-columns:168px repeat(74,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-75{grid-template-columns:168px repeat(75,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-76{grid-template-columns:168px repeat(76,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-77{grid-template-columns:168px repeat(77,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-78{grid-template-columns:168px repeat(78,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-79{grid-template-columns:168px repeat(79,minmax(0,1fr)) 74px} .dq1 .dq-grid.dqn-80{grid-template-columns:168px repeat(80,minmax(0,1fr)) 74px}
@media (max-width:900px){.dq1 .dq-grid.dqn-1{grid-template-columns:132px repeat(1,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-2{grid-template-columns:132px repeat(2,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-3{grid-template-columns:132px repeat(3,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-4{grid-template-columns:132px repeat(4,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-5{grid-template-columns:132px repeat(5,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-6{grid-template-columns:132px repeat(6,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-7{grid-template-columns:132px repeat(7,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-8{grid-template-columns:132px repeat(8,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-9{grid-template-columns:132px repeat(9,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-10{grid-template-columns:132px repeat(10,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-11{grid-template-columns:132px repeat(11,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-12{grid-template-columns:132px repeat(12,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-13{grid-template-columns:132px repeat(13,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-14{grid-template-columns:132px repeat(14,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-15{grid-template-columns:132px repeat(15,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-16{grid-template-columns:132px repeat(16,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-17{grid-template-columns:132px repeat(17,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-18{grid-template-columns:132px repeat(18,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-19{grid-template-columns:132px repeat(19,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-20{grid-template-columns:132px repeat(20,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-21{grid-template-columns:132px repeat(21,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-22{grid-template-columns:132px repeat(22,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-23{grid-template-columns:132px repeat(23,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-24{grid-template-columns:132px repeat(24,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-25{grid-template-columns:132px repeat(25,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-26{grid-template-columns:132px repeat(26,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-27{grid-template-columns:132px repeat(27,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-28{grid-template-columns:132px repeat(28,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-29{grid-template-columns:132px repeat(29,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-30{grid-template-columns:132px repeat(30,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-31{grid-template-columns:132px repeat(31,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-32{grid-template-columns:132px repeat(32,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-33{grid-template-columns:132px repeat(33,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-34{grid-template-columns:132px repeat(34,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-35{grid-template-columns:132px repeat(35,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-36{grid-template-columns:132px repeat(36,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-37{grid-template-columns:132px repeat(37,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-38{grid-template-columns:132px repeat(38,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-39{grid-template-columns:132px repeat(39,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-40{grid-template-columns:132px repeat(40,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-41{grid-template-columns:132px repeat(41,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-42{grid-template-columns:132px repeat(42,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-43{grid-template-columns:132px repeat(43,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-44{grid-template-columns:132px repeat(44,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-45{grid-template-columns:132px repeat(45,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-46{grid-template-columns:132px repeat(46,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-47{grid-template-columns:132px repeat(47,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-48{grid-template-columns:132px repeat(48,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-49{grid-template-columns:132px repeat(49,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-50{grid-template-columns:132px repeat(50,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-51{grid-template-columns:132px repeat(51,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-52{grid-template-columns:132px repeat(52,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-53{grid-template-columns:132px repeat(53,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-54{grid-template-columns:132px repeat(54,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-55{grid-template-columns:132px repeat(55,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-56{grid-template-columns:132px repeat(56,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-57{grid-template-columns:132px repeat(57,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-58{grid-template-columns:132px repeat(58,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-59{grid-template-columns:132px repeat(59,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-60{grid-template-columns:132px repeat(60,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-61{grid-template-columns:132px repeat(61,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-62{grid-template-columns:132px repeat(62,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-63{grid-template-columns:132px repeat(63,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-64{grid-template-columns:132px repeat(64,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-65{grid-template-columns:132px repeat(65,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-66{grid-template-columns:132px repeat(66,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-67{grid-template-columns:132px repeat(67,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-68{grid-template-columns:132px repeat(68,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-69{grid-template-columns:132px repeat(69,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-70{grid-template-columns:132px repeat(70,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-71{grid-template-columns:132px repeat(71,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-72{grid-template-columns:132px repeat(72,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-73{grid-template-columns:132px repeat(73,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-74{grid-template-columns:132px repeat(74,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-75{grid-template-columns:132px repeat(75,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-76{grid-template-columns:132px repeat(76,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-77{grid-template-columns:132px repeat(77,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-78{grid-template-columns:132px repeat(78,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-79{grid-template-columns:132px repeat(79,minmax(0,1fr)) 62px} .dq1 .dq-grid.dqn-80{grid-template-columns:132px repeat(80,minmax(0,1fr)) 62px}}
@media (max-width:700px){.dq1 .dq-grid.dqn-1{grid-template-columns:repeat(1,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-2{grid-template-columns:repeat(2,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-3{grid-template-columns:repeat(3,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-4{grid-template-columns:repeat(4,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-5{grid-template-columns:repeat(5,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-6{grid-template-columns:repeat(6,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-7{grid-template-columns:repeat(7,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-8{grid-template-columns:repeat(8,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-9{grid-template-columns:repeat(9,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-10{grid-template-columns:repeat(10,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-11{grid-template-columns:repeat(11,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-12{grid-template-columns:repeat(12,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-13{grid-template-columns:repeat(13,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-14{grid-template-columns:repeat(14,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-15{grid-template-columns:repeat(15,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-16{grid-template-columns:repeat(16,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-17{grid-template-columns:repeat(17,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-18{grid-template-columns:repeat(18,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-19{grid-template-columns:repeat(19,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-20{grid-template-columns:repeat(20,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-21{grid-template-columns:repeat(21,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-22{grid-template-columns:repeat(22,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-23{grid-template-columns:repeat(23,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-24{grid-template-columns:repeat(24,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-25{grid-template-columns:repeat(25,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-26{grid-template-columns:repeat(26,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-27{grid-template-columns:repeat(27,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-28{grid-template-columns:repeat(28,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-29{grid-template-columns:repeat(29,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-30{grid-template-columns:repeat(30,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-31{grid-template-columns:repeat(31,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-32{grid-template-columns:repeat(32,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-33{grid-template-columns:repeat(33,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-34{grid-template-columns:repeat(34,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-35{grid-template-columns:repeat(35,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-36{grid-template-columns:repeat(36,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-37{grid-template-columns:repeat(37,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-38{grid-template-columns:repeat(38,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-39{grid-template-columns:repeat(39,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-40{grid-template-columns:repeat(40,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-41{grid-template-columns:repeat(41,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-42{grid-template-columns:repeat(42,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-43{grid-template-columns:repeat(43,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-44{grid-template-columns:repeat(44,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-45{grid-template-columns:repeat(45,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-46{grid-template-columns:repeat(46,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-47{grid-template-columns:repeat(47,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-48{grid-template-columns:repeat(48,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-49{grid-template-columns:repeat(49,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-50{grid-template-columns:repeat(50,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-51{grid-template-columns:repeat(51,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-52{grid-template-columns:repeat(52,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-53{grid-template-columns:repeat(53,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-54{grid-template-columns:repeat(54,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-55{grid-template-columns:repeat(55,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-56{grid-template-columns:repeat(56,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-57{grid-template-columns:repeat(57,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-58{grid-template-columns:repeat(58,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-59{grid-template-columns:repeat(59,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-60{grid-template-columns:repeat(60,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-61{grid-template-columns:repeat(61,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-62{grid-template-columns:repeat(62,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-63{grid-template-columns:repeat(63,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-64{grid-template-columns:repeat(64,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-65{grid-template-columns:repeat(65,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-66{grid-template-columns:repeat(66,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-67{grid-template-columns:repeat(67,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-68{grid-template-columns:repeat(68,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-69{grid-template-columns:repeat(69,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-70{grid-template-columns:repeat(70,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-71{grid-template-columns:repeat(71,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-72{grid-template-columns:repeat(72,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-73{grid-template-columns:repeat(73,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-74{grid-template-columns:repeat(74,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-75{grid-template-columns:repeat(75,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-76{grid-template-columns:repeat(76,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-77{grid-template-columns:repeat(77,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-78{grid-template-columns:repeat(78,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-79{grid-template-columns:repeat(79,minmax(0,1fr)) 54px} .dq1 .dq-grid.dqn-80{grid-template-columns:repeat(80,minmax(0,1fr)) 54px}}

/*
 * 3.119 — the page reviewed top to bottom against a capture of production (mockups/earnings-cag/,
 * option C). Each block below is one change, in page order; port/DIFFERENCES.md has the rows.
 */

/* Stat cards: values on one baseline across a row; "%" beside its number; an empty value muted. */
.kpi .v small{margin-left:3px}
.kpi .v.is-empty{color:var(--muted);font-weight:500}
@media (max-width:700px){.kpi .l{letter-spacing:.08em}}

/* History, report cell: the session and its markers share one line-box. "pending" is a quiet
   word with a ring rather than a second pill, so the column reads as one chip per cell. */
#hist td .meta{display:inline-flex;align-items:center;gap:7px;margin-left:8px;vertical-align:1px;white-space:nowrap}
#hist td .meta .s,#hist td .meta .src{margin-left:0}
/* 3.215: "pending" is the "trade" chip, dashed capitals, so a report's markers read alike */
#hist td .meta .pend{display:inline-block;margin:0;padding:1px 5px;border:1px dashed var(--line2);border-radius:4px;
  font:500 9.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
@media (max-width:700px){
  #hist td .meta{display:flex;width:max-content;gap:6px;margin:3px 0 0}
  #hist td .meta .s,#hist td .meta .src{display:inline-block;margin:0}
}
/* below 360px the chip tightens rather than wraps (a wrapped pair is the stagger it replaces) */
@media (max-width:360px){
  #hist td .meta{gap:4px}
  #hist td .meta .s{padding:2px 4px}
}
/* "rec"'s twin in the note ("rec" itself is shared.add.css's, 3.215) */
.win>.note .recm{font:500 10px var(--mono);font-style:normal;letter-spacing:.04em;color:var(--muted);
  padding:0 4px;border:1px solid var(--line2);border-radius:3px}

/* Methods links: `.how a` draws its underline as a border, and on a phone the link is a 44px tap
   target, so the border landed 14px under the words. An underline follows the text. */
.how .u-note a{border-bottom:0;text-decoration:underline;text-decoration-color:var(--line2);
  text-decoration-thickness:1px;text-underline-offset:4px}
.how .u-note a:hover{text-decoration-color:currentColor}

/* Crush chart key: one grid, label / number / caption in fixed tracks (it was a wrapping run, so
   on a phone the three numbers landed at three x positions and "18 points" broke in two). The
   medians carry the dashed glyph the chart draws them with. */
.c2w2 .c2w-key{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;align-items:stretch;
  margin:4px 0 18px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.c2w2 .c2w-key .c2w-k{display:grid;grid-template-columns:16px minmax(0,1fr);grid-template-areas:"sw lb" ". num" ". cap";
  align-items:center;gap:0 9px;padding:12px 16px 13px;font-size:12.5px;color:var(--ink2)}
.c2w2 .c2w-key .c2w-k+.c2w-k{border-left:1px solid var(--line)}
.c2w2 .c2w-key .c2w-k i{grid-area:sw;width:14px;height:10px;border-radius:2px}
.c2w2 .c2w-key .c2w-kf i{background:linear-gradient(var(--ordinary) 0 50%,
  color-mix(in srgb,var(--report) 50%,transparent) 50% calc(100% - 2px),var(--report) calc(100% - 2px))}
.c2w2 .c2w-key .c2w-kg i{background:linear-gradient(color-mix(in srgb,var(--report) 50%,transparent)
  0 calc(100% - 2px),var(--report) calc(100% - 2px));opacity:1}
.c2w2 .c2w-key .lb{grid-area:lb;line-height:1.3}
.c2w2 .c2w-key b{grid-area:num;margin-top:6px;font:600 22px/1 var(--mono);letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.c2w2 .c2w-key b small{margin-left:2px;font:500 12px var(--mono);letter-spacing:0;color:var(--muted)}
.c2w2 .c2w-key em{grid-area:cap;display:flex;align-items:center;gap:6px;margin-top:6px;font:500 10px var(--mono);
  font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.c2w2 .c2w-key em span{color:var(--ink2)}
.c2w2 .c2w-key .mk{display:inline-block;width:16px;height:0;border-top:1.5px dashed;flex:none;opacity:.8;text-decoration:none}
.c2w2 .c2w-key .mk.mf{border-color:var(--report)}
.c2w2 .c2w-key .mk.mt{border-color:var(--ordinary)}
@media (max-width:700px){
  .c2w2 .c2w-key{grid-template-columns:minmax(0,1fr);margin:2px 0 16px}
  .c2w2 .c2w-key .c2w-k{grid-template-columns:16px minmax(0,1fr) auto;grid-template-areas:"sw lb num" ". cap num";
    gap:0 10px;padding:11px 14px}
  .c2w2 .c2w-key .c2w-k+.c2w-k{border-left:0;border-top:1px solid var(--line)}
  .c2w2 .c2w-key b{align-self:center;margin-top:0;font-size:20px;text-align:right}
  .c2w2 .c2w-key em{margin-top:4px}
}

/* Sessions strip: each moment's median beside its own "past the price" count (the key was one
   wrapping run, six pieces on a phone), and a header row naming the value columns and carrying
   the marks' legend. Same cell pattern as the crush key. */
.ta3 .ta-key{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;align-items:stretch;
  margin:4px 0 16px;padding:0;border:1px solid var(--line);border-radius:10px;background:var(--bg)}
.ta3 .ta-key .ta-k{display:grid;grid-template-columns:16px minmax(0,1fr);grid-template-areas:"sw lb" ". num" ". cap";
  grid-template-rows:18px auto auto;align-items:center;align-content:start;gap:0 9px;padding:12px 16px 13px;
  font-size:12.5px;color:var(--ink2)}
.ta3 .ta-key .ta-k+.ta-k{border-left:1px solid var(--line)}
.ta3 .ta-key .ta-k i{grid-area:sw;justify-self:center}
.ta3 .ta-key .ta-kc i{width:3px;height:11px;border-radius:1px}
.ta3 .ta-key .ta-ki i{width:14px;height:4px;border-radius:1px;opacity:.55}
.ta3 .ta-key .lb{grid-area:lb;line-height:18px}
.ta3 .ta-key b{grid-area:num;margin-top:6px;font:600 22px/1 var(--mono);letter-spacing:-.03em;color:var(--ink);
  font-variant-numeric:tabular-nums}
.ta3 .ta-key b small{margin-left:2px;font:500 12px var(--mono);letter-spacing:0;color:var(--muted)}
.ta3 .ta-key em{grid-area:cap;margin-top:6px;font:500 10px var(--mono);font-style:normal;letter-spacing:.06em;
  text-transform:uppercase;color:var(--muted)}
.ta3 .ta-key em span{color:var(--ink2)}
.ta3 .ta-hd{display:grid;grid-template-columns:86px minmax(0,1fr) 62px 62px;column-gap:14px;align-items:end;
  padding-bottom:7px;margin-bottom:5px;border-bottom:1px solid var(--line);font:500 11px var(--ui);color:var(--muted)}
.ta3 .ta-hd .vc,.ta3 .ta-hd .vi{text-align:right}
.ta3 .ta-hd .vi{color:var(--ink2)}
.ta3 .ta-hd .lg{display:flex;justify-content:center;gap:14px;flex-wrap:wrap}
.ta3 .ta-hd .g{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.ta3 .ta-hd .g i{display:block;flex:none}
.ta3 .ta-hd .gb i{width:16px;height:6px;border-radius:1px;background:var(--line)}
.ta3 .ta-hd .gc i{width:3px;height:10px;border-radius:1px;background:var(--ink)}
.ta3 .ta-hd .gi i{width:14px;height:4px;border-radius:1px;background:var(--report);opacity:.55}
.ta3 .ta-hd .gx i{width:14px;height:4px;border-radius:1px;background:var(--report)}
@media (max-width:820px){
  .ta3 .ta-hd{grid-template-columns:72px minmax(0,1fr) 54px;column-gap:9px;row-gap:9px}
  .ta3 .ta-hd .vc{display:none}
  .ta3 .ta-hd .lg{grid-column:1/-1;order:-1;justify-content:flex-start;gap:6px 14px}
  .ta3 .ta-hd .hd{grid-column:1/3}
}
@media (max-width:700px){
  .ta3 .ta-key{grid-template-columns:minmax(0,1fr);margin:2px 0 16px}
  .ta3 .ta-key .ta-k{grid-template-columns:16px minmax(0,1fr) auto;grid-template-areas:"sw lb num" ". cap num";
    grid-template-rows:auto auto;gap:0 10px;padding:11px 14px}
  .ta3 .ta-key .ta-k+.ta-k{border-left:0;border-top:1px solid var(--line)}
  .ta3 .ta-key .lb{line-height:1.3}
  .ta3 .ta-key b{align-self:center;margin-top:0;font-size:20px;text-align:right}
  .ta3 .ta-key em{margin-top:4px}
}
/* the strip is on the name's own scale now; on a phone its ~150px track keeps three labels */
@media (max-width:560px){
  .ta3 .ta-r,.ta3 .ta-foot,.ta3 .ta-hd{grid-template-columns:64px minmax(0,1fr) 44px;column-gap:8px}
  .ta3 .ta-fax .ta-l1,.ta3 .ta-fax .ta-l3{display:none}
}

/* Term structure: the legend as chips that wrap whole, the gap band, and the phone-size copy. */
.spk .lg{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;margin:2px 0 12px;
  font:500 12px var(--ui);letter-spacing:0;color:var(--ink2)}
.spk .lg .c{display:inline-flex;align-items:center;gap:7px;white-space:nowrap}
.spk .lg .c i{display:block;width:16px;height:0;margin:0;background:none}
.spk .lg .c1 i{border-top:2px solid var(--report)}
.spk .lg .c2 i{border-top:1.6px solid var(--ink)}
.spk .lg .c3 i{height:9px;border:0;border-radius:2px;background:var(--report);opacity:.13}
.spk .lg .u{margin-left:auto;font:500 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}
.spk .spk-fig{display:block}
.spk .spk-gap{fill:var(--report);opacity:.09}
.spk .sz-narrow{display:none}
@media (max-width:560px){
  .spk{padding:12px 12px 4px}
  .spk .lg{gap:5px 14px}
  .spk .lg .u{margin-left:0;flex-basis:100%;order:-1}
  .spk .sz-wide{display:none}
  .spk .sz-narrow{display:block}
}

/* Data quality: oxblood is "the report" everywhere else on this page, so a caveat marker in it
   read as the report's share; markers go neutral ink, cells slim down so two all-marked rows stop
   reading as alarms. A phone gets the date range its hidden column dates span. */
.dq1 .dq-c{height:14px;border-radius:3px}
.dq1 .dq-c.dq-on{background:var(--ink2);opacity:.82}
.dq1 .dq-why{row-gap:22px}
/* a settle-side marker on a report that has not settled is unknown, not clear: an outline */
.dq1 .dq-c.dq-unk{background:transparent;opacity:1;box-shadow:inset 0 0 0 1px var(--line2);
  background-image:repeating-linear-gradient(135deg,transparent 0 3px,color-mix(in srgb,var(--line2) 55%,transparent) 3px 4px)}
.dq1 .dq-ax{display:none}
@media (max-width:700px){
  .dq1 .dq-ax{display:flex;grid-column:1/-2;justify-content:space-between;align-items:end;gap:6px;
    font:500 9.5px var(--mono);letter-spacing:.02em;color:var(--muted)}
  .dq1 .dq-ax span{white-space:nowrap}
  /* 3.339: the middle label steps down by weight; opacity:.75 put it at 3.39:1 on the panel (Lighthouse) */
  .dq1 .dq-ax .m{font-weight:400}
  .dq1 .dq-ct{font-size:10px}
  .dq1 .dq-ct b{font-size:11.5px}
}

/* Board teaser: the window clips with `overflow:clip`, which clips the same corners without being
   a scroll container, so the sticky column header binds to the page again (under `hidden` its
   `top:var(--mt-top)` measured from the window and dropped it 56px onto the first row). And on
   desktop the empty width goes to the richness bar instead of the Report column. */
.win:has(.mt-rowsbox){overflow:clip}
/* the settled rows' Ratio (it was a dash on every one) */
.combo .ra{font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink)}
@media (min-width:701px){
  .combo table thead th:nth-child(1){width:40px}
  .combo table thead th:nth-child(2){width:96px}
  .combo table thead th:nth-child(3){width:150px}
  .combo table thead th:nth-child(4){width:120px}
  .combo table thead th:nth-child(6){width:90px}
  .combo table thead th:nth-child(7){width:110px}
  .combo table .pc{width:min(100%,420px)}
}

/* Footnote: a glossary keyed by the page's own column names, the data-issue line as an action,
   and the disclaimer as fine print. */
.foot{max-width:880px;padding-top:6px;font-size:13px;color:var(--ink2)}
.foot .gl-h{margin:0 0 10px;font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.foot .gl{margin:0 0 18px;border-top:1px solid var(--line2)}
.foot .gl>div{display:grid;grid-template-columns:132px minmax(0,1fr);gap:4px 20px;padding:11px 0 12px;
  border-bottom:1px solid var(--line)}
.foot .gl dt{font:600 12.5px/1.5 var(--ui);color:var(--ink)}
.foot .gl dd{margin:0;max-width:72ch;line-height:1.55;color:var(--ink2)}
.foot .gl .col{display:inline-block;margin:0 1px;padding:0 5px;border:1px solid var(--line2);border-radius:4px;
  font:500 10.5px/1.5 var(--mono);letter-spacing:.02em;color:var(--ink2);background:var(--panel);vertical-align:1px;
  white-space:nowrap}
.foot .issue{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;max-width:none;margin:0 0 18px;
  padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}
.foot .issue span{flex:1 1 260px;color:var(--ink2)}
.foot .issue a{display:inline-flex;align-items:center;gap:6px;min-height:36px;padding:0 13px;border:1px solid var(--line2);
  border-radius:999px;font-weight:600;color:var(--ink);text-decoration:none;white-space:nowrap}
.foot .issue a:hover{border-color:var(--ink2)}
.foot .issue svg{width:11px;height:11px}
.foot .fine{font-size:11.5px;line-height:1.55;color:var(--muted)}
@media (max-width:560px){
  .foot .gl>div{grid-template-columns:minmax(0,1fr);gap:3px;padding:10px 0 11px}
  .foot .issue a{min-height:44px}
}

/*
 * 3.139 — the page reviewed top to bottom again (mockups/earnings-markers/, option B improved).
 * Each block below is one change, in page order.
 */

/* History: the date takes a fixed slot so the session chip lines up down the column (the widest
   date, "Dec 18 ’25", is 4.95em at 13px); on a phone the chip sits beside the date, not under it. */
@media (min-width:701px){#hist td .d{display:inline-block;min-width:5.4em;font-variant-numeric:tabular-nums}}
@media (max-width:700px){#hist td .meta{display:inline-flex;margin:0 0 0 6px;vertical-align:1px}#hist td .d{white-space:nowrap}}

/* Data quality: group headings inside the grid, by what a marker does to the number. */
.dq1 .dq-dt{font-size:9.5px}
.dq1 .dq-g{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;margin:12px 0 2px;padding:0 0 5px;
  border-bottom:1px solid var(--line);font:600 12px/1.4 var(--ui);color:var(--ink)}
.dq1 .dq-g.dq-g-w{color:var(--report)}
.dq1 .dq-g .s{font:400 11.5px/1.4 var(--ui);color:var(--muted)}
.dq1 .dq-ax+.dq-g{margin-top:4px}
@media (max-width:700px){
  .dq1 .dq-head .dq-ct{display:none}
  .dq1 .dq-g+.dq-r .dq-nm{padding-top:2px}
}

/* Data quality: the meanings, folded (/t/'s 3.127 pattern), one row per marker with its count,
   the column it lands in, and its machine key for a subscriber. */
.mk-more{margin:18px 0 0;border-top:1px solid var(--line)}
.mk-more>summary{display:flex;align-items:center;gap:12px;padding:14px 0;cursor:pointer;list-style:none}
.mk-more>summary::-webkit-details-marker{display:none}
.mk-more .l{display:flex;flex-wrap:wrap;align-items:baseline;column-gap:10px;row-gap:2px;min-width:0}
.mk-more>summary b{font:600 13.5px/1.3 var(--ui);color:var(--ink)}
.mk-more .n{font:500 11px/1.3 var(--mono);letter-spacing:.02em;color:var(--muted)}
.mk-more .tg{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px 0 12px;
  border:1px solid var(--line2);border-radius:999px;font:500 11.5px var(--ui);color:var(--ink2)}
.mk-more .tg svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;transition:transform .15s}
.mk-more .tg .c,.mk-more[open] .tg .o{display:none}
.mk-more[open] .tg .c{display:inline}
.mk-more[open] .tg svg{transform:rotate(180deg)}
.mk-more>summary:hover .tg{border-color:var(--ink2);color:var(--ink)}
.mk-more>summary:focus-visible{outline:2px solid var(--acc);outline-offset:2px;border-radius:6px}
.dq1 .mk-g+.mk-g{margin-top:18px}
.dq1 .mk-gh{margin:0;padding:0 0 9px;border-bottom:1px solid var(--line2);font:600 12.5px/1.4 var(--ui);color:var(--ink)}
.dq1 .mk-w .mk-gh{color:var(--report)}
.dq1 .mk dl{margin:0}
.dq1 .mk-r{display:grid;grid-template-columns:200px minmax(0,1fr) 210px;column-gap:28px;row-gap:6px;padding:12px 0 13px;
  border-bottom:1px solid var(--line)}
.dq1 .mk-r dt{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.dq1 .mk-r dt b{font:600 13px/1.4 var(--ui);color:var(--ink)}
.dq1 .mk-ct{font:500 11px/1.4 var(--mono);color:var(--muted)}
.dq1 .mk-ct b{font:600 12px var(--mono);color:var(--ink)}
.dq1 .mk-key{font:500 10.5px/1.4 var(--mono);color:var(--muted);background:none;padding:0}
.dq1 .mk-note{margin:0;max-width:72ch;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.dq1 .mk-in{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 6px;align-content:flex-start}
.dq1 .mk-in .k{width:100%;font:500 9.5px/1.4 var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.dq1 .mk .col{display:inline-block;padding:0 6px;border:1px solid var(--line2);border-radius:4px;
  font:500 10.5px/1.6 var(--mono);letter-spacing:.02em;color:var(--ink2);background:var(--panel);white-space:nowrap}
.dq1 .mk-off{font-size:11.5px;line-height:1.45;color:var(--muted)}
@media (max-width:900px){
  .dq1 .mk-r{grid-template-columns:170px minmax(0,1fr);column-gap:22px}
  .dq1 .mk-in{grid-column:2}
  .dq1 .mk-in .k{width:auto;margin-right:2px}
}
@media (max-width:700px){
  .mk-more .tg{height:44px;padding:0 14px 0 16px}
  .dq1 .mk-r{grid-template-columns:minmax(0,1fr);row-gap:7px;padding:13px 0 14px}
  .dq1 .mk-r dt{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px}
  .dq1 .mk-r dt .mk-ct{margin-left:auto}
  .dq1 .mk-key{flex-basis:100%}
  .dq1 .mk-in{grid-column:1}
}

/* Data quality: the closing count sits flush with the grid (the global .note padding and rule
   leaked into it). */
.dq1 .mk-foot{margin:16px 0 0;padding:0;border-top:0;max-width:72ch}

/* Board teaser: the card after the fourth locked row, the rows under it fading out. */
.cur-row td{position:relative;height:0;padding:0!important;border:0!important}
#board tr.cur-row:hover td{background:none}
.cur-in{position:absolute;left:0;right:0;top:0;z-index:2;padding:16px 16px 0;pointer-events:none;white-space:normal;text-align:center}
.cur-in *{white-space:normal}
.cur-in .cur-card{margin:0 auto;pointer-events:auto}
.cur-in .price2{font:600 17px var(--mono);letter-spacing:-.01em;color:var(--ink);white-space:nowrap}
.cur-in .price2 em{font-style:normal;font-weight:500;color:var(--muted);font-size:12px;margin:0 2px}
.cur-in .btn{height:34px;font-size:13px;white-space:nowrap}
.cur-in .save{font:500 10px var(--mono);letter-spacing:.06em;color:var(--muted)}
.cur-row.cur-flow td{height:auto;padding:16px!important}
.cur-flow .cur-in{position:static;padding:0}
#board .fd1{opacity:.55}#board .fd2{opacity:.42}#board .fd3{opacity:.32}#board .fd4{opacity:.24}
#board .fd5{opacity:.17}#board .fd6{opacity:.11}#board .fd7{opacity:.06}#board .fd8{opacity:.03}
#board tr[class*="fd"]:hover td{background:none}
.mt-rows li.cur-li{position:relative;height:0;padding:0;border:0;list-style:none}
.mt-rows li.cur-li .cur-in{padding:12px 12px 0}
.mt-rows li.cur-li.cur-flow{height:auto;padding:12px 12px 14px}
.mt-rows li.cur-li.cur-flow .cur-in{padding:0}
.mt-rows .fd1{opacity:.55}.mt-rows .fd2{opacity:.45}.mt-rows .fd3{opacity:.36}.mt-rows .fd4{opacity:.27}
.mt-rows .fd5{opacity:.18}.mt-rows .fd6{opacity:.1}.mt-rows .fd7{opacity:.04}
@media (max-width:700px){.cur-in .btn{height:44px}}

/* The way to the A-Z list (operator, 2026-10-11, mockups/earnings-link-ticker/ options A, B, C).
   A: "Companies /" opens the kicker. */
.kicker .crumb{color:var(--acc);text-decoration:underline;text-decoration-color:color-mix(in oklab,var(--acc) 35%,transparent);
  text-underline-offset:3px;text-decoration-thickness:1px}
.kicker .crumb:hover{text-decoration-color:var(--acc)}
.kicker .crumb-sep{color:var(--muted);margin:0 .6em}
/* B: the history window's "every name" sentence is the link. The arrow is an <i>, because
   `.status span` styles every span in the bar as a bordered cell. */
.win>.status .r a{color:var(--acc);text-decoration:none;white-space:nowrap}
.win>.status .r a:hover{text-decoration:underline}
.win>.status .r .arr{font-style:normal}
@media (max-width:700px){.win>.status .r a{white-space:normal;display:flex;align-items:center;min-height:44px}}
/* C: the A-Z card before "How to read this page", as wide as the windows above it (.paper's
   12px inset); on a phone, one "All N companies" row like the strip on /. */
.azc{margin:0 12px 28px;padding:14px 16px;border:1px solid var(--line2);border-radius:10px;background:var(--panel)}
.azc .h{display:flex;align-items:baseline;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;margin:0 0 10px;font-size:13.5px;color:var(--ink2)}
.azc .k{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--acc);text-decoration:none;white-space:nowrap}
.azc .k:hover{text-decoration:underline}
.azc .k .arr{margin-left:6px}
.azc .ls{display:flex;flex-wrap:wrap;gap:2px;margin:0}
.azc .ls a{display:inline-flex;align-items:center;justify-content:center;min-width:26px;height:28px;border-radius:6px;
  font:500 12px var(--mono);color:var(--ink2);text-decoration:none}
.azc .ls a:hover{background:var(--bg);color:var(--acc)}
@media (max-width:700px){
  .azc{padding:0 16px}
  .azc .h>span,.azc .ls{display:none}
  .azc .h{margin:0}
  .azc .k{display:flex;justify-content:space-between;align-items:center;width:100%;min-height:48px;font-size:12px}
  .azc .k .arr{font-size:16px}
}

/* 3.169 (mockups/crosslinks/): the paid box's CSV. Its options A ("How it is priced →") and C (the
   boxes' "Open the ticker page") went in 3.171: the switch at the top opens that page. */
/* The CSV link: never underlined (operator, 2026-10-12). Only the history title bar carries it
   since 3.216 removed the data-quality box's. */
.titlebar .act a.csv{text-decoration:none}

/*
 * 3.199 — A1+ h of mockups/earnings-split-rank/ (operator, 2026-10-14): the "split and ranked"
 * panel, the history table's Rank column and column key, and 3.198's quiet pass on this page.
 */

/* The panel: three steps, each a kicker, a heading, a figure (one height, axis labels on one
   baseline), two sentences and a methods link; on a wide screen the five rows line up across the
   three columns (subgrid), and below 900px the steps stack. */
#split{scroll-margin-top:72px}
.sr-intro{margin:0;padding:18px 22px 4px;max-width:72ch;font:400 15px/1.55 var(--ui);color:var(--ink2)}
.sr-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
.sr-steps .st{padding:16px 22px 20px;border-right:1px solid var(--line)}
.sr-steps .st:last-child{border-right:0}
.sr-steps .k{text-transform:uppercase}
.sr-steps h3{margin:6px 0 10px;font:600 16px/1.45 var(--ui);letter-spacing:-.02em;color:var(--ink)}
.sr-steps p{margin:10px 0 0;font:400 14px/1.55 var(--ui);color:var(--ink2)}
.sr-steps .u-note{font-size:12.5px}
.sr-fig{display:block;width:100%;max-width:343px;height:auto;overflow:visible}
.sr-fig text{font-family:var(--mono);font-size:10.5px;fill:var(--muted)}
.sr-fig .lab{fill:var(--ink2);font-family:var(--ui);font-size:12px}
.sr-fig .val{font-size:12px;font-weight:500;fill:var(--ink)}
.sr-fig .val.r{fill:var(--report)}
.sr-fig .val.o{fill:var(--ordinary)}
.sr-fig .bar.q{fill:var(--line2)}
.sr-fig .bar.r{fill:var(--report)}
.sr-fig .bar.o{fill:var(--ordinary)}
.sr-fig .nil{stroke:var(--line2);stroke-width:1.5;stroke-dasharray:2 3}
.sr-fig .se{stroke:var(--ink);stroke-width:1.2;fill:none}
.sr-fig .guide{stroke:var(--muted);stroke-width:1;stroke-dasharray:3 3}
.sr-fig .tk,.sr-fig .base,.sr-fig .zero{stroke:var(--line2);stroke-width:1}
.sr-fig .tkl{font-size:9.5px}
.sr-fig .zone{fill:var(--bg2)}
.sr-fig .zl{font-size:12px}
.sr-fig .rb{fill:var(--line2)}
.sr-fig .rb.cur{fill:var(--report)}
.sr-fig .cl{fill:var(--report);font-weight:500;font-size:11px}
.sr-fig .band{fill:var(--line2);opacity:.7}
.sr-fig .bl{font-size:10.5px}
.sr-fig .mk.c{fill:var(--ink)}
.sr-fig .mk.i{fill:var(--report)}
.sr-fig .ml{fill:var(--ink);font-size:11px}
@media (min-width:901px){
  .sr-steps{grid-template-rows:repeat(5,auto)}
  .sr-steps .st{display:grid;grid-template-rows:subgrid;grid-row:span 5;align-content:start}
  .sr-steps .st .u-note{align-self:end}
}
@media (max-width:900px){
  .sr-steps{grid-template-columns:minmax(0,1fr)}
  .sr-steps .st{border-right:0;border-bottom:1px solid var(--line);padding:16px 18px 18px}
  .sr-steps .st:last-child{border-bottom:0}
  .sr-intro{padding:16px 18px 2px}
}
/* The dear/cheap verdict: capitals in a chip, in ink (oxblood is the report part): solid for
   dear, an outline for cheap. Its own class, because .mk-more's Show/Hide pill is .tg. */
.rtag{font:600 10px var(--mono);letter-spacing:.06em;text-transform:uppercase;padding:1px 5px;border-radius:4px;white-space:nowrap}
.rtag.dear{background:var(--ink);color:var(--panel)}
.rtag.cheap{border:1px solid var(--muted);color:var(--muted);padding:0 4px}
.sr-steps p .rtag{font-size:11px}

/* The Rank column: the chip in a fixed slot BEFORE the number, so every number ends at the cell's
   right edge under "Rank" (operator, option B of rank-options.html). On a phone the chip goes and
   a dear or cheap number is bold. The number's slot holds "≈100" (3.254): at 3ch a 3.242 ≈ widened
   it and pushed that row's chip a character left of the others (mockups/rank-align/, option B). */
#hist td.rk{white-space:nowrap}
#hist td.rk .rkt{display:inline-block;width:44px;margin-right:6px;text-align:right}
#hist td.rk .rkn{display:inline-block;min-width:calc(4ch + 1px);text-align:right;font-variant-numeric:tabular-nums}
@media (max-width:700px){
  #hist td.rk .rtag{display:none}
  #hist td.rk .rkt{width:0;margin-right:0}
  #hist td.rk.dear{color:var(--ink);font-weight:700}
  #hist td.rk.cheap{color:var(--muted);font-weight:700}
}
/* The phone lenses: Rank is column 3, so every column after it moves one right, and a fifth lens
   (Rank) shows the report's part, its rank and the close. Each lens states its whole set, because
   the mockup's four rules above still name the old column numbers. */
@media (max-width:700px){
  .win:has(#mtl-hist-move:checked) #hist :is(th,td):is(:nth-child(1),:nth-child(2),:nth-child(4),:nth-child(5)){display:table-cell}
  .win:has(#mtl-hist-move:checked) #hist :is(th,td):is(:nth-child(3),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(10),:nth-child(11)){display:none}
  .win:has(#mtl-hist-rank:checked) #hist :is(th,td):is(:nth-child(1),:nth-child(2),:nth-child(3),:nth-child(4)){display:table-cell}
  .win:has(#mtl-hist-rank:checked) #hist :is(th,td):is(:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(10),:nth-child(11)){display:none}
  .win:has(#mtl-hist-chart:checked) #hist :is(th,td):is(:nth-child(1),:nth-child(2),:nth-child(6)){display:table-cell}
  .win:has(#mtl-hist-chart:checked) #hist :is(th,td):is(:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(7),:nth-child(8),:nth-child(9),:nth-child(10),:nth-child(11)){display:none}
  .win:has(#mtl-hist-crush:checked) #hist :is(th,td):is(:nth-child(1),:nth-child(7),:nth-child(8),:nth-child(9)){display:table-cell}
  .win:has(#mtl-hist-crush:checked) #hist :is(th,td):is(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(10),:nth-child(11)){display:none}
  .win:has(#mtl-hist-fcst:checked) #hist :is(th,td):is(:nth-child(1),:nth-child(10),:nth-child(11)){display:table-cell}
  .win:has(#mtl-hist-fcst:checked) #hist :is(th,td):is(:nth-child(2),:nth-child(3),:nth-child(4),:nth-child(5),:nth-child(6),:nth-child(7),:nth-child(8),:nth-child(9)){display:none}
}
/* Phone: the session badges line up (the date's desktop min-width was reset to 0, so each badge
   followed its own date; 5em holds "Dec 18 '25"), and a "trade" marker goes under the date, where
   it costs one row a line rather than the column its width. */
@media (max-width:700px){
  #hist td .d{display:inline-block;min-width:5em}
  #hist td .meta{display:contents}
  #hist td .meta .s{display:inline-block;margin:0 0 0 6px;vertical-align:1px}
  #hist td .meta :is(.src,.pend){display:block;width:max-content;margin:4px 0 0}
}
/* 3.215: "pending" goes under the date as "trade" does (it sat beside the chip with no gap, and
   TSM's table ran 43px past its box at 375). Below 360px the date and chip keep one line, a size
   down, with 4px cells: beside the date they made the Move lens 28px too wide at 320. On the Move
   lens "Realized" may run over the 10:00 cell, which has no label of its own. */
@media (max-width:359px){
  #hist td .d{font-size:12px;min-width:5em}
  #hist td .meta .s{margin-left:4px;font-size:9px;padding:1px 3px}
  #hist td,#hist th{padding-left:4px;padding-right:4px}
  #hist td:first-child,#hist th:first-child{padding-left:6px}
  .win:has(#mtl-hist-move:checked) #hist th:nth-child(4) .grp{width:0;overflow:visible}
}

/* "What the columns mean": the marker fold's parts, which public.css scopes to .dq1, copied for
   .ckey; the wrapper carries the window's 18px side padding. */
.ckey{padding:0 18px}
.ckey .mk-more{margin:0}
.ckey .mk dl{margin:0}
.ckey .mk-r{display:grid;grid-template-columns:200px minmax(0,1fr) 210px;column-gap:28px;row-gap:6px;padding:12px 0 13px;border-bottom:1px solid var(--line)}
.ckey .mk-r:last-child{border-bottom:0}
.ckey .mk-r dt{display:flex;flex-direction:column;align-items:flex-start;gap:3px}
.ckey .mk-r dt b{font:600 13px/1.4 var(--ui);color:var(--ink)}
.ckey .mk-note{margin:0;max-width:72ch;font-size:12.5px;line-height:1.6;color:var(--ink2)}
.ckey .mk-note b{font-weight:600;color:var(--ink)}
.ckey .mk-in{margin:0;display:flex;flex-wrap:wrap;align-items:baseline;gap:5px 6px;align-content:flex-start}
.ckey .mk-in .k{width:100%;font:500 12px/1.4 var(--ui);color:var(--muted)}
.ckey .mk .col{display:inline-block;padding:0 6px;border:1px solid var(--line2);border-radius:4px;
  font:500 10.5px/1.6 var(--mono);letter-spacing:.02em;color:var(--ink2);background:var(--panel);white-space:nowrap}
@media (max-width:900px){
  .ckey .mk-r{grid-template-columns:170px minmax(0,1fr);column-gap:22px}
  .ckey .mk-in{grid-column:2}
  .ckey .mk-in .k{width:auto;margin-right:2px}
}
@media (max-width:700px){
  .ckey .mk-r{grid-template-columns:minmax(0,1fr);row-gap:7px;padding:13px 0 14px}
  .ckey .mk-r dt{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:10px}
  .ckey .mk-in{grid-column:1}
}
#columns{scroll-margin-top:90px}
.foot .gl .glsee a{color:var(--ink);text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--acc) 55%,transparent);text-underline-offset:3px}

/* Two reading notes side by side over a chart (the 10:00 chart, the term structure, the data-quality
   grid), in the intro's type and colour; stacked below 820px, where the charts drop to their narrow
   grids. */
.lead2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 36px;align-items:start;margin:0 0 14px}
.lead2 .intro{margin:0;max-width:62ch}
@media (max-width:820px){.lead2{grid-template-columns:minmax(0,1fr)}.lead2 .intro+.intro{margin-top:10px}}
.ts-lead{padding-bottom:0}
.ts-lead .lead2{margin:0}
/* "Withheld" in ink, in the grid and over the marker list: oxblood is the report part. */
.dq1 .dq-g.dq-g-w,.dq1 .mk-w .mk-gh{color:var(--ink)}

/* Phone: the panel's and the history table's status bars as a two-column list (labels in one
   column, values aligned in the next) and the link as its own row, exactly the 44px tap box, so
   its text sits midway between the rule and the card's edge. They wrapped as a run. */
@media (max-width:700px){
  :is(#split .win,.win:has(#hist))>.status{display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:16px;row-gap:6px;padding:12px 18px 0;align-items:baseline}
  :is(#split .win,.win:has(#hist))>.status>span:not(.r){display:contents}
  :is(#split .win,.win:has(#hist))>.status>span:not(.r) b{margin-left:0;color:var(--ink)}
  :is(#split .win,.win:has(#hist))>.status .r{grid-column:1/-1;margin:6px -18px 0;padding:0 18px;border-top:1px solid var(--line);display:block;height:auto;min-height:0}
  :is(#split .win,.win:has(#hist))>.status .r a{display:flex;align-items:center;min-height:44px;margin:0;padding:0}
}

/*
 * 3.199 — THE QUIET PASS on this page: landing.add.css's 3.198 block, rule for rule, mapped onto
 * this page's classes. Same layout, same elements, same figures; one typeface for everything you
 * read, and one job per colour.
 */
:root:not([data-theme="dark"]){--shadow:0 1px 2px rgba(0,0,0,.035),0 8px 22px -14px rgba(0,0,0,.16);--grid:rgba(29,26,24,.035)}
/* One logo is enough. visibility, not display: this page's bar is a 1fr auto 1fr grid and the
   mark holds the first track, so removing it pulled every window title left. */
.titlebar .mark{visibility:hidden}
main{--mono:var(--ui)}
.kpi .l,.ladder th,th .grp,.c2w2 .c2w-k em,.c2w2 .c2w-key em,.ta3 .ta-k em,.ta3 .ta-key em,.mt-lens .k,
.dq1 .dq-head .dq-ct,.dq1 .mk-in .k,.foot .gl-h,.grf .k,.lad2 .lv-fig .lv-sm,.mt-div,.mt-g h4,tr.med td:first-child,
.titlebar .t,.status,.vsw .h i,.spk .lg .u,.sr-fig .zl{
  text-transform:none!important;letter-spacing:0!important;font-size:12px!important}
.titlebar .t::first-letter,.kpi .l::first-letter,tr.med td:first-child::first-letter,.mt-div::first-letter{text-transform:uppercase}
.titlebar .t{font-weight:500;color:var(--ink2)}
/* 3.215: the history table's column names keep the base 11px muted, as on /t/; only the group
   label above them is strong, so the head reads the same on both pages. */
th .grp{font-weight:600!important;color:var(--ink2)!important}
.kicker,.how .k,.sr-steps .k{font:600 12px var(--ui)!important;letter-spacing:.08em!important;color:var(--muted)!important}
.kicker.k1 .knm,.kicker.k1>span:not(.ksp):not(.kdt):not(.kx-sep){color:var(--ink2)}
td .meta .s,td .src,.pill,.pend{font-weight:600;letter-spacing:.06em}
/* 3.216: LONGHANDS, not `text-decoration:underline 1px <colour>`. iOS Safari rejects a shorthand
   that carries a thickness, drops the whole declaration, and the base rule's text-decoration:none
   wins, so on a phone these links rendered as plain ink (operator, 2026-10-16). */
.kicker.k1 .kc,.lede a,.how a,.how .u-note a,.u-acc,.win>.status .r a,.azc .k,.sr-steps .u-note a,.note a{
  color:var(--ink)!important;border-bottom:0!important;
  text-decoration-line:underline;text-decoration-thickness:1px;text-decoration-color:color-mix(in srgb,var(--acc) 55%,transparent);text-underline-offset:3px}
.kicker.k1 .kc:hover,.lede a:hover,.how a:hover,.u-acc:hover,.win>.status .r a:hover,.azc .k:hover,.sr-steps .u-note a:hover,.note a:hover{
  color:var(--acc)!important;text-decoration-color:var(--acc)}
#hist td,.kpi .v,.ta3 .ta-vc,.ta3 .ta-vi,.ta3 .ta-key b,.c2w2 .c2w-k b,.pc .v,.how .ex,.status b,.sr-fig text{font-variant-numeric:tabular-nums}
/* 3.230 (operator, 2026-10-18): a settled row on the board window opens that company's page, as
   `/accuracy/`'s ledger rows do (row-link.js sets `rowlink`, so the cursor appears only where a
   click works). The symbol is plain at rest and takes the accent and an underline on hover; the
   locked forward rows have no link and get neither. The table rows already tint on hover; the
   phone rows are divs, so they get the same tint here. */
.combo a.t{color:inherit;text-decoration:none}
.combo a.t:hover{color:var(--acc);text-decoration:underline;text-underline-offset:3px}
#board.rowlink tr:has(a.t){cursor:pointer}
.combo .mt-rows.rowlink .mt-row:has(a.t) .mt-rb{cursor:pointer}
.combo .mt-rows.rowlink .mt-row:has(a.t) .mt-rb:hover{background:var(--hover)}

/* 3.242 — a rank on a demoted report is shown and marked ≈ (operator option B of
   mockups/earnings-rank-demote/): the number muted with ≈ before it, the chip faded, and on the
   panel's strip the error bar drawn across the history it spans. */
#hist td.rk.rk-wide .rkn{color:var(--muted)}
#hist td.rk.rk-wide .rtag{opacity:.55}
.rk-ap{margin-right:1px;font-weight:400;color:var(--report)}
.status .rk-ap{margin-left:4px}
.sr-fig .eb{fill:var(--report);opacity:.1}
.sr-fig .ebl{fill:none;stroke:var(--report);stroke-width:1;stroke-dasharray:3 3;opacity:.8}
.sr-fig .ebt{font-size:9.5px;font-weight:500;fill:var(--report)}

/* 3.278 (operator, 2026-10-22): a dash that says why it is empty on hover shows the help cursor, so a
   reader can tell it has an explanation from a dash that has none. `.why` is set wherever a dash
   carries its reason in a title. */
.why{cursor:help}

/*
 * 3.338 — two windows from mockups/seo-related/ (SEO audit items 6 and 1, both round 2): "what the
 * last twelve reports show" under the split panel, and "companies whose reports traded alike"
 * above the board teaser. Both draw with one encoding, the history table's: grey bar = priced,
 * ring = moved inside it, oxblood dot = moved past it, slate = the fall in implied volatility.
 * port/DIFFERENCES.md has the rows.
 */
.rc-key{display:flex;flex-wrap:wrap;align-items:center;gap:6px 18px;padding:12px 22px;border-bottom:1px solid var(--line);font:400 13px var(--ui);color:var(--ink2)}
.rc-key .rc-kt{color:var(--muted);margin-right:4px}
.rc-key span{display:inline-flex;align-items:center;gap:7px}
.rc-key svg{width:11px;height:13px;overflow:visible}
.rc-pr{fill:var(--line2)}
.rc-pn{fill:color-mix(in srgb,var(--ink) 55%,var(--line2))}
.rc-di{fill:var(--panel);stroke:var(--ink);stroke-width:1.8}
.rc-dp{fill:var(--report);stroke:var(--panel);stroke-width:1.2}
.rc-mi{fill:var(--ink)}
.rc-mp{fill:var(--report)}
/* 3.344: the page's own slate, the colour the collapse window gives the same quantity (was a paler third shade). */
.rc-cr{fill:var(--ordinary);opacity:.9}
.rc-key .rc-di{stroke-width:1.6}
/* 3.344 (mockups/record-consistent/, option A): the four cells are `.sr-steps .st`, the split
   panel's own label / heading / figure / prose / link, so only what differs is written here --
   four columns instead of three, two rows of two between 901 and 1180, and the figures' type. */
.sr-steps.rc-steps{grid-template-columns:repeat(4,minmax(0,1fr))}
.sr-steps.rc-steps.rcn-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (min-width:901px) and (max-width:1180px){
  .sr-steps.rc-steps.rcn-4{grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(10,auto)}
  .sr-steps.rc-steps.rcn-4 .st:nth-child(2n){border-right:0}
  .sr-steps.rc-steps.rcn-4 .st:nth-child(-n+2){border-bottom:1px solid var(--line)}
}
@media (max-width:900px){.sr-steps.rc-steps.rcn-4,.sr-steps.rc-steps.rcn-3{grid-template-columns:minmax(0,1fr)}}
.rc-steps h3{text-wrap:balance}
.rc-steps .rc-past{color:var(--report);font-weight:600}
.rc-steps p{text-wrap:pretty}
/* Drawn 264 units wide and shown at 1:1, so its type is the size written here, the split figures'
   (a 343 redraw would not fit four columns at 1440 and would shrink its text to ~8px). */
.rc-fig{display:block;width:100%;max-width:264px;height:auto;margin:6px 0 2px;overflow:visible}
.rc-fig .rc-base{stroke:var(--line2);stroke-width:1}
.rc-fig .rc-st{stroke:var(--report);stroke-width:1.6}
.rc-fig .rc-md,.rc-fig .rc-av{stroke:var(--ink);stroke-width:1.4;stroke-dasharray:3 3}
.rc-fig .rc-avo{stroke:var(--muted)}
.rc-fig .rc-ax{font:400 9.5px var(--mono);fill:var(--muted)}
.rc-fig .rc-axn{fill:var(--ink);font-weight:500}
.rc-fig .rc-lab{font:400 12px var(--ui);fill:var(--ink2)}
.rc-fig .rc-v{font:500 12px var(--mono);fill:var(--ink)}
.rc-fig .rc-vp{fill:var(--report)}
.rc-fig .rc-halo{paint-order:stroke;stroke:var(--panel);stroke-width:4px;stroke-linejoin:round}
@media (max-width:640px){.rc-key{padding:12px 16px}}

.rl-two{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(0,1fr);gap:32px;align-items:start;padding:20px 22px}
.rl-side h3{margin:0 0 12px;font:450 19px/1.3 var(--ui);letter-spacing:-.012em;color:var(--ink);text-wrap:balance}
.rl-how{margin:-4px 0 14px;max-width:60ch;font:400 14px/1.5 var(--ui);color:var(--ink2)}
.rl-lad{list-style:none;margin:0;padding:0}
.rl-lad li{border-bottom:1px solid var(--line)}
.rl-lad li.rl-lh{border-bottom:1px solid var(--line2)}
.rl-lr,.rl-lh{display:grid;grid-template-columns:28px minmax(90px,1fr) minmax(150px,1.6fr) minmax(80px,.75fr);align-items:center;column-gap:14px;padding:9px 6px;text-decoration:none;color:inherit}
.rl-lh{padding-top:0;padding-bottom:6px;align-items:end}
.rl-ht{display:block;margin-bottom:3px;font:500 11px var(--ui);color:var(--muted)}
.rl-mv,.rl-cc{display:flex;flex-direction:column;gap:3px;min-width:0}
.rl-lm,.rl-lc{display:block;width:100%;height:24px;overflow:visible}
.rl-tk{height:14px}
.rl-tk text{font:500 10px var(--mono);fill:var(--muted)}
.rl-v{font:400 11.5px var(--mono);color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.rl-v b{font-weight:600;color:var(--ink)}
.rl-gp{stroke:var(--ink);stroke-width:1.2;stroke-dasharray:2 3;opacity:.55}
.rl-lad .rc-di{stroke-width:1.8}
.rl-lg{width:28px;height:28px;border-radius:50%;object-fit:cover;background:#fff;box-shadow:0 0 0 1px var(--line)}
.rl-mono{display:grid;place-items:center;font:600 12px var(--ui);color:var(--panel);background:var(--ordinary)}
.rl-id{display:flex;flex-direction:column;min-width:0}
.rl-id b{font:600 13.5px var(--mono);letter-spacing:.02em;color:var(--ink)}
.rl-nm{font:400 12.5px var(--ui);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-me .rl-lr{background:color-mix(in srgb,var(--ink) 5%,transparent);border-radius:6px}
.rl-me .rl-nm{color:var(--ink2);font-weight:500}
a.rl-lr:hover{background:color-mix(in srgb,var(--ordinary) 8%,transparent);border-radius:6px}
a.rl-lr:hover .rl-id b{text-decoration:underline;text-underline-offset:3px}
a.rl-lr:focus-visible{outline:2px solid var(--ink);outline-offset:-2px;border-radius:6px}
.rl-fig{margin:0}
.rl-cu{display:block;width:100%;height:auto}
.rl-cu .rl-bg{fill:color-mix(in srgb,var(--bg2) 40%,transparent)}
.rl-cu .rl-gd{stroke:var(--line);stroke-width:1}
.rl-cu .rl-ax{font:500 10px var(--mono);fill:var(--muted)}
.rl-cu .rl-eq{stroke:var(--line2);stroke-width:1.2;stroke-dasharray:4 4}
.rl-cu .rl-dt{fill:color-mix(in srgb,var(--ink) 14%,transparent)}
.rl-cu .rl-cme{fill:var(--ink);stroke:var(--panel);stroke-width:2}
.rl-cu .rl-cnb{fill:var(--panel);stroke:var(--ink);stroke-width:2}
.rl-cu .rl-nbl{font:600 11px var(--mono);fill:var(--ink2)}
.rl-cu .rl-mel{font:700 12.5px var(--mono);fill:var(--ink)}
.rl-cu .rl-mini{fill:var(--panel);stroke:var(--line2)}
.rl-cu .rl-mdt{fill:color-mix(in srgb,var(--ink) 30%,transparent)}
.rl-cu .rl-zoom{fill:none;stroke:var(--ink);stroke-width:1.2}
.rl-cu .rl-mt{font-size:9.5px}
.rl-fig figcaption{margin-top:6px;font:400 12.5px/1.5 var(--ui);color:var(--muted)}
.rl-fig figcaption b{color:var(--ink2);font-weight:600}
@media (max-width:900px){.rl-two{grid-template-columns:minmax(0,1fr)}.rl-fig{max-width:460px}}
@media (max-width:560px){.rl-two{padding:16px 14px}
  .rl-lr,.rl-lh{grid-template-columns:28px minmax(0,1fr) minmax(0,1fr);row-gap:8px;column-gap:10px;padding:10px 4px}
  .rl-lr .rl-id{grid-column:2 / 4}.rl-lr .rl-mv{grid-column:1 / 3}.rl-lr .rl-cc{grid-column:3}
  .rl-lh>span:nth-child(-n+2){display:none}.rl-lh .rl-mv{grid-column:1 / 3}.rl-lh .rl-cc{grid-column:3}
  .rl-cu .rl-ax{font-size:10.5px}}

/* 3.371 (SEO audit 2026-10-30, mockups/seo-terms/ view C): the H1 leads with "NVDA earnings: an
   expected move of …, an actual move of …", and the averages and the count it used to open with move
   to this smaller line inside it. */
.lead h1 .h1s{display:block;margin-top:10px;font-size:.42em;line-height:1.3;font-weight:500;letter-spacing:-.005em;color:var(--muted)}

/* 3.372 (SEO audit 2026-10-30, mockups/seo-cta/ option B): the next report as a band under the lead,
   headed "<SYM>'s expected move for <date>". 3.373: a visitor's only (`.tier-anon`); a signed-in reader
   keeps the "Next report" figure and the switch's link. */
.nxb{display:grid;grid-template-columns:auto minmax(0,1.2fr) auto minmax(0,1.2fr);gap:16px 28px;align-items:center;margin:0 0 22px;padding:16px 22px;
  background:var(--panel);border:1px solid var(--line);border-radius:12px}
/* 3.405 (`mockups/earnings-next/` option B): no accent stripe, no shadow; the date is the landing
   hero's calendar tile, the kicker plain muted text, and the asks an outline pill and a text link.
   The figure and the asks are placed by column, so a band without the figure keeps its shape. */
.nxb-cal{display:inline-grid;grid-template-rows:auto auto;width:44px;border:1px solid var(--line2);border-radius:8px;overflow:hidden;text-align:center;background:var(--panel)}
.nxb-cal i{font:600 9.5px/16px var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;background:var(--bg2);color:var(--muted)}
.nxb-cal b{font:600 18px/26px var(--ui);font-variant-numeric:tabular-nums}
.nxb-k{margin:0 0 4px;font-size:12.5px;line-height:1.35;color:var(--muted)}
.nxb h2{margin:0;font-size:19px;line-height:1.2;font-weight:600;letter-spacing:-.01em;text-wrap:balance}
.nxb-fig{grid-column:3;display:flex;flex-direction:column;gap:6px;padding:0 4px}
.nxb-fig .l{font:500 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.nxb-fig .v{font-size:24px;font-weight:600;line-height:1;display:flex;align-items:center;gap:4px}
.nxb-fig .v small{font-size:14px;color:var(--muted);font-weight:500}
.nxb-fig .board-lock{width:56px;height:11px;border-radius:6px}

.nxb-act{grid-column:4}
.nxb-act p{margin:0;color:var(--ink2);font-size:13.5px;line-height:1.45}
.nxb-b{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin-top:10px}
.nxb-btn{display:inline-flex;align-items:center;height:34px;padding:0 14px;border:1px solid var(--ink2);border-radius:999px;color:var(--ink);font-size:13.5px;font-weight:500;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.nxb-btn:hover{background:var(--ink);border-color:var(--ink);color:var(--panel)}
.nxb-btn:focus-visible,.nxb-link:focus-visible{outline:2px solid var(--acc);outline-offset:2px}
.nxb-link{color:var(--ink2);font-size:13.5px;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--line2)}
.nxb-link:hover{color:var(--ink);text-decoration-color:var(--ink2)}
@media (max-width:900px){.nxb{grid-template-columns:auto minmax(0,1fr) auto}.nxb-act{grid-column:1 / -1}}
@media (max-width:520px){.nxb{padding:14px 16px;gap:14px}.nxb h2{font-size:17.5px}}
@media (prefers-reduced-motion:reduce){.nxb-btn{transition:none}}
/* A visitor's band carries the date, so for a visitor the hidden "Next report" figure (child 1,
   `.tier-auth`) leaves five: set 3 + 2 on a six-track grid, and on a phone the first visible one
   widens, as the odd-count rule above does for a real odd count (it counts the hidden child, so
   it cannot see this one). A signed-in reader gets the six-figure grid unchanged. */
@media (min-width:521px){html:not([data-tier]) .kpis.k5{grid-template-columns:repeat(6,minmax(0,1fr))}
  html:not([data-tier]) .kpis.k5>.kpi{grid-column:span 2}html:not([data-tier]) .kpis.k5>.kpi:nth-child(n+5){grid-column:span 3}}
@media (max-width:520px){html:not([data-tier]) .kpis.k5>.kpi:nth-child(2){grid-column:1/-1}}

/* 3.374 (SEO audit 2026-10-30): the articles that name this company, a plain list. */
.art-l{margin:0;padding:6px 22px 14px;list-style:none}
.art-l li{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 14px;padding:10px 0;border-bottom:1px solid var(--line)}
.art-l li:last-child{border-bottom:0}
.art-l a{color:var(--ink);font-weight:600;text-decoration:none}
.art-l a:hover{color:var(--acc);text-decoration:underline}
.art-d{font:500 11.5px var(--mono);letter-spacing:.03em;color:var(--muted)}
@media (max-width:520px){.art-l{padding:4px 14px 10px}}
