/* SmartCore Pool — premium graphite dark UI (cosmetic pass 2026-10-26):
   cool graphite surfaces, 1px hairline borders, soft shadows, restrained gradients,
   accents: purple #7c5cff + teal #22d3c5, green=positive, amber=financial.
   Layout/classes unchanged — visuals only. */
:root{
  --bg0:#101318; --bg:#161a20; --head:#1a1f26; --card:#1e242d; --card-h:#242b36; --well:#191e25;
  --card-g:#1c222a; --mbox-g:#1b212a; --head-g:#171c23;
  --bd:rgba(151,165,184,.16); --bd2:rgba(151,165,184,.08); --grid:rgba(151,165,184,.13); --row:var(--bd2);
  --tx:#e9edf3; --tx2:#a9b3c1; --dim:#7a8492;
  --cy:#22d3c5; --vi:#7c5cff; --pu:#7c5cff; --te:#22d3c5;
  --gr:#3ecf8e; --am:#f2a93b; --rd:#ea6b5f; --bl:#4f9fe0;
  --ovl:rgba(255,255,255,.03); --ovl2:rgba(255,255,255,.04); --ovl3:rgba(255,255,255,.05); --ovlx:rgba(255,255,255,.06);
  --row-h:rgba(124,92,255,.06);
  --ttbg:rgba(13,16,21,.96); --toastbg:rgba(13,16,21,.97); --backdrop:rgba(8,10,14,.74);
  --glow1:rgba(124,92,255,.05); --glow2:rgba(34,211,197,.04);
  --seg-on:linear-gradient(180deg,rgba(124,92,255,.30),rgba(124,92,255,.14)); --seg-on-tx:#fff;
  --mono:"JetBrains Mono","IBM Plex Mono",ui-monospace,Consolas,monospace;
  --sans:"Inter","Segoe UI",Roboto,system-ui,-apple-system,"Helvetica Neue",Arial,sans-serif;
  --r:10px; --rs:7px; --maxw:1360px;
  --sh:0 12px 32px -20px rgba(0,0,0,.65), 0 1px 2px rgba(0,0,0,.35);
  --sh-m:0 24px 60px -24px rgba(0,0,0,.8);
  --t:.15s ease;
}
/* Светлая тема — самостоятельная палитра (не инверсия): светло серо-голубой фон,
   отчётливо белые карточки, нейтральные серые границы, мягкие естественные тени. */
html[data-theme="light"]{
  --bg0:#d9e1ea; --bg:#e4eaf2; --head:#ffffff; --card:#ffffff; --card-h:#f4f7fa; --well:#f5f7fa;
  --card-g:#ffffff; --mbox-g:#fbfcfe; --head-g:#fbfcfd;
  --bd:#cfd7e2; --bd2:#dfe5ed; --grid:#bfc9d6;
  --tx:#0f1621; --tx2:#3f4c5c; --dim:#556274;
  --cy:#0f9e91; --vi:#6a48f0; --pu:#6a48f0; --te:#0f8f83;
  --gr:#17945c; --am:#a86a10; --rd:#c94a3b; --bl:#2b74ba;
  --ovl:rgba(21,31,46,.04); --ovl2:rgba(21,31,46,.05); --ovl3:rgba(21,31,46,.06); --ovlx:rgba(21,31,46,.07);
  --row-h:rgba(106,72,240,.07);
  --ttbg:rgba(255,255,255,.98); --toastbg:#ffffff; --backdrop:rgba(27,36,48,.42);
  --glow1:rgba(106,72,240,.022); --glow2:rgba(15,158,145,.018);
  --seg-on:linear-gradient(180deg,#7d5fff,#5f43e0); --seg-on-tx:#fff;
  --sh:0 1px 2px rgba(16,24,40,.05), 0 6px 16px -10px rgba(16,24,40,.13);
  --sh-m:0 18px 44px -20px rgba(16,24,40,.30);
}
html[data-theme="light"] header.top{box-shadow:0 4px 14px -12px rgba(16,24,40,.4)}
*{box-sizing:border-box;margin:0;padding:0}
body{background:
  radial-gradient(1200px 500px at 70% -10%, var(--glow1), transparent 60%),
  radial-gradient(900px 420px at 12% -5%, var(--glow2), transparent 55%),
  var(--bg);
  color:var(--tx); font:14px/1.5 var(--sans);
  transition:background-color .2s ease,color .2s ease}
a{color:var(--pu);text-decoration:none;transition:color var(--t)}
a:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--te);outline-offset:2px;border-radius:3px}
.skip{position:absolute;left:-9999px}
.skip:focus{left:8px;top:8px;background:var(--card);padding:6px 10px;z-index:99;border:1px solid var(--bd);border-radius:var(--rs)}
svg.ic{width:16px;height:16px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.85}

