.live-hero { width: 100%; max-width: none; min-height: 0; margin: 0; padding: clamp(14px, 2vh, 26px) clamp(8px, 1vw, 18px) 12px; }
.live-nav { display: flex; align-items: center; justify-content: flex-end; gap: 8px; flex-wrap: wrap; }
.live-main { width: 100%; max-width: none; min-width: 0; margin: 0; padding: 0 clamp(8px, 1vw, 18px) clamp(18px, 3vh, 42px); }
.live-summary { display: grid; grid-template-columns: repeat(6, minmax(105px, 1fr)); gap: 7px; margin: 0 0 10px; }
.live-summary > div { min-width: 0; padding: 8px 10px; border: 1px solid var(--line); border-radius: 9px; background: #091714; }
.live-summary span { display: block; color: var(--muted); font-size: .55rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.live-summary strong { display: block; overflow: hidden; margin-top: 2px; color: var(--text); font-size: .82rem; text-overflow: ellipsis; white-space: nowrap; }
.sticky-live-controls { position: sticky; top: 0; z-index: 20; width: 100%; max-width: 100%; min-width: 0; padding: 8px; overflow: hidden; border: 1px solid var(--line); border-radius: 10px; background: rgba(4, 15, 14, .97); backdrop-filter: blur(12px); }
.sheet-tabs { display: flex; width: 100%; min-width: 0; gap: 5px; overflow-x: auto; padding-bottom: 4px; scrollbar-width: thin; }
.sheet-tabs button { flex: 0 0 auto; padding: 7px 10px; white-space: nowrap; }
.live-toolbar { display: flex; width: 100%; min-width: 0; align-items: center; gap: 7px; flex-wrap: wrap; margin-top: 7px; }
.live-toolbar > * { min-width: 0; }
.live-toolbar .team-filter { flex: 1 1 250px; min-width: 190px; }
.live-health { margin-top: 7px; padding: 6px 8px; border-left: 3px solid var(--green); background: rgba(56, 207, 148, .07); color: var(--muted); font-size: .65rem; }
.live-health.warning { border-left-color: #c99745; background: rgba(201, 151, 69, .07); color: #d9bd8a; }
.live-health.error { border-left-color: #ff5f62; color: #ff9fa1; }
.live-board { min-width: 0; margin-top: 10px; }
.drive-theater-toggle { position: fixed; right: clamp(10px, 1.1vw, 20px); bottom: clamp(10px, 1.1vw, 20px); z-index: 80; padding: 7px 10px; border-color: rgba(85, 230, 165, .55); background: rgba(6, 24, 19, .92); color: #dff8ee; font-size: .68rem; box-shadow: 0 8px 24px rgba(0, 0, 0, .32); backdrop-filter: blur(10px); }
.drive-theater-toggle:hover, .drive-theater-toggle:focus-visible { border-color: #55e6a5; background: #103428; }
.best-arb-banner { display: grid; grid-template-columns: auto minmax(220px, 1.2fr); gap: 8px 16px; margin: 0 0 8px; padding: 12px 14px; border: 1px solid #2a493e; border-radius: 10px; background: linear-gradient(120deg, #0b211a, #081514); }
.best-arb-banner[hidden], .sportsbook-book-chips[hidden] { display: none !important; }
.best-arb-banner.arb { border-color: #16c979; box-shadow: inset 4px 0 #16c979; }
.best-arb-banner.middle { border-color: #b88829; box-shadow: inset 4px 0 #e5ad34; }
.best-arb-banner.middle .best-arb-heading > span, .best-arb-banner.middle .best-arb-result strong { color: #f4c65b; }
.best-arb-banner.neutral { border-color: #233b34; background: #081513; }
.best-arb-banner.neutral .best-arb-heading > span, .best-arb-banner.neutral .best-arb-result strong { color: #91a39d; }
.best-arb-banner.waiting { display: flex; align-items: baseline; gap: 10px; color: var(--muted); }
.best-arb-heading { min-width: 0; }
.best-arb-heading > span { display: block; color: #61e6ad; font-size: .58rem; font-weight: 900; letter-spacing: .08em; }
.best-arb-heading > strong { display: block; overflow: hidden; margin: 3px 0; color: #f2fff9; font-size: 1rem; text-overflow: ellipsis; white-space: nowrap; }
.best-arb-heading > em, .best-arb-result { color: var(--muted); font-size: .66rem; font-style: normal; }
.best-arb-result { align-self: center; min-width: 112px; color: #65f2aa; white-space: nowrap; }
.best-arb-result strong, .best-arb-result span { display: block; }
.best-arb-result strong { font-size: 1.05rem; font-weight: 950; }
.best-arb-result span { margin-top: 2px; color: var(--muted); font-size: .52rem; font-weight: 850; letter-spacing: .04em; }
.best-arb-legs { display: flex; grid-column: 1 / -1; gap: 6px; min-width: 0; }
.best-arb-leg { flex: 1; min-width: 0; padding: 7px 9px; border: 1px solid #2a493e; border-radius: 7px; background: #07110f; color: #dcebe5; text-decoration: none; }
.best-arb-leg span, .best-arb-leg em { display: block; overflow: hidden; font-size: .6rem; font-style: normal; text-overflow: ellipsis; white-space: nowrap; }
.best-arb-leg strong { color: #dcebe5; font-size: .9rem; }
.best-arb-banner.arb .best-arb-leg strong { color: #64f2a9; }
.best-arb-banner.middle .best-arb-leg strong { color: #f4c65b; }
.best-arb-leg em { color: var(--muted); }
.best-arb-banner > small { grid-column: 1 / -1; color: var(--muted); font-size: .56rem; }
.drive-value-banner { display: grid; grid-template-columns: minmax(220px, .8fr) minmax(0, 2.2fr); gap: 8px 12px; margin: 0 0 8px; padding: 10px 12px; border: 1px solid #285244; border-radius: 10px; background: linear-gradient(120deg, #0b211a, #081513); }
.drive-value-banner[hidden] { display: none !important; }
.drive-value-banner.waiting { display: flex; align-items: baseline; gap: 10px; color: var(--muted); font-size: .66rem; }
.drive-value-banner.waiting strong { color: #dcebe5; }
.drive-value-heading { min-width: 0; }
.drive-value-heading > span, .drive-value-heading > strong, .drive-value-heading > em { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drive-value-heading > span { color: #62e5ad; font-size: .57rem; font-weight: 900; letter-spacing: .07em; }
.drive-value-heading > strong { margin: 3px 0; color: #65f2aa; font-size: 1.08rem; font-weight: 950; }
.drive-value-heading > em { color: var(--muted); font-size: .62rem; font-style: normal; }
.drive-value-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 6px; min-width: 0; }
.drive-value-card { min-width: 0; padding: 6px 8px; border: 1px solid #2c4b41; border-radius: 7px; background: #07110f; color: #dcebe5; text-decoration: none; }
.drive-value-card:hover { border-color: #50d99f; background: #092019; }
.drive-value-card span, .drive-value-card strong, .drive-value-card em, .drive-value-card small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drive-value-card span { color: #b8cdc5; font-size: .54rem; font-weight: 850; }
.drive-value-card strong { color: #65f2aa; font-size: .77rem; }
.drive-value-card em, .drive-value-card small { color: var(--muted); font-size: .5rem; font-style: normal; }
.sportsbook-book-chips { display: flex; align-items: center; gap: 5px; flex-wrap: wrap; margin-bottom: 8px; color: var(--muted); font-size: .59rem; }
.sportsbook-book-chips > strong { color: #c8ddd5; font-size: .58rem; }
.drive-all-books { padding: 3px 7px; border: 1px solid #31564a; border-radius: 5px; background: #0b211a; color: #dff7ee; font: inherit; font-weight: 850; cursor: pointer; }
.drive-all-books:disabled { opacity: .42; cursor: default; }
.drive-filter-chip { display: inline-flex; min-width: 0; overflow: hidden; border: 1px solid #31564a; border-radius: 6px; background: #0b211a; }
.drive-filter-chip > button, .drive-provider-pending { display: grid; grid-template-columns: auto auto; column-gap: 4px; align-items: center; min-width: 0; padding: 3px 5px; border: 0; background: transparent; color: #dff7ee; font: inherit; cursor: pointer; }
.drive-filter-chip > button b, .drive-provider-pending b { grid-row: span 2; color: #66ecb2; font-size: .53rem; letter-spacing: .03em; }
.drive-filter-chip > button span, .drive-provider-pending span { overflow: hidden; max-width: 94px; font-weight: 850; text-overflow: ellipsis; white-space: nowrap; }
.drive-filter-chip > button small, .drive-provider-pending small { color: #8fb0a4; font-size: .47rem; font-weight: 700; white-space: nowrap; }
.drive-filter-chip > a { display: grid; place-items: center; padding: 0 5px; border-left: 1px solid #28453c; color: #89dcbc; text-decoration: none; }
.drive-filter-chip.excluded { border-color: #263330; background: #101716; opacity: .58; }
.drive-filter-chip.excluded > button { color: #83958f; }
.drive-filter-chip.pending { border-color: #2b3433; background: #101615; opacity: .63; }
.drive-provider-pending { cursor: default; }
.drive-filter-chip.no-market { border-color: #78612f; background: #201b0e; }
.drive-filter-chip.no-market > button b, .drive-filter-chip.no-market > button small { color: #e5bd55; }
.drive-filter-chip.last { border-color: #6c5728; background: #1d180d; }
.drive-market-toggles { display: inline-flex; align-items: center; gap: 6px; margin: 0; padding: 2px 5px; border: 1px solid #29463d; border-radius: 6px; color: #a9c1b8; }
.drive-market-toggles legend { float: left; padding: 0 3px; color: #6f9184; font-size: .47rem; font-weight: 850; text-transform: uppercase; }
.drive-market-toggles label { display: inline-flex; align-items: center; gap: 3px; font-size: .57rem; font-weight: 800; white-space: nowrap; }
.drive-market-toggles input { width: 13px; height: 13px; margin: 0; accent-color: #4bdd9f; }
.next-play-board { margin: 0 0 8px; overflow: hidden; border: 1px solid #29463d; border-radius: 9px; background: #06110e; }
.next-play-heading { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 6px 8px; border-bottom: 1px solid #29463d; background: #0c211a; }
.next-play-heading span, .next-play-heading b, .next-play-heading small { display: block; }
.next-play-heading b { color: #e5f4ef; font-size: .74rem; }
.next-play-heading small, .next-play-heading em { color: #7f9b90; font-size: .48rem; font-style: normal; }
.first-down-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 5px; padding: 5px; }
.first-down-grid > p { grid-column: 1 / -1; margin: 0; padding: 9px; color: #869b93; font-size: .62rem; }
.first-down-card { min-width: 0; overflow: hidden; border: 1px solid #223a32; border-radius: 7px; background: #071713; }
.first-down-card > header { display: grid; grid-template-columns: 22px minmax(0, 1fr) auto; align-items: center; gap: 5px; min-width: 0; padding: 4px 5px; border-bottom: 1px solid #20352e; }
.first-down-card > header > span:nth-child(2) { min-width: 0; }
.first-down-card > header b, .first-down-card > header small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.first-down-card > header b { color: #dbeae5; font-size: .59rem; }
.first-down-card > header small { color: #7e978e; font-size: .44rem; }
.first-down-signal { color: #768b84; font-size: .48rem; white-space: nowrap; }
.first-down-signal.value, .first-down-signal.arb { color: #62eea5; }
.first-down-head, .first-down-book-row { display: grid; grid-template-columns: minmax(72px, .65fr) repeat(2, minmax(70px, 1fr)) minmax(82px, .8fr); align-items: center; gap: 3px; min-width: 0; padding: 2px 4px; }
.first-down-head { color: #71887f; font-size: .42rem; text-align: center; text-transform: uppercase; }
.first-down-head span:first-child { text-align: left; }
.first-down-book-row { border-top: 1px solid #172923; }
.first-down-book-row > span { display: flex; min-width: 0; align-items: center; gap: 4px; color: #b8cdc5; font-size: .49rem; }
.first-down-book-row > span b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.first-down-book-row > small { overflow: hidden; color: #879c94; font-size: .42rem; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.first-down-price { position: relative; display: grid; grid-template-columns: auto auto; align-items: baseline; gap: 0 4px; min-width: 0; padding: 3px 4px; border: 1px solid #1d302a; border-radius: 4px; background: #0a1714; color: #dcece6; text-decoration: none; font-variant-numeric: tabular-nums; }
.first-down-price > strong { font-size: .65rem; }
.first-down-price > span { color: #829a91; font-size: .43rem; text-align: right; }
.first-down-price > small { grid-column: 1 / -1; overflow: hidden; color: #768b83; font-size: .42rem; text-overflow: ellipsis; white-space: nowrap; }
.first-down-price > i { position: absolute; top: -3px; right: -3px; display: grid; width: 8px; height: 8px; place-items: center; border-radius: 50%; background: #e6b448; color: #171005; font-size: 6px; font-style: normal; font-weight: 950; }
.first-down-price.value-up { border-color: #118953; background: rgba(22, 201, 121, .15); }
.first-down-price.value-up > strong, .first-down-price.value-up > small { color: #62eea5; }
.first-down-price.last-price { opacity: .78; font-style: italic; }
.first-down-price.temporarily-unavailable { border-color: #a97821; background: rgba(235, 173, 55, .14); color: #edc86d; }
.first-down-price.missing { display: block; color: #52615c; text-align: center; }
.arb-book-chip, .matrix-book-toggle { border: 1px solid #31564a; border-radius: 5px; background: #0b211a; color: #dff7ee; font: inherit; font-weight: 800; cursor: pointer; }
.arb-book-chip { padding: 4px 7px; }
.arb-book-chip.excluded { border-color: #2a3334; background: #111819; color: #6f807b; text-decoration: line-through; }
.matrix-book-toggle { width: 100%; padding: 3px; border: 0; background: transparent; color: #b7d5ca; }
.live-legend { display: flex; gap: 12px; flex-wrap: wrap; margin: 0 0 6px; color: var(--muted); font-size: .61rem; }
.live-legend span { display: inline-flex; align-items: center; gap: 4px; }
.live-arb-swatch { background: #16c979; }
.live-middle-swatch { background: #e5ad34; }
.live-table-wrap { width: 100%; min-width: 0; overflow: auto; max-height: calc(100vh - 250px); border: 1px solid #22323a; border-radius: 10px; background: #05090b; }
.live-table { width: 100%; min-width: 1150px; table-layout: fixed; border-collapse: separate; border-spacing: 0; font-size: .67rem; }
.live-table th, .live-table td { height: 29px; overflow: hidden; padding: 3px 5px; border-bottom: 1px solid #182228; text-align: right; text-overflow: ellipsis; white-space: nowrap; font-variant-numeric: tabular-nums; }
.live-table th { position: sticky; top: 0; z-index: 4; background: #081315; color: #93aaa1; font-size: .56rem; letter-spacing: .045em; text-transform: uppercase; }
.live-table .left { text-align: left; }
.live-table .sport-col { width: 86px; }
.live-table .event-col { width: 190px; }
.live-table .market-col { width: 78px; }
.live-table .selection-col { width: 130px; }
.live-table .book-col { width: 90px; }
.live-table .odds-col { width: 64px; }
.live-table .kalshi-col { width: 115px; }
.live-table .liquidity-col { width: 105px; }
.live-table .roi-col, .live-table .age-col { width: 68px; }
.live-table tbody tr:hover td { background: #0c1718; }
.live-table tr.arb td { background: rgba(22, 201, 121, .1); }
.live-table .positive { color: #36e38e; font-weight: 900; }
.live-table .negative { color: #ff5f62; }
.live-table .kalshi-price { color: #6fdcff; font-weight: 850; }
.live-table .book-source { color: #d8e5df; font-weight: 800; text-decoration: none; }
.live-table a.book-source:hover { color: #71e8b5; text-decoration: underline; }
.live-table .book-source.pending-proof { color: #e5ad34; text-decoration: underline dotted; text-underline-offset: 2px; }
.live-table .compact-name { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.live-table .subvalue { display: block; overflow: hidden; color: var(--muted); font-size: .52rem; line-height: 1.05; text-overflow: ellipsis; }
.live-table .empty { height: 88px; color: var(--muted); text-align: center; }
.sportsbook-arb-matrix { min-width: 920px; table-layout: auto; }
.sportsbook-arb-matrix .signal-col { width: 98px; min-width: 98px; text-align: center; }
.sportsbook-arb-matrix .signal-col strong, .sportsbook-arb-matrix .signal-col span { display: block; }
.sportsbook-arb-matrix .signal-col span { color: #70817b; font-size: .49rem; }
.sportsbook-arb-matrix .event-col { width: 180px; max-width: 180px; }
.sportsbook-arb-matrix .market-col { width: 105px; max-width: 105px; }
.sportsbook-arb-matrix .selection-col { width: 150px; max-width: 150px; }
.sportsbook-arb-matrix .best-col { width: 105px; min-width: 96px; }
.sportsbook-arb-matrix .book-price-col { min-width: 100px; width: 108px; text-align: center; }
.sportsbook-arb-matrix .kalshi-api-col { width: 176px; min-width: 166px; }
.sportsbook-arb-matrix th.kalshi-api-col > span { display: block; color: #79a79a; font-size: .46rem; letter-spacing: 0; text-transform: none; }
.sportsbook-arb-matrix td.kalshi-api-col { height: auto; overflow: visible; padding: 3px; white-space: normal; }
.kalshi-contract { display: block; overflow: hidden; margin: 2px 0; padding: 4px 5px; border: 1px solid #1d4a3d; border-radius: 5px; background: #071612; color: #dcebe5; line-height: 1.05; text-align: left; text-decoration: none; }
.kalshi-contract:hover { border-color: #47c894; }
.kalshi-contract > span, .kalshi-contract > em, .kalshi-contract > small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.kalshi-contract > span { color: #78daba; font-size: .48rem; font-weight: 850; }
.kalshi-contract > strong { display: grid; grid-template-columns: 1fr 1fr; gap: 3px; margin: 2px 0; color: #dcebe5; font-size: .63rem; }
.kalshi-contract > strong i { font-style: normal; white-space: nowrap; }
.kalshi-contract > em, .kalshi-contract > small { color: #819a91; font-size: .45rem; font-style: normal; }
.kalshi-contract.kalshi-arb { border-color: #18ba72; background: rgba(22, 201, 121, .14); box-shadow: inset 3px 0 #16c979; }
.kalshi-contract.kalshi-arb > strong, .kalshi-contract.kalshi-arb > small { color: #65f2aa; }
.kalshi-more { display: block; color: #7f918b; font-size: .46rem; }
.sportsbook-arb-matrix .arb-market-head th { position: static; height: 25px; padding: 4px 7px; background: #10231e; color: #dbece5; text-align: left; }
.sportsbook-arb-matrix .arb-market-head span { margin-left: 12px; color: #90a79f; font-size: .55rem; font-weight: 500; letter-spacing: 0; text-transform: none; }
.sportsbook-arb-matrix .arb-market-head .group-signal { display: inline-block; width: 132px; margin: 0 8px 0 0; }
.sportsbook-arb-matrix .arb-market-head b { color: #d8e7e1; }
.sportsbook-arb-matrix .arb-market-head.arb-market th { box-shadow: inset 4px 0 #16c979; }
.sportsbook-arb-matrix .arb-market-head.arb-market b { color: #4af19d; }
.sportsbook-arb-matrix .arb-market-head.middle-market th { box-shadow: inset 4px 0 #e5ad34; }
.sportsbook-arb-matrix .arb-market-head.middle-market b { color: #f4c65b; }
.sportsbook-arb-matrix tr.arb-market td { background: rgba(22, 201, 121, .035); }
.sportsbook-arb-matrix tr.middle-market td { background: rgba(229, 173, 52, .025); }
.matrix-price-link { display: block; color: #dcebe5; line-height: 1.05; text-decoration: none; }
.matrix-price-link strong { display: block; }
.matrix-price-link span, .best-col span { display: block; color: #748b83; font-size: .5rem; }
.sportsbook-arb-matrix .arb-market-price { background: rgba(22, 201, 121, .16) !important; color: #54ef9f; }
.sportsbook-arb-matrix .arb-market-price strong { color: #54ef9f; }
.sportsbook-arb-matrix .middle-market-price { background: rgba(229, 173, 52, .14) !important; color: #f4c65b; }
.sportsbook-arb-matrix .middle-market-price strong { color: #f4c65b; }
.sportsbook-arb-matrix .unavailable { color: #3f4c49; }
.sportsbook-arb-matrix .last-price { background: rgba(148, 163, 184, .035); }
.temporarily-unavailable { color: #84908d !important; font-style: italic; opacity: .82; }
.feed-stale-price { background: rgba(176, 105, 74, .055) !important; }
.temporarily-unavailable.feed-stale-price, .last-available-tag.feed-stale-price { color: #c99479 !important; }
.last-available-tag { display: block; margin-top: 2px; color: #d29a43 !important; font-size: .47rem !important; font-style: italic; font-weight: 800; letter-spacing: .045em; }
.line-view tr.last-price td { background: rgba(148, 163, 184, .035); color: #84908d; font-style: italic; }
.line-view tr.feed-stale-price td { background: rgba(176, 105, 74, .055); }
.last-price-swatch { background: #d29a43; opacity: .65; }
.feed-stale-swatch { background: #ad7258; opacity: .7; }
.live-caution { margin: 12px 0 0; }
.sportsbook-arb-mode .live-hero { padding-top: 18px; padding-bottom: 8px; }
.sportsbook-arb-mode .live-hero h1 { margin-bottom: 0; font-size: 36px; }
.sportsbook-arb-mode .live-hero .subhead { display: none; }
.sportsbook-arb-mode .live-summary { margin-bottom: 7px; }
.sportsbook-arb-mode .live-summary > div { padding: 5px 8px; }
.sportsbook-arb-mode .best-arb-banner { padding: 9px 11px; }
.sportsbook-arb-mode .best-arb-leg { padding: 5px 7px; }

@media (max-width: 900px) {
  .live-summary { grid-template-columns: repeat(3, 1fr); }
  .live-table-wrap { max-height: calc(100vh - 305px); }
  .drive-value-banner { grid-template-columns: 1fr; }
  .drive-mode .drive-value-banner { height: 150px; min-height: 150px; }
}

@media (max-width: 580px) {
  .live-summary { grid-template-columns: repeat(2, 1fr); }
  .live-toolbar { align-items: stretch; }
  .live-toolbar > label { flex: 1 1 calc(50% - 4px); min-width: 0; }
  .live-toolbar .team-filter { flex-basis: 100%; min-width: 0; }
  .live-toolbar > .toolbar-select { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 6px; }
  .live-toolbar > .toolbar-select[hidden], .live-toolbar > .drive-market-toggles[hidden] { display: none; }
  .live-toolbar .toolbar-select select { width: 100%; min-width: 0; max-width: 100%; }
  .live-toolbar .drive-market-toggles { flex: 1 1 100%; max-width: 100%; overflow-x: auto; }
  .live-toolbar .drive-market-toggles label { flex: 0 0 auto; min-width: max-content; }
  .live-toolbar button { flex: 1 1 46%; min-width: 0; padding-inline: 8px; }
  .best-arb-banner { grid-template-columns: 1fr; }
  .best-arb-result, .best-arb-legs, .best-arb-banner > small { grid-column: 1; }
  .best-arb-legs { flex-direction: column; }
  .drive-value-cards { grid-template-columns: 1fr; }
}
/* Two-up drive cards; each game compares four outcomes horizontally. */
.drive-feed { display: inline-block; margin: 5px 16px 0 0; }
.live-legend[hidden], .health-panel[hidden] { display: none; }
.drive-card-board { display: block; width: 100%; min-width: 0; background: #05090b; }
.drive-card-board thead { display: none; }
.drive-card-board tbody { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: minmax(268px, auto); align-items: stretch; gap: clamp(5px, .45vw, 8px); padding: clamp(3px, .4vw, 6px); }
.drive-card-board tbody > tr, .drive-card-board tbody > tr > td { display: block; width: 100%; height: auto; min-width: 0; overflow: visible; padding: 0; border: 0; white-space: normal; text-align: left; }
.drive-card-board tbody > tr:hover > td { background: transparent; }
.drive-card-board tbody > tr.drive-empty { grid-column: 1 / -1; }
.drive-game-card { height: 100%; min-width: 0; overflow: hidden; border: 1px solid #28433b; border-radius: 10px; background: #07110f; box-shadow: 0 6px 20px rgba(0, 0, 0, .17); container-type: inline-size; }
.drive-card-head { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); align-items: center; gap: 5px; padding: 5px 6px; border-bottom: 1px solid #28433b; background: linear-gradient(120deg, #0d251e, #091613); }
.drive-matchup { display: grid; grid-template-columns: minmax(0, 1fr) 12px minmax(0, 1fr); align-items: center; gap: 4px; min-width: 0; }
.drive-team { display: flex; align-items: center; gap: 3px; min-width: 0; padding: 2px; border: 1px solid transparent; border-radius: 999px; color: #8fa49c; }
.drive-team.possessing { border-color: #49d99f; background: rgba(47, 218, 151, .14); color: #f1fff9; font-weight: 850; box-shadow: inset 3px 0 #55e6a5, 0 0 12px rgba(47, 218, 151, .12); }
.drive-team.possessing .drive-team-logo { border-color: #55e6a5; background: #14392c; }
.drive-team-logo { position: relative; display: grid; flex: 0 0 20px; width: 20px; height: 20px; place-items: center; overflow: hidden; border: 1px solid #345046; border-radius: 50%; background: #10211d; color: #6f8c82; font-size: .38rem; font-weight: 900; }
.drive-team-logo img { position: absolute; inset: 2px; width: 16px; height: 16px; object-fit: contain; }
.drive-team-name { min-width: 0; overflow: hidden; font-size: clamp(.56rem, .53vw, .66rem); text-overflow: ellipsis; white-space: nowrap; }
.drive-possession-badge { flex: 0 0 auto; margin-left: auto; padding: 1px 3px; border-radius: 999px; background: #55e6a5; color: #04110c; font-size: clamp(.31rem, .29vw, .38rem); font-weight: 950; letter-spacing: .025em; white-space: nowrap; }
.drive-at { color: #657b73; font-size: .5rem; text-align: center; }
.drive-card-state { min-width: 0; text-align: right; }
.drive-card-state strong, .drive-card-state span { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drive-card-state strong { color: #74e4b5; font-size: .63rem; }
.drive-card-state span { margin-top: 2px; color: #7e928a; font-size: .46rem; }
.drive-card-state .drive-next-state { color: #75aef4; font-weight: 800; }
.drive-outcome-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); min-width: 0; }
.drive-outcome-cell { min-width: 0; border-right: 1px solid #1f312c; }
.drive-outcome-cell:last-child { border-right: 0; }
.drive-outcome-cell > header { display: flex; min-width: 0; min-height: 23px; padding: 2px 3px; flex-direction: column; align-items: center; justify-content: center; border-bottom: 1px solid #1b2a26; background: #091613; text-align: center; }
.drive-outcome-cell > header strong { display: block; width: 100%; overflow: visible; color: #dcece6; font-size: clamp(.53rem, .47vw, .64rem); line-height: 1.04; overflow-wrap: anywhere; text-wrap: balance; white-space: normal; }
.drive-outcome-cell > header span { display: block; max-width: 100%; overflow: hidden; margin-top: 2px; color: #83a79a; font-size: clamp(.39rem, .35vw, .46rem); line-height: 1; text-overflow: ellipsis; white-space: nowrap; }
.drive-scope-block { min-width: 0; }
.drive-scope-block.next { border-top: 1px solid #29443d; background: rgba(40, 93, 145, .055); }
.drive-scope-block.empty { opacity: .72; }
.drive-scope-label { display: flex; min-width: 0; align-items: center; justify-content: space-between; gap: 2px; padding: 2px 3px 0; color: #82968e; font-size: .37rem; font-variant-numeric: tabular-nums; }
.drive-scope-label b { overflow: hidden; color: #5fe0aa; text-overflow: ellipsis; white-space: nowrap; }
.drive-scope-block.next .drive-scope-label b { color: #79b7ff; }
.drive-scope-label span { flex: 0 0 auto; white-space: nowrap; }
.drive-scope-note { display: block; min-height: 32px; padding: 9px 3px; color: #72867e; font-size: .38rem; line-height: 1.15; text-align: center; }
.drive-book-stack { padding: 2px; }
.drive-book-quote { display: grid; grid-template-columns: 16px minmax(0, 1fr) minmax(26px, auto); align-items: center; gap: 2px; min-width: 0; margin: 1px 0; padding: 2px 3px; border: 1px solid #1d302a; border-radius: 4px; background: #0a1714; color: #dae9e3; text-decoration: none; font-variant-numeric: tabular-nums; }
.drive-book-quote:hover { border-color: #4b9878; }
.drive-book-logo { position: relative; display: inline-grid; width: 15px; height: 15px; flex: 0 0 15px; place-items: center; vertical-align: middle; }
.drive-book-logo svg { display: block; width: 15px; height: 15px; overflow: visible; fill: currentColor; }
.drive-book-logo .logo-cut { fill: #fff; stroke: none; }
.drive-book-logo text { fill: #fff; font-family: Arial, sans-serif; font-size: 7px; font-weight: 900; text-anchor: middle; }
.drive-book-logo.fd { color: #1687f8; }
.drive-book-logo.dk { color: #44b831; }
.drive-book-logo.dk .logo-crown { fill: #f47b20; }
.drive-book-logo.czr { color: #c9a967; }
.drive-book-logo.czr circle { fill: none; stroke: currentColor; stroke-width: 1.8; }
.drive-book-logo.czr .logo-laurel { fill: none; stroke: currentColor; stroke-linecap: round; stroke-width: 1.2; }
.drive-book-logo.pin { color: #f18b2b; }
.drive-book-logo.pending i { position: absolute; right: -3px; top: -4px; display: grid; width: 8px; height: 8px; place-items: center; border-radius: 50%; background: #f1b84b; color: #151006; font-size: 6px; font-style: normal; font-weight: 950; }
.drive-book-quote .matrix-price { display: flex; align-items: baseline; justify-content: space-between; gap: 3px; min-width: 0; overflow: hidden; }
.drive-book-quote .matrix-price strong { flex: 0 0 auto; min-width: 0; color: #e2eee9; font-size: .66rem; white-space: nowrap; }
.drive-book-quote .matrix-price span { min-width: 0; overflow: hidden; color: #879e95; font-size: .43rem; text-overflow: ellipsis; white-space: nowrap; }
.drive-book-quote .matrix-ev { overflow: hidden; color: #788d85; font-size: .43rem; font-weight: 800; text-align: right; text-overflow: ellipsis; white-space: nowrap; }
.drive-book-quote.missing { color: #52615c; }
.drive-book-quote.last-price { background: #111817 !important; color: #77857f !important; font-style: italic; }
.drive-book-quote.last-price .matrix-price strong { color: #929e99; }
.drive-book-quote.temporarily-unavailable { border-color: #a97821 !important; background: rgba(235, 173, 55, .16) !important; color: #e8ca87 !important; font-style: normal; }
.drive-book-quote.temporarily-unavailable .matrix-price strong, .drive-book-quote.temporarily-unavailable .matrix-ev { color: #f2c968 !important; }
.drive-book-quote.previous-drive-price { border-style: dashed; border-color: #685731; }
.drive-book-quote.previous-drive-price .matrix-ev { color: #c49b4c; }
.drive-book-quote.value-up { border-color: #118953; background: rgba(22, 201, 121, .15); }
.drive-book-quote.value-up .matrix-price strong, .drive-book-quote.value-up .matrix-ev { color: #62eea5; }
.drive-book-quote.best-drive-line .matrix-price strong { text-decoration: underline; text-decoration-color: #65f2aa; text-underline-offset: 2px; }
.drive-book-quote.rule-of-thumb-quote { border-style: dashed; }
.drive-book-quote.rule-of-thumb-quote .matrix-ev { color: #6edfc0; }
.drive-book-quote.rule-blocked-quote .matrix-ev { color: #b99455; font-style: italic; }
.drive-model-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; padding: 0 3px 3px; color: #768b83; font-size: .36rem; font-variant-numeric: tabular-nums; text-align: center; }
.drive-model-strip span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drive-model-strip b { color: #aa9bd0; font-weight: 850; }
.drive-model-strip span.selected { color: #b8d7cb; }
.drive-model-strip span.selected b { color: #68e6b1; }
.drive-source-row { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: start; gap: 1px 5px; min-width: 0; padding: 3px 5px; border-top: 1px solid #1f312c; color: #778d84; font-size: .37rem; }
.drive-source-row > strong { color: #d8b25c; font-size: .45rem; }
.drive-source-row > div { display: flex; min-width: 0; align-items: center; gap: 3px 5px; overflow: hidden; white-space: nowrap; }
.drive-source-row > div > b { flex: 0 0 28px; color: #88a69a; }
.drive-source-row > div > span { display: inline-flex; min-width: 0; align-items: center; gap: 3px; overflow: hidden; text-overflow: ellipsis; }
.drive-source-row > div + div { grid-column: 2; }
.drive-source-row .last-price-text { color: #b78945; font-style: italic; }
.drive-card-rules { padding: 0 5px 3px; color: #8da098; font-size: .4rem; }
.drive-card-rules summary { color: #72877f; cursor: pointer; }
.drive-card-rules p { margin: 4px 0; }
#drive-performance-body { padding: 0 14px 14px; font-size: 12px; color: #a9bcc2; }
.paper-kelly-analytics, .drive-model-analytics { padding-top: 8px; }
.paper-kelly-analytics + .drive-model-analytics { margin-top: 16px; border-top: 1px solid #29413a; }
.paper-kelly-analytics h3, .drive-model-analytics h3 { margin: 4px 0 7px; color: #ecf7f3; }
.paper-kelly-analytics h3 span { margin-left: 5px; padding: 2px 5px; border: 1px solid #b9872f; border-radius: 999px; color: #e9bc60; font-size: .55rem; letter-spacing: .05em; }
.paper-kelly-analytics h4 { margin: 12px 0 5px; color: #85dcb9; font-size: .7rem; }
.paper-kelly-summary { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 5px; }
.paper-kelly-summary span { padding: 7px; border: 1px solid #29413a; border-radius: 6px; background: #081713; color: #7f978e; }
.paper-kelly-summary b { display: block; color: #ecf7f3; font-size: .8rem; }
.paper-kelly-table .drive-book-logo { width: 20px; height: 20px; }
.paper-kelly-table .drive-book-logo svg { width: 20px; height: 20px; }
.paper-kelly-table tr.paper-paused td { background: rgba(235, 173, 55, .12); color: #e6be68; }
.paper-filter-bar { display: flex; align-items: end; gap: 7px; flex-wrap: wrap; padding: 10px 14px 4px; border-bottom: 1px solid #263d36; background: #07130f; }
.paper-filter-bar > strong { align-self: center; margin-right: 3px; color: #62e5ad; font-size: .68rem; letter-spacing: .035em; text-transform: uppercase; }
.paper-filter-bar label { display: grid; gap: 2px; color: #81968e; font-size: .5rem; font-weight: 850; letter-spacing: .035em; text-transform: uppercase; }
.paper-filter-bar select, .paper-filter-bar button { min-height: 28px; padding: 4px 7px; border: 1px solid #31564a; border-radius: 5px; background: #0a1c17; color: #dcebe5; font: inherit; text-transform: none; }
.paper-filter-bar select { min-width: 116px; }
.paper-filter-bar button { cursor: pointer; }
.paper-filter-bar button:hover { border-color: #55e6a5; }
.paper-kelly-analytics h3 em { margin-left: 6px; color: #68e6b1; font-size: .55rem; font-style: normal; letter-spacing: .05em; }
.model-score-table { width: 100%; border-collapse: collapse; font-variant-numeric: tabular-nums; }
.model-score-table td, .model-score-table th { padding: 7px; border-bottom: 1px solid #273c40; text-align: left; }
.drive-mode .live-hero { padding-top: 20px; }
.drive-mode .live-hero h1 { font-size: 36px; margin-bottom: 0; }
.drive-mode .live-hero .subhead, .drive-mode .live-summary { display: none; }
.drive-mode .live-board { padding: 12px; }
.drive-mode .live-main { gap: 12px; }
.drive-mode .drive-value-banner { height: 102px; min-height: 102px; overflow: auto; scrollbar-gutter: stable; }
.drive-mode .drive-value-banner.waiting { height: auto; min-height: 0; overflow: visible; scrollbar-gutter: auto; }
.drive-mode #drive-notice { height: 62px; min-height: 62px; overflow: auto; scrollbar-gutter: stable; }
.drive-mode #live-health { min-height: 27px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.drive-mode .live-table-wrap { max-height: calc(100vh - 220px); max-height: calc(100dvh - 220px); }

body.drive-theater-mode { background: #030908; }
body.drive-theater-mode .live-hero { min-height: 0; padding: 5px clamp(8px, 1vw, 18px); opacity: .38; filter: saturate(.2); transition: opacity .16s ease, filter .16s ease; }
body.drive-theater-mode .live-hero:hover, body.drive-theater-mode .live-hero:focus-within { opacity: .9; filter: none; }
body.drive-theater-mode .live-hero .eyebrow, body.drive-theater-mode .live-hero .subhead { display: none; }
body.drive-theater-mode .live-hero h1 { margin: 0; font-size: clamp(1rem, 1.5vw, 1.35rem); }
body.drive-theater-mode .live-nav { gap: 5px; font-size: .62rem; }
body.drive-theater-mode .live-main { display: block; width: 100%; min-height: 0; padding: 0 clamp(3px, .45vw, 7px) 10px; }
body.drive-theater-mode .sticky-live-controls { position: relative; top: auto; max-height: 38px; padding: 3px 5px; border-color: #15241f; border-radius: 7px; opacity: .3; filter: saturate(.2); transition: max-height .18s ease, opacity .16s ease, filter .16s ease; }
body.drive-theater-mode .sticky-live-controls:hover, body.drive-theater-mode .sticky-live-controls:focus-within { max-height: 190px; opacity: 1; filter: none; }
body.drive-theater-mode .sheet-tabs { padding-bottom: 2px; }
body.drive-theater-mode .sheet-tabs button { padding: 5px 8px; font-size: .62rem; }
body.drive-theater-mode .live-board { position: relative; width: 100%; height: auto; margin: 4px 0 0; padding: 33px 3px 3px; border: 1px solid #172a24; border-radius: 9px; background: #05090b; box-shadow: 0 12px 40px rgba(0, 0, 0, .28); }
body.drive-theater-mode .live-board > :not(.live-table-wrap):not(.drive-theater-toggle):not(.next-play-board) { display: none !important; }
body.drive-theater-mode .live-table-wrap { width: 100%; height: calc(100vh - 116px); height: calc(100dvh - 116px); min-height: 420px; max-height: none; overflow: auto; border: 0; border-radius: 6px; scrollbar-gutter: stable both-edges; }
body.drive-theater-mode .drive-card-board tbody { min-height: 100%; grid-template-rows: repeat(var(--drive-three-rows, 3), minmax(268px, 1fr)); grid-auto-rows: minmax(268px, 1fr); padding: 3px; }
body.drive-theater-mode .drive-theater-toggle { position: absolute; top: 4px; right: 7px; bottom: auto; opacity: .58; box-shadow: none; }
body.drive-theater-mode .drive-theater-toggle:hover, body.drive-theater-mode .drive-theater-toggle:focus-visible { opacity: 1; }
body.drive-theater-mode .live-main > .health-panel, body.drive-theater-mode .live-caution { display: none !important; }

/* Keep each game card wide enough for four outcomes and three book rows.
   Viewport-only three-up sizing made the inner quote grids collide on compact
   laptops and split-screen windows. */
@media (max-width: 1479px) {
  .drive-card-board tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.drive-theater-mode .drive-card-board tbody { grid-template-rows: repeat(var(--drive-two-rows, 4), minmax(268px, 1fr)); }
}

@media (max-width: 1050px) {
  .first-down-grid { grid-template-columns: 1fr; }
  .drive-card-board tbody { grid-template-columns: 1fr; }
  body.drive-theater-mode .drive-card-board tbody { grid-template-rows: repeat(var(--drive-one-rows, 8), minmax(268px, 1fr)); }
  .drive-card-head { gap: 8px; padding: 6px 8px; }
  .drive-team-name { font-size: .66rem; }
  .drive-card-state strong { font-size: .67rem; }
  .drive-card-state span { font-size: .5rem; }
  .drive-outcome-cell > header strong { font-size: .64rem; }
  .drive-scope-label { font-size: .43rem; }
  .drive-book-quote { grid-template-columns: 17px minmax(0, 1fr) minmax(44px, auto); gap: 3px; }
  .drive-book-quote .matrix-price strong { font-size: .69rem; }
  .drive-book-quote .matrix-price span, .drive-book-quote .matrix-ev { font-size: .46rem; }
  .drive-model-strip, .drive-source-row { font-size: .41rem; }
}

@media (max-width: 650px) {
  .drive-market-toggles { width: 100%; justify-content: space-between; }
  .first-down-head, .first-down-book-row { grid-template-columns: 44px repeat(2, minmax(62px, 1fr)) 58px; }
  .first-down-book-row > span b { display: none; }
  .first-down-book-row > small { white-space: normal; }
  .drive-card-head { grid-template-columns: 1fr; }
  .drive-card-state { text-align: left; }
  .drive-outcome-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .drive-outcome-cell:nth-child(2) { border-right: 0; }
  .drive-outcome-cell:nth-child(-n+2) { border-bottom: 1px solid #1f312c; }
  .drive-source-row { grid-template-columns: 1fr; }
  .drive-source-row > div, .drive-source-row > div + div { grid-column: 1; white-space: normal; }
  .drive-possession-badge { display: none; }
  .drive-mode #drive-notice { height: 92px; min-height: 92px; }
  .paper-kelly-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .drive-card-board tbody { gap: 6px; padding: 2px; }
  .drive-game-card { border-radius: 7px; }
  .drive-card-head { padding: 5px; }
  .drive-team-logo { flex-basis: 18px; width: 18px; height: 18px; }
  .drive-team-logo img { width: 14px; height: 14px; }
  .drive-team-name { font-size: .61rem; }
  .drive-outcome-cell > header { min-height: 27px; padding: 3px; }
  .drive-outcome-cell > header strong { font-size: .61rem; line-height: 1.12; }
  .drive-book-stack { padding: 2px 1px; }
  .drive-book-quote { grid-template-columns: 16px minmax(0, 1fr) minmax(40px, auto); gap: 2px; padding: 3px 2px; }
  .drive-book-quote .matrix-price { flex-direction: column; align-items: flex-start; justify-content: center; gap: 0; line-height: 1.02; }
  .drive-book-quote .matrix-price strong { font-size: .66rem; }
  .drive-book-quote .matrix-price span, .drive-book-quote .matrix-ev { font-size: .43rem; }
  .drive-model-strip { grid-template-columns: 1fr; gap: 0; font-size: .41rem; line-height: 1.1; }
  .drive-model-strip span { white-space: normal; }
  .drive-source-row > div > span { flex-wrap: wrap; white-space: normal; }
  .drive-source-row > div > b { flex-basis: 26px; }
}
