body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.team-spotlight-overlay{align-items:center;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.team-spotlight-modal{animation:spotlightSlideUp .3s ease-out;background-color:#222;background-color:var(--bg-secondary,#222);border-radius:12px;box-shadow:0 5px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:500px;overflow:hidden;width:90%}@keyframes spotlightSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.spotlight-header{align-items:center;display:flex;justify-content:space-between;padding:16px 20px}.spotlight-team-info{align-items:center;display:flex;gap:12px}.spotlight-team-info h3{color:#fff;color:var(--text-primary,#fff);font-size:1.3rem;margin:0}.spotlight-position{color:#aaa;color:var(--text-secondary,#aaa);font-size:.85rem}.spotlight-header .close-button{flex-shrink:0;position:static}.spotlight-summary{background-color:#1a1a1a;background-color:var(--bg-tertiary,#1a1a1a);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);border-top:1px solid #333;border-top:1px solid var(--border-color,#333);display:flex;justify-content:space-around;padding:15px 20px}.spotlight-stat{text-align:center}.spotlight-stat-value{color:#3a86ff;color:var(--accent,#3a86ff);font-size:1.4rem;font-weight:700}.spotlight-stat-label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;margin-top:2px}.spotlight-content{flex-grow:1;overflow-y:auto;padding:0 20px 15px}.spotlight-table{border-collapse:collapse;margin-top:10px;width:100%}.spotlight-table th{background-color:#2a2a2a;background-color:var(--header-bg,#2a2a2a);font-size:.9rem;padding:8px 10px;position:sticky;text-align:center;top:0;z-index:10}.spotlight-table th.align-left{text-align:left}.spotlight-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);border-right:none;padding:8px 10px;position:static}.spotlight-table .position-cell{font-weight:600;text-align:center}.spotlight-table .difference-cell{text-align:center}.spotlight-table .participant-cell{gap:6px}.fan-badge{color:gold;font-size:.8rem}.spotlight-table .difference-badge{border-radius:12px;display:inline-block;font-size:.85rem;font-weight:600;min-width:20px;padding:2px 10px;text-align:center}.spotlight-table .difference-badge.good{background-color:#06d6a026;color:#06d6a0}.spotlight-table .difference-badge.average{background-color:#ffd16626;color:#ffd166}.spotlight-table .difference-badge.poor{background-color:#ef476f26;color:#ef476f}.spotlight-table tr.good{background-color:#06d6a008}.spotlight-table tr.average{background-color:#ffd16608}.spotlight-table tr.poor{background-color:#ef476f08}@media (max-width:768px){.team-spotlight-modal{width:95%}.spotlight-team-info h3{font-size:1.1rem}.spotlight-stat-value{font-size:1.2rem}}.standings-view-controls{display:flex;justify-content:center;margin-bottom:15px}.view-toggle-btn{background-color:var(--bg-tertiary);color:var(--text-secondary);font-size:.9rem}.view-toggle-btn.active{background-color:var(--accent)}.standings-table-wrapper{border:1px solid var(--border-color);border-radius:8px;margin-bottom:10px;overflow-x:auto;scrollbar-color:var(--accent) var(--bg-secondary);scrollbar-width:thin;width:100%}.standings-table-wrapper::-webkit-scrollbar{height:8px}.standings-table-wrapper::-webkit-scrollbar-track{background:var(--bg-secondary);border-radius:4px}.standings-table-wrapper::-webkit-scrollbar-thumb{background-color:var(--accent);border-radius:4px}.standings-table{border-collapse:collapse;font-size:.8rem;width:100%}.standings-table .team-col{padding-left:10px;text-align:left;white-space:nowrap}.standings-table .numeric-col{min-width:40px;text-align:center}.standings-table .position-col{font-weight:600;text-align:center;width:40px}.standings-table .points-col{color:var(--accent);font-weight:700}.standings-table thead th{background-color:var(--header-bg);color:var(--text-primary);font-weight:600;padding:12px 8px;position:sticky;text-align:center;top:0;white-space:nowrap;z-index:10}.standings-table tbody td:first-child,.standings-table thead th:first-child{box-shadow:2px 0 5px #0000001a;left:0;position:sticky;z-index:20}.standings-table tbody tr{border-bottom:1px solid var(--border-color);transition:background-color .2s ease}.standings-table tbody tr:nth-child(2n){background-color:var(--row-even)}.standings-table tbody tr:nth-child(odd){background-color:var(--row-odd)}.standings-table tbody tr:hover{background-color:var(--row-hover)}.standings-table tbody tr:nth-child(2n) td:first-child{background-color:var(--row-even)}.standings-table tbody tr:nth-child(odd) td:first-child{background-color:var(--row-odd)}.standings-table tbody tr:hover td:first-child{background-color:var(--row-hover)}.standings-table td{padding:10px 8px;vertical-align:middle}.positive-gd{color:#10b981}.negative-gd{color:#ef4444}.form-indicators{flex-wrap:wrap;gap:3px}.form-indicator,.form-indicators{display:flex;justify-content:center}.form-indicator{align-items:center;border-radius:50%;font-size:11px;font-weight:700;height:22px;width:22px}.form-win{background-color:#10b981cc;color:#fff}.form-draw{background-color:#eab308cc;color:#fff}.form-loss{background-color:#ef4444cc;color:#fff}.no-form-data{color:var(--text-secondary);font-size:.8rem;font-style:italic}.standings-table tr.europaleague{background-color:var(--europaleague)}.standings-table tr.conference-league{background-color:var(--conferenceLeague)}.standings-table tr.relegation-direct{background-color:var(--relegation-direct)}.standings-table tr.relegation-playoff{background-color:var(--relegation-playoff)}.standings-table tr.europaleague td:first-child{background-color:var(--europaleague)}.standings-table tr.conference-league td:first-child{background-color:var(--conferenceLeague)}.standings-table tr.relegation-direct td:first-child{background-color:var(--relegation-direct)}.standings-table tr.relegation-playoff td:first-child{background-color:var(--relegation-playoff)}.standings-table tr.europaleague:hover td,.standings-table tr.europaleague:hover td:first-child{background-color:#273d1d}.standings-table tr.conference-league:hover td,.standings-table tr.conference-league:hover td:first-child{background-color:#3f4f3c}.standings-table tr.relegation-direct:hover td,.standings-table tr.relegation-direct:hover td:first-child{background-color:#dc35454d}.standings-table tr.relegation-playoff:hover td,.standings-table tr.relegation-playoff:hover td:first-child{background-color:#ffc10733}.table-note{display:none;font-size:.75rem;margin-top:8px}.no-data-message,.table-note{color:var(--text-secondary);font-style:italic;text-align:center}.no-data-message{background-color:var(--bg-tertiary);border-radius:8px;margin-top:15px;padding:30px}.team-name-with-logo span{margin-left:8px;max-width:140px;white-space:nowrap}.team-highlight td{box-shadow:inset 0 0 0 1px #ffd7004d!important}.team-highlight td,.team-highlight td:first-child{background-color:#ffd70026!important}@media (max-width:768px){.standings-table{font-size:.9rem}.standings-table td,.standings-table th{padding:8px 6px}.table-note{display:block}.team-name-with-logo span{max-width:100px}.form-indicator{font-size:10px;height:18px;width:18px}.standings-table td:first-child,.standings-table th:first-child{box-shadow:2px 0 5px #0003;left:0}@media (max-width:480px){.standings-table td:nth-child(2),.standings-table th:nth-child(2){left:40px;position:sticky;z-index:15}.standings-table th:nth-child(2){background-color:var(--header-bg)}.standings-table tr:nth-child(2n) td:nth-child(2){background-color:var(--row-even)}.standings-table tr:nth-child(odd) td:nth-child(2){background-color:var(--row-odd)}.standings-table tr:hover td:nth-child(2){background-color:var(--row-hover)}.standings-table tr.europaleague td:nth-child(2){background-color:var(--europaleague)}.standings-table tr.conference-league td:nth-child(2){background-color:var(--conferenceLeague)}.standings-table tr.relegation-direct td:nth-child(2){background-color:var(--relegation-direct)}.standings-table tr.relegation-playoff td:nth-child(2){background-color:var(--relegation-playoff)}.standings-table tr.europaleague:hover td:nth-child(2){background-color:#273d1d}.standings-table tr.conference-league:hover td:nth-child(2){background-color:#3f4f3c}.standings-table tr.relegation-direct:hover td:nth-child(2){background-color:#dc35454d}.standings-table tr.relegation-playoff:hover td:nth-child(2){background-color:#ffc10733}}}.detailed-predictions-overlay{align-items:center;animation:.2s ease-out;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.detailed-predictions-modal{animation:slideUp .3s ease-out;background-color:#222;background-color:var(--bg-secondary,#222);border-radius:12px;box-shadow:0 5px 20px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:700px;overflow:hidden;width:90%}.modal-header{align-items:center;display:flex;justify-content:space-between;padding:16px 20px;position:relative}.modal-header h3{color:#fff;color:var(--text-primary,#fff);font-size:1.3rem;margin:0;width:calc(100% - 40px)}.clickable-row{cursor:pointer}.close-button{align-items:center!important;background-color:#ffffff1a!important;border:none!important;border-radius:50%!important;box-sizing:border-box!important;color:#aaa!important;color:var(--text-secondary,#aaa)!important;cursor:pointer!important;display:flex!important;font-size:20px!important;height:30px!important;justify-content:center!important;line-height:1!important;margin:0!important;max-height:30px!important;max-width:30px!important;min-height:30px!important;min-width:30px!important;overflow:hidden!important;padding:0!important;position:absolute;right:12px;top:12px;transition:background-color .2s!important;width:30px!important}.close-button:hover{background-color:#fff3!important;color:#fff!important;color:var(--text-primary,#fff)!important}.modal-summary{background-color:#1a1a1a;background-color:var(--bg-tertiary,#1a1a1a);border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);display:flex;justify-content:space-around;padding:15px 20px}.summary-item{align-items:center;display:flex;flex-direction:column}.summary-label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.75rem;margin-bottom:4px}.summary-value{color:#3a86ff;color:var(--accent,#3a86ff);font-size:1.3rem;font-weight:700}.summary-value.perfect-value{color:#06d6a0}.summary-value.top3-value{color:gold}.summary-value.relegation-value{color:#ef476f}.summary-value.outlier-value{color:#9d4edd}.modal-content{flex-grow:1;overflow-y:auto;padding:0 20px 15px}.predictions-table{border-collapse:collapse;margin-top:10px;width:100%}.predictions-table th{background-color:#2a2a2a;background-color:var(--header-bg,#2a2a2a);font-size:.9rem;padding:3px 10px;position:sticky;text-align:left;text-align:center;top:0;z-index:10}.align-left{text-align:left!important}.predictions-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);padding:4px 10px}.team-with-logo{display:flex;gap:10px}.outlier-indicator,.perfect-indicator{align-items:center;border-radius:50%;display:inline-flex;font-size:.75rem;height:22px;justify-content:center;margin-left:8px;width:22px}.perfect-indicator{background-color:#06d6a026;color:#06d6a0}.outlier-indicator{background-color:#9d4edd26;color:#9d4edd}.position-cell{font-weight:600}.difference-cell,.position-cell{text-align:center}.difference-badge{border-radius:12px;display:inline-block;font-weight:600;min-width:20px;padding:2px 10px;text-align:center}.difference-badge.good{background-color:#06d6a026;color:#06d6a0}.difference-badge.average{background-color:#ffd16626;color:#ffd166}.difference-badge.poor{background-color:#ef476f26;color:#ef476f}.prediction-row.good{background-color:#06d6a008}.prediction-row.average{background-color:#ffd16608}.prediction-row.poor{background-color:#ef476f08}.prediction-row.outlier-row{background-color:#9d4edd0d}.outlier-highlight{background-color:#9d4edd14;border-left:3px solid #9d4edd;border-radius:10px;margin-top:20px;padding:15px}.outlier-highlight h4{color:#9d4edd;font-size:1rem;margin-bottom:10px;margin-top:0}.outlier-team{align-items:center;display:flex;gap:15px}.outlier-details{display:flex;flex-direction:column;gap:5px}.outlier-team-name{font-size:1.1rem;font-weight:600}.outlier-positions{color:#aaa;color:var(--text-secondary,#aaa);display:flex;flex-direction:column;font-size:.9rem;gap:4px}.outlier-positions strong{color:#fff;color:var(--text-primary,#fff)}@media (max-width:768px){.detailed-predictions-modal{width:95%}.modal-header h3,.summary-value{font-size:1.1rem}.predictions-table td,.predictions-table th{font-size:.9rem;padding:8px 6px}.predictions-table td:nth-child(4),.predictions-table th:nth-child(4){display:none}}@media (max-width:576px){.team-with-logo span{font-size:.85rem}.modal-summary{flex-wrap:wrap;gap:10px}.summary-item{min-width:80px}.outlier-positions{font-size:.8rem}}.performance-table{border-collapse:collapse;width:100%}.performance-table th{background-color:#2a2a2a;background-color:var(--header-bg,#2a2a2a);padding:12px 15px;position:sticky;text-align:left;top:0;z-index:10}.performance-table th.sortable-header{cursor:pointer;transition:background-color .2s ease;-webkit-user-select:none;user-select:none}.performance-table th.sortable-header:hover{background-color:#3a86ff33}.performance-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color,#333);padding:10px 15px}.performance-rating{color:#3a86ff;color:var(--accent,#3a86ff);font-size:1.1rem;font-weight:700}.perfect-picks{color:#06d6a0}.perfect-picks,.top3-accuracy{font-weight:700;text-align:center}.top3-accuracy{color:gold}.relegation-accuracy{color:#ef476f;font-weight:700;text-align:center}.outlier-points{color:#9d4edd;font-weight:700;text-align:center}.team-prediction{align-items:center;display:flex;gap:8px}.participant-with-team{gap:8px}.prediction-rating{background-color:#3a86ff26;border-radius:12px;color:#3a86ff;color:var(--accent,#3a86ff);font-size:.8rem;font-weight:600;margin-left:0;padding:2px 6px}.best-prediction .prediction-rating{background-color:#06d6a026;color:#06d6a0}.worst-prediction .prediction-rating{background-color:#ef476f26;color:#ef476f}.performance-table tr.medal-1{background-color:#ffd70014}.performance-table tr.medal-1 .performance-rating{color:gold}.performance-table tr.medal-2{background-color:#c0c0c014}.performance-table tr.medal-2 .performance-rating{color:silver}.performance-table tr.medal-3{background-color:#cd7f3214}.performance-table tr.medal-3 .performance-rating{color:#cd7f32}.view-toggle-container{display:none;margin-bottom:15px;text-align:center}.view-toggle-btn{background-color:#333;background-color:var(--bg-tertiary,#333);border:none;border-radius:20px;color:#ccc;color:var(--text-secondary,#ccc);cursor:pointer;font-size:.85rem;margin:0 5px;padding:8px 16px;transition:all .2s ease}.view-toggle-btn.active{background-color:#3a86ff;background-color:var(--accent,#3a86ff);box-shadow:0 2px 6px #3a86ff4d;color:#fff}.mobile-performance-cards{display:none}.performance-card{background-color:#222;background-color:var(--bg-secondary,#222);border-radius:10px;box-shadow:0 2px 8px #0003;margin-bottom:15px;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.performance-card.clickable{cursor:pointer}.performance-card.clickable:hover{box-shadow:0 4px 12px #0000004d;transform:translateY(-2px)}.performance-card.clickable:active{box-shadow:0 2px 8px #0003;transform:translateY(0)}.performance-card .card-header{align-items:center;background-color:#333;background-color:var(--bg-tertiary,#333);border-bottom:1px solid #444;border-bottom:1px solid var(--border-color,#444);display:flex;padding:12px 15px}.performance-card .card-rank{align-items:center;background-color:#0003;border-radius:50%;display:flex;font-size:.9rem;font-weight:700;height:30px;justify-content:center;margin-right:12px;width:30px}.performance-card.medal-1 .card-rank{background-color:gold;color:#000}.performance-card.medal-2 .card-rank{background-color:silver;color:#000}.performance-card.medal-3 .card-rank{background-color:#cd7f32;color:#000}.performance-card .participant-with-team{align-items:center;display:flex;flex:1 1}.performance-card .card-score{color:#3a86ff;color:var(--accent,#3a86ff);font-size:1.2rem;font-weight:700;margin-left:15px}.performance-card.medal-1 .card-score{color:gold}.performance-card.medal-2 .card-score{color:silver}.performance-card.medal-3 .card-score{color:#cd7f32}.performance-card .card-body{padding:15px}.performance-card .card-stats{display:flex;justify-content:space-between;margin-bottom:15px}.performance-card .stat-item{flex:1 1;text-align:center}.performance-card .stat-label{color:#aaa;color:var(--text-secondary,#aaa);font-size:.7rem;margin-bottom:5px}.performance-card .stat-value{font-size:1rem;font-weight:600}.stats-pill{align-items:center;border-radius:12px;display:inline-flex;font-size:.85rem;margin-right:5px;padding:2px 8px}.perfect-pill{background-color:#06d6a026;color:#06d6a0}.top3-pill{background-color:#ffd70026;color:gold}.relegation-pill{background-color:#ef476f26;color:#ef476f}.outlier-pill{background-color:#9d4edd26;color:#9d4edd}@media (max-width:991px){.performance-table td,.performance-table th{font-size:.9rem;padding:10px 8px}.team-prediction span{font-size:.85rem}.performance-rating{font-size:1rem}}@media (max-width:768px){.view-toggle-container{display:flex;justify-content:center}.mobile-performance-cards{display:block}.mobile-hide,.performance-table td:nth-child(4),.performance-table td:nth-child(5),.performance-table td:nth-child(6),.performance-table td:nth-child(7),.performance-table td:nth-child(8),.performance-table th:nth-child(4),.performance-table th:nth-child(5),.performance-table th:nth-child(6),.performance-table th:nth-child(7),.performance-table th:nth-child(8){display:none}.participant-name{max-width:80px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.clickable-row:active:after{animation:ripple .4s ease-out;background-color:#3a86ff33;content:"";height:100%;left:0;position:absolute;top:0;width:100%}@keyframes ripple{0%{opacity:1;transform:scale(.8)}to{opacity:0;transform:scale(2)}}}@media (max-width:576px){.performance-card .card-body,.performance-card .card-header{padding:10px}}.mobile-dashboard{display:none;margin-bottom:20px}.pull-to-refresh{box-shadow:0 2px 5px #0003;font-size:14px}.refresh-icon{animation:spin 1.5s linear infinite;display:inline-block;margin-right:8px}.quick-access-buttons{display:flex;gap:10px;justify-content:space-between;margin-bottom:15px;padding:0 5px}.quick-access-button{align-items:center;background-color:var(--bg-secondary);border:none;border-radius:10px;box-shadow:0 2px 5px #0000001a;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:12px;transition:all .2s ease}.quick-access-button.active{background-color:var(--accent);box-shadow:0 4px 10px #3a86ff4d;color:#fff;transform:translateY(-2px)}.button-icon{font-size:1.5rem;margin-bottom:5px}.button-label{font-size:.85rem;font-weight:500}.last-updated{color:var(--text-secondary);font-size:.7rem;margin-bottom:15px;opacity:.8;text-align:center}.favorite-team-card{background-color:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:15px}.team-header{align-items:center;display:flex;margin-bottom:15px;position:relative}.team-header .team-logo-placeholder,.team-header img{height:40px;margin-right:12px;width:40px}.team-header h3{flex:1 1;font-size:1.2rem;margin:0}.change-button{background-color:#ffffff1a;border:none;border-radius:15px;color:var(--text-secondary);cursor:pointer;font-size:.7rem;padding:4px 8px}.team-stats{display:flex;justify-content:space-around;margin-bottom:15px;text-align:center}.team-stat{align-items:center;background-color:var(--bg-tertiary);border-radius:8px;display:flex;flex-direction:column;min-width:70px;padding:10px 15px}.stat-value{font-size:1.4rem;margin-bottom:3px}.stat-label{font-size:.7rem}.team-actions{display:flex;justify-content:center}.view-button{background-color:var(--accent);border:none;border-radius:20px;box-shadow:0 2px 5px #3a86ff4d;color:#fff;cursor:pointer;font-weight:500;padding:8px 20px;transition:all .2s ease}.view-button:active,.view-button:hover{background-color:var(--accent2);box-shadow:0 4px 10px #3a86ff66;transform:translateY(-2px)}.favorite-team-placeholder{background-color:var(--bg-secondary);border-radius:10px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;padding:20px 15px;text-align:center}.favorite-team-placeholder p{color:var(--text-secondary);font-size:.9rem;margin-bottom:15px}.select-team-button{background-color:var(--accent);border:none;border-radius:20px;box-shadow:0 2px 5px #3a86ff4d;color:#fff;cursor:pointer;font-weight:500;padding:8px 20px;transition:all .2s ease}.team-selection-overlay{align-items:center;animation:fadeIn .3s ease;background-color:#000c;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.team-selection{background-color:var(--bg-secondary);border-radius:10px;box-shadow:0 4px 20px #0006;max-height:80vh;max-width:400px;overflow-y:auto;padding:20px;width:90%}.team-selection h3{font-size:1.2rem;margin-bottom:20px;text-align:center}.team-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin-bottom:20px}.team-button{align-items:center;background-color:var(--bg-tertiary);border:none;border-radius:8px;color:var(--text-primary);cursor:pointer;display:flex;flex-direction:column;padding:10px 5px;transition:all .2s ease}.team-button:active,.team-button:hover{background-color:var(--accent);transform:scale(1.05)}.team-button .team-logo-placeholder,.team-button img{height:30px;margin-bottom:5px;width:30px}.team-button span{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.8rem;max-height:32px;overflow:hidden;text-align:center;text-overflow:ellipsis}.close-button{background-color:var(--bg-tertiary);border:none;border-radius:20px;color:var(--text-secondary);cursor:pointer;display:block;padding:10px;transition:all .2s ease;width:100%}.close-button:active,.close-button:hover{background-color:#ffffff1a}.swipe-hint{margin-top:5px}.highlight-pulse{animation:highlightPulse 1.5s ease}@keyframes highlightPulse{0%{background-color:#3a86ff1a}50%{background-color:#3a86ff4d}to{background-color:#3a86ff00}}@media (max-width:768px){.mobile-dashboard{display:block}}:root{--bg-primary:#121212;--bg-secondary:#1e1e1e;--bg-tertiary:#252525;--text-primary:#fff;--text-secondary:#aaa;--accent:#3a86ff;--accent2:#4cc9f0;--accent3:#7209b7;--row-even:#1e1e1e;--row-odd:#252525;--row-hover:#303030;--header-bg:#111;--border-color:#333;--relegation-direct:#4a2623;--relegation-playoff:#c97f51;--europaleague:#386b2e;--conferenceLeague:#3d5738}*{box-sizing:border-box;font-family:Inter,sans-serif;margin:0;padding:0}body{background-color:#121212;background-color:var(--bg-primary);color:#fff;color:var(--text-primary);line-height:2}.error,.loading{align-items:center;display:flex;font-size:1.5rem;justify-content:center;min-height:100vh;padding:20px;text-align:center}.error{color:#ef4444}.app{min-height:100vh}.container{flex:1 1;margin:0 auto;max-width:1200px;padding:20px}header{background-color:#111;background-color:var(--header-bg);box-shadow:0 4px 12px #0000004d;color:#fff;color:var(--text-primary);margin-bottom:30px;padding:40px 0;text-align:center}.header-title{font-size:2.5rem;font-weight:700;margin-bottom:10px}.header-subtitle{color:#aaa;color:var(--text-secondary);font-size:1.2rem;font-weight:300;opacity:.9}.section{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px #0003;margin-bottom:30px;padding:30px}.section-title{align-items:center;color:#fff;color:var(--text-primary);display:flex;font-size:1.5rem;font-weight:600;margin-bottom:5px}.section-title .icon{font-size:1.6rem;margin-right:10px}.section-description{color:#aaa;color:var(--text-secondary);font-size:1rem;margin-bottom:20px}table{border-collapse:collapse;font-size:12px;width:100%}thead th{background-color:#111;background-color:var(--header-bg);color:#fff;color:var(--text-primary);font-weight:600;padding:12px 15px;position:sticky;text-align:left;top:0;white-space:nowrap;z-index:10}thead th:first-child{left:0;position:sticky;z-index:200}tbody tr:nth-child(2n){background-color:#1e1e1e;background-color:var(--row-even)}tbody tr:nth-child(odd){background-color:#252525;background-color:var(--row-odd)}tbody tr:hover{background-color:#303030;background-color:var(--row-hover)}td{border-bottom:2px solid #333;border-bottom:2px solid var(--border-color);padding:6px}td:first-child{border-right:2px solid #333;border-right:2px solid var(--border-color);font-weight:600;left:0;position:sticky;text-align:center;width:40px;z-index:5}tr:hover td:first-child{background-color:#303030;background-color:var(--row-hover)}tr.europaleague td{background-color:#386b2e;background-color:var(--europaleague)}tr.conference-league td{background-color:#3d5738;background-color:var(--conferenceLeague)}tr.relegation-direct td{background-color:#4a2623;background-color:var(--relegation-direct)}tr.relegation-playoff td{background-color:#c97f51;background-color:var(--relegation-playoff)}tr.europaleague:nth-child(2n) td:first-child,tr.europaleague:nth-child(odd) td:first-child{background-color:#386b2e;background-color:var(--europaleague)}tr.conference-league:nth-child(2n) td:first-child,tr.conference-league:nth-child(odd) td:first-child{background-color:#3d5738;background-color:var(--conferenceLeague)}tr.relegation-direct:nth-child(2n) td:first-child,tr.relegation-direct:nth-child(odd) td:first-child{background-color:#4a2623;background-color:var(--relegation-direct)}tr.relegation-playoff:nth-child(2n) td:first-child,tr.relegation-playoff:nth-child(odd) td:first-child{background-color:#c97f51;background-color:var(--relegation-playoff)}tr.europaleague:hover td,tr.europaleague:hover td:first-child{background-color:#273d1d}tr.conference-league:hover td,tr.conference-league:hover td:first-child{background-color:#3f4f3c}tr.relegation-direct:hover td,tr.relegation-direct:hover td:first-child{background-color:#dc35454d}tr.relegation-playoff:hover td,tr.relegation-playoff:hover td:first-child{background-color:#ffc10733}.stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:8px;box-shadow:0 4px 12px #0003;padding:25px;text-align:center;transition:transform .2s ease}.stat-card:hover{transform:translateY(-5px)}.stat-value{align-items:center;color:#3a86ff;color:var(--accent);display:flex;font-size:1.8rem;justify-content:center;margin-bottom:5px;min-height:50px}.stat-label{font-size:.9rem;letter-spacing:1px}.fun-stats-section{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px #0003;margin-bottom:30px;padding:30px}.fun-stats-grid{grid-gap:20px;gap:20px;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));margin-top:20px}.fun-stat-card{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow:hidden;padding:20px;position:relative;transition:transform .2s ease}.fun-stat-card:hover{transform:translateY(-3px)}.fun-stat-title{color:#fff;color:var(--text-primary);font-size:1rem;margin-bottom:10px}.fun-stat-value{font-size:1.6rem;margin-bottom:5px}.fun-stat-description{font-size:.9rem}.fun-stat-card:first-child .fun-stat-value{color:#3a86ff;color:var(--accent)}.fun-stat-card:nth-child(2) .fun-stat-value{color:#4cc9f0;color:var(--accent2)}.fun-stat-card:nth-child(3) .fun-stat-value{color:#7209b7;color:var(--accent3)}.fun-stat-card:nth-child(4) .fun-stat-value{color:#f72585}.fun-stat-card:nth-child(5) .fun-stat-value{color:#4361ee}.fun-stat-card:nth-child(6) .fun-stat-value{color:#4cc9f0}.fun-stat-card:nth-child(7) .fun-stat-value{color:#f77f00}.fun-stat-card:nth-child(8) .fun-stat-value{color:#7209b7}.fun-stat-card:nth-child(9) .fun-stat-value{color:#00b4d8}.fun-stat-card:nth-child(10) .fun-stat-value{color:#fb8500}.fun-stat-card:nth-child(11) .fun-stat-value{color:#06d6a0}.fun-stat-card:nth-child(12) .fun-stat-value{color:#ef476f}.fun-stat-card:nth-child(13) .fun-stat-value{color:#ffd166}.fun-stat-card:before{background-color:initial;content:"";height:100%;left:0;position:absolute;top:0;transition:background-color .3s ease;width:4px}.fun-stat-card:first-child:hover:before{background-color:#3a86ff;background-color:var(--accent)}.fun-stat-card:nth-child(2):hover:before{background-color:#4cc9f0;background-color:var(--accent2)}.fun-stat-card:nth-child(3):hover:before{background-color:#7209b7;background-color:var(--accent3)}.fun-stat-card:nth-child(4):hover:before{background-color:#f72585}.fun-stat-card:nth-child(5):hover:before{background-color:#4361ee}.fun-stat-card:nth-child(6):hover:before{background-color:#4cc9f0}.fun-stat-card:nth-child(7):hover:before{background-color:#f77f00}.fun-stat-card:nth-child(8):hover:before{background-color:#7209b7}.fun-stat-card:nth-child(9):hover:before{background-color:#00b4d8}.fun-stat-card:nth-child(10):hover:before{background-color:#fb8500}.fun-stat-card:nth-child(11):hover:before{background-color:#06d6a0}.fun-stat-card:nth-child(12):hover:before{background-color:#ef476f}.fun-stat-card:nth-child(13):hover:before{background-color:#ffd166}#current-leaderboard-table .medal-1{background-color:#ffd7004d}#current-leaderboard-table .medal-2{background-color:#c0c0c04d}#current-leaderboard-table .medal-3{background-color:#cd7f324d}.best-prediction{color:#4cc9f0;font-weight:700}.worst-prediction{color:#f72585;font-weight:700}.legend{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.legend-item{align-items:center;display:flex;font-size:.85rem}.legend-color{border-radius:3px;height:15px;margin-right:8px;width:15px}.legend-europaleague{background-color:#386b2e;background-color:var(--europaleague)}.legend-conference{background-color:#3d5738;background-color:var(--conferenceLeague)}.legend-direct{background-color:#4a2623;background-color:var(--relegation-direct)}.legend-playoff{background-color:#c97f51;background-color:var(--relegation-playoff)}footer{color:#aaa;color:var(--text-secondary);font-size:.9rem;margin-top:30px;padding:20px;text-align:center}.team-name-with-logo{padding:2px 0}.team-highlight{background-color:#ffd7004d!important;box-shadow:inset 0 0 0 2px #ffd700cc!important;color:#fff!important;z-index:20}tr.conference-league td.team-highlight,tr.europaleague td.team-highlight,tr.relegation-direct td.team-highlight,tr.relegation-playoff td.team-highlight{background-color:#ffd70066!important}#predictions-table td,#standings-table td{transition:background-color .15s ease,box-shadow .15s ease,color .15s ease}.team-highlight .team-name-with-logo{position:relative}.team-highlight .team-name-with-logo:after{border-radius:4px;content:"";pointer-events:none;position:absolute}.mini-bar-container{background-color:#ffffff1a;border-radius:8px;height:16px;overflow:hidden;position:relative;width:100%}.mini-bar{border-radius:8px;height:100%}.mini-bar,.mini-bar-text{left:0;position:absolute;top:0}.mini-bar-text{align-items:center;bottom:0;color:#fff;display:flex;font-size:11px;font-weight:700;justify-content:center;right:0;text-shadow:0 0 2px #000000b3}.top3-bar{background:linear-gradient(90deg,#10b981b3,#3b82f6b3)}.relegation-bar{background:linear-gradient(90deg,#ef4444b3,#f59e0bb3)}@media (max-width:768px){.header-title{font-size:2rem}.section{padding:20px}.fun-stats-grid,.stats-grid{grid-template-columns:1fr}#standings-table td:nth-child(4),#standings-table td:nth-child(5),#standings-table th:nth-child(4),#standings-table th:nth-child(5){display:none}.mini-bar-container{height:14px}.mini-bar-text{font-size:10px}.team-logo,.team-logo-placeholder{height:20px;margin-right:5px;width:20px}.team-logo-placeholder{font-size:9px}.team-name-with-logo span{font-size:11px}#live-standings-table td:nth-child(3),#live-standings-table td:nth-child(7),#live-standings-table td:nth-child(8),#live-standings-table th:nth-child(3),#live-standings-table th:nth-child(7),#live-standings-table th:nth-child(8){display:none}}.table-wrapper{border:1px solid #333;border:1px solid var(--border-color);border-radius:8px;overflow-x:auto;width:100%}#predictions-table{min-width:100%;table-layout:fixed;width:max-content}#predictions-table td,#predictions-table th{max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#predictions-table td:first-child,#predictions-table th:first-child{max-width:40px;min-width:40px;width:40px;z-index:100}.team-name-with-logo,.team-name-with-logo-center{align-items:center;display:flex;white-space:nowrap;width:100%}.team-name-with-logo-center{justify-content:center}.team-name-with-logo span{overflow:hidden;text-overflow:ellipsis}.compact-stats-container{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px #0003;display:flex;justify-content:space-between;margin-bottom:25px;padding:15px}.compact-stat-item{align-items:center;display:flex;flex:1 1;max-width:33.333%;padding:10px 15px;position:relative}.compact-stat-item:not(:last-child):after{background-color:#333;background-color:var(--border-color);content:"";height:60%;position:absolute;right:0;top:20%;width:1px}.stat-icon{align-items:center;display:flex;font-size:2rem;justify-content:center;margin-right:15px;opacity:.8}.stat-content{display:flex;flex-direction:column}.stat-value{color:#fff;color:var(--text-primary);font-weight:700;margin-bottom:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat-label{letter-spacing:.5px;text-transform:uppercase}@media (max-width:768px){.compact-stats-container{flex-direction:column;padding:10px}.compact-stat-item{max-width:100%;padding:8px 10px}.compact-stat-item:not(:last-child):after{bottom:0;height:1px;right:10%;top:auto;width:80%}.stat-icon{font-size:1.5rem;margin-right:10px}}.compact-fun-stats-section{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:12px;box-shadow:0 4px 12px #0003;margin-bottom:30px;padding:20px}.fun-stats-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:15px}.compact-fun-stat-card{box-shadow:0 2px 4px #0000001a;transition:transform .2s ease,box-shadow .2s ease}.compact-fun-stat-card:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.compact-fun-stat-card:nth-child(9){border-left-color:#00b4d8}.compact-fun-stat-card:nth-child(9) .fun-stat-value{color:#00b4d8}.compact-fun-stat-card:nth-child(10){border-left-color:#fb8500}.compact-fun-stat-card:nth-child(10) .fun-stat-value{color:#fb8500}.compact-fun-stat-card:nth-child(11){border-left-color:#06d6a0}.compact-fun-stat-card:nth-child(11) .fun-stat-value{color:#06d6a0}.compact-fun-stat-card:nth-child(12){border-left-color:#ef476f}.compact-fun-stat-card:nth-child(12) .fun-stat-value{color:#ef476f}@media (max-width:768px){.fun-stats-grid{grid-template-columns:1fr}.compact-fun-stat-card{padding:12px}.fun-stat-icon{font-size:1.5rem;margin-right:10px}}.section-title{background:linear-gradient(90deg,#1e1e1e,#252525);background:linear-gradient(90deg,var(--bg-secondary),var(--bg-tertiary));border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);border-radius:12px 12px 0 0;margin:-30px -30px 20px;padding:20px 30px}.section{border:1px solid #333;border:1px solid var(--border-color);transition:transform .3s ease,box-shadow .3s ease}.team-name-with-logo{transition:transform .2s ease}.team-name-with-logo:hover{transform:translateX(3px)}.table-wrapper::-webkit-scrollbar{background-color:#121212;background-color:var(--bg-primary);height:12px}.table-wrapper::-webkit-scrollbar-thumb{background-color:#3a86ff;background-color:var(--accent);border-radius:4px}.table-wrapper::-webkit-scrollbar-track{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:4px}header{background:linear-gradient(135deg,#121212,#1e1e1e);overflow:hidden;position:relative}header:before{background:radial-gradient(circle at center,#3a86ff33 0,#0000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.team-highlight{overflow:hidden;position:relative}.team-highlight:after{background:linear-gradient(45deg,#ffd70033,#ffd70000 70%);bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0}.tooltip{cursor:help;display:inline-block;position:relative}.tooltip .tooltip-text{background-color:#252525;background-color:var(--bg-tertiary);border:1px solid #333;border:1px solid var(--border-color);border-radius:6px;bottom:125%;box-shadow:0 4px 12px #0003;color:#fff;color:var(--text-primary);font-size:.9rem;left:50%;opacity:0;padding:8px;position:absolute;text-align:center;transform:translateX(-50%);transition:opacity .3s;visibility:hidden;width:200px;z-index:1000}.tooltip:hover .tooltip-text{opacity:1;visibility:visible}.toggle-switch{height:34px;width:60px}.toggle-slider{border-radius:34px}.toggle-slider:before{bottom:4px;height:26px;left:4px;width:26px}input:checked+.toggle-slider:before{transform:translateX(26px)}.season-progress{background-color:#252525;background-color:var(--bg-tertiary);border-radius:5px;height:10px;margin:15px 0}.progress-bar{border-radius:5px;transition:width .5s ease}.team-logo{box-shadow:0 2px 4px #0003;transition:transform .2s ease}.team-logo:hover{transform:scale(1.2)}@media (max-width:768px){.section{padding:20px 15px}.section-title{font-size:1.3rem;margin:-20px -15px 15px;padding:15px 20px}.compact-stats-container{flex-direction:column}.compact-stat-item{max-width:100%;padding:10px}}.accuracy-overview{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.accuracy-meter{align-items:center;background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:20px}.accuracy-label{color:#aaa;color:var(--text-secondary);font-size:.9rem;letter-spacing:1px;margin-bottom:5px;text-transform:uppercase}.accuracy-value{color:#3a86ff;color:var(--accent);font-size:2.5rem;font-weight:700;margin-bottom:15px}.progress-container{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:6px;height:12px;overflow:hidden;width:100%}.progress-bar{background:linear-gradient(90deg,#3a86ff,#4cc9f0);background:linear-gradient(90deg,var(--accent) 0,var(--accent2) 100%);border-radius:6px;height:100%}.accuracy-highlights{grid-gap:15px;display:grid;gap:15px;grid-template-columns:1fr 1fr}.accuracy-card{align-items:center;background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;display:flex;flex-direction:column;justify-content:center;padding:15px;text-align:center}.accuracy-card.best{border-left:4px solid #3a86ff;border-left:4px solid var(--accent)}.accuracy-card.worst{border-left:4px solid #f72585}.accuracy-card-title{color:#aaa;color:var(--text-secondary);font-size:.8rem;letter-spacing:.5px;margin-bottom:5px;text-transform:uppercase}.accuracy-card-value{font-size:1.2rem;font-weight:600;margin-bottom:5px}.accuracy-card-stat{font-size:1.5rem;font-weight:700}.accuracy-card-stat,.accuracy-card.best .accuracy-card-stat{color:#3a86ff;color:var(--accent)}.accuracy-card.worst .accuracy-card-stat{color:#f72585}.accuracy-table{border-collapse:collapse;width:100%}.season-stats-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.season-progress-container{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;padding:20px}.season-progress-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.season-stage{font-size:1.2rem;font-weight:600}.progress-percentage{color:#3a86ff;color:var(--accent);font-size:1.2rem;font-weight:700}.season-progress{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:6px;height:12px;margin-bottom:20px;overflow:hidden;width:100%}.season-details-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(3,1fr)}.season-detail-item{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:8px;padding:15px;text-align:center}.detail-value{font-size:1.5rem;font-weight:700;margin-bottom:5px}.detail-label{color:#aaa;color:var(--text-secondary);font-size:.8rem;letter-spacing:.5px;text-transform:uppercase}.momentum-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:20px}.momentum-column{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;padding:20px}.momentum-column-title{align-items:center;display:flex;font-size:1.1rem;font-weight:600;justify-content:center;margin-bottom:15px;text-align:center}.momentum-icon{font-size:1.3rem;margin-right:10px}.momentum-icon.positive{color:#06d6a0}.momentum-icon.negative{color:#ef476f}.momentum-icon.neutral{color:#aaa;color:var(--text-secondary)}.momentum-teams-list{display:flex;flex-direction:column;gap:10px}.team-momentum-item{align-items:center;background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:6px;display:flex;padding:10px;transition:transform .2s ease}.team-momentum-item:hover{transform:translateX(5px)}.team-momentum-position{align-items:center;display:flex;margin-right:15px;min-width:80px}.current-position{font-size:1.2rem;font-weight:700}.direction-arrow{font-size:1.2rem;margin:0 5px}.predicted-position{color:#aaa;color:var(--text-secondary);font-size:1rem}.team-details{flex:1 1}.momentum-value{border-radius:4px;font-size:.8rem;font-weight:700;padding:5px 10px}.positive-momentum .momentum-value{background-color:#06d6a033;color:#06d6a0}.negative-momentum .momentum-value{background-color:#ef476f33;color:#ef476f}.neutral-momentum .momentum-value{background-color:#aaa3;color:#aaa;color:var(--text-secondary)}.no-momentum-data{color:#aaa;color:var(--text-secondary);font-style:italic;padding:20px;text-align:center}.on-target-teams{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;margin-top:20px;padding:20px}.on-target-title{align-items:center;font-size:1.1rem;font-weight:600;margin-bottom:15px;text-align:center}.on-target-list,.on-target-title{display:flex;justify-content:center}.on-target-list{flex-wrap:wrap;gap:10px}.on-target-team{align-items:center;background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:20px;display:flex;padding:8px 12px}.on-target-team .team-logo-placeholder,.on-target-team img{margin-right:8px}@media (max-width:768px){.accuracy-highlights,.accuracy-overview,.momentum-grid,.season-details-grid{grid-template-columns:1fr}.accuracy-highlights{gap:10px}.team-momentum-item{align-items:flex-start;flex-direction:column;gap:10px}.team-momentum-position{justify-content:center;margin-right:0;width:100%}.team-details{width:100%}.momentum-value{align-self:flex-end}}.user-comparison-controls{display:flex;gap:30px;justify-content:center;margin-bottom:30px}.select-wrapper{display:flex;flex-direction:column;min-width:200px}.select-wrapper label{color:#aaa;color:var(--text-secondary);font-size:.9rem;margin-bottom:8px}.user-select{-webkit-appearance:none;appearance:none;background-color:#252525;background-color:var(--bg-tertiary);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23aaa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:16px;border:1px solid #333;border:1px solid var(--border-color);border-radius:6px;color:#fff;color:var(--text-primary);cursor:pointer;font-size:1rem;padding:10px 15px}.user-select:focus{border-color:#3a86ff;border-color:var(--accent);box-shadow:0 0 0 2px #3a86ff33;outline:none}.user-select:disabled{cursor:not-allowed;opacity:.6}.no-comparison-data{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;color:#aaa;color:var(--text-secondary);font-style:italic;padding:30px;text-align:center}.comparison-results{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr}.similarity-meter{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;display:flex;justify-content:space-between;padding:20px}.similarity-percentage{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:20px}.percentage-value{color:#3a86ff;color:var(--accent);font-size:3rem;font-weight:700}.percentage-label{color:#aaa;color:var(--text-secondary);font-size:.9rem;letter-spacing:1px;text-transform:uppercase}.similarity-details{display:flex;flex-direction:column;gap:15px;justify-content:center}.similarity-stat{background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:6px;min-width:200px;padding:15px}.stat-label{color:#aaa;color:var(--text-secondary);font-size:.8rem;margin-bottom:5px}.stat-value{font-size:1.2rem;font-weight:600}.biggest-differences{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;padding:20px}.differences-title{font-size:1.1rem;font-weight:600;margin-bottom:15px;text-align:center}.differences-table-wrapper{overflow-x:auto}.differences-table{border-collapse:collapse;width:100%}.differences-table th{background-color:#1e1e1e;background-color:var(--bg-secondary);font-weight:600;padding:10px 15px;text-align:left}.differences-table td{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);padding:10px 15px}.difference-value{color:#ef476f;font-weight:600}@media (max-width:768px){.user-comparison-controls{flex-direction:column;gap:15px}.similarity-meter{align-items:center;flex-direction:column;gap:20px}.similarity-details{width:100%}}.statistics-title{margin:-30px -20px 20px}.tab-container{border-bottom:1px solid #333;border-bottom:1px solid var(--border-color);display:flex;gap:2px;margin-bottom:20px;margin-top:-10px;padding-bottom:0}.tab-button{background-color:#252525;border-radius:4px 4px 0 0;color:#aaa;font-size:.9rem;padding:10px 16px;transition:all .2s ease}.tab-button:hover{background-color:#1e1e1e;background-color:var(--bg-secondary);color:#fff;color:var(--text-primary)}.tab-button.active{background-color:#3a86ff;font-weight:600}.tab-content{animation:fadeIn .3s ease}.combined-table .performance-index{color:#3a86ff;color:var(--accent);font-weight:700}.explanation-box{background-color:#252525;background-color:var(--bg-tertiary);border-left:4px solid #3a86ff;border-left:4px solid var(--accent);border-radius:8px;margin-top:20px;padding:15px}.explanation-box h3{color:#fff;color:var(--text-primary);font-size:1rem;margin-bottom:8px}.explanation-box p{color:#aaa;color:var(--text-secondary);font-size:.9rem;line-height:1.5}@media (max-width:768px){.tab-container{flex-wrap:wrap}.tab-button{flex:1 0 auto;font-size:.8rem;padding:8px 10px;text-align:center}.combined-table td:nth-child(4),.combined-table td:nth-child(6),.combined-table th:nth-child(4),.combined-table th:nth-child(6){display:none}}.team-logo{background-color:#ffffff1a;border-radius:50%;height:24px;margin-right:8px;object-fit:contain;padding:2px;vertical-align:middle;width:24px}.team-logo-small{height:16px;width:16px}.team-logo-big,.team-logo-small{background-color:#ffffff1a;border-radius:50%;margin-left:4px;object-fit:contain;padding:1px;vertical-align:middle}.team-logo-big{height:28px;width:28px}.team-logo-placeholder{align-items:center;background-color:#3a86ff;background-color:var(--accent);border-radius:50%;color:#fff;display:inline-flex;font-size:10px;font-weight:700;height:24px;justify-content:center;margin-right:8px;width:24px}.team-logo-placeholder-small{height:16px;width:16px}.team-logo-placeholder-big,.team-logo-placeholder-small{align-items:center;background-color:#3a86ff;background-color:var(--accent);border-radius:50%;color:#fff;display:inline-flex;font-size:8px;font-weight:700;justify-content:center;margin-left:4px}.team-logo-placeholder-big{height:28px;width:28px}.user-header{align-items:center;display:flex;justify-content:center}.user-name{margin-right:4px}.supported-team{align-items:center;display:inline-flex}.participant-with-team{align-items:center;display:flex}.participant-name{margin-right:5px}.supported-team-icon{align-items:center;display:inline-flex}.supported-team-cell{box-shadow:inset 0 0 0 1px gold!important;position:relative}.supported-team-cell:before{color:gold;content:"♥";font-size:8px;position:absolute;right:3px;top:3px}.fan-loyalty{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;margin-top:20px;padding:15px}.fan-loyalty-title{align-items:center;display:flex;font-size:1.1rem;font-weight:600;margin-bottom:10px}.fan-loyalty-icon{font-size:1.2rem;margin-right:8px}.loyalty-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}.loyalty-item{align-items:center;background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:8px;display:flex;padding:8px 12px}.loyalty-fan-name{margin-right:8px}@media (max-width:768px){.user-header{flex-direction:column}.supported-team{margin-top:4px}.participant-with-team{flex-direction:column}.supported-team-icon{margin-top:4px}}.stats-category-tabs{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:20px}.stats-tab{align-items:center;background-color:#252525;background-color:var(--bg-tertiary);border:none;border-radius:20px;color:#aaa;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;font-size:.9rem;justify-content:center;min-width:120px;padding:8px 15px;transition:all .2s ease}.stats-tab:hover{background-color:#1e1e1e;background-color:var(--bg-secondary);transform:translateY(-2px)}.stats-tab.active{background-color:#3a86ff;background-color:var(--accent);box-shadow:0 4px 8px #3a86ff4d;color:#fff}.tab-icon{font-size:1rem}.fun-stats-grid{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.compact-fun-stat-card{align-items:flex-start;background-color:#252525;background-color:var(--bg-tertiary);border-left:3px solid #0000;border-radius:8px;display:flex;height:100%;overflow:hidden;padding:15px;position:relative;transition:transform .3s ease,box-shadow .3s ease}.compact-fun-stat-card:hover{box-shadow:0 8px 16px #0003;transform:translateY(-5px)}.fun-stat-icon{font-size:1.8rem;margin-right:12px;margin-top:2px;opacity:.9}.fun-stat-title{color:#aaa;color:var(--text-secondary);font-size:.85rem;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.fun-stat-value{line-height:1.2;margin-bottom:4px}.fun-stat-description{color:#aaa;color:var(--text-secondary);font-size:.8rem;line-height:1.3}.no-stats-message{background-color:#252525;background-color:var(--bg-tertiary);border-radius:8px;color:#aaa;color:var(--text-secondary);font-style:italic;grid-column:1/-1;padding:30px;text-align:center}@media (max-width:768px){.stats-category-tabs{gap:8px}.stats-tab{font-size:.8rem;min-width:auto;padding:8px 10px}.tab-icon{margin-right:5px}.tab-text{font-size:.75rem}.fun-stats-grid{grid-template-columns:1fr}}.compact-fun-stat-card:first-child{border-left-color:#3a86ff;border-left-color:var(--accent)}.compact-fun-stat-card:first-child .fun-stat-value{color:#3a86ff;color:var(--accent)}.compact-fun-stat-card:nth-child(2){border-left-color:#4cc9f0;border-left-color:var(--accent2)}.compact-fun-stat-card:nth-child(2) .fun-stat-value{color:#4cc9f0;color:var(--accent2)}.compact-fun-stat-card:nth-child(3){border-left-color:#7209b7;border-left-color:var(--accent3)}.compact-fun-stat-card:nth-child(3) .fun-stat-value{color:#7209b7;color:var(--accent3)}.compact-fun-stat-card:nth-child(4){border-left-color:#f72585}.compact-fun-stat-card:nth-child(4) .fun-stat-value{color:#f72585}.compact-fun-stat-card:nth-child(5){border-left-color:#4361ee}.compact-fun-stat-card:nth-child(5) .fun-stat-value{color:#4361ee}.compact-fun-stat-card:nth-child(6){border-left-color:#4cc9f0}.compact-fun-stat-card:nth-child(6) .fun-stat-value{color:#4cc9f0}.compact-fun-stat-card:nth-child(7){border-left-color:#f77f00}.compact-fun-stat-card:nth-child(7) .fun-stat-value{color:#f77f00}.compact-fun-stat-card:nth-child(8){border-left-color:#7209b7}.compact-fun-stat-card:nth-child(8) .fun-stat-value{color:#7209b7}.multi-people{align-items:center;display:flex;flex-wrap:wrap}.person-with-team{align-items:center;display:inline-flex;margin-bottom:4px}.person-with-team span{white-space:nowrap}.separator{margin:0 2px}.team-with-logo{margin-bottom:4px}.team-with-logo span{white-space:nowrap}.fun-stat-value{line-height:1.3;margin-bottom:6px}.compact-fun-stat-card{min-height:140px}@media (max-width:768px){.person-with-team,.team-with-logo{margin-bottom:3px}.fun-stat-value{font-size:1.1rem}}.multi-teams{align-items:center;display:flex;flex-wrap:wrap}.team-with-logo{align-items:center;display:inline-flex;margin-right:0}.separator{color:#aaa;color:var(--text-secondary);margin:0 4px;white-space:nowrap}.fun-stat-content{flex:1 1;min-height:100px}.fun-stat-value{align-items:center;display:flex;flex-wrap:wrap;font-size:1.2rem;font-weight:700;line-height:1.4;margin-bottom:8px;overflow-wrap:anywhere;word-break:normal}.vertical-people-list,.vertical-teams-list{display:flex;flex-direction:column;gap:6px;width:100%}.vertical-person-item,.vertical-team-item{align-items:center;background-color:#1e1e1e;background-color:var(--bg-secondary);border-radius:6px;display:flex;padding:6px 10px;transition:transform .2s ease,background-color .2s ease}.vertical-person-item:hover,.vertical-team-item:hover{background-color:#303030;background-color:var(--row-hover);transform:translateX(3px)}.person-with-team,.team-with-logo{align-items:center;display:flex;width:100%}.team-with-logo .team-logo{height:20px;margin-right:8px;width:20px}.person-with-team .team-logo-small{height:16px;margin-left:8px;width:16px}.compact-fun-stat-card{min-height:180px}.fun-stat-value{margin-bottom:10px}@media (max-width:768px){.vertical-person-item,.vertical-team-item{padding:4px 8px}.compact-fun-stat-card{min-height:160px}}.vertical-person-item:first-child,.vertical-team-item:first-child{border-left:2px solid #3a86ff;border-left:2px solid var(--accent)}.vertical-person-item:nth-child(2),.vertical-team-item:nth-child(2){border-left:2px solid #4cc9f0;border-left:2px solid var(--accent2)}.vertical-person-item:nth-child(3),.vertical-team-item:nth-child(3){border-left:2px solid #7209b7;border-left:2px solid var(--accent3)}.vertical-person-item:nth-child(4),.vertical-team-item:nth-child(4){border-left:2px solid #f72585}.vertical-person-item:nth-child(5),.vertical-team-item:nth-child(5){border-left:2px solid #4361ee}.vertical-person-item:nth-child(6),.vertical-team-item:nth-child(6){border-left:2px solid #4cc9f0}.vertical-info-list{display:flex;flex-direction:column;gap:8px;width:100%}.vertical-info-item{background-color:#1e1e1e;background-color:var(--bg-secondary);border-left:2px solid #3a86ff;border-left:2px solid var(--accent);border-radius:6px;display:flex;flex-direction:column;padding:8px 12px}.info-label{color:#aaa;color:var(--text-secondary);font-size:.8rem;margin-bottom:2px}.info-value{font-size:1rem;font-weight:600}.rivalry-teams-container{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.rivalry-team{background-color:#ffffff0d;border-radius:4px;padding:4px 8px}.rivalry-team,.rivalry-vs{align-items:center;display:flex}.rivalry-vs{color:#3a86ff;color:var(--accent);font-weight:700;justify-content:center;margin:0 12px 0 2px}.rivalry-teams{border-left-color:#3a86ff;border-left-color:var(--accent)}.rivalry-description{border-left-color:#4cc9f0;border-left-color:var(--accent2)}.vertical-info-item:first-child{border-left-color:#3a86ff;border-left-color:var(--accent)}.vertical-info-item:nth-child(2){border-left-color:#4cc9f0;border-left-color:var(--accent2)}@media (max-width:768px){.info-value{font-size:.95rem}.info-label{font-size:.75rem}.header-title{font-size:1.8rem;padding:0 10px}.header-subtitle{font-size:1rem}.container{padding:12px}.section{margin-bottom:20px;padding:15px}.section-title{flex-wrap:wrap;font-size:1.2rem;margin:-15px -15px 15px;padding:15px}.compact-stats-container{flex-direction:column}.compact-stat-item{margin-bottom:5px;max-width:100%;padding:8px}.compact-stat-item:not(:last-child):after{bottom:0;height:1px;right:10%;top:auto;width:80%}.compact-fun-stat-card{min-height:0;min-height:auto;padding:12px}.fun-stat-icon{font-size:1.5rem;margin-right:10px}.fun-stat-value{font-size:1.1rem}.table-wrapper{border-radius:6px;position:relative}.mobile-scroll-indicator{background-color:#3a86ffcc;border-radius:20px;bottom:10px;box-shadow:0 2px 6px #0000004d;color:#fff;font-size:.8rem;padding:5px 10px;pointer-events:none;position:absolute;right:10px;transition:opacity .3s ease;z-index:100}#current-leaderboard-table td:nth-child(4),#current-leaderboard-table th:nth-child(4),.accuracy-table td:nth-child(4),.accuracy-table th:nth-child(4),.bias-table td:nth-child(3),.bias-table th:nth-child(3){display:none}.team-name-with-logo span{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tab-container{flex-wrap:nowrap;margin-bottom:15px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}}@media (max-width:768px){.tab-container::-webkit-scrollbar{display:none}.tab-button{flex-shrink:0;font-size:.85rem;padding:8px 12px;white-space:nowrap}.mobile-collapsible .section-title{align-items:center;cursor:pointer;display:flex;justify-content:space-between}.mobile-collapsible .section-title:after{content:"▼";font-size:.8rem;transition:transform .3s ease}.mobile-collapsible.collapsed .section-title:after{transform:rotate(-90deg)}.mobile-collapsible.collapsed .section-content{display:none}.team-name-with-logo{padding:8px 0}tbody tr td{padding:8px 4px}@media (hover:none){.compact-fun-stat-card:hover,.team-highlight:after,.team-name-with-logo:hover{transform:none}.touching{opacity:.9;transform:scale(.98)}.stats-tab,.tab-button{padding-bottom:10px;padding-top:10px}}.accuracy-overview,.momentum-grid{gap:15px}.season-details-grid{gap:10px}.mini-bar-text{font-size:10px}footer{font-size:.8rem;padding:15px 10px}.stats-category-tabs{flex-wrap:nowrap;margin-bottom:15px;overflow-x:auto;padding-bottom:5px;scrollbar-width:none}.stats-category-tabs::-webkit-scrollbar{display:none}.stats-tab{flex-shrink:0;font-size:.8rem;min-width:auto;padding:8px 12px;white-space:nowrap}.mobile-nav{display:none}@media (max-width:576px){.mobile-nav{background-color:#111;background-color:var(--header-bg);bottom:0;box-shadow:0 -2px 10px #0003;display:flex;left:0;padding-bottom:env(safe-area-inset-bottom,0);position:fixed;right:0;z-index:1000}.mobile-nav-item{align-items:center;color:#aaa;color:var(--text-secondary);display:flex;flex:1 1;flex-direction:column;font-size:.7rem;padding:8px 5px;text-decoration:none;transition:color .2s ease}.mobile-nav-item.active{color:#3a86ff;color:var(--accent)}.mobile-nav-icon{font-size:1.2rem;margin-bottom:4px}.app{padding-bottom:60px}footer{margin-bottom:50px}}}.pull-to-refresh{align-items:center;background-color:#121212;background-color:var(--bg-primary);color:#aaa;color:var(--text-secondary);display:flex;font-size:12px;height:40px;justify-content:center;left:0;position:fixed;right:0;top:0;transform:translateY(-100%);transition:transform .3s ease;z-index:1000}.pull-to-refresh.visible{transform:translateY(0)}.pull-to-refresh.refreshing:after{animation:spin .8s linear infinite;border:2px solid #0000;border-radius:50%;border-top:2px solid var(--accent);content:"";display:inline-block;height:16px;margin-left:8px;width:16px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@supports (padding:max(0px)){.container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.header-title{padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}}@media (max-width:576px){.header-title{font-size:22px}}.display-options{display:flex;justify-content:flex-end;margin-bottom:15px}.toggle-switch-label{align-items:center;cursor:pointer;display:flex;-webkit-user-select:none;user-select:none}.toggle-label{color:#aaa;color:var(--text-secondary);font-size:.9rem;margin-right:10px}.toggle-switch{display:inline-block;height:24px;position:relative;width:50px}.toggle-switch input{height:0;opacity:0;width:0}.toggle-slider{background-color:#252525;background-color:var(--bg-tertiary);border:1px solid #333;border:1px solid var(--border-color);border-radius:24px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.4s}.toggle-slider:before{background-color:#fff;background-color:var(--text-primary);border-radius:50%;bottom:2px;content:"";height:18px;left:3px;position:absolute;transition:.4s;width:18px}input:checked+.toggle-slider{background-color:#3a86ff;background-color:var(--accent);border-color:#3a86ff;border-color:var(--accent)}input:checked+.toggle-slider:before{transform:translateX(25px)}input:focus+.toggle-slider{box-shadow:0 0 1px #3a86ff;box-shadow:0 0 1px var(--accent)}.toggle-switch:hover .toggle-slider{box-shadow:0 0 5px #3a86ff4d}@media (max-width:768px){.display-options{justify-content:flex-start;margin-bottom:10px}.toggle-label{font-size:.8rem}.toggle-switch{height:22px;width:44px}.toggle-slider:before{height:16px;width:16px}input:checked+.toggle-slider:before{transform:translateX(22px)}}.paginated-dashboard{min-height:100vh;padding-bottom:60px;position:relative}.tab-navigation{margin-bottom:30px}.tab-button,.tab-navigation{display:flex;justify-content:center;position:relative}.tab-button{align-items:center;background-color:var(--bg-tertiary);border:none;border-radius:0;color:var(--text-secondary);cursor:pointer;font-size:1rem;font-weight:500;min-width:200px;padding:12px 25px;text-align:center;transition:all .25s ease;z-index:1}.tab-icon{font-size:1.1rem;margin-right:8px}.tab-button:first-child{border-radius:30px 0 0 30px}.tab-button:last-child{border-radius:0 30px 30px 0}.tab-button.active{background-color:var(--accent);box-shadow:0 4px 12px #3a86ff4d;color:#fff;position:relative;transform:translateY(-2px)}.tab-button.active:after{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid var(--accent);bottom:-8px;content:"";height:0;left:50%;position:absolute;transform:translateX(-50%);width:0}.page-indicator{display:none;gap:8px}.page-dot{background-color:var(--bg-tertiary);border-radius:50%;cursor:pointer;height:12px;transition:all .2s ease;width:12px}.page-dot.active{background-color:var(--accent);transform:scale(1.2)}.page-content{animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.page-title{animation:slideIn .4s ease;color:var(--text-primary);font-size:1.8rem;margin-bottom:20px;padding:0 20px;text-align:center}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.page-component{animation:slideUp .5s ease;animation-fill-mode:both;margin-bottom:30px}.page-component:nth-child(2){animation-delay:.1s}.page-component:nth-child(3){animation-delay:.2s}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.mobile-page-navigation{background-color:var(--bg-secondary);bottom:0;box-shadow:0 -2px 10px #0003;display:none;left:0;padding:10px 10px calc(10px + env(safe-area-inset-bottom, 0px));position:fixed;right:0;z-index:100}.mobile-nav-button{align-items:center;background-color:var(--bg-tertiary);border:none;border-radius:20px;color:var(--text-secondary);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font-size:.9rem;justify-content:center;margin:0 5px;padding:10px;transition:all .2s ease}.nav-icon{font-size:1.2rem;margin-bottom:3px}.nav-text{font-size:.8rem}.mobile-nav-button.active{background-color:var(--accent);box-shadow:0 2px 6px #3a86ff4d;color:#fff}@media (max-width:768px){.tab-navigation{margin-bottom:20px}.tab-button{font-size:.9rem;min-width:140px;padding:10px 15px}.tab-icon{margin-right:5px}.page-title{font-size:1.5rem;margin-bottom:15px}.mobile-page-navigation{display:flex;justify-content:space-around}}@media (max-width:480px){.tab-button{font-size:.8rem;min-width:120px;padding:8px 10px}.page-title{font-size:1.3rem}}.swipe-hint{animation:pulse 2s infinite;color:var(--text-secondary);display:none;font-size:.8rem;margin-bottom:15px;margin-top:-10px;text-align:center}@keyframes pulse{0%{opacity:.5}50%{opacity:1}to{opacity:.5}}@media (max-width:768px){.swipe-hint{display:block}}
/*# sourceMappingURL=main.455a29e4.css.map*/