/* ---------- top utility bar (aligned with content grid) ---------- */
.ubar{background:var(--bg0);color:var(--tx2);font-size:12.5px;
  display:flex;align-items:center;gap:14px;flex-wrap:wrap;
  padding:9px max(16px, calc((100% - var(--maxw)) / 2))}
.ubar a{color:var(--tx2)}
.ubar a:hover{color:var(--tx)}
.ubar b{color:var(--tx)}
.ubar .dim{color:var(--dim)}
.ubar .right{margin-left:auto;display:flex;gap:14px;align-items:center}
.tag{color:var(--te);border:1px solid rgba(34,211,197,.4);border-radius:999px;background:rgba(34,211,197,.07);
  font-size:9.5px;letter-spacing:.08em;padding:1.5px 7px;margin-left:6px;vertical-align:1px}

/* ---------- app header ---------- */
header.top{background:linear-gradient(180deg,var(--head),var(--head-g));border-bottom:1px solid var(--bd);
  box-shadow:0 6px 20px -14px rgba(0,0,0,.7);position:sticky;top:0;z-index:50;
  transition:background-color .2s ease,border-color .2s ease,color .2s ease}
header.top .inner{display:flex;align-items:stretch;gap:0;padding:0 max(16px, calc((100% - var(--maxw)) / 2));margin:0 auto;min-height:56px}
.logo{font-weight:800;letter-spacing:.18em;font-size:15px;display:flex;align-items:center;
  gap:9px;padding-right:26px;color:var(--tx)}
.logo .plate{background:linear-gradient(135deg,var(--vi),var(--te));color:#0c1016;letter-spacing:.14em;
  border-radius:5px;font-size:11.5px;padding:3px 8px;font-weight:800;
  box-shadow:0 2px 10px -4px rgba(124,92,255,.5)}
nav.main{display:flex;gap:22px;align-items:stretch}
nav.main a{color:var(--dim);font-size:13.5px;display:flex;align-items:center;gap:7px;
  border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--t),border-color var(--t)}
nav.main a:hover{color:var(--tx);text-decoration:none}
nav.main a.on{color:var(--tx);border-bottom-color:var(--pu);font-weight:600}
.hstat{margin-left:auto;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.pill{font-size:12px;color:var(--tx2);display:inline-flex;gap:7px;align-items:center;
  background:var(--ovl);border:1px solid var(--bd2);border-radius:999px;padding:4px 11px}
.pill b{color:var(--tx);font-weight:600;font-variant-numeric:tabular-nums;font-family:var(--mono);font-size:11.5px}
.dot{width:8px;height:8px;border-radius:50%;background:var(--gr);box-shadow:0 0 0 3px rgba(62,207,142,.15)}
.dot.stale{background:var(--am);box-shadow:0 0 0 3px rgba(242,169,59,.15)}
.dot.bad{background:var(--rd);box-shadow:0 0 0 3px rgba(234,107,95,.15)}

/* ---------- sidebar + main ---------- */
.app{display:flex;max-width:var(--maxw);margin:0 auto;min-height:70vh}
aside.side{width:216px;flex:none;border-right:1px solid var(--bd);padding:18px 12px;transition:border-color .2s ease}
.sidehead{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:700;
  padding:0 12px 14px;color:var(--tx)}
.sidehead svg{width:64px;height:18px}
nav.sidenav{display:flex;flex-direction:column;gap:2px}
nav.sidenav a{color:var(--tx2);font-size:13.5px;padding:9px 12px;border-radius:var(--rs);
  display:flex;align-items:center;gap:10px;position:relative;transition:background var(--t),color var(--t)}
nav.sidenav a:hover{color:var(--tx);text-decoration:none;background:var(--ovl2)}
nav.sidenav a.on{color:var(--tx);font-weight:600;background:linear-gradient(90deg,rgba(124,92,255,.16),rgba(124,92,255,.03) 70%,transparent)}
nav.sidenav a.on::before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:2.5px;border-radius:2px;
  background:linear-gradient(180deg,var(--pu),var(--te))}
