/* J1 C3–C14. Contract and token values: docs/design.md §9. */
body {
  --kit-action-ink:var(--text-1); --kit-section-gap:40px; --kit-gap:16px; --kit-pad:24px; --kit-label:13px; --kit-meta:12px;
  --kit-price-xl:56px; --kit-price-l:28px; --kit-price-m:18px; --kit-weight:900;
  --kit-touch:44px; --kit-badge:24px; --kit-disabled:.45; --kit-panel-duration:320ms;
  --kit-panel-ease:cubic-bezier(.2,1.1,.4,1); --kit-enter-step:40ms;
  --row-box:88px; --row-card:96px; --row-podium:132px; --row-art:72px; --row-card-art:64px; --row-podium-art:96px;
  --row-rank:40px; --row-name-min:240px; --row-number:112px; --row-change:96px; --row-hover-inset:8px;
}
body[data-theme="dark"] { --kit-action-ink:var(--plate-ink); }
/* C2. Same line on desktop; preserved explanations are below the page. */
html body .page-lead { display:flex; flex-wrap:wrap; align-items:center; gap:8px 16px; margin:16px 0 24px; padding:0; background:none; border:0; box-shadow:none; }
html body .page-lead h1 { flex:0 1 auto; margin:0; font-size:var(--title-h1-size); line-height:var(--title-h1-line); font-weight:var(--title-h1-weight); }
html body .page-lead > p { flex:1 1 180px; min-width:0; margin:0; font:500 14px/1.6 var(--f-jp); color:var(--text-2); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
html body .page-lead > p.is-expanded { white-space:normal; }
.c-lead-help { min-width:var(--kit-touch); min-height:var(--kit-touch); padding:0; border:0; background:none; color:var(--text-2); cursor:pointer; }
.c-page-notes { margin:var(--kit-pad) 0; padding:var(--kit-gap) var(--kit-pad); border:1px solid var(--line); border-radius:var(--r-lg); color:var(--text-2); }
.c-page-notes summary { min-height:var(--kit-touch); align-content:center; cursor:pointer; font-weight:700; }
.c-page-notes p { font-size:14px; line-height:1.8; }
/* C3. One hero + up to four peers in one divided panel. */
.c-kpis { display:grid; grid-template-columns:minmax(240px,1.3fr) minmax(0,3fr); gap:var(--kit-gap); margin-bottom:var(--kit-pad); }
.c-kpi-hero { display:flex; flex-direction:column; justify-content:center; padding:var(--kit-pad); border-radius:var(--r-lg); border-left:6px solid var(--c-kpi-color,var(--sky)); background:linear-gradient(125deg,var(--c-kpi-wash,var(--sky-wash)),var(--panel)); box-shadow:var(--shadow-1); }
.c-kpi-peers { display:flex; align-items:stretch; border-radius:var(--r-lg); background:var(--panel); padding:var(--kit-pad) 0; box-shadow:var(--shadow-1); }
.c-kpi { display:flex; flex-direction:column; justify-content:center; flex:1; min-width:0; padding:0 var(--kit-gap); }
.c-kpi + .c-kpi { border-left:1px solid var(--line); }
.c-kpi-label { display:block; color:var(--text-2); font:700 var(--kit-label)/1.4 var(--f-jp); }
.c-kpi-value { display:block; margin-top:8px; font:var(--kit-weight) var(--kit-price-l)/1.1 var(--f-num); font-variant-numeric:tabular-nums; color:var(--text-1); }
.c-kpi-hero .c-kpi-value { font-size:var(--kit-price-xl); }
.c-kpi-meta { min-height:1.5em; color:var(--text-3); font-size:var(--kit-meta); }
/* C4. Two rows, count + sort toolbar; native controls retain keyboard support. */
.c-filters { padding:12px var(--kit-pad); border-radius:var(--r-lg); background:var(--panel); box-shadow:var(--shadow-1); }
.c-filter-row, .c-results-bar, .c-filter-selected { display:flex; align-items:center; gap:8px; min-width:0; }
.c-filter-row { min-height:var(--c-h-md); }
.c-filter-row + .c-filter-row { margin-top:8px; }
.c-results-bar { margin:var(--kit-gap) 0; justify-content:space-between; flex-wrap:wrap; color:var(--text-2); font-size:var(--kit-label); }
.c-chip { display:inline-flex; align-items:center; justify-content:center; gap:8px; height:var(--c-h-md); padding:0 16px; border:0; border-radius:var(--r-pill); background:var(--tray); color:var(--text-2); cursor:pointer; font:700 14px/1 var(--f-jp); white-space:nowrap; }
.c-chip em { font:800 var(--kit-meta)/1 var(--f-num); font-style:normal; }
.c-chip:is(.is-on,[aria-pressed="true"],[aria-selected="true"]) { background:var(--kit-selected); color:var(--kit-selected-ink); }
.c-select { appearance:none; height:var(--c-h-md); max-width:100%; padding:0 36px 0 16px; border:1px solid var(--line-strong); border-radius:var(--r-pill); background-color:var(--panel-b); color:var(--text-1); font:700 14px/1 var(--f-jp);
  background-image:linear-gradient(45deg,transparent 50%,var(--text-2) 50%),linear-gradient(135deg,var(--text-2) 50%,transparent 50%); background-position:calc(100% - 18px) 50%,calc(100% - 13px) 50%; background-size:5px 5px; background-repeat:no-repeat; }
.c-filter-mobile { display:none; }
/* C5. Art remains >90% of its frame; meta follows the name. */
.c-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:var(--kit-gap); }
.c-grid.is-cards { grid-template-columns:repeat(6,minmax(0,1fr)); }
.c-tile { display:block; min-width:0; background:var(--panel); border-radius:var(--r-lg); overflow:hidden; text-decoration:none; color:var(--text-1); box-shadow:var(--shadow-1); transition:transform var(--c-d-press) var(--c-e-press),box-shadow var(--c-d-press); }
.c-art { position:relative; display:grid; place-items:center; aspect-ratio:1; padding:6px; box-sizing:border-box; }
.c-art.is-card { aspect-ratio:744/1040; }
.c-art img { display:block; width:100%; height:100%; object-fit:contain; }
.c-tilt { position:relative; transform-style:preserve-3d; transition:transform var(--c-d-press) var(--c-e-press); }
.c-tilt::after { content:""; position:absolute; inset:0; border-radius:inherit; pointer-events:none; opacity:0; background:radial-gradient(circle at var(--gx,50%) var(--gy,50%),color-mix(in srgb,var(--panel) 60%,transparent),transparent 65%); }
.c-tilt.is-tilt::after { opacity:1; }
.c-tile-body { padding:12px 16px; }
.c-tile h3 { margin:0; font-size:var(--title-h3-size); line-height:var(--title-h3-line); font-weight:var(--title-h3-weight); display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.c-tile-meta { color:var(--text-2); font-size:var(--kit-meta); margin:4px 0 8px; }
.c-tile-prices,.v3-tile-prices-solo { display:flex; width:100%; }
.v3-tile-prices-solo > * { flex:1; }
/* R2 shared tile contract: infer solo prices even before async decoration. */
html body :is(.v3-tprices,.c-tile-prices) { width:100%; box-sizing:border-box; }
html body :is(.v3-tprices,.c-tile-prices):is(.v3-tile-prices-solo,:has(> :only-child)) { display:grid; grid-template-columns:minmax(0,1fr); }
html body :is(.v3-tprices,.c-tile-prices):is(.v3-tile-prices-solo,:has(> :only-child)) > * { width:100%; max-width:none; box-sizing:border-box; }
html body .v3-tile .v3-tp { background:transparent !important; box-shadow:none !important; border:0; color:var(--text-1) !important; }
html body .v3-tile .v3-tk { color:var(--text-3) !important; font-size:var(--kit-meta); }
html body :is(.c-tile,.v3-tile) > .c-row-arrow:not(button):not(summary),
html body .v3-tile .v3-go,html body .hm-box-card .hm-box-go { display:none !important; }
html body .c-tile-condition { position:static !important; display:inline-flex; align-items:center; width:auto !important; height:auto !important; min-height:var(--kit-badge); margin:4px 0 0; padding:0 10px !important; border:0 !important; border-radius:var(--r-pill) !important; background:var(--tray) !important; color:var(--text-2) !important; box-shadow:none !important; transform:none !important; font:700 var(--kit-meta)/1.4 var(--f-jp); }
/* R6: an open opportunity is a panel with a narrow status strip, not a
   second lemon action. Keep the existing card shadows/focus/hover intact. */
html body .evt-card.evt-opp,
html body .home-page .hm-chance:not(.hm-chance-more) { background:var(--panel); }
html body .evt-card.evt-opp[data-st="open"],
html body .home-page .hm-chance[data-status="open"] { border-top:4px solid var(--lemon); }
/* C6. Section heading actions use the available right edge. */
.c-section { margin-top:var(--kit-section-gap); }
.c-section-head { display:flex; align-items:center; justify-content:space-between; gap:var(--kit-gap); flex-wrap:wrap; margin-bottom:var(--kit-gap); }
.c-section-head h2 { margin:0; font-size:var(--title-h2-size); line-height:var(--title-h2-line); font-weight:var(--title-h2-weight); }
.c-section-head > a { min-height:var(--kit-touch); align-content:center; color:var(--text-2); font-weight:700; }
/* C7. First three podium rows; then one panel, not a stack of rounded cards. */
.c-list { border-radius:var(--r-lg); background:var(--panel); overflow:clip; }
.c-row-head,.c-data-row { display:grid; grid-template-columns:var(--row-rank) var(--row-art) minmax(var(--row-name-min),2fr) repeat(var(--row-number-count,1),minmax(var(--row-number),1fr)) var(--row-change) var(--kit-touch); gap:12px; align-items:center; padding:0 16px; }
.c-row-head { position:sticky; top:var(--head-h); z-index:2; min-height:40px; background:var(--panel); color:var(--text-3); font:700 var(--kit-meta)/1.4 var(--f-jp); }
.c-row-head button { border:0; background:none; color:inherit; font:inherit; min-height:var(--kit-touch); cursor:pointer; text-align:right; }
.c-data-row { position:relative; isolation:isolate; min-height:var(--row-box); color:var(--text-1); text-decoration:none; }
.c-data-row.is-card { min-height:var(--row-card); }
.c-list .c-data-row + .c-data-row { border-top:1px solid var(--line); }
.c-data-row::before { content:""; position:absolute; inset:4px var(--row-hover-inset); z-index:-1; border-radius:var(--r-lg); background:var(--tray); opacity:0; transition:opacity var(--c-d-press); }
.c-row-art { display:grid; place-items:center; width:var(--row-art); height:var(--row-art); object-fit:contain; }
.is-card > .c-row-art { width:var(--row-card-art); height:90px; }
.c-row-name { min-width:0; }
.c-row-name > :is(strong,a) { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; font:800 15px/1.5 var(--f-jp); color:var(--text-1); }
.c-row-meta { display:block; font:500 var(--kit-meta)/1.4 var(--f-jp); color:var(--text-2); }
.c-row-number { text-align:right; font:var(--kit-weight) var(--kit-price-m)/1.2 var(--f-num); font-variant-numeric:tabular-nums; }
.c-row-arrow { width:var(--kit-touch); height:var(--kit-touch); display:grid; place-items:center; border:0; color:var(--text-2); background:none; }
button.c-row-arrow { cursor:pointer; }
.c-row-arrow .ic { transition:transform var(--c-d-press) var(--c-e-press); }
.c-row-arrow[aria-expanded="true"] .ic { transform:rotate(180deg); }
.c-data-row.is-podium { min-height:var(--row-podium); margin-bottom:12px; border-radius:var(--r-row); background:var(--panel-b); grid-template-columns:var(--row-rank) var(--row-podium-art) minmax(var(--row-name-min),2fr) repeat(var(--row-number-count,1),minmax(var(--row-number),1fr)) var(--row-change) var(--kit-touch); }
.c-data-row.is-podium .c-row-art { width:var(--row-podium-art); height:120px; }
.c-rank { display:grid; place-items:center; width:32px; height:32px; border-radius:var(--r-pill); font:900 18px/1 var(--f-num); }
.c-rank.is-gold { background:var(--foil-gold); color:var(--kit-action-ink); }
.c-rank.is-silver { background:var(--foil-silver); color:var(--kit-action-ink); }
.c-rank.is-bronze { background:var(--peach); color:var(--kit-action-ink); }
/* C8 + price atoms. Semantic red/green only belong to changes. */
.c-badge,.c-chg { box-sizing:border-box; height:var(--kit-badge); display:inline-flex; align-items:center; gap:4px; min-height:var(--kit-badge); padding:0 10px; border-radius:var(--r-pill); background:var(--tray); color:var(--text-2); font:800 var(--kit-meta)/1.3 var(--f-num); white-space:nowrap; }
.c-badge.is-type { background:var(--kit-selected); color:var(--kit-selected-ink); }
.c-badge.is-hint { background:var(--lemon-wash); color:var(--lemon-text); }
.c-badge.is-deadline { background:var(--lemon-wash); color:var(--warn); }
.c-chg.is-up { background:var(--up-wash); color:var(--up-text); }
.c-chg.is-up::before { content:"▲"; }
.c-chg.is-down { background:var(--down-wash); color:var(--down-text); }
.c-chg.is-down::before { content:"▼"; }
.c-price { color:var(--text-1); font:var(--kit-weight) var(--kit-price-m)/1.1 var(--f-num); font-variant-numeric:tabular-nums; letter-spacing:-.02em; }
.c-price.is-xl { font-size:var(--kit-price-xl); } .c-price.is-l { font-size:var(--kit-price-l); } .c-price.is-m { font-size:var(--kit-price-m); }
.c-price + .c-chg { margin-left:8px; vertical-align:middle; }
.c-basis { color:var(--text-3); font:500 var(--kit-meta)/1.5 var(--f-jp); }
.c-data-row .c-basis { display:none; }
.c-badge.is-sm,.c-chg.is-sm,.stk.is-sm,.evt-badge.is-sm,.evt-status.is-sm,.evt-chip.is-sm { --kit-badge:20px; height:var(--kit-badge); min-height:var(--kit-badge); }
/* C9. Use one primary action per viewport. External actions carry ↗. */
.c-btn,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:var(--c-h-md); padding:0 20px; border:1px solid var(--line-strong); border-radius:var(--r-pill); background:var(--panel); color:var(--text-1); font:800 14px/1.4 var(--f-jp); cursor:pointer; text-decoration:none; transition:transform var(--c-d-press) var(--c-e-press),background var(--c-d-press),box-shadow var(--c-d-press); }
html body :is(.c-btn.is-primary,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary) { --h:var(--c-h-md); box-sizing:border-box; height:var(--h) !important; min-height:var(--h) !important; background:var(--lemon) !important; color:var(--kit-action-ink) !important; -webkit-text-fill-color:currentColor; border:0 !important; box-shadow:0 3px 0 var(--ledge-lemon) !important; animation:none; }
html body :is(.c-btn.is-primary,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary):is(.is-lg,.btn-lg) { --h:var(--c-h-lg); }
html body :is(.c-btn.is-primary,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary):active { transform:scale(.96) !important; box-shadow:0 1px 0 var(--ledge-lemon) !important; }
.c-btn.is-lg { min-height:var(--c-h-lg); }
.c-btn:is([target="_blank"],.is-external) { min-height:var(--kit-touch); }
.c-btn:is([target="_blank"],.is-external)::after { content:"↗"; }
.c-btn.c-has-external-mark::after { content:none; }
:is(.c-btn,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary):disabled,:is(.c-btn,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary)[aria-disabled="true"],.c-chip:disabled { opacity:var(--kit-disabled); pointer-events:none; cursor:default; }
.c-btn:active,.c-chip:active,.c-view-toggle button:active { transform:scale(.96); }
html body :is(.c-btn,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary,.c-chip,.c-select,.c-view-toggle button,.c-term-trigger,.c-row-arrow):focus-visible { outline:3px solid var(--focus-ring) !important; outline-offset:3px !important; }
/* C10. Empty subsections use one summary line; full page adds the logo. */
.c-empty-line { padding:12px 20px; border-radius:var(--r-pill); background:var(--tray); color:var(--text-2); font-size:14px; }
.c-empty { display:grid; justify-items:center; gap:var(--kit-gap); padding:56px var(--kit-pad); text-align:center; }
.c-empty > .ic { width:96px; height:96px; }
.c-empty p { margin:0; color:var(--text-2); }
/* C11. Existing source copy and links are preserved by mountHeader. */
html body .foot.c-footer { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:var(--kit-pad); padding:var(--kit-pad); border:0; border-radius:var(--r-lg); background:var(--panel-b); }
.c-footer-info { flex:1 1 280px; min-width:0; color:var(--text-3); font-size:var(--kit-meta); }
.c-footer .c-tagline { display:flex; align-items:center; gap:12px; margin:0 0 8px; color:var(--text-2); font-size:13px; }
.c-footer .c-tagline > .ic { width:32px; height:32px; }
.c-footer-links { display:flex; flex-wrap:wrap; gap:8px; }
.c-footer-links .c-btn { padding-inline:16px; }
/* C12. Legacy names remain for callers and tests; all share this treatment. */
html body :is(.c-missing,.box-image-missing,.catalog-image-missing,.bx-noimg,.ev-noimg,.ml-missing) { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; min-height:48px; padding:6px; box-sizing:border-box; border:0; border-radius:var(--r-sm); background:linear-gradient(140deg,var(--sky-wash),var(--lemon-wash)) !important; color:var(--text-2); text-align:center; font:700 11px/1.4 var(--f-jp); overflow:hidden; }
.c-missing-mark { display:block; } .c-missing-mark .ic { width:32px; height:32px; }
.c-missing-code { font:800 var(--kit-meta)/1 var(--f-num); }
.c-art > .c-missing, .v3-art > .c-missing { width:100%; height:100%; }
.c-loading { position:relative; overflow:hidden; background:var(--tray); border-radius:var(--r-sm); }
.c-loading::after { content:""; position:absolute; inset:0; background:linear-gradient(110deg,transparent 20%,var(--panel) 50%,transparent 80%); animation:c-shimmer 1.6s linear infinite; }
@keyframes c-shimmer { from { transform:translateX(-100%); } to { transform:translateX(100%); } }
/* C13. A real sliding plate; view state is shared by all mounted controls. */
.c-view-toggle { position:relative; isolation:isolate; display:inline-grid; grid-template-columns:1fr 1fr; height:var(--c-h-md); padding:4px; box-sizing:border-box; background:var(--tray); border-radius:var(--r-pill); }
.c-view-toggle button { position:relative; display:flex; align-items:center; justify-content:center; gap:6px; height:32px; border:0; padding:0 12px; border-radius:var(--r-pill); background:none; color:var(--text-2); font:700 13px/1 var(--f-jp); cursor:pointer; white-space:nowrap; }
.c-view-toggle button .ic { width:18px; height:18px; }
.c-view-toggle button[aria-pressed="true"] { color:var(--kit-selected-ink); }
.c-view-plate { position:absolute; z-index:-1; inset:4px auto 4px 4px; width:calc((100% - 8px)/2); background:var(--kit-selected); border-radius:var(--r-pill); box-shadow:var(--shadow-plate); transition:transform var(--c-d-tab) var(--c-e-tab); }
.c-view-toggle[data-view="list"] .c-view-plate { transform:translateX(100%); }
@keyframes c-panel-enter { from { opacity:0; transform:translateY(8px); } to { opacity:1; transform:none; } }
:is(.evt-popover,.j8-control-panel,.c-game-pop,.c-account-pop) { animation:c-panel-enter var(--kit-panel-duration) var(--kit-panel-ease); }
/* C14. Tip trigger is independent of navigation and has a 44px hit area. */
.c-term { position:relative; display:inline-flex; align-items:center; vertical-align:middle; }
.c-term-trigger { display:inline-grid; place-items:center; min-width:var(--kit-touch); min-height:var(--kit-touch); padding:0; border:0; border-radius:var(--r-pill); background:none; color:var(--sky-text); cursor:pointer; font:700 16px/1 var(--f-jp); }
.c-term-tip { animation:c-panel-enter var(--kit-panel-duration) var(--kit-panel-ease); display:none; position:absolute; z-index:150; bottom:100%; left:0; width:260px; max-width:80vw; padding:16px; border:1px solid var(--line); border-radius:var(--r-row); background:var(--overlay); box-shadow:var(--shadow-3); color:var(--text-2); font:500 13px/1.7 var(--f-jp); white-space:normal; text-align:left; }
.c-term.is-open > .c-term-tip,.c-term:focus-within > .c-term-tip { display:block; }
body[data-view="pro"] .c-term-trigger,body[data-view="pro"] .c-term-tip { display:none; }
@media (hover:hover) and (pointer:fine) {
  .c-term:hover > .c-term-tip { display:block; }
  .c-tile:hover { transform:translateY(-2px); box-shadow:var(--shadow-2); }
  a.c-data-row:hover::before { opacity:1; }
  a.c-data-row:hover .c-row-arrow .ic { transform:translateX(4px); }
  .c-btn:hover { background:var(--tray); box-shadow:var(--shadow-1); }
  html body :is(.c-btn.is-primary,.btn-primary,.evt-cta,.btn-rainbow,.btn-volt,.c-btn-primary):hover { transform:translateY(-2px); background:var(--lemon); }
  .c-chip:not(.is-on):not([aria-pressed="true"]):hover { background:var(--track); }
}
a.c-data-row:active { transform:scale(.995); }
@media (min-width:1680px) {
  .c-grid,.ev-rank-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  .c-grid.is-cards,.ev-grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
  body .v3-grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
  body .v3-grid.is-box { grid-template-columns:repeat(5,minmax(0,1fr)); }
}
@media (max-width:1099px) and (min-width:768px) {
  .c-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .c-grid.is-cards { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .c-data-row,.c-row-head { --row-name-min:160px; --row-number:88px; gap:8px; }
}
@media (max-width:767px) {
  html body .page-lead { gap:4px 8px; margin-top:8px; }
  html body .page-lead h1 { flex-basis:100%; }
  .c-kpis { grid-template-columns:1fr; }
  .c-kpi-peers { flex-wrap:wrap; row-gap:16px; } .c-kpi { flex-basis:50%; box-sizing:border-box; }
  .c-grid,.c-grid.is-cards { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
  .c-tile:active,.c-tilt:active { transform:scale(.98); }
  .c-filter-mobile { display:flex; gap:8px; align-items:center; }
  .c-filters > .c-filter-row { display:none; }
  .c-filter-sheet .c-filter-row { flex-wrap:wrap; margin-block:12px; }
  .c-filter-selected { overflow-x:auto; }
  .c-row-head { display:none; }
  .c-data-row,.c-data-row.is-podium { grid-template-columns:64px minmax(0,1fr) auto 24px; gap:8px; min-height:var(--row-box); padding:4px 8px; }
  .c-data-row.is-card { min-height:var(--row-card); }
  .c-data-row > .c-rank,.c-data-row > .c-row-secondary { display:none; }
  .c-data-row .c-row-art,.c-data-row.is-podium .c-row-art { width:64px; height:64px; }
  .c-data-row.is-card .c-row-art { height:90px; }
  .c-data-row .c-row-arrow { width:24px; }
  .c-data-row .c-row-name { grid-column:2; grid-row:1/3; }
  .c-data-row > .c-row-number { grid-column:3; grid-row:1; align-self:end; }
  .c-data-row > .c-chg { grid-column:3; grid-row:2; align-self:start; justify-self:end; }
  .c-data-row > .c-row-art,.c-data-row > .c-row-arrow { grid-row:1/3; }
  .c-data-row button.c-row-arrow { display:none; }
  .c-term.is-open > .c-term-tip { position:fixed; bottom:16px; left:16px; width:calc(100vw - 64px); max-width:none; }
  .c-footer-links { width:100%; } .c-footer-links .c-btn { flex:1; padding-inline:8px; }
}
@media (prefers-reduced-motion:reduce) {
  .c-loading::after,.c-view-plate,.c-tilt,.c-tile,.c-btn,.c-data-row,.c-row-arrow .ic,.c-chip,.c-term-tip,.evt-popover,.j8-control-panel,.c-game-pop,.c-account-pop { animation:none !important; transition:none !important; transform:none !important; }
  .c-view-toggle[data-view="list"] .c-view-plate { transform:translateX(100%) !important; }
}
html.c-still :is(.c-loading::after,.c-view-plate,.c-tilt,.c-tile,.c-btn,.c-data-row) { animation:none !important; transition:none !important; }
/* C2 overrides legacy page-specific density rules, without changing content sections. */
html body main .shell:has(> .page-lead) { padding-top:16px !important; }
html body main .page-lead > p.c-lead-desc { display:block !important; order:0; max-width:none; }
html body .c-page-notes #evt-sub { display:block !important; }
@media (min-width:1680px) {
  body .box-grid { grid-template-columns:repeat(5,minmax(0,1fr)); }
  body .card-grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
  body .ev-panel .ev-grid { grid-template-columns:repeat(7,minmax(0,1fr)); }
}
@media (max-width:767px) {
  html body main .page-lead h1 { flex:0 0 100% !important; width:100%; min-width:0; max-width:100%; order:0; white-space:normal; overflow-wrap:break-word !important; word-break:normal; }
  html body main .page-lead > p.c-lead-desc { display:block !important; order:2 !important; flex:1 1 0 !important; width:0; min-width:0; white-space:nowrap; }
  html body main .page-lead > .c-lead-help { order:2; flex:0 0 var(--kit-touch); }
  html.m-shell body main .page-lead { margin-top:0; }
  html.m-shell body main .shell:has(> .page-lead) { padding-top:8px !important; }
}
html body .page-lead:has(.c-lead-help) > .ml-info { display:none !important; }
.c-missing > small:not(.c-missing-code) { display:none; }
/* Existing skins use !important for these controls; keep dark selection effective
   after page/mobile overrides, without recoloring ordinary action buttons. */
html body[data-theme="dark"] :is(
  .chip.is-on,.chips>button.is-on,[data-chip-group]>button.is-on,
  .ch-ranges button.is-on,.tabs button.is-on,.tabs.tabs-rainbow button.is-on,
  .home-cat-tabs button.is-on,.home-cat-tabs button[aria-selected="true"],
  .v3-subnav a[aria-current="true"],.v3-subnav button[aria-pressed="true"],
  .c-palbtn[aria-expanded="true"],.c-iconbtn[aria-pressed="true"],
  .m-ibtn[aria-expanded="true"],.m-gamechip[aria-expanded="true"],
  .hm-seg:not(.ready)>button.on,.hm-tray>.hm-pbtn.active,.hm-tray>.hm-pbtn.active:hover,
  .m-home-segments .is-on,.m-home-ranklane button[aria-pressed="true"],
  .entry-card.is-on,.pg-btn.is-on,.ml-filter-sorts [aria-pressed="true"],.ml-sort-list [aria-pressed="true"],
  .c-view-simple[data-selected="true"],.c-view-detailed[data-selected="true"]
) { background:var(--kit-selected) !important; color:var(--kit-selected-ink) !important; }

/* R3: shared content edges, lead rhythm and mobile explanation space. */
@media (min-width:768px) {
  html body main .shell,html body.home-page main .shell,html body .bx-page.shell,
  html body.home-page .ticker {
    width:min(var(--max),calc(100% - 2 * var(--kit-pad)));
    max-width:var(--max); margin-inline:auto;
  }
  html body .c-masthead .c-hdr-wrap {
    width:min(var(--max),calc(100% - 2 * var(--kit-pad)));
    max-width:var(--max);
  }
}
html body main .page-lead { margin-bottom:var(--kit-pad); }
html body .page-lead .c-lead-help { margin-right:calc(var(--kit-touch) / -4); }
html body main .page-lead > :is(.evt-update,.rp-edition-stamp) {
  flex:0 0 100%; order:3; margin:0; padding:0;
}
@media (max-width:767px) {
  html.m-shell body main .page-lead > p.c-lead-desc {
    width:auto !important; flex:1 1 calc(100% - var(--kit-touch) - var(--rf-s2)) !important;
    white-space:normal;
  }
  html.m-shell body main .page-lead .ch-ranges {
    order:3; flex:0 0 100%; margin-left:0;
  }
}
