/* ==========================================================================
   Coin board (2026-09-21, v4, real data). Sticky 44px strip UNDER the site
   header on the full crypto desks; header and strip stick as one stacked block.
   The strip is always visible (no minimize, no clock: the shared close time is
   one small line in the panel's footer). "Hide menu" lifts the header out (the
   visor) and the strip rises to top:0. "Board" unfolds the panel (slips +
   sparklines). Nine fixed-width cells: btc eth sol xrp doge bnb zec hype near.
   Colour comes from the --cb-* tokens below. Dark theme: the site's always-dark
   tokens (--dark-*, --dline, --dink*, --up, --dn, --amber, --dlink), unchanged
   from v3. Light theme (the site's default): light asphalt grey (#60666e) with
   white text (5.8:1 on the grey, 4.8:1 on a strip cell, 4.6:1 on a panel cell),
   the current coin's cell in brand blue with white text (5.6:1). Up / Down keep
   their words and digits white in the light theme; only the arrow glyphs are
   tinted, so colour never carries the meaning alone.
   Data: assets/board.js polls /api/crypto-board; nothing here is a fixture.
   ========================================================================== */
:root{--cb-h:44px; --cb-t:.32s; --cb-ease:cubic-bezier(.2,.7,.2,1); --cb-hd:calc(var(--hd-h) + 1px);
  /* dark theme (and any page without a theme attribute): always-dark chrome */
  --cb-bg:var(--dark-1); --cb-bg-2:var(--dark-2); --cb-cell:rgba(240,246,252,.04); --cb-cell-hi:rgba(240,246,252,.1);
  --cb-line:var(--dline); --cb-line-2:var(--dline-2); --cb-line-hi:rgba(240,246,252,.3);
  --cb-ink:var(--dink); --cb-ink-2:var(--dink-2); --cb-ink-3:var(--dink-3); --cb-up:var(--up); --cb-dn:var(--dn); --cb-amber:var(--amber); --cb-link:var(--dlink);
  --cb-wash:240,246,252; --cb-top:transparent; --cb-word:var(--cb-up); --cb-word-dn:var(--cb-dn)}
[data-theme="light"]{
  /* light asphalt grey. White on --cb-bg 5.80:1; on a strip cell (8% white over it) 4.77:1; on a panel cell
     (10% white) 4.58:1; on the brand-blue current cell 5.58:1. Amber and link text are lifted to pass 4.5:1 too. */
  --cb-bg:#60666e; --cb-bg-2:#60666e; --cb-cell:rgba(255,255,255,.08); --cb-cell-hi:rgba(255,255,255,.16);
  --cb-line:rgba(255,255,255,.28); --cb-line-2:rgba(255,255,255,.28); --cb-line-hi:rgba(255,255,255,.5);
  --cb-ink:#ffffff; --cb-ink-2:#ffffff; --cb-ink-3:#ffffff; --cb-up:#7df5b8; --cb-dn:#ffb8bf; --cb-amber:#ffe6a6; --cb-link:#ffffff;
  --cb-cell-2:rgba(255,255,255,.10); --cb-wash:255,255,255; --cb-top:rgba(255,255,255,.22); --cb-word:var(--cb-ink); --cb-word-dn:var(--cb-ink)}
html{scroll-padding-top:calc(var(--hd-h) + 16px + var(--cb-h))}
html.cb-menu-hidden{scroll-padding-top:calc(16px + var(--cb-h))}

.cb{position:sticky;top:var(--cb-hd);z-index:calc(var(--z-hd) - 1);transition:top var(--cb-t) var(--cb-ease);background:var(--cb-bg);color:var(--cb-ink);border-bottom:1px solid var(--cb-line);box-shadow:inset 0 1px 0 var(--cb-top);font-family:var(--sans)}
.cb-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.cb-num{font-variant-numeric:tabular-nums}
.cb [hidden]{display:none !important}

