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;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:#888;--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:#00994f;--pl-white:#1c1c28;--on-accent:#fff;--heading:#1c1c28;--bg:#f2f3f7;--surface:#fff;--surface2:#eceef4;--border:#d5d8e2;--text:#1c1c28;--text-muted:#6b7280;--hover:#0000000a;--header-overlay-bg:#0000000d;--header-overlay-border:#00000026;--header-text-dim:#1c1c288c;--header-text-faint:#1c1c2873}: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}body{background:var(--bg);color:var(--text);font-family:var(--font-body);min-height:100vh;font-size:14px}button,input,select{font-family:inherit}.app{flex-direction:column;height:100vh;display:flex;overflow:hidden}.app-header{background:var(--pl-purple);border-bottom:3px solid var(--pl-green);flex-shrink:0;justify-content:space-between;align-items:center;padding:12px 20px;display:flex}.header-title{align-items:center;gap:12px;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}.app-header h1{color:var(--pl-white);font-size:18px;font-weight:700}.header-actions,.league-picker{align-items:center;gap:8px;display:flex}.league-picker label{letter-spacing:.8px;text-transform:uppercase;color:var(--header-text-dim);font-size:11px;font-weight:700}.league-picker select{background:var(--header-overlay-bg);border:1px solid var(--header-overlay-border);color:var(--pl-white);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:13px;font-weight:600}.league-picker select:focus{border-color:var(--pl-green);outline:none}.theme-picker{align-items:center;gap:8px;margin-right:10px;display:flex}.theme-picker label{letter-spacing:.8px;text-transform:uppercase;color:var(--header-text-dim);font-size:11px;font-weight:700}.theme-picker select{background:var(--header-overlay-bg);border:1px solid var(--header-overlay-border);color:var(--pl-white);cursor:pointer;border-radius:4px;padding:6px 10px;font-size:13px;font-weight:600}.theme-picker select:focus{border-color:var(--pl-green);outline:none}.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{background:var(--pl-green);color:var(--on-accent)}.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-top:1px solid var(--border);flex-shrink:0;justify-content:center;padding:12px 0;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(--border);font-size:10px}.main-layout{flex:1;display:flex;overflow:hidden}.sidebar{background:var(--surface);border-right:1px solid var(--border);flex-direction:column;flex-shrink:0;width:264px;display:flex;overflow-y:auto}.view-tabs{border-bottom:1px solid var(--border);display:flex}.view-tabs button{color:var(--text-muted);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:none;flex:1;padding:12px 4px;font-size:13px;font-weight:600;transition:color .15s;overflow:hidden}:root[data-theme=terminal] .view-tabs button{padding-left:2px;padding-right:2px;font-size:11px}.view-tabs button.active{color:var(--pl-green);border-bottom:2px solid var(--pl-green)}.view-tabs button:hover:not(.active){color:var(--text)}.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}.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}.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}.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}.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}.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}.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;padding:20px}.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}.played-count{color:var(--text-muted);font-size:12px}.standings-wrapper{overflow-x:auto}.standings{border-collapse:collapse;width:100%;font-size:13px}.standings thead th{background:var(--pl-purple);color:var(--pl-white);text-align:center;letter-spacing:.5px;padding:8px 10px;font-size:12px;font-weight:700}.standings thead th.team-col{text-align:left;padding-left:12px}.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:8px 10px}.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);width:30px;font-size:12px}.standings tbody td.pts{color:var(--pl-green);font-weight:700}.standings tbody tr.zone-ucl{border-left:3px solid var(--ucl-bar);background:#3b82f60d}.standings tbody tr.zone-uel{border-left:3px solid var(--uel-bar);background:#22c55e0d}.standings tbody tr.zone-uecl{border-left:3px solid var(--uecl-bar);background:#84cc160d}.standings tbody tr.zone-rel{border-left:3px solid var(--rel-bar);background:#ef44440d}.standings tbody tr.zone-champion{border-left:3px solid var(--champion-bar);background:#f59e0b14}.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}.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;transition:border-color .15s,color .15s}.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}.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:.4}.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)}