nav.sidenav a.on .ic{opacity:1;color:var(--te)}
main.wrap{flex:1;min-width:0;padding:26px 30px 52px}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 20px 40px}

/* ---------- headings ---------- */
.h1{font-size:26px;font-weight:700;margin:0 0 18px;letter-spacing:-.01em}
.h2{font-size:18px;font-weight:700;margin:26px 0 12px}
.pt{display:flex;align-items:baseline;gap:12px;margin-bottom:12px;flex-wrap:wrap}
.pt h2{font-size:14.5px;font-weight:600}
.pt span{color:var(--tx2);font-size:12px}
.pt .right{margin-left:auto}

/* ---------- metric cards ---------- */
.grid{display:grid;grid-template-columns:repeat(4,1fr);gap:0;
  background:linear-gradient(180deg,var(--card),var(--card-g));border:1px solid var(--bd);border-radius:var(--r);
  box-shadow:var(--sh);overflow:hidden;margin:0 0 26px;transition:border-color .2s ease,box-shadow .2s ease}
.card{padding:16px 18px;border-right:1px solid var(--bd2);border-bottom:1px solid var(--bd2);
  position:relative;transition:background var(--t)}
.grid .card:nth-child(4n){border-right:none}
.grid .card:nth-child(n+5){border-bottom:none}
.card:hover{background:var(--ovl)}
.cat-cy::before,.cat-vi::before,.cat-gr::before,.cat-am::before{content:"";position:absolute;
  left:0;top:12px;bottom:12px;width:2.5px;border-radius:0 2px 2px 0}
.cat-cy::before{background:linear-gradient(180deg,var(--te),transparent)}
.cat-vi::before{background:linear-gradient(180deg,var(--pu),transparent)}
.cat-gr::before{background:linear-gradient(180deg,var(--gr),transparent)}
.cat-am::before{background:linear-gradient(180deg,var(--am),transparent)}
.k{font-size:11.5px;color:var(--tx2);margin-bottom:7px;letter-spacing:.03em;text-transform:uppercase;font-weight:600}
.v{font-size:29px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1.15;white-space:nowrap;
  min-height:34px;letter-spacing:-.01em}
.v small{font-size:13px;color:var(--tx2);font-weight:400}
.sub{font-size:12px;color:var(--dim);margin-top:5px}
.c-cy{color:var(--te)} .c-vi{color:var(--pu)} .c-gr{color:var(--gr)}
.c-am{color:var(--am)} .c-bl{color:var(--bl)} .c-pu{color:var(--pu)} .c-te{color:var(--te)}
.dim{color:var(--dim)}
.skel{display:inline-block;width:110px;height:22px;border-radius:4px;
  background:linear-gradient(90deg,var(--card-h) 25%,rgba(151,165,184,.16) 50%,var(--card-h) 75%);
  background-size:200% 100%;animation:sk 1.2s infinite}
@keyframes sk{to{background-position:-200% 0}}

/* ---------- panels & chart cards ---------- */
.panel{background:linear-gradient(180deg,var(--card),var(--card-g));border:1px solid var(--bd);border-radius:var(--r);
  box-shadow:var(--sh);padding:18px;margin-bottom:24px;transition:border-color .2s ease,box-shadow .2s ease}
.charts{display:grid;grid-template-columns:1fr 1fr;background:linear-gradient(180deg,var(--card),var(--card-g));
  border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:26px}
.charts .panel{background:none;border:none;border-radius:0;margin:0;box-shadow:none}
.charts .panel:first-child{border-right:1px solid var(--bd2)}
.two{display:grid;grid-template-columns:1.2fr .8fr;background:linear-gradient(180deg,var(--card),var(--card-g));
  border:1px solid var(--bd);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;margin-bottom:26px}
