/* ============================================================
   CuratedBets — NFL Game Intelligence

   The approved "NFL Game Intelligence" layout, dressed in the HOME PAGE's
   visual system so the two read as one product:

     atmosphere   one body-level paint (dot field, hero glow, blue/cyan blooms)
                  exactly as home.css paints it; the navy zone and the board
                  become transparent windows onto it — no seam, no second wash.
     card         the home "slate" recipe: a near-black textured bezel
                  (radius 22 / 7px rim) around a ringed inner surface
                  (#03111f), with header, column-strip, row and footer BANDS.
                  Built with a transparent border + padding-box / border-box
                  backgrounds, so no markup wrapper is needed.
     type         Archivo 800 titles with a soft text shadow, Manrope UI,
                  JetBrains Mono data; the home ink ramp
                  (#f7f9fc / #d4deea / #8298b0).
     controls     glass pills and inputs, the electric-blue gradient primary
                  button, tonal chips with a hairline ring, dark tile badges.

   Prefix: .gi-  (game intelligence). Loaded only by the sportsbook game and
   wager templates. Layout hooks are unchanged from the approved build.
   ============================================================ */

/* ---- atmosphere: one page, one paint (mirrors .cb-home) ---------------- */
body.cb-public:has(.gi-page) {
  background-color: var(--cb-navy-900);
  background-image:
    radial-gradient(rgba(125,168,214,.065) 1px, transparent 1px),
    radial-gradient(1900px 1450px at 50% -280px,
      rgba(18,58,96,.92) 0%, rgba(12,40,66,.52) 40%,
      rgba(8,26,43,.16) 66%, transparent 100%),
    radial-gradient(1150px 850px at 84% 1580px, rgba(46,139,255,.10), transparent 68%),
    radial-gradient(1000px 780px at 8%  2820px, rgba(46,196,222,.055), transparent 68%),
    radial-gradient(1150px 850px at 90% 4120px, rgba(46,139,255,.075), transparent 68%),
    radial-gradient(950px  720px at 10% 5400px, rgba(46,196,222,.05), transparent 68%);
  background-size: 28px 28px, auto, auto, auto, auto, auto;
  background-repeat: repeat, no-repeat, no-repeat, no-repeat, no-repeat, no-repeat;
}
body.cb-public:has(.gi-page) .cb-shell-top { background: transparent; overflow: visible; }
body.cb-public:has(.gi-page) .cb-shell-top::before,
body.cb-public:has(.gi-page) .cb-shell-top::after { display: none; }
body.cb-public:has(.gi-page) main.cb-board { background: transparent; padding-top: 0; padding-bottom: 0; }

/* The footer joins the same atmosphere: transparent, dark ink, white lockup. */
body.cb-public:has(.gi-page) .cb-footer {
  --text-strong: #f7f9fc; --text-body: #d4deea; --text-muted: #8298b0; --text-faint: #5f7a97;
  --border-hairline: rgba(125,168,214,.14); --accent-strong: var(--cb-blue-400);
  background: transparent; -webkit-backdrop-filter: none; backdrop-filter: none;
}
body.cb-public:has(.gi-page) .cb-footer-logo { filter: brightness(0) invert(1); opacity: .92; }

/* ---- page ramp ----------------------------------------------------------- */
.gi-scope, .gi-hero {
  --text-strong: #f7f9fc; --text-body: #d4deea; --text-muted: #8298b0; --text-faint: #5f7a97;
  --gi-ring: rgba(57,101,140,.55);
  --gi-rim: rgba(104,132,157,.19);
  --gi-band-head: linear-gradient(90deg, rgba(4,28,51,.94), rgba(2,18,33,.96));
  --gi-band-strip: rgba(2,17,31,.94);
  --gi-band-row: linear-gradient(108deg, rgba(8,50,91,.96), rgba(2,28,52,.94));
  --gi-band-row-hover: linear-gradient(108deg, rgba(13,66,116,.98), rgba(4,38,70,.96));
  --gi-divider: rgba(6,20,33,.92);
  --gi-divider-head: rgba(27,66,103,.8);
  --gi-glass: rgba(2,17,31,.72);
  --gi-glass-border: rgba(57,101,140,.45);
}
.gi-page {
  color: var(--text-body);
  font-family: var(--font-text);
  font-size: 14px;
  padding-bottom: 96px;
}
.gi-page-narrow { max-width: 760px; margin: 0 auto; padding-top: 28px; }
/* An EMBED: the same components inside another public page (player, team).
   Same tokens and bands as the full page; no body atmosphere is claimed, so the
   host page keeps its own shell and the sportsbook module reads as a Signal
   Room panel set into it. */
.gi-embed { color: var(--text-body); font-family: var(--font-text); font-size: 14px; margin-top: 40px; }
.gi-embed .gi-section { padding-top: 0; }
.gi-embed .gi-section-head { margin-bottom: 14px; }
.gi-page a { color: var(--cb-blue-400); }
.gi-page a:hover { color: var(--cb-blue-300); }
.gi-hide-m { }
.r { text-align: right; }

/* ---- shared atoms ------------------------------------------------------ */
.gi-eyebrow {
  font-family: var(--font-display); font-size: 11px; font-weight: 700;
  letter-spacing: .14em; text-transform: uppercase; color: var(--text-muted);
}
.gi-eyebrow.is-accent { color: var(--cb-blue-400); }
.gi-mono { font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; white-space: nowrap; }
.gi-fine { font-size: 12px; line-height: 1.55; color: var(--text-faint); margin: 10px 0 0; }
.gi-none { color: var(--text-faint); }
.gi-sep { color: var(--text-faint); }
.gi-rule { height: 1px; background: rgba(27,66,103,.8); box-shadow: 0 1px 0 rgba(0,0,0,.4); }
.gi-i { flex: none; }

