@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700&display=swap";.navbar{background:var(--bg-card);border-bottom:1px solid var(--border-light);z-index:100;height:72px;position:fixed;top:0;left:0;right:0}.navbar-container{justify-content:space-between;align-items:center;height:100%;display:flex}.navbar-logo{align-items:center;gap:4px;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;text-decoration:none;display:flex}.navbar-links{align-items:center;gap:8px;display:flex}.navbar-link{color:var(--text-secondary);border-radius:var(--border-radius-sm);padding:8px 16px;font-size:.9rem;font-weight:500;text-decoration:none;position:relative}.navbar-link.active{color:var(--text-primary)}.navbar-link.active:after{content:"";background:var(--text-primary);border-radius:1px;height:2px;position:absolute;bottom:-4px;left:16px;right:16px}.navbar-user{align-items:center;gap:12px;display:flex}.navbar-username{color:var(--text-secondary);font-size:.875rem;font-weight:500}.login-page{justify-content:center;align-items:center;min-height:100vh;display:flex;position:relative;overflow:hidden}.login-orb{filter:blur(100px);opacity:.15;z-index:0;border-radius:50%;position:absolute}.login-orb-1{background:var(--accent-primary);width:400px;height:400px;animation:8s ease-in-out infinite float;top:-100px;left:-100px}.login-orb-2{background:var(--accent-secondary);width:300px;height:300px;animation:10s ease-in-out infinite reverse float;bottom:-50px;right:-50px}.login-orb-3{background:var(--accent-primary);width:250px;height:250px;animation:12s ease-in-out 2s infinite float;top:40%;right:10%}.login-card{z-index:1;width:100%;max-width:440px;padding:40px;position:relative}.login-header{text-align:center;margin-bottom:32px}.login-logo{margin-bottom:8px;font-size:3rem}.login-title{margin-bottom:4px;font-size:2rem;font-weight:700}.login-subtitle{color:var(--text-secondary);font-size:.9rem}.login-tabs{background:var(--bg-card);border-radius:var(--border-radius-md);gap:4px;margin-bottom:24px;padding:4px;display:flex}.login-tab{color:var(--text-secondary);border-radius:var(--border-radius-sm);cursor:pointer;background:0 0;border:none;flex:1;padding:10px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:600}.login-tab.active{background:var(--bg-card-hover);color:var(--text-primary)}.login-form{flex-direction:column;gap:4px;display:flex}.login-error{color:var(--danger);text-align:center;margin-top:-.5rem;margin-bottom:1rem;font-size:.875rem}.login-divider{text-align:center;color:var(--text-secondary);align-items:center;margin:1.5rem 0;font-size:.875rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid var(--border-light);flex:1}.login-divider span{padding:0 10px}.google-btn{color:#3c4043;background-color:#fff;border:1px solid #dadce0;justify-content:center;align-items:center;gap:.75rem;font-weight:500;display:flex}.dashboard-header{margin-bottom:32px}.dashboard-header h1{font-size:1.8rem;font-weight:700}.dashboard-subtitle{color:var(--text-secondary);margin-top:4px}.stats-row{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:32px;display:grid}.stat-card{text-align:center;flex-direction:column;align-items:center;gap:4px;padding:24px;display:flex}.stat-icon{font-size:1.5rem}.stat-number{font-family:Outfit,sans-serif;font-size:2rem;font-weight:700}.stat-label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.8rem;font-weight:500}.dashboard-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:40px;display:flex}.join-inline{align-items:center;gap:8px;display:flex}.join-inline .input-field{width:220px}.dashboard-section{margin-bottom:40px}.dashboard-section h2{margin-bottom:20px;font-size:1.3rem;font-weight:600}.league-card{cursor:pointer}.league-card-header{justify-content:space-between;align-items:flex-start;margin-bottom:12px;display:flex}.league-card-header h3{font-size:1.1rem;font-weight:600}.league-card-meta{color:var(--text-secondary);flex-direction:column;gap:4px;margin-bottom:16px;font-size:.8rem;display:flex}.league-card-score{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:12px;display:flex}.league-card-score .rank{color:var(--text-muted);font-size:1.2rem;font-weight:700}.league-card-score .score{font-size:1.1rem;font-weight:700}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:8px;padding:48px 24px;display:flex}.empty-state h3{font-size:1.2rem}.empty-state-icon{font-size:3rem}.empty-state p{color:var(--text-secondary)}@media (width<=768px){.stats-row{grid-template-columns:1fr}}.matches-grid{gap:16px;display:grid}@media (width>=768px){.matches-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=1024px){.matches-grid{grid-template-columns:repeat(3,1fr)}}.match-day-card{flex-direction:column;padding:16px;display:flex}.match-day-header{border-bottom:1px solid var(--border-light);justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.match-day-date{color:var(--text-secondary);text-transform:capitalize;font-size:.875rem;font-weight:500}.match-day-games{gap:8px;display:flex}.match-mini-details{flex-direction:column;justify-content:center;align-items:center;gap:2px;min-width:40px;display:flex}.match-mini-score{color:var(--text-primary);font-size:1rem;font-weight:700}.match-mini-status{color:var(--text-secondary);font-size:.8rem;font-weight:700}.match-mini-live{color:#ff4655;text-transform:uppercase;font-size:.65rem;font-weight:700}.match-mini-live-dot{background-color:#ff4655;border-radius:50%;width:6px;height:6px;animation:2s infinite pulse}.matches-empty{color:var(--text-muted);flex:1;justify-content:center;align-items:center;font-size:.875rem;font-style:italic;display:flex}.home-header{text-align:center;margin-bottom:2rem}.home-subtitle{color:var(--text-secondary);margin-top:8px}.home-actions{justify-content:center;gap:12px;margin-bottom:3rem;display:flex}.home-filters-container{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.home-filter-btn{background:var(--bg-secondary);min-width:120px;color:var(--text-secondary);cursor:pointer;border:2px solid #0000;border-radius:12px;flex:0 auto;justify-content:center;align-items:center;gap:6px;margin:0 8px;padding:8px 12px;font-size:.85rem;font-weight:600;display:flex}.home-filter-dot{opacity:.3;border-radius:50%;width:8px;height:8px}.create-form-card{padding:32px}.create-row{grid-template-columns:1fr 1fr;gap:16px;display:grid}.invite-code-display{background:var(--bg-card);border:1px dashed var(--accent-primary);border-radius:var(--border-radius-md);cursor:pointer;padding:16px}.invite-code{color:var(--accent-primary);margin-bottom:4px;font-family:JetBrains Mono,monospace;font-size:1.3rem;font-weight:700;display:block}.copy-hint{color:var(--text-muted);font-size:.8rem}.league-header{justify-content:space-between;align-items:flex-start;display:flex}.league-title{margin-bottom:12px;font-size:2rem;font-weight:700}.league-header-meta{flex-wrap:wrap;align-items:center;gap:8px;margin-top:8px;display:flex}.btn-delete-league{align-items:center;gap:8px;height:40px;padding:0 16px;display:flex}.league-content{grid-template-columns:1fr 1fr;gap:32px;display:grid}.league-section-title{margin-bottom:16px;font-size:1.2rem;font-weight:700}.league-leaderboard .card{padding:0;overflow:hidden}.league-leaderboard .league-section-title{padding:20px 20px 0}.current-user td{border-left:3px solid var(--accent-primary)}.matchday-list{flex-direction:column;gap:16px;display:flex}.matchday-card{flex-direction:column;padding:0;display:flex;overflow:hidden}.matchday-card-header{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px 16px 0;display:flex}.matchday-info{align-items:center;gap:12px;display:flex}.matchday-date{font-size:.9rem;font-weight:600}.matchday-header-right{align-items:center;gap:16px;display:flex}.matchday-countdown{text-align:center;flex:1}.matchday-actions{flex-shrink:0;gap:8px;display:flex}.match-time{color:var(--text-muted);font-size:.75rem;font-weight:400}.league-matchdays{flex-direction:column;gap:16px;display:flex}.timeline-container{scroll-behavior:smooth;scrollbar-width:thin;justify-content:center;gap:12px;padding:8px 4px;display:flex;overflow-x:auto}.timeline-container::-webkit-scrollbar{height:6px}.timeline-container::-webkit-scrollbar-thumb{background:var(--border-light);border-radius:4px}.timeline-item{background:var(--bg-card);border:1px solid var(--border-light);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:12px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:70px;height:80px;display:flex;position:relative}.timeline-item.active{background:var(--accent-primary);border-color:var(--accent-primary);color:#fff}.timeline-alert-dot{background:#ef4444;border-radius:50%;width:8px;height:8px;position:absolute;top:8px;right:8px}.timeline-day-name{text-transform:uppercase;letter-spacing:.5px;opacity:.8;margin-bottom:4px;font-size:.7rem}.timeline-day-num{font-size:1.3rem;font-weight:700;line-height:1.1}.timeline-status-dot{border-radius:50px;width:6px;height:6px;margin-top:6px}@media (width<=768px){.league-content{grid-template-columns:1fr}.league-header{flex-direction:column;gap:16px}}.league-matches-grid{grid-template-columns:1fr;gap:8px 16px;display:grid}@media (width>=576px){.league-matches-grid{grid-template-columns:repeat(2,1fr)}}@media (width>=992px){.league-matches-grid{grid-template-columns:repeat(3,1fr)}}@media (width>=1200px){.league-matches-grid{grid-template-columns:repeat(4,1fr)}}.roster-header{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.roster-header h1{font-size:1.6rem;font-weight:700}.roster-header-meta{color:var(--text-secondary);gap:8px;margin-top:4px;font-size:.9rem;display:flex}.roster-layout{grid-template-columns:1.3fr .7fr;gap:24px;display:grid}.roster-search{margin-bottom:16px}.player-grid{flex-direction:column;gap:8px;display:flex}.player-card{cursor:pointer;justify-content:space-between;align-items:center;padding:14px 18px;display:flex;position:relative}.player-card.selected{border-color:var(--accent-primary);background:#00d4ff0d}.player-info{flex-direction:column;display:flex}.player-name{font-size:.95rem;font-weight:600}.player-team{color:var(--text-secondary);font-size:.8rem}.player-check{color:var(--accent-primary);font-size:1.1rem;font-weight:700;position:absolute;right:16px}.roster-panel{position:sticky;top:96px}.roster-panel h3{margin-bottom:12px;font-size:1.1rem}.roster-progress{background:var(--bg-card);border-radius:2px;height:4px;margin-bottom:16px;overflow:hidden}.roster-progress-bar{background:var(--accent-primary);border-radius:2px;height:100%}.selected-list{flex-direction:column;gap:8px;margin-bottom:16px;display:flex}.selected-player{background:var(--bg-card);border-radius:var(--border-radius-sm);align-items:center;gap:12px;padding:10px 12px;display:flex}.selected-player.empty{border:1px dashed var(--border-light);background:0 0}.selected-order{color:var(--text-muted);min-width:24px;font-size:.8rem;font-weight:700}.selected-info{flex:1}.selected-name{font-size:.85rem;font-weight:600;display:block}.selected-team{color:var(--text-secondary);font-size:.75rem}.roster-actions{border-top:1px solid var(--border-light);justify-content:space-between;align-items:center;padding-top:12px;display:flex}@media (width<=768px){.roster-layout{grid-template-columns:1fr}.roster-panel{position:static}}.results-header{margin-bottom:24px}.results-header h1{font-size:1.6rem;font-weight:700}.results-meta{align-items:center;gap:8px;margin-top:8px;display:flex}.results-stats{grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;display:grid}.stat-mini{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:20px;display:flex}.stat-mini.highlight{border:1px solid var(--accent-primary);background:#00d4ff0d}.stat-mini-number{font-family:Outfit,sans-serif;font-size:1.5rem;font-weight:700;display:block}.stat-mini-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-top:4px;font-size:.75rem}.results-list{flex-direction:column;gap:12px;display:flex}.result-card{cursor:pointer;padding:0}.result-card.winner{background:#ffd70005;border-color:#ffd7004d}.result-header{justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.result-header-left{align-items:center;gap:16px;display:flex}.result-rank{text-align:center;min-width:36px;font-size:1.2rem}.rank-number{color:var(--text-muted);font-size:1.1rem;font-weight:700}.result-user{flex-direction:column;display:flex}.result-username{font-size:1.1rem;font-weight:600}.winner-badge{color:gold;background:#ffd70033;border-radius:999px;width:fit-content;margin-top:4px;padding:2px 8px;font-size:.7rem;font-weight:700;display:inline-block}.result-score{text-align:right}.score-value{color:var(--text-primary);font-size:1.5rem;font-weight:700}.score-value.text-primary{color:var(--accent-primary)}.score-unit{color:var(--text-secondary);margin-left:4px;font-size:.85rem}.result-picks{border-top:1px solid var(--border-light);background:#ffffff05;flex-direction:column;gap:8px;padding:16px;display:flex}.result-pick{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius-sm);justify-content:space-between;align-items:center;padding:8px 12px;display:flex}.result-pick-name{font-size:.95rem;font-weight:600}.result-pick-team{color:var(--text-secondary);font-size:.8rem}@media (width<=768px){.results-stats{grid-template-columns:1fr}}.profile-header{text-align:center;margin-bottom:40px}.profile-title{margin-bottom:8px;font-size:2.5rem;font-weight:700}.profile-subtitle{color:var(--text-secondary)}.profile-section-title{align-items:center;gap:12px;margin-bottom:24px;font-size:1.5rem;font-weight:700;display:flex}.profile-section-icon{font-size:2rem}@media (width>=768px){.profile-header{text-align:left}}:root{--bg-primary:#fff;--bg-secondary:#f3f4f6;--bg-card:#fff;--bg-card-hover:#f9fafb;--text-primary:#111827;--text-secondary:#4b5563;--text-muted:#9ca3af;--border-light:#e5e7eb;--accent-primary:#3b82f6;--accent-secondary:#8b5cf6;--success:#10b981;--warning:#f59e0b;--danger:#ef4444;--border-radius-sm:6px;--border-radius-md:8px;--border-radius-lg:12px;--border-radius-xl:16px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px}body{background-color:var(--bg-secondary);color:var(--text-primary);min-height:100vh;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;line-height:1.6}a{color:var(--accent-primary);text-decoration:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:3px}.container{max-width:1200px;margin:0 auto;padding:0 24px}.page{min-height:calc(100vh - 72px);padding-top:96px;padding-bottom:48px}.card{background:var(--bg-card);border:1px solid var(--border-light);border-radius:var(--border-radius-lg);padding:24px}.btn{border-radius:var(--border-radius-md);cursor:pointer;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-family:Inter,sans-serif;font-size:.875rem;font-weight:500;line-height:1.4;text-decoration:none;display:inline-flex}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--text-primary);color:#fff}.btn-secondary{border-color:var(--border-light);color:var(--text-primary);background:#fff}.btn-ghost{color:var(--text-secondary);background:0 0;padding:8px 16px}.btn-danger{color:var(--danger);background:#ef44441a;border:1px solid #ef444433}.btn-sm{padding:6px 12px;font-size:.75rem}.btn-lg{padding:14px 28px;font-size:1rem}.loader{border:4px solid var(--border-light);border-top-color:var(--accent-primary);border-radius:50%;width:48px;height:48px}.input-field{border:1px solid var(--border-light);border-radius:var(--border-radius-sm);width:100%;color:var(--text-primary);background:#fff;outline:none;padding:10px 14px;font-family:Inter,sans-serif;font-size:.875rem}.input-field::placeholder{color:var(--text-muted)}.input-field:focus{border-color:var(--text-primary)}.input-disabled{background-color:var(--bg-secondary);color:var(--text-muted);cursor:not-allowed}.input-hint{color:var(--text-secondary);margin-top:4px;font-size:.75rem}select.input-field{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234b5563' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:36px}select.input-field option{color:var(--text-primary);background:#fff}.form-group{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.form-group label{color:var(--text-primary);font-size:.875rem;font-weight:500}.badge{color:var(--text-secondary);border:1px solid var(--border-light);background:#f3f4f6;border-radius:999px;align-items:center;gap:4px;padding:4px 10px;font-size:.75rem;font-weight:500;line-height:1.4;display:inline-flex}.badge-success{color:var(--success);background:#ecfdf5;border-color:#a7f3d0}.badge-warning{color:var(--warning);background:#fffbeb;border-color:#fde68a}.badge-danger{color:var(--danger);background:#fef2f2;border-color:#fecaca}.badge-info{color:var(--accent-primary);background:#eff6ff;border-color:#bfdbfe}.alert{border-radius:var(--border-radius-md);align-items:center;gap:8px;padding:12px 16px;font-size:.875rem;display:flex}.alert-success{color:var(--success);background:#ecfdf5;border:1px solid #a7f3d0}.alert-danger{color:var(--danger);background:#fef2f2;border:1px solid #fecaca}.alert-warning{color:var(--warning);background:#fffbeb;border:1px solid #fde68a}.gradient-text{color:var(--text-primary)}.status-open{color:var(--success);background:#ecfdf5;border:1px solid #a7f3d0}.status-locked{color:var(--warning);background:#fffbeb;border:1px solid #fde68a}.status-scored{color:var(--accent-primary);background:#eff6ff;border:1px solid #bfdbfe}.card-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;display:grid}.leaderboard-table{border-collapse:collapse;width:100%}.leaderboard-table th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--border-light);padding:12px 16px;font-size:.75rem;font-weight:600}.leaderboard-table td{border-bottom:1px solid var(--border-light);padding:14px 16px;font-size:.9rem}.leaderboard-table .rank-1 td{background:#fffbeb}.leaderboard-table .rank-2 td{background:#f3f4f6}.leaderboard-table .rank-3 td{background:#fff7ed}.pulse-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.skeleton{background:linear-gradient(90deg, var(--bg-card) 25%, var(--bg-card-hover) 50%, var(--bg-card) 75%);border-radius:var(--border-radius-md);background-size:400% 100%}.text-center{text-align:center}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.gap-8{gap:8px}.gap-12{gap:12px}.gap-16{gap:16px}.gap-24{gap:24px}.w-full{width:100%}.mt-8{margin-top:8px}.mt-16{margin-top:16px}.mt-24{margin-top:24px}.mt-32{margin-top:32px}.mb-8{margin-bottom:8px}.mb-16{margin-bottom:16px}.mb-24{margin-bottom:24px}@media (width<=768px){.card-grid{grid-template-columns:1fr}.container{padding:0 16px}}.modal-overlay{z-index:50;background:#00000080;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-light);width:100%;max-width:450px}.match-item{background:#00000008;border-radius:8px;justify-content:space-between;align-items:center;padding:12px;display:flex}.match-team{align-items:center;gap:8px;width:40%;display:flex}.match-team.right{text-align:right;justify-content:flex-end}.match-team.left{text-align:left;justify-content:flex-start}.match-team-logo{object-fit:contain;width:32px;height:32px}.match-team-name{white-space:nowrap;text-overflow:ellipsis;font-size:.9rem;font-weight:500;overflow:hidden}.match-vs{text-align:center;width:20%;color:var(--text-secondary);font-size:.8rem;font-weight:700}.match-mini-time{color:var(--text-muted);white-space:nowrap;align-items:center;gap:4px;font-size:.65rem;font-weight:700;display:flex}.match-mini-card{border:1px solid var(--border-light);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;margin-bottom:8px;padding:8px;display:flex}.matches-section-grid{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px 16px;margin-top:16px;display:grid}.matchday-matches{border-top:1px solid var(--border-light);background:#00000003;border-bottom-right-radius:12px;border-bottom-left-radius:12px;padding:16px}.matchday-matches h4{color:var(--text-secondary);margin-bottom:12px;font-size:.9rem;font-weight:600}.matchday-matches-list{flex-direction:column;gap:8px;display:flex}
