/* CMVNG public-page polish. Presentation only; existing data and actions own state.
   Page scope is intentional: no admin, exported-card or analysis-modal leakage. */
body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) {
  --pages-shadow: var(--ui-shadow, 0 2px 4px rgb(19 38 77 / 4%), 0 12px 28px rgb(19 38 77 / 8%));
  --pages-shadow-hover: var(--ui-shadow-hover, 0 4px 8px rgb(19 38 77 / 6%), 0 18px 36px rgb(19 38 77 / 12%));
  --pages-inset: inset 0 1px 0 rgb(255 255 255 / 55%);
  --pages-soft: color-mix(in srgb, var(--brand) 5%, var(--surface));
}
body.cmvng-ui[data-theme="dark"] {
  --pages-inset: inset 0 1px 0 rgb(255 255 255 / 5%);
}
body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) > .pwrap {
  max-width: 1120px !important;
  min-width: 0;
}
body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) .ui-page-heading {
  margin: 22px 0 24px !important;
  text-align: left;
}
body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) .ui-page-heading h1 {
  font-size: clamp(1.5rem, 3vw, 2.15rem) !important;
  line-height: 1.2;
  letter-spacing: -.04em !important;
  color: var(--ink);
}
body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) .ui-page-heading :is(.sub, .s) {
  font: 500 .9375rem/1.6 "DM Sans", sans-serif;
  letter-spacing: 0;
  margin-top: 8px;
  color: var(--muted);
}
/* Shared date and option controls retain their original selected/filter state. */
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.cfilters, .pk-dates, .mk-dates, .cmp-strip) {
  gap: 9px;
  padding-block: 4px 14px;
  scrollbar-width: thin;
  scroll-padding-inline: 8px;
}
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.cchip, .cmp-chip, .cat-fb, .pk-date, .mk-date) {
  min-height: 44px;
  border-radius: 11px;
  box-shadow: 0 2px 4px rgb(19 38 77 / 3%);
}
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.cchip, .cmp-chip, .cat-fb) {
  font-size: .8125rem;
  padding: 11px 15px;
}
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.pk-date, .mk-date) {
  min-width: 70px;
  padding: 10px 12px;
}
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.pk-date-d, .mk-date-d) { font-size: 1rem; }
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.pk-date-s, .mk-date-s, .pk-date-n, .mk-date-n) { font-size: .6875rem; }
body.cmvng-ui:is([data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"]) :is(.cchip.on, .cmp-chip.on, .cat-fb.on, .pk-date.on, .mk-date.on) {
  box-shadow: 0 3px 5px rgb(29 75 217 / 12%), 0 7px 16px rgb(29 75 217 / 14%);
}

/* HOME: existing booking destination is the primary action, never a fake slip. */
body.cmvng-ui[data-ui-page="home"] .hm-hero {
  padding: 28px 30px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: linear-gradient(125deg, var(--surface), var(--pages-soft));
  box-shadow: var(--pages-inset), var(--pages-shadow);
  margin-bottom: 20px;
}
body.cmvng-ui[data-ui-page="home"] .hm-hero h1 { font-size: clamp(1.8rem, 4vw, 2.6rem); }
body.cmvng-ui[data-ui-page="home"] .hm-hero p { max-width: 760px; font-size: 1rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="home"] .hm-greet { font: 700 .75rem/1.4 "DM Sans", sans-serif; letter-spacing: .09em; }
body.cmvng-ui[data-ui-page="home"] .hm-stats { gap: 16px; margin: 0 0 24px; }
body.cmvng-ui[data-ui-page="home"] .hm-stat {
  padding: 22px 12px;
  background: var(--surface);
  border-radius: 16px;
  box-shadow: var(--pages-inset), var(--pages-shadow);
}
body.cmvng-ui[data-ui-page="home"] .hm-stat b { font: 750 clamp(1.4rem, 3vw, 2rem)/1.25 "Sora", sans-serif; }
body.cmvng-ui[data-ui-page="home"] .hm-stat i { display: block; margin-top: 8px; font: 600 .6875rem/1.45 "DM Sans", sans-serif; letter-spacing: .05em; }
body.cmvng-ui[data-ui-page="home"] .hm-cards { gap: 20px; margin-top: 24px; }
body.cmvng-ui[data-ui-page="home"] .hm-card {
  padding: 26px;
  border-radius: 18px;
  background: var(--surface);
  box-shadow: var(--pages-inset), var(--pages-shadow);
  opacity: 1;
  transform: none;
  animation: none;
}
body.cmvng-ui[data-ui-page="home"] .hm-card.wide { grid-column: auto; }
body.cmvng-ui[data-ui-page="home"] .hm-card[href="/codes"] { border-color: color-mix(in srgb, var(--brand) 36%, var(--line)); background: linear-gradient(125deg, var(--surface), var(--pages-soft)); }
body.cmvng-ui[data-ui-page="home"] .hm-card .ic { width: 48px; height: 48px; border-radius: 13px; box-shadow: inset 0 1px 1px rgb(255 255 255 / 35%), 0 5px 10px rgb(29 75 217 / 20%); }
body.cmvng-ui[data-ui-page="home"] .hm-card h3 { font-size: 1.125rem; line-height: 1.45; }
body.cmvng-ui[data-ui-page="home"] .hm-card p { font-size: .9375rem; line-height: 1.6; max-width: 32em; }
body.cmvng-ui[data-ui-page="home"] .hm-card .arrow { top: 28px; right: 25px; font-size: 1.5rem; color: var(--brand); }
body.cmvng-ui[data-ui-page="home"] .hm-how { padding: 28px; box-shadow: var(--pages-shadow); }
body.cmvng-ui[data-ui-page="home"] .hm-step { gap: 16px; margin-bottom: 22px; }
body.cmvng-ui[data-ui-page="home"] .hm-step .st-d { font-size: .9375rem; line-height: 1.6; }
body.cmvng-ui[data-ui-page="home"] .hm-disc { font-size: .8125rem; line-height: 1.65; }
/* The public landing page shares Home's route marker, without invented content. */
body.cmvng-ui[data-ui-page="home"] :is(.pcard, .bundle, .builder-band, .lb-slip, .lb-v) { border-radius: 20px; box-shadow: var(--pages-inset), var(--pages-shadow); }
body.cmvng-ui[data-ui-page="home"] .lb-leg { padding-block: 12px; }
body.cmvng-ui[data-ui-page="home"] .lb-m b { font-size: .9375rem; white-space: normal; }
body.cmvng-ui[data-ui-page="home"] .lb-m span { font-size: .8125rem; }

/* PICKS / CODES: readable ticket rows and actual bookable code controls. */
body.cmvng-ui[data-ui-page="picks"] :is(.ctier, .pk-card, .clive, .hedged-card, .hedged-section) {
  border-radius: 20px;
  background: var(--surface);
  border: 1px solid var(--line);
  box-shadow: var(--pages-inset), var(--pages-shadow);
  margin-bottom: 20px;
  opacity: 1;
  transform: none;
  animation: none;
}
body.cmvng-ui[data-ui-page="picks"] .ctier-head { padding: 22px 24px 16px; min-height: 76px; }
body.cmvng-ui[data-ui-page="picks"] .ctier-title h2 { font-size: 1.125rem; white-space: normal; line-height: 1.4; }
body.cmvng-ui[data-ui-page="picks"] .ctier-odds .cv { font: 750 1.9rem/1.15 "Sora", sans-serif; }
body.cmvng-ui[data-ui-page="picks"] .ctier-odds .cl { font-size: .6875rem; letter-spacing: .04em; }
body.cmvng-ui[data-ui-page="picks"] .ctier-meta { padding: 0 24px 16px; }
body.cmvng-ui[data-ui-page="picks"] :is(.clegcount, .cwarn, .cstate, .cconf) { font-size: .75rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="picks"] .csels { padding-inline: 24px; }
/* Large Grand tickets must not truncate when leg text wraps or is zoomed. */
body.cmvng-ui[data-ui-page="picks"] .ctier:not(.collapsed) .csels { max-height: none; }
body.cmvng-ui[data-ui-page="picks"] .csel { padding: 16px 0; gap: 12px; opacity: 1; transform: none; animation: none; align-items: flex-start; }
body.cmvng-ui[data-ui-page="picks"] .cmatch { font-size: .9375rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="picks"] .cpick { font-size: .875rem; line-height: 1.5; margin-top: 4px; }
body.cmvng-ui[data-ui-page="picks"] .cico { width: 38px; height: 38px; border-radius: 11px; }
body.cmvng-ui[data-ui-page="picks"] .cnums { min-width: 57px; padding-top: 2px; }
body.cmvng-ui[data-ui-page="picks"] .codds { font-size: 1rem; }
body.cmvng-ui[data-ui-page="picks"] .ccode-box { margin: 18px 24px 24px; padding: 18px; border-style: dashed; border-color: color-mix(in srgb, var(--brand) 45%, var(--line)); background: var(--pages-soft); flex-wrap: wrap; }
body.cmvng-ui[data-ui-page="picks"] .ccode { font-size: clamp(1.2rem, 3vw, 1.6rem); overflow-wrap: anywhere; }
body.cmvng-ui[data-ui-page="picks"] .clabel { font-size: .6875rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="picks"] :is(.ccopy, .copen, .pk-open, .pk-share) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: .8125rem; }
body.cmvng-ui[data-ui-page="picks"] .pk-card { padding: 22px; }
body.cmvng-ui[data-ui-page="picks"] .pk-top { flex-wrap: wrap; }
body.cmvng-ui[data-ui-page="picks"] .pk-league { font: 600 .75rem/1.5 "DM Sans", sans-serif; letter-spacing: .04em; }
body.cmvng-ui[data-ui-page="picks"] .pk-match { font-size: 1.125rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="picks"] .pk-statement { padding: 16px; align-items: flex-start; }
body.cmvng-ui[data-ui-page="picks"] .pk-statement .meta .l { font-size: .6875rem; }
body.cmvng-ui[data-ui-page="picks"] .pk-why { background: var(--pages-soft); padding: 16px; border-color: var(--line); }
body.cmvng-ui[data-ui-page="picks"] .pk-why-t { font-size: .9375rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="picks"] :is(.pk-why-h, .pk-q-l, .pk-kick) { font-size: .75rem; }
body.cmvng-ui[data-ui-page="picks"] .pk-q-v { font-size: 1rem; line-height: 1.45; }
body.cmvng-ui[data-ui-page="picks"] .pk-q-p { font-size: .875rem; }
body.cmvng-ui[data-ui-page="picks"] :is(.cconf, .pk-statement .meta .v.conf)[data-ui-confidence-low="true"] { color: var(--ink); background: var(--surface2); }
body.cmvng-ui[data-ui-page="picks"] .pk-foot { flex-wrap: wrap; gap: 12px; padding-top: 6px; }
body.cmvng-ui[data-ui-page="picks"] :is(.hedged-section, .hedged-card) { padding: 22px; }
body.cmvng-ui[data-ui-page="picks"] :is(.hedged-group, .hedged-branch) { border: 1px solid var(--line); border-radius: 12px; padding: 14px; margin-top: 12px; background: var(--pages-soft); overflow-wrap: anywhere; }
body.cmvng-ui[data-ui-page="picks"] :is(.hedged-line, .hedged-banker, .hedged-how) { font-size: .875rem; line-height: 1.65; }
body.cmvng-ui[data-ui-page="picks"] .hedged-how summary { min-height: 44px; padding-block: 12px; cursor: pointer; }