.gi-chip {
  display: inline-flex; align-items: center; height: 19px; padding: 0 7px; border-radius: 6px;
  font-family: var(--font-mono); font-size: 10.5px; font-weight: 700; letter-spacing: .02em; white-space: nowrap;
  color: var(--text-faint); background: rgba(2,17,31,.5); box-shadow: inset 0 0 0 1px rgba(57,101,140,.35);
}
/* ONE neutral tone for movement. Green/red would assert a bettor side the
   board does not know -- the same price move helps one side and hurts the
   other. Amber stays for withdrawal, which is availability, not direction. */
.gi-chip.is-moved { color: #7db8f0; background: rgba(77,150,224,.14); box-shadow: inset 0 0 0 1px rgba(77,150,224,.35); }
.gi-chip.is-off  { color: #f6c25e; background: rgba(242,181,68,.14); box-shadow: inset 0 0 0 1px rgba(242,181,68,.35); }
.gi-chip.is-none, .gi-chip.is-flat { color: var(--text-faint); }

.gi-dot { flex: none; width: 6px; height: 6px; border-radius: 50%; background: rgba(125,168,214,.22); box-shadow: 0 0 0 1px rgba(0,0,0,.35); }
.gi-dot.is-moved { background: #4d96e0; box-shadow: 0 0 6px rgba(77,150,224,.55); }
.gi-dot.is-off  { background: #f2b544; box-shadow: 0 0 6px rgba(242,181,68,.5); }

/* Team tile — the home "trend" tile: near-black, ringed, lit from the top. */
.gi-badge {
  flex: none; display: inline-flex; align-items: center; justify-content: center;
  border: 1px solid rgba(73,119,158,.48);
  background: radial-gradient(circle at 35% 20%, rgba(38,87,132,.22), transparent 58%), #020f1c;
  box-shadow: 0 7px 11px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.055), inset 0 -2px 3px rgba(0,0,0,.45);
  font-family: var(--font-display); font-weight: 800; color: var(--text-strong); letter-spacing: -.01em;
  text-shadow: 0 1px 1px rgba(0,0,0,.45);
}
.gi-badge.is-lg { width: 62px; height: 62px; border-radius: 16px; font-size: 19px; }
.gi-badge.is-sm { width: 30px; height: 30px; border-radius: 9px; font-size: 10px; }

.gi-price {
  font-family: var(--font-mono); font-size: 13px; font-weight: 700; font-variant-numeric: tabular-nums;
  color: var(--text-strong); border-radius: 6px; padding: 2px 5px; margin: -2px -5px;
  transition: background 160ms var(--ease-out), color 160ms var(--ease-out), box-shadow 160ms var(--ease-out);
}
.gi-scope .gi-price { color: var(--text-strong); }
.gi-scope .gi-price:hover { color: #fff; background: rgba(46,139,255,.18); box-shadow: inset 0 0 0 1px rgba(46,139,255,.4); }
.gi-price.is-gone { text-decoration: line-through; color: var(--text-faint); }

.gi-link {
  display: inline-flex; align-items: center; gap: 5px; font-size: 12.5px; font-weight: 700; color: var(--cb-blue-400);
  background: none; border: 0; padding: 0; cursor: pointer; font-family: var(--font-text);
}
.gi-link .gi-i { transition: transform var(--dur) var(--ease-out); }
.gi-link:hover .gi-i { transform: translateX(2px); }
.gi-btn-ghost, .gi-btn-primary {
  display: inline-flex; align-items: center; justify-content: center; height: 34px; padding: 0 14px; border-radius: 10px;
  font-family: var(--font-text); font-size: 12.5px; font-weight: 700; cursor: pointer; white-space: nowrap; border: 1px solid transparent;
  transition: transform var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out), background var(--dur) var(--ease-out), border-color var(--dur) var(--ease-out);
}
.gi-scope .gi-btn-ghost {
  color: var(--text-strong); background: var(--gi-glass); border-color: var(--gi-glass-border);
  box-shadow: 0 12px 26px -12px rgba(0,0,0,.6), inset 0 1px 0 rgba(255,255,255,.06);
}
.gi-scope .gi-btn-ghost:hover { transform: translateY(-1px); border-color: rgba(125,168,214,.5); }
.gi-scope .gi-btn-primary {
  color: #fff; border-color: rgba(31,111,214,.5);
  background: linear-gradient(180deg, #4FA6FF 0%, #2E8BFF 48%, #1F6FD6 100%);
  box-shadow: 0 14px 28px -8px rgba(46,139,255,.6), 0 2px 6px rgba(31,111,214,.35), inset 0 1px 0 rgba(255,255,255,.55);
}
.gi-scope .gi-btn-primary:hover { color: #fff; transform: translateY(-1px); box-shadow: 0 18px 34px -8px rgba(46,139,255,.7), 0 2px 6px rgba(31,111,214,.4), inset 0 1px 0 rgba(255,255,255,.6); }

/* ---- THE CARD: bezel + ringed surface (home slate recipe) --------------- */
.gi-panel, .gi-card, .gi-activity, .gi-group, .gi-page-narrow .gi-intel {
  position: relative; isolation: isolate; overflow: hidden;
  border: 7px solid transparent; border-radius: 22px;
  outline: 1px solid var(--gi-rim); outline-offset: -1px;
  background:
    linear-gradient(150deg, rgba(8,50,91,.30) 0%, rgba(2,18,33,0) 55%) padding-box,
    #03111f padding-box,
    repeating-linear-gradient(104deg, rgba(255,255,255,.026) 0 1px, transparent 1px 5px) border-box,
    radial-gradient(circle at 15% 15%, #111b22 0, #05090d 58%, #010306 100%) border-box;
  box-shadow:
    0 18px 40px rgba(0,0,0,.55),
    0 2px 5px rgba(0,0,0,.72),
    inset 0 0 0 1px var(--gi-ring),
    inset 0 1px 0 rgba(255,255,255,.045);
}
.gi-panel::after, .gi-card::after, .gi-activity::after, .gi-group::after, .gi-page-narrow .gi-intel::after {
  content: ""; position: absolute; inset: 0; z-index: 3; pointer-events: none; opacity: .2;
  background:
    repeating-radial-gradient(circle at 20% 30%, rgba(255,255,255,.08) 0 .6px, transparent .7px 3px),
    repeating-linear-gradient(24deg, rgba(255,255,255,.03) 0 1px, transparent 1px 4px);
  mix-blend-mode: soft-light;
}
.gi-group, .gi-activity { border-width: 6px; border-radius: 18px; }

/* Bands inside a card. */
.gi-band-head, .gi-card-head, .gi-rail, .gi-group-head, .gi-pgroup-head, .gi-ladder-head, .gi-drawer-bar, .gi-intel-head {
  background: var(--gi-band-head);
  border-bottom: 1px solid var(--gi-divider-head);
  box-shadow: inset 0 -1px 0 rgba(0,0,0,.52);
}
.gi-card-foot, .gi-panel-foot, .gi-intel-foot {
  background: var(--gi-band-head);
  border-top: 1px solid var(--gi-divider-head);
  box-shadow: inset 0 1px 0 rgba(0,0,0,.52);
}
.gi-prow-head, .gi-mtx-head, .gi-ladder-cols {
  background: var(--gi-band-strip);
  border-bottom: 1px solid rgba(22,62,99,.74);
  color: var(--text-muted);
  font-family: var(--font-display); font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.gi-row-band, .gi-prow, .gi-line-row, .gi-mtx-row, .gi-group-row, .gi-special, .gi-ladder-row {
  position: relative;
  background: var(--gi-band-row);
  border-bottom: 1px solid var(--gi-divider);
  box-shadow: inset 0 1px 0 rgba(51,105,153,.18), inset 0 -1px 0 rgba(0,0,0,.56);
}
.gi-prow:last-child, .gi-line-row:last-of-type, .gi-mtx-row:last-child, .gi-group-row:last-child, .gi-special:last-child, .gi-ladder-row:last-child { border-bottom: 0; }

/* ---- hero (inside the navy command zone) ------------------------------ */
.cb-hero.gi-hero { padding-top: 22px; padding-bottom: 22px; }
.gi-hero-top { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; margin-bottom: 20px; }
.gi-crumbs { display: flex; align-items: center; gap: 8px; font-size: 12.5px; font-weight: 600; color: var(--text-muted); }
.gi-crumbs a { color: var(--text-muted); }
.gi-crumbs a:hover { color: var(--text-strong); }
.gi-crumb-sep { color: var(--text-faint); }
.gi-hero-status { display: flex; align-items: center; gap: 12px; font-size: 12.5px; color: var(--text-muted); flex-wrap: wrap; }
.gi-observed {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 10px;
  background: var(--gi-glass); border: 1px solid var(--gi-glass-border); color: var(--text-body); font-weight: 600;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.gi-observed-dot { width: 6px; height: 6px; border-radius: 50%; background: #34d183; box-shadow: 0 0 0 3px rgba(52,209,131,.18), 0 0 8px rgba(52,209,131,.6); }
.gi-source-pill {
  display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 12px; border-radius: 10px;
  background: var(--gi-glass); border: 1px solid var(--gi-glass-border); color: var(--text-strong); font-weight: 700; font-size: 12.5px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}
.gi-source-sq { width: 8px; height: 8px; border-radius: 2px; background: var(--cb-blue-500); box-shadow: 0 0 8px rgba(46,139,255,.7); }

.gi-hero-grid { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(340px, 1fr); gap: 24px; align-items: stretch; }
.gi-matchup { display: flex; flex-direction: column; justify-content: center; gap: 18px; padding: 8px 0; }
.gi-matchup-row { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 20px; }
.gi-team { display: flex; align-items: center; gap: 16px; min-width: 0; }
.gi-team.is-home { justify-content: flex-end; text-align: right; }
.gi-team-id { min-width: 0; }
.gi-team-loc { font-family: var(--font-display); font-size: 11.5px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--cb-blue-300); }
.gi-team-name { font-family: var(--font-display); font-size: 32px; font-weight: 800; letter-spacing: -.035em; line-height: 1.05; color: var(--cb-hero-ink, #F5FAFF); margin: 0; text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.gi-team-meta { font-size: 12.5px; color: var(--text-muted); margin-top: 4px; }
.gi-at { font-family: var(--font-display); font-size: 13px; font-weight: 700; color: var(--text-faint); letter-spacing: .12em; }
.gi-kick { display: flex; align-items: center; justify-content: center; gap: 10px; flex-wrap: wrap; font-size: 13.5px; color: var(--text-body); }
.gi-kick-time { font-weight: 700; color: var(--text-strong); }
.gi-kick-state { color: var(--text-muted); }

.gi-activity { padding: 0; display: flex; flex-direction: column; }
.gi-activity-head { display: flex; align-items: center; justify-content: space-between; padding: 14px 18px 12px; }
.gi-activity-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; padding: 18px 18px 8px; }
.gi-stat-big { font-family: var(--font-display); font-size: 27px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.025em; color: var(--text-strong); line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.gi-stat-big.is-accent { color: var(--cb-blue-400); text-shadow: 0 0 14px rgba(46,139,255,.35); }
.gi-stat-label { font-family: var(--font-display); font-size: 10.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); margin-top: 8px; }
.gi-activity .gi-rule { margin: 8px 18px 0; }
.gi-activity-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 18px 14px; font-size: 12px; color: var(--text-muted); flex-wrap: wrap; }

/* ---- sticky market navigation ---------------------------------------- */
.gi-nav {
  position: sticky; top: 0; z-index: 30; margin: 0 -32px; padding: 12px 32px;
  background: rgba(6,21,34,.78); -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
  border-bottom: 1px solid rgba(125,168,214,.14);
}
.gi-nav-inner { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.gi-nav-spacer { flex: 1; }
.gi-nav-pills {
  display: flex; align-items: center; gap: 2px; padding: 3px; border-radius: 14px; overflow-x: auto; scrollbar-width: none;
  background: var(--gi-glass); border: 1px solid var(--gi-glass-border); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 6px 18px -10px rgba(0,0,0,.6);
}
.gi-nav-pills::-webkit-scrollbar { display: none; }
.gi-pill {
  display: inline-flex; align-items: center; height: 32px; padding: 0 13px; border-radius: 11px;
  font-family: var(--font-text); font-size: 13px; font-weight: 700; white-space: nowrap;
  transition: all 160ms var(--ease-out); color: var(--text-muted);
}
.gi-scope .gi-pill { color: var(--text-muted); }
.gi-scope .gi-pill:hover { color: var(--text-strong); }
.gi-scope .gi-pill.is-active {
  color: #fff; background: linear-gradient(180deg, rgba(46,139,255,.30), rgba(46,139,255,.14));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 0 0 1px rgba(46,139,255,.38), 0 8px 18px -10px rgba(46,139,255,.6);
}
.gi-pill-n { margin-left: 7px; font-family: var(--font-mono); font-size: 10.5px; color: var(--text-faint); font-weight: 500; }
.gi-scope .gi-pill.is-active .gi-pill-n { color: #a8d0ff; }
.gi-search {
  display: flex; align-items: center; gap: 8px; height: 38px; padding: 0 13px; min-width: 240px; border-radius: 12px;
  background: var(--gi-glass); border: 1px solid var(--gi-glass-border); color: var(--text-muted); box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  transition: border-color var(--dur) var(--ease-out), box-shadow var(--dur) var(--ease-out);
}
.gi-search:focus-within { border-color: rgba(46,139,255,.55); box-shadow: 0 0 0 3px rgba(46,139,255,.18); }
.gi-search input { flex: 1; background: transparent; border: 0; outline: none; color: var(--text-strong); font-family: var(--font-text); font-size: 13px; min-width: 0; }
.gi-search input::placeholder { color: var(--text-faint); }
.gi-search input::-webkit-search-cancel-button { -webkit-appearance: none; }
.gi-toggle {
  display: inline-flex; align-items: center; gap: 8px; white-space: nowrap; height: 38px; padding: 0 14px; border-radius: 12px; cursor: pointer;
  font-family: var(--font-text); font-size: 12.5px; font-weight: 700; transition: all 160ms; border: 1px solid var(--gi-glass-border);
  background: var(--gi-glass); color: var(--text-muted); box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.gi-toggle:hover { color: var(--text-strong); border-color: rgba(125,168,214,.5); }
.gi-toggle-dot { width: 7px; height: 7px; border-radius: 50%; background: var(--text-faint); }
.gi-toggle[aria-pressed="true"] { border-color: rgba(46,139,255,.55); background: rgba(46,139,255,.16); color: #a8d0ff; box-shadow: 0 0 0 1px rgba(46,139,255,.2) inset; }
.gi-toggle[aria-pressed="true"] .gi-toggle-dot { background: var(--cb-blue-400); box-shadow: 0 0 8px rgba(46,139,255,.8); }

/* ---- sections ---------------------------------------------------------- */
.gi-section { padding-top: 48px; }
.gi-section:first-of-type { padding-top: 36px; }
.gi-section-head { display: flex; align-items: flex-end; justify-content: space-between; gap: 16px; margin-bottom: 16px; flex-wrap: wrap; }
.gi-section-title { display: flex; align-items: baseline; gap: 14px; flex-wrap: wrap; }
.gi-section-title h2, .gi-subhead h3 { margin: 0; font-family: var(--font-display); font-size: 24px; font-weight: 800; letter-spacing: -.03em; color: var(--text-strong); text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.gi-subhead h3 { font-size: 16px; }
.gi-subhead { display: flex; align-items: baseline; gap: 12px; margin: 26px 0 12px; }
.gi-section-dek { font-size: 14px; color: var(--text-muted); }
.gi-section-meta { font-size: 12.5px; color: var(--text-faint); padding-bottom: 4px; }
.gi-side { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px; align-items: start; }

.gi-panel-foot, .gi-card-foot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap;
  padding: 12px 20px; font-size: 12px; color: var(--text-muted);
}
.gi-card-foot { padding: 11px 18px; }
.gi-card-alts { display: inline-flex; gap: 12px; flex-wrap: wrap; justify-content: flex-end; }

/* ---- game line cards --------------------------------------------------- */
.gi-lines { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.gi-card-head { display: flex; align-items: center; justify-content: space-between; padding: 13px 18px; }
.gi-line-row {
  display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 18px;
  cursor: pointer; transition: background 160ms var(--ease-out); color: inherit;
}
.gi-scope .gi-line-row { color: inherit; }
.gi-line-row:hover { background: var(--gi-band-row-hover); }
.gi-line-side { min-width: 0; }
.gi-line-name { font-weight: 700; color: var(--text-strong); font-size: 14px; }
.gi-line-trail { display: flex; align-items: center; gap: 8px; margin-top: 4px; font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); font-variant-numeric: tabular-nums; flex-wrap: wrap; }
.gi-line-val { text-align: right; }
.gi-line-big { font-family: var(--font-display); font-size: 25px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.025em; color: var(--text-strong); line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.gi-line-small { font-family: var(--font-mono); font-size: 11.5px; color: var(--text-muted); margin-top: 5px; font-variant-numeric: tabular-nums; }
.gi-line-absent { padding: 14px 18px 16px; background: var(--gi-band-row); box-shadow: inset 0 1px 0 rgba(51,105,153,.18); }
.gi-line-absent p { margin: 4px 0 0; font-size: 12.5px; color: var(--text-muted); line-height: 1.5; }

/* ---- generic market groups -------------------------------------------- */
.gi-groups { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.gi-group-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; }
.gi-group-title { font-family: var(--font-display); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--text-muted); }
.gi-group-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 16px; font-size: 13.5px; }
.gi-group-row:hover { background: var(--gi-band-row-hover); }
.gi-group-label { color: var(--text-strong); font-weight: 600; min-width: 0; overflow-wrap: anywhere; }
.gi-group-first { display: inline-flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); }
.gi-more > summary {
  list-style: none; cursor: pointer; padding: 10px 16px;
  background: var(--gi-band-strip); border-top: 1px solid rgba(22,62,99,.74);
  font-size: 12px; font-weight: 700; color: var(--cb-blue-400);
}
.gi-more > summary::-webkit-details-marker { display: none; }
.gi-more > summary:hover { color: var(--cb-blue-300); }
.gi-more[open] > summary { color: var(--text-muted); }

/* ---- player props ------------------------------------------------------ */
.gi-rail { display: flex; align-items: center; gap: 2px; padding: 6px 12px 0; overflow-x: auto; scrollbar-width: none; }
.gi-rail::-webkit-scrollbar { display: none; }
.gi-rail-tab {
  position: relative; height: 42px; padding: 0 13px; border: 0; background: transparent; cursor: pointer;
  font-family: var(--font-display); font-size: 13.5px; font-weight: 700; white-space: nowrap; color: var(--text-muted); transition: color 160ms;
}
.gi-rail-tab:hover { color: var(--text-body); }
.gi-rail-tab.is-active { color: var(--text-strong); }
.gi-rail-n { margin-left: 6px; font-family: var(--font-mono); font-size: 10.5px; font-weight: 500; color: var(--text-faint); }
.gi-rail-bar { position: absolute; left: 13px; right: 13px; bottom: -1px; height: 3px; border-radius: 3px; background: transparent; }
.gi-rail-tab.is-active .gi-rail-bar { background: var(--cb-blue-500); box-shadow: 0 0 10px rgba(46,139,255,.7); }

.gi-prow {
  display: grid; grid-template-columns: minmax(0, 1.6fr) 72px 64px 64px minmax(120px, 1fr) 84px 72px 36px; gap: 12px; align-items: center;
  padding: 11px 20px; transition: background 160ms var(--ease-out);
}
.gi-prow[data-gi-ladder] { cursor: pointer; }
.gi-prow[data-gi-ladder]:hover { background: var(--gi-band-row-hover); }
.gi-prow.is-open { background: var(--gi-band-row-hover); box-shadow: inset 3px 0 0 var(--cb-blue-500), inset 0 1px 0 rgba(51,105,153,.18); }
.gi-prow-head { padding: 10px 20px; min-height: 40px; cursor: default; box-shadow: none; }
.gi-prow-head:hover { background: var(--gi-band-strip); }
.gi-prow-market { display: flex; align-items: center; gap: 10px; min-width: 0; }
.gi-prow-name { font-weight: 600; color: var(--text-strong); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gi-prow-scope { display: inline-flex; align-items: center; height: 18px; padding: 0 6px; border-radius: 5px; font-family: var(--font-mono); font-size: 10.5px; font-weight: 700; color: #a8d0ff; background: rgba(46,139,255,.16); box-shadow: inset 0 0 0 1px rgba(46,139,255,.3); white-space: nowrap; }
.gi-prow-line { text-align: right; font-family: var(--font-display); font-size: 20px; font-weight: 800; font-variant-numeric: tabular-nums; letter-spacing: -.02em; color: var(--text-strong); line-height: 1; white-space: nowrap; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.gi-prow-price { text-align: right; }
.gi-prow-first { display: flex; align-items: center; gap: 8px; min-width: 0; font-family: var(--font-mono); font-size: 11.5px; font-variant-numeric: tabular-nums; color: var(--text-faint); }
.gi-prow-first > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gi-prow-alts { display: flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-muted); }
.gi-alts { display: inline-flex; align-items: center; gap: 4px; font-weight: 600; color: var(--text-muted); white-space: nowrap; }
.gi-scope .gi-alts { color: var(--text-muted); }
.gi-scope .gi-alts:hover, .gi-prow.is-open .gi-alts { color: var(--cb-blue-400); }
.gi-alts.is-tiny { font-size: 11px; margin-top: 4px; }
.gi-prow.is-open .gi-alts .gi-i { transform: rotate(180deg); }
.gi-alts .gi-i { transition: transform 200ms var(--ease-out); }
.gi-prow-obs { text-align: right; font-size: 12px; color: var(--text-muted); white-space: nowrap; }
.gi-prow-intel { display: flex; justify-content: flex-end; }
.gi-intel-btn {
  width: 30px; height: 30px; border-radius: 9px; border: 1px solid rgba(57,101,140,.35); background: rgba(2,17,31,.5); color: var(--text-muted);
  display: inline-flex; align-items: center; justify-content: center; transition: all 160ms var(--ease-out);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.gi-scope a.gi-intel-btn { color: var(--text-muted); }
.gi-scope a.gi-intel-btn:hover { background: rgba(46,139,255,.18); border-color: rgba(46,139,255,.45); color: #a8d0ff; box-shadow: 0 0 12px rgba(46,139,255,.25); }

.gi-pgroup-head { display: flex; align-items: center; gap: 12px; padding: 12px 20px; }
.gi-pgroup-name { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--text-strong); letter-spacing: -.01em; text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.gi-scope a.gi-pgroup-name { color: var(--text-strong); }
.gi-scope a.gi-pgroup-name:hover { color: var(--cb-blue-300); }
.gi-pgroup-meta { font-size: 12px; color: var(--text-muted); white-space: nowrap; flex: none; }
.gi-pgroup-rule { flex: 1; height: 1px; background: rgba(57,101,140,.35); margin-left: 6px; }
.gi-pgroup-link { font-size: 12px; font-weight: 700; color: var(--text-muted); white-space: nowrap; }
.gi-scope a.gi-pgroup-link { color: var(--cb-blue-400); }
.gi-scope a.gi-pgroup-link:hover { color: var(--cb-blue-300); }
.gi-pgroup-link.is-muted { color: var(--text-faint); }
.gi-pgroup[hidden], .gi-prow[hidden], .gi-group[hidden], .gi-mtx-row[hidden], .gi-special[hidden] { display: none !important; }
.gi-scope.is-moved-only [data-gi-row][data-moved="0"] { display: none; }

/* ---- alternate ladder -------------------------------------------------- */
.gi-ladder { position: relative; overflow: hidden; border-radius: 14px; border: 1px solid var(--gi-ring); background: #03111f; box-shadow: inset 0 0 0 1px rgba(0,0,0,.6); }
.gi-ladder.is-inline { margin: 8px 20px 12px; }
.gi-ladder-head { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 16px; }
.gi-ladder-title { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.gi-ladder-note { font-size: 12px; color: var(--text-faint); }
.gi-ladder-cols, .gi-ladder-row { display: grid; grid-template-columns: 76px 84px 84px minmax(0, 1fr) 90px; gap: 12px; align-items: center; padding: 8px 16px; }
.gi-ladder-cols { padding: 8px 16px; font-size: 10.5px; }
.gi-ladder-row.is-offered { background: linear-gradient(108deg, rgba(20,80,140,.98), rgba(8,50,91,.96)); box-shadow: inset 3px 0 0 var(--cb-blue-500), inset 0 1px 0 rgba(51,105,153,.18); }
.gi-ladder-line { font-family: var(--font-display); font-size: 14px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-strong); display: flex; align-items: center; gap: 8px; }
.gi-ladder-line em { font-style: normal; font-family: var(--font-mono); font-size: 9.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #a8d0ff; }
.gi-ladder-first { display: flex; align-items: center; gap: 8px; font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); min-width: 0; }
.gi-ladder-first > span:first-child { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gi-ladder-obs { font-family: var(--font-mono); font-size: 11px; color: var(--text-faint); white-space: nowrap; }

/* ---- matrices ---------------------------------------------------------- */
.gi-mtx { display: grid; gap: 12px; align-items: center; padding: 12px 18px; }
.gi-mtx-head { min-height: 40px; padding: 10px 18px; }
.gi-mtx-row:hover { background: var(--gi-band-row-hover); }
.gi-mtx-team { grid-template-columns: minmax(0, 1fr) 190px 190px; }
.gi-mtx-score { grid-template-columns: minmax(0, 1fr) 96px 96px 96px; padding: 11px 18px; }
.gi-mtx-period { grid-template-columns: 110px repeat(3, minmax(0, 1fr)); }
.gi-mtx-market { min-width: 0; }
.gi-mtx-name { font-weight: 600; color: var(--text-strong); font-size: 13.5px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gi-mtx-note { font-size: 11.5px; color: var(--text-faint); margin-top: 2px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.gi-mtx-cell { text-align: right; }
.gi-cell-big { font-family: var(--font-display); font-size: 16px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-strong); line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.gi-cell-big.is-muted { color: var(--text-faint); text-shadow: none; }
.gi-cell-small { display: flex; justify-content: flex-end; align-items: center; gap: 6px; font-family: var(--font-mono); font-size: 11px; color: var(--text-muted); margin-top: 4px; white-space: nowrap; }
.gi-cell-small .gi-price { font-size: 11px; }
.gi-mtx-score .gi-chip { margin-left: 6px; }
.gi-mtx-score > div:not(.gi-mtx-name) { white-space: nowrap; }
.gi-period-name { font-family: var(--font-display); font-size: 15px; font-weight: 800; color: var(--text-strong); text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.gi-mtx-stack { display: flex; flex-direction: column; gap: 3px; font-family: var(--font-mono); font-size: 12px; font-variant-numeric: tabular-nums; color: var(--text-body); }
.gi-mtx-stack > span { display: flex; justify-content: space-between; gap: 8px; align-items: center; max-width: 200px; }
.gi-mtx-k { color: var(--text-muted); }
.gi-mtx-v { font-weight: 700; display: inline-flex; align-items: center; gap: 6px; }

/* ---- segmented control --------------------------------------------------- */
.gi-seg { display: flex; align-items: center; gap: 2px; padding: 3px; border-radius: 12px; background: var(--gi-glass); border: 1px solid var(--gi-glass-border); box-shadow: inset 0 1px 0 rgba(255,255,255,.04); }
.gi-seg-btn { height: 30px; padding: 0 13px; border: 0; border-radius: 9px; cursor: pointer; white-space: nowrap; font-family: var(--font-text); font-size: 12.5px; font-weight: 700; background: transparent; color: var(--text-muted); transition: all 160ms var(--ease-out); }
.gi-seg-btn:hover { color: var(--text-strong); }
.gi-seg-btn.is-active { background: linear-gradient(180deg, rgba(46,139,255,.30), rgba(46,139,255,.14)); color: #fff; box-shadow: inset 0 1px 0 rgba(255,255,255,.14), 0 0 0 1px rgba(46,139,255,.38); }

/* ---- specials ---------------------------------------------------------- */
.gi-special {
  display: grid; grid-template-columns: minmax(0, 1fr) auto auto; gap: 20px; align-items: center; padding: 14px 20px;
  cursor: pointer; color: inherit; transition: background 160ms var(--ease-out);
}
.gi-scope a.gi-special { color: inherit; }
.gi-special:hover { background: var(--gi-band-row-hover); }
.gi-special-body { min-width: 0; }
.gi-special-kind { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.gi-special-kind .gi-eyebrow { font-size: 10.5px; letter-spacing: .12em; }
.gi-special-scope { font-size: 11.5px; color: var(--text-faint); }
.gi-special-text { margin-top: 4px; font-size: 14px; font-weight: 600; color: var(--text-strong); line-height: 1.4; }
.gi-special-price { text-align: right; }
.gi-special-price .gi-line-big { font-size: 20px; }
.gi-special-price .gi-line-trail { justify-content: flex-end; margin-top: 4px; }
.gi-special > .gi-i { color: var(--text-faint); transition: color var(--dur) var(--ease-out), transform var(--dur) var(--ease-out); }
.gi-special:hover > .gi-i { color: var(--cb-blue-400); transform: translate(1px, -1px); }

/* ---- empty states -------------------------------------------------------- */
.gi-empty { padding: 48px 20px; text-align: center; }
.gi-empty.is-inline { padding: 32px 20px; }
.gi-empty-title { font-family: var(--font-display); font-size: 15px; font-weight: 700; color: var(--text-strong); }
.gi-empty p { font-size: 13px; color: var(--text-muted); margin: 6px 0 0; }

/* ---- page footer --------------------------------------------------------- */
.gi-foot { margin-top: 56px; padding-top: 18px; border-top: 1px solid rgba(125,168,214,.14); display: flex; justify-content: space-between; gap: 12px; flex-wrap: wrap; font-size: 12px; color: var(--text-faint); }

/* ---- drawer ---------------------------------------------------------------- */
.gi-drawer[hidden], .gi-overlay[hidden], .gi-empty[hidden] { display: none !important; }
.gi-overlay { position: fixed; inset: 0; z-index: 50; background: rgba(2,10,18,.62); -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); }
.gi-drawer {
  position: fixed; top: 0; right: 0; bottom: 0; z-index: 60; width: 540px; max-width: 100vw;
  background: linear-gradient(180deg, #041a2e 0%, #03111f 100%);
  border-left: 1px solid var(--gi-ring); box-shadow: -24px 0 64px rgba(0,0,0,.6), inset 1px 0 0 rgba(255,255,255,.04); display: flex; flex-direction: column;
  animation: giDrawerIn 240ms var(--ease-out);
}
@keyframes giDrawerIn { from { transform: translateX(24px); } to { transform: none; } }
@media (prefers-reduced-motion: reduce) { .gi-drawer { animation: none; } }
.gi-drawer-bar { display: flex; align-items: center; justify-content: space-between; padding: 16px 22px; }
.gi-drawer-body { flex: 1; overflow-y: auto; padding: 18px 22px 24px; }
.gi-drawer-body .gi-ladder { background: transparent; border: 0; box-shadow: none; border-radius: 0; }
.gi-drawer-body .gi-ladder-head { background: transparent; border-bottom: 1px solid var(--gi-divider-head); box-shadow: none; padding-left: 4px; padding-right: 4px; }
.gi-drawer-body .gi-ladder-cols, .gi-drawer-body .gi-ladder-row { grid-template-columns: 70px 72px 72px minmax(0, 1fr) 76px; padding-left: 10px; padding-right: 10px; }
.gi-drawer-body .gi-ladder-cols { background: transparent; }
.gi-drawer-body .gi-intel-head { padding: 0 0 16px; background: transparent; box-shadow: none; }
.gi-drawer-body .gi-intel-body { padding: 20px 0 0; }
.gi-drawer-body .gi-intel-foot { padding: 16px 0 0; background: transparent; box-shadow: none; }
.gi-drawer-body .gi-intel-head .gi-drawer-close { display: none; }
.gi-drawer-close {
  flex: none; width: 34px; height: 34px; border-radius: 10px; border: 1px solid var(--gi-glass-border); background: var(--gi-glass); color: var(--text-muted); cursor: pointer;
  display: inline-flex; align-items: center; justify-content: center; transition: all var(--dur) var(--ease-out);
}
.gi-drawer-close:hover { color: var(--text-strong); border-color: rgba(125,168,214,.5); background: rgba(46,139,255,.14); }
.gi-drawer-loading { padding: 24px 10px; font-size: 13px; color: var(--text-muted); }

/* ---- wager intelligence ------------------------------------------------------ */
.gi-intel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 20px 22px 18px; }
.gi-intel-id { min-width: 0; }
.gi-intel-title { font-family: var(--font-display); font-size: 22px; font-weight: 800; letter-spacing: -.03em; color: var(--text-strong); margin-top: 6px; line-height: 1.15; text-shadow: 0 1px 1px rgba(0,0,0,.45); }
.gi-intel-sub { font-size: 12.5px; color: var(--text-muted); margin-top: 5px; }
.gi-intel-body { padding: 22px; display: flex; flex-direction: column; gap: 24px; }
.gi-intel-stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.gi-stat { padding: 12px 14px; border-radius: 12px; background: var(--gi-band-row); border: 1px solid var(--gi-ring); box-shadow: inset 0 1px 0 rgba(51,105,153,.18); }
.gi-stat.is-current { background: linear-gradient(150deg, rgba(46,139,255,.28), rgba(8,50,91,.9)); border-color: rgba(46,139,255,.5); box-shadow: 0 0 0 1px rgba(46,139,255,.25), 0 0 22px rgba(46,139,255,.22), inset 0 1px 0 rgba(255,255,255,.12); }
.gi-stat.is-dashed { border-style: dashed; border-color: rgba(57,101,140,.45); background: rgba(2,17,31,.5); box-shadow: none; }
.gi-stat .gi-stat-label { margin: 0; font-size: 10.5px; color: var(--text-faint); text-transform: uppercase; letter-spacing: .08em; }
.gi-stat.is-current .gi-stat-label, .gi-stat.is-current .gi-stat-at { color: #a8d0ff; }
.gi-stat-val { font-family: var(--font-display); font-size: 19px; font-weight: 800; font-variant-numeric: tabular-nums; color: var(--text-body); margin-top: 7px; line-height: 1; text-shadow: 0 1px 2px rgba(0,0,0,.6); }
.gi-stat.is-current .gi-stat-val { color: #fff; }
.gi-stat.is-dashed .gi-stat-val { color: var(--text-faint); text-shadow: none; }
.gi-stat-at { font-family: var(--font-mono); font-size: 10.5px; color: var(--text-faint); margin-top: 6px; }
.gi-intel-row { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.gi-intel-move { font-family: var(--font-mono); font-size: 12.5px; color: var(--text-strong); margin: -4px 0 10px; }
.gi-history { display: flex; flex-direction: column; }
.gi-history-row { display: grid; grid-template-columns: 14px 1fr auto; gap: 12px; align-items: start; padding: 6px 0; }
.gi-history-rail { display: flex; flex-direction: column; align-items: center; height: 100%; }
.gi-history-dot { width: 8px; height: 8px; border-radius: 50%; margin-top: 5px; flex: none; background: var(--text-faint); }
.gi-history-dot.is-now { background: var(--cb-blue-500); box-shadow: 0 0 0 1px rgba(46,139,255,.45), 0 0 12px rgba(46,139,255,.6); }
.gi-history-line { width: 1px; flex: 1; min-height: 18px; background: rgba(57,101,140,.45); margin-top: 4px; }
.gi-history-val { font-size: 13px; color: var(--text-strong); font-weight: 600; font-family: var(--font-mono); font-variant-numeric: tabular-nums; }
.gi-history-note { font-size: 11.5px; color: var(--text-faint); margin-top: 2px; }
.gi-avail { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; font-size: 12.5px; }
.gi-avail > div { padding: 10px 12px; border-radius: 10px; background: rgba(2,17,31,.6); border: 1px solid rgba(57,101,140,.35); }
.gi-avail .gi-stat-label { margin: 0; font-size: 10.5px; color: var(--text-faint); text-transform: uppercase; letter-spacing: .08em; }
.gi-avail-val { color: var(--text-strong); font-weight: 700; font-variant-numeric: tabular-nums; margin-top: 4px; }
.gi-avail-val.is-ok { color: #4fe0a0; }
.gi-avail-val.is-off { color: #f6c25e; }
.gi-intel-prob { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 8px 0 2px; }
.gi-layers { border-radius: 12px; border: 1px solid var(--gi-ring); overflow: hidden; background: #03111f; }
.gi-layer { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 11px 14px; background: var(--gi-band-row); border-bottom: 1px solid var(--gi-divider); box-shadow: inset 0 1px 0 rgba(51,105,153,.18); font-size: 13px; color: var(--text-body); }
.gi-layer:last-child { border-bottom: 0; }
.gi-layer > span:first-child { display: inline-flex; align-items: center; gap: 10px; font-weight: 600; color: var(--text-strong); }
.gi-layer > span:last-child { font-size: 11.5px; color: var(--text-faint); text-align: right; }
.gi-layer-dot { width: 7px; height: 7px; border-radius: 50%; background: rgba(125,168,214,.25); }
.gi-layer-dot.is-on { background: #34d183; box-shadow: 0 0 8px rgba(52,209,131,.6); }
.gi-intel-foot { padding: 14px 22px; display: flex; gap: 8px; justify-content: flex-end; flex-wrap: wrap; }

/* ---- responsive -------------------------------------------------------------- */
@media (max-width: 1080px) {
  .gi-hero-grid, .gi-lines, .gi-side, .gi-groups { grid-template-columns: 1fr; }
  .gi-mtx-team { grid-template-columns: minmax(0, 1fr) 170px 170px; }
}
@media (max-width: 760px) {
  .gi-hide-m { display: none !important; }
  .gi-nav { margin: 0 -24px; padding: 10px 24px; }
  .gi-search { min-width: 0; flex: 1; }
  .gi-prow { grid-template-columns: minmax(0, 1fr) 58px 58px 58px; gap: 8px; padding: 10px 14px; }
  .gi-prow-head { padding: 10px 14px; }
  .gi-dot { display: none; }
  .gi-prow-name { white-space: normal; font-size: 13px; }
  .gi-prow-line { font-size: 17px; }
  .gi-pgroup-head { padding: 12px 14px 6px; gap: 8px; }
  .gi-pgroup-rule, .gi-pgroup-meta { display: none; }
  .gi-pgroup-link { margin-left: auto; }
  .gi-ladder.is-inline { margin: 0 8px 10px; }
  .gi-matchup-row { grid-template-columns: 1fr; gap: 12px; }
  .gi-team.is-home { justify-content: flex-start; text-align: left; flex-direction: row-reverse; }
  .gi-at { display: none; }
  .gi-team-name { font-size: 26px; }
  .gi-activity-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .gi-drawer { width: 100vw; }
  .gi-mtx-team { grid-template-columns: minmax(0, 1fr) 110px 110px; }
  .gi-mtx-score { grid-template-columns: minmax(0, 1fr) 72px 72px 72px; }
  .gi-mtx-period { grid-template-columns: 90px repeat(3, minmax(0, 1fr)); }
  .gi-ladder-cols, .gi-ladder-row { grid-template-columns: 64px 72px 72px 70px; }
  .gi-intel-stats { grid-template-columns: 1fr; }
  .gi-special { grid-template-columns: minmax(0, 1fr) auto; }
  .gi-section-title h2 { font-size: 21px; }
}
@media (max-width: 767px) {
  .cb-shell .gi-nav { margin: 0 -20px; padding-left: 20px; padding-right: 20px; }
}