.two .panel{background:none;border:none;border-radius:0;margin:0;box-shadow:none}
.two .panel:first-child{border-right:1px solid var(--bd2)}
.chartbox{position:relative}
svg.chart{width:100%;height:180px;display:block}
.tick{font:10px var(--mono);fill:var(--dim)}
.gridline{stroke:var(--grid);stroke-width:1}
.chline{stroke-linejoin:round}
.tt{position:absolute;pointer-events:none;background:var(--ttbg);border:1px solid var(--bd);border-radius:var(--rs);
  box-shadow:var(--sh);padding:5px 10px;font:11.5px/1.4 var(--mono);color:var(--tx);display:none;z-index:5;white-space:nowrap}
.legend{display:flex;gap:14px;font-size:12px;color:var(--tx2);margin-top:8px;flex-wrap:wrap}
.legend i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:6px;vertical-align:-1px}
.seg{display:inline-flex;border:1px solid var(--bd);border-radius:var(--rs);overflow:hidden;background:var(--well)}
.seg button{background:transparent;border:none;color:var(--tx2);font-size:12px;padding:6px 13px;cursor:pointer;
  font-family:inherit;transition:background var(--t),color var(--t)}
.seg button:hover{color:var(--tx);background:var(--ovl3)}
.seg button[aria-pressed="true"]{background:var(--seg-on);
  color:var(--seg-on-tx);box-shadow:inset 0 -2px 0 var(--pu)}

/* ---------- tables ---------- */
.tblwrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
caption{text-align:left;color:var(--dim);font-size:12px;padding-bottom:9px}
th{color:var(--dim);text-align:left;font-weight:600;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;
  padding:9px 12px;border-bottom:1px solid var(--bd);white-space:nowrap}
th button{all:unset;cursor:pointer;color:inherit}
th button:hover{color:var(--tx)}
th .arr{color:var(--te)}
td{padding:11px 12px;border-bottom:1px solid var(--bd2);font-size:13px;font-variant-numeric:tabular-nums;white-space:nowrap}
tr:last-child td{border-bottom:none}
tbody tr{transition:background var(--t)}
tbody tr:hover{background:var(--row-h)}
tbody tr.clickable{cursor:pointer}
th.num,td.num{text-align:right}
.chip{display:inline-flex;align-items:center;gap:6px;padding:2.5px 10px;border-radius:999px;font-size:11px;
  border:1px solid var(--bd2);background:var(--ovl2);color:var(--tx2)}
.chip::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--dim)}
.chip.ok{color:var(--gr);background:rgba(62,207,142,.08);border-color:rgba(62,207,142,.25)}
.chip.ok::before{background:var(--gr)}
.chip.wait{color:var(--bl);background:rgba(79,159,224,.08);border-color:rgba(79,159,224,.25)}
.chip.wait::before{background:var(--bl)}
.chip.warn{color:var(--am);background:rgba(242,169,59,.08);border-color:rgba(242,169,59,.25)}
.chip.warn::before{background:var(--am)}
.chip.err{color:var(--rd);background:rgba(234,107,95,.08);border-color:rgba(234,107,95,.25)}
.chip.err::before{background:var(--rd)}
.chip.dim{color:var(--dim)}
.addr{font-family:var(--mono);font-size:12.5px;cursor:pointer;border-bottom:1px dotted var(--dim);transition:color var(--t)}
.addr:hover{color:var(--te);text-decoration:none}
.empty{color:var(--dim);font-size:13px;padding:18px 6px}
.pager{display:flex;gap:8px;align-items:center;margin-top:14px;justify-content:space-between}
.pager span{color:var(--dim);font-size:12px}
.pager button, .btn{
  font:inherit;font-size:12.5px;padding:7px 14px;border-radius:var(--rs);cursor:pointer;
  background:linear-gradient(180deg,var(--card-h),var(--card));border:1px solid var(--bd);color:var(--tx2);
  transition:border-color var(--t),color var(--t),transform var(--t);
}
.pager button:hover:not(:disabled), .btn:hover{color:var(--tx);border-color:var(--pu)}
.pager button:active:not(:disabled), .btn:active{transform:translateY(1px)}
.pager button:disabled{opacity:.35;cursor:default}

