*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--green: #1a7a3c;--green-dark: #115227;--gold: #f5c518;--text: #1a1a1a;--text-muted: #555;--bg: #f4f5f0;--surface: #ffffff;--border: #ddd;--radius: 8px;--shadow: 0 2px 8px rgba(0,0,0,.1);--row-hover: #f0f9f4;--row-1st: #d4edda;--row-2nd: #cce5ff;--row-3rd: #fff3cd;--row-4th: #e9ecef;--leaderboard-hover: #f9f9f9}[data-theme=dark]{--green: #2ecc71;--green-dark: #27ae60;--gold: #f5c518;--text: #e0e0e0;--text-muted: #999;--bg: #121212;--surface: #1e1e1e;--border: #333;--shadow: 0 2px 8px rgba(0,0,0,.4);--row-hover: #1a2e1f;--row-1st: #1a3d28;--row-2nd: #1a2d44;--row-3rd: #3d3a1a;--row-4th: #2a2a2a;--leaderboard-hover: #252525}body{font-family:system-ui,-apple-system,sans-serif;background:var(--bg);color:var(--text);min-height:100vh}.site-header{background:var(--green);color:#fff;padding:0 1rem;position:sticky;top:0;z-index:100;box-shadow:0 2px 6px #0000004d}[data-theme=dark] .site-header{background:#1a1a1a;box-shadow:0 2px 6px #0009}.header-row{max-width:1100px;margin:0 auto;display:flex;align-items:center}.header-row-top{height:36px;justify-content:space-between;gap:.5rem}.header-row-nav{height:32px;justify-content:space-between}.site-title{font-size:1rem;font-weight:700;white-space:nowrap}.header-nav{display:flex;gap:.75rem}.header-nav a{color:#ffffffd9;text-decoration:none;font-size:.85rem;padding:.2rem .5rem;border-radius:4px;transition:background .15s}.header-nav a:hover,.header-nav a.active{background:#fff3;color:#fff}.header-auth{font-size:.8rem;display:flex;align-items:center;gap:.5rem;min-width:0}.header-auth a{color:var(--gold);white-space:nowrap}#auth-status{display:flex;align-items:center;gap:.25rem;min-width:0;white-space:nowrap}#auth-status .auth-name{overflow:hidden;text-overflow:ellipsis;min-width:0}#auth-status .auth-provider-icon{opacity:.8;flex-shrink:0}.header-countdown{font-size:.7rem;opacity:.75;white-space:nowrap}.theme-toggle{background:none;border:none;color:#ffffffd9;cursor:pointer;font-size:1rem;padding:.25rem .4rem;border-radius:4px;transition:background .15s}.theme-toggle:hover{background:#fff3}#app{max-width:1100px;margin:0 auto;padding:1.5rem 1rem}.loading-screen{text-align:center;padding:4rem;color:var(--text-muted)}.page{display:none}.page.active{display:block}.slide-container{position:relative;overflow:hidden}.slide-track{display:flex;align-items:flex-start;transition:transform .4s cubic-bezier(.4,0,.2,1);will-change:transform}.slide-panel-groups,.slide-panel-bracket{flex-shrink:0;box-sizing:border-box;overflow:hidden}.slide-peek-overlay{position:absolute;top:0;height:100%;z-index:10;pointer-events:none;opacity:0;transition:opacity .3s;cursor:pointer}.slide-peek-right{right:0;background:linear-gradient(to right,transparent,var(--bg))}.slide-peek-left{left:0;background:linear-gradient(to left,transparent,var(--bg))}.slide-peek-overlay.active{opacity:1;pointer-events:auto}.picks-sticky-header{position:sticky;top:68px;z-index:50;background:var(--surface);margin:-1.5rem -1rem 0}[data-theme=dark] .picks-sticky-header{background:var(--surface)}.slide-tabs{display:flex;border-bottom:2px solid var(--border);padding:0 1rem}.slide-tabs button{flex:1;padding:.45rem 0;font-size:.85rem;font-weight:600;background:none;border:none;border-bottom:3px solid transparent;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s}.slide-tabs button:hover{color:var(--text)}.slide-tabs button.active{color:var(--green);border-bottom-color:var(--green)}.picks-status-bar{display:flex;align-items:center;justify-content:space-between;padding:.3rem 1rem;border-bottom:1px solid var(--border);font-size:.8rem;min-height:26px;margin-bottom:.75rem}.picks-status-name{display:flex;align-items:center;gap:.35rem;min-width:0}.picks-name-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;max-width:180px}.edit-name-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:.1rem .3rem;font-size:.65rem;line-height:1}.edit-name-btn:hover{color:var(--text)}.picks-status-completeness{font-weight:600;color:var(--text-muted);white-space:nowrap}.picks-status-completeness.complete{color:var(--green)}.pick-highlight{animation:pick-glow 2s ease-out}@keyframes pick-glow{0%{box-shadow:0 0 0 4px #4285f4b3}to{box-shadow:0 0 #4285f400}}.picks-status-right{flex:0 0 auto;display:flex;align-items:center;gap:.35rem}.save-indicator{flex:0 0 auto;display:flex;align-items:center;padding:0 .5rem;font-size:.7rem;white-space:nowrap}.save-indicator.saving{color:var(--text-muted)}.save-indicator.saved{color:var(--green)}.save-indicator.error{color:#f44336}.tab-icon-btn{flex:0 0 auto;background:none;border:none;color:var(--text-muted);cursor:pointer;font-size:.85rem;padding:.3rem .5rem;border-radius:4px;transition:color .15s,background .15s}.tab-icon-btn:hover{color:var(--green);background:#0000000d}[data-theme=dark] .tab-icon-btn:hover{background:#ffffff14}.lock-icon{flex:0 0 auto;color:var(--text-muted);font-size:.85rem;padding:.3rem .35rem}@media (max-width: 899px){.slide-peek-overlay{display:none}}@media (max-width: 599px){.slide-panel-groups .groups-grid{max-width:none}}.bk-champ-team.bk-tbd,.bk-third-team.bk-tbd{min-height:45px}.card{background:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow);padding:.3rem .65rem .65rem;margin-bottom:.5rem}.card-title{font-size:.72rem;font-weight:600;margin-bottom:.2rem;color:var(--green-dark)}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.5rem}.slide-panel-groups .groups-grid{grid-template-columns:1fr;gap:.35rem;max-width:340px}.slide-panel-groups .card{padding:.4rem;margin-bottom:0}.slide-panel-groups .card-title{font-size:.9rem;margin-bottom:.25rem}.group-table{width:100%;border-collapse:collapse;font-size:.82rem}.group-table th{text-align:left;padding:.15rem .4rem;border-bottom:2px solid var(--border);color:var(--text-muted);font-weight:600;font-size:.82rem}.group-table td{padding:.15rem .4rem .15rem .2rem;border-bottom:1px solid var(--border);line-height:16px}.group-table tr:last-child td{border-bottom:none}.team-row{cursor:pointer;transition:background .1s}.team-row:hover{background:var(--row-hover)}.team-row.sortable-ghost{opacity:.4;background:var(--row-hover)!important}.team-row.sortable-chosen{box-shadow:0 2px 8px #00000026}.team-row.selected-1st{background:var(--row-1st)}.team-row.selected-2nd{background:var(--row-2nd)}.team-row.selected-3rd{background:var(--row-3rd)}.team-row.selected-4th{background:var(--row-4th)}.result-correct-team{color:#4caf50;font-weight:700}.result-incorrect-pick{color:#f44336;font-weight:700;text-decoration:line-through}.result-partial-team{color:#ff9800;font-weight:700}.result-correct-name{color:var(--text-muted);font-size:.8em;font-weight:400}.flag{width:20px;height:15px;vertical-align:middle;margin-right:.3rem;border-radius:2px;object-fit:cover}.flag-tbd{display:inline-block;width:20px;text-align:center;font-size:.75rem;color:var(--text-muted)}.fifa-rank{display:inline-block;min-width:1rem;font-family:Arial Narrow,Helvetica Neue,Arial,sans-serif;font-size:.75rem;font-stretch:condensed;color:var(--text-muted);text-decoration:none;text-align:right;margin-right:.25rem;line-height:1;vertical-align:middle}.fifa-rank:hover{color:var(--green);text-decoration:underline}.rank-cell{white-space:nowrap;text-align:right;line-height:16px}.rank-cell:after{content:"";display:inline-block;width:0;height:16px;vertical-align:middle}.advance-toggle{display:inline-flex;align-items:center;gap:.25rem;font-size:.7rem;color:var(--text-muted);cursor:pointer;margin-right:.4rem;vertical-align:middle}.advance-toggle input[type=checkbox]{width:14px;height:14px;accent-color:var(--green);cursor:pointer;margin:0}.advance-label{-webkit-user-select:none;user-select:none}.advance-auto{display:inline-block;font-size:.65rem;color:var(--green);font-weight:600;margin-right:.4rem;vertical-align:middle;letter-spacing:.02em}.advance-result{display:inline-block;font-size:.65rem;font-weight:600;margin-right:.4rem;vertical-align:middle;white-space:nowrap}.advance-result-correct{color:#4caf50}.advance-result-incorrect{color:#f44336}.advance-result-missed{color:var(--text-muted);font-style:italic}.rank-badge{display:inline-block;width:16px;height:16px;border-radius:50%;text-align:center;line-height:16px;font-size:.65rem;font-weight:700;vertical-align:middle}.rank-1{background:var(--green);color:#fff}.rank-2{background:#2196f3;color:#fff}.rank-3{background:#ff9800;color:#fff}.rank-4{background:#9e9e9e;color:#fff}.auth-prompt-modal p,.auth-prompt-modal li{font-size:.9rem;line-height:1.5;color:var(--text-muted)}.auth-prompt-modal p{margin-bottom:1rem}.auth-prompt-modal .btn-primary{display:inline-flex;align-items:center;gap:.4rem}.bk-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:4px}.bk-bracket{display:flex;gap:12px;min-width:min-content}.bk-round-col{display:flex;flex-direction:column;flex-shrink:0;min-width:150px}.bk-col-last{justify-content:flex-start}.bk-round-hdr{text-align:center;font-size:.65rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:4px;margin-bottom:4px;border-bottom:1px solid var(--border)}.bk-slots{flex:1;display:flex;flex-direction:column}.bk-col-first .bk-slot{padding:18px 0}.bk-slot{flex:1;display:flex;align-items:center;position:relative;min-height:46px}.bk-round-col:not(.bk-col-last) .bk-slot:nth-child(odd):after{content:"";position:absolute;top:50%;right:-6px;width:6px;height:50%;border-top:2px solid var(--border);border-right:2px solid var(--border)}.bk-round-col:not(.bk-col-last) .bk-slot:nth-child(2n):after{content:"";position:absolute;bottom:50%;right:-6px;width:6px;height:50%;border-bottom:2px solid var(--border);border-right:2px solid var(--border)}.bk-round-col:not(.bk-col-last) .bk-slot:only-child:after{content:"";position:absolute;top:calc(50% - 1px);right:-6px;width:6px;height:0;border-top:2px solid var(--border);border-right:none}.bk-round-col:not(.bk-col-first) .bk-slot:before{content:"";position:absolute;top:calc(50% - 1px);left:-6px;width:6px;border-top:2px solid var(--border)}.bk-final-wrap{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:4px 0}.bk-final-wrap .bk-slots{flex:none;width:100%}.bk-final-wrap .bk-slot{min-height:auto}.bk-final-below{display:flex;flex-direction:column;gap:4px;align-items:center;width:100%;margin-top:24px}.bk-tpm-wrap{display:flex;flex-direction:column;gap:4px;width:100%}.bk-match{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;width:100%;background:var(--surface)}.bk-match-info{font-size:.58rem;color:var(--text-muted);text-align:center;padding:1px 6px;border-bottom:1px solid var(--border);border-top:1px solid var(--border);background:var(--bg);white-space:nowrap;letter-spacing:.02em}.bk-team{padding:3px 5px;font-size:.78rem;min-height:24px;box-sizing:border-box;white-space:nowrap;display:flex;align-items:center;gap:5px;border-bottom:1px solid var(--border);transition:background .12s}.bk-team:last-child{border-bottom:none}.bk-team.pickable{cursor:pointer}.bk-team.pickable:hover{background:var(--row-hover)}.bk-team.picked{background:var(--row-1st);font-weight:600}.bk-team.correct{color:#4caf50;font-weight:700}.bk-team.incorrect,.bk-team.eliminated{color:#f44336;font-weight:700;text-decoration:line-through}.bk-team.partial{color:#ff9800;font-weight:700}.bk-team.bk-actual{color:var(--text-muted);font-weight:400;font-size:.75em}.bk-champ-team.correct,.bk-third-team.correct{color:#4caf50;font-weight:700}.bk-champ-team.incorrect,.bk-third-team.incorrect{color:#f44336;font-weight:700;text-decoration:line-through}.bk-champ-team.eliminated,.bk-third-team.eliminated{color:#f44336;text-decoration:line-through}.bk-team img{width:20px;height:15px;vertical-align:middle}.bk-tbd{color:var(--text-muted);font-style:italic;font-size:.72rem;line-height:15px}.bk-center-hdr{font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;text-align:center}.bk-award{display:flex;flex-direction:column;gap:6px;align-items:center}.bk-champ-team,.bk-third-team{border-radius:var(--radius);padding:12px 18px;font-size:.95rem;font-weight:700;display:flex;align-items:center;gap:8px;background:var(--surface);white-space:nowrap;min-width:180px;width:180px;box-sizing:border-box}.bk-champ-team{border:2px solid var(--gold)}.bk-third-team{border:2px solid #cd7f32}.bk-champ-team img,.bk-third-team img{width:28px;height:21px}.leaderboard-table{width:100%;border-collapse:collapse;font-size:.9rem}.leaderboard-table th{text-align:left;padding:.5rem .75rem;border-bottom:2px solid var(--border);color:var(--text-muted)}.leaderboard-table td{padding:.45rem .75rem;border-bottom:1px solid var(--border)}.leaderboard-table tr:hover td{background:var(--leaderboard-hover)}.leaderboard-table tr.lb-clickable{cursor:pointer}.leaderboard-table tr.lb-clickable:hover td{background:var(--row-hover)}.current-user-row td{background:#fffde7}[data-theme=dark] .current-user-row td{background:#fffde71a}.rank-num{font-weight:700;color:var(--text-muted)}.points-total{font-weight:700;color:var(--green-dark)}.points-max{color:var(--text-muted);font-size:.85em}.leaderboard-table th.lb-champion-header{text-align:center;padding-left:.25rem;padding-right:.25rem}.lb-champion-cell{text-align:center;padding-left:.25rem;padding-right:.25rem;vertical-align:middle}.lb-champion-cell img{display:inline-block;vertical-align:middle;margin-right:0}.lb-champion-hidden{color:var(--text-muted);font-size:.85em}@media (max-width: 600px){.lb-hide-mobile{display:none}.leaderboard-table td,.leaderboard-table th{padding:.35rem .5rem}}.view-picks-score{font-size:.85em;color:var(--text-muted);font-weight:400}.leagues-actions{display:flex;gap:1rem;margin-bottom:1.5rem;flex-wrap:wrap}.btn{padding:.5rem 1.2rem;border:none;border-radius:var(--radius);cursor:pointer;font-size:.9rem;font-weight:600}.btn:disabled{cursor:not-allowed;opacity:.6}.btn-primary{background:var(--green);color:#fff}.btn-primary:hover{background:var(--green-dark)}.btn-secondary{background:var(--border);color:var(--text)}.btn-secondary:hover{background:var(--border);opacity:.8}.btn-icon{background:none;border:none;cursor:pointer;color:var(--text-muted);padding:.2rem .4rem;font-size:.85rem}.btn-icon:hover{color:var(--text)}.btn-danger{background:#b42318;color:#fff}.btn-danger:hover{background:#912018}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:200}.modal-box{background:var(--surface);border-radius:var(--radius);padding:1.5rem;min-width:300px;max-width:420px;width:90%}.modal-box h3{margin-bottom:1rem}.form-group{margin-bottom:.75rem}.form-group label{display:block;margin-bottom:.25rem;font-size:.85rem;font-weight:500}.form-group input{width:100%;padding:.4rem .6rem;border:1px solid var(--border);border-radius:4px;font-size:.9rem;background:var(--surface);color:var(--text)}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.error-msg{color:#f44336;font-size:.85rem;margin-top:.5rem}.auth-login-btn{background:transparent;border:none;color:var(--text);cursor:pointer;font-weight:600;text-decoration:underline;font-size:.9rem;padding:0}.auth-login-btn:hover{opacity:.8}.login-options{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.login-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.75rem 1.2rem;text-decoration:none;transition:all .2s}.login-btn i{font-size:1.1rem}.admin-section{margin-bottom:2.5rem}.admin-section h3{margin-bottom:1rem;font-size:1.2rem}.admin-round-section{margin-bottom:2rem}.admin-round-section h4{margin-bottom:1rem;font-size:1rem}.admin-matches-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.admin-match-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);overflow:hidden}.admin-match-card .bk-team{padding:.5rem .75rem;font-size:.9rem;border-bottom:1px solid var(--border)}.admin-match-card .bk-team:last-child{border-bottom:none}.admin-match-card .bk-match-info{font-size:.7rem;color:var(--text-muted);text-align:center;padding:.2rem .5rem;border-bottom:1px solid var(--border);background:var(--bg)}.admin-actions{display:flex;gap:1rem;margin-top:2rem;flex-wrap:wrap}@media (max-width: 900px){.admin-matches-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}}@media (max-width: 500px){.site-title{font-size:.9rem}.header-nav a{font-size:.8rem;padding:.15rem .35rem}.header-countdown{font-size:.6rem}}