/* MARKETS: keep estimate/price and settlement evidence separate and legible. */
body.cmvng-ui[data-ui-page="markets"] .mk-wrap { max-width: 1120px; min-width: 0; }
body.cmvng-ui[data-ui-page="markets"] .mk-hero { margin: 22px 0 10px; gap: 12px; }
body.cmvng-ui[data-ui-page="markets"] .mk-brand { font-size: clamp(1.5rem, 3vw, 2.15rem); line-height: 1.3; }
body.cmvng-ui[data-ui-page="markets"] .mk-sub { font-size: .9375rem; margin-bottom: 24px; }
body.cmvng-ui[data-ui-page="markets"] .mk-card { padding: 22px; border-radius: 20px; box-shadow: var(--pages-inset), var(--pages-shadow); margin-bottom: 20px; min-width: 0; }
body.cmvng-ui[data-ui-page="markets"] .mk-head { flex-wrap: wrap; align-items: center; gap: 9px; padding-bottom: 12px; }
body.cmvng-ui[data-ui-page="markets"] .mk-teams { flex: 1 1 100%; font-size: 1.0625rem; line-height: 1.6; }
body.cmvng-ui[data-ui-page="markets"] :is(.mk-score, .mk-when, .mk-ft, .mk-live) { font-size: .6875rem; padding: 5px 9px; margin-left: 0; }
body.cmvng-ui[data-ui-page="markets"] .mk-row { padding-block: 16px; }
body.cmvng-ui[data-ui-page="markets"] .mk-pk { align-items: flex-start; flex-wrap: wrap; gap: 12px; }
body.cmvng-ui[data-ui-page="markets"] .mk-pick-w { flex-wrap: wrap; gap: 6px; }
body.cmvng-ui[data-ui-page="markets"] .mk-pick { font-size: 1rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="markets"] .mk-cent { font-size: 1.0625rem; line-height: 1.5; padding: 8px 11px; background: var(--pages-soft); border: 1px solid var(--line); border-radius: 10px; color: var(--ink); white-space: normal; }
body.cmvng-ui[data-ui-page="markets"] .mk-cent[data-ui-metric-label]::after { content: attr(data-ui-metric-label); display: block; margin-top: 3px; font: 500 .6875rem/1.5 "DM Sans", sans-serif; color: var(--muted); letter-spacing: 0; }
body.cmvng-ui[data-ui-page="markets"] .mk-why { font-size: .9375rem; line-height: 1.7; margin-top: 14px; padding: 14px; background: var(--pages-soft); border: 1px solid var(--line); border-radius: 12px; }
body.cmvng-ui[data-ui-page="markets"] .mk-bots { font-size: .8125rem !important; line-height: 1.65 !important; padding: 12px 0 !important; }
body.cmvng-ui[data-ui-page="markets"] .mk-foot { margin-top: 12px; gap: 10px; padding-top: 12px; border-top: 1px solid var(--line); }
body.cmvng-ui[data-ui-page="markets"] :is(.mk-open, .mk-dl-card, .mk-share) { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: .8125rem; padding: 10px 12px; border-radius: 10px; }
body.cmvng-ui[data-ui-page="markets"] .mk-open { border: 1px solid color-mix(in srgb, var(--brand) 35%, var(--line)); background: var(--pages-soft); }
body.cmvng-ui[data-ui-page="markets"] .mk-sech { margin: 22px 0 14px; font-size: 1.125rem; }
body.cmvng-ui[data-ui-page="markets"] .mk-join { padding: 18px 20px; border-radius: 16px; }
body.cmvng-ui[data-ui-page="markets"] .mk-rep { padding: 20px; border-radius: 16px; box-shadow: var(--pages-shadow); min-width: 0; }
body.cmvng-ui[data-ui-page="markets"] .mk-rep-h { font-size: .875rem; line-height: 1.6; }
body.cmvng-ui[data-ui-page="markets"] .mk-rep-t { font-size: .8125rem; }
body.cmvng-ui[data-ui-page="markets"] .mk-rep-t :is(th, td) { padding: 10px 12px; }
body.cmvng-ui[data-ui-page="markets"] .mk-rep .mk-rep-sub { font-size: .8125rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="markets"] .ui-market-results { border: 1px solid var(--line); border-radius: 16px; background: var(--surface); box-shadow: var(--pages-shadow); margin-block: 22px 8px; overflow: hidden; }
body.cmvng-ui[data-ui-page="markets"] .ui-market-results > summary { min-height: 52px; padding: 16px 20px; cursor: pointer; font: 700 .9375rem/1.5 "DM Sans", sans-serif; color: var(--ink); list-style-position: inside; }
body.cmvng-ui[data-ui-page="markets"] .ui-market-results[open] > summary { border-bottom: 1px solid var(--line); }
body.cmvng-ui[data-ui-page="markets"] .ui-market-results .mk-rep { margin: 0; border: 0; border-radius: 0; box-shadow: none; }
body.cmvng-ui[data-ui-page="markets"] .mk-disc { font-size: .8125rem; line-height: 1.7; }

