@import url("newsroom.css");

.odds-intro{width:min(1320px,calc(100% - 40px));padding:30px 0 14px}.odds-intro h1{font-size:clamp(2.7rem,5.4vw,5.4rem)}
.odds-shell{width:min(1320px,calc(100% - 40px));margin:0 auto 56px}.odds-controls{display:grid;grid-template-columns:1.2fr 1fr auto;gap:12px;margin-bottom:12px;padding:14px 16px;background:#fff;border-top:5px solid var(--gold);box-shadow:0 5px 20px #0000000b}.odds-control{display:grid;gap:6px}.odds-control label{font-size:.76rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.odds-control select,.odds-refresh{min-height:44px;border:1px solid #aaa;background:#fff;padding:9px 12px;font:inherit}.odds-refresh{align-self:end;background:#1F3B63;color:#fff;border-color:#1F3B63;font-weight:900;text-transform:uppercase;letter-spacing:.07em;cursor:pointer}.odds-refresh:hover{background:#1F3B63}
.odds-status{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:13px 16px;background:#1F3B63;color:#fff;border-left:5px solid var(--orange)}.odds-status strong{font-size:.9rem;text-transform:uppercase;letter-spacing:.06em}.odds-status span{color:#b7c0ca;font-size:.8rem}.odds-status span::before{content:"";display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#23b982;box-shadow:0 0 0 3px #23b98222}
.odds-board{margin-top:10px}.odds-loading:not(.all-sports-odds-mode){opacity:.58}.pro-board-wrap{overflow:auto;background:#1F3B63;border-top:4px solid var(--gold);box-shadow:0 12px 30px #00000018}.pro-board{width:100%;min-width:970px;border-collapse:collapse;table-layout:fixed;color:#e9eef3;font-variant-numeric:tabular-nums}.pro-board th{height:42px;padding:8px 9px;background:#1F3B63;border-right:1px solid #2a3743;border-bottom:1px solid #34414e;color:#aab5c0;font-size:.7rem;font-weight:900;letter-spacing:.065em;text-align:center;text-transform:uppercase}.pro-board th:first-child{width:310px;padding-left:15px;text-align:left}.pro-board th:last-child{border-right:0}.pro-board tbody tr.game-row{background:#1F3B63}.pro-board tbody tr.game-row:nth-child(4n+3){background:#1F3B63}.pro-board tbody tr.game-row:hover{background:#1F3B63}.pro-board td{height:78px;padding:9px;border-right:1px solid #263440;border-bottom:1px solid #263440;text-align:center;vertical-align:middle}.pro-board td:first-child{padding-left:14px;text-align:left}.pro-board td:last-child{border-right:0}
.odds-sport-loading{margin-top:10px}.odds-load-skeleton{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;padding:10px 0}.odds-load-skeleton span{display:block;height:108px;border:1px solid #e0dbcf;border-radius:8px;background:linear-gradient(100deg,#f2f0eb 20%,#fbfaf7 38%,#f2f0eb 56%);background-size:200% 100%;animation:odds-skeleton-shimmer 1.4s ease-in-out infinite}.odds-sport-loading .odds-load-skeleton span:nth-child(n+2){opacity:.65}@keyframes odds-skeleton-shimmer{to{background-position-x:-200%}}
.market-game{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px}.game-time{align-self:start;min-width:60px;color:#f2c94c;font-size:.68rem;font-weight:900;line-height:1.3;text-transform:uppercase}.market-teams{display:grid;gap:5px;min-width:0}.market-team{display:flex;align-items:center;gap:8px;min-width:0}.team-logo{display:grid;place-items:center;flex:0 0 27px;width:27px;height:27px;overflow:hidden;border:1px solid #3d4b57;border-radius:8px;background:#1F3B63;color:#f4c83d;font-size:.54rem;font-weight:950}.team-logo img{width:23px;height:23px;object-fit:contain}.team-name{overflow:hidden;color:#f5f7fa;font-size:.86rem;font-weight:850;text-overflow:ellipsis;white-space:nowrap}.game-arrow{color:#657381;font-size:1rem}.book-head{display:grid;gap:2px}.book-head strong{color:#fff;font-size:.75rem}.book-head small{color:#758493;font-size:.6rem;letter-spacing:.02em;text-transform:none}.book-lines{display:grid;gap:5px}.market-line{display:grid;grid-template-columns:31px 1fr;align-items:center;gap:4px;min-height:25px;padding:4px 6px;border:1px solid #34424f;border-radius:5px;background:#1F3B63;color:#edf2f6;font-size:.75rem;font-weight:850}.market-line small{color:#84929f;font-size:.58rem;font-weight:900;text-align:left}.market-line.best{border-color:#f3a17d;background:#ffd9c8;color:#111;box-shadow:inset 0 1px 0 #fff1eb}.market-line.best small{color:#3f2a21}.market-line.empty{color:#63717e}.mobile-more-head,.mobile-more-cell{display:none}.more-books{display:none}.odds-more{border:1px solid #7a6430;border-radius:6px;background:#302918;color:#f4c83d;font-size:.65rem;font-weight:950;line-height:1;padding:7px 5px;cursor:pointer}.odds-extra-row[hidden]{display:none}.odds-extra-row td{height:auto;padding:0;border-right:0;background:#1F3B63}.more-books{padding:10px}.more-book{display:grid;grid-template-columns:82px 1fr 1fr;gap:6px;align-items:center;padding:7px 0;border-bottom:1px solid #293640}.more-book:last-child{border-bottom:0}.more-book-name{overflow:hidden;color:#d8dee4;font-size:.68rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap}.more-book .market-line{min-height:27px}.best-key{display:inline-flex;align-items:center;gap:6px;margin-left:auto;color:#6b321d;font-size:.7rem;font-weight:800}.best-key::before{content:"";width:9px;height:9px;border:1px solid #f3a17d;background:#ffd9c8}
.odds-empty{padding:34px;background:#fff;border-top:4px solid var(--gold)}.odds-empty h2{margin:10px 0 8px}.odds-empty p{max-width:680px;margin:0;color:#666;line-height:1.55}.odds-note{margin:14px 2px 0;color:#666;font-size:.78rem;line-height:1.55}.odds-note a{text-decoration:underline;text-underline-offset:3px}

@media(max-width:700px){
  .odds-load-skeleton{grid-template-columns:1fr;gap:7px;padding:8px 9px}.odds-load-skeleton span{height:62px}
  body{background:#1F3B63}.odds-intro{display:none}.odds-shell{width:100%;margin:0 0 30px}.odds-controls{grid-template-columns:1fr 1fr 44px;gap:7px;margin:0;padding:10px 9px;border-top:3px solid var(--gold);box-shadow:none}.odds-control{gap:4px}.odds-control label{font-size:.62rem}.odds-control select{width:100%;min-width:0;min-height:39px;padding:7px 25px 7px 8px;font-size:.78rem}.odds-refresh{width:44px;min-height:39px;overflow:hidden;padding:0;color:transparent;letter-spacing:0}.odds-refresh::after{content:"↻";display:grid;place-items:center;color:#fff;font-size:1.25rem}.odds-status{gap:8px;min-height:40px;padding:9px 10px;border-left:0;border-top:1px solid #293744}.odds-status strong{font-size:.71rem}.odds-status span{max-width:52%;overflow:hidden;font-size:.65rem;text-overflow:ellipsis;white-space:nowrap}.best-key{display:none}.odds-board{margin:0}.pro-board-wrap{overflow:visible;border-top:2px solid var(--gold);box-shadow:none}.pro-board{width:100%;min-width:0;table-layout:fixed}.pro-board col.game-col{width:43%}.pro-board col.primary-book-col{width:24%}.pro-board col.more-col{width:9%}.pro-board col.extra-book-col{display:none}.pro-board th{height:36px;padding:5px 3px;font-size:.58rem;letter-spacing:.035em}.pro-board th:first-child{width:auto;padding-left:8px}.pro-board th.extra-book,.pro-board td.extra-book{display:none}.pro-board th.mobile-more-head,.pro-board td.mobile-more-cell{display:table-cell}.pro-board td{height:67px;padding:5px 3px}.pro-board td:first-child{padding-left:7px}.market-game{grid-template-columns:43px minmax(0,1fr);gap:5px}.game-time{min-width:0;font-size:.56rem}.market-teams{gap:3px}.market-team{gap:5px}.team-logo{flex-basis:23px;width:23px;height:23px;border-radius:6px}.team-logo img{width:20px;height:20px}.team-name{font-size:.68rem}.game-arrow{display:none}.book-head strong{font-size:.62rem}.book-head small{display:none}.book-lines{gap:3px}.market-line{grid-template-columns:20px 1fr;min-height:24px;padding:3px 3px;font-size:.62rem}.market-line small{font-size:.49rem}.odds-more{width:28px;padding:8px 2px}.odds-extra-row td{padding:0}.more-books{display:grid;grid-template-columns:1fr;padding:7px 10px}.more-book{grid-template-columns:72px 1fr 1fr;padding:5px 0}.more-book-name{font-size:.61rem}.more-book .market-line{min-height:25px}.odds-note{margin:10px 12px 0;color:#8d98a2;font-size:.67rem}footer{background:#1F3B63;color:#8b959e}
}

/* NFL Futures inside the Odds Stream. */
.odds-view-tabs{display:flex;gap:0;margin:10px 0 0;border-bottom:1px solid #d9d3c5}
.odds-view-tabs[hidden]{display:none}
.odds-view-tabs button{min-height:38px;padding:0 18px;border:0;border-bottom:3px solid transparent;background:transparent;color:#5b6578;font:700 .7rem var(--trus-font-ui,Barlow,sans-serif);letter-spacing:.09em;text-transform:uppercase;cursor:pointer}
.odds-view-tabs button.active{border-bottom-color:#B8932E;color:#1F3B63}
.nfl-futures-mode .odds-content-layout{grid-template-columns:minmax(0,1fr) 286px;gap:16px}
.nfl-futures-mode .odds-ad-rail{position:sticky!important;top:12px!important;display:grid;width:286px;gap:12px;align-self:start}
.future-market-card{overflow:hidden;border:1px solid #d8d2c5;background:#fff;box-shadow:0 10px 28px rgba(31,59,99,.09)}
.future-market-card>header{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:15px 17px;border-top:5px solid #B8932E;background:#1F3B63;color:#fff}
.future-market-card>header span{display:block;color:#D9BC62;font-size:.56rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.future-market-card>header h2{margin:2px 0 0;font-family:var(--trus-font-headline,"Barlow Condensed",sans-serif);font-size:1.35rem;letter-spacing:.02em;text-transform:uppercase}
.future-provider{font-size:.7rem;text-align:right}.future-provider strong{color:#F2D36B}
.future-market-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid #ddd7ca;background:#faf8f3}
.future-market-tabs button{min-height:42px;border:0;border-bottom:3px solid transparent;background:transparent;color:#596579;font:700 .68rem var(--trus-font-ui,Barlow,sans-serif);cursor:pointer}
.future-market-tabs button.active{border-bottom-color:#B8932E;color:#1F3B63}
.future-table-head,.future-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.future-table-head{grid-template-columns:minmax(0,1fr);min-height:30px;padding:0 12px;border-bottom:1px solid #ddd7ca;background:#eeeae1;color:#5c6574;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.future-table-head span:nth-child(2),.future-table-head span:nth-child(4){display:none}
.future-table-head span:nth-child(3){display:none}
.future-team{display:grid;grid-template-columns:22px 30px minmax(0,1fr) 58px;align-items:center;gap:7px;min-height:48px;padding:5px 11px;border-bottom:1px solid #e7e2d8;color:#1F3B63;font-variant-numeric:tabular-nums}
.future-pair .future-team:first-child{border-right:1px solid #ddd7ca}
.future-team:hover{background:#f7f2e6}
.future-rank{color:#9a7a22;font-size:.62rem;font-weight:800;text-align:center}
.future-logo{width:28px;height:28px;border:0!important;border-radius:0!important;background:transparent!important;font-size:.55rem}
.future-logo img{width:27px;height:27px;object-fit:contain}
.future-team strong{overflow:hidden;font-size:.72rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
.future-team>b{color:#1F3B63;font-size:.74rem;text-align:right}
.future-market-card>footer{padding:9px 12px;background:#faf8f3;color:#6a7280;font-size:.62rem;text-align:center}
.future-coming{padding:34px;border-top:5px solid #B8932E;text-align:center}
.future-coming>span{color:#9A7519;font-size:.6rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.future-coming h2{margin:7px 0;color:#1F3B63;font-family:var(--trus-font-headline,"Barlow Condensed",sans-serif);font-size:1.5rem;text-transform:uppercase}
.future-coming p{max-width:560px;margin:0 auto;color:#606a78;font-size:.78rem;line-height:1.55}
.future-coming button{margin-top:16px;padding:9px 13px;border:0;background:#1F3B63;color:#fff;font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}
.future-rail-panel{overflow:hidden;border:1px solid #d8d2c5;background:#fff}
.future-rail-panel>header{display:flex;align-items:end;justify-content:space-between;padding:9px 10px;border-top:4px solid #B8932E;background:#1F3B63;color:#fff}
.future-rail-panel>header span{color:#D9BC62;font-size:.65rem;font-weight:850;text-transform:uppercase}.future-rail-panel>header b{font-size:.58rem;font-weight:650}
.rail-game{padding:8px 9px;border-bottom:1px solid #e7e2d8}.rail-game header{display:flex;justify-content:space-between;margin-bottom:5px;color:#667082;font-size:.55rem}.rail-game header small{font-size:.52rem}
.rail-game>div{display:grid;grid-template-columns:23px minmax(0,1fr) 34px 36px 38px;align-items:center;gap:3px;min-height:29px;color:#1F3B63;font-size:.58rem;font-variant-numeric:tabular-nums}.rail-game .team-logo{width:21px;height:21px;border:0;background:transparent}.rail-game .team-logo img{width:21px;height:21px;object-fit:contain}.rail-game strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rail-game b{text-align:right}
.future-rail-panel>a{display:block;padding:9px;color:#1F3B63;font-size:.62rem;font-weight:800;text-align:center}
.future-news>a{padding:10px;border-bottom:1px solid #e7e2d8;text-align:left}.future-news>a strong{display:-webkit-box;overflow:hidden;color:#1F3B63;font-size:.68rem;line-height:1.3;-webkit-box-orient:vertical;-webkit-line-clamp:2}.future-news>a span{display:-webkit-box;overflow:hidden;margin-top:3px;color:#687284;font-size:.6rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.rail-empty{margin:0;padding:16px;color:#697282;font-size:.68rem;line-height:1.45}
.nfl-futures-mode .ad-slot-rectangle{min-height:210px}
@media(max-width:900px){.nfl-futures-mode .odds-content-layout{display:block}.nfl-futures-mode .odds-ad-rail{position:static!important;width:100%;grid-template-columns:1fr 1fr;margin-top:16px}.nfl-futures-mode .odds-ad-rail>.ad-slot{display:none}}
@media(max-width:680px){.odds-view-tabs button{flex:1;padding-inline:8px}.future-market-card>header{align-items:flex-start;padding:12px}.future-provider{font-size:.62rem}.future-pair{grid-template-columns:1fr}.future-pair .future-team:first-child{border-right:0}.future-team{grid-template-columns:20px 28px minmax(0,1fr) 52px;min-height:45px;padding-inline:8px}.future-pair>div:empty{display:none}.nfl-futures-mode .odds-ad-rail{grid-template-columns:1fr}}

/* Best available line: soft TRUS golden-orange highlight. */
.market-line.best {
  border-color: #e7a04a;
  background: #ffe1ad;
  color: #111;
  box-shadow: inset 0 1px 0 #fff6e6;
}

.market-line.best small {
  color: #3d2b12;
}

.best-key {
  color: #6d470e;
}

.best-key::before {
  border-color: #e7a04a;
  background: #ffe1ad;
}

@media(max-width:360px){.pro-board col.game-col{width:41%}.pro-board col.primary-book-col{width:25%}.team-name{font-size:.62rem}.market-line{font-size:.57rem}.game-time{font-size:.52rem}}

/* Conference and division futures boards. */
.future-groups{display:grid;background:#fff}
.future-group{border-bottom:1px solid #d8d2c5}
.future-group:last-child{border-bottom:0}
.future-group h3{margin:0;padding:13px 14px 9px;border-bottom:2px solid #B8932E;color:#1F3B63;font-family:var(--trus-font-headline,"Barlow Condensed",sans-serif);font-size:1rem;letter-spacing:.025em;text-transform:uppercase}
.future-group-head{display:grid;grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) 58px;gap:7px;align-items:center;min-height:30px;padding:0 11px;border-bottom:1px solid #ddd7ca;background:#eeeae1;color:#5c6574;font-size:.58rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.future-group-head span:nth-child(2),.future-group-head span:nth-child(4){text-align:right}
.future-group .future-team{min-height:43px}
@media(max-width:680px){
  .future-group h3{padding:11px 9px 8px;font-size:.92rem}
  .future-group-head{grid-template-columns:minmax(0,1fr) 52px;padding-inline:8px}
  .future-group-head span:nth-child(3),.future-group-head span:nth-child(4){display:none}
}

/* Pearl-and-gold market board matched to the TRUS masthead. */
.odds-status{background:linear-gradient(90deg,#906817 0%,#d0a11f 22%,#ffe78a 50%,#c99a17 80%,#896214 100%);color:#080808;border-left-color:var(--orange);box-shadow:inset 0 1px #fff8c7,inset 0 -1px #967326}.odds-status span{color:#2d2108}.odds-status span::before{background:var(--orange);box-shadow:0 0 0 3px #B8932E33}
.pro-board-wrap{background:#fffdf8;border-top-color:#111;box-shadow:0 12px 30px #6d4d0017}.pro-board{color:#111}.pro-board th{background:repeating-linear-gradient(135deg,transparent 0 31px,rgba(151,106,0,.1) 32px 33px,transparent 34px 64px),linear-gradient(180deg,#fffdf4 0%,#f5e6af 45%,#d9ad2f 100%);border-right-color:#b88b16;border-bottom-color:#8c6500;color:#3f300d;text-shadow:0 1px #fff8d8}.pro-board th .book-head strong{color:#111}.pro-board th .book-head small{color:#654a0c}.pro-board tbody tr.game-row,.pro-board tbody tr.game-row:nth-child(4n+3){background:linear-gradient(90deg,#fff 0%,#fbf8ee 52%,#f4e9c4 100%)}.pro-board tbody tr.game-row:nth-child(4n+3){background:linear-gradient(90deg,#faf7eb 0%,#f3ead0 52%,#ead8a3 100%)}.pro-board tbody tr.game-row:hover{background:#fff2be}.pro-board td{border-right-color:#dacb9d;border-bottom-color:#d8c997}.game-time{color:#765300}.team-logo{border-color:#bd941f;background:#fff;color:#7b5700;box-shadow:0 2px 8px #7e5c0017}.team-name{color:#111}.game-arrow{color:#9a7313}.market-line{border-color:#c9b56f;background:#fffdf8;color:#111;box-shadow:inset 0 1px #fff}.market-line small{color:#796b43}.market-line.best{border-color:#f3a17d;background:#ffd9c8;color:#111;box-shadow:inset 0 1px 0 #fff1eb}.market-line.best small{color:#3f2a21}.market-line.empty{color:#9b916f}.odds-more{border-color:#7a5700;background:linear-gradient(#f7d45e,#be890a);color:#111}.odds-extra-row td{background:#f8f0d6}.more-book{border-bottom-color:#d7c99e}.more-book-name{color:#2f250e}

@media(max-width:700px){body{background:var(--paper)}.pro-board-wrap{border-top-color:#111}.pro-board th{background:repeating-linear-gradient(135deg,transparent 0 22px,rgba(151,106,0,.11) 23px 24px,transparent 25px 46px),linear-gradient(180deg,#fffdf4,#dfb63d)}.pro-board tbody tr.game-row,.pro-board tbody tr.game-row:nth-child(4n+3){background:linear-gradient(90deg,#fff 0%,#faf4df 100%)}.odds-note{color:#655c42}}

/* Logo visibility refinement for the live odds board. */
.team-logo{flex-basis:31px;width:31px;height:31px}.team-logo img{width:28px;height:28px}.team-logo.has-logo{background:#fff}
@media(max-width:700px){.pro-board td{height:70px}.team-logo{flex-basis:26px;width:26px;height:26px}.team-logo img{width:24px;height:24px}}

/* Final best-line color override: clean light money green. */
.market-line.best {
  border-color: #4a9b62;
  background: #dcf3e3;
  color: #111;
  box-shadow: inset 0 1px 0 #f4fff7;
}

.market-line.best small {
  color: #245234;
}

.best-key {
  color: #28633b;
}

.best-key::before {
  border-color: #4a9b62;
  background: #dcf3e3;
}

/* Match the live-feed dot to the best-line money green. */
.odds-status span::before {
  background: #4a9b62;
  box-shadow: 0 0 0 3px #4a9b6233;
}

/* Compact, proportional market-board heading. */
.odds-intro {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  margin-top: 20px;
  padding: 14px 20px 13px;
  border-top: 4px solid var(--gold);
  border-bottom: 1px solid #d2ae45;
  background: linear-gradient(90deg, #fffdf7 0%, #f8efd0 72%, #e4bd50 100%);
  color: #111;
}

.odds-intro .kicker {
  color: #765300;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.odds-intro h1 {
  margin: 0;
  font-size: clamp(1.9rem, 3vw, 2.8rem);
  line-height: .95;
  letter-spacing: -.035em;
  text-align: left;
}

.odds-intro p {
  max-width: 760px;
  margin: 4px 0 0;
  color: #554b32;
  font-size: .86rem;
}

@media(max-width:700px) {
  .odds-intro {
    display: none;
  }
}

.matchup-link {
  color: inherit;
  text-decoration: none;
  border-radius: 6px;
}

.matchup-link:hover .team-name,
.matchup-link:focus-visible .team-name {
  color: #8a6200;
}

.matchup-link:focus-visible {
  outline: 2px solid #4a9b62;
  outline-offset: 3px;
}

.golf-outright-card{overflow:hidden;background:#fff;border:1px solid #d9d2c2;border-top:4px solid #B8932E}
.golf-outright-card>header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 15px;background:#1F3B63;color:#fff}
.golf-outright-card>header>div{display:flex;align-items:center;gap:11px}.golf-outright-card>header img{width:40px;height:40px;object-fit:contain}.golf-outright-card>header span{display:grid;gap:2px}.golf-outright-card>header strong{font-size:1rem}.golf-outright-card>header small{color:#D9BC62;font-size:.72rem}.golf-outright-card>header>b{color:#D9BC62;font-size:.72rem;text-transform:uppercase}
.golf-odds-head,.golf-odds-row{display:grid;grid-template-columns:minmax(260px,1fr) 110px 110px 150px;align-items:center;gap:10px}.golf-odds-head{padding:9px 14px;background:#f2eee4;color:#5B6578;font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.golf-odds-row{min-height:76px;padding:2px 14px;border-top:1px solid #E6E2D9;color:#1F3B63;font-size:.84rem}.golf-odds-row:hover{background:#FAF8F3}.golf-player{display:flex;align-items:center;gap:10px;min-width:0}.golf-player>b{display:grid;width:24px;height:24px;flex:0 0 24px;place-items:center;background:#f2eee4;color:#8F6F14;font-size:.68rem}.golf-headshot{display:block;width:68px;height:70px;flex:0 0 68px;overflow:hidden;border:0;border-radius:0;background:transparent}.golf-headshot img{display:block;width:100%;height:100%;object-fit:contain;object-position:center bottom;background:transparent}.golf-headshot.has-photo{background:transparent}.golf-player>strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.golf-odds-row>span:not(.golf-player){font-weight:750}.golf-odds-row .best{color:#1F9D61}.golf-no-match{margin:0;padding:24px;color:#5B6578;text-align:center}
@media(max-width:700px){.golf-odds-head,.golf-odds-row{grid-template-columns:minmax(190px,1fr) 66px 72px}.golf-odds-head span:last-child,.golf-odds-row>span:last-child{display:none}.golf-outright-card>header>b{display:none}.golf-player{gap:7px}.golf-player>b{width:20px;height:20px;flex-basis:20px}.golf-headshot{width:56px;height:62px;flex-basis:56px}.golf-odds-row{min-height:68px;padding-inline:8px}.golf-odds-head{padding-inline:8px}}

/* Odds Center now follows the Scores & Standings visual system. */
.odds-intro{display:grid!important;width:min(1600px,calc(100% - 80px));max-width:none;margin-top:8px;padding:7px 14px 8px;background-color:#1F3B63!important;background-image:none!important;color:#fff}
.odds-intro .kicker{color:#f0c94f;font-size:.63rem;line-height:1.1}
.odds-intro h1{margin:1px 0 2px;color:#fff;font-size:clamp(1.45rem,2vw,1.9rem);line-height:1}
.odds-intro p{margin:0;color:#d8dde4;font-size:.76rem;line-height:1.25}
.odds-shell{width:min(1600px,calc(100% - 80px));max-width:none;margin:6px auto 56px}
#odds-tabs.utility-tabs{margin-bottom:8px}
#odds-tabs .odds-logo-tab{display:grid;place-items:center;width:52px;height:52px;min-width:52px;min-height:52px;padding:6px;background:#fff;border:1px solid #aaa}
#odds-tabs .odds-logo-tab img{display:block;width:40px;height:40px;max-width:40px;object-fit:contain}
#odds-tabs .odds-logo-tab[data-league^="soccer_"] strong{display:grid;width:40px;height:40px;place-items:center;font-size:40px!important;line-height:1;letter-spacing:0}
#odds-tabs .odds-logo-tab[data-league="ncaaf"] img,#odds-tabs .odds-logo-tab[data-league="ncaab"] img,#odds-tabs .odds-logo-tab[data-league="ncaam"] img,#odds-tabs .odds-logo-tab[data-league="ncaaw"] img{width:42px;height:42px;max-width:42px}
#odds-tabs .odds-logo-tab[data-league="euroleague"] img{width:66px;height:40px;max-width:66px;object-fit:contain}
#odds-tabs .odds-logo-tab strong{font-size:.68rem;letter-spacing:.04em}
#odds-tabs .odds-logo-tab.active,#odds-tabs .odds-logo-tab:hover,#odds-tabs .odds-logo-tab:focus-visible{background:#fff;border-color:#aaa;box-shadow:inset 0 -3px var(--orange);color:inherit}
.odds-controls{display:flex;align-items:end;gap:8px;margin:0 0 8px;padding:0;background:transparent;border:0;box-shadow:none}
.odds-control{width:min(330px,70%);gap:4px}.odds-control label{font-size:.68rem}.odds-control select{width:100%;min-height:36px;padding:6px 10px;background:#fff}
.odds-refresh{width:auto;min-height:36px;margin-left:auto;padding:7px 12px;background:#f7f1dc;color:#111;border:1px solid #c9aa50;font-size:.72rem}
.odds-refresh:hover{background:#e6c657;color:#111;border-color:#a97d08}
body.all-sports-odds-mode .week-strip{display:flex;align-items:center;justify-content:center;min-width:0;overflow:hidden;border-inline:0;background:#fff;color:#1F3B63;font-size:.82rem;font-weight:850;letter-spacing:.04em;text-align:center}
body.all-sports-odds-mode .week-strip.all-day-strip{scroll-snap-type:none}
body.all-sports-odds-mode .week-arrow{display:block;min-width:36px}
.odds-empty [data-go-today]{display:inline-block;margin-left:5px;color:#1F3B63;font-weight:850;text-decoration:underline;text-underline-offset:3px}
.odds-status{margin-bottom:10px;padding:14px 16px;background:repeating-linear-gradient(135deg,transparent 0 31px,rgba(151,106,0,.12) 32px 33px,transparent 34px 64px),#f8f1dc;color:#111;border-left-color:var(--gold);border-top:1px solid #d9c47b;box-shadow:none}
.odds-league-freshness{margin:-3px 0 12px;padding:9px 12px;border:1px solid #d9c47b;border-radius:12px;background:#faf8f3;color:#142440;font-size:.82rem}
.odds-league-freshness summary{cursor:pointer;font-weight:800;letter-spacing:.03em}
.odds-league-freshness #odds-league-freshness-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:7px;margin-top:10px}
.odds-freshness-row{display:grid;gap:2px;padding:8px 9px;border:1px solid #e5d59e;border-radius:8px;background:#fffefa}
.odds-freshness-row strong{color:#142440}.odds-freshness-row span{font-weight:700}.odds-freshness-row small{color:#675e49;overflow-wrap:anywhere}
.odds-status>div{display:grid;gap:3px}.odds-status strong{color:#111}.odds-status span{color:#655c45}.odds-status #odds-period{font-size:.72rem;font-weight:750;text-transform:uppercase}.odds-status #odds-period::before{display:none}.odds-status #odds-feed-status::before{background:#4a9b62;box-shadow:0 0 0 3px #4a9b6233}
.odds-board{display:grid;gap:16px;margin-top:0}
.odds-date-group>h2{margin:0;padding:12px 15px;border-left:4px solid #B8932E;background:#1F3B63;color:#fff;font-size:.92rem;letter-spacing:.02em}
.odds-date-group .pro-board-wrap{margin-top:0;border-top:0}
.odds-date-group+.odds-date-group{margin-top:2px}

@media(max-width:760px){
  .odds-intro,.odds-shell{width:min(100% - 24px,1180px)}
  .odds-intro{display:grid!important;padding:7px 12px 8px}
  .odds-shell{margin-top:6px}
  #odds-tabs .odds-logo-tab{width:46px;height:46px;min-width:46px;min-height:46px;padding:5px}
  #odds-tabs .odds-logo-tab img{width:36px;height:36px;max-width:36px}
  #odds-tabs .odds-logo-tab[data-league^="soccer_"] strong{width:36px;height:36px;font-size:36px!important}
  #odds-tabs .odds-logo-tab[data-league="ncaaf"] img,#odds-tabs .odds-logo-tab[data-league="ncaab"] img,#odds-tabs .odds-logo-tab[data-league="ncaam"] img,#odds-tabs .odds-logo-tab[data-league="ncaaw"] img{width:38px;height:38px;max-width:38px}
  #odds-tabs .odds-logo-tab[data-league="euroleague"] img{width:54px;height:36px;max-width:54px}
  .odds-controls{display:flex;margin-bottom:8px;padding:0;border:0}.odds-control{flex:1;width:auto}.odds-refresh{width:44px;min-height:36px;color:transparent;padding:0}.odds-refresh::after{color:#111}
  .odds-status{align-items:flex-start;flex-direction:column;gap:5px;min-height:0;padding:10px 12px;border-left:4px solid var(--gold);border-top:1px solid #d9c47b}
  .odds-status span{max-width:100%;white-space:normal}
  .odds-board{gap:12px}.odds-date-group>h2{padding:10px 12px;font-size:.8rem}
  .odds-note{margin:10px 2px 0;color:#655c42}
}

/* 2027 compact odds desk: league, market controls and feed state share one rail. */
.odds-shell{margin-top:10px}
.odds-status{
  display:grid;
  grid-template-columns:minmax(250px,1fr) auto minmax(210px,.7fr);
  align-items:center;
  gap:18px;
  min-height:58px;
  margin:0 0 10px;
  padding:9px 14px;
  border:1px solid #E6E2D9;
  border-left:4px solid #B8932E;
  background:#FFFFFF;
  background-image:none;
  box-shadow:none;
}
.odds-desk-title{display:grid!important;align-content:center;gap:3px;min-width:0}
.odds-status .odds-desk-title strong{display:flex;align-items:center;gap:8px;min-width:0;color:#8F6F14;font-size:1rem;letter-spacing:.035em;white-space:normal}
.odds-status .odds-desk-title #odds-period{display:block;max-width:100%;overflow:hidden;color:#5B6578;font-size:.7rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}
.odds-status .best-key{flex:0 0 auto;margin-left:0;font-size:.64rem;letter-spacing:0;white-space:nowrap}
.odds-desk-tools{display:grid;grid-template-columns:auto 150px auto;align-items:center;gap:8px}
.odds-desk-tools label{color:#8F6F14;font-size:.7rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase}
.odds-desk-tools select{height:36px;padding:6px 30px 6px 10px;border:1px solid #D7D2C8;background:#FAF8F3;color:#1F3B63;font:700 .82rem Barlow,sans-serif}
.odds-desk-tools .odds-refresh{align-self:auto;min-height:36px;margin:0;padding:7px 11px;border:1px solid #1F3B63;background:#1F3B63;color:#fff;font-size:.68rem;letter-spacing:.06em}
.odds-desk-tools .odds-refresh:hover{border-color:#B8932E;background:#B8932E;color:#1F3B63}
.odds-status .odds-feed-state{justify-self:end;color:#5B6578;font-size:.72rem;white-space:nowrap}

@media(max-width:1180px){
  .odds-status{grid-template-columns:1fr auto;gap:8px 12px}
  .odds-status .odds-feed-state{grid-column:1/-1;justify-self:start}
}

@media(max-width:620px){
  .odds-shell{margin-top:6px}
  .odds-status{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;padding:9px 10px}
  .odds-desk-title{grid-column:1;grid-row:1;justify-content:space-between;gap:6px}
  .odds-status .odds-desk-title strong{font-size:.86rem}
  .odds-desk-tools{grid-column:2;grid-row:1;width:auto;display:flex;justify-content:flex-end;gap:6px}
  .odds-desk-tools select{width:0;height:0}
  .odds-desk-tools .odds-refresh{width:auto;min-width:112px;min-height:36px;overflow:visible;padding:7px 10px;color:#fff;font-size:.68rem;white-space:nowrap}
  .odds-desk-tools .odds-refresh::after{content:none}
  .odds-status .odds-feed-state,.odds-status .odds-partial-note{grid-column:1/-1;max-width:none;white-space:normal}
}

/* Compact editorial odds layout with a standard advertising rail. */
.odds-shell{width:min(1220px,calc(100% - 40px));margin-top:8px}
.odds-content-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:20px}
.odds-results-column{min-width:0}
.odds-ad-rail{display:grid;gap:18px;position:static;min-width:0}
.ad-slot{display:grid;place-items:center;width:100%;border:1px solid #E6E2D9;background:#FFFFFF;color:#8B93A1}
.ad-slot span{font:600 .62rem var(--trus-font-ui,Barlow,sans-serif);letter-spacing:.12em;text-transform:uppercase}
.ad-slot-rectangle{min-height:250px}
.ad-slot-tall{min-height:600px}
.odds-date-group>h2{padding:9px 12px;font-size:.78rem;font-weight:700}
.odds-card-list{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 0 2px}
.odds-game-card{border-radius:7px}
.odds-game-card>header{padding:8px 10px;font-size:.67rem;letter-spacing:.035em}
.odds-game-card>header small{font-size:.61rem}
.odds-card-grid{padding:7px 8px 6px}
.odds-card-labels,.odds-card-team{grid-template-columns:minmax(190px,1.55fr) repeat(4,minmax(66px,.7fr));gap:6px}
.odds-card-labels{min-height:21px;font-size:.58rem;letter-spacing:.05em}
.odds-card-team{min-height:47px}
.odds-card-team-name{gap:9px}
.odds-card-team-name .team-logo{flex-basis:34px;width:34px;height:34px;color:#1F3B63;font-size:.65rem;font-weight:750}
.odds-card-team-name .team-logo img{width:32px;height:32px}
.odds-card-team-name strong{overflow:visible;color:#1F3B63;font-size:.86rem;font-weight:650;text-overflow:clip;white-space:normal}
.odds-card-cell{min-height:37px;padding:3px 2px;border-radius:5px}
.odds-card-number{font-size:.74rem;font-weight:700}
.odds-card-cell small{margin-top:2px;font-size:.57rem}
.compare-toggle{min-height:35px;font-size:.63rem;letter-spacing:.075em}
.sportsbook-comparison{padding:0 8px 9px}
.comparison-tabs{gap:15px;min-height:36px}
.comparison-tabs button{font-size:.64rem}
.sportsbook-compare-head,.sportsbook-compare-row{grid-template-columns:minmax(104px,1.2fr) 1fr 1fr;min-height:32px}
.sportsbook-compare-row strong,.sportsbook-compare-row>span{font-size:.62rem}

@media(max-width:1080px){
  .odds-content-layout{grid-template-columns:minmax(0,1fr) 250px;gap:14px}
  .odds-ad-rail{width:250px}.ad-slot-rectangle{min-height:208px}.ad-slot-tall{min-height:500px}
  .odds-card-list{grid-template-columns:1fr}
}
@media(max-width:820px){
  .odds-shell{width:min(100% - 24px,760px)}
  .odds-content-layout{display:block}.odds-ad-rail{display:none}
  .odds-card-list{grid-template-columns:minmax(0,1fr)}
}
@media(max-width:620px){
  .odds-card-list{grid-template-columns:1fr;gap:9px}
  .odds-game-card>header{padding:8px 9px}
  .odds-card-grid{padding:7px 7px 6px}
  .odds-card-labels,.odds-card-team{grid-template-columns:minmax(102px,1.28fr) repeat(4,minmax(47px,.7fr))}
  .odds-card-team-name .team-logo{flex-basis:28px;width:28px;height:28px}
  .odds-card-team-name .team-logo img{width:27px;height:27px}
  .odds-card-team-name strong{font-size:.74rem;line-height:1.1}
}

/* 2027 game-card odds board: one matchup per readable card. */
.odds-card-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:16px 0 4px}
.odds-game-card{overflow:hidden;border:1px solid #E6E2D9;border-radius:12px;background:#FFFFFF;box-shadow:none}
.odds-game-card>header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 16px;border-bottom:1px solid #E6E2D9;color:#5B6578;font-size:.76rem;letter-spacing:.055em;text-transform:uppercase}
.odds-game-card>header b{color:#8F6F14;font-weight:800}
.odds-game-card>header small{font-size:.68rem;font-weight:700;white-space:nowrap}
.odds-card-grid{padding:12px 14px 10px}
.odds-card-labels,.odds-card-team{display:grid;grid-template-columns:minmax(150px,1.45fr) repeat(4,minmax(62px,.72fr));align-items:center;gap:8px}
.odds-card-labels{min-height:28px;color:#5B6578;font-size:.67rem;font-weight:700;letter-spacing:.08em;text-align:center;text-transform:uppercase}
.odds-card-team{min-height:62px}
.odds-card-team-name{display:flex;align-items:center;gap:9px;min-width:0}
.odds-card-team-name .team-logo{flex:0 0 34px;width:34px;height:34px}
.odds-card-team-name .team-logo img{width:32px;height:32px;object-fit:contain}
.odds-card-team-name strong{overflow:hidden;color:#1F3B63;font-size:.9rem;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.odds-card-cell{display:grid;place-items:center;align-content:center;min-height:46px;padding:5px;border:0;border-radius:8px;background:#F4F2EC;color:#1F3B63;text-align:center;font-variant-numeric:tabular-nums}
.odds-card-number{font-size:.9rem;font-weight:700;line-height:1.05}
.odds-card-cell small{margin-top:3px;color:#5B6578;font-size:.67rem;font-weight:600;line-height:1}
.compare-toggle{width:100%;min-height:48px;border:0;border-top:1px solid #E6E2D9;background:#FFFFFF;color:#1F3B63;font:700 .74rem var(--trus-font-ui,Barlow,sans-serif);letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.compare-toggle:hover,.compare-toggle:focus-visible{background:#FAF8F3;color:#8F6F14}
.compare-toggle span{margin-left:8px;color:#B8932E}
.sportsbook-comparison{padding:0 14px 14px;border-top:1px solid #E6E2D9;background:#FAF8F3}
.sportsbook-comparison[hidden]{display:none}
.comparison-tabs{display:flex;gap:20px;min-height:44px;border-bottom:1px solid #E6E2D9}
.comparison-tabs button{padding:0 2px;border:0;border-bottom:3px solid transparent;background:transparent;color:#5B6578;font:600 .72rem var(--trus-font-ui,Barlow,sans-serif);cursor:pointer}
.comparison-tabs button.active{border-bottom-color:#B8932E;color:#1F3B63}
.sportsbook-compare-table{padding-top:7px}
.sportsbook-compare-head,.sportsbook-compare-row{display:grid;grid-template-columns:minmax(130px,1.25fr) 1fr 1fr;align-items:center;gap:8px;min-height:38px;border-bottom:1px solid #E6E2D9}
.sportsbook-compare-head{color:#5B6578;font-size:.62rem;font-weight:700;letter-spacing:.06em;text-align:center;text-transform:uppercase}
.sportsbook-compare-head span:first-child{text-align:left}
.sportsbook-compare-row strong{min-width:0;color:#1F3B63;font-size:.7rem}
.sportsbook-compare-row>span{padding:6px;color:#1F3B63;font-size:.7rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}
.sportsbook-compare-row>span.best{border-radius:5px;background:#DDF4E6;color:#12653A;box-shadow:inset 0 0 0 1px #8CCFA8}
.market-line.best,.sportsbook-compare-row>span.best{border-color:#8CCFA8!important;background:#DDF4E6!important;color:#12653A!important;box-shadow:inset 0 0 0 1px #8CCFA8!important}.market-line.best small{color:#367554!important}
.sportsbook-compare-row .sportsbook-logo{width:22px;height:22px;flex-basis:22px}

/* 1053: schedule-backed events, visible league labels, and explicit missing lines. */
.odds-partial-note{grid-column:1/-1;display:block!important;margin:-4px 0 0;color:#5B6578!important;font-size:.78rem!important;font-weight:600;line-height:1.35}
.odds-partial-note[hidden]{display:none!important}
.odds-sport-group{min-width:0;margin-top:2px}
.odds-sport-group>h2{margin:0;padding:10px 14px;border-left:4px solid #B8932E;background:#1F3B63;color:#fff;font-size:1rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase}
.odds-sport-group .odds-card-list{padding-top:10px}
.odds-game-card>header{align-items:center;min-height:54px}
.game-card-heading{display:flex;align-items:center;flex-wrap:wrap;gap:9px;min-width:0}
.game-card-heading>b{color:#1F3B63!important;font-size:.92rem;font-weight:800;letter-spacing:.01em;line-height:1.2;text-transform:none}
.league-badge{display:inline-flex;align-items:center;min-height:24px;padding:3px 9px;border:1px solid #D9BC62;border-radius:999px;background:#F8F1DC;color:#1F3B63;font-size:12px!important;font-weight:850!important;letter-spacing:.025em;line-height:1.1;text-transform:none;white-space:nowrap}
.odds-game-card>header>small{color:#5B6578;font-size:.7rem;font-weight:750;white-space:normal;text-align:right}
.odds-game-card.no-lines{border-color:#D9BC62}
.lines-not-posted{margin:0;padding:8px 14px;border-bottom:1px solid #E6E2D9;background:#FFFCF3;color:#6B5313;font-size:.76rem;font-weight:750}
.odds-card-number.not-posted,.odds-card-cell small.not-posted,.full-line.empty{color:#7A6B4A}
.odds-score{margin-left:auto;color:#1F3B63;font-size:1rem;font-variant-numeric:tabular-nums}
.odds-game-status{padding:3px 14px;background:#F4F2EC;color:#5B6578;font-size:.7rem;font-weight:800}
.odds-game-status.live{background:#E7F4EA;color:#17643A}
@media(max-width:620px){
  .odds-partial-note{font-size:.72rem!important}
  .odds-sport-group>h2{padding:9px 11px;font-size:.91rem}
  .odds-game-card>header{gap:8px;padding:10px 9px}
  .game-card-heading{gap:6px}
  .game-card-heading>b{font-size:.84rem}
  .league-badge{min-height:22px;padding:3px 7px;font-size:12px!important}
  .odds-game-card>header>small{max-width:105px;font-size:.65rem}
}

@media(max-width:1050px){.odds-card-list{grid-template-columns:1fr}}
@media(max-width:620px){
  .odds-card-list{gap:12px;padding-top:12px}
  .odds-game-card{border-radius:9px}
  .odds-game-card>header{padding:11px 10px;font-size:.68rem}
  .odds-card-grid{padding:9px 8px 8px}
  .odds-card-labels,.odds-card-team{grid-template-columns:minmax(104px,1.3fr) repeat(4,minmax(50px,.7fr));gap:4px}
  .odds-card-labels{font-size:.58rem}
  .odds-card-team{min-height:58px}
  .odds-card-team-name{gap:5px}
  .odds-card-team-name .team-logo{flex-basis:27px;width:27px;height:27px}
  .odds-card-team-name .team-logo img{width:26px;height:26px}
  .odds-card-team-name strong{font-size:.72rem}
  .odds-card-cell{min-height:42px;padding:3px 2px;border-radius:6px}
  .odds-card-number{font-size:.76rem}
  .odds-card-cell small{font-size:.58rem}
  .sportsbook-comparison{padding:0 8px 10px}
  .sportsbook-compare-head,.sportsbook-compare-row{grid-template-columns:minmax(96px,1.15fr) 1fr 1fr;gap:4px}
  .sportsbook-compare-row strong,.sportsbook-compare-row>span{font-size:.62rem}
}

/* Expandable sportsbook detail: ESPN-level information without crowding the board. */
.game-cell{position:relative}.full-market-toggle{display:block;margin:6px 0 0 70px;padding:4px 8px;border:1px solid #b99a3b;background:#fffaf0;color:#B8932E;font-size:.66rem;font-weight:950;letter-spacing:.055em;text-transform:uppercase;cursor:pointer}.full-market-toggle:hover,.full-market-toggle[aria-expanded="true"]{background:#1F3B63;color:#fff;border-color:#1F3B63}
.full-market-row[hidden]{display:none}.full-market-row td{height:auto!important;padding:0!important;border:0!important;background:#f1efe8!important}.full-market-panel{padding:14px;border-top:4px solid #d79c00;text-align:left}.full-market-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 12px;background:#1F3B63;color:#fff}.full-market-head>div{display:grid;gap:2px}.full-market-head strong{font-size:.86rem;text-transform:uppercase}.full-market-head span{color:#cfd4da;font-size:.75rem}.full-market-head a{padding:6px 9px;border:1px solid #d79c00;color:#f2cf5b;font-size:.7rem;font-weight:900;text-transform:uppercase}.full-market-legend{display:flex;gap:18px;padding:8px 12px;border:1px solid #dad4c6;border-top:0;background:#fffaf0;color:#665e50;font-size:.72rem}.full-book-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:10px;margin-top:10px}.full-book-card{align-self:start;overflow:hidden;border:1px solid #d7cda9;background:#fff;box-shadow:0 4px 14px #3326000c}.full-book-card>header{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:38px;padding:8px 10px;background:linear-gradient(90deg,#fffdf6,#f0deb0);border-bottom:1px solid #d2bd75}.full-book-card>header strong{font-size:.78rem;text-transform:uppercase}.full-book-card>header>span{padding:3px 6px;background:#1F3B63;color:#f1cd55;font-size:.62rem;font-weight:900;text-transform:uppercase}.full-market-table{display:grid;grid-template-columns:minmax(54px,.75fr) repeat(4,minmax(72px,1fr));font-variant-numeric:tabular-nums}.full-market-table>*{display:grid;place-items:center;min-height:36px;padding:5px;border-right:1px solid #e2dccd;border-bottom:1px solid #e2dccd;text-align:center}.full-market-table>*:nth-child(5n){border-right:0}.full-market-label{background:#f2efe6;color:#665e4c;font-size:.66rem;font-weight:950;text-transform:uppercase}.full-market-team{justify-content:start!important;color:#111;font-size:.72rem;font-weight:950}.full-line{display:grid;gap:1px;color:#111;font-size:.74rem}.full-line b{font-size:.78rem}.full-line small{color:#756d5e;font-size:.63rem}.full-line.empty{color:#a7a091}.open-line{color:#795900}.full-book-card>footer{padding:7px 10px;background:#faf8f2;color:#756e61;font-size:.67rem}.full-market-loading,.full-market-error{padding:22px;background:#fff;color:#554e41;font-size:.82rem;font-weight:800}.full-market-error{border-left:4px solid var(--orange)}

@media(max-width:900px){.full-book-grid{grid-template-columns:1fr}}
@media(max-width:700px){
  .full-market-toggle{margin:5px 0 0 43px;padding:3px 6px;font-size:.58rem}.full-market-panel{padding:8px}.full-market-head{align-items:flex-start;flex-direction:column;gap:7px;padding:9px}.full-market-head a{padding:5px 7px}.full-market-legend{flex-direction:column;gap:3px;padding:7px 9px}.full-book-grid{gap:8px;margin-top:8px}.full-book-card{overflow-x:auto}.full-book-card>header,.full-book-card>footer{position:sticky;left:0;min-width:390px}.full-market-table{min-width:390px;grid-template-columns:55px repeat(4,minmax(82px,1fr))}.full-market-table>*{min-height:34px;padding:4px}.full-market-label{font-size:.62rem}.full-line b{font-size:.72rem}
}

/* Final expanded-card team mark placement. */
.full-market-team{display:flex!important;align-items:center;justify-content:center!important}
.full-market-logo{flex:0 0 28px;width:28px;height:28px;border-radius:7px}
.full-market-logo img{width:25px;height:25px}
@media(max-width:700px){.full-market-logo{flex-basis:25px;width:25px;height:25px}.full-market-logo img{width:22px;height:22px}}

/* Sportsbook identity marks in comparison and full-market views. */
.sportsbook-brand{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;max-width:100%}
.sportsbook-brand>span{overflow:hidden;color:#132a44;text-overflow:ellipsis;white-space:nowrap}
.sportsbook-logo{display:block;flex:0 0 22px;width:22px;height:22px;border:0;border-radius:0;background:transparent;object-fit:contain;box-shadow:none}
.more-book{grid-template-columns:110px 1fr 1fr}
.more-book-name .sportsbook-brand{justify-content:flex-start}
.full-book-card>header{min-height:44px}
.full-book-card>header strong{min-width:0}
.full-book-card>header strong .sportsbook-brand{justify-content:flex-start}
.full-book-card>header .sportsbook-logo{flex-basis:28px;width:28px;height:28px}
.full-book-card>header>span{flex:0 0 auto}
@media(max-width:700px){
  .book-head .sportsbook-brand{gap:3px}
  .book-head .sportsbook-logo{flex-basis:16px;width:16px;height:16px;border-radius:4px}
  .more-book{grid-template-columns:100px 1fr 1fr}
  .more-book-name .sportsbook-logo{flex-basis:19px;width:19px;height:19px}
}

/* Final full-market table alignment. */
.full-book-card table.full-market-table{display:table;width:100%;height:126px!important;min-width:0;border-collapse:collapse;table-layout:fixed;font-variant-numeric:tabular-nums}
.full-market-table>thead{display:table-header-group;min-height:0;padding:0;border:0}
.full-market-table>tbody{display:table-row-group;min-height:0;padding:0;border:0}
.full-market-table tr{display:table-row}
.full-market-row .full-market-table th,.full-market-row .full-market-table td{display:table-cell;width:20%;height:42px!important;min-height:0;padding:5px!important;border-right:1px solid #e2dccd!important;border-bottom:1px solid #e2dccd!important;text-align:center;vertical-align:middle}
.full-market-table th{background:#f2efe6;color:#665e4c;font-size:.66rem;font-weight:950;text-transform:uppercase}
.full-market-table th:last-child,.full-market-table td:last-child{border-right:0}
.full-market-table td.full-market-team{display:table-cell!important;text-align:center}
.full-market-team .full-market-logo{margin:0 auto}
.full-market-table .full-line.empty{grid-column:auto;padding:0!important;background:transparent;text-align:center}
@media(max-width:700px){
  .full-book-card table.full-market-table{height:114px!important;min-width:390px}
  .full-market-row .full-market-table th,.full-market-row .full-market-table td{height:38px!important;padding:4px!important}
}

/* Final readable ad-rail composition. Keep this after legacy card rules. */
.odds-card-list{grid-template-columns:minmax(0,1fr);gap:10px;padding:10px 0 2px}
.odds-game-card{max-width:100%;border-radius:8px}
.odds-game-card>header{padding:9px 12px;font-size:.7rem;letter-spacing:.035em}
.odds-card-grid{padding:8px 10px 7px}
.odds-card-labels,.odds-card-team{grid-template-columns:minmax(190px,1.55fr) repeat(4,minmax(66px,.7fr));gap:6px}
.odds-card-labels{min-height:23px;font-size:.62rem}
.odds-card-team{min-height:52px}
.odds-card-team-name{gap:9px}
.odds-card-team-name .team-logo{flex:0 0 34px;width:34px;height:34px;color:#1F3B63;font-size:.65rem;font-weight:750}
.odds-card-team-name .team-logo img{width:32px;height:32px;object-fit:contain}
.odds-card-team-name strong{overflow:visible;color:#1F3B63;font-size:.88rem;font-weight:650;line-height:1.15;text-overflow:clip;white-space:normal}
.odds-card-cell{min-height:40px;padding:4px 3px;border-radius:6px}
.odds-card-number{font-size:.8rem}.odds-card-cell small{font-size:.6rem}
.compare-toggle{min-height:38px;font-size:.66rem}
.odds-ad-rail{position:static!important;top:auto!important}
@media(max-width:820px){.odds-card-list{grid-template-columns:minmax(0,1fr)}}
@media(max-width:620px){
  .odds-card-list{grid-template-columns:minmax(0,1fr);gap:9px;padding-top:9px}
  .odds-card-labels,.odds-card-team{grid-template-columns:minmax(108px,1.3fr) repeat(4,minmax(47px,.7fr));gap:4px}
  .odds-card-team-name{gap:5px}.odds-card-team-name .team-logo{flex-basis:28px;width:28px;height:28px}
  .odds-card-team-name .team-logo img{width:27px;height:27px}.odds-card-team-name strong{font-size:.74rem}
}

/* Final density pass: ESPN-style two-up board with readable data. */
.odds-shell{width:min(1280px,calc(100% - 32px))}
.odds-content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}
.odds-card-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px 0 2px}
.odds-game-card{border-radius:6px}
.odds-game-card>header{padding:7px 9px;font-size:.64rem}
.odds-game-card>header small{font-size:.58rem}
.odds-card-grid{padding:6px 7px 5px}
.odds-card-labels,.odds-card-team{grid-template-columns:minmax(126px,1.42fr) repeat(4,minmax(46px,.68fr));gap:3px}
.odds-card-labels{min-height:20px;font-size:.56rem;letter-spacing:.045em}
.odds-card-team{min-height:44px}
.odds-card-team-name{gap:6px}
.odds-card-team-name .team-logo{flex:0 0 27px;width:27px;height:27px;font-size:.58rem}
.odds-card-team-name .team-logo img{width:26px;height:26px}
.odds-card-team-name strong{display:-webkit-box;overflow:hidden;font-size:.72rem;font-weight:650;line-height:1.12;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal}
.odds-card-cell{min-height:34px;padding:2px;border-radius:5px}
.odds-card-number{font-size:.7rem}.odds-card-cell small{font-size:.54rem}
.compare-toggle{min-height:31px;font-size:.59rem;letter-spacing:.065em}
.ad-slot-rectangle{min-height:217px}.ad-slot-tall{min-height:520px}
@media(max-width:1080px){
  .odds-content-layout{grid-template-columns:minmax(0,1fr) 220px;gap:12px}
  .odds-ad-rail{width:220px}.ad-slot-rectangle{min-height:183px}.ad-slot-tall{min-height:440px}
  .odds-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .odds-card-labels,.odds-card-team{grid-template-columns:minmax(112px,1.35fr) repeat(4,minmax(42px,.65fr))}
}
@media(max-width:900px){
  .odds-content-layout{display:block}.odds-ad-rail{display:none}
  .odds-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:680px){
  .odds-shell{width:min(100% - 18px,620px)}
  .odds-card-list{grid-template-columns:minmax(0,1fr)}
  .odds-card-labels,.odds-card-team{grid-template-columns:minmax(110px,1.3fr) repeat(4,minmax(47px,.7fr));gap:4px}
}

/* Readability lock: enlarge supporting labels without changing odds values or card density. */
.odds-game-card>header{font-size:.69rem}
.odds-game-card>header small{font-size:.63rem}
.odds-card-labels{font-size:.61rem}
.odds-card-team-name .team-logo{font-size:.63rem}
.odds-card-team-name strong{font-size:.78rem}
.compare-toggle{font-size:.64rem}
.sportsbook-compare-head{font-size:.66rem}
.sportsbook-compare-row strong{font-size:.68rem}

/* Premium TRUS golf market board. */
.golf-odds-mode .odds-shell{width:min(1180px,calc(100% - 32px))}
.golf-odds-mode .odds-content-layout{grid-template-columns:minmax(0,820px) 280px;justify-content:center;gap:22px}
.golf-odds-mode .odds-results-column{width:100%;max-width:820px}
.golf-odds-mode .odds-board{gap:12px}
.golf-odds-mode .golf-outright-card{border:1px solid #d7d0bf;border-top:0;box-shadow:0 14px 34px rgba(31,59,99,.12)}
.golf-odds-mode .golf-outright-card>header{min-height:78px;padding:12px 16px;border-top:5px solid #B8932E;background:linear-gradient(110deg,#172f50 0%,#1F3B63 66%,#294d7c 100%)}
.golf-odds-mode .golf-market-title{display:flex;align-items:center;gap:12px}
.golf-odds-mode .golf-market-title>img{width:46px;height:46px;padding:5px;border:1px solid rgba(217,188,98,.65);background:#fff}
.golf-odds-mode .golf-market-title>span{display:grid;gap:1px}
.golf-odds-mode .golf-market-title em{color:#D9BC62;font-size:.58rem;font-style:normal;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.golf-odds-mode .golf-market-title strong{font-size:1.04rem;letter-spacing:.01em}
.golf-odds-mode .golf-market-title small{color:#dfe7f1;font-size:.7rem}
.golf-odds-mode .golf-market-meta{display:grid;justify-items:end;gap:5px}
.golf-odds-mode .golf-market-meta span{padding:4px 7px;border:1px solid rgba(217,188,98,.6);color:#f4d875;font-size:.56rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase}
.golf-odds-mode .golf-market-meta b{color:#fff;font-size:.67rem;letter-spacing:.06em;text-transform:uppercase}
.golf-odds-mode .golf-odds-head,.golf-odds-mode .golf-odds-row{grid-template-columns:minmax(300px,360px) 94px 94px 130px;justify-content:start;gap:10px}
.golf-odds-mode .golf-odds-head{min-height:36px;padding:8px 13px;border-bottom:2px solid #B8932E;background:#eee9dd;color:#4c5768;font-size:.64rem}
.golf-odds-mode .golf-odds-head>span:not(:first-child),.golf-odds-mode .golf-odds-row>span:not(.golf-player){padding-left:12px;border-left:1px solid #ded8ca}
.golf-odds-mode .golf-odds-row{min-height:70px;padding:0 13px;background:#fff;font-size:.8rem;font-variant-numeric:tabular-nums}
.golf-odds-mode .golf-odds-row:nth-child(even){background:#fbfaf6}
.golf-odds-mode .golf-odds-row:hover{background:#f5f0e3;box-shadow:inset 4px 0 #B8932E}
.golf-odds-mode .golf-player{gap:9px}
.golf-odds-mode .golf-player>b{width:23px;height:23px;flex-basis:23px;background:#efe8d8;color:#765b15;font-size:.65rem;font-weight:900}
.golf-odds-mode .golf-headshot{width:62px;height:68px;flex-basis:62px}
.golf-odds-mode .golf-player>strong{color:#203b60;font-size:.82rem;font-weight:750}
.golf-odds-mode .golf-odds-row>span:not(.golf-player){font-weight:850}
.golf-odds-mode .golf-odds-row .best{color:#147448}

.ad-rail-heading{display:grid;gap:2px;padding:10px 12px;border-top:4px solid #B8932E;background:#1F3B63;color:#fff}
.ad-rail-heading span{color:#D9BC62;font-size:.56rem;font-weight:900;letter-spacing:.16em;text-transform:uppercase}
.ad-rail-heading b{font-size:.78rem;letter-spacing:.02em}
.ad-slot{position:relative;align-content:center;justify-items:center;overflow:hidden;padding:24px;text-align:center}
.ad-slot::before,.ad-slot::after{content:"";position:absolute;width:68px;height:2px;background:#D9BC62;transform:rotate(-45deg)}
.ad-slot::before{top:18px;right:-20px}.ad-slot::after{bottom:18px;left:-20px}
.ad-slot span{color:#8a7a52;font-size:.56rem;font-weight:900;letter-spacing:.16em}
.ad-slot strong{margin-top:18px;color:#1F3B63;font-size:1rem;letter-spacing:.04em;text-transform:uppercase}
.ad-slot p{max-width:190px;margin:8px 0 18px;color:#5B6578;font-size:.72rem;line-height:1.45}
.ad-slot small{padding:4px 7px;border:1px solid #d8cfbb;color:#8B93A1;font-size:.56rem;letter-spacing:.1em}
.golf-odds-mode .odds-ad-rail{position:sticky!important;top:12px!important;display:grid;width:280px;gap:14px}
.golf-odds-mode .ad-slot-rectangle{min-height:230px}
.golf-odds-mode .ad-slot-tall{min-height:430px}

@media(max-width:1050px){
  .golf-odds-mode .odds-content-layout{grid-template-columns:minmax(0,760px) 210px;gap:14px}
  .golf-odds-mode .odds-results-column{max-width:760px}
  .golf-odds-mode .odds-ad-rail{width:210px}
  .golf-odds-mode .golf-odds-head,.golf-odds-mode .golf-odds-row{grid-template-columns:minmax(280px,330px) 82px 82px 108px;gap:7px}
  .ad-slot{padding:18px}.ad-slot p{max-width:160px}
}
@media(max-width:900px){
  .golf-odds-mode .odds-content-layout{display:block}
  .golf-odds-mode .odds-results-column{max-width:none}
  .golf-odds-mode .odds-ad-rail{position:static!important;display:grid;width:100%;grid-template-columns:1fr 1fr;margin-top:18px}
  .golf-odds-mode .ad-rail-heading{grid-column:1/-1}
  .golf-odds-mode .ad-slot-rectangle,.golf-odds-mode .ad-slot-tall{min-height:180px}
}
@media(max-width:700px){
  .golf-odds-mode .odds-shell{width:min(100% - 16px,620px)}
  .golf-odds-mode .golf-outright-card>header{min-height:70px;padding:10px}
  .golf-odds-mode .golf-market-title>img{width:40px;height:40px}
  .golf-odds-mode .golf-market-meta b{display:none}
  .golf-odds-mode .golf-odds-head,.golf-odds-mode .golf-odds-row{grid-template-columns:minmax(190px,1fr) 66px 72px;gap:5px}
  .golf-odds-mode .golf-odds-head>span:not(:first-child),.golf-odds-mode .golf-odds-row>span:not(.golf-player){padding-left:6px}
  .golf-odds-mode .golf-headshot{width:54px;height:62px;flex-basis:54px}
  .golf-odds-mode .golf-odds-row{min-height:64px;padding-inline:7px}
  .golf-odds-mode .golf-odds-head{padding-inline:7px}
  .golf-odds-mode .golf-player>strong{font-size:.75rem}
  .golf-odds-mode .odds-ad-rail{grid-template-columns:1fr}
  .golf-odds-mode .ad-rail-heading{grid-column:auto}
}

/* 1141: consistent weather row and premium card action bars. */
.game-card-heading{flex-wrap:nowrap!important;gap:6px!important}
.game-card-heading>b{flex:0 0 auto;white-space:nowrap}
.game-card-heading>.league-badge{flex:0 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}
.odds-game-card>header>small{flex:0 1 112px;min-width:66px;max-width:112px;line-height:1.25;white-space:normal;text-align:right}
.odds-game-card .odds-weather-chip{flex:0 0 auto;white-space:nowrap}
.compare-toggle{position:relative;display:flex;align-items:center;justify-content:flex-start;gap:10px;min-height:48px;padding:0 12px;border:0;border-top:1.5px solid #b8932e;background:#f7f3ea;color:#14233b;font-weight:600;letter-spacing:1.5px;text-align:left}
.compare-toggle:hover,.compare-toggle:focus-visible{background:#f7f3ea;color:#14233b}
.compare-icon{flex:0 0 19px;width:19px;height:19px;fill:none;stroke:#b8932e;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}
.compare-toggle .compare-label{margin:0;color:#14233b;font-size:.72rem;letter-spacing:1.5px}
.compare-toggle .compare-chevron{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;margin-left:auto;border:1.5px solid #b8932e;border-radius:50%;color:#b8932e;transition:transform .14s ease}
.compare-chevron svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.compare-toggle[aria-expanded="true"] .compare-chevron{transform:rotate(180deg)}
@media(max-width:620px){
  .odds-game-card>header{gap:6px}
  .game-card-heading{gap:4px!important}
  .league-badge{padding:3px 6px;font-size:11px!important}
  .odds-game-card>header>small{flex-basis:80px;max-width:80px;font-size:.58rem;letter-spacing:.02em}
  .compare-toggle{min-height:44px;padding-inline:10px;gap:8px}
  .compare-toggle .compare-label{font-size:.66rem;letter-spacing:1.1px}
}
@media(prefers-reduced-motion:reduce){.compare-chevron{transition:none}}
/* College Football uses ESPN short display names and may wrap them on phones. */
.odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name{min-width:0}
.odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name .team-logo{border-radius:50%;background:#fff;color:#1f3b63;border:1px solid #b8932e}
.odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name .team-logo img{object-fit:contain}
.odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name .college-team-name{flex:1 1 auto;min-width:0;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:normal;line-height:1.1}
@media(max-width:620px){
  #odds-board{padding-bottom:calc(136px + env(safe-area-inset-bottom,0px))}
  .odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name{align-items:center;gap:5px}
  .odds-game-card[data-weather-league="ncaaf"] .odds-card-team-name .college-team-name{display:block;font-size:.72rem;line-height:1.08}
}
