*{box-sizing:border-box} :root{color-scheme:dark;--purple:#8050ff;--muted:#888b90;--line:#202020}body{margin:0;background:#090909;color:#ddd;font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","SF Pro Text",system-ui,sans-serif}button,input,select{font:inherit}button{background:none;color:inherit;border:0;cursor:pointer}button:hover{color:#fff}button:focus-visible,a:focus-visible{outline:2px solid var(--purple);outline-offset:3px}svg{width:28px;height:28px;fill:currentColor;stroke:currentColor;stroke-width:1.7} .app{width:100%;max-width:576px;min-height:100dvh;margin:0 auto;background:#000;border-left:1px solid var(--line);border-right:1px solid var(--line);padding-bottom:143px}header{height:102px;background:#141414;display:flex;align-items:center;padding:28px 24px 14px;gap:14px}.avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(140deg,#7854ff,#382567);font-weight:900;font-size:25px;border:2px solid #9678ff}.brand{font-weight:900;font-size:24px;letter-spacing:-1px;color:#aaa}.header-actions{display:flex;align-items:center;gap:27px;margin-left:auto}.header-actions button{padding:4px}.header-actions svg{width:32px;height:32px}.sports{display:flex;align-items:center;gap:22px;overflow:hidden;white-space:nowrap;height:63px;border-bottom:2px solid var(--line);padding:0 22px;font-weight:800;font-size:33px}.sports span{color:#cecece}.sports button{padding:12px 0;position:relative;font-weight:800;font-size:inherit}.sports .active{color:var(--purple)}.sports .active:after{content:'';height:7px;width:18px;border-radius:12px 12px 0 0;background:var(--purple);position:absolute;bottom:0;left:50%;transform:translateX(-50%)}.dates{display:flex;overflow:auto;scrollbar-width:none;border-bottom:2px solid var(--line);height:65px}.dates button{flex:1;min-width:130px;padding:5px 9px;color:var(--muted);font-size:16px;font-weight:600;white-space:nowrap}.dates strong{display:block;color:#d6d6d6;font-size:24px;line-height:27px}.dates .selected,.dates .selected strong{color:var(--purple)}.section-title{height:67px;display:flex;align-items:center;justify-content:space-between;padding:0 24px;border-bottom:2px solid var(--line)}h1{font-size:29px;margin:0;color:var(--muted);letter-spacing:-1px}.section-title button{font-size:24px;font-weight:700;color:var(--purple);padding:0}.section-title button span{font-size:35px;vertical-align:-2px}.game{display:grid;grid-template-columns:minmax(0,1fr) 145px;min-height:153px;border-bottom:2px solid var(--line);padding:9px 22px 8px;cursor:pointer}.game:hover{background:#080808}.team-line{display:flex;align-items:center;gap:13px;height:66px}.logo{height:48px;width:48px;object-fit:contain;flex-shrink:0}.team-copy{min-width:0}.record{font-size:31px;line-height:34px;font-weight:500;color:#ddd;letter-spacing:-1px}.team-name{font-size:18px;color:var(--muted);line-height:22px}.team-score{font-size:31px;font-weight:700;margin-left:auto;padding-right:6px}.loser .team-score{color:#777}.game-meta{text-align:right;display:flex;flex-direction:column;align-items:flex-end;justify-content:flex-start;padding-top:0;gap:3px}.time{font-weight:700;font-size:26px;white-space:nowrap}.network,.status{font-size:21px;color:var(--muted)}.game-meta .live{color:var(--purple)}.game-meta .meta-hint{font-size:13px;margin-top:auto;margin-bottom:12px;color:#777}.bottom{position:fixed;bottom:0;width:100%;max-width:574px;background:#000;z-index:5;padding-top:8px}.sync-bar{display:flex;align-items:center;gap:10px;text-align:left;background:#141414;border:2px solid #2a2c2f;border-radius:14px;margin:0 10px 6px;width:calc(100% - 20px);min-height:58px;padding:10px 15px;font-size:17px;font-weight:700}.dot{width:9px;height:9px;border-radius:50%;background:var(--purple);flex-shrink:0}.chevron{margin-left:auto;font-size:28px;color:var(--purple)}.bottom-nav{height:63px;display:flex;justify-content:space-around;background:#151515;align-items:center;padding-bottom:env(safe-area-inset-bottom)}.bottom-nav button{width:18%;height:48px}.bottom-nav svg{width:31px;height:31px}.bottom-nav .active{color:var(--purple)}.empty{padding:40px 24px;color:var(--muted);line-height:1.6}.standings-scroll{overflow:auto}.standings-table{border-collapse:collapse;width:100%;font-size:15px;white-space:nowrap}.standings-table th{padding:14px 8px;color:#888;text-align:right;font-size:12px}.standings-table th:first-child{text-align:left;padding-left:20px}.standings-table td{padding:12px 8px;border-top:1px solid var(--line);text-align:right}.standings-table td:first-child{text-align:left;display:flex;align-items:center;gap:9px;padding-left:16px}.standings-table .logo{width:31px;height:31px}.filters{padding:12px 16px;display:flex;gap:10px}.filters button{border:1px solid #333;padding:7px 16px;border-radius:20px;font-size:14px}.filters .active{background:var(--purple);border-color:var(--purple)}.rule{font-size:12px;line-height:1.5;color:#888;padding:6px 18px}.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:18px}.team-card{border:1px solid #272727;border-radius:10px;padding:13px 5px;display:flex;align-items:center;flex-direction:column;gap:7px;font-size:13px}.team-card.selected{border-color:var(--purple);background:#181125}dialog{width:calc(100% - 28px);max-width:490px;background:#141414;color:#eee;border:1px solid #383838;border-radius:18px;padding:24px;max-height:90dvh;overflow:auto}dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.dialog-head{display:flex;align-items:center;gap:8px}.dialog-head h2{font-size:23px;letter-spacing:-.7px;margin:0}.close{font-size:30px;margin-left:auto}dialog p,dialog li{font-size:14px;line-height:1.65;color:#aaa}dialog ol{padding-left:21px}dialog li{margin:10px 0}.note{font-size:12px!important;color:#939398!important}label{display:block;font-size:13px;font-weight:700}input,select{width:100%;padding:12px;background:#080808;color:#eee;border:1px solid #383838;border-radius:8px;margin-top:8px;font-size:14px}.primary{display:block;text-align:center;width:100%;padding:13px;background:var(--purple);color:#fff;text-decoration:none;border:0;border-radius:9px;font-weight:700;margin-top:15px;font-size:14px}.settings-row{display:flex;gap:20px;align-items:flex-end;margin:18px 0}.settings-row label{flex:1}.settings-row button{padding:12px;color:#ae91ff;font-size:14px}.error{color:#ff8f8f;font-size:13px;margin-top:12px}.text-button{color:#aaa;font-size:12px;padding:10px 0}details{margin-top:15px;font-size:13px;color:#aaa}#searchWrap{padding:4px 18px 16px}#toast{position:fixed;bottom:145px;left:50%;transform:translateX(-50%);background:#292033;color:white;padding:12px 20px;border:1px solid #7050ad;border-radius:9px;max-width:90%;z-index:20;display:none;font-size:14px}.detail-teams{display:flex;justify-content:space-between;align-items:center;text-align:center;margin:30px 0}.detail-teams .logo{width:70px;height:70px}.detail-score{font-size:34px;font-weight:800}.detail-team{display:grid;justify-items:center;gap:8px}.muted{color:#888;font-size:13px} @media(min-width:700px){.app{box-shadow:0 0 90px #000}.game{min-height:153px}}@media(max-width:420px){header{height:86px;padding:20px 18px 12px}.sports{font-size:27px;gap:18px;height:57px;padding:0 17px}.dates button{min-width:108px;font-size:13px}.dates strong{font-size:21px}.section-title{padding:0 18px;height:62px}.section-title h1{font-size:26px}.section-title button{font-size:21px}.game{grid-template-columns:minmax(0,1fr) 106px;padding:8px 16px;min-height:147px}.record{font-size:27px}.team-name{font-size:15px}.team-line{gap:9px}.logo{width:41px;height:41px}.time{font-size:20px}.network,.status{font-size:17px}.team-score{font-size:25px}.header-actions{gap:19px}.sync-bar{font-size:14px}}

.bottom-nav button{width:50%}.dates:empty{display:none}.empty strong{display:block;color:#ddd;font-size:23px;margin-bottom:10px;font-weight:650}.empty button{margin-top:20px;color:#a888ff;font-weight:600}.brand{font-weight:750}.record{font-weight:500}.time{font-weight:700}

.csv-upload{display:block;margin:20px 0 10px;font-size:16px}.csv-upload input{padding:16px;border:1px dashed #8050ff;background:#191322}.csv-upload input::file-selector-button{background:#8050ff;color:white;border:0;padding:9px 12px;border-radius:6px;margin-right:10px;cursor:pointer}hr{border:0;border-top:1px solid #333;margin:24px 0}

/* Read down four games, then continue in the next horizontal column. */
#content.game-columns{display:grid;grid-auto-flow:column;grid-template-rows:repeat(4,clamp(108px,calc((100dvh - 350px)/4),144px));grid-auto-columns:min(380px,calc(100vw - 36px));overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:#51348e #111;align-content:start}
.game-columns .game{min-height:0;height:100%;padding:7px 14px;grid-template-columns:minmax(0,1fr) 104px;border-right:2px solid var(--line);scroll-snap-align:start;overflow:hidden}
.game-columns .game>div:first-child{display:grid;grid-template-rows:1fr 1fr;min-width:0}
.game-columns .team-line{height:auto;min-height:0;gap:9px}
.game-columns .logo{width:36px;height:36px}
.game-columns .record{font-size:25px;line-height:27px}
.game-columns .team-name{font-size:15px;line-height:19px}
.game-columns .team-score{font-size:24px;padding-right:2px}
.game-columns .time{font-size:21px;line-height:25px}
.game-columns .network,.game-columns .status{font-size:16px;line-height:20px}
.game-columns .game-meta .meta-hint{font-size:11px;margin-bottom:3px}

@media(max-width:600px){
 .app{max-width:none;min-height:100dvh;border:0;padding-bottom:calc(121px + env(safe-area-inset-bottom))}
 header{height:calc(66px + env(safe-area-inset-top));padding:calc(10px + env(safe-area-inset-top)) 18px 10px}
 .avatar{width:36px;height:36px;font-size:21px}.brand{font-size:23px}
 .header-actions svg{width:28px;height:28px}.header-actions button{min-width:44px;min-height:44px}
 .dates{height:56px}.dates button{min-width:105px;font-size:13px}.dates strong{font-size:21px;line-height:24px}
 .section-title{height:56px;padding:0 18px}.section-title h1{font-size:25px}.section-title button{font-size:21px}
 #content.game-columns{grid-auto-columns:calc(100vw - 24px);grid-template-rows:repeat(4,clamp(100px,calc((100dvh - 310px - env(safe-area-inset-top) - env(safe-area-inset-bottom))/4),136px));scroll-snap-type:x mandatory}
 .game-columns .game{grid-template-columns:minmax(0,1fr) 100px;padding:6px 14px}
 .game-columns .team-line{gap:8px}.game-columns .logo{width:34px;height:34px}
 .game-columns .record{font-size:25px;line-height:27px}.game-columns .team-name{font-size:14px;line-height:18px}
 .game-columns .time{font-size:20px}.game-columns .team-score{font-size:23px}
 .bottom{max-width:none;padding-top:6px;padding-bottom:env(safe-area-inset-bottom);background:#151515}
 .sync-bar{min-height:46px;font-size:14px;margin-bottom:5px;padding:7px 13px}
 .bottom-nav{height:56px;padding-bottom:0}.bottom-nav button{height:48px}.bottom-nav svg{width:27px;height:27px}
 dialog{max-height:calc(100dvh - 32px - env(safe-area-inset-top) - env(safe-area-inset-bottom));padding:20px}
 input,select{font-size:16px}
}

.avatar{display:grid;place-items:center}.sync-bar{cursor:default}.game-columns .final-game{border:1px solid #242424;border-radius:10px;margin:2px;height:calc(100% - 4px);padding-left:19px}.final-game .team-line{position:relative}.final-game .loser{opacity:.43}.final-game .winner:before{content:'';position:absolute;left:-14px;top:50%;transform:translateY(-50%);border-top:7px solid transparent;border-bottom:7px solid transparent;border-left:8px solid #ddd}.game-columns .final-game .record{font-size:30px;font-weight:750;line-height:32px}.game-columns .final-game .time{font-size:23px;font-weight:750}.final-game .network{margin-top:5px}

[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.standings-season{padding:7px 17px;border-bottom:1px solid var(--line)}.standings-season select{color:var(--purple);font-size:23px;font-weight:750;border:0;background:#000;margin:0;padding:9px 0;width:auto;max-width:100%}
.standings-tabs{display:flex;gap:24px;padding:0 17px;border-bottom:1px solid var(--line);overflow-x:auto;scrollbar-width:none;white-space:nowrap}.standings-tabs button{font-size:23px;font-weight:750;padding:14px 0;min-height:48px}.standings-tabs .active{color:var(--purple)}.divisions{gap:21px}.divisions button{font-size:21px}
.standings-rows{overflow-x:auto;scrollbar-width:thin;scrollbar-color:#51348e #111;padding:13px 0 4px}.standing-row{display:flex;align-items:center;min-width:1080px;min-height:101px;padding:9px 0}.standing-identity{display:flex;align-items:center;gap:12px;width:116px;flex-shrink:0;padding-left:14px;position:sticky;left:0;background:#000;z-index:1;height:82px}.standing-rank{width:25px;font-size:32px;font-weight:750;letter-spacing:-1px}.standing-rank.first{color:var(--purple)}.standing-identity .logo{width:52px;height:52px}.standing-body{padding-left:6px}.standing-name{font-size:16px;font-weight:550;margin-bottom:3px;color:#ccc}.standing-metrics{display:flex;gap:14px}.standing-metric{width:78px;flex-shrink:0;display:flex;flex-direction:column;gap:1px}.standing-metric strong{font-size:27px;font-weight:800;line-height:31px;letter-spacing:-.7px;font-variant-numeric:tabular-nums}.standing-metric:first-child strong{color:#8b8d92}.standing-metric span{font-size:13px;font-weight:500;color:#898c93}.standings-note{padding:20px 17px;line-height:1.8}
@media(max-width:420px){.standing-identity{width:103px;gap:9px;padding-left:12px}.standing-identity .logo{width:46px;height:46px}.standing-rank{font-size:29px;width:23px}.standing-metric{width:64px}.standing-metrics{gap:12px}.standing-metric strong{font-size:25px}.standing-row{min-width:900px;min-height:94px}.standing-name{font-size:15px}.standing-metric span{font-size:12px}}

.game-columns .network{max-width:100%;white-space:normal;overflow-wrap:anywhere;line-height:1.2;font-size:15px;text-align:right}
#details{background:#000;max-width:576px;width:calc(100% - 24px);padding:22px;border-radius:16px}.comparison-header{display:flex;justify-content:space-between;align-items:center;font-size:13px;color:#888}.comparison-close{font-size:30px;min-width:44px;min-height:44px}.comparison-game{font-size:13px;margin:0 0 18px;overflow-wrap:anywhere}.comparison-title{font-size:29px;letter-spacing:-.8px;color:#888;margin:8px 0 23px;font-weight:800}.comparison-teams{display:flex;justify-content:space-between;margin-bottom:28px}.comparison-teams>div{display:flex;flex-direction:column;gap:5px;align-items:flex-start}.comparison-teams>div:last-child{align-items:flex-end}.comparison-teams .logo{width:56px;height:56px}.comparison-teams span{font-size:14px;color:#999}.comparison-teams b{font-size:28px}.comparison-row{margin:0 0 26px}.comparison-values{display:grid;grid-template-columns:minmax(68px,1fr) minmax(110px,2fr) minmax(68px,1fr);align-items:center;gap:8px;margin-bottom:10px}.comparison-values strong{font-size:24px;font-weight:800;font-variant-numeric:tabular-nums;line-height:1.2}.comparison-values strong:last-child{text-align:right}.comparison-values span{text-align:center;font-size:18px;font-weight:550;color:#919399;line-height:1.25}.comparison-bar{display:flex;height:9px;background:#171717}.comparison-bar span:first-child{background:#595959;border-right:1px solid #b3b3b3}.comparison-bar span:last-child{background:#39236a}.comparison-bar.no-data{opacity:.35}.comparison-note{font-size:12px!important;color:#797d85!important}.sync-bar{font-variant-numeric:tabular-nums}
@media(max-width:600px){#details{width:100%;max-width:none;max-height:100dvh;height:100dvh;margin:0;border:0;border-radius:0;padding:calc(12px + env(safe-area-inset-top)) 18px calc(20px + env(safe-area-inset-bottom))}.comparison-values strong{font-size:21px}.comparison-values span{font-size:16px}.comparison-title{font-size:27px}.comparison-values{grid-template-columns:minmax(65px,1fr) minmax(115px,2fr) minmax(65px,1fr)}.comparison-teams .logo{width:49px;height:49px}.sync-bar{font-size:13px}}

/* Team colors follow the left/away and right/home logos. */
.comparison-bar span:first-child{background:var(--comparison-away,#595959);border-right:1px solid #ffffff70}
.comparison-bar span:last-child{background:var(--comparison-home,#39236a)}
.comparison-bar.no-data{opacity:.65}
/* Reference-sized scoreboard: four compact rows and a visible next column. */
#content.game-columns{grid-auto-columns:260px;grid-template-rows:repeat(4,96px);margin-left:14px;border-top:1px solid var(--line);border-radius:8px 0 0 8px}
.game-columns .game{grid-template-columns:minmax(0,1fr) 90px;padding:6px 10px;border-bottom:1px solid var(--line);border-right:1px solid var(--line)}
.game-columns .logo{width:30px;height:30px}.game-columns .team-line{gap:7px}
.game-columns .record{font-size:21px;line-height:23px}.game-columns .team-name{font-size:12px;line-height:15px;white-space:nowrap}
.game-columns .time{font-size:18px;line-height:22px}.game-columns .network,.game-columns .status{font-size:13px;line-height:17px}
.game-columns .team-score{font-size:20px;padding-right:0}.game-columns .final-game{padding-left:14px;margin:0;height:100%;border-radius:0}
.game-columns .final-game .record{font-size:24px;line-height:26px}.game-columns .final-game .time{font-size:20px}
.final-game .winner:before{left:-10px;border-top-width:5px;border-bottom-width:5px;border-left-width:6px}
.dates button{flex:0 0 96px;min-width:96px}.dates{height:48px}.dates button{font-size:12px}.dates strong{font-size:21px;line-height:24px}
.section-title{height:52px}.section-title h1{font-size:25px}.section-title button{font-size:23px}
@media(max-width:600px){
 header{height:calc(52px + env(safe-area-inset-top));padding:calc(5px + env(safe-area-inset-top)) 16px 5px}
 .avatar{width:31px;height:31px;font-size:19px}.brand{font-size:21px}.header-actions svg{width:26px;height:26px}
 .dates{height:42px}.dates button{flex:0 0 83px;min-width:83px;padding:3px 5px;font-size:11px}.dates strong{font-size:19px;line-height:21px}
 .section-title{height:45px;padding:0 15px}.section-title h1{font-size:22px}.section-title button{font-size:20px}
 #content.game-columns{grid-auto-columns:clamp(220px,60vw,260px);grid-template-rows:repeat(4,92px);margin-left:14px;scroll-snap-type:x proximity}
 .game-columns .game{grid-template-columns:minmax(0,1fr) 85px;padding:5px 9px}
 .game-columns .logo{width:29px;height:29px}.game-columns .team-line{gap:6px}.game-columns .record{font-size:20px;line-height:22px}.game-columns .team-name{font-size:12px;line-height:15px}
 .game-columns .time{font-size:17px;line-height:21px}.game-columns .team-score{font-size:18px}.game-columns .network{font-size:12px;line-height:16px}
 .game-columns .final-game{padding-left:13px}.game-columns .final-game .record{font-size:23px;line-height:25px}.game-columns .final-game .time{font-size:18px}
 .sync-bar{min-height:38px;padding:6px 11px;font-size:12px;border-radius:11px}.bottom-nav{height:50px}.bottom-nav button{height:44px}.bottom-nav svg{width:26px;height:26px}.app{padding-bottom:calc(105px + env(safe-area-inset-bottom))}
}

.playoff-team .standing-rank,.playoff-team .standing-metric:first-child strong{color:var(--purple)}.playoff-conference{font-size:22px;padding:10px 17px;color:var(--purple)}.seed-label{font-size:11px;color:var(--purple);margin-left:5px}

.seed-label{font-size:19px;line-height:1;vertical-align:middle}.playoff-legend{padding:20px 17px 0;color:#898c93;font-size:17px;line-height:1.9}

/* Single fine divider beneath Games; avoid stacked card borders. */
.section-title{border-bottom:1px solid var(--line)}
#content.game-columns{border-top:0}
.game-columns .final-game{border-top:0}

/* Flat cards, equal hairline dividers, and swipe without visible scrollbars. */
.dates,.section-title{border-bottom:1px solid var(--line)}
#content.game-columns,.game-columns .game,.game-columns .final-game{border-radius:0;clip-path:none;mask:none}
*{scrollbar-width:none!important}*::-webkit-scrollbar{display:none!important;width:0;height:0}
.game-time{display:flex;align-items:center;justify-content:flex-end;gap:4px;white-space:nowrap}
.stream-badge:empty{display:none}.stream-logo{display:inline-block;position:relative;width:31px;height:14px;overflow:hidden;vertical-align:middle;flex-shrink:0}
.stream-logo img{position:absolute;width:42px;height:42px;max-width:none;left:-6px;top:-15px;object-fit:contain}
.stream-link{display:inline-flex;align-items:center;justify-content:center;min-height:24px;padding:2px 0;color:inherit}
.game-columns .game-meta{overflow:visible}.game-columns .stream-game{grid-template-columns:minmax(0,1fr) 105px}.game-columns .stream-game .time{font-size:16px}
.highlights-link{display:block;color:var(--purple);font-size:15px;font-weight:700;margin:12px 0 22px;text-decoration:none}

.stream-logo{transform:translateY(.5px) scale(.82);transform-origin:center}

.stream-badge{display:flex;align-items:center;line-height:0}

/* Keep dates chronological; stop scrolling at the final date. */
.dates{--date-width:96px;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:contain;touch-action:pan-x;scroll-snap-type:x proximity}
.dates button{flex:0 0 var(--date-width);min-width:var(--date-width);scroll-snap-align:start}
.dates::after{content:none}
.dates .scheduled-date,.dates .scheduled-date strong{color:var(--muted)}
.dates .selected,.dates .selected strong{color:var(--purple)}
@media(max-width:600px){.dates{--date-width:83px}}

/* Updated branding and neutral conference-position labels. */
header .avatar{display:block;object-fit:cover;border-radius:50%;border:0;background:#000;overflow:hidden}
.playoff-team .standing-metric:first-child strong{color:#8b8d92}
.stream-logo{width:24px;height:16px}
.stream-logo img{width:25px;height:25px;left:-.5px;top:-4.5px;object-fit:contain}

/* Place winner markers at the inside edge of the card border. */
.game-columns .final-game{--winner-inset:14px;padding-left:var(--winner-inset)}
.game-columns .final-game .winner:before{left:calc(-1 * var(--winner-inset))}
#content.game-columns,.game-columns .game,.game-columns .final-game{border-radius:5px}
@media(max-width:600px){.game-columns .final-game{--winner-inset:13px}}

.game-columns .final-game .winner:before{width:6px;height:10px;border:0;background:url('winner-marker.svg') center/contain no-repeat}

.stream-logo img{width:22px;height:22px;left:1px;top:-3px}

/* Personal appearance preferences, shared across all views. */
:root{--page:#090909;--surface:#000;--chrome:#141414;--text:#ddd;--hover:#080808;--field:#080808;--border:#383838;--secondary:#ccc}
:root[data-theme="gray"]{--page:#191919;--surface:#191919;--chrome:#222;--text:#ddd;--hover:#242424;--field:#222;--line:#303030;--border:#444;--secondary:#ccc}
:root[data-theme="light"]{color-scheme:light;--page:#f0f3f4;--surface:#fff;--chrome:#eff3f4;--text:#252929;--hover:#f3f5f6;--field:#fff;--line:#e0e4e5;--border:#ccd2d4;--muted:#697477;--secondary:#454d50}
body{background:var(--page);color:var(--text)}.app,#details,.standing-identity,.standings-season select{background:var(--surface)}
header,.bottom,.bottom-nav,.sync-bar,dialog{background:var(--chrome);color:var(--text)}
button:hover{color:var(--text)}.game:hover{background:var(--hover)}
.record,.dates strong,.empty strong{color:var(--text)}.standing-name{color:var(--secondary)}
input,select{background:var(--field);color:var(--text);border-color:var(--border)}
.sync-bar,dialog,.team-card,.game-columns .final-game{border-color:var(--line)}
.primary{color:#fff}.team-card.selected{background:color-mix(in srgb,var(--purple) 12%,var(--surface))}
.header-actions{gap:4px}.header-actions button{width:40px;min-width:40px;min-height:44px;padding:4px}
@media(max-width:600px){.header-actions button{width:44px;min-width:44px}}
#themePanel{padding:0;background:var(--surface);color:var(--text);width:100%;max-width:576px;height:100dvh;max-height:100dvh;border:0;border-radius:0;margin:0 auto}
.theme-heading{position:sticky;top:0;background:var(--chrome);display:flex;align-items:center;justify-content:center;height:calc(68px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);z-index:1}
.theme-heading h2{font-size:23px;margin:0;font-weight:800}.theme-heading button{position:absolute;left:12px;bottom:8px;width:44px;height:44px;font-size:43px;line-height:1}
.theme-options{padding:16px 16px calc(30px + env(safe-area-inset-bottom))}.theme-options h3{font-size:20px;color:var(--muted);margin:0 0 4px}.theme-options h3:not(:first-child){margin-top:28px}
.theme-choice{display:flex;align-items:center;width:100%;min-height:44px;padding:10px 0;gap:12px;text-align:left;font-size:22px;font-weight:750}
.theme-choice[aria-pressed="true"]{color:var(--purple)}.theme-check{margin-left:auto;visibility:hidden;font-size:24px;line-height:1}.theme-choice[aria-pressed="true"] .theme-check{visibility:visible}.theme-swatch{width:18px;height:18px;border-radius:50%;flex-shrink:0;background:var(--swatch)}
#themeSaveNote{color:var(--muted);font-size:12px;margin-top:24px}
:root[data-theme="light"] .stream-logo img{filter:invert(1)}
:root[data-theme="light"] .winner:before{filter:invert(1)}
:root[data-theme="light"] .app{box-shadow:none}

/* Scheduled and live cards need the same left edge as final cards. */
.game-columns .game{border-left:1px solid var(--line)}
