.prediction-league-home,.prediction-league-predictions,.prediction-league-leaderboard,.prediction-league-my-leagues{max-width:1200px;margin:0 auto}.pl-header{text-align:center;margin-bottom:30px}.pl-title{font-size:2.5em;margin:0 0 10px}.pl-season{font-size:1.2em;color:#666}.pl-current-gameweek{background:#f5f5f5;padding:20px;border-radius:8px;margin-bottom:30px;text-align:center}.pl-current-gameweek h2{margin-top:0}.pl-button{display:inline-block;padding:12px 24px;background:#0073aa;color:#fff;text-decoration:none;border-radius:4px;border:none;cursor:pointer;font-size:16px;transition:background .3s}.pl-button:hover{background:#005a87}.pl-match-item.pl-prediction-saved{border-left:4px solid #28a745 !important;background:#f0f9f0 !important;transition:all .3s ease;animation:pl-saved-pulse .5s ease}@keyframes pl-saved-pulse{0%{box-shadow:0 0 0 0 rgba(40,167,69,.4)}50%{box-shadow:0 0 0 8px rgba(40,167,69,0)}100%{box-shadow:0 0 0 0 rgba(40,167,69,0)}}.pl-saved-btn{background:#28a745 !important;color:#fff !important}.pl-saved-btn:hover{background:#218838 !important}.pl-button-primary{background:#00a32a}.pl-button-primary:hover{background:#007a20}.pl-leaderboard-section{margin-bottom:30px}.pl-user-position{background:#fff3cd;padding:15px;border-radius:4px;margin-bottom:20px}.pl-leaderboard-list{list-style:none;padding:0;margin:0}.pl-leaderboard-item{display:flex;align-items:center;padding:12px;border-bottom:1px solid #eee}.pl-leaderboard-item:first-child{background:gold;font-weight:700}.pl-leaderboard-item:nth-child(2){background:silver}.pl-leaderboard-item:nth-child(3){background:#cd7f32}.pl-rank{font-weight:700;width:50px}.pl-avatar{margin-right:10px}.pl-name{flex:1}.pl-points{font-weight:700;color:#0073aa}.pl-predictions-header{margin-bottom:30px}.pl-deadline{color:#666}.pl-deadline-passed{color:#d63638;font-weight:700}.pl-matches-list{margin-bottom:30px}.pl-matches-group-header{background:linear-gradient(135deg,#0073aa 0%,#005177 100%);color:#fff;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;border-bottom:2px solid #005177}.pl-matches-group-title{margin:0;font-size:1.2em;font-weight:600;color:#fff;flex:1;min-width:200px}.pl-matches-group-deadline{font-size:.9em;color:rgba(255,255,255,.9);display:flex;align-items:center;gap:6px}.pl-matches-group-deadline strong{color:#fff;font-weight:600}.pl-matches-group-count{font-size:.85em;color:rgba(255,255,255,.8);background:rgba(255,255,255,.2);padding:4px 12px;border-radius:12px;font-weight:500}.pl-matches-group-content .pl-match-item{margin-bottom:16px;border:1px solid var(--theme-palette-color-8)}.pl-matches-group-content .pl-match-item:last-child{margin-bottom:0}.pl-matches-group[data-period-type=competition_matchweek] .pl-matches-group-header{background:linear-gradient(135deg,#0073aa 0%,#005177 100%);border-left:4px solid gold}.pl-matches-group[data-period-type=league_round] .pl-matches-group-header{background:linear-gradient(135deg,#2271b1 0%,#135e96 100%)}.pl-matches-group[data-period-type=matchday] .pl-matches-group-header{background:linear-gradient(135deg,#00a32a 0%,#007a20 100%)}.pl-matches-group[data-period-type=date] .pl-matches-group-header{background:linear-gradient(135deg,#646970 0%,#50575e 100%)}.pl-match-item{background:var(--theme-palette-color-5);border:1px solid #e0e0e0;border-radius:12px;padding:16px;margin-bottom:16px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:box-shadow .2s}.pl-match-item:hover{box-shadow:0 4px 8px rgba(0,0,0,.1)}.pl-match-header-compact{margin-bottom:12px;padding-bottom:12px;border-bottom:1px solid var(--theme-palette-color-8)}.pl-match-teams-compact{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.pl-team-compact{display:flex;align-items:center;flex:1;font-weight:600;font-size:.95em;flex-direction:row-reverse}.pl-team-home{justify-content:flex-start}.pl-team-away{justify-content:flex-start;flex-direction:row}.pl-match-link{display:flex;align-items:center;justify-content:space-between;width:100%;text-decoration:none;color:inherit;transition:opacity .2s}.pl-match-link:hover{opacity:.8}.pl-team-logo-compact{width:36px;height:36px;margin:0 8px;object-fit:contain;flex-shrink:0;border-radius:4px;background:#f5f5f5;padding:2px}.pl-team-logo-placeholder{width:36px;height:36px;margin:0 8px;border-radius:4px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9em;flex-shrink:0}.pl-team-name-compact{max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.pl-vs-compact{margin:0 12px;font-weight:600;color:#999;font-size:.85em}.pl-match-meta-compact{display:flex;justify-content:space-between;align-items:center;font-size:.8em;color:#888;margin-top:4px}.pl-match-date-compact{font-weight:500}.pl-match-competition-compact{font-size:.85em}.pl-competition-link{text-decoration:none;color:#0073aa;transition:color .2s}.pl-competition-link:hover{color:#005a87;text-decoration:underline}.pl-prediction-inputs{display:flex;align-items:center;justify-content:space-between}.pl-prediction-markets-compact{margin-top:12px}.pl-markets-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:12px}.pl-market-compact{display:flex;flex-direction:column;gap:6px}.pl-market-label-compact{display:flex;flex-direction:column;gap:2px;margin-bottom:8px}.pl-market-title-compact{font-size:.85em;font-weight:600;color:var(--theme-palette-color-3);line-height:1.2}.pl-market-subtitle-compact{font-size:.7em;font-weight:500;color:#888;text-transform:uppercase;letter-spacing:.5px}.pl-market-buttons-compact{display:flex;gap:4px}.pl-market-btn-compact{flex:1;padding:10px 6px;border:2px solid var(--theme-palette-color-8);background:var(--theme-palette-color-6);color:#fff;border-radius:6px;cursor:pointer;font-weight:600;font-size:.85em;transition:all .2s;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:60px;min-width:0}.pl-market-btn-compact:hover{border-color:#0073aa;background:var(--theme-palette-color-7);transform:translateY(-1px)}.pl-market-btn-compact.active{background:#0073aa;color:#fff;border-color:#0073aa;box-shadow:0 2px 4px rgba(0,115,170,.3)}.pl-btn-label-compact{font-size:.75em;font-weight:500;line-height:1.2;display:block}.pl-btn-value-compact{font-size:1.1em;font-weight:700;line-height:1;display:block}.pl-market-btn-compact.active .pl-btn-label-compact,.pl-market-btn-compact.active .pl-btn-value-compact{color:#fff}.pl-bonus-row{display:flex;justify-content:space-between;align-items:center;padding-top:12px;border-top:1px dashed var(--theme-palette-color-8);gap:16px}.pl-exact-score-compact{display:flex;align-items:center;gap:10px;flex:1}.pl-bonus-label{font-size:.8em;font-weight:600;color:#666;white-space:nowrap}.pl-score-input-compact{display:flex;align-items:center;gap:4px}.pl-score-compact{width:45px;padding:6px 8px;text-align:center;border:2px solid #e0e0e0;border-radius:6px;font-size:.95em;font-weight:600;transition:border-color .2s}.pl-score-compact:focus{outline:none;border-color:#0073aa;box-shadow:0 0 0 3px rgba(0,115,170,.1)}.pl-separator-compact{font-weight:700;color:#999;font-size:1.1em}.pl-joker-label-compact{display:flex;align-items:center;gap:6px;cursor:pointer;padding:8px 12px;border:2px solid #ff6b00;border-radius:8px;background:#fff;transition:all .2s;white-space:nowrap}.pl-joker-label-compact:hover{background:#fff5e6;border-color:#f80}.pl-joker-label-compact input[type=radio]:checked+.pl-joker-icon+.pl-joker-text-compact,.pl-joker-label-compact input[type=radio]:checked~.pl-joker-text-compact{font-weight:700}.pl-joker-label-compact input[type=radio]:checked~*{color:#ff6b00}.pl-joker-icon{font-size:1.2em}.pl-joker-text-compact{font-size:.85em;font-weight:600;color:#ff6b00}.pl-prediction-markets-display{display:flex;flex-direction:column;gap:8px}.pl-market-result{padding:5px 10px;background:#f5f5f5;border-radius:4px;font-size:.9em}.pl-score-input{display:flex;align-items:center}.pl-score{width:60px;padding:8px;text-align:center;border:1px solid #ddd;border-radius:4px;font-size:18px}.pl-separator{margin:0 10px;font-size:18px;font-weight:700}.pl-joker-label{display:flex;align-items:center;cursor:pointer}.pl-joker-label input[type=radio]{margin-right:8px}.pl-joker-text{font-weight:700;color:#ff6b00}.pl-prediction-display-compact{margin-top:12px}.pl-prediction-markets-display-compact{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.pl-display-market{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f5f5;border-radius:6px;font-size:.85em}.pl-display-label{font-weight:600;color:#666;font-size:.8em}.pl-display-value{font-weight:700;color:var(--theme-palette-color-3)}.pl-display-score .pl-display-value{color:#0073aa;font-size:1.1em}.pl-joker-badge-compact{background:#ff6b00;color:#fff;padding:4px 10px;border-radius:6px;font-size:.85em;font-weight:600}.pl-no-prediction{color:#999;font-style:italic;padding:12px;text-align:center}.pl-predictions-actions{text-align:center;margin-top:30px}.pl-help-text{margin-top:15px;font-size:.9em;color:#666}.pl-edit-info{margin-top:8px;font-size:.85em;color:#0073aa;font-style:italic}.pl-leagues-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-bottom:30px}.pl-league-item{background:#fff;border:1px solid #ddd;border-radius:8px;padding:20px}.pl-league-item h3{margin-top:0}.pl-league-global{background:#f0f8ff;border-color:#0073aa}.pl-league-meta{font-size:.9em;color:#666;margin:10px 0}.pl-invite-code{background:#f5f5f5;padding:10px;border-radius:4px;font-family:monospace}.pl-league-actions{text-align:center;margin-top:30px}.pl-league-actions .pl-button{margin:0 10px}.pl-current-user{background:#fff3cd;font-weight:700}@media (max-width:768px){.pl-match-teams-compact{flex-direction:column;gap:8px}.pl-team-compact{justify-content:center}.pl-team-away{flex-direction:row}.pl-markets-row{grid-template-columns:1fr;gap:10px}.pl-bonus-row{flex-direction:column;align-items:stretch;gap:10px}.pl-exact-score-compact{justify-content:space-between}.pl-joker-label-compact{justify-content:center}.pl-leagues-list{grid-template-columns:1fr}.pl-prediction-teams{flex-direction:column}.pl-prediction-team{justify-content:center !important;text-align:center !important}}.prediction-league-my-predictions{margin:20px 0}.pl-my-predictions-header{margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #e0e0e0}.pl-my-predictions-header h2{margin:0 0 15px;font-size:1.8em}.pl-predictions-filters{display:flex;gap:10px;flex-wrap:wrap}.pl-filter-btn{padding:8px 16px;background:#f5f5f5;color:var(--theme-palette-color-3);text-decoration:none;border-radius:5px;border:2px solid #e0e0e0;transition:all .2s;font-weight:500}.pl-filter-btn:hover{background:#e0e0e0;border-color:#0073aa}.pl-filter-btn.active{background:#0073aa;color:#fff;border-color:#0073aa}.pl-no-predictions{text-align:center;padding:40px 20px;color:#666}.pl-predictions-list{display:flex;flex-direction:column;gap:20px}.pl-prediction-item{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05);transition:all .3s}.pl-prediction-item:hover{box-shadow:0 4px 8px rgba(0,0,0,.1);border-color:#0073aa}.pl-prediction-item.finished{border-left:4px solid #28a745}.pl-prediction-item.live{border-left:4px solid #ffc107;animation:pulse-live 2s infinite}.pl-prediction-item.upcoming{border-left:4px solid #0073aa}@keyframes pulse-live{0%,100%{opacity:1}50%{opacity:.7}}.pl-prediction-match-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px;flex-wrap:wrap;gap:10px}.pl-prediction-competition{font-weight:600;color:#0073aa}.pl-prediction-competition a{color:#0073aa;text-decoration:none}.pl-prediction-competition a:hover{text-decoration:underline}.pl-prediction-match-date{color:#666;font-size:.9em}.pl-match-status{padding:4px 12px;border-radius:4px;font-size:.85em;font-weight:600;text-transform:uppercase}.pl-match-status.pl-match-live{background:#ffc107;color:#000;animation:blink 1s infinite}.pl-match-status.pl-match-finished{background:#28a745;color:#fff}.pl-match-status.pl-match-upcoming{background:#0073aa;color:#fff}@keyframes blink{0%,100%{opacity:1}50%{opacity:.5}}.pl-prediction-teams{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:15px;flex-wrap:wrap}.pl-prediction-match-link{text-decoration:none;color:inherit;display:flex;align-items:center;justify-content:space-between;width:100%;gap:15px}.pl-prediction-team{display:flex;align-items:center;gap:10px;flex:1;min-width:120px}.pl-prediction-team-home{justify-content:flex-end;text-align:right}.pl-prediction-team-away{justify-content:flex-start;text-align:left}.pl-prediction-team .pl-team-logo{width:40px;height:40px;object-fit:contain}.pl-prediction-team .pl-team-logo-placeholder{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:var(--theme-palette-color-8);border-radius:50%;font-weight:600;color:#666}.pl-prediction-score{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:120px}.pl-actual-score{display:flex;align-items:center;gap:5px;font-size:1.3em;font-weight:700;color:#28a745}.pl-predicted-score{display:flex;align-items:center;gap:5px;font-size:.9em;color:#666}.pl-predicted-label{font-size:.8em;margin-right:5px}.pl-score-home,.pl-score-away{font-weight:600}.pl-score-separator{margin:0 3px}.pl-vs{font-size:.9em;color:#999;font-weight:500}.pl-prediction-markets{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:15px}.pl-market-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#f5f5f5;border-radius:6px;font-size:.9em}.pl-market-label{color:#666;font-weight:500}.pl-market-value{font-weight:600;color:var(--theme-palette-color-3)}.pl-market-points{color:#28a745;font-weight:600;margin-left:5px}.pl-joker-badge{background:linear-gradient(135deg,gold 0%,#ffed4e 100%);border:2px solid #ffc107}.pl-joker-icon{font-size:1.1em}.pl-joker-text{font-weight:600;color:var(--theme-palette-color-3)}.pl-prediction-total-points{margin-top:15px;padding-top:15px;border-top:1px solid #e0e0e0;text-align:center;font-size:1.1em}.pl-total-points-value{font-size:1.5em;font-weight:700;color:#28a745;margin-left:10px}.pl-profile-leagues-header,.pl-profile-achievements-header,.pl-profile-stats-header,.pl-profile-recent-header{margin-bottom:20px;padding-bottom:15px;border-bottom:2px solid var(--theme-palette-color-8)}.pl-profile-leagues-header h3,.pl-profile-achievements-header h3,.pl-profile-stats-header h3,.pl-profile-recent-header h3{margin:0;font-size:1.3em;color:var(--theme-palette-color-3)}.pl-leagues-tabs{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:15px}.pl-league-tab{background:linear-gradient(135deg,#fff 0%,#e9ecef 100%);border:2px solid #dee2e6;border-radius:10px;padding:15px;transition:all .3s;cursor:pointer}.pl-league-tab:hover{border-color:#0073aa;box-shadow:0 4px 8px rgba(0,115,170,.2);transform:translateY(-2px)}.pl-league-tab.active{background:linear-gradient(135deg,#0073aa 0%,#005a87 100%);border-color:#0073aa;color:#fff}.pl-league-tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:10px}.pl-league-name{font-weight:600;font-size:.95em;flex:1}.pl-league-tab.active .pl-league-name{color:#fff}.pl-league-rank{text-align:right;font-size:.85em}.pl-rank-number{font-weight:700;font-size:1.2em;display:block}.pl-rank-total{opacity:.8;font-size:.9em}.pl-league-tab-body{display:flex;justify-content:space-between;align-items:center}.pl-league-points{display:flex;flex-direction:column}.pl-points-value{font-size:1.5em;font-weight:700;color:#0073aa}.pl-league-tab.active .pl-points-value{color:#fff}.pl-points-label{font-size:.8em;opacity:.7}.pl-league-stars{display:flex;gap:3px}.pl-star{font-size:1.2em;color:#ddd}.pl-star.active{color:gold}.pl-league-tab.active .pl-star{color:rgba(255,255,255,.5)}.pl-league-tab.active .pl-star.active{color:gold}.pl-add-league-tab{background:var(--theme-palette-color-6);border:2px dashed #dee2e6;display:flex;align-items:center;justify-content:center;min-height:100px}.pl-add-league-link{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;text-decoration:none;color:#666;width:100%;height:100%}.pl-add-league-link:hover{color:#0073aa}.pl-add-icon{font-size:2em;font-weight:300;line-height:1}.pl-add-text{font-size:.9em;font-weight:500}.pl-achievements-scroll{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch;padding-bottom:10px}.pl-achievements-list{display:flex;gap:15px;min-width:min-content}.pl-achievement-item{background:linear-gradient(135deg,#fff9e6 0%,#ffeaa7 100%);border:2px solid gold;border-radius:10px;padding:15px;min-width:200px;display:flex;gap:12px;align-items:flex-start;box-shadow:0 2px 4px rgba(0,0,0,.1)}.pl-achievement-icon{font-size:2em;line-height:1;flex-shrink:0}.pl-achievement-content{flex:1}.pl-achievement-title{font-weight:600;font-size:.95em;margin-bottom:5px;color:#000}.pl-achievement-description{font-size:.85em;color:#666;margin-bottom:5px}.pl-achievement-date{font-size:.75em;color:#999}.pl-stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px}.pl-stats-section h4{margin:0 0 15px;font-size:1.1em;color:#0073aa;padding-bottom:10px;border-bottom:1px solid #e0e0e0}.pl-stat-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid var(--theme-palette-color-8)}.pl-stat-item:last-child{border-bottom:none}.pl-stat-label{color:var(--theme-palette-color-3);font-size:.9em}.pl-stat-value{font-weight:600;color:var(--theme-palette-color-3);text-align:right}.pl-stat-percentage{color:#28a745;font-size:.9em;margin-left:5px}.pl-stat-detail{color:#999;font-size:.85em;font-weight:400;margin-left:5px}.pl-recent-predictions-table{overflow-x:auto}.pl-predictions-table{width:100%;border-collapse:collapse;font-size:.9em;color:var(--theme-palette-color-3);background-color:var(--theme-palette-color-5)}.pl-predictions-table thead{background:var(--theme-palette-color-6)}.pl-predictions-table th{padding:12px;text-align:left;font-weight:600;color:var(--theme-palette-color-3);border-bottom:2px solid #dee2e6}.pl-predictions-table td{padding:12px;border-bottom:1px solid var(--theme-palette-color-8)}.pl-predictions-table tbody tr:hover{background:var(--theme-palette-color-6)}.pl-community-wisdom{margin-top:20px;padding:16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.pl-community-wisdom-widget{margin-top:20px;padding:16px;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.pl-community-header{display:flex;align-items:center;gap:8px;margin-bottom:16px;font-weight:600;font-size:1.1em}.pl-community-icon{font-size:1.3em}.pl-community-title{flex:1}.pl-community-total{font-size:.9em;opacity:.9}.pl-community-market{margin-bottom:16px}.pl-community-label{font-size:.9em;opacity:.9;margin-bottom:8px;display:block}.pl-community-bars{display:flex;gap:8px;margin-bottom:8px}.pl-community-bar-item{flex:1;display:flex;flex-direction:column;gap:4px}.pl-community-bar{width:100%;height:24px;background:rgba(255,255,255,.2);border-radius:12px;overflow:hidden;position:relative}.pl-community-bar-fill{height:100%;background:#28a745;border-radius:12px;transition:width .5s ease;box-shadow:0 2px 4px rgba(0,0,0,.2)}.pl-community-bar-item:first-child .pl-community-bar-fill{background:#28a745}.pl-community-bar-item:nth-child(2) .pl-community-bar-fill{background:#ffc107}.pl-community-bar-item:nth-child(3) .pl-community-bar-fill{background:#dc3545}.pl-community-label-small{font-size:.85em;opacity:.9;text-align:center;font-weight:600}.pl-community-percent{font-size:.9em;font-weight:600;text-align:center}.pl-community-highlight{margin:8px 0 0;padding:8px 12px;background:rgba(255,255,255,.15);border-radius:6px;font-size:.9em;text-align:center}.pl-community-fun-facts{margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.2)}.pl-community-fact{margin:6px 0;font-size:.85em;opacity:.9}.pl-community-fact strong{opacity:1}.pl-match-cell{min-width:200px}.pl-match-teams-mini{display:flex;align-items:center;gap:8px;font-size:.9em}.pl-team-mini{font-weight:500}.pl-vs-mini{color:#999;font-size:.85em}.pl-prediction-cell{font-weight:500}.pl-joker-mini{margin-left:5px;font-size:.9em}.pl-result-cell{text-align:center}.pl-result-cell.correct{color:#28a745}.pl-result-cell.incorrect{color:#dc3545}.pl-result-text{font-weight:600;margin-right:5px}.pl-result-icon{font-weight:700}.pl-result-pending{color:#999}.pl-points-cell{text-align:right;font-weight:600}.pl-points-cell strong{color:#28a745;font-size:1.1em}.pl-pending{color:#999}.pl-date-cell{color:#666;font-size:.85em;white-space:nowrap}@media (max-width:768px){.pl-leagues-tabs{grid-template-columns:1fr}.pl-stats-grid{grid-template-columns:1fr}.pl-predictions-table{font-size:.85em}.pl-predictions-table th,.pl-predictions-table td{padding:8px}.pl-match-cell{min-width:150px}.pl-match-link-mini{text-decoration:none;color:inherit;display:block;transition:all .2s ease}.pl-match-link-mini:hover{opacity:.8}.pl-match-link-mini:hover .pl-match-teams-mini{color:#0073aa;text-decoration:underline}}.pl-registration-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.7);z-index:9998;display:none}.pl-registration-prompt{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:16px;box-shadow:0 10px 40px rgba(0,0,0,.3);z-index:9999;max-width:500px;width:90%;display:none;animation:pl-modal-fade-in .3s ease}@keyframes pl-modal-fade-in{from{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.pl-registration-content{padding:40px 30px;text-align:center;position:relative}.pl-registration-close{position:absolute;top:15px;right:15px;width:30px;height:30px;border-radius:50%;background:var(--theme-palette-color-8);border:none;cursor:pointer;font-size:1.2em;color:#666;display:flex;align-items:center;justify-content:center;transition:all .2s ease;line-height:1}.pl-registration-close:hover{background:#e0e0e0;color:var(--theme-palette-color-3)}.pl-registration-icon{font-size:4em;margin-bottom:20px;animation:pl-bounce 1s ease infinite}@keyframes pl-bounce{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}.pl-registration-title{font-size:1.8em;margin:0 0 15px;color:var(--theme-palette-color-3);font-weight:700}.pl-registration-message{font-size:1.1em;color:#666;margin:0 0 30px;line-height:1.6}.pl-registration-buttons{display:flex;gap:15px;justify-content:center;margin-bottom:20px}.pl-button-login,.pl-button-register{padding:14px 28px;border-radius:8px;text-decoration:none;font-weight:600;font-size:1em;transition:all .3s ease;display:inline-block}.pl-button-login{background:#6c757d;color:#fff;border:2px solid #6c757d}.pl-button-login:hover{background:#5a6268;border-color:#5a6268;color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(108,117,125,.4)}.pl-button-register{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:2px solid transparent}.pl-button-register:hover{background:linear-gradient(135deg,#5568d3 0%,#653a8f 100%);color:#fff;transform:translateY(-2px);box-shadow:0 4px 12px rgba(102,126,234,.4)}.pl-registration-note{font-size:.9em;color:#999;margin:0;font-style:italic}@media (max-width:768px){.pl-registration-prompt{width:95%;max-width:none}.pl-registration-content{padding:30px 20px}.pl-registration-title{font-size:1.5em}.pl-registration-buttons{flex-direction:column}.pl-button-login,.pl-button-register{width:100%}}.pl-current-matchday{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border-radius:12px;padding:24px;margin-bottom:30px;color:#fff;box-shadow:0 4px 12px rgba(102,126,234,.3)}.pl-current-matchday-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.pl-current-matchday-header h2{margin:0;font-size:1.5em;color:#fff}.pl-matchday-number{background:rgba(255,255,255,.2);padding:6px 12px;border-radius:8px;font-weight:600;font-size:.9em}.pl-current-matchday-content{display:flex;flex-direction:column;gap:12px}.pl-matchday-date{font-size:1.1em;font-weight:600}.pl-matchday-deadline{font-size:.95em;opacity:.9}.pl-league-rounds-section{margin-bottom:30px}.pl-league-rounds-section h2{margin-bottom:20px;font-size:1.5em;color:var(--theme-palette-color-3)}.pl-league-rounds-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.pl-league-round-item{background:var(--theme-palette-color-5);border:1px solid var(--theme-palette-color-8);border-radius:12px;padding:20px;transition:all .3s ease}.pl-league-round-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.pl-round-header{margin-bottom:12px}.pl-round-name{margin:0 0 6px;font-size:1.1em;color:var(--theme-palette-color-3);font-weight:600}.pl-round-competition{font-size:.9em;color:#666}.pl-round-meta{margin-bottom:16px}.pl-round-deadline{font-size:.9em;color:#666}.pl-button-secondary{background:#6c757d;color:#fff}.pl-button-secondary:hover{background:#5a6268}.pl-leaderboard-preview{margin-bottom:20px}.pl-no-entries{text-align:center;padding:40px 20px;color:#666;font-style:italic}.pl-leaderboard-header{margin-bottom:24px;text-align:center}.pl-leaderboard-title{margin:0 0 8px;font-size:2em;color:var(--theme-palette-color-3)}.pl-leaderboard-subtitle{color:#666;font-size:1.1em}.pl-leaderboard-container{background:var(--theme-palette-color-5);border-radius:12px;padding:20px;box-shadow:0 2px 4px rgba(0,0,0,.05)}.pl-leaderboard-item.pl-rank-gold{background:linear-gradient(135deg,gold 0%,#ffed4e 100%);border:2px solid #ffc107;font-weight:700}.pl-leaderboard-item.pl-rank-silver{background:linear-gradient(135deg,silver 0%,#e8e8e8 100%);border:2px solid #a0a0a0;font-weight:600}.pl-leaderboard-item.pl-rank-bronze{background:linear-gradient(135deg,#cd7f32 0%,#e6a052 100%);border:2px solid #b87333;font-weight:600}.pl-stats{display:flex;align-items:center;gap:8px}.pl-points-value{font-size:1.2em;font-weight:700;color:#0073aa}.pl-points-label{font-size:.9em;color:#666}.pl-stats-separator{color:#ccc;margin:0 4px}.pl-exact-scores{font-size:.9em;color:#666}.pl-aco-badge{font-size:.85em;color:#667eea;font-weight:600}.pl-aco-badge strong{color:#764ba2}.pl-stat-aco{background:linear-gradient(135deg,#f0f4ff 0%,#e8f0ff 100%);border-left:3px solid #667eea;padding-left:12px;margin-top:8px}.pl-aco-value{color:#667eea;font-size:1.3em}.pl-stat-roi{background:linear-gradient(135deg,#f0fff4 0%,#e6ffed 100%);border-left:3px solid #28a745;padding-left:12px;margin-top:8px}.pl-roi-value{font-size:1.3em;font-weight:700}.pl-roi-value.pl-roi-positive{color:#28a745}.pl-roi-value.pl-roi-negative{color:#dc3545}.pl-roi-badge{font-size:.85em;font-weight:600;padding:2px 6px;border-radius:4px}.pl-roi-badge.pl-roi-positive{color:#28a745;background:rgba(40,167,69,.1)}.pl-roi-badge.pl-roi-negative{color:#dc3545;background:rgba(220,53,69,.1)}.pl-roi-badge strong{font-weight:700}.pl-my-leagues-header{margin-bottom:30px;text-align:center}.pl-my-leagues-header h2{margin:0 0 8px;font-size:2em;color:var(--theme-palette-color-3)}.pl-my-leagues-subtitle{color:#666;font-size:1em}.pl-league-section{margin-bottom:40px}.pl-section-title{margin:0 0 20px;font-size:1.5em;color:var(--theme-palette-color-3);padding-bottom:10px;border-bottom:2px solid var(--theme-palette-color-8)}.pl-leagues-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.pl-league-card{background:var(--theme-palette-color-5);border:1px solid var(--theme-palette-color-8);border-radius:12px;padding:20px;transition:all .3s ease;display:flex;flex-direction:column}.pl-league-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.pl-league-card.pl-league-global{border-color:#0073aa;background:linear-gradient(135deg,#f0f8ff 0%,#e6f3ff 100%)}.pl-league-card.pl-league-competition{border-color:#00a32a}.pl-league-card.pl-league-private{border-color:#ff6b00}.pl-league-card-header{margin-bottom:16px}.pl-league-name{margin:0 0 8px;font-size:1.2em;color:var(--theme-palette-color-3);font-weight:600}.pl-league-description{margin:0;font-size:.9em;color:#666}.pl-league-card-body{flex:1;margin-bottom:16px}.pl-league-rank{display:flex;align-items:baseline;gap:6px;margin-bottom:12px}.pl-rank-label{font-size:.9em;color:#666}.pl-rank-value{font-size:1.5em;font-weight:700;color:#0073aa}.pl-rank-total{font-size:.85em;color:#999}.pl-league-points{display:flex;align-items:baseline;gap:6px}.pl-points-value{font-size:2em;font-weight:700;color:#0073aa}.pl-points-label{font-size:.9em;color:#666}.pl-invite-code{margin-top:12px;padding:10px;background:#f5f5f5;border-radius:6px;display:flex;align-items:center;gap:8px}.pl-invite-label{font-size:.85em;color:#666}.pl-invite-value{font-family:monospace;font-size:1.1em;font-weight:600;color:var(--theme-palette-color-3);background:#fff;padding:4px 8px;border-radius:4px}.pl-league-card-footer{margin-top:auto}.pl-no-leagues{text-align:center;padding:60px 20px;background:var(--theme-palette-color-5);border-radius:12px;border:2px dashed var(--theme-palette-color-8)}.pl-no-leagues p{margin:0 0 20px;font-size:1.1em;color:#666}.pl-login-prompt{text-align:center;padding:40px 20px;background:var(--theme-palette-color-5);border-radius:12px}.pl-login-prompt p{margin:0 0 20px;font-size:1.1em;color:var(--theme-palette-color-3)}.pl-user-position-content{display:flex;align-items:center;justify-content:center;gap:16px;flex-wrap:wrap}.pl-user-rank-label{font-size:.9em;color:#666}.pl-user-rank-value{font-size:2em;font-weight:700;color:#0073aa}.pl-user-points{font-size:1.1em;color:#666}.pl-user-stats{font-size:.9em;color:#999}@media (max-width:768px){.pl-league-rounds-list,.pl-leagues-grid{grid-template-columns:1fr}.pl-current-matchday-header{flex-direction:column;align-items:flex-start;gap:12px}.pl-user-position-content{flex-direction:column;gap:8px}}