/* WC2026 Value Board — "Daylight analyst" theme.
 * Light, calm research-report aesthetic. Newsreader (display) + Inter (body)
 * + IBM Plex Mono (every number, tabular). Emerald = value/confirmed,
 * amber = speculative, clay = negative. Mobile-first; desktop = centred shell.
 */
:root {
  --canvas:#f3f5f3; --surface:#ffffff; --surface-2:#fafbfa;
  --ink:#16201c; --dim:#5d6b63; --faint:#8b988f;
  --line:#e4e8e5; --line-2:#eef1ee;
  --emerald:#0f8a5f; --emerald-deep:#0a6044; --emerald-wash:#e7f3ec;
  --amber:#a9661a; --amber-wash:#f6eedb;
  --clay:#bb4631; --clay-wash:#f7e8e3;
  --blue:#2c6e8f; --blue-wash:#e6f0f3;
  --shadow:0 1px 2px rgba(20,40,30,.04), 0 1px 3px rgba(20,40,30,.06);
  --shadow-lg:0 10px 34px rgba(20,40,30,.13);
  --r:11px; --r-sm:7px; --maxw:1120px;
  --serif:"Newsreader", Georgia, "Times New Roman", serif;
  --sans:"Inter", system-ui, -apple-system, "Segoe UI", sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;
}
* { box-sizing:border-box; }
html { -webkit-text-size-adjust:100%; }
body {
  margin:0; background:var(--canvas); color:var(--ink);
  font:400 15px/1.55 var(--sans);
  letter-spacing:-0.003em; padding-bottom:3rem;
  -webkit-font-smoothing:antialiased;
}
.num, .meta, code, output, .kpi .v, .statgrid dd, td.num, th.num, .fcount, .cli,
.at, .bc-when, .gcount {
  font-family:var(--mono); font-variant-numeric:tabular-nums;
}
.wrap { max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1rem,4vw,2rem); }

