:root{--gold:#e8c34f;--chalk:#eef4ef;--mute:#a0b3a8;--line:#30463b;--f-display:'Bebas Neue',sans-serif;--f-body:'Barlow Semi Condensed',sans-serif}
html{scrollbar-color:var(--line) var(--ink);scroll-behavior:smooth}
body{margin:0;padding:0 24px 24px;background:#0a1311}
::selection{background:var(--gold);color:var(--on-gold)}
input,textarea{caret-color:var(--gold)}
a{color:inherit;text-underline-offset:4px}
button{touch-action:manipulation}
[hidden]{display:none!important}
body[data-mode=public] [data-admin]{display:none!important}
.wrap{max-width:1200px}
header.top{align-items:center;padding:26px 0 22px;gap:20px}
.brand{font-size:48px;text-decoration:none;flex-shrink:0}
.brand img{height:64px;width:auto}
.header-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:flex-end}
#connectionStatus{font-size:13px;color:var(--mute);max-width:280px}
#connectionStatus.save-error{color:#ffb4ac}
#modeBadge{display:none}
nav.tabs{margin-bottom:32px;gap:12px;padding:0;background:#0a1311}
nav.tabs button{letter-spacing:.03em;padding:15px 8px;min-height:48px}
nav.tabs button:first-child{padding-left:0}
.text-link,.player-link{border:0;background:none;padding:8px 0;color:var(--chalk);cursor:pointer;font-weight:600;text-align:left}
.text-link:hover,.player-link:hover{color:var(--gold)}
.text-link span{margin-left:8px}
.home-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.12fr);gap:64px;align-items:center;padding:24px 0 48px;border-bottom:1px solid var(--line)}
.home-copy h2{font-size:clamp(64px,7vw,96px);line-height:.94;letter-spacing:0;max-width:8ch;text-wrap:balance;margin:0 0 24px}
.home-copy>p{font-size:20px;line-height:1.5;max-width:29ch;color:var(--mute);margin:0 0 22px}
.home-season{display:flex;flex-direction:column;gap:4px;margin-bottom:28px;font-size:15px}
.home-season span:first-child{color:var(--gold);font-weight:600}
.home-season span:last-child{color:var(--mute)}
.match{background:var(--turf);padding:28px;border-radius:12px;border:1px solid var(--line)}
.match-meta{display:flex;justify-content:space-between;gap:12px;color:var(--mute);font-size:14px;margin-bottom:30px}
.match-meta span:first-child{color:var(--gold)}
.match-score{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center;font-family:var(--f-display);font-size:30px}
.match-score>span{text-align:center;overflow-wrap:anywhere;line-height:1.05}
.match-score strong{font-size:84px;line-height:1;font-weight:400;color:var(--gold);white-space:nowrap}
.match-score strong small{font-size:44px;color:var(--mute);vertical-align:middle}
.match-games{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:26px 0 0;padding-top:22px;border-top:1px solid var(--line)}
.match-games span{font-size:13px;color:var(--mute);display:flex;flex-direction:column;align-items:center;min-width:72px;gap:4px}
.match-games b{font-size:20px;color:var(--chalk)}
.match-awards{display:flex;justify-content:space-between;gap:24px;margin:22px 0;padding:18px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.match-awards span{display:flex;flex-direction:column;gap:6px;font-size:18px;font-weight:600}
.match-awards small{font-size:12px;font-weight:500;color:var(--mute)}
.match>.text-link{font-size:14px;margin-top:20px}
.section-heading{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.section-heading h2{font-size:36px;line-height:1;margin:0}
.ranking-preview{padding:36px 0 0}
.ranking-preview-row{display:grid;grid-template-columns:52px 1fr 120px 90px;gap:20px;align-items:center;width:100%;padding:15px 0;border:0;border-bottom:1px solid var(--line);background:none;color:var(--chalk);cursor:pointer;text-align:left}
.ranking-preview-row:hover{background:var(--turf)}
.ranking-preview-row>span{font-family:var(--f-display);font-size:32px;color:var(--gold)}
.ranking-preview-row>b{font-size:21px;font-weight:600;overflow-wrap:anywhere}
.ranking-preview-row>small{color:var(--mute);font-size:15px}
.ranking-preview-row>strong{font-family:var(--f-display);font-size:32px;font-weight:400;text-align:right}
.history-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:24px}
.lineups{display:grid;grid-template-columns:1fr 1fr;gap:36px;margin-top:32px;padding-top:24px;border-top:1px solid var(--line)}
.lineup-player{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:10px 0;border-bottom:1px solid var(--line)}
.lineup-player>span{font-size:12px;color:var(--mute);width:40px}
.lineup-player>small{color:var(--mute)}
.player-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:24px 0;border-bottom:1px solid var(--line);margin-bottom:24px}
.player-heading h2{font-size:54px;margin:0 0 8px;overflow-wrap:anywhere}
.player-heading strong{font-family:var(--f-display);font-size:68px;color:var(--gold);font-weight:400;line-height:1}
.player-heading strong small{font-family:var(--f-body);font-size:14px;color:var(--mute);display:block;text-align:right;margin-top:10px}
.player-stats{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:32px;color:var(--mute)}
.player-stats b{font-size:24px;color:var(--chalk)}
.site-footer{max-width:1200px;margin:64px auto 0;padding-top:22px;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:24px;color:var(--mute);font-size:14px}
.site-footer a{text-decoration:none}
.site-footer a:hover{color:var(--gold)}
dialog{background:var(--turf);color:var(--chalk);border:1px solid var(--line);border-radius:12px;padding:28px;max-width:480px;width:calc(100% - 40px)}
dialog::backdrop{background:#000b}
.account-form{display:grid;gap:16px}
.account-form .section-heading{margin-bottom:0}
.account-form .muted{margin:0}
#loginMessage,#passwordMessage{color:#ffd49a;font-size:15px;margin:0}
#matchDetail>.text-link{margin-bottom:16px}
.empty-match{padding:40px 24px;border:1px solid var(--line);border-radius:12px}
.empty-match p{color:var(--mute);line-height:1.5}
.tablebox .player-link{font-size:15px}
.formula{font-size:26px}
@media(max-width:920px){
  .home-layout{gap:32px}.match{padding:24px}.match-score{gap:12px;font-size:26px}.match-score strong{font-size:70px}
  .header-actions{gap:8px}#connectionStatus{font-size:12px;max-width:190px}
}
@media(max-width:700px){
  body{padding:0 16px 20px}header.top{padding:20px 0 14px;gap:12px}.brand{font-size:34px;gap:10px}.brand img{height:48px}.header-actions{justify-content:flex-start;width:100%}#connectionStatus{margin-right:auto;max-width:100%;flex:1}#accessBtn{min-height:36px;font-size:13px;padding:6px 12px}
  nav.tabs{margin-bottom:24px;gap:8px}nav.tabs button{font-size:12px;padding:13px 6px}
  .home-layout{grid-template-columns:1fr;padding:10px 0 28px;gap:28px}.home-copy h2{font-size:64px;max-width:11ch;margin-bottom:16px}.home-copy>p{font-size:18px;max-width:35ch;margin-bottom:16px}.home-season{margin-bottom:20px}
  .match{padding:20px}.match-meta{margin-bottom:22px}.match-score{gap:12px;font-size:23px}.match-score strong{font-size:64px}.match-score strong small{font-size:32px}.match-awards{gap:12px}.match-awards span{font-size:16px}
  .ranking-preview{padding-top:28px}.ranking-preview-row{grid-template-columns:36px 1fr 64px;gap:12px;padding:12px 0}.ranking-preview-row>b{font-size:18px}.ranking-preview-row>small{display:none}.ranking-preview-row>strong{font-size:30px}
  .section-heading{gap:10px;margin-bottom:18px}.section-heading h2{font-size:32px}.section-heading>.muted{font-size:13px}
  #rkTable{min-width:0;table-layout:auto}#rkTable th:nth-child(n+3):nth-child(-n+8),#rkTable td:nth-child(n+3):nth-child(-n+8){display:none}#rkTable th:first-child,#rkTable td:first-child{min-width:0;position:static;width:auto}#rkTable td:first-child{white-space:normal}#rkTable .player-link{font-size:14px;overflow-wrap:anywhere;max-width:120px;vertical-align:middle}#rkTable .pos{font-size:21px;width:1.5em}#rkTable .dl{display:none}#rkTable .tier{font-size:12px;padding:2px 6px;white-space:nowrap}#rkTable .next{display:none}#rkTable td.pts{padding-right:10px;font-size:23px}#rkTable th{padding:10px 5px;font-size:11px}#rkTable td{padding:9px 5px}#rkTable td:nth-child(2){width:75px}#rkTable td:nth-child(9){width:60px}#rkTable .flag{font-size:10px;margin:4px 0 0;display:block;width:max-content}
  .history-list{grid-template-columns:1fr;gap:18px}.lineups{grid-template-columns:1fr;gap:24px}.player-heading{align-items:flex-start;gap:12px}.player-heading h2{font-size:36px}.player-heading strong{font-size:50px}.player-stats{gap:18px}
  .site-footer{margin-top:40px;flex-direction:column;gap:10px}.cols2,.teams{grid-template-columns:1fr}.panel{padding:14px}.studio{gap:16px}.gamerow{min-width:580px}.strip .v{font-size:26px}dialog{padding:22px}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
#matchDetail,#playerDetail{scroll-margin-top:80px}
.environment-notice{padding:12px 16px;background:#e8c34f;color:#111a16;border-radius:8px;font-weight:700;margin-top:16px}
#testModeNotice{position:sticky;top:0;z-index:100;text-align:center;font-size:14px;line-height:1.4;padding:12px 16px;background:var(--brand-gold);color:var(--on-gold)}
body:has(.test-mode-notice:not([hidden])) .tabs{top:var(--test-mode-notice-height,0px)}