/* ---------- inputs ---------- */
.inp{display:flex;gap:9px;flex-wrap:wrap;margin-bottom:16px}
.inp input{flex:1;min-width:240px;font-family:var(--mono);font-size:13.5px;padding:10px 14px;border-radius:var(--rs);
  background:var(--well);border:1px solid var(--bd);color:var(--tx);outline:none;transition:border-color var(--t),box-shadow var(--t)}
.inp input:focus{border-color:var(--pu);box-shadow:0 0 0 3px rgba(124,92,255,.15)}
.inp input::placeholder{color:var(--dim)}
.btn.pri{background:linear-gradient(135deg,var(--pu),#5f8bff);border-color:transparent;color:#fff;font-weight:600;
  box-shadow:0 6px 18px -8px rgba(124,92,255,.55)}
.btn.pri:hover{filter:brightness(1.1)}

/* ---------- activity rows (unified card system) ---------- */
.actrow{display:flex;gap:10px;justify-content:space-between;align-items:baseline;
  padding:10px 2px;border-bottom:1px solid var(--bd2);font-size:13px}
.actrow:last-child{border-bottom:none}
.actrow .k2{color:var(--tx2);font-size:12.5px}
.actrow .val{font-family:var(--mono);font-size:12px;text-align:right}

/* ---------- modal ---------- */
.modal{position:fixed;inset:0;background:var(--backdrop);backdrop-filter:blur(2px);
  display:none;align-items:flex-start;justify-content:center;z-index:90;padding:16px}
.modal.on{display:flex}
.mbox{background:linear-gradient(180deg,var(--card),var(--mbox-g));border:1px solid var(--bd);border-radius:var(--r);
  box-shadow:var(--sh-m);max-width:640px;width:100%;
  max-height:86vh;overflow:auto;padding:20px 22px;margin-top:4vh}
.mbox h3{font-size:16px;margin-bottom:14px;display:flex;align-items:center;gap:10px}
.mbox .x{margin-left:auto;background:none;border:none;color:var(--dim);font-size:15px;cursor:pointer;padding:2px 8px;border-radius:4px}
.mbox .x:hover{color:var(--tx);background:var(--ovlx)}
.kv{display:grid;grid-template-columns:180px 1fr;gap:8px 14px;font-size:13px}
.kv dt{color:var(--tx2)}
.kv dd{word-break:break-all}

/* ---------- connect / static ---------- */
pre.cfg{background:var(--well);border:1px solid var(--bd);border-radius:var(--rs);padding:12px 14px;
  font:12.5px/1.6 var(--mono);overflow-x:auto;color:var(--tx);position:relative}
pre.cfg .cp{position:absolute;top:8px;right:8px}
.acc{border-bottom:1px solid var(--bd2)}
.acc:last-of-type{border-bottom:none}
.acc summary{padding:11px 0;cursor:pointer;font-size:13.5px;list-style:none;display:flex;gap:8px;align-items:center;color:var(--tx);transition:color var(--t)}
.acc summary:hover{color:var(--te)}
.acc summary::-webkit-details-marker{display:none}
.acc summary::before{content:"›";color:var(--pu);font-weight:700}
.acc[open] summary::before{content:"▾"}
.acc .body{padding:0 0 12px;color:var(--tx2);font-size:13px}
.acc .body p{margin-bottom:8px}

/* ---------- banners / toasts ---------- */
.banner{display:none;border:1px solid rgba(234,107,95,.35);background:rgba(234,107,95,.07);color:var(--rd);
  padding:11px 15px;border-radius:var(--r);font-size:13px;margin:12px 0}
.banner.on{display:block}
.banner.stale{border-color:rgba(242,169,59,.35);background:rgba(242,169,59,.07);color:var(--am)}
.toast{position:fixed;bottom:16px;right:16px;background:var(--toastbg);border:1px solid var(--bd);color:var(--tx);
  padding:10px 16px;border-radius:var(--r);box-shadow:var(--sh);font-size:13px;display:none;z-index:99}
.toast.on{display:block}
.copied{position:fixed;bottom:16px;left:50%;transform:translateX(-50%);
  background:linear-gradient(135deg,var(--pu),var(--te));color:#0c1016;font-weight:600;
  padding:7px 15px;border-radius:999px;font-size:12.5px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:99}
.copied.on{opacity:1}

/* ---------- footer ---------- */
footer.foot{color:var(--dim);font-size:12px;display:flex;gap:16px;flex-wrap:wrap;
  border-top:1px solid var(--bd2);padding-top:14px}

/* ---------- idle (no shares) notice — informational, not an error ---------- */
.idlebar{display:none;margin:14px 0;padding:11px 15px;border-radius:var(--r);font-size:13px;
  border:1px solid rgba(34,211,197,.30);background:rgba(34,211,197,.06);color:var(--te)}
.idlebar.on{display:block}

/* ---------- theme & language controls (header) ---------- */
.ctl{display:flex;align-items:center;gap:8px}
.iconbtn{width:31px;height:31px;border-radius:8px;border:1px solid var(--bd);
  background:linear-gradient(180deg,var(--card-h),var(--card));color:var(--tx2);cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:border-color var(--t),color var(--t),background var(--t)}
.iconbtn:hover{color:var(--tx);border-color:var(--pu)}
.iconbtn svg{width:15px;height:15px;stroke:currentColor;fill:none;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
html[data-theme="dark"] .i-sun{display:none}
html[data-theme="light"] .i-moon{display:none}
.langseg{display:inline-flex;border:1px solid var(--bd);border-radius:999px;overflow:hidden;background:var(--well)}
.langseg button{all:unset;padding:5px 10px;font-size:11px;font-weight:700;letter-spacing:.06em;
  color:var(--tx2);cursor:pointer;transition:background var(--t),color var(--t)}
.langseg button:hover{color:var(--tx)}
.langseg button[aria-pressed="true"]{background:var(--seg-on);color:var(--seg-on-tx)}
@media(max-width:640px){
  .ctl{gap:6px}
  .iconbtn{width:28px;height:28px}
  .langseg button{padding:4px 8px}
}
/* ---------- responsive ---------- */
/* desktop: sections live in the sidebar only — hide the duplicate top tabs */
@media(min-width:901px){nav.main{display:none}}
@media(max-width:900px){
  .charts{grid-template-columns:1fr}.hide-md{display:none}.two{grid-template-columns:1fr}
  .charts .panel:first-child,.two .panel:first-child{border-right:none;border-bottom:1px solid var(--bd2)}
  aside.side{display:none}
  header.top .inner{flex-wrap:wrap;min-height:auto;padding-bottom:0}
  nav.main{order:3;width:100%;gap:4px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;padding-bottom:0}
  nav.main::-webkit-scrollbar{display:none}
  nav.main a{padding:10px 12px;font-size:13px;border-radius:var(--rs) var(--rs) 0 0}
  nav.main a.on{background:linear-gradient(180deg,rgba(124,92,255,.14),transparent)}
}
@media(max-width:1100px) and (min-width:901px){.grid{grid-template-columns:repeat(3,1fr)}
  .grid .card:nth-child(4n){border-right:1px solid var(--bd2)}
  .grid .card:nth-child(3n){border-right:none}
  .grid .card:nth-child(n+5){border-bottom:1px solid var(--bd2)}
  .grid .card:nth-last-child(-n+3){border-bottom:none}}
@media(max-width:640px){
  body{font-size:13.5px}
  main.wrap{padding:16px 12px 44px}
  .grid{grid-template-columns:repeat(2,1fr)}
  .grid .card:nth-child(3n){border-right:1px solid var(--bd2)}
  .grid .card:nth-child(2n){border-right:none}
  .grid .card:nth-child(n+5){border-bottom:1px solid var(--bd2)}
  .grid .card:nth-last-child(-n+2){border-bottom:none}
  .v{font-size:22px;min-height:27px}
  .hide-sm{display:none}
  .ubar{gap:8px;padding:8px 12px}
  header.top .inner{padding:0 12px}
  .kv{grid-template-columns:1fr;gap:2px 0}
  .kv dd{margin-bottom:10px}
  td,th{padding:8px 7px}
  .h1{font-size:21px}
  .hstat{gap:6px}
  .pill{padding:3px 9px}
}

/* ---------- motion preferences ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{transition:none!important;animation:none!important;scroll-behavior:auto!important}
}