/* ---- the collapsed row: one 44px line ---- */
.cb-row{display:flex;align-items:center;gap:12px;height:var(--cb-h);padding:0 16px}
@media (min-width:1024px){ .cb-row{padding:0 24px} }
.cb-status{flex:none;margin:0;font:600 12px/1.2 var(--sans);color:var(--cb-amber);white-space:nowrap}
.cb-status::before{content:"";display:inline-block;width:6px;height:6px;margin-right:6px;border-radius:50%;background:var(--cb-amber);vertical-align:1px}

/* the strip: nine fixed-width cells in a fixed order; a price change never moves a neighbour. At 1512 the nine
   fit on one row (no scroll); narrower screens scroll the strip sideways. */
.cb-strip{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;height:var(--cb-h);margin:0;padding:0;list-style:none;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none}
.cb-strip::-webkit-scrollbar{display:none}
.cb-strip li{flex:none;scroll-snap-align:start;display:flex}
.cb-coin{position:relative;display:grid;grid-template-rows:auto auto;align-content:center;justify-items:start;row-gap:3px;min-width:88px;height:36px;box-sizing:border-box;padding:0 9px;border:1px solid var(--cb-line-2);border-radius:8px;background:var(--cb-cell);color:var(--cb-ink);text-decoration:none;white-space:nowrap}
a.cb-coin:hover,a.cb-coin:focus-visible{background:var(--cb-cell-hi);border-color:var(--cb-line-hi);outline:none}
a.cb-coin:focus-visible{box-shadow:0 0 0 2px var(--brand-hi)}
.cb-sym{font:800 9.5px/1 var(--sans);letter-spacing:.09em;text-transform:uppercase;color:var(--cb-ink-2)}
.cb-pxs{display:inline-flex;align-items:center;gap:7px}
.cb-px{display:inline-flex;align-items:center;gap:1px;min-width:34px;font:700 12px/1 var(--sans);font-variant-numeric:tabular-nums}
.cb-px i{font-style:normal;font-size:8px;line-height:1;transform:translateY(-.5px)}
/* the digits take --cb-word (dark: green / red; light: white), the arrow glyph always takes the tint */
.cb-up{color:var(--cb-word)}
.cb-dn{color:var(--cb-word-dn)}
.cb-up i{color:var(--cb-up)}
.cb-dn i{color:var(--cb-dn)}
.cb-alt{display:none;font:600 11.5px/1 var(--sans);color:var(--cb-ink-3)}
.cb-coin .cb-skel{display:none;width:58px;height:9px;border-radius:5px;background:rgba(var(--cb-wash),.12)}
/* states: loading (no digits), ok, nomarket, missing, fail */
.cb-coin[data-state="loading"] .cb-pxs{display:none}
.cb-coin[data-state="loading"] .cb-skel{display:block}
.cb-coin[data-state="nomarket"] .cb-pxs,.cb-coin[data-state="missing"] .cb-pxs,.cb-coin[data-state="fail"] .cb-pxs{display:none}
.cb-coin[data-state="nomarket"] .cb-alt,.cb-coin[data-state="missing"] .cb-alt,.cb-coin[data-state="fail"] .cb-alt{display:inline}
/* the page's own coin: a filled cell */
.cb-coin.is-here{border-color:var(--brand-hi);background:var(--brand);color:var(--on-brand)}
.cb-coin.is-here .cb-sym{color:var(--on-brand);opacity:.85}
.cb-coin.is-here .cb-up,.cb-coin.is-here .cb-dn,.cb-coin.is-here .cb-up i,.cb-coin.is-here .cb-dn i{color:var(--on-brand)}
.cb-coin.is-here .cb-alt{color:var(--on-brand);opacity:.85}
.cb-coin.is-here .cb-skel{background:rgba(255,255,255,.4)}

