body{font-family:var(--font-body,"Segoe UI", system-ui, sans-serif);background:var(--bg,#0f0f0f);color:var(--text,#e0e0e0);margin:0}#root{flex-direction:column;min-height:100vh;display:flex}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--pl-purple:#37003c;--pl-green:#00ff85;--pl-white:#fff;--on-accent:#37003c;--heading:#fff;--bg:#0f0f0f;--surface:#1a1a2e;--surface2:#16213e;--border:#2d2d4e;--text:#e0e0e0;--text-muted:#8a8a8a;--hover:#ffffff08;--font-body:"Segoe UI", system-ui, sans-serif;--ucl:#1e3a5f;--uel:#1e4a2e;--uecl:#2e3a1e;--rel:#4a1e1e;--ucl-bar:#3b82f6;--uel-bar:#22c55e;--uecl-bar:#84cc16;--rel-bar:#ef4444;--champion-bar:#f59e0b;--header-overlay-bg:#00000040;--header-overlay-border:#ffffff40;--header-text-dim:#fff9;--header-text-faint:#ffffff80}:root[data-theme=day]{--pl-purple:#eceef4;--pl-green:#007a3f;--pl-white:#1c1c28;--on-accent:#fff;--heading:#1c1c28;--bg:#f2f3f7;--surface:#fff;--surface2:#eceef4;--border:#d5d8e2;--text:#1c1c28;--text-muted:#575d68;--hover:#0000000a;--header-overlay-bg:#0000000d;--header-overlay-border:#00000026;--header-text-dim:#1c1c28a6;--header-text-faint:#1c1c28a6}:root[data-theme=terminal]{--pl-purple:#041504;--pl-green:#3f6;--pl-white:#baffcc;--on-accent:#000;--heading:#baffcc;--bg:#000;--surface:#050a05;--surface2:#0a140a;--border:#1d4d2a;--text:#4dff80;--text-muted:#2a9e52;--hover:#33ff660f;--font-body:"Cascadia Code", "Consolas", "Courier New", monospace}html{overflow-x:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;font-size:14px;overflow-x:hidden}button,input,select{font-family:inherit}#root>*{width:100%;min-width:0}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.page-header{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;padding:16px 24px;display:flex}.page-header h1{color:var(--pl-green);font-size:20px;font-weight:700}.page-export{align-items:center;gap:8px;display:flex}.pl-badge{background:var(--pl-green);color:var(--on-accent);letter-spacing:1px;border-radius:4px;padding:3px 7px;font-size:14px;font-weight:900}.export-label{color:var(--header-text-faint);margin-right:2px;font-size:12px}.btn-export{border:1px solid var(--pl-green);color:var(--pl-green);cursor:pointer;background:0 0;border-radius:4px;padding:6px 14px;font-size:13px;font-weight:600;transition:background .15s}.btn-export:hover:not(:disabled){background:var(--pl-green);color:var(--on-accent)}.btn-export:disabled{opacity:.35;cursor:default}.table-footer-actions{justify-content:flex-end;margin-top:16px;display:flex}.ad-banner{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;align-items:center;padding:8px 0;display:flex}.ad-sidebar{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:center;margin-bottom:20px;padding:12px 0 20px;display:flex}.ad-slot{background:var(--surface2);border:1px dashed var(--border);border-radius:4px;flex-direction:column;justify-content:center;align-items:center;gap:4px;max-width:100%;display:flex}.ad-slot__label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:700}.ad-slot__size{color:var(--text-muted);font-size:10px}.main-layout{flex:1;display:flex;overflow:hidden}.side-nav{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:220px;transition:width .15s;display:flex;overflow-y:auto}.side-nav--collapsed{width:60px}.side-nav-backdrop{display:none}.side-nav-top{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:8px;padding:12px;display:flex}.side-nav-home{background:var(--hover);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;align-items:center;gap:8px;min-width:0;padding:5px 8px;transition:border-color .15s,background-color .15s;display:flex}.side-nav-home:hover,.side-nav-home:focus-visible{border-color:var(--pl-green)}.side-nav-home-icon{color:var(--pl-green);flex-shrink:0;font-size:14px;line-height:1}.side-nav--collapsed .side-nav-home-icon{display:none}.side-nav-home-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.side-nav--collapsed .side-nav-home-name{display:none}.side-nav-toggle{background:var(--hover);border:1px solid var(--border);width:22px;height:22px;color:var(--text-muted);cursor:pointer;border-radius:4px;flex-shrink:0;font-size:13px;line-height:1}.side-nav-toggle:hover{color:var(--text);border-color:var(--pl-green)}.side-nav-league-picker{border-bottom:1px solid var(--border);padding:10px 12px}.side-nav--collapsed .side-nav-league-picker{display:none}.side-nav-league-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);margin-bottom:4px;font-size:10px;font-weight:700;display:block}.side-nav-league-picker select,.side-nav-theme select{background:var(--hover);border:1px solid var(--border);width:100%;color:var(--text);cursor:pointer;border-radius:4px;padding:6px 8px;font-size:13px;font-weight:600}.side-nav-league-picker select:focus,.side-nav-theme select:focus{border-color:var(--pl-green);outline:none}.side-nav-groups{flex:1;padding:8px 0}.side-nav-group{margin-bottom:6px}.side-nav-group-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);padding:8px 12px 4px;font-size:10px;font-weight:700}.side-nav--collapsed .side-nav-group-label{display:none}.side-nav-item{color:var(--text);border-left:2px solid #0000;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.side-nav-item:hover{background:var(--hover)}.side-nav-item.active{color:var(--pl-green);border-left-color:var(--pl-green);background:var(--hover)}.side-nav-item--disabled{color:var(--text-muted);cursor:default;align-items:center;gap:10px;padding:9px 12px;font-size:13px;font-weight:600;display:flex}.side-nav-icon{text-align:center;flex-shrink:0;width:20px;font-size:15px}.side-nav-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.side-nav--collapsed .side-nav-label,.side-nav--collapsed .side-nav-soon{display:none}.side-nav-soon{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);background:var(--hover);border:1px solid var(--border);border-radius:999px;flex-shrink:0;margin-left:auto;padding:2px 6px;font-size:9px;font-weight:700}.side-nav-footer{border-top:1px solid var(--border);padding:10px 12px}.side-nav-theme{margin-bottom:10px}.side-nav--collapsed .side-nav-theme{display:none}.side-nav-legal{gap:12px;font-size:11px;display:flex}.side-nav-legal a{color:var(--text-muted);text-decoration:none}.side-nav-legal a:hover{color:var(--text)}.side-nav--collapsed .side-nav-legal{display:none}.matchweek-nav{flex:1;padding:12px}.mw-header{color:var(--text);justify-content:space-between;align-items:center;margin-bottom:10px;font-size:13px;font-weight:600;display:flex}.mw-header button{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;width:26px;height:26px;font-size:16px;line-height:1;display:flex}.mw-header button:disabled{opacity:.3;cursor:default}.mw-header button:hover:not(:disabled){border-color:var(--pl-green);color:var(--pl-green)}.mw-grid{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.mw-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text-muted);cursor:pointer;border-radius:4px;padding:5px 2px;font-size:12px;transition:all .1s;position:relative}.mw-btn:hover{border-color:var(--pl-green);color:var(--pl-green)}.mw-btn.active{background:var(--pl-green);color:var(--on-accent);border-color:var(--pl-green);font-weight:700}.mw-btn.complete{color:#22c55e;border-color:#22c55e}.mw-btn.complete.active{background:var(--pl-green);color:var(--on-accent)}.mw-btn.partial{color:#f59e0b;border-color:#f59e0b}.mw-btn.locked{color:#16a34a;background:#22c55e1a;border-color:#22c55e}.mw-btn.locked.active{background:var(--pl-green);color:var(--on-accent);border-color:var(--pl-green)}.mw-btn-lock{background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;top:3px;right:4px}.news-panel{border-top:1px solid var(--border);padding:12px}.news-heading{letter-spacing:.8px;text-transform:uppercase;color:var(--pl-green);margin-bottom:8px;font-size:11px;font-weight:700}.news-list{flex-direction:column;gap:10px;list-style:none;display:flex}.news-link{color:var(--text);font-size:12px;line-height:1.4;text-decoration:none;display:block}.news-link:hover{color:var(--pl-green)}.news-date{color:var(--text-muted);font-size:10px}.news-attribution{color:var(--text-muted);margin-top:10px;font-size:10px}.news-attribution a{color:var(--text-muted);text-decoration:underline}.poll-panel{border-top:1px solid var(--border);padding:12px}.poll-heading{letter-spacing:.8px;text-transform:uppercase;color:var(--pl-green);margin-bottom:8px;font-size:11px;font-weight:700}.poll-question{color:var(--text);margin-bottom:10px;font-size:13px;font-weight:600;line-height:1.4}.poll-options{flex-direction:column;gap:6px;display:flex}.poll-option-btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);cursor:pointer;text-align:left;border-radius:4px;padding:7px 10px;font-size:12px;transition:border-color .15s,color .15s}.poll-option-btn:hover:not(:disabled){border-color:var(--pl-green);color:var(--pl-green)}.poll-option-btn:disabled{cursor:default;opacity:.6}.poll-result{border:1px solid var(--border);border-radius:4px;justify-content:space-between;align-items:center;padding:7px 10px;font-size:12px;display:flex;position:relative;overflow:hidden}.poll-result-mine{border-color:var(--pl-green)}.poll-result-bar{background:var(--hover);z-index:0;transition:width .3s;position:absolute;top:0;bottom:0;left:0}.poll-result-mine .poll-result-bar{background:color-mix(in srgb, var(--pl-green) 20%, transparent)}.poll-result-label{z-index:1;color:var(--text);position:relative}.poll-result-pct{z-index:1;color:var(--pl-green);font-weight:700;position:relative}.poll-peek-btn{color:var(--pl-green);cursor:pointer;text-align:left;background:0 0;border:none;margin-top:8px;padding:0;font-size:11px}.poll-peek-btn:hover{text-decoration:underline}.poll-total{color:var(--text-muted);margin-top:10px;font-size:10px}.poll-note{color:var(--text-muted);margin-top:2px;font-size:10px}.odds-info{color:var(--text-muted);padding:14px 12px;font-size:12px;line-height:1.5}.odds-header-right{align-items:center;gap:10px;display:flex}.btn-rerun{border:1px solid var(--pl-green);color:var(--pl-green);cursor:pointer;background:0 0;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:600;transition:background .15s}.btn-rerun:hover{background:var(--pl-green);color:var(--on-accent)}.odds-table .odds-cell{min-width:72px;position:relative}.odds-bar{opacity:.28;border-radius:3px;max-width:calc(100% - 8px);position:absolute;top:4px;bottom:4px;left:4px}.odds-bar.tone-title{background:var(--champion-bar)}.odds-bar.tone-ucl{background:var(--ucl-bar)}.odds-bar.tone-europe{background:var(--uel-bar)}.odds-bar.tone-rel{background:var(--rel-bar)}.odds-value{position:relative}.sim-controls{border-top:1px solid var(--border);flex-direction:column;gap:8px;padding:12px;display:flex}.btn-sim{border:1px solid var(--pl-green);color:var(--pl-green);cursor:pointer;background:0 0;border-radius:4px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .15s}.btn-sim:hover:not(:disabled){background:var(--pl-green);color:var(--on-accent)}.sim-secondary{gap:8px;display:flex}.btn-sim-clear{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;flex:1;padding:5px 8px;font-size:11px;transition:border-color .15s,color .15s}.btn-sim-clear:hover:not(:disabled){border-color:var(--text-muted);color:var(--text)}.btn-sim:disabled,.btn-sim-clear:disabled{opacity:.35;cursor:default}.progress-info{color:var(--text-muted);border-top:1px solid var(--border);text-align:center;padding:10px 12px;font-size:11px}.sim-count{color:var(--pl-green)}.content{flex:1;padding:20px 24px;overflow-y:auto}.simulator-layout{flex-wrap:wrap;align-items:flex-start;gap:24px;display:flex}.simulator-main{flex:420px;min-width:0;max-width:760px}.simulator-sidebar{flex-direction:column;flex:0 0 300px;justify-content:flex-start;gap:24px;display:flex}.simulator-standings-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-height:400px;padding:0;display:flex}.simulator-standings-header{border-bottom:1px solid var(--border);background:var(--surface2);border-radius:8px 8px 0 0;padding:12px 16px}.simulator-standings-header h3{color:var(--pl-green);text-transform:uppercase;letter-spacing:.5px;margin:0;font-size:13px;font-weight:700}.standings-compact{flex:1;overflow-y:auto}.standings-compact-table{width:100%;font-size:12px}.standings-compact-table tbody tr{border-bottom:1px solid var(--border);grid-template-columns:28px 1fr 32px;align-items:center;gap:8px;padding:8px 12px;display:grid}.standings-compact-table tbody tr:last-child{border-bottom:none}.standings-compact-table .pos{text-align:center;color:var(--text-muted);font-weight:700}.standings-compact-table .team-col{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.standings-compact-table .team-link,.standings-compact-table span{color:var(--text);font-size:11px;text-decoration:none}.standings-compact-table .team-link:hover{color:var(--pl-green)}.standings-compact-table .pts{text-align:right;color:var(--pl-green);font-weight:700}.standings-compact-table tr.zone-ucl{border-left:3px solid var(--ucl-bar);background:#3b82f614}.standings-compact-table tr.zone-uel{border-left:3px solid var(--uel-bar);background:#22c55e14}.standings-compact-table tr.zone-uecl{border-left:3px solid var(--uecl-bar);background:#84cc1614}.standings-compact-table tr.zone-rel{border-left:3px solid var(--rel-bar);background:#ef444414}.matchweek-view h2{color:var(--pl-green);margin-bottom:16px;font-size:20px;font-weight:700}.fixtures-list{flex-direction:column;gap:6px;display:flex}.fixtures-header{letter-spacing:.8px;color:var(--text-muted);text-transform:uppercase;grid-template-columns:90px 1fr auto 1fr;gap:10px;padding:4px 14px;font-size:11px;font-weight:700;display:grid}.fixtures-header-home{text-align:right}.fixtures-header-score{width:106px}.fixtures-header-away{text-align:left}.fixture-row{background:var(--surface);border:1px solid var(--border);border-radius:6px;grid-template-columns:90px 1fr auto 1fr;align-items:center;gap:10px;padding:10px 14px;transition:border-color .15s;display:grid}.fixture-row.played{border-color:#22c55e44}.fixture-row.simulated{border-style:dashed;border-color:#00ff8533}.fixture-row.locked{background:var(--surface2);border-color:#22c55e44}.sim-badge{letter-spacing:.5px;color:var(--on-accent);background:var(--pl-green);vertical-align:middle;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:9px;font-weight:700}.final-badge{letter-spacing:.5px;color:var(--text);background:var(--surface2);vertical-align:middle;border-radius:3px;margin-left:6px;padding:1px 4px;font-size:9px;font-weight:700}.fixture-date{color:var(--text-muted);white-space:nowrap;font-size:11px}.home-team{text-align:right;font-size:14px;font-weight:600}.away-team{text-align:left;font-size:14px;font-weight:600}.score-inputs{align-items:center;gap:6px;display:flex}.score-inputs input{text-align:center;background:var(--surface2);border:1px solid var(--border);width:44px;color:var(--text);-moz-appearance:textfield;border-radius:4px;padding:6px 4px;font-size:16px;font-weight:700}.score-inputs input::-webkit-outer-spin-button{-webkit-appearance:none}.score-inputs input::-webkit-inner-spin-button{-webkit-appearance:none}.score-inputs input:focus{border-color:var(--pl-green);outline:none}.score-inputs input:disabled{opacity:.65;cursor:not-allowed}.vs{color:var(--text-muted);font-size:16px}.mw-nav-buttons{justify-content:space-between;gap:12px;margin-top:20px;display:flex}.btn-mw-nav{background:var(--surface);border:1px solid var(--border);color:var(--text);cursor:pointer;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:600;transition:border-color .15s,color .15s}.btn-mw-nav:hover:not(:disabled){border-color:var(--pl-green);color:var(--pl-green)}.btn-mw-nav:disabled{opacity:.3;cursor:default}.table-export-wrapper{background:var(--surface);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:0;max-width:100%;padding:20px;display:inline-flex}.table-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.table-header h2{color:var(--pl-green);font-size:18px;font-weight:700}.table-header--end{justify-content:flex-end}.played-count{color:var(--text-muted);font-size:12px}.clubs-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;display:grid}.club-card{background:var(--surface);border:1px solid var(--border);color:var(--text);border-radius:8px;flex-direction:column;gap:4px;padding:14px 16px;text-decoration:none;transition:border-color .15s,background .15s;display:flex}.club-card:not(.club-card--plain):hover{border-color:var(--pl-green);background:var(--hover)}.club-card--plain{color:var(--text-muted)}.club-card-name{font-size:14px;font-weight:700}.club-card-meta{color:var(--text-muted);font-size:12px}.empty-state-banner{background:var(--surface2);border:1px dashed var(--border);color:var(--text-muted);border-radius:6px;margin-bottom:16px;padding:14px 16px;font-size:13px}.news-page-body .news-panel,.polls-page-body .poll-panel{max-width:640px;padding:0}.news-page-body .news-heading,.polls-page-body .poll-heading{font-size:13px}.news-page-body .news-link{font-size:15px}.news-page-body .news-date,.news-page-body .news-attribution{font-size:12px}.polls-page-body .poll-question{font-size:17px}.polls-page-body .poll-option-btn,.polls-page-body .poll-result-label,.polls-page-body .poll-result-pct{font-size:14px}.standings-wrapper{overflow-x:auto}.standings{border-collapse:collapse;font-size:13px}.standings thead th{background:var(--pl-purple);color:var(--pl-white);text-align:center;letter-spacing:.5px;padding:6px 8px;font-size:11px;font-weight:700}.standings thead th.team-col{text-align:left;padding-left:11px}.standings tbody tr{border-bottom:1px solid var(--border);transition:background .1s}.standings tbody tr:hover{background:var(--hover)}.standings tbody td{text-align:center;padding:5px 8px;line-height:1.3}.standings tbody td.team-col{text-align:left;white-space:nowrap;padding-left:8px;font-weight:600}.standings tbody td.pos{color:var(--text-muted);border-left:3px solid #0000;width:30px;font-size:12px}.standings tbody td.pts{color:var(--pl-green);font-weight:700}.standings tbody tr.zone-ucl td.pos{border-left-color:var(--ucl-bar)}.standings tbody tr.zone-uel td.pos{border-left-color:var(--uel-bar)}.standings tbody tr.zone-uecl td.pos{border-left-color:var(--uecl-bar)}.standings tbody tr.zone-rel td.pos{border-left-color:var(--rel-bar)}.standings tbody tr.zone-champion td.pos{border-left-color:var(--champion-bar)}.season-picker{flex-direction:column;gap:6px;padding:12px;display:flex}.season-picker label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.season-picker select{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:4px;padding:8px 10px;font-size:14px;font-weight:600}.btn-last4{border:1px solid var(--pl-green);color:var(--pl-green);cursor:pointer;background:0 0;border-radius:4px;padding:8px 10px;font-size:13px;font-weight:600;transition:background .15s,color .15s}.btn-last4:hover,.btn-last4.active{background:var(--pl-green);color:var(--on-accent)}.season-picker select:focus{border-color:var(--pl-green);outline:none}.legend-champion:before{background:var(--champion-bar)}.in-progress-banner{color:#f59e0b;background:#f59e0b1f;border:1px solid #f59e0b66;border-radius:6px;margin-bottom:12px;padding:8px 12px;font-size:12px}.row-note{color:var(--text-muted);cursor:help}.row-notes-list{color:var(--text-muted);flex-direction:column;gap:4px;margin-top:10px;font-size:11px;display:flex}.team-link{color:inherit;text-decoration:none;transition:color .15s}.team-link:hover{color:var(--pl-green);text-underline-offset:3px;text-decoration:underline}.team-page{max-width:860px;margin:0 auto;padding:28px 24px}.team-page-header{background:var(--surface);border:1px solid var(--border);border-radius:10px;margin-bottom:24px;padding:24px}.btn-back{border:1px solid var(--border);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:4px;margin-bottom:16px;padding:6px 14px;font-size:13px;text-decoration:none;transition:border-color .15s,color .15s;display:inline-block}.btn-back:hover{border-color:var(--pl-green);color:var(--pl-green)}.team-page-title h1{color:var(--heading);margin-bottom:4px;font-size:28px;font-weight:800}.team-nickname{color:var(--pl-green);font-size:14px;font-style:italic}.team-meta{flex-wrap:wrap;gap:32px;margin-top:20px;display:flex}.team-meta-item{flex-direction:column;gap:3px;display:flex}.meta-label{letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);font-size:11px;font-weight:700}.meta-value{color:var(--text);font-size:15px;font-weight:600}.meta-green{color:var(--pl-green)}.meta-red{color:#ef4444}.team-page-body{flex-direction:column;gap:24px;display:flex}.world-table-page{max-width:900px;margin:0 auto;padding:28px 24px}.world-table-header{margin-bottom:20px}.world-table-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.world-table-export{align-items:center;gap:8px;margin-bottom:16px;display:flex}.world-table-title h1{color:var(--heading);margin-bottom:6px;font-size:28px;font-weight:800}.world-table-sub{color:var(--text-muted);max-width:640px;font-size:14px}.standings tbody td.league-col{text-align:left;white-space:nowrap;color:var(--text-muted);font-size:12px}.world-league-badge{background:var(--pl-green);color:var(--on-accent);letter-spacing:.5px;border-radius:3px;margin-right:6px;padding:2px 5px;font-size:10px;font-weight:900;display:inline-block}.trophy-section h2,.notes-section h2{color:var(--pl-green);text-transform:uppercase;letter-spacing:.8px;margin-bottom:14px;font-size:16px;font-weight:700}.trophy-grid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;display:grid}.trophy-card{background:var(--surface);border:1px solid var(--border);text-align:center;border-radius:8px;flex-direction:column;align-items:center;gap:6px;padding:16px 8px;transition:border-color .15s;display:flex}.trophy-card.has-trophy{border-color:#f59e0b44}.trophy-card.trophy-highlight{background:linear-gradient(135deg, var(--surface) 0%, #f59e0b14 100%)}.trophy-card.no-trophy{opacity:.95}.trophy-icon{font-size:26px;line-height:1}.trophy-count{color:var(--heading);font-size:28px;font-weight:800;line-height:1}.trophy-card.has-trophy .trophy-count{color:#f59e0b}.trophy-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;font-size:11px;font-weight:600}.notes-section{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:20px 24px}.notes-list{flex-direction:column;gap:10px;list-style:none;display:flex}.notes-list li{color:var(--text);padding-left:16px;font-size:14px;line-height:1.6;position:relative}.notes-list li:before{content:"—";color:var(--pl-green);font-weight:700;position:absolute;left:0}.legend{color:var(--text-muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:11px;display:flex}.legend span{align-items:center;gap:6px;display:flex}.legend span:before{content:"";border-radius:2px;width:10px;height:10px;display:inline-block}.legend-ucl:before{background:var(--ucl-bar)}.legend-uel:before{background:var(--uel-bar)}.legend-uecl:before{background:var(--uecl-bar)}.legend-rel:before{background:var(--rel-bar)}.ad-slot--live{background:0 0;border:none;padding:0}.static-page{max-width:720px;margin:0 auto;padding:28px 24px 60px}.static-page h1{color:var(--heading);margin-bottom:4px;font-size:26px;font-weight:800}.static-page-updated{color:var(--text-muted);margin-bottom:24px;font-size:13px}.static-page section{margin-top:24px}.static-page h2{color:var(--pl-green);text-transform:uppercase;letter-spacing:.6px;margin-bottom:8px;font-size:15px;font-weight:700}.static-page p{color:var(--text);font-size:14px;line-height:1.6}.static-page a{color:var(--pl-green)}.static-page code{background:var(--surface2);border:1px solid var(--border);border-radius:3px;padding:1px 5px;font-size:12px}.not-found-page{text-align:center;padding-top:60px}.not-found-code{color:var(--pl-green);margin-bottom:8px;font-size:64px;font-weight:800;line-height:1;display:block}.not-found-page h1{text-align:center}.not-found-page p{max-width:480px;margin:12px auto 24px}.not-found-page .btn-back{margin-bottom:0}.contact-form{flex-direction:column;gap:16px;max-width:480px;margin-top:20px;display:flex}.form-field{flex-direction:column;gap:6px;display:flex}.form-field label{letter-spacing:.5px;text-transform:uppercase;color:var(--text-muted);font-size:12px;font-weight:700}.form-field input,.form-field textarea{background:var(--surface2);border:1px solid var(--border);color:var(--text);resize:vertical;border-radius:4px;padding:8px 10px;font-size:14px}.form-field input:focus,.form-field textarea:focus{border-color:var(--pl-green);outline:none}.form-field-honeypot{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;overflow:hidden}.contact-form .btn-export{align-self:flex-start}.contact-success,.contact-unconfigured{background:var(--surface2);border:1px solid var(--border);color:var(--text);border-radius:6px;max-width:480px;margin-top:20px;padding:14px 16px;font-size:14px}.contact-error{color:#ef4444;font-size:13px}.site-footer{border-top:1px solid var(--border);background:var(--surface);flex-shrink:0}.site-footer-inner{max-width:1100px;color:var(--text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 auto;padding:14px 20px;font-size:12px;display:flex}.site-footer-address{font:inherit;color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;font-weight:700}.site-footer-address:hover{color:var(--pl-green)}.site-footer-nav{gap:16px;display:flex}.site-footer-nav a{color:var(--text-muted);text-decoration:none}.site-footer-nav a:hover{color:var(--pl-green)}.export-card{background:var(--bg);width:1080px;height:1920px;color:var(--text);font-family:var(--font-body);flex-direction:column;display:flex;position:absolute;top:0;left:-100000px;overflow:hidden}.ec-header{background:var(--pl-purple);border-bottom:6px solid var(--pl-green);flex:none;padding:56px 56px 36px}.ec-header-top{align-items:center;gap:20px;margin-bottom:24px;display:flex}.ec-badge-league{background:var(--pl-green);color:var(--on-accent);letter-spacing:1.5px;border-radius:8px;padding:8px 16px;font-size:26px;font-weight:900}.ec-league-name{color:var(--pl-white);font-size:30px;font-weight:700}.ec-title{color:var(--pl-white);font-size:56px;font-weight:800;line-height:1.1}.ec-meta{color:var(--header-text-dim);margin-top:14px;font-size:24px}.ec-body{flex-direction:column;flex:auto;min-height:0;padding:24px 56px;display:flex;overflow:hidden}.ec-data-rows{flex-direction:column;flex:auto;min-height:0;display:flex}.ec-data-row{border-bottom:1px dashed var(--border);flex:1 1 0;align-items:center;min-height:0;display:flex}.ec-data-row:last-child{border-bottom:none}.ec-fixture-row{flex-direction:column;justify-content:center;align-items:stretch;gap:10px;padding:8px 0}.ec-fixture-date{color:var(--text-muted);align-items:center;gap:10px;font-size:20px;display:flex}.ec-fixture-main{grid-template-columns:1fr auto 1fr;align-items:center;gap:20px;display:grid}.ec-team{font-size:30px;font-weight:700}.ec-team-home{text-align:right}.ec-team-away{text-align:left}.ec-score{color:var(--pl-green);background:var(--surface);border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:6px 20px;font-size:36px;font-weight:900}.ec-badge{letter-spacing:.5px;border-radius:4px;padding:2px 8px;font-size:14px;font-weight:800}.ec-badge-sim{background:var(--ucl-bar);color:#fff}.ec-badge-ft{background:var(--border);color:var(--text)}.ec-col-header-row{border-bottom:2px solid var(--border);color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;flex:none;align-items:center;padding-bottom:12px;font-size:18px;font-weight:700;display:flex}.ec-col-pos{flex:none;width:56px;font-weight:800}.ec-col-team{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;padding-right:12px;font-size:26px;font-weight:700;overflow:hidden}.ec-col-header-row .ec-col-team{font-size:18px}.ec-odds-row .ec-col-team{font-size:23px}.ec-col-stat{text-align:center;flex:none;width:76px;font-size:24px}.ec-col-header-row .ec-col-stat{font-size:18px}.ec-pts{color:var(--pl-green);font-weight:900}.ec-rank-row.ec-zone-ucl{background:#3b82f614}.ec-rank-row.ec-zone-uel{background:#22c55e14}.ec-rank-row.ec-zone-uecl{background:#84cc1614}.ec-rank-row.ec-zone-rel{background:#ef444414}.ec-rank-row.ec-zone-champion{background:#f59e0b1c}.ec-badge-world{padding:4px 12px;font-size:22px}.ec-world-grid{flex:auto;grid-template-columns:1fr 1fr;gap:0 24px;min-height:0;display:grid}.ec-world-col{grid-template-rows:repeat(var(--world-rows,48), 1fr);min-width:0;display:grid}.ec-world-row{border-bottom:1px dashed var(--border);align-items:center;gap:8px;min-height:0;display:flex}.ec-world-col .ec-world-row:last-child{border-bottom:none}.ec-world-pos{color:var(--text-muted);flex:0 0 26px;font-size:13px;font-weight:800}.ec-world-badge{background:var(--pl-green);color:var(--on-accent);letter-spacing:.4px;border-radius:3px;flex:none;padding:2px 5px;font-size:10px;font-weight:900}.ec-world-team{white-space:nowrap;text-overflow:ellipsis;flex:auto;min-width:0;font-size:15px;font-weight:700;overflow:hidden}.ec-world-pts{color:var(--pl-green);flex:none;font-size:15px;font-weight:900}.ec-odds-row{gap:10px}.ec-odds-stat{flex-direction:column;flex:0 0 130px;justify-content:center;align-items:center;font-size:22px;font-weight:800;display:flex}.ec-odds-stat em{color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px;font-size:14px;font-style:normal;font-weight:700}.ec-odds-stat.ec-odds-rel{color:var(--rel-bar)}.ec-footer{border-top:1px solid var(--border);flex:none;justify-content:center;padding:28px 56px;display:flex}.ec-footer-brand{color:var(--pl-green);letter-spacing:1px;font-size:24px;font-weight:800}body.hero-open{overflow:hidden}.hero{z-index:50;background:var(--bg);opacity:1;flex-direction:column;justify-content:flex-end;min-height:100dvh;transition:opacity .42s,transform .42s;display:flex;position:fixed;inset:0;transform:translateY(0)}.hero--collapsed{opacity:0;pointer-events:none;transform:translateY(-24px)scale(.98)}.hero-picture{z-index:0;position:absolute;inset:0}.hero-slide{opacity:0;transition:opacity 1.2s;position:absolute;inset:0}.hero-slide--active{opacity:1}@media (prefers-reduced-motion:reduce){.hero-slide{transition:opacity .3s linear}}.hero-image{object-fit:cover;object-position:center 35%;width:100%;height:100%}.hero:after{content:"";z-index:1;background:linear-gradient(to top, var(--bg) 0%, transparent 60%);position:absolute;inset:0}:root[data-theme=terminal] .hero:before{content:"";z-index:1;background:color-mix(in srgb, var(--pl-green) 12%, transparent);mix-blend-mode:multiply;position:absolute;inset:0}.hero-legal{z-index:2;background:var(--header-overlay-bg);border:1px solid var(--header-overlay-border);border-radius:999px;gap:14px;padding:8px 14px;display:flex;position:absolute;top:20px;right:20px}.hero-legal a{color:var(--pl-white);font-size:12px;font-weight:600;text-decoration:none}.hero-legal a:hover{color:var(--pl-green)}.hero-content{z-index:2;text-align:center;color:var(--pl-white);flex-direction:column;align-items:center;gap:10px;padding:32px 20px 48px;display:flex;position:relative}.hero-eyebrow{letter-spacing:3px;text-transform:uppercase;color:var(--pl-green);font-size:13px;font-weight:700}.hero-headline{max-width:720px;font-size:42px;font-weight:900;line-height:1.1}.hero-subhead{color:var(--header-text-dim);margin-bottom:8px;font-size:16px}.hero-dots{gap:8px;margin-bottom:4px;display:flex}.hero-dot{border:1px solid var(--header-overlay-border);background:var(--header-overlay-bg);cursor:pointer;border-radius:999px;width:8px;height:8px;padding:0;transition:background .15s,border-color .15s,transform .15s}.hero-dot:hover{border-color:var(--pl-green)}.hero-dot:focus-visible{outline:2px solid var(--pl-green);outline-offset:2px}.hero-dot.active{background:var(--pl-green);border-color:var(--pl-green);transform:scale(1.2)}.league-selector{margin-top:12px}.league-selector-list{flex-wrap:wrap;justify-content:center;gap:10px;list-style:none;display:flex}.hero-ad{justify-content:center;margin-top:16px;display:flex}.hero-ad .ad-slot{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000059}.league-chip{background:var(--header-overlay-bg);border:1px solid var(--header-overlay-border);color:var(--pl-white);cursor:pointer;border-radius:999px;align-items:center;gap:8px;padding:10px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:background .15s,border-color .15s,transform .15s;display:flex}.league-chip:hover{background:#ffffff24;transform:translateY(-1px)}.league-chip:focus-visible{outline:2px solid var(--pl-green);outline-offset:2px}.league-chip[aria-pressed=true]{border-color:var(--league-accent,var(--pl-green));background:color-mix(in srgb, var(--league-accent,var(--pl-green)) 55%, black 45%);color:#fff;border-width:2px}.league-chip-badge{background:var(--league-accent,var(--pl-green));color:var(--on-accent);letter-spacing:1px;border-radius:4px;padding:3px 7px;font-size:12px;font-weight:900}.league-chip[aria-pressed=true] .league-chip-badge{color:var(--league-accent,var(--pl-purple));background:#fff}.league-chip[data-league=premier-league]{--league-accent:#38003c}.league-chip[data-league=la-liga]{--league-accent:#ee8707}.league-chip[data-league=serie-a]{--league-accent:#024494}.league-chip[data-league=bundesliga]{--league-accent:#d3010c}.league-chip[data-league=ligue-1]{--league-accent:#091c3e}@media (prefers-reduced-motion:reduce){.hero{transition:opacity .15s linear}.hero--collapsed{transform:none}}@media (width<=860px){#root{height:auto;min-height:100vh}.app{height:auto;min-height:100vh;overflow:visible}.side-nav{z-index:40;width:56px;transition:width .2s;position:fixed;top:0;bottom:0;left:0}.side-nav:not(.side-nav--collapsed){width:min(280px,80vw)}.side-nav--collapsed .side-nav-home-name,.side-nav--collapsed .side-nav-league-picker,.side-nav--collapsed .side-nav-group-label,.side-nav--collapsed .side-nav-label,.side-nav--collapsed .side-nav-soon,.side-nav--collapsed .side-nav-theme,.side-nav--collapsed .side-nav-legal{display:none}.side-nav-backdrop{z-index:39;background:#00000080;display:block;position:fixed;inset:0}body.nav-open{overflow:hidden}.main-layout{flex-direction:column;flex:none;overflow:visible}.content{padding:16px 16px 16px 72px;overflow:visible}.page-header{padding:12px 16px 12px 72px}.simulator-main{max-width:none}.simulator-sidebar{flex:100%;justify-content:center}.fixtures-header,.fixture-row{grid-template-columns:64px 1fr auto 1fr;gap:6px;padding:10px}.home-team,.away-team{overflow-wrap:break-word;min-width:0;font-size:13px}.fixture-date{white-space:normal;font-size:10px;line-height:1.3}.table-export-wrapper{padding:12px}.standings thead th,.standings tbody td{padding:5px 6px;font-size:11px}.team-page,.world-table-page,.static-page{padding:20px 16px}.team-page-title h1,.world-table-title h1{font-size:22px}.team-meta{gap:20px}.hero{min-height:min(100dvh,720px)}.hero-content{max-height:100dvh;padding:24px 16px 32px;overflow-y:auto}.hero-eyebrow{font-size:12px}.hero-headline{font-size:26px}.hero-subhead{font-size:14px}.league-selector-list{max-width:320px}}
