:root{color-scheme:light;--bg:#cfd8e1;--panel:#e5ebf0;--ink:#19313b;--muted:#4c606e;--line:#b7c5cf;--soft:#d8e1e8;--hover:#ccdfd7;--positive-text:#17644f;--negative-text:#9e3434;--win-bg:#e1f4e9;--loss-bg:#fbe9e9;--pending-bg:#fff2d7;--pending-text:#80560a}
body{min-height:100vh;background:radial-gradient(ellipse at 85% 10%,#8ebaae77,transparent 55%),linear-gradient(135deg,#c2ceda 0%,#d3dedf 48%,#b5c9cd 100%);background-attachment:fixed}
:root[data-theme=dark] body{background:radial-gradient(ellipse at 85% 10%,#14544866,transparent 55%),linear-gradient(135deg,#0c151e 0%,#132b31 48%,#102123 100%);background-attachment:fixed}
.bet-type-buttons{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0 22px;padding:6px;background:var(--soft);border:1px solid var(--line);border-radius:12px}
.bet-type-buttons button{flex:1;min-width:85px;border-color:transparent;background:transparent;font-weight:650;padding:12px 18px}
.bet-type-buttons button[aria-pressed=true]{background:linear-gradient(120deg,#087e70,#126857);border-color:#087e70;color:#fff;box-shadow:0 3px 10px #073e3426}
.mobile-slip-link,.mobile-board-link{display:none}
.board-mode-buttons{display:flex;gap:8px;margin-bottom:20px}.board-mode-buttons button{min-width:115px;font-weight:650}.board-mode-buttons button[aria-pressed=true]{background:var(--brand);color:#fff;border-color:var(--brand)}
.feed-status-panel{margin-bottom:24px}.feed-status-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.feed-status-grid span,.feed-status-grid small{display:block;color:var(--muted);font-size:13px}.feed-status-grid strong{display:block;margin:7px 0;font-size:15px}.feed-status-panel .error{font-size:14px;line-height:1.6}@media(max-width:700px){.feed-status-grid{grid-template-columns:1fr}}
.sport-access-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(270px,1fr));gap:14px}.sport-access-card{padding:16px;background:var(--soft);border:1px solid var(--line);border-radius:10px}.sport-access-card summary{cursor:pointer}.sport-access-card summary label{display:inline-flex;margin:0 8px 8px 0}.sport-access-card small{display:block;color:var(--muted)}.sport-access-leagues{display:grid;gap:12px;margin-top:16px;max-height:300px;overflow:auto}.sport-access-leagues label{overflow-wrap:anywhere}
@media(max-width:700px){
 .mobile-slip-link{display:inline-block;min-height:44px}
 .game-slip-link{margin-top:10px}
 .boardlayout>#bet-slip{display:none}
 body:has(.mobile-slip-dialog[open]){overflow:hidden}
 .mobile-board-link{display:block;min-height:44px;margin-bottom:16px;width:100%}
 .slip{scroll-margin-top:16px}
 .layout button,.layout select,.layout input{min-height:44px}.layout input,.layout select,.bet-review input{font-size:16px}
 .topactions{min-width:0;max-width:100%;flex-wrap:wrap}.player-wallet{min-width:0;width:100%}.player-wallet>span{min-width:0;padding:0 8px}.player-wallet strong{font-size:15px}
 .game .row.separation{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game .oddbutton{overflow-wrap:anywhere}
 .slip .pick strong,.ticketbody strong{overflow-wrap:anywhere}.bet-review{padding:20px}
 .history-filters form,.history-controls .row{flex-wrap:wrap}.history-filters label{min-width:0;max-width:100%}
}
:root[data-theme=dark]{color-scheme:dark;--bg:#0e171e;--panel:#18252f;--ink:#e6f0f4;--muted:#a6bac5;--line:#314450;--soft:#1f303b;--hover:#193e38;--positive-text:#8fdbc2;--negative-text:#f2a8a8;--win-bg:#1b4033;--loss-bg:#472b32;--pending-bg:#423923;--pending-text:#f0ce83}
button.primary,.mark{color:#fff}button.active{background:var(--ink);color:var(--panel)}
textarea{font:inherit;width:100%;min-height:78px;padding:11px 12px;color:var(--ink);background:var(--panel);border:1px solid var(--line);border-radius:7px;resize:vertical}
textarea:focus-visible{outline:3px solid #d9aa43;outline-offset:3px}
.checks{display:flex;flex-wrap:wrap;gap:15px}.checks label,.check{display:flex;align-items:center;gap:7px;font-size:12px}.checks input,.check input{width:auto;margin:0}
.football-banner{margin-bottom:22px;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px 27px;background:#123e37;color:#f4faf7;border-radius:12px;overflow:hidden}.football-banner .eyebrow{color:#a2d3bf}.football-banner h2{font-size:24px;letter-spacing:-.6px}.football-banner p{font-size:12px;margin-top:8px;color:#c5ded3}
.field-art{width:240px;height:100px;flex:none;position:relative;border:1px solid #80b29c55;border-radius:4px;background:repeating-linear-gradient(90deg,transparent 0,transparent 45px,#c1e2ca55 45px,#c1e2ca55 47px);display:flex;align-items:center;justify-content:space-around;transform:rotate(-10deg);color:#accab9;font-size:14px}.field-art:before,.field-art:after{content:'';position:absolute;left:0;right:0;top:30px;height:1px;background:repeating-linear-gradient(90deg,transparent 0,transparent 8px,#c1e2ca77 8px,#c1e2ca77 10px)}.field-art:after{top:70px}
.team{display:flex;align-items:center;gap:8px;min-width:0}.teammark{width:35px;height:35px;border-radius:50%;background:#fff;display:inline-grid;place-items:center;position:relative;flex:none;color:#263b47;font-size:10px;font-weight:700;vertical-align:middle;overflow:hidden}.teammark img{position:absolute;inset:3px;width:29px;height:29px;object-fit:contain}.teammark:has(img:not([hidden]))>span{visibility:hidden}
.ticket-matchup{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0;color:var(--muted);font-size:12px}.ticket-matchup .teammark{width:28px;height:28px}.ticket-matchup img{width:22px;height:22px}
.history-controls label{max-width:390px;min-width:180px;flex:1}.history-controls select{display:block;margin-top:7px}.history-controls .row{align-items:end}
.pill.active,.pill.saved{background:var(--win-bg);color:var(--positive-text)}.pill.disabled{background:var(--loss-bg);color:var(--negative-text)}
.sidebar footer{overflow-wrap:anywhere}.tablewrap button{white-space:nowrap}.top .brand{flex-shrink:0}
.player-wallet{display:flex;gap:0;padding:8px 0;background:var(--soft);border:1px solid var(--line);font-variant-numeric:tabular-nums}.player-wallet>span{display:grid;gap:3px;padding:0 14px;min-width:83px;text-align:right}.player-wallet>span+span{border-left:1px solid var(--line)}.player-wallet small{font-size:10px;color:var(--muted);font-weight:400}.player-wallet strong{font-size:14px}.history-filters form{display:flex;align-items:end;gap:12px}.history-filters label{margin:0}.history-filters select,.history-filters input[type=date]{margin-top:6px}.history-filters .check{font-size:12px}.weekly-table{min-width:870px}.weekly-table th small{display:block;font-size:10px;font-weight:400;margin-top:5px}.weekly-table th:not(:first-child){text-align:right}.weekly-table td:first-child{min-width:145px}.day-amount{display:block;width:100%;padding:7px 4px;text-align:right;border:0;background:transparent;font-variant-numeric:tabular-nums}.day-amount strong{text-decoration:underline;text-underline-offset:3px;font-size:14px;font-weight:500}.day-amount small{display:block;font-size:10px;color:var(--muted);margin-top:5px;white-space:nowrap}.daily-cell{text-align:right;min-width:77px}.weekly-net{background:var(--hover);text-align:right;min-width:95px}.positive{color:var(--positive-text)}.negative{color:var(--negative-text)}.weekly-table tfoot{background:var(--soft)}.weekly-table tfoot th,.weekly-table tfoot td{border-top:1px solid var(--line)}.weekly-table tfoot small{display:block;color:var(--muted);font-size:10px;white-space:nowrap;margin-top:5px}
@media(max-width:700px){.player-wallet{flex-basis:100%;justify-content:space-between;order:3;width:100%}.player-wallet>span{flex:1;padding:0 12px}.topactions:has(.player-wallet){flex:1}.history-filters form{flex-wrap:wrap}.history-filters .row{align-items:end}}
.bet-review{width:min(520px,calc(100vw - 28px));max-height:calc(100dvh - 40px);overflow:auto;padding:25px;border:1px solid var(--line);border-radius:14px;background:var(--panel);color:var(--ink);box-shadow:0 20px 80px #0005}.bet-review::backdrop{background:#07131caa}.bet-review .review-legs{margin:12px 0 20px}.bet-review .totals{display:grid;gap:12px;margin-bottom:18px}.bet-review .pick{font-size:13px}.bet-review .row{align-items:center}.bet-review .separation button{flex:1}.bet-review h2{font-size:21px}
@media(max-width:700px){.football-banner{padding:20px}.field-art{width:100px;height:90px;opacity:.6}.field-art span:last-child{display:none}.football-banner h2{font-size:21px}.teammark{width:25px;height:25px}.teammark img{inset:2px;width:21px;height:21px}.team{gap:5px;font-size:11px}.history-controls label{min-width:0;max-width:100%;width:100%;flex-basis:100%}.topactions{gap:8px}.top .brand{margin-right:0}.topactions button{font-size:12px;padding:8px}.top{gap:10px}.metric strong{overflow-wrap:anywhere}.football-banner p{max-width:210px}}

.player-dialog-wide{width:min(800px,calc(100vw - 28px))}.player-dialog form>.row{margin-top:18px}.player-dialog .dangerzone{margin-top:24px}

.inline-password{min-width:190px;max-width:260px}.inline-password input[type=password],.inline-password input[type=text]{width:100%}.inline-password .check{margin:6px 0}

.inline-password .password-save{display:flex;justify-content:flex-end;margin-top:8px}

.settings-password{max-width:100%;margin-top:10px}.settings-password .password-save button{flex:none}.settings-password input[type=text]{max-width:100%}

#player-weekly-range-form>button{flex:0 0 auto;white-space:nowrap}#player-weekly-range-form{align-items:flex-end}.player-history-name{font-size:inherit;text-align:left}

table{font-size:15px}th{font-size:13px}td small,th small{font-size:13px}.weekly-table .day-amount{font-size:15px}#login-report-form{align-items:flex-end}#login-report-form>button{white-space:nowrap}

.layout{font-size:15px}.layout table{font-size:15px}.layout th{font-size:14px}.layout td small,.layout th small,.layout .day-amount small,.layout .weekly-table tfoot small{font-size:13px}.layout .day-amount strong{font-size:15px}.layout .quiet,.layout .feednote,.layout .small,.layout .muted,.layout .game-meta,.layout .ticket-matchup,.layout .ticketfoot{font-size:14px}.layout .metric span{font-size:14px}.layout .tickethead strong,.layout .ticketbody strong{font-size:16px}.layout .ticketnumbers{font-size:14px}.layout .team{font-size:14px}.layout .oddbutton small{font-size:13px}.layout label,.layout .check,.layout .checks label{font-size:14px}.player-wallet small{font-size:12px}.player-wallet strong{font-size:16px}.bet-review .quiet,.bet-review .feednote,.bet-review label{font-size:14px}.ip-link{color:var(--positive-text);text-underline-offset:3px}.ip-local{padding:0;border:0;background:transparent;text-decoration:underline;text-underline-offset:3px;font-size:inherit;color:inherit}.placement-details .quiet{overflow-wrap:anywhere}.layout .sidebar button{font-size:15px}

.layout .oddbutton{font-size:15px}.layout .oddsgrid.labels{font-size:12px}.pill{font-size:13px}.top .small{font-size:14px}.bet-review .ticketfoot,.bet-review .ticket-matchup,.bet-review .small{font-size:14px}.bet-review .tickethead strong{font-size:16px}

:root{--negative-text:#c62828}:root[data-theme=dark]{--negative-text:#ff7b7b}.negative{color:var(--negative-text)}

.sport-banner-glyph{font-size:76px;line-height:1;filter:drop-shadow(0 7px 12px #0004)}#sport-select{min-width:155px}.sectionhead .row label{margin-bottom:0}@media(max-width:700px){.sport-banner-glyph{font-size:50px}}
@media(max-width:700px){.topactions .player-wallet{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;min-width:0}.topactions .player-wallet>span{min-width:0;padding:0 5px}.topactions .player-wallet small{font-size:11px}}

.board-matchup{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:16px 0}.board-team{display:inline-flex;align-items:center;gap:8px;min-width:0}.board-team>span:last-child{overflow-wrap:anywhere}.matchup-at{color:var(--muted);font-size:14px;font-weight:400}

.sportsbook-sections{display:grid;gap:14px;min-width:0}
.sportsbook-sections .bet-type-buttons{margin:12px 0 0}
.sportsbook-options{display:flex;align-items:end;flex-wrap:wrap;gap:12px;margin-top:12px}
.sportsbook-options>label{flex:1 1 170px;min-width:0;max-width:100%;margin:0}
.sportsbook-options select{width:100%}
.sportsbook-options .board-mode-buttons{margin:0;flex-wrap:wrap}
.sportsbook-options .board-mode-buttons button{min-width:0}
#games-heading{scroll-margin-top:16px}
#game-count{margin:8px 0}

.mobile-cell-label{display:none}
.weekly-results-heading{display:flex;align-items:center;gap:8px}
.history-help{flex:none;width:44px;height:44px;padding:0;border-radius:50%;font-weight:700}
.player-week-list{display:none}
.rules-guide summary{cursor:pointer;font-weight:600;padding:12px 0}
.rules-guide details{border-top:1px solid var(--line)}
.rules-guide details p{margin-bottom:12px;line-height:1.6}
.mobile-slip-dialog>#bet-slip{display:block;position:static;padding:0;border:0;background:transparent;box-shadow:none}
.mobile-slip-dialog button{min-height:44px}
@media(max-width:700px){
 .player-week-grid{display:none}
 .player-week-list{display:table;width:100%;table-layout:fixed}
 .player-week-list th,.player-week-list td{border:1px solid var(--line);padding:10px 12px;vertical-align:middle;overflow-wrap:anywhere}
 .player-week-list thead,.player-week-list th[scope="row"]{background:var(--soft)}
 .player-week-list thead th:last-child,.player-week-list td{text-align:right}
 .player-week-list .numbers,.player-week-list .day-amount small{white-space:normal}
 .player-week-list th small{display:block;font-weight:400;color:var(--muted)}
 .player-week-list .day-amount{min-height:44px;padding:4px 0}
 .player-week-list tfoot th[scope="row"]{background:var(--hover);font-weight:700}
 .top:has(.player-wallet){display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;padding:10px 12px}
 .topactions:has(.player-wallet){display:contents}
 .topactions:has(.player-wallet)>.small{display:none}
 .topactions .player-wallet{grid-column:1/-1;grid-row:2;padding:6px 0}
 .top:has(.player-wallet) .brand{font-size:18px;gap:7px}
 .top:has(.player-wallet) .club-logo{width:29px;height:29px}
 .layout:has(.sportsbook-sections) .sidebar{padding:5px 8px;gap:2px}
 .layout:has(.sportsbook-sections) .sidebar button{padding:6px 8px;font-size:13px}
 .layout:has(.sportsbook-sections) .heading{margin-bottom:10px}
 .sportsbook-banner,.sportsbook-summary{display:none}
 .sportsbook-sections{gap:8px}
 .sportsbook-sections>.panel{padding:12px}
 .sportsbook-sections .sectionhead{margin-bottom:8px}
 .sportsbook-sections .bet-type-buttons{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin-top:6px;padding:4px}
 .bet-type-buttons button{min-width:0;padding:5px;white-space:normal;overflow-wrap:anywhere}
 .bet-type-buttons button:only-child{grid-column:1/-1}
 .sportsbook-options{gap:6px;margin-top:6px}
 .sportsbook-options>label{flex-basis:135px}
 .sportsbook-options .board-mode-buttons{gap:4px}
 .sportsbook-options .board-mode-buttons button{padding-inline:8px}
 .sportsbook-options #sport-select{min-width:0}
 .board-actions{gap:6px;justify-content:flex-start}
 .board-actions button{padding-inline:9px}
 #stream-status{margin:4px 0}

 .account-table{overflow:visible}
 .account-table table,.account-table tbody{display:block;width:100%}
 .account-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .account-table tbody tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px;margin-bottom:10px;background:var(--soft);border:1px solid var(--line);border-radius:10px}
 .account-table td{min-width:0;border:0;padding:0;overflow-wrap:anywhere}
 .account-table td:first-child,.account-table td:last-child{grid-column:1/-1}
 .account-table td:last-child{display:flex;flex-wrap:wrap;gap:6px}
 .account-table td button{max-width:100%;white-space:normal}
 .account-table td .mobile-cell-label{display:block;color:var(--muted);font-size:12px;margin-bottom:4px}
}