/* ---------- sticky topbar ---------- */
#topbar {
  position:sticky; top:0; z-index:10;
  background:rgba(243,245,243,.86); backdrop-filter:saturate(1.4) blur(12px);
  border-bottom:1px solid var(--line);
}
#topbar > .wrap { padding-top:.7rem; }
header { display:flex; flex-wrap:nowrap; align-items:flex-start; justify-content:space-between; gap:.6rem; }
.hgroup { display:flex; flex-direction:column; min-width:0; }
.hicons { display:flex; gap:.3rem; flex-shrink:0; }
.hicon {
  width:2rem; height:2rem; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:var(--dim); cursor:pointer; font-size:.95rem; line-height:1;
}
.hicon:hover { color:var(--ink); border-color:#cfe0d6; }
.wordmark {
  margin:0; font-family:var(--serif); font-weight:600; font-size:1.45rem;
  letter-spacing:-0.02em; line-height:1; display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap;
}
.wm-sub {
  font-family:var(--mono); font-weight:400; font-size:.66rem; color:var(--faint);
  text-transform:uppercase; letter-spacing:.1em;
}
.meta { color:var(--faint); font-size:.7rem; margin:.15rem 0 0; }

.tabs { display:flex; gap:.15rem; margin-top:.7rem; }
.tabs button {
  padding:.5rem .9rem .7rem; border:none; background:none; cursor:pointer;
  color:var(--dim); font-family:var(--sans); font-size:.86rem; font-weight:500;
  border-bottom:2px solid transparent; transition:color .15s, border-color .15s;
}
.tabs button:hover { color:var(--ink); }
.tabs button.active { color:var(--emerald-deep); border-bottom-color:var(--emerald); font-weight:600; }

main { padding-top:1rem; }
.tab { display:none; }
.tab.active { display:block; animation:fade .3s ease both; }

/* ---------- generic cards / type ---------- */
.card {
  background:var(--surface); border:1px solid var(--line); border-radius:var(--r);
  padding:.85rem 1rem; margin-bottom:.7rem; box-shadow:var(--shadow);
}
.card > h3 { margin:0 0 .2rem; font-family:var(--serif); font-weight:600; font-size:1.12rem; letter-spacing:-0.01em; }
.sub { color:var(--dim); font-size:.78rem; }
.empty {
  color:var(--dim); padding:2.4rem 1rem; text-align:center; font-size:.95rem;
  background:var(--surface); border:1px dashed var(--line); border-radius:var(--r);
}
.empty code { background:var(--line-2); padding:.05rem .3rem; border-radius:4px; font-size:.82em; }

/* ---------- tags ---------- */
.tag {
  display:inline-block; padding:.12rem .45rem; border-radius:999px;
  font-family:var(--sans); font-size:.68rem; font-weight:600;
  margin-right:.3rem; margin-top:.35rem; border:1px solid transparent;
}
.tag.warn { background:var(--amber-wash); color:var(--amber); border-color:#ecd9b3; }
.tag.bad  { background:var(--clay-wash); color:var(--clay); border-color:#eecabf; }
.tag.ok   { background:var(--emerald-wash); color:var(--emerald-deep); border-color:#c4e4d3; }
.tag.info { background:var(--blue-wash); color:var(--blue); border-color:#c5dde6; }

/* ---------- board control row ---------- */
.boardctl { display:flex; flex-direction:column; gap:.5rem; margin-bottom:.85rem; }
.bctl-count { font-size:.8rem; color:var(--dim); }
.bctl-count b { color:var(--ink); font-weight:600; }
.qrow { display:flex; gap:.5rem; flex-wrap:wrap; align-items:center; }
.qgroup { display:inline-flex; border:1px solid var(--line); border-radius:999px; overflow:hidden; background:var(--surface); box-shadow:var(--shadow); }
.qchip { border:none; background:none; padding:.42rem .85rem; font:500 .78rem var(--sans); color:var(--dim); cursor:pointer; transition:background .15s, color .15s; }
.qchip:hover { color:var(--ink); }
.qchip.on { background:var(--ink); color:#fff; }

.legend-grid {
  margin-top:.6rem; display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:.6rem .9rem; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); padding:.85rem 1rem; box-shadow:var(--shadow);
}
.legend-grid dt { font-weight:600; font-size:.82rem; margin-bottom:.1rem; display:flex; align-items:center; gap:.4rem; }
.legend-grid dd { margin:0 0 .2rem; color:var(--dim); font-size:.78rem; line-height:1.45; }

/* ---------- decision feed (cards) ---------- */
.betfeed { display:flex; flex-direction:column; gap:.6rem; }
.placedwrap { margin-top:.9rem; }
.placedwrap > summary { cursor:pointer; color:var(--dim); font-size:.82rem; padding:.4rem 0; font-weight:500; list-style:none; }
.placedwrap > summary::-webkit-details-marker { display:none; }
.placedwrap > summary::before { content:"▸ "; color:var(--faint); }
.placedwrap[open] > summary::before { content:"▾ "; }
.placedwrap .betfeed { margin-top:.4rem; }

.tbadge { display:inline-flex; align-items:center; gap:.25rem; padding:.12rem .5rem; border-radius:999px; font-size:.66rem; font-weight:600; white-space:nowrap; cursor:help; flex-shrink:0; }
.tbadge.sharp { background:var(--emerald-wash); color:var(--emerald-deep); border:1px solid #c4e4d3; }
.tbadge.model { background:var(--amber-wash); color:var(--amber); border:1px solid #ecd9b3; }
.tbadge.blend { background:var(--line-2); color:var(--dim); border:1px solid var(--line); }

.betcard {
  position:relative; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); padding:.85rem .95rem .8rem; cursor:pointer;
  box-shadow:var(--shadow); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
  animation:rise .4s cubic-bezier(.2,.7,.3,1) both; animation-delay:calc(var(--i,0) * 45ms + 40ms);
  border-left:3px solid var(--emerald);
}
.betcard.weak { border-left-color:var(--amber); }
.betcard:hover { transform:translateY(-3px); box-shadow:var(--shadow-lg); border-color:#cfe0d6; }
.betcard:focus-visible { outline:2px solid var(--emerald); outline-offset:2px; }
.bc-top { display:flex; justify-content:space-between; align-items:baseline; gap:.5rem; }
.bc-match { font-family:var(--serif); font-weight:600; font-size:1.04rem; letter-spacing:-0.01em; line-height:1.2; }
.bc-pick .at { color:var(--emerald-deep); font-weight:600; }
.betcard.weak .bc-pick .at { color:var(--amber); }
.bc-when { display:block; color:var(--faint); font-size:.7rem; margin-top:.15rem; }
.bc-pick { display:flex; justify-content:space-between; align-items:baseline; gap:.6rem; margin:.45rem 0 0; font-size:1.02rem; }
.bc-pick strong { font-weight:600; }
.bc-line { display:flex; align-items:center; gap:.55rem; margin-top:.55rem; flex-wrap:wrap; }
.bc-ev { font-family:var(--mono); font-weight:600; color:var(--emerald-deep); font-size:.82rem; }
.bc-stake { margin-left:auto; font-family:var(--mono); color:var(--ink); font-size:.82rem; }
.bc-recheck { margin-top:.55rem; font-size:.7rem; color:var(--amber); }
.bc-actions { display:flex; gap:.5rem; margin-top:.7rem; }
.bc-btn { flex:1; min-height:2.4rem; border-radius:var(--r-sm); border:1px solid var(--line); background:var(--surface-2); color:var(--dim); font:500 .8rem var(--sans); cursor:pointer; transition:background .15s, border-color .15s, color .15s; }
.bc-btn:hover:not(:disabled) { border-color:#cfe0d6; color:var(--ink); }
.bc-btn:disabled { opacity:.5; cursor:default; }
.betcard.placed { opacity:.55; }
.betcard.placed .placebtn { background:var(--ink); color:#fff; border-color:var(--ink); }

.meterrow { display:flex; align-items:center; gap:.5rem; font-size:.78rem; }
.ml { width:2.7rem; color:var(--faint); font-size:.66rem; text-transform:uppercase; letter-spacing:.05em; }
.meter { display:inline-flex; gap:3px; }
.meter .seg {
  width:13px; height:7px; border-radius:2px; background:var(--line);
  transition:background .3s ease; animation:seg .4s both;
}
.meter.value .seg.on { background:var(--emerald); }
.meter.trust .seg.on { background:var(--blue); }
.meterrow .mv { font-family:var(--mono); font-weight:600; }
.meterrow .mv.pos { color:var(--emerald-deep); }

/* ---------- edge-source badge ---------- */
.edge {
  display:inline-flex; align-items:center; gap:.28rem; padding:.1rem .45rem; border-radius:999px;
  font-size:.68rem; font-weight:600; border:1px solid transparent; cursor:help; white-space:nowrap;
}
.edge.confirmed { background:var(--emerald-wash); color:var(--emerald-deep); border-color:#c4e4d3; }
.edge.modelonly { background:var(--amber-wash); color:var(--amber); border-color:#ecd9b3; }
.edge.blendonly { background:var(--line-2); color:var(--dim); border-color:var(--line); }

/* ---------- verify note ---------- */
.verify {
  font-size:.78rem; color:#6f5320; margin-top:.7rem; padding:.55rem .7rem;
  background:var(--amber-wash); border:1px solid #ecd9b3; border-radius:var(--r-sm);
}

/* ---------- tables ---------- */
table { width:100%; border-collapse:collapse; margin-top:.5rem; font-size:.84rem; }
th, td { text-align:left; padding:.4rem .5rem; border-bottom:1px solid var(--line-2); }
th {
  color:var(--faint); font-family:var(--mono); font-weight:500;
  font-size:.64rem; text-transform:uppercase; letter-spacing:.07em;
}
td.num, th.num { text-align:right; }
tr.flagged td { color:var(--emerald-deep); font-weight:600; }
.skipreason { color:var(--faint); font-size:.74rem; }

details.skipwrap { margin:.8rem 0; }
details.skipwrap > summary { cursor:pointer; color:var(--dim); font-size:.82rem; padding:.4rem 0; font-weight:500; }
.skiplist { font-size:.74rem; color:var(--dim); margin:.3rem 0 0; padding-left:1.1rem; font-family:var(--mono); line-height:1.7; }

/* ---------- refresh / errors ---------- */
button.refresh {
  margin-top:.65rem; padding:.45rem .85rem; border-radius:var(--r-sm); cursor:pointer;
  border:1px solid var(--line); background:var(--surface-2); color:var(--blue);
  font:500 .78rem var(--sans); transition:background .15s, border-color .15s;
}
button.refresh:hover:not(:disabled) { background:var(--blue-wash); border-color:#c5dde6; }
button.refresh:disabled { opacity:.5; cursor:default; }
.error { color:var(--clay); font-size:.8rem; margin-top:.45rem; font-family:var(--mono); }

/* ---------- KPIs ---------- */
.kpis { display:flex; gap:.6rem; flex-wrap:wrap; margin-bottom:.85rem; }
.kpi {
  flex:1 1 28%; background:var(--surface); border:1px solid var(--line);
  border-radius:var(--r); padding:.7rem .85rem; box-shadow:var(--shadow);
  animation:rise .4s ease both; animation-delay:calc(var(--i,0) * 60ms + 40ms);
}
.kpi .v { font-size:1.35rem; font-weight:600; letter-spacing:-0.01em; }
.kpi .l { color:var(--faint); font-size:.66rem; text-transform:uppercase; letter-spacing:.06em; margin-top:.1rem; }
#clv-chart, #clv-dist { width:100%; height:300px; }
.logcli .logbet { margin-top:.5rem; }

/* ---------- filter bar ---------- */
.fbar { max-width:var(--maxw); margin-inline:auto; padding:.5rem clamp(1rem,4vw,2rem); }
.frow { display:flex; gap:.45rem; align-items:center; flex-wrap:wrap; }
#fsearch {
  flex:1 1 13rem; min-width:0; padding:.5rem .7rem; border-radius:999px;
  border:1px solid var(--line); background:var(--surface); color:var(--ink);
  font:400 .85rem var(--sans);
}
#fsearch::placeholder { color:var(--faint); }
#fsearch:focus { outline:none; border-color:var(--emerald); box-shadow:0 0 0 3px var(--emerald-wash); }
#fsort {
  padding:.45rem .55rem; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:var(--dim); font:500 .76rem var(--sans); max-width:15rem; cursor:pointer;
}
.frow.presets { margin-top:.5rem; }
.chip {
  padding:.28rem .65rem; border-radius:999px; border:1px solid var(--line);
  background:var(--surface); color:var(--dim); cursor:pointer;
  font:500 .74rem var(--sans); transition:background .15s, color .15s, border-color .15s;
}
.chip:hover { border-color:#cfe0d6; color:var(--ink); }
.chip.on { background:var(--emerald-wash); color:var(--emerald-deep); border-color:#bfe1cf; }
.chip.preset { color:var(--ink); }
.chip.reset { color:var(--amber); }
.fmore { margin:.45rem 0 0; }
.fmore > summary { font:500 .74rem var(--sans); color:var(--dim); cursor:pointer; list-style:none; }
.fmore > summary::-webkit-details-marker { display:none; }
.fmore > summary::before { content:"⚙ "; }
.factive { color:var(--blue); font-size:.72rem; font-weight:400; }
.fgrid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));
  gap:.6rem 1.1rem; padding:.6rem 0 .3rem;
}
.fgroup > label {
  display:block; color:var(--faint); font-family:var(--mono); font-size:.62rem;
  text-transform:uppercase; letter-spacing:.07em; margin-bottom:.3rem;
}
.fgroup .chips { display:flex; flex-wrap:wrap; gap:.28rem; }
.fgroup.slider input[type="range"] { width:100%; accent-color:var(--emerald); }
.fgroup.slider output { color:var(--ink); font-weight:600; }
.fgroup.check {
  display:flex; align-items:center; gap:.5rem; color:var(--dim); font-size:.78rem; cursor:pointer;
}
.fgroup.check input { accent-color:var(--emerald); }
.dates { display:flex; gap:.35rem; align-items:center; color:var(--dim); margin-top:.4rem; font-size:.8rem; }
.dates input {
  background:var(--surface); color:var(--ink); border:1px solid var(--line);
  border-radius:var(--r-sm); padding:.28rem .35rem; font:400 .74rem var(--mono);
}
.fcount { color:var(--faint); font-size:.7rem; margin-top:.45rem; }

/* ---------- board table (compact view) ---------- */
.tablewrap {
  overflow-x:auto; -webkit-overflow-scrolling:touch;
  border:1px solid var(--line); border-radius:var(--r); background:var(--surface); box-shadow:var(--shadow);
}
table.board { margin-top:0; font-size:.82rem; white-space:nowrap; }
table.board td { font-family:var(--mono); font-variant-numeric:tabular-nums; }
table.board td.match { font-family:var(--sans); }
table.board th { position:sticky; top:0; background:var(--surface-2); z-index:1; border-bottom:1px solid var(--line); }
table.board th.sortable { cursor:pointer; }
table.board th.sortable:hover { color:var(--ink); }
table.board th.sorted { color:var(--emerald-deep); }
table.board th.sorted::after { content:" ▾"; }
tr.betrow { cursor:pointer; transition:background .12s; }
tr.betrow:hover td { background:var(--surface-2); }
tr.betrow td.match { max-width:15rem; overflow:hidden; text-overflow:ellipsis; }
tr.betrow.robust td.ev, tr.betrow.robust td.pick { color:var(--emerald-deep); font-weight:600; }
tr.betrow.spec td.ev, tr.betrow.spec td.pick { color:var(--amber); font-weight:600; }
td.dim { color:var(--faint); }
td.stake { color:var(--blue); }
.recheck { margin-right:.35rem; cursor:help; }
.specmark { color:var(--amber); cursor:help; }
td.bar { position:relative; min-width:5.5rem; }
.raebar {
  position:absolute; left:.25rem; top:18%; bottom:18%; width:var(--w);
  max-width:calc(100% - .5rem); background:var(--emerald-wash);
  border-left:2px solid var(--emerald); border-radius:2px; pointer-events:none;
}
tr.betrow.spec .raebar { background:var(--amber-wash); border-left-color:var(--amber); }

/* ---------- detail drawer ---------- */
.drawer-wrap { position:fixed; inset:0; z-index:20; }
.drawer-overlay { position:absolute; inset:0; background:rgba(22,32,28,.42); animation:fade .28s ease both; }
.drawer {
  position:absolute; right:0; top:0; bottom:0; width:min(31rem,100%);
  background:var(--canvas); border-left:1px solid var(--line);
  padding:1.1rem 1.2rem 2.5rem; overflow-y:auto; box-shadow:var(--shadow-lg);
  animation:slidein .3s cubic-bezier(.2,.7,.3,1) both;
}
body.drawer-open { overflow:hidden; }
.drawer-close {
  position:absolute; top:.85rem; right:.9rem; background:var(--surface);
  border:1px solid var(--line); color:var(--dim); border-radius:999px;
  width:1.9rem; height:1.9rem; cursor:pointer; font-size:.9rem; line-height:1;
}
.drawer-close:hover { color:var(--ink); border-color:#cfe0d6; }
.drawer h3 { margin:0 1.8rem .15rem 0; font-family:var(--serif); font-weight:600; font-size:1.3rem; letter-spacing:-0.015em; }
.drawer h4 {
  margin:1.2rem 0 .3rem; font-size:.66rem; color:var(--faint);
  font-family:var(--mono); text-transform:uppercase; letter-spacing:.08em;
}
.drawer-bet {
  margin-top:.85rem; padding:.85rem .95rem; border-radius:var(--r);
  background:var(--surface); border:1px solid var(--line); border-left:3px solid var(--emerald);
  box-shadow:var(--shadow);
}
.drawer-bet.spec { border-left-color:var(--amber); }
.drawer-bet .big { font-size:1rem; margin-bottom:.3rem; font-weight:600; }
.drawer-bet .big .at { font-family:var(--mono); color:var(--emerald-deep); }
.drawer-meters { display:flex; flex-direction:column; gap:.35rem; margin:.7rem 0 .2rem; }
.attrib {
  margin-top:.7rem; padding-top:.6rem; border-top:1px solid var(--line-2);
  font-size:.78rem; color:var(--dim); display:grid; grid-template-columns:1fr auto; gap:.2rem .6rem;
}
.attrib .lbl { color:var(--faint); }
.attrib .val { font-family:var(--mono); text-align:right; }
.attrib .val.pos { color:var(--emerald-deep); }
.attrib .val.neg { color:var(--clay); }
.statgrid { display:grid; grid-template-columns:1fr 1fr; gap:.5rem .9rem; margin:.85rem 0 0; }
.statgrid dt {
  color:var(--faint); font-family:var(--mono); font-size:.6rem;
  text-transform:uppercase; letter-spacing:.06em;
}
.statgrid dd { margin:.05rem 0 0; font-size:.92rem; font-weight:500; }
button.logbet {
  margin-top:.7rem; padding:.5rem .9rem; border-radius:var(--r-sm); cursor:pointer;
  border:1px solid var(--emerald); background:var(--emerald); color:#fff;
  font:600 .8rem var(--sans); transition:background .15s;
}
button.logbet:hover { background:var(--emerald-deep); }
code.cli {
  display:block; margin-top:.5rem; padding:.55rem .65rem;
  background:var(--ink); border-radius:var(--r-sm);
  color:#cfe7d9; font-size:.7rem; overflow-x:auto; white-space:pre;
}

/* ---------- generic sheet (filters / honesty / help) ---------- */
.sheet-wrap { position:fixed; inset:0; z-index:20; }
.sheet-overlay { position:absolute; inset:0; background:rgba(22,32,28,.42); animation:fade .28s ease both; }
.sheet {
  position:absolute; right:0; top:0; bottom:0; width:min(31rem,100%);
  background:var(--canvas); border-left:1px solid var(--line);
  padding:1.1rem 1.2rem 2.5rem; overflow-y:auto; box-shadow:var(--shadow-lg);
  animation:slidein .3s cubic-bezier(.2,.7,.3,1) both;
}
.sheet h3 { margin:0 1.8rem .7rem 0; font-family:var(--serif); font-weight:600; font-size:1.2rem; letter-spacing:-0.01em; }
.sheet-body p { font-size:.86rem; color:var(--dim); line-height:1.55; }
.sheet-body em { color:#5c4519; font-style:italic; }

/* ---------- matches tab: group blocks ---------- */
.groupblock {
  margin:0 0 .6rem; border:1px solid var(--line); border-radius:var(--r);
  background:var(--surface); box-shadow:var(--shadow); overflow:hidden;
}
.groupblock > summary {
  padding:.65rem .9rem; cursor:pointer; list-style:none; color:var(--ink);
  font-family:var(--serif); font-size:1rem; font-weight:600; display:flex; align-items:center; gap:.5rem;
}
.groupblock > summary::-webkit-details-marker { display:none; }
.groupblock > summary::before { content:"▸"; color:var(--faint); font-family:var(--sans); font-size:.8rem; }
.groupblock[open] > summary::before { content:"▾"; }
.gcount { color:var(--faint); font-weight:400; font-size:.72rem; margin-left:auto; }
.groupbody { padding:.2rem .7rem .6rem; }
.groupblock .card { background:var(--surface-2); box-shadow:none; }
.bestbet {
  margin-top:.5rem; font-size:.82rem; color:var(--emerald-deep);
  background:var(--emerald-wash); border:1px solid #c4e4d3; border-radius:var(--r-sm); padding:.35rem .6rem;
}
.bestbet.none { color:var(--dim); background:var(--line-2); border-color:var(--line); }
tr.best td { background:var(--emerald-wash); }

/* ---------- animations ---------- */
@keyframes rise { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@keyframes fade { from { opacity:0; } to { opacity:1; } }
@keyframes slidein { from { transform:translateX(100%); } to { transform:none; } }
@keyframes seg { from { opacity:0; transform:scaleY(.4); } to { opacity:1; transform:none; } }

/* ---------- small screens ---------- */
@media (max-width:560px) {
  body { font-size:14px; }
  .wordmark { font-size:1.25rem; }
  .tabs button { flex:1; padding:.5rem .2rem .65rem; font-size:.82rem; }
  .betfeed { gap:.55rem; }
  .bc-actions .bc-btn { min-height:2.6rem; }
  .statgrid { grid-template-columns:1fr 1fr; }
  .kpi { flex-basis:46%; }
  .drawer { width:100%; }
}

@media (prefers-reduced-motion:reduce) {
  *, *::before, *::after { animation-duration:.001ms !important; animation-delay:0ms !important; transition-duration:.001ms !important; }
}