/* controls */
.cb-ctl{flex:none;display:flex;align-items:center;gap:6px}
.cb-tg{flex:none;display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 10px;border:1px solid var(--cb-line-2);border-radius:8px;background:var(--cb-cell);color:var(--cb-ink);font:700 13px/1 var(--sans);cursor:pointer;-webkit-tap-highlight-color:transparent}
.cb-tg:hover{background:var(--cb-cell-hi)}
.cb-tg:focus-visible{outline:2px solid var(--brand-hi);outline-offset:2px}
.cb-grid-i{display:none;width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.6}
.cb.is-open .cb-grid-i{fill:currentColor;stroke:none}
.cb-chev{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform var(--cb-t) var(--cb-ease)}
.cb.is-open #cb-tg .cb-chev{transform:rotate(180deg)}
.cb-menu .cb-chev{transform:rotate(180deg)}                 /* chevron-up while the menu shows */
.cb-menu-hidden .cb-menu .cb-chev{transform:none}          /* chevron-down: Show menu */

/* ---- the panel: folds out of the row (grid-rows 0fr -> 1fr, one motion) ---- */
.cb-pw{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--cb-t) var(--cb-ease)}
.cb.is-open .cb-pw{grid-template-rows:1fr}
.cb-panel{min-height:0;overflow:hidden;visibility:hidden;transition:visibility 0s linear var(--cb-t)}
.cb.is-open .cb-panel{visibility:visible;transition-delay:0s}
.cb-panel-in{padding:6px 16px 14px;border-top:1px solid var(--cb-line)}
@media (min-width:1024px){ .cb-panel-in{padding:8px 24px 16px} }
.cb-pmsg{margin:4px 0 10px;font:600 12.5px/1.3 var(--sans);color:var(--cb-amber)}
.cb-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
@media (max-width:1023px){ .cb-grid{grid-template-columns:repeat(2,minmax(0,1fr))} }
@media (max-width:600px){ .cb-grid{grid-template-columns:1fr} }
.cb-grid li{display:flex;min-width:0}
.cb-cell{position:relative;flex:1 1 auto;display:flex;flex-direction:column;gap:6px;min-width:0;padding:12px 14px 12px;border:1px solid var(--cb-line);border-radius:14px;background:var(--cb-bg-2)}
[data-theme="light"] .cb-cell{background:var(--cb-cell-2)}   /* a shade lighter than the strip's cells */
.cb-cell[aria-current="true"]{border-color:var(--brand-hi);box-shadow:inset 0 0 0 1px var(--brand-hi)}
.cb-cell-h{display:flex;align-items:baseline;gap:8px;min-width:0}
.cb-cell-sym{font:800 15px/1 var(--sans);letter-spacing:.02em;color:var(--cb-ink)}
.cb-cell-name{font:500 12.5px/1 var(--sans);color:var(--cb-ink-3);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cb-here{margin-left:auto;flex:none;height:20px;padding:0 7px;border-radius:999px;background:var(--brand);color:var(--on-brand);font:800 10px/20px var(--sans);letter-spacing:.06em;text-transform:uppercase}
.cb-spot{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 10px;margin:0;min-height:22px}
.cb-spot b{font:800 20px/1.1 var(--sans);color:var(--cb-ink);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cb-move{display:inline-flex;align-items:baseline;gap:4px;font:700 12px/1 var(--sans);white-space:nowrap;font-variant-numeric:tabular-nums}
.cb-move small{font:500 11px/1 var(--sans);color:var(--cb-ink-3)}
.cb-move[data-dir="up"]{color:var(--cb-word)}
.cb-move[data-dir="down"]{color:var(--cb-word-dn)}
.cb-move[data-dir="flat"]{color:var(--cb-ink-2)}
.cb-mkt{display:contents}
/* cell order (the sparkline and the empty box live outside .cb-mkt so a coin without a market still gets its chart) */
.cb-cell>*,.cb-cell .cb-mkt>*{order:4}   /* .cb-mkt is display:contents, so its children are the cell's flex items too */
.cb-cell .cb-cell-h,.cb-cell .cb-skel,.cb-cell .cb-loading{order:0}
.cb-cell .cb-spot{order:1}
.cb-cell .cb-beat{order:2}
.cb-cell .cb-spark{order:3}
.cb-cell .cb-empty{order:5}
.cb-cell .cb-open{order:9}
.cb-beat{margin:0;font:500 12.5px/1.3 var(--sans);color:var(--cb-ink-2)}
.cb-beat b{font-weight:700;color:var(--cb-ink);font-variant-numeric:tabular-nums}
/* sparkline: 60 one-minute closes against the target line; the word beside it carries the meaning, never the colour alone */
.cb-spark{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;margin:0}
.cb-sp-box{position:relative;height:40px;border-radius:8px;border:1px solid var(--cb-line);overflow:hidden}
.cb-sp-box svg{display:block;width:100%;height:100%}
.cb-sp-l{fill:none;stroke:var(--cb-ink-2);stroke-width:1.5;vector-effect:non-scaling-stroke;stroke-linejoin:round;stroke-linecap:round}
.cb-sp-t{stroke:var(--cb-amber);stroke-width:1;stroke-dasharray:3 3;vector-effect:non-scaling-stroke;opacity:.7}
.cb-sp-box{background:rgba(var(--cb-wash),.03)}
.cb-spark[data-dir="up"] .cb-sp-l{stroke:var(--cb-up)}
.cb-spark[data-dir="down"] .cb-sp-l{stroke:var(--cb-dn)}
.cb-sp-w{font:700 11.5px/1.2 var(--sans);color:var(--cb-ink-2);white-space:nowrap;text-align:right}
.cb-spark[data-dir="up"] .cb-sp-w{color:var(--cb-word)}
.cb-spark[data-dir="down"] .cb-sp-w{color:var(--cb-word-dn)}
.cb-sp-msg{position:absolute;inset:0;display:grid;place-items:center;font:600 11px/1 var(--sans);color:var(--cb-ink-3)}
.cb-spark[data-sp="ok"] .cb-sp-msg{display:none}
.cb-spark:not([data-sp="ok"]) svg{display:none}
/* slips: Up and Down, each a link to the coin's desk */
.cb-slips{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:2px}
.cb-slip{display:flex;flex-direction:column;gap:4px;min-height:44px;padding:8px 10px;border-radius:10px;border:1.5px solid;text-decoration:none;color:inherit}
.cb-slip:hover{filter:brightness(1.12)}
.cb-slip:focus-visible{outline:2px solid var(--brand-hi);outline-offset:2px}
.cb-slip-l{font:700 10.5px/1 var(--sans);letter-spacing:.08em;text-transform:uppercase}
.cb-slip-px{font:800 22px/1 var(--sans);letter-spacing:-.01em;font-variant-numeric:tabular-nums}
.cb-slip-m{font:500 11px/1.35 var(--sans);color:var(--cb-ink-2);font-variant-numeric:tabular-nums}
.cb-slip-m b{font-weight:700;color:var(--cb-ink)}
.cb-slip-up{border-color:rgba(39,212,137,.35);background:rgba(39,212,137,.09);color:var(--cb-word)}
.cb-slip-dn{border-color:rgba(255,107,120,.35);background:rgba(255,107,120,.09);color:var(--cb-word-dn)}
.cb-slip-up .cb-slip-l>span:first-child{color:var(--cb-up)}   /* the arrow glyph keeps its tint in both themes */
.cb-slip-dn .cb-slip-l>span:first-child{color:var(--cb-dn)}
[data-theme="light"] .cb-slip-up{border-color:rgba(125,245,184,.55);background:rgba(125,245,184,.12)}
[data-theme="light"] .cb-slip-dn{border-color:rgba(255,184,191,.55);background:rgba(255,184,191,.12)}
.cb-slip[data-px="none"] .cb-slip-m{display:none}
.cb-ex{margin:0;font:500 11px/1.35 var(--sans);color:var(--cb-ink-3)}
.cb-ex a{color:var(--cb-link);text-decoration:underline;text-decoration-color:rgba(var(--cb-wash),.35);text-underline-offset:2px}
.cb-ex a:hover,.cb-ex a:focus-visible{text-decoration-color:currentColor}
.cb-vol{margin:2px 0 0;font:500 11.5px/1.35 var(--sans);color:var(--cb-ink-3)}
.cb-vol b{font-weight:700;color:var(--cb-ink-2);font-variant-numeric:tabular-nums}
.cb-note{display:flex;align-items:center;gap:6px;margin:0;font:600 11.5px/1.3 var(--sans);color:var(--cb-amber)}
.cb-note::before{content:"";flex:none;width:6px;height:6px;border-radius:50%;background:var(--cb-amber)}
.cb-empty{display:grid;place-items:center;flex:1;min-height:76px;margin:2px 0 0;padding:10px;border:1px dashed var(--cb-line-2);border-radius:10px;font:600 12.5px/1.3 var(--sans);color:var(--cb-ink-2);text-align:center}
.cb-open{margin-top:auto;padding-top:4px;align-self:flex-start;font:700 12.5px/1 var(--sans);color:var(--cb-link);text-decoration:underline;text-decoration-color:rgba(var(--cb-wash),.35);text-underline-offset:3px}
.cb-open:hover,.cb-open:focus-visible{text-decoration-color:currentColor;outline:none}
.cb-open:focus-visible{box-shadow:0 0 0 2px var(--brand-hi);border-radius:3px}
.cb-open.is-here{color:var(--cb-ink-3);text-decoration:none;pointer-events:none}
/* cell states */
.cb-cell .cb-skel{display:none;height:12px;border-radius:6px;background:linear-gradient(90deg,rgba(var(--cb-wash),.06),rgba(var(--cb-wash),.13),rgba(var(--cb-wash),.06));background-size:200% 100%;animation:cb-sh 1.4s linear infinite}
.cb-cell .cb-skel.w1{width:55%;height:20px;margin-top:2px}
.cb-cell .cb-skel.w2{width:70%}
.cb-cell .cb-skel.w3{height:44px;border-radius:10px}
.cb-cell .cb-skel.w4{width:80%}
.cb-loading{display:none;margin:0;font:600 11.5px/1 var(--sans);color:var(--cb-ink-3)}
@keyframes cb-sh{to{background-position:-200% 0}}
.cb-cell[data-state="loading"] .cb-skel,.cb-cell[data-state="loading"] .cb-loading{display:block}
.cb-cell[data-state="loading"] .cb-live,.cb-cell[data-state="loading"] .cb-empty{display:none}
.cb-cell[data-state="ok"] .cb-empty{display:none}
.cb-cell[data-state="nomarket"] .cb-mkt,.cb-cell[data-state="missing"] .cb-mkt,.cb-cell[data-state="fail"] .cb-mkt{display:none}
.cb-cell[data-state="missing"] .cb-spot,.cb-cell[data-state="fail"] .cb-spot,.cb-cell[data-state="missing"] .cb-spark,.cb-cell[data-state="fail"] .cb-spark,.cb-cell[data-state="loading"] .cb-spark{display:none}
.cb-cell .cb-note[hidden],.cb-cell .cb-vol[hidden]{display:none}
.cb-foot{margin:12px 0 0;font:500 11.5px/1.45 var(--sans);color:var(--cb-ink-3)}
.cb-foot a{color:var(--cb-ink-2);font-weight:700;text-decoration:underline;text-decoration-color:rgba(var(--cb-wash),.3);text-underline-offset:2px}
.cb-closes{color:var(--cb-ink-2)}
.cb-closes b{font-weight:700;color:var(--cb-ink)}
.cb-closes[hidden]{display:none}

/* ---- the mask: Hide menu lifts the site header out; the strip rises to take its place ---- */
.rgbar{position:relative;z-index:calc(var(--z-hd) + 1)}   /* the header rises behind the RG bar, never over it */
#site-hd{transition:transform var(--cb-t) var(--cb-ease),margin-bottom var(--cb-t) var(--cb-ease),opacity var(--cb-t) var(--cb-ease),visibility 0s linear var(--cb-t)}
.cb-menu-hidden #site-hd{transform:translateY(-100%);margin-bottom:calc(-1 * var(--cb-hd));opacity:0;visibility:hidden;overflow:hidden}   /* overflow: the transformed header becomes the containing block of the phone drawer (fixed, translateX(100%)), which would widen the page */
.cb-menu-hidden .cb{top:0}

/* the site dock stays out of the way while the panel is open (dock.js is not this file's; the attribute is) */
html[data-board-open] #od{display:none}

/* the desk keeps its one-screen fit with the strip in the way (the open panel just pushes the desk down). Below 1280px the chart height is the fit rule (desk.css); from 1280px the full desk's
   grid height is (desk.css v19), and the desk needs every one of its 660px there (RSI / MACD panes over 60px, the
   market and trade columns without a scrollbar), so the strip's 45px are paid for ABOVE the grid: the desk's
   24px top padding goes (the strip separates it from the chrome now), the head keeps 4px, and the grid rule
   gives 32px of that back. Measured 2026-09-21 at 1512x860: grid bottom 856.5 without the strip, 856.5 with it.
   With the menu hidden the strip has the header's room and the desk gets it back. */
.cb ~ main .dk--full{--dk-chart-h:max(460px,calc(100vh - 331px - var(--cb-h)))}
@media (min-width:1280px){
  .cb ~ main .dk--full{padding-top:0}
  .cb ~ main .dk--full .dk-head{margin-bottom:0;row-gap:4px}
  /* the crumb pills (desk.css, 2026-09-21) are 17px taller than the old text crumbs and the fit above has 3.5px of
     slack. Jay asked for the crumbs lower and nicer (2026-09-21), so they keep 14px above and 10px below with
     full pills, and the 24px that costs comes out of the grid clamp (105px -> 129px), never the chart's minimum.
     desk.css's 22/18px crumb spacing holds below 1280px and on phones.
     Measured 2026-09-21 at 1512x860: grid bottom 858.3, chart box 623px. */
  .cb ~ main .dk--full .dk-crumbs{margin:14px 0 10px}
  .cb ~ main .dk--full .dk-crumbs a,.cb ~ main .dk--full .dk-crumbs li[aria-current]{padding:5px 11px;line-height:1.1}
  .cb ~ main .dk--full .dk-grid{height:clamp(560px,calc(100vh - var(--hd-h,64px) - 129px - var(--cb-h)),880px)}
  .cb-menu-hidden .cb ~ main .dk--full .dk-grid{height:clamp(560px,calc(100vh - 129px - var(--cb-h)),880px)}
}

@media (max-width:1470px){
  .cb-row{gap:8px}
  .cb-tg{padding:0 8px;gap:5px;font-size:12.5px}
  #cb-tg{width:32px;padding:0;justify-content:center;gap:0}   /* Board is icon-only here; its name comes from aria-label */
  #cb-tg .cb-tg-w{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
}
/* ---- narrow: the row keeps the controls, the coins scroll ---- */
@media (max-width:1023px){
  .cb[data-state="fail"] .cb-strip{display:none}
}
@media (max-width:640px){
  .cb-row{gap:6px;padding:0 0 0 12px}
  .cb-status{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:11px}
  .cb-strip{margin-left:2px;gap:5px}
  .cb-coin{min-width:80px;padding:0 8px}
  .cb-ctl{gap:0;margin-right:2px}
  #cb-tg,#cb-menu{width:44px;height:44px;padding:0;justify-content:center;border:0;border-radius:0;background:transparent;gap:0}   /* icon-only, 44px, named by aria-label */
  .cb-tg .cb-tg-w{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .cb-tg .cb-chev{width:18px;height:18px}
  #cb-tg .cb-chev{display:none}
  #cb-tg .cb-grid-i{display:block}   /* Board: a grid glyph, filled while open; the menu keeps the chevron */
  #cb-tg{position:relative}
  #cb-tg::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:1px;background:var(--cb-line)}
  .cb-panel-in{padding:6px 12px 14px}
  .cb.is-open .cb-panel-in{max-height:calc(100dvh - var(--cb-hd) - var(--cb-h) - 56px);overflow-y:auto}   /* the desk peeks below; page scroll chains on */
  .cb-menu-hidden .cb.is-open .cb-panel-in{max-height:calc(100dvh - var(--cb-h) - 56px)}
}

@media (prefers-reduced-motion:reduce){
  .cb,.cb-pw,.cb-panel,.cb-chev,#site-hd{transition:none !important}
  .cb-cell .cb-skel{animation:none}
}