/* BOARD: a ranked market board, not an accumulator list. */
body.cmvng-ui[data-ui-page="board"] .cat-hero { padding: 24px; border: 1px solid var(--line); border-radius: 20px; background: linear-gradient(125deg, var(--surface), var(--pages-soft)); box-shadow: var(--pages-shadow); margin-bottom: 22px; }
body.cmvng-ui[data-ui-page="board"] .cat-big { font-size: clamp(1.8rem, 4vw, 2.6rem); line-height: 1.25; }
body.cmvng-ui[data-ui-page="board"] .cat-sub { max-width: 850px; font-size: .9375rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="board"] .p-eyebrow { font-size: .75rem; letter-spacing: .08em; }
body.cmvng-ui[data-ui-page="board"] .cat-ctl { gap: 9px; margin-block: 10px 16px; flex-wrap: wrap; }
body.cmvng-ui[data-ui-page="board"] #bdTabs { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 10px; scrollbar-width: thin; }
body.cmvng-ui[data-ui-page="board"] #bdTabs .cat-fb { flex: 0 0 auto; white-space: nowrap; }
body.cmvng-ui[data-ui-page="board"] .cat-seg { display: inline-flex; max-width: 100%; padding: 4px; border-radius: 12px; background: var(--surface); border: 1px solid var(--line); }
body.cmvng-ui[data-ui-page="board"] .cat-seg button { min-height: 44px; font-size: .8125rem; border-radius: 8px; white-space: normal; }
body.cmvng-ui[data-ui-page="board"] .bd-row { border: 1px solid var(--line); background: var(--surface); border-radius: 16px; padding: 20px; margin-bottom: 12px; box-shadow: var(--pages-inset), var(--pages-shadow); gap: 14px; }
body.cmvng-ui[data-ui-page="board"] .bd-row.unp { border-color: color-mix(in srgb, #bd851d 45%, var(--line)); background: color-mix(in srgb, #bd851d 9%, var(--surface)); }
body.cmvng-ui[data-ui-page="board"] .bd-row.unp :is(.bd-match, .bd-pc) { color: var(--ink); }
body.cmvng-ui[data-ui-page="board"] .bd-row.unp :is(.bd-lg, .bd-rank, .bd-ko, .bd-pc small) { color: var(--muted); }
body.cmvng-ui[data-ui-page="board"] .bd-rank { width: 28px; font-size: .875rem; }
body.cmvng-ui[data-ui-page="board"] .bd-match { font-size: 1rem; line-height: 1.6; white-space: normal; }
body.cmvng-ui[data-ui-page="board"] .bd-lg { font-size: .8125rem; line-height: 1.5; margin-top: 3px; }
body.cmvng-ui[data-ui-page="board"] .bd-pc { font-size: 1.5rem; line-height: 1.3; }
body.cmvng-ui[data-ui-page="board"] :is(.bd-ko, .bd-chip, .bd-brk) { font-size: .75rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="board"] .bd-code { padding: 24px; border-radius: 18px; background: var(--pages-soft); box-shadow: var(--pages-shadow); }
body.cmvng-ui[data-ui-page="board"] :is(.bd-code-n, .bd-code-u, .cat-legend) { font-size: .8125rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="board"] .cat-legend { gap: 14px; padding-top: 20px; }

/* BANK: existing research archive, league tables, results and fixture records. */
body.cmvng-ui[data-ui-page="bank"] .bk-crumb { margin: 22px 0 20px; }
body.cmvng-ui[data-ui-page="bank"] .bk-crumb h1 { font-size: clamp(1.5rem, 3vw, 2.15rem); line-height: 1.35; }
body.cmvng-ui[data-ui-page="bank"] .bk-crumb .s { font: 600 .75rem/1.6 "DM Sans", sans-serif; letter-spacing: .05em; }
body.cmvng-ui[data-ui-page="bank"] .bk-crumb a.bkb { width: 44px; height: 44px; }
body.cmvng-ui[data-ui-page="bank"] .bk-hero { padding: 28px; border-radius: 20px; background: linear-gradient(120deg, var(--surface), var(--pages-soft)); border: 1px solid var(--line); color: var(--ink); box-shadow: var(--pages-shadow); margin-block: 20px; }
body.cmvng-ui[data-ui-page="bank"] .bk-hero::after { content: none; }
body.cmvng-ui[data-ui-page="bank"] .bk-hero .t { font-size: 1.4rem; line-height: 1.45; }
body.cmvng-ui[data-ui-page="bank"] .bk-hero .u { font: 600 .75rem/1.6 "DM Sans", sans-serif; letter-spacing: .04em; color: var(--muted); opacity: 1; margin-block: 6px 20px; }
body.cmvng-ui[data-ui-page="bank"] .bk-big3 { gap: 16px; }
body.cmvng-ui[data-ui-page="bank"] .bk-big3 .b { background: var(--surface); border: 1px solid var(--line); padding: 20px 12px; border-radius: 14px; box-shadow: var(--pages-shadow); }
body.cmvng-ui[data-ui-page="bank"] .bk-big3 .v { font-size: clamp(1.4rem, 3vw, 2rem); color: var(--ink); }
body.cmvng-ui[data-ui-page="bank"] .bk-big3 .k { font: 600 .6875rem/1.5 "DM Sans", sans-serif; letter-spacing: .04em; opacity: 1; color: var(--muted); margin-top: 8px; }
body.cmvng-ui[data-ui-page="bank"] .bk-card { padding: 22px; border-radius: 18px; background: var(--surface); box-shadow: var(--pages-inset), var(--pages-shadow); margin-bottom: 20px; min-width: 0; }
body.cmvng-ui[data-ui-page="bank"] .bk-row { padding: 20px 4px; gap: 18px; }
body.cmvng-ui[data-ui-page="bank"] .bk-row .m b { font-size: 1rem; line-height: 1.5; white-space: normal; }
body.cmvng-ui[data-ui-page="bank"] .bk-row .m .cv span { font-size: .8125rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-row .n b { font-size: 1.25rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-row .n i { font-size: .6875rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-tabs { gap: 9px; margin-bottom: 20px; scrollbar-width: thin; }
body.cmvng-ui[data-ui-page="bank"] .bk-tabs a { min-height: 44px; padding: 12px 18px; border-radius: 10px; font-size: .875rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-h6 { font: 700 .75rem/1.5 "DM Sans", sans-serif; letter-spacing: .06em; margin-bottom: 14px; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-trow, .bk-rrow, .bk-mrow) { min-height: 58px; padding-block: 15px; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-trow .nm, .bk-rrow .t, .bk-mrow .m b, .bk-pkrow b) { font-size: .875rem; line-height: 1.5; white-space: normal; overflow-wrap: anywhere; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-trow .s, .bk-rrow .sc, .bk-mrow .sc) { font-size: .875rem; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-rrow .ko, .bk-mrow .m span, .bk-pkrow span, .bk-thead .a, .bk-thead .s) { font-size: .6875rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-ti .k, .bk-brow .lbl) { font: 600 .6875rem/1.5 "DM Sans", sans-serif; letter-spacing: .04em; }
body.cmvng-ui[data-ui-page="bank"] .bk-ti { padding: 16px 8px; }
body.cmvng-ui[data-ui-page="bank"] .bk-tiles { grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 10px; }
body.cmvng-ui[data-ui-page="bank"] :is(.bk-note, .bk-empty) { font-size: .8125rem; line-height: 1.7; }
body.cmvng-ui[data-ui-page="bank"] .bk-mhero .side b { font-size: .875rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-mhero :is(.lg2, .ht, .fin) { font-size: .6875rem; }
body.cmvng-ui[data-ui-page="bank"] .bk-hero .bk-mono.lg { color: var(--ink); background: var(--surface2); border-color: var(--line); }

/* BUILD AI: existing request box, category controls and selections. */
body.cmvng-ui[data-ui-page="builder"] .bld-rand { padding: 24px; border-radius: 18px; box-shadow: var(--pages-inset), var(--pages-shadow); margin-block: 20px; }
body.cmvng-ui[data-ui-page="builder"] .bld-rand-field > label { font: 700 .8125rem/1.5 "DM Sans", sans-serif; letter-spacing: 0; text-transform: none; color: var(--ink); margin-bottom: 10px; }
body.cmvng-ui[data-ui-page="builder"] #aiTxt { min-height: 110px; padding: 16px !important; font-size: 1rem !important; line-height: 1.6; background: var(--pages-soft) !important; }
body.cmvng-ui[data-ui-page="builder"] #aiChat > div { line-height: 1.65; }
body.cmvng-ui[data-ui-page="builder"] .bld-game { padding: 18px; border-radius: 14px; box-shadow: var(--pages-shadow); opacity: 1; transform: none; animation: none; }
body.cmvng-ui[data-ui-page="builder"] .bld-match { font-size: .9375rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="builder"] .bld-pick { font-size: .875rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="builder"] :is(.bld-from, .bld-conf) { font-size: .6875rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="builder"] .bld-rand-note { font-size: .8125rem; line-height: 1.6; }
body.cmvng-ui[data-ui-page="builder"] :is(.bld-cat-chip, .bld-odds-presets button, .aichip, .bld-modal .close) { min-height: 44px; }
body.cmvng-ui[data-ui-page="builder"] .aichip { display: inline-flex; align-items: center; }
body.cmvng-ui[data-ui-page="builder"] .slipbar-inner { max-width: 860px; padding: 18px 22px; border-radius: 18px; box-shadow: var(--pages-shadow-hover); }
body.cmvng-ui[data-ui-page="builder"] .slipbar-stat .v { font-size: 1.5rem; }
body.cmvng-ui[data-ui-page="builder"] .slipbar-stat .l { font-size: .6875rem; }
body.cmvng-ui[data-ui-page="builder"] .bld-modal-card { max-height: calc(100dvh - 40px); overflow-y: auto; box-shadow: var(--pages-shadow-hover); }

/* SHARE: theme swatches and existing export canvas stay exactly functional. */
body.cmvng-ui[data-ui-page="share"] > .pwrap { max-width: 1000px !important; }
body.cmvng-ui[data-ui-page="share"] .sh-theme { justify-content: flex-start; padding: 16px; border-radius: 14px; border: 1px solid var(--line); background: var(--surface); box-shadow: var(--pages-shadow); gap: 12px; }
body.cmvng-ui[data-ui-page="share"] .sh-sw { width: 44px; height: 44px; border: 3px solid var(--surface); box-shadow: 0 0 0 1px var(--line), 0 3px 7px rgb(19 38 77 / 12%); }
body.cmvng-ui[data-ui-page="share"] .sh-sw.on { outline: 2px solid var(--brand); outline-offset: 3px; transform: none; }
body.cmvng-ui[data-ui-page="share"] .sh-card-wrap { padding: 24px; background: var(--pages-soft); border: 1px solid var(--line); border-radius: 20px; }
body.cmvng-ui[data-ui-page="share"] #shCard { max-width: 100%; box-shadow: 0 3px 6px rgb(19 38 77 / 10%), 0 16px 30px rgb(19 38 77 / 18%); }
body.cmvng-ui[data-ui-page="share"] .sh-actions { max-width: 100%; }
body.cmvng-ui[data-ui-page="share"] .sh-actions button { min-height: 48px; border: 1px solid var(--line); box-shadow: var(--pages-shadow); }
body.cmvng-ui[data-ui-page="share"] .sh-note { font-size: .8125rem; line-height: 1.6; }
body.cmvng-ui[data-ui-page="share"] .sh-match { border-radius: 16px; box-shadow: var(--pages-shadow); margin-bottom: 16px; }
body.cmvng-ui[data-ui-page="share"] .sh-match-head { padding: 18px; }
body.cmvng-ui[data-ui-page="share"] .sh-match-name { font-size: .9375rem; line-height: 1.5; }
body.cmvng-ui[data-ui-page="share"] .sh-opt { padding: 14px 12px; min-height: 54px; }
body.cmvng-ui[data-ui-page="share"] .sh-opt-p { font-size: .875rem; line-height: 1.5; }

/* ACCOUNT: identity, current access and existing supporting destinations. */
body.cmvng-ui[data-ui-page="account"] > .pwrap { max-width: 920px !important; }
body.cmvng-ui[data-ui-page="account"] :is(.profile, .plan-card, .alist) { background: var(--surface); border: 1px solid var(--line); border-radius: 18px; box-shadow: var(--pages-inset), var(--pages-shadow); margin-bottom: 22px; }
body.cmvng-ui[data-ui-page="account"] .profile { padding: 28px; gap: 22px; }
body.cmvng-ui[data-ui-page="account"] .pavatar { width: 86px; height: 86px; flex: 0 0 auto; box-shadow: inset 0 1px 0 rgb(255 255 255 / 30%), 0 6px 14px rgb(29 75 217 / 15%); }
body.cmvng-ui[data-ui-page="account"] .pwho { min-width: 0; }
body.cmvng-ui[data-ui-page="account"] .pwho .nm { font-size: 1.25rem; line-height: 1.4; overflow-wrap: anywhere; }
body.cmvng-ui[data-ui-page="account"] .pwho .em { font-size: .875rem; line-height: 1.6; overflow-wrap: anywhere; }
body.cmvng-ui[data-ui-page="account"] .pchange { min-height: 44px; font-size: .8125rem; padding-block: 10px; }
body.cmvng-ui[data-ui-page="account"] .plan-card { padding: 24px; background: linear-gradient(120deg, var(--surface), var(--pages-soft)); }
body.cmvng-ui[data-ui-page="account"] .plan-card .lbl { font-size: .75rem; }
body.cmvng-ui[data-ui-page="account"] .plan-card .pnm { font-size: 1.5rem; }
body.cmvng-ui[data-ui-page="account"] .plan-card .pmeta { font-size: .875rem; line-height: 1.65; }
body.cmvng-ui[data-ui-page="account"] .aitem { padding: 20px 24px; min-height: 62px; gap: 14px; font-size: .9375rem; }
body.cmvng-ui[data-ui-page="account"] .aitem .chev { color: var(--brand); }
body.cmvng-ui[data-ui-page="account"] .asignout { padding: 18px 24px; min-height: 54px; border: 1px solid var(--line); border-radius: 14px; background: var(--surface); font-size: .9375rem; }

/* Grids do not reorder DOM, ranked entries, selections, gates or date headers. */
@media (min-width: 900px) {
  body.cmvng-ui[data-ui-page="home"] .hm-cards { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  body.cmvng-ui[data-ui-page="home"] .hm-card[href="/codes"] { grid-column: span 2; }
  body.cmvng-ui[data-ui-page="picks"] #ctiers,
  body.cmvng-ui[data-ui-page="picks"] > .pwrap.ui-featured-grid,
  body.cmvng-ui[data-ui-page="markets"] .mk-wrap { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 22px; align-items: start; }
  body.cmvng-ui[data-ui-page="picks"] #ctiers > *,
  body.cmvng-ui[data-ui-page="picks"] > .pwrap.ui-featured-grid > *,
  body.cmvng-ui[data-ui-page="markets"] .mk-wrap > * { grid-column: 1 / -1; min-width: 0; }
  body.cmvng-ui[data-ui-page="picks"] #ctiers > .ctier,
  body.cmvng-ui[data-ui-page="picks"] > .pwrap.ui-featured-grid > .pk-card,
  body.cmvng-ui[data-ui-page="markets"] .mk-wrap > .mk-card { grid-column: auto; }
  body.cmvng-ui[data-ui-page="builder"] .bld-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; align-items: start; }
  body.cmvng-ui[data-ui-page="builder"] .bld-list > :not(.bld-game) { grid-column: 1 / -1; }
  body.cmvng-ui[data-ui-page="builder"] .bld-game { margin-bottom: 0; }
  body.cmvng-ui[data-ui-page="share"] .sh-picker { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
  body.cmvng-ui[data-ui-page="share"] .sh-picker > :not(.sh-match) { grid-column: 1 / -1; }
}
@media (max-width: 600px) {
  body.cmvng-ui[data-ui-page="home"] :is(.hm-hero, .hm-how) { padding: 22px 18px; }
  body.cmvng-ui[data-ui-page="home"] .hm-hero p { font-size: .9375rem; }
  body.cmvng-ui[data-ui-page="home"] .hm-stats { gap: 8px; }
  body.cmvng-ui[data-ui-page="home"] .hm-stat { padding: 18px 8px; }
  body.cmvng-ui[data-ui-page="home"] .hm-stat i { letter-spacing: 0; font-size: .625rem; }
  body.cmvng-ui[data-ui-page="home"] .hm-cards { grid-template-columns: 1fr; gap: 14px; }
  body.cmvng-ui[data-ui-page="home"] .hm-card { padding: 22px; }
  body.cmvng-ui[data-ui-page="picks"] .ctier-head { padding: 18px 16px 14px; gap: 8px; }
  body.cmvng-ui[data-ui-page="picks"] .ctier-title h2 { font-size: 1rem; }
  body.cmvng-ui[data-ui-page="picks"] .ctier-right { gap: 8px; }
  body.cmvng-ui[data-ui-page="picks"] .ctier-odds .cv { font-size: 1.4rem; }
  body.cmvng-ui[data-ui-page="picks"] .ctier-meta { padding-inline: 16px; }
  body.cmvng-ui[data-ui-page="picks"] .csels { padding-inline: 16px; }
  body.cmvng-ui[data-ui-page="picks"] .csel { gap: 9px; }
  body.cmvng-ui[data-ui-page="picks"] .ccode-box { margin-inline: 16px; padding: 14px; }
  body.cmvng-ui[data-ui-page="picks"] .pk-card { padding: 18px 16px; }
  body.cmvng-ui[data-ui-page="picks"] .pk-statement { flex-wrap: wrap; }
  body.cmvng-ui[data-ui-page="picks"] .pk-statement .meta { margin-left: auto; }
  body.cmvng-ui[data-ui-page="markets"] .mk-card { padding: 18px 16px; }
  body.cmvng-ui[data-ui-page="markets"] .mk-teams { font-size: 1rem; }
  body.cmvng-ui[data-ui-page="markets"] .mk-pick-w { flex-basis: 100%; }
  body.cmvng-ui[data-ui-page="markets"] .mk-cent { min-width: 130px; }
  body.cmvng-ui[data-ui-page="markets"] .mk-join { padding: 16px; gap: 10px; }
  body.cmvng-ui[data-ui-page="markets"] .mk-join-t { font-size: .875rem; }
  body.cmvng-ui[data-ui-page="markets"] .mk-rep { padding: 16px; }
  body.cmvng-ui[data-ui-page="board"] .cat-hero { padding: 20px 18px; }
  body.cmvng-ui[data-ui-page="board"] .bd-row { padding: 16px 12px; gap: 8px; }
  body.cmvng-ui[data-ui-page="board"] .bd-rank { width: 17px; font-size: .75rem; }
  body.cmvng-ui[data-ui-page="board"] .bd-match { font-size: .875rem; }
  body.cmvng-ui[data-ui-page="board"] .bd-lg { font-size: .75rem; }
  body.cmvng-ui[data-ui-page="board"] .bd-right { width: 70px; flex: 0 0 auto; }
  body.cmvng-ui[data-ui-page="board"] .bd-pc { font-size: 1.25rem; }
  body.cmvng-ui[data-ui-page="board"] .cat-crests { flex-direction: column; gap: 3px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-hero { padding: 20px 16px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-big3 { gap: 7px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-big3 .b { padding: 16px 6px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-big3 .k { font-size: .625rem; letter-spacing: 0; }
  body.cmvng-ui[data-ui-page="bank"] .bk-card { padding: 16px 12px; }
  body.cmvng-ui[data-ui-page="bank"] :is(.bk-trow .s, .bk-thead .s) { width: 32px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-trow { gap: 5px; }
  body.cmvng-ui[data-ui-page="bank"] .bk-mhero .side { width: 82px; }
  body.cmvng-ui[data-ui-page="builder"] .bld-rand { padding: 20px 16px; }
  body.cmvng-ui[data-ui-page="builder"] .bld-game { padding: 16px 12px; gap: 10px; }
  body.cmvng-ui[data-ui-page="builder"] .slipbar-inner { padding: 14px 16px; }
  body.cmvng-ui[data-ui-page="builder"] .slipbar-stats { gap: 14px; }
  body.cmvng-ui[data-ui-page="share"] .sh-card-wrap { padding: 16px 10px; }
  body.cmvng-ui[data-ui-page="account"] .profile { padding: 22px 18px; gap: 16px; align-items: flex-start; }
  body.cmvng-ui[data-ui-page="account"] .pavatar { width: 64px; height: 64px; }
  body.cmvng-ui[data-ui-page="account"] .pchange { margin-left: 0 !important; margin-right: 12px; }
  body.cmvng-ui[data-ui-page="account"] .aitem { padding: 18px 20px; }
}
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  body.cmvng-ui[data-ui-page="home"] .hm-card:hover { transform: translateY(-2px); box-shadow: var(--pages-shadow-hover); }
  body.cmvng-ui[data-ui-page="account"] .aitem:hover { background: var(--pages-soft); }
  body.cmvng-ui[data-ui-page="bank"] .bk-row:hover { background: var(--pages-soft); }
}
@media (prefers-reduced-motion: reduce) {
  body.cmvng-ui:is([data-ui-page="home"], [data-ui-page="picks"], [data-ui-page="markets"], [data-ui-page="board"], [data-ui-page="bank"], [data-ui-page="builder"], [data-ui-page="share"], [data-ui-page="account"]) :is(.hm-card, .hm-stat, .hm-wv, .ctier, .csel, .pk-card, .bld-game, .mk-card, .sh-sw) { animation: none !important; transition: none !important; opacity: 1; transform: none; }
}
