:root{--fpl-purple:#37003c;--fpl-green:#00ff87;--fpl-background:#f5f5f5;--fpl-text:#333;--fpl-muted:#666;--fpl-white:#fff;--easy-green:#10b981;--medium-yellow:#f59e0b;--hard-red:#ef4444}.beta-badge{color:#00ff87;vertical-align:middle;text-transform:uppercase;letter-spacing:.5px;background:linear-gradient(135deg,#37003c 0%,#5a1a5e 100%);border-radius:4px;margin-left:10px;padding:3px 8px;font-size:.65rem;font-weight:700;display:inline-block;box-shadow:0 2px 4px #0003}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--fpl-background);color:var(--fpl-text);max-width:1400px;margin:0 auto;padding:20px;font-family:Arial,sans-serif;line-height:1.6}h1{color:var(--fpl-purple);margin-bottom:20px;font-size:2rem}h2{color:var(--fpl-purple);margin:30px 0 15px;font-size:1.5rem}h3{color:var(--fpl-purple);margin:20px 0 10px;font-size:1.2rem}p{margin-bottom:15px}a{color:var(--fpl-purple);text-decoration:none}a:hover{text-decoration:underline}ul{margin-bottom:15px;margin-left:20px}li{margin-bottom:8px}.nav{background-color:var(--fpl-purple);border-radius:8px;margin-bottom:12px;padding:12px 20px}.nav a,.nav .nav-link{color:var(--fpl-white);border-radius:6px;margin-right:25px;padding:8px 16px;font-weight:500;transition:background-color .15s,color .15s}.nav a:hover,.nav .nav-link:hover{color:var(--fpl-green);background-color:#ffffff1a;text-decoration:none}.nav .nav-link.active{background-color:var(--fpl-green);color:var(--fpl-purple);font-weight:600}.nav .nav-link.active:hover{background-color:var(--fpl-green);color:var(--fpl-purple)}table{border-collapse:collapse;background-color:var(--fpl-white);border-radius:8px;width:100%;margin:20px 0;overflow:hidden;box-shadow:0 2px 4px #0000001a}th,td{text-align:left;border-bottom:1px solid #e0e0e0;padding:12px 15px}th{background-color:var(--fpl-purple);color:var(--fpl-white);font-weight:600}tr:nth-child(2n){background-color:#f9f9f9}tr:hover{background-color:#f0f0f0}pre{background-color:#f0f0f0;border-radius:8px;margin:15px 0;padding:15px;font-family:Courier New,Consolas,monospace;font-size:14px;line-height:1.5;overflow-x:auto}code{background-color:#f0f0f0;border-radius:4px;padding:2px 6px;font-family:Courier New,Consolas,monospace;font-size:14px}.card{background-color:var(--fpl-white);border-radius:8px;margin:15px 0;padding:20px;box-shadow:0 2px 4px #0000001a}.text-center{text-align:center}.text-right{text-align:right}.text-green{color:var(--easy-green)}.text-yellow{color:var(--medium-yellow)}.text-red{color:var(--hard-red)}.font-bold{font-weight:700}.loading{text-align:center;color:var(--fpl-muted);padding:40px}.error{border:1px solid var(--hard-red);color:var(--hard-red);background-color:#fef2f2;border-radius:8px;margin:15px 0;padding:15px}.cell-green{color:#fff;background-color:#22c55e;font-weight:600}.cell-yellow{color:#333;background-color:#fef08a}.cell-red{color:#fff;background-color:#ef4444;font-weight:600}.table-wrapper{margin:4px 0;overflow-x:auto}.fixture-table{table-layout:fixed;width:100%;font-size:14px}.fixture-table th,.fixture-table td{text-align:center;white-space:nowrap;vertical-align:middle;padding:8px 10px;overflow:hidden}.fixture-table th:first-child,.fixture-table td:first-child{text-align:left;background-color:inherit;z-index:1;width:90px;position:sticky;left:0}.fixture-table th:nth-child(2),.fixture-table th:nth-child(3),.fixture-table th:nth-child(4),.fixture-table td:nth-child(2),.fixture-table td:nth-child(3),.fixture-table td:nth-child(4){width:70px}.fixture-table.fdr-table th:nth-child(n+5),.fixture-table.fdr-table td:nth-child(n+5){width:85px}.table-controls{justify-content:flex-end;margin-bottom:0;display:flex}.fixture-table td:first-child{background-color:var(--fpl-white)}.fixture-table tr:nth-child(2n) td:first-child{background-color:#f9f9f9}.team-name{white-space:nowrap;vertical-align:middle;width:90px}.team-name-inner{align-items:center;gap:8px;font-size:15px;display:inline-flex}.fixture-opponent{font-size:12px;display:block}.home-away{margin-left:2px;font-size:10px}.fixture-value{font-weight:600;display:block}.player-table{font-size:14px}.player-table th,.player-table td{padding:10px 12px}.player-table tbody tr{transition:background-color .1s}.player-table tbody tr:hover{background-color:#2d00300d}.user-player-row{background-color:#e0f2fe!important}.user-player-row:hover{background-color:#bae6fd!important}.captain-badge{color:#ca8a04;font-weight:700}.player-name-cell{position:relative;overflow:visible!important}.availability-flag{cursor:help;font-size:.75rem;display:inline-block;position:relative}.availability-flag .tooltip-text{color:#fff;white-space:nowrap;z-index:99999;pointer-events:none;background:#1f2937;border-radius:6px;padding:8px 12px;font-size:.8rem;display:none;position:fixed;box-shadow:0 4px 12px #0006}.availability-flag:hover .tooltip-text{display:block}.table-hint{color:var(--fpl-muted);margin-bottom:10px;font-size:14px}.fpl-input-row{flex-wrap:wrap;gap:10px;margin:15px 0;display:flex}.fpl-input{border:2px solid #e0e0e0;border-radius:6px;width:200px;padding:10px 15px;font-size:16px}.fpl-input:focus{border-color:var(--fpl-purple);outline:none}.scheme-selector{border-left:4px solid var(--fpl-green);background:#fff;border-radius:8px;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:12px;padding:12px 18px;display:flex;box-shadow:0 2px 6px #0000001a}.scheme-label{color:var(--fpl-text);font-size:13px;font-weight:600}.scheme-buttons{flex-wrap:wrap;gap:8px;display:flex}.scheme-btn{color:var(--fpl-text);cursor:pointer;background:#f8fafc;border:1px solid #e0e0e0;border-radius:16px;padding:6px 12px;font-size:12px;font-weight:500;transition:all .15s}.scheme-btn:hover{border-color:var(--fpl-purple);background:#e2e8f0}.scheme-btn.active{background:var(--fpl-purple);color:#fff;border-color:var(--fpl-purple)}.scheme-preview{gap:6px;margin-left:auto;display:flex}.preview-badge{text-align:center;border-radius:4px;min-width:32px;padding:4px 8px;font-size:11px;font-weight:600}.player-header-bar{border-left:4px solid var(--fpl-purple);background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:12px 18px;display:flex;box-shadow:0 2px 6px #0000001a}.player-header-bar .header-left{align-items:center;gap:10px;display:flex}.player-header-bar .header-right{align-items:center;display:flex}.player-header-bar .gw-badge{background:var(--fpl-purple);color:#fff;border-radius:4px;padding:4px 10px;font-size:12px;font-weight:700}.player-header-bar .fpl-input-compact{align-items:center;gap:6px;display:flex}.player-header-bar .fpl-input-compact input{border:1px solid #ddd;border-radius:4px;width:90px;padding:5px 10px;font-size:12px}.player-header-bar .fpl-input-compact input:focus{border-color:var(--fpl-purple);outline:none}.player-header-bar .fpl-input-compact button{background:var(--fpl-purple);color:#fff;cursor:pointer;border:none;border-radius:4px;padding:5px 12px;font-size:12px;font-weight:500}.player-header-bar .fpl-input-compact button:hover{background:#4a0052}.player-header-bar .fpl-input-compact button:disabled{cursor:not-allowed;background:#ccc}.player-header-bar .team-loaded{color:#16a34a;font-size:12px;font-weight:500}.player-header-bar .team-error{color:#dc2626;font-size:12px}.player-header-bar .updated-text{color:#888;font-size:12px}.fpl-id-label{align-items:center;gap:8px;margin-bottom:10px;font-weight:500;display:flex}.fpl-id-tooltip{display:inline-flex;position:relative}.info-icon{background-color:var(--fpl-purple);color:#fff;cursor:help;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;font-size:12px;font-style:italic;font-weight:600;display:inline-flex}.tooltip-content{z-index:1000;background-color:#fff;border:1px solid #e0e0e0;border-radius:8px;width:320px;margin-top:8px;padding:12px;display:none;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #00000026}.fpl-id-tooltip:hover .tooltip-content{display:block}.tooltip-content p{color:var(--fpl-text);margin:0 0 10px;font-size:13px}.tooltip-content img{border:1px solid #e0e0e0;border-radius:4px;width:100%}.tooltip-content .tooltip-steps{color:var(--fpl-muted);margin-top:8px;padding-left:16px;font-size:12px}.tooltip-content .tooltip-steps li{margin-bottom:4px}.load-button{background-color:var(--fpl-purple);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:16px;font-weight:500}.load-button:hover{background-color:#4a0052}.load-button:disabled{cursor:not-allowed;background-color:#ccc}.error-text{color:var(--hard-red);margin-top:10px;font-size:14px}.success-text{color:var(--easy-green);margin-top:10px;font-size:14px}.filters{flex-wrap:wrap;gap:20px;margin:20px 0;display:flex}.filters label{align-items:center;gap:8px;font-size:14px;display:flex}.filters select{background-color:#fff;border:2px solid #e0e0e0;border-radius:6px;padding:8px 12px;font-size:14px}.filters select:focus{border-color:var(--fpl-purple);outline:none}.card.note{background-color:#fef3c7;border:1px solid #f59e0b}.card.note p{margin-bottom:0;font-size:14px}.scale-legend{margin:15px 0}.scale-bar{background:linear-gradient(90deg,#ef4444 0%,#fff 50%,#22c55e 100%);border:1px solid #e0e0e0;border-radius:4px;height:20px}.scale-labels{color:var(--fpl-muted);justify-content:space-between;margin-top:5px;font-size:12px;display:flex}.compact-table{font-size:13px}.compact-table th,.compact-table td{padding:6px 8px}.player-col{width:80px}.team-col{text-align:center;width:55px}.pos-col{text-align:center;width:28px}.stat-col{text-align:center;width:36px}.stat-col-wide{text-align:center;width:50px;font-size:10px;font-weight:400}.xp-col,.fdr-col{text-align:center;width:52px}.price-col{text-align:center;width:40px}.player-name-cell{text-overflow:ellipsis;white-space:nowrap;width:80px;max-width:80px;overflow:hidden}.team-logo-cell{text-align:center;vertical-align:middle}.team-logo-cell>*{vertical-align:middle;display:inline-block}.team-abbr{margin-left:4px;font-size:11px;font-weight:500}.pos-cell{text-align:center;border-radius:3px;font-size:11px;font-weight:600}.stat-cell{text-align:center;font-size:12px}.xp-cell{text-align:center;font-size:12px;font-weight:600}.sortable-header{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .15s}.sortable-header:hover{background-color:#4a0052}.sortable-header.active{background-color:#5a0062}.sort-hint{color:var(--fpl-muted);font-size:13px;font-style:italic}.fdr-legend{flex-wrap:wrap;gap:8px;margin:15px 0;display:flex}.fdr-legend-item{border-radius:4px;padding:6px 12px;font-size:13px;font-weight:600}.expandable-section{margin:25px 0}.expandable-banner{background-color:var(--fpl-purple);color:#fff;cursor:pointer;border:none;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:14px 20px;font-size:16px;font-weight:600;transition:background-color .15s;display:flex}.expandable-banner:hover{background-color:#4a0052}.expandable-banner-content{flex-direction:column;align-items:flex-start;gap:4px;display:flex}.expandable-title{font-size:16px}.expandable-subtitle{opacity:.8;font-size:12px;font-weight:400}.expandable-icon{font-size:14px}.expandable-content{padding:20px 0}.expand-table-btn{color:#374151;cursor:pointer;white-space:nowrap;background-color:#e5e5e5;border:none;border-radius:20px;justify-content:center;align-items:center;padding:10px 20px;font-size:14px;font-weight:400;transition:background-color .15s,transform .1s;display:inline-flex}.expand-table-btn:hover{background-color:#d4d4d4;transform:scale(1.05)}.expand-table-btn.expanded{color:#374151;background-color:#e5e5e5}.expand-table-btn.expanded:hover{background-color:#d4d4d4}.data-status-card{margin-bottom:20px}.data-status-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;display:flex}.data-status-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.data-status-label{color:var(--fpl-muted);font-weight:600}.data-status-value{font-weight:500}.data-status-gw{background-color:var(--fpl-purple);color:#fff;border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600}.data-source-badge{border-radius:4px;padding:3px 8px;font-size:12px;font-weight:600}.data-source-badge.source-api{color:#166534;background-color:#dcfce7}.data-source-badge.source-fallback{color:#92400e;background-color:#fef3c7}.refresh-button{background-color:var(--fpl-purple);color:#fff;cursor:pointer;border:none;border-radius:6px;padding:10px 20px;font-size:14px;font-weight:500;transition:background-color .15s}.refresh-button:hover{background-color:#4a0052}.refresh-button:disabled{cursor:not-allowed;background-color:#9ca3af}.group-header{text-align:center;letter-spacing:.5px;font-size:13px;font-weight:600;background-color:#2d002f!important;padding:5px 10px!important}.group-header-info,.group-header-actuals{background-color:#6b21a8!important}.group-header-projections{background-color:#16a34a!important}.group-header-fdr{background-color:#dc2626!important}.fdr-1{font-weight:600;color:#000!important;background-color:#00ff87!important}.fdr-2{font-weight:600;color:#000!important;background-color:#7aeba0!important}.fdr-3{font-weight:600;color:#333!important;background-color:#e0e0e0!important}.fdr-4{font-weight:600;color:#fff!important;background-color:#ff6b6b!important}.fdr-5{font-weight:600;color:#fff!important;background-color:#d63031!important}.fdr-cell{text-align:center;white-space:nowrap;font-size:11px;font-weight:600;padding:4px 6px!important}.fdr-cell .fixture-opponent{line-height:1.2;display:block}.fdr-cell .home-away{opacity:.8;font-size:9px}.fdr-cell .fixture-value{margin-top:2px;font-size:11px;font-weight:700;display:block}.fdr-expand-btn{color:var(--fpl-purple);cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:10px}.fdr-expand-btn:hover{text-decoration:underline}.expanded-fdr-row{background-color:#f8f8f8!important}.expanded-fdr-row td{font-size:12px;padding:8px 12px!important}.fdr-detail-grid{grid-template-columns:repeat(4,1fr);gap:8px;max-width:400px;display:grid}.fdr-detail-item{background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;flex-direction:column;align-items:center;padding:6px;display:flex}.fdr-detail-label{color:var(--fpl-muted);margin-bottom:2px;font-size:10px}.fdr-detail-value{font-size:14px;font-weight:700}.filterable-header{position:relative}.header-with-filter{flex-direction:column;gap:4px;display:flex}.header-filter-input{color:#fff;background-color:#ffffff1a;border:1px solid #ffffff4d;border-radius:3px;width:100%;padding:4px 6px;font-size:11px}.header-filter-input::placeholder{color:#ffffff80}.header-filter-input:focus{border-color:var(--fpl-green);background-color:#ffffff26;outline:none}.filter-header-btn{color:#fff;cursor:pointer;text-align:center;background:#ffffff26;border:none;border-radius:12px;width:100%;padding:5px 10px;font-size:11px;font-weight:500;transition:all .15s}.filter-header-btn:hover{background-color:#ffffff40;transform:scale(1.02)}.filter-dropdown{z-index:100;background-color:#fff;border:1px solid #e0e0e0;border-radius:4px;min-width:120px;max-height:200px;padding:8px;position:absolute;top:100%;left:0;overflow-y:auto;box-shadow:0 4px 12px #00000026}.filter-option{color:var(--fpl-text);cursor:pointer;border-radius:3px;align-items:center;gap:8px;padding:6px 8px;font-size:13px;display:flex}.filter-option:hover{background-color:#f0f0f0}.filter-option input[type=checkbox]{cursor:pointer;width:14px;height:14px}.active-filters-bar{background-color:#f0f0f0;border-radius:6px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:15px;padding:10px 15px;display:flex}.filter-tag{background-color:var(--fpl-purple);color:#fff;border-radius:4px;align-items:center;gap:6px;padding:4px 10px;font-size:12px;display:inline-flex}.filter-tag-remove{cursor:pointer;opacity:.8;font-weight:700}.filter-tag-remove:hover{opacity:1}.clear-filters-btn{border:1px solid var(--fpl-purple);color:var(--fpl-purple);cursor:pointer;background-color:#0000;border-radius:4px;padding:4px 10px;font-size:12px}.clear-filters-btn:hover{background-color:var(--fpl-purple);color:#fff}.group-header-row th{padding:7px 10px!important}.expandable-group-header{cursor:pointer;transition:background-color .15s}.expandable-group-header:hover{filter:brightness(1.2)}.group-header-content{justify-content:center;align-items:center;width:100%;display:flex;position:relative}.group-header-title{font-weight:600}.expand-indicator{opacity:.6;font-size:9px;font-weight:400;position:absolute;right:0}.xp-cell .fixture-opponent{font-size:10px;line-height:1.2;display:block}.xp-cell .fixture-value{margin-top:1px;font-size:12px;font-weight:700;display:block}.home-container{flex-direction:column;justify-content:center;align-items:center;min-height:85vh;padding:40px 20px;transition:opacity .3s ease-out,transform .3s ease-out;display:flex}.home-container.fade-out{opacity:0;transform:translateY(-20px)}.scroll-indicator{color:var(--fpl-muted);opacity:.7;flex-direction:column;align-items:center;gap:.5rem;font-size:.9rem;transition:opacity .3s;animation:.8s ease-out fadeInUp;display:flex;position:fixed;bottom:2rem;left:50%;transform:translate(-50%)}.home-container.fade-out .scroll-indicator{opacity:0}.scroll-arrow{animation:2s ease-in-out infinite bounce}.scroll-arrow svg{display:block}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(8px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:.7;transform:translateY(0)}}.mobile-notice{color:var(--fpl-muted);background:#37003c14;border-radius:20px;justify-content:center;align-items:center;gap:6px;margin-bottom:16px;padding:6px 12px;font-size:11px;font-weight:500;display:none}.home-title{color:var(--fpl-purple);text-align:center;letter-spacing:-1px;margin-bottom:50px;font-size:3.5rem;font-weight:700}.home-cards{flex-wrap:wrap;justify-content:center;gap:30px;width:100%;max-width:1100px;display:flex}.home-card{min-width:350px;max-width:500px;color:inherit;background:#fff;border-radius:12px;flex:1;padding:30px;text-decoration:none;transition:transform .2s,box-shadow .2s;overflow:hidden;box-shadow:0 4px 20px #0000001a}.home-card:hover{text-decoration:none;transform:translateY(-5px);box-shadow:0 8px 30px #00000026}.home-card h2{color:var(--fpl-purple);margin:0 0 8px;font-size:1.8rem}.home-card-subtitle{color:var(--fpl-muted);margin-bottom:20px;font-size:14px}.home-card-preview{background:#f9f9f9;border-radius:8px;margin-top:15px;padding:12px;position:relative}.home-card.home-card-full-width{flex:unset;min-width:unset;max-width:unset;width:100%;display:block}.home-card-pitch{background:linear-gradient(#2d8a3e 0%,#1e6b2e 100%);flex-direction:column;justify-content:center;gap:6px;padding:16px 12px;display:flex;overflow:hidden}.pitch-lines{opacity:.15;pointer-events:none;background:repeating-linear-gradient(90deg,#0000,#0000 30px,#ffffff4d 30px 31px);position:absolute;inset:0}.preview-fade-pitch{pointer-events:none;z-index:2;background:linear-gradient(#0000,#fffffff2);height:50px;position:absolute;bottom:0;left:0;right:0}.preview-header-row{border-bottom:2px solid #ddd;align-items:center;gap:6px;margin-bottom:4px;padding:4px 0 8px;display:flex}.preview-header-cell{text-align:center;width:42px;color:var(--fpl-muted);text-transform:uppercase;font-size:10px;font-weight:600}.preview-row{border-bottom:1px solid #eee;align-items:center;gap:6px;padding:5px 0;display:flex}.preview-row:last-of-type{border-bottom:none}.preview-name-col{color:var(--fpl-text);flex:1;align-items:center;gap:6px;min-width:0;font-size:12px;font-weight:500;display:flex}.preview-name-col span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.preview-pos{border-radius:3px;flex-shrink:0;padding:2px 4px;font-size:9px;font-weight:700}.preview-pos.pos-gkp{color:#fff;background-color:#f59e0b}.preview-pos.pos-def{color:#fff;background-color:#22c55e}.preview-pos.pos-mid{color:#fff;background-color:#3b82f6}.preview-pos.pos-fwd{color:#fff;background-color:#ef4444}.preview-cell{text-align:center;border-radius:4px;flex-shrink:0;width:42px;padding:4px;font-size:11px;font-weight:600}.preview-fade{pointer-events:none;background:linear-gradient(#0000,#f9f9f9);border-radius:0 0 8px 8px;height:40px;position:absolute;bottom:0;left:0;right:0}.mobile-hide{display:table-cell}.mobile-hide-row{display:table-row}.mobile-only,.mobile-only-row{display:none}.sticky-col{z-index:2;position:sticky}.sticky-col-1{left:0}.sticky-col-2{left:80px}th.sticky-col{background-color:var(--fpl-purple)!important}td.sticky-col{background-color:var(--fpl-white)}tr:nth-child(2n) td.sticky-col{background-color:#f9f9f9}.mobile-expandable-header{cursor:pointer;transition:background-color .15s}.mobile-expandable-header:hover{filter:brightness(1.1)}.mobile-expandable-header.active{background-color:#5a1a5e!important}.mobile-fdr-stacked{flex-direction:column;align-items:center;gap:2px;display:flex}.mobile-fdr-opponent{font-size:10px;font-weight:500}.mobile-fdr-value{font-size:11px;font-weight:700}.player-name-text{display:inline}@media screen and (max-width:768px){.mobile-hide,.mobile-hide-row{display:none!important}.mobile-only{display:table-cell!important}.mobile-only-row{display:table-row!important}.mobile-notice{display:flex}body{padding:12px}h1{font-size:1.6rem}h2{margin:20px 0 12px;font-size:1.3rem}.nav{white-space:nowrap;-webkit-overflow-scrolling:touch;padding:10px 12px;overflow-x:auto}.nav a,.nav .nav-link{margin-right:12px;padding:8px 12px;font-size:14px}th,td{padding:8px 6px;font-size:12px}.fixture-table th,.fixture-table td{padding:6px 4px;font-size:11px}.compact-table th,.compact-table td{padding:5px 4px;font-size:11px}.player-header-bar{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.player-header-bar .header-left{justify-content:space-between;width:100%}.player-header-bar .header-right{width:100%}.player-header-bar .fpl-input-compact{justify-content:space-between;width:100%}.player-header-bar .fpl-input-compact input{flex:1;width:auto;min-width:100px}.home-title{margin-bottom:30px;font-size:2.5rem}.home-cards{flex-direction:column;gap:20px}.home-card{max-width:none;padding:20px}.home-card h2{font-size:1.5rem}.expandable-banner{padding:12px 16px;font-size:14px}.expandable-title{font-size:14px}.tooltip-content{width:calc(100vw - 40px);max-width:300px;left:0;transform:none}.filters{flex-direction:column;gap:12px}.filters label{width:100%}.filters select{flex:1}.fdr-legend{gap:6px}.fdr-legend-item{padding:4px 8px;font-size:11px}.load-button,.refresh-button{width:100%;padding:12px 24px;font-size:16px}.active-filters-bar{padding:8px 12px}.filter-tag{padding:3px 8px;font-size:11px}}@media screen and (max-width:480px){body{padding:8px}h1{font-size:1.4rem}.nav{margin-bottom:8px;padding:8px}.nav a,.nav .nav-link{margin-right:8px;padding:6px 10px;font-size:13px}th,td{padding:6px 4px;font-size:11px}.fixture-table th,.fixture-table td{padding:4px 3px;font-size:10px}.team-name{min-width:70px;max-width:70px}.compact-table th,.compact-table td{padding:4px 3px;font-size:10px}.player-name-cell{width:70px;max-width:70px}.home-title{margin-bottom:24px;font-size:2rem}.home-card{padding:16px}.home-card h2{font-size:1.3rem}.home-card-subtitle{font-size:12px}.home-card-preview{padding:8px}.preview-header-cell{width:36px;font-size:9px}.preview-cell{width:36px;padding:3px 2px;font-size:10px}.preview-name-col{font-size:11px}.preview-pos{padding:1px 3px;font-size:8px}.xp-col{width:36px}.xp-cell{font-size:10px}.fdr-col{width:32px}.fdr-cell{font-size:9px;padding:3px 2px!important}.fdr-cell .fixture-opponent{font-size:9px}.fdr-cell .home-away{font-size:8px}.group-header{font-size:9px;padding:3px 4px!important}.expandable-banner{padding:10px 12px}}@media screen and (max-width:768px) and (orientation:landscape){.home-container{min-height:50vh;padding:20px}.home-title{margin-bottom:20px;font-size:2rem}.home-cards{flex-direction:row}.home-card{min-width:250px}}@media (hover:none) and (pointer:coarse){.nav a,.nav .nav-link{align-items:center;min-height:44px;display:inline-flex}.sortable-header{min-height:44px}.expandable-banner{min-height:48px}.expand-table-btn{min-height:36px;padding:8px 10px;font-size:11px}.home-card:hover{transform:none}.home-card:active{transform:scale(.98);box-shadow:0 2px 10px #0000001a}.nav a:active,.nav .nav-link:active{background-color:#fff3}.load-button:active,.refresh-button:active{background-color:#5a0062}}.my-team-page{max-width:1200px;margin:0 auto}.my-team-header{background:var(--fpl-white);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px 20px;display:flex;box-shadow:0 1px 3px #0000001a}.my-team-header .header-left{align-items:center;gap:12px;display:flex}.my-team-header .header-left h1{margin:0;font-size:1.5rem}.my-team-header .header-center{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.my-team-header .header-right{align-items:center;gap:8px;display:flex}.restore-btn{color:#fff;cursor:pointer;background:#dc2626;border:none;border-radius:6px;padding:8px 16px;font-weight:600;transition:background .15s}.restore-btn:hover{background:#b91c1c}.team-stats-bar{background:var(--fpl-purple);color:var(--fpl-white);border-radius:8px;justify-content:center;gap:32px;margin-bottom:16px;padding:16px 20px;display:flex}.team-stats-bar .stat{flex-direction:column;align-items:center;gap:4px;display:flex}.team-stats-bar .stat-label{opacity:.8;text-transform:uppercase;letter-spacing:.5px;font-size:12px}.team-stats-bar .stat-value{font-size:18px;font-weight:700}.pitch-container{flex-direction:column;gap:16px;display:flex}.pitch{background:linear-gradient(#2d8b4e 0%,#34a058 10%,#2d8b4e 10%,#34a058 20%,#2d8b4e 20%,#34a058 30%,#2d8b4e 30%,#34a058 40%,#2d8b4e 40%,#34a058 50%,#2d8b4e 50%,#34a058 60%,#2d8b4e 60%,#34a058 70%,#2d8b4e 70%,#34a058 80%,#2d8b4e 80%,#34a058 90%,#2d8b4e 90%,#34a058 100%);border-radius:12px;padding:24px 16px;position:relative;overflow:hidden}.pitch:before{content:"";border:2px solid #ffffff4d;border-radius:50%;width:120px;height:120px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pitch:after{content:"";background:#ffffff4d;height:2px;position:absolute;top:50%;left:0;right:0}.pitch-row{z-index:1;justify-content:center;gap:8px;padding:12px 0;display:flex;position:relative}.gk-row{padding-top:20px}.fwd-row{padding-bottom:20px}.player-card{background:var(--fpl-white);text-align:center;cursor:pointer;border-radius:8px;width:90px;padding:8px;transition:transform .15s,box-shadow .15s;position:relative;box-shadow:0 2px 4px #00000026}.player-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0003}.player-card.captain{box-shadow:0 0 0 3px var(--fpl-green),0 4px 8px #0003}.player-card.bench{opacity:.85}.player-card-price{color:var(--fpl-muted);margin-bottom:4px;font-size:10px;font-weight:600}.player-card-kit{justify-content:center;margin-bottom:4px;display:flex}.player-card-name{color:var(--fpl-text);white-space:nowrap;text-overflow:ellipsis;margin-bottom:4px;font-size:11px;font-weight:700;overflow:hidden}.captain-badge,.vice-badge{margin-right:2px;font-size:9px;font-weight:700}.captain-badge{color:var(--fpl-purple)}.vice-badge{color:var(--fpl-muted)}.player-card-opponent{border-radius:4px;margin-bottom:4px;padding:2px 6px;font-size:10px;font-weight:600}.player-card-xp{border-radius:4px;padding:2px 4px;font-size:11px;font-weight:700}.bench-section{background:var(--fpl-white);border-radius:8px;padding:16px;box-shadow:0 1px 3px #0000001a}.bench-section h3{color:var(--fpl-muted);text-transform:uppercase;letter-spacing:.5px;margin:0 0 12px;font-size:14px}.bench-row{justify-content:center;gap:12px;display:flex}.empty-state{text-align:center;padding:60px 20px}.empty-pitch{color:var(--fpl-white);background:linear-gradient(#2d8b4e 0%,#34a058 100%);border-radius:12px;padding:80px 40px}.empty-pitch p{margin-bottom:8px;font-size:18px}.empty-pitch .empty-hint{opacity:.8;font-size:14px}.captain-info{text-align:center;color:var(--fpl-muted);padding:16px;font-size:13px}.captain-info .changes-note{color:#dc2626;margin-top:4px;font-weight:500}@media screen and (max-width:768px){.my-team-header{flex-direction:column;align-items:stretch}.my-team-header .header-left,.my-team-header .header-center,.my-team-header .header-right{justify-content:center}.team-stats-bar{flex-wrap:wrap;gap:16px}.pitch-row{gap:4px}.player-card{width:70px;padding:6px}.player-card-name{font-size:9px}.player-card-kit{transform:scale(.8)}}@media screen and (max-width:480px){.pitch{padding:16px 8px}.player-card{width:58px;padding:4px}.player-card-price{font-size:8px}.player-card-kit{transform:scale(.7)}.player-card-name{font-size:8px}.player-card-opponent,.player-card-xp{padding:1px 3px;font-size:8px}.bench-row{flex-wrap:wrap}}.pagination-controls{background:var(--fpl-white);border-radius:8px;justify-content:center;align-items:center;gap:16px;margin:20px 0;padding:16px;display:flex;box-shadow:0 1px 3px #0000001a}.pagination-info{color:var(--fpl-muted);font-size:14px;font-weight:500}.show-more-btn,.show-all-btn{cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .15s}.show-more-btn{background:var(--fpl-purple);color:var(--fpl-white);border:none}.show-more-btn:hover{background:#4a0050;transform:translateY(-1px)}.show-all-btn{color:var(--fpl-purple);border:1px solid var(--fpl-purple);background:0 0}.show-all-btn:hover{background:var(--fpl-purple);color:var(--fpl-white)}td.diagonal-cell-td{vertical-align:middle;width:85px;height:55px;padding:0!important}.diagonal-split-cell{width:100%;height:55px;position:relative;overflow:hidden}.diagonal-bg{z-index:0;position:absolute;inset:0}.diagonal-top{z-index:2;line-height:1;position:absolute;top:3px;left:5px}.diagonal-center{z-index:4;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.diagonal-opponent{color:#000;text-shadow:-1px -1px #ffffffe6,1px -1px #ffffffe6,-1px 1px #ffffffe6,1px 1px #ffffffe6;white-space:nowrap;font-size:14px;font-weight:700}.diagonal-bottom{z-index:2;line-height:1;position:absolute;bottom:3px;right:5px}.diagonal-value{font-size:13px;font-weight:700}.diagonal-split-cell:hover{outline:2px solid var(--fpl-purple);outline-offset:-2px}.diagonal-table td:nth-child(n+5){width:85px}@media screen and (max-width:768px){td.diagonal-cell-td{width:65px;height:45px}.diagonal-split-cell{height:45px}.diagonal-value{font-size:10px}.diagonal-opponent{font-size:11px}.diagonal-table td:nth-child(n+5){width:65px}}.split-cell-explainer{background:var(--fpl-white);border:1px solid #e0e0e0;border-radius:8px;margin-bottom:16px;padding:16px}.explainer-example{align-items:flex-start;gap:20px;display:flex}.example-cell-wrapper{flex-shrink:0}.example-split-cell{border:1px solid #ccc;border-radius:4px;width:85px;height:55px;position:relative}.example-top{color:#000;font-size:12px;font-weight:700;position:absolute;top:4px;left:6px}.example-center{color:#000;text-shadow:-1px -1px #ffffffe6,1px -1px #ffffffe6,-1px 1px #ffffffe6,1px 1px #ffffffe6;font-size:11px;font-weight:700;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.example-bottom{color:#000;font-size:12px;font-weight:700;position:absolute;bottom:4px;right:6px}.explainer-text{flex:1}.explainer-text p{margin:0 0 8px;font-size:13px;line-height:1.4}.explainer-text p:last-child{margin-bottom:0}@media screen and (max-width:600px){.explainer-example{text-align:center;flex-direction:column;align-items:center}.explainer-text p{text-align:left}}
