.landing{display:flex;align-items:center;justify-content:center;min-height:100dvh;padding:2rem}.landing-hero{text-align:center;max-width:480px}.landing-title{font-size:2.5rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:.75rem}.landing-subtitle{font-size:1.125rem;line-height:1.6;color:var(--text-muted);margin-bottom:2rem}.landing-actions{display:flex;gap:1rem;justify-content:center}.landing-btn{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;text-decoration:none;transition:transform .15s,box-shadow .15s}.landing-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.landing-btn--primary{background:var(--accent);color:#fff}.landing-btn--secondary{background:var(--surface);color:var(--text);border:1px solid var(--border)}.auth-form{display:flex;flex-direction:column;gap:1.25rem;width:100%;max-width:400px;margin:0 auto}.auth-field{display:flex;flex-direction:column;gap:.375rem;text-align:left}.auth-label{font-size:.875rem;font-weight:600;color:var(--text)}.auth-input{width:100%;padding:.75rem 1rem;border-radius:10px;border:1px solid var(--border);background:var(--surface);color:var(--text);font-size:1rem;font-family:inherit;outline:none;transition:border-color .15s;box-sizing:border-box}.auth-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent) 20%,transparent)}.auth-input--error{border-color:#dc2626}.auth-input::placeholder{color:var(--text-muted)}.auth-error{color:#dc2626;font-size:.8125rem;margin-top:.125rem}.auth-form-error{color:#dc2626;font-size:.875rem;text-align:center;padding:.625rem;border-radius:8px;background:color-mix(in srgb,#dc2626 8%,transparent)}.auth-submit{display:inline-flex;align-items:center;justify-content:center;padding:.75rem 2rem;border-radius:10px;font-size:1rem;font-weight:600;font-family:inherit;border:none;cursor:pointer;background:var(--accent);color:#fff;transition:transform .15s,box-shadow .15s,opacity .15s}.auth-submit:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-footer{text-align:center;font-size:.875rem;color:var(--text-muted)}.auth-footer a{color:var(--accent);text-decoration:none;font-weight:600}.auth-footer a:hover{text-decoration:underline}.auth-link{color:var(--text-muted);font-size:.8125rem;text-decoration:none}.auth-link:hover{text-decoration:underline}.league-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;width:100%;max-width:560px;margin:0 auto}.league-card{display:flex;flex-direction:column;align-items:center;gap:.5rem;padding:1.25rem 1rem;border:2px solid var(--border);border-radius:12px;background:var(--surface);cursor:pointer;transition:border-color .15s,transform .15s,box-shadow .15s;font-family:inherit}.league-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000014}.league-card--selected{border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 20%,transparent)}.league-card-logo{width:56px;height:56px;object-fit:contain}.league-card-name{font-size:.9375rem;font-weight:600;color:var(--text);text-align:center;line-height:1.3}.league-card-abbr{font-size:.75rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.settings-page{display:flex;justify-content:center;min-height:100dvh;padding:1.5rem 2rem}.settings-container{width:100%;max-width:560px}.settings-title{font-size:2rem;font-weight:700;letter-spacing:-.02em;color:var(--text);margin-bottom:2rem}.settings-section{margin-bottom:2.5rem}.settings-section-title{font-size:1.125rem;font-weight:600;color:var(--text);margin-bottom:1rem;padding-bottom:.5rem;border-bottom:1px solid var(--border)}.settings-profile-email{font-size:.9375rem;color:var(--text-muted);margin-bottom:.75rem}.settings-logout-link{color:var(--text-muted);font-size:.875rem;text-decoration:none;cursor:pointer;background:none;border:none;padding:0;font-family:inherit}.settings-logout-link:hover{color:#dc2626;text-decoration:underline}.settings-success{color:#16a34a;font-size:.875rem;text-align:center;padding:.625rem;border-radius:8px;background:color-mix(in srgb,#16a34a 8%,transparent)}.settings-league-card-wrapper{position:relative}.settings-league-remove{position:absolute;top:6px;right:6px;width:22px;height:22px;border-radius:50%;border:none;background:color-mix(in srgb,#dc2626 12%,transparent);color:#dc2626;font-size:14px;font-weight:700;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .15s}.settings-league-remove:hover{background:color-mix(in srgb,#dc2626 24%,transparent)}.navbar{display:flex;align-items:center;justify-content:space-between;height:52px;padding:0 24px;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:60}.navbar-brand{font-size:1.05rem;font-weight:800;color:var(--text);text-decoration:none;letter-spacing:.04em}.navbar-brand:hover{color:var(--accent)}.navbar-actions{display:flex;align-items:center;gap:8px}.navbar-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;color:var(--text-muted);transition:color .15s,background .15s}.navbar-icon:hover{color:var(--text);background:color-mix(in srgb,var(--border) 50%,transparent)}.navbar-icon--active{color:var(--accent)}@media(max-width:768px){.navbar{padding:0 16px;height:48px}.navbar-brand{font-size:.95rem}}.app-layout{display:grid;grid-template-columns:80px 1fr 80px;min-height:100dvh}.nav-spacer{width:80px}.app-main{padding:0 24px 24px;position:relative}.app-content{display:grid;grid-template-columns:auto 1fr;gap:0 24px;align-items:start}.app-sidebar{grid-column:1;min-width:580px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:24px}.app-sidebar-header{padding-bottom:12px;margin-bottom:4px}.app-sidebar-table-toggle{display:none;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px 0;background:none;border:none;border-bottom:1px solid var(--border);font-family:inherit;font-size:.9rem;font-weight:600;color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent}.app-sidebar-table-toggle:hover{color:var(--text)}.app-sidebar-table-chevron{width:1.1em;height:1.1em;color:var(--text-muted);transition:transform .2s}.app-sidebar-table-chevron--open{transform:rotate(180deg)}.app-matches{grid-column:2;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px;margin-top:24px;align-self:start;overflow:visible;container-name:matches;container-type:inline-size}.matchday-title{font-size:1.5rem;font-weight:700;text-align:center;padding:0 0 8px}.matchday-view{padding:8px 0}.fixture-list{display:grid;grid-template-columns:repeat(5,minmax(170px,1fr));gap:24px}@container matches (max-width: 920px){.fixture-list{grid-template-columns:repeat(4,minmax(170px,1fr))}}@container matches (max-width: 730px){.fixture-list{grid-template-columns:repeat(3,minmax(170px,1fr))}}@container matches (max-width: 540px){.fixture-list{grid-template-columns:repeat(2,minmax(170px,1fr))}}.fixture-card{position:relative;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px;color:var(--text);font-family:inherit;font-size:.85rem;transition:background .15s,box-shadow .15s,transform .15s;display:flex;flex-direction:column;align-items:center;justify-content:space-between;width:100%;min-height:260px;box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014}.fixture-card[style*=pointer]:hover{box-shadow:0 4px 16px #0000001f,0 2px 4px #00000014;transform:translateY(-1px)}.fixture-card[style*=pointer]:active{background:var(--border)}.fixture-card--upcoming{opacity:.4;cursor:default;pointer-events:none}.fixture-card--revealed{border-color:var(--border)}.fixture-card--has-sticker{position:relative;overflow:visible}.sticker-wrap{position:absolute;pointer-events:none;z-index:2;animation:sticker-pop .4s cubic-bezier(.34,1.56,.64,1) both}@keyframes sticker-pop{0%{scale:0;rotate:calc(var(--sr) + 30deg)}to{scale:1;rotate:var(--sr)}}.sticker-wrap--hiding{animation:sticker-shrink .3s linear both!important}@keyframes sticker-shrink{0%{scale:1;rotate:var(--sr);opacity:1}to{scale:0;rotate:calc(var(--sr) - 30deg);opacity:0}}.sticker-icon{position:relative;z-index:1;font-size:1.4rem;line-height:1}.sticker-label{position:relative;z-index:1;font-size:.6rem;font-weight:900;color:#fff;text-transform:uppercase;letter-spacing:.1em;line-height:1.15;text-align:center;text-shadow:0 1px 3px rgba(0,0,0,.5)}.sticker-curved-text{position:absolute;top:0;left:-3px;z-index:1;fill:#fff;font-size:11px;font-weight:900;letter-spacing:.12em}.sticker--goal-fest,.sticker--comeback,.sticker--card-fest,.sticker--hat-trick,.sticker--upset{position:relative;background:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.sticker--goal-fest:before,.sticker--comeback:before,.sticker--card-fest:before,.sticker--hat-trick:before,.sticker--upset:before{content:"";position:absolute;inset:3px;clip-path:inherit}.sticker--nail-biter,.sticker--dramatic,.sticker--lead-change,.sticker--heroic-goal,.sticker--late-drama{border:3px solid white;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px}.sticker-wrap--goal-fest{--sr: 12deg;top:-16px;right:-14px;filter:drop-shadow(2px 4px 8px rgba(200,60,0,.45))}.sticker--goal-fest{width:84px;height:84px;clip-path:polygon(50% 0%,60% 19%,79% 10%,77% 31%,98% 35%,83% 50%,98% 66%,77% 69%,79% 90%,60% 81%,50% 100%,40% 81%,21% 90%,23% 69%,2% 66%,17% 50%,2% 35%,23% 31%,21% 10%,40% 19%)}.sticker--goal-fest:before{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 44%,transparent 56%),conic-gradient(from 30deg,#f59e0b,#ef4444,#f59e0b,#ef4444,#f59e0b);background-size:300% 100%,100% 100%;background-position:200% 0,0 0}.sticker--dramatic .sticker-icon{margin-top:-10px;font-size:1.8rem}.sticker-wrap--dramatic{--sr: -10deg;top:-12px;left:-10px;filter:drop-shadow(2px 4px 8px rgba(139,92,246,.45))}.sticker--dramatic{position:relative;width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 40% 38%,#c084fc,#8b5cf6 45%,#6d28d9)}.sticker-wrap--derby{--sr: 6deg;top:-14px;right:-12px;filter:drop-shadow(2px 4px 10px rgba(255,215,0,.6))}.sticker--derby{width:72px;height:80px;border:3px solid white;border-radius:8px 8px 50% 50%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;background:linear-gradient(160deg,gold,#b8860b 40%,gold 60%,#b8860b);color:#1a1000}.sticker--derby .sticker-icon{font-size:1.6rem}.sticker--derby .sticker-label{color:#1a1000;font-size:.75rem;font-weight:900;letter-spacing:.08em;text-shadow:0 1px 0 rgba(255,255,255,.3)}.sticker-wrap--lead-change{--sr: -6deg;top:-14px;left:-10px;filter:drop-shadow(2px 4px 8px rgba(59,130,246,.5))}.sticker--lead-change{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#60a5fa,#3b82f6 40%,#2563eb)}.sticker-wrap--card-fest{--sr: -4deg;top:-16px;right:-14px;filter:drop-shadow(2px 4px 8px rgba(234,179,8,.45))}.sticker--card-fest{width:90px;height:90px;clip-path:polygon(50% 0%,63% 25%,93% 7%,78% 35%,100% 50%,78% 65%,93% 93%,63% 75%,50% 100%,37% 75%,7% 93%,22% 65%,0% 50%,22% 35%,7% 7%,37% 25%)}.sticker--card-fest:before{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.25) 44%,transparent 56%),conic-gradient(from 60deg,#eab308,#dc2626,#eab308,#dc2626,#eab308);background-size:300% 100%,100% 100%;background-position:200% 0,0 0}.sticker-wrap--nail-biter{--sr: -8deg;top:-14px;left:-12px;filter:drop-shadow(2px 4px 8px rgba(99,102,241,.45))}.sticker--nail-biter{width:72px;height:72px;border-radius:50%;background:radial-gradient(circle at 35% 35%,#818cf8,#6366f1 40%,#4f46e5)}.sticker-wrap--heroic-goal{--sr: 8deg;top:-14px;right:-10px;filter:drop-shadow(2px 4px 8px rgba(245,158,11,.5))}.sticker--heroic-goal{width:72px;height:72px;border-radius:16px;background:linear-gradient(145deg,#fbbf24,#f59e0b 40%,#d97706)}.sticker--heroic-goal .sticker-label{font-size:.55rem}.sticker-wrap--comeback{--sr: -6deg;top:-14px;right:-10px;filter:drop-shadow(2px 4px 8px rgba(16,185,129,.45))}.sticker--comeback{width:72px;height:82px;clip-path:polygon(50% 0%,95% 8%,100% 42%,80% 75%,50% 100%,20% 75%,0% 42%,5% 8%)}.sticker--comeback:before{background:linear-gradient(160deg,#34d399,#06b6d4,#0891b2)}.sticker-wrap--late-drama{--sr: -12deg;top:-12px;left:-10px;filter:drop-shadow(2px 4px 8px rgba(236,72,153,.5))}.sticker--late-drama{width:68px;height:68px;border-radius:14px;background:linear-gradient(145deg,#f472b6,#ec4899 40%,#db2777)}.sticker-wrap--hat-trick{--sr: 10deg;top:-16px;right:-12px;filter:drop-shadow(2px 4px 8px rgba(16,185,129,.5))}.sticker--hat-trick{width:80px;height:80px;clip-path:polygon(50% 0%,60% 19%,79% 10%,77% 31%,98% 35%,83% 50%,98% 66%,77% 69%,79% 90%,60% 81%,50% 100%,40% 81%,21% 90%,23% 69%,2% 66%,17% 50%,2% 35%,23% 31%,21% 10%,40% 19%)}.sticker--hat-trick:before{background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.3) 44%,transparent 56%),conic-gradient(from 45deg,#10b981,#059669,#34d399,#059669,#10b981);background-size:300% 100%,100% 100%;background-position:200% 0,0 0}.sticker-wrap--upset{--sr: 0deg;top:-18px;right:-12px;filter:drop-shadow(2px 4px 8px rgba(220,38,38,.5))}.sticker--upset{width:76px;height:76px;clip-path:polygon(50% 0%,100% 50%,50% 100%,0% 50%)}.sticker--upset:before{background:linear-gradient(170deg,#ef4444,#dc2626 40%,#b91c1c)}.sticker--upset .sticker-label{font-size:.55rem}.fixture-card--derby{background:#0e152e;color:#e4e4ea;border-color:#648cc859;box-shadow:0 0 10px #648cc826,0 0 30px #3c508c1a}.fixture-card--derby .fixture-ha-label,.fixture-card--derby .fixture-vs,.fixture-card--derby .fixture-date{color:#b0bdd4}.fixture-card--derby .fixture-team-name{color:#e4e4ea}.fixture-card--derby .fixture-center{border-color:#ffffff14}.fixture-card--derby .fixture-badge-wrap{background:#0a0f20}.fixture-card--derby[style*=pointer]:hover{box-shadow:0 0 14px #648cc840,0 0 40px #3c508c26}.fixture-card--derby[style*=pointer]:active{background:#0a0f20}.fixture-card--derby.fixture-card--revealed{background:var(--surface);color:var(--text);border-color:var(--border);box-shadow:0 4px 12px #0000001f,0 2px 4px #00000014}.fixture-card--derby.fixture-card--revealed .fixture-ha-label,.fixture-card--derby.fixture-card--revealed .fixture-vs,.fixture-card--derby.fixture-card--revealed .fixture-date{color:var(--text-muted)}.fixture-card--derby.fixture-card--revealed .fixture-team-name{color:var(--text)}.fixture-card--derby.fixture-card--revealed .fixture-center{border-color:var(--border)}.fixture-card--derby.fixture-card--revealed .fixture-badge-wrap{background:var(--bg)}.fixture-card--derby.fixture-card--revealed .holo-shine{display:none}.holo-shine{position:absolute;inset:0;z-index:1;border-radius:inherit;overflow:hidden;pointer-events:none;background-image:repeating-linear-gradient(0deg,#ff7a75,#ffed61,#a8ff61,#85fff7,#7a95ff,#d875ff,#ff7a75 30%),repeating-linear-gradient(133deg,#0e152e,#8fa3a3 3.8%,#8fc1c1,#8fa3a3 5.2%,#0e152e 10% 12%);background-size:200% 700%,300% 100%;background-blend-mode:hue,hard-light;filter:brightness(.8) contrast(2.95) saturate(.65);mix-blend-mode:color-dodge;opacity:.85;animation:diag-shine 27s linear infinite}.holo-shine:after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:repeating-linear-gradient(0deg,#7a95ff,#d875ff,#ff7a75,#ffed61,#a8ff61,#85fff7,#7a95ff 30%),repeating-linear-gradient(133deg,#0e152e,#8fa3a3 3.8%,#8fc1c1,#8fa3a3 5.2%,#0e152e 10% 12%);background-size:200% 400%,195% 100%;background-blend-mode:hue,hard-light;filter:brightness(1) contrast(2.5) saturate(1.75);mix-blend-mode:soft-light;animation:diag-shine-reverse 27s linear infinite}.holo-shine:before{content:"";position:absolute;inset:0;border-radius:inherit;z-index:2;background-image:radial-gradient(farthest-corner ellipse at 50% 50%,#94949466 10%,#33333380 30%,#33333340 60%);background-size:350% 350%;mix-blend-mode:overlay;filter:brightness(.7) contrast(1.8) saturate(.5);animation:diag-sparkle 27s linear infinite}@keyframes diag-shine{0%{background-position:0% 0%,0% 0%}to{background-position:0% 100%,100% 100%}}@keyframes diag-shine-reverse{0%{background-position:0% 100%,100% 100%}to{background-position:0% 0%,0% 0%}}@keyframes diag-sparkle{0%{background-position:0% 0%}to{background-position:100% 100%}}.fixture-half{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;position:relative}.fixture-half--winner{margin:-12px -12px 0;padding:12px 12px 8px;width:calc(100% + 24px);border-left:3px solid var(--team-color)}.fixture-half--home.fixture-half--winner{border-radius:10px 10px 0 0;margin:-12px -12px 0;padding:12px 12px 8px;background:linear-gradient(to bottom,color-mix(in srgb,var(--team-color) 22%,transparent) 0%,transparent 100%)}.fixture-half--away.fixture-half--winner{border-radius:0 0 10px 10px;margin:0 -12px -12px;padding:8px 12px 12px;background:linear-gradient(to top,color-mix(in srgb,var(--team-color) 22%,transparent) 0%,transparent 100%)}.fixture-ha-label{font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);opacity:.6}.fixture-badge-wrap{width:48px;height:48px;border-radius:50%;border:2px solid;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden}.fixture-badge{width:32px;height:32px;object-fit:contain;object-position:center}.fixture-team-name{font-size:.8rem;font-weight:500;text-align:center;line-height:1.2}.fixture-team-name--med,.fixture-team-name--short,.fixture-row,.fixture-row-sep{display:none}.fixture-badge-row{display:flex;align-items:center;justify-content:center;gap:4px}.fixture-cards-spacer{width:20px;flex-shrink:0}.fixture-cards{display:flex;gap:2px}.fixture-cards--inline{width:20px;flex-shrink:0;flex-wrap:wrap;justify-content:center;gap:2px}.fixture-card-stroke{display:block;width:3px;height:16px;border-radius:1px}.fixture-card-stroke--red{background:#dc2626}.fixture-card-stroke--yellow{background:#eab308}.matches-divider{border:none;border-top:1px solid var(--border);margin:24px 0 0}.spoiler-select{position:relative;margin:24px auto 0;width:min(50%,320px);min-width:min(200px,100%)}.spoiler-select-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:10px 14px;background:var(--surface);border:1px solid var(--border);border-radius:10px;font-family:inherit;font-size:.8rem;font-weight:500;color:var(--text);cursor:pointer;transition:border-color .15s,box-shadow .15s;-webkit-tap-highlight-color:transparent}.spoiler-select-trigger:hover{border-color:var(--text-muted)}.spoiler-select-trigger:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 15%,transparent)}.spoiler-select-value{display:flex;align-items:center;gap:8px}.spoiler-select-chevron{width:16px;height:16px;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.spoiler-select-chevron--open{transform:rotate(180deg)}.spoiler-select-pip{display:inline-block;width:8px;height:8px;border-radius:50%;flex-shrink:0}.spoiler-select-pip[data-level="0"]{background:var(--reveal)}.spoiler-select-pip[data-level="1"]{background:var(--accent)}.spoiler-select-pip[data-level="2"]{background:#f59e0b}.spoiler-select-pip[data-level="3"]{background:#ef4444}.spoiler-select-menu{position:absolute;bottom:calc(100% + 6px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;overflow:hidden;z-index:20;animation:spoiler-menu-in .15s ease}@keyframes spoiler-menu-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.spoiler-select-option{display:flex;flex-direction:column;gap:2px;width:100%;padding:10px 14px;background:none;border:none;border-bottom:1px solid var(--border);font-family:inherit;text-align:left;cursor:pointer;transition:background .1s;-webkit-tap-highlight-color:transparent}.spoiler-select-option:last-child{border-bottom:none}.spoiler-select-option:hover{background:color-mix(in srgb,var(--border) 30%,transparent)}.spoiler-select-option--active{background:color-mix(in srgb,var(--accent) 8%,transparent)}.spoiler-select-option-header{display:flex;align-items:center;gap:8px}.spoiler-select-option-label{font-size:.8rem;font-weight:600;color:var(--text)}.spoiler-select-option-desc{font-size:.65rem;color:var(--text-muted);padding-left:16px}.reveal-all-btn{display:block;margin:12px auto 0;width:min(50%,320px);min-width:min(200px,100%);padding:10px 20px;font-size:.8rem;font-weight:600;color:#fff;background:var(--accent);border:none;border-radius:8px;cursor:pointer;transition:background .15s}.reveal-all-btn:hover{background:color-mix(in srgb,var(--accent) 85%,black)}.fixture-center{display:flex;align-items:center;justify-content:center;width:52px;padding:8px 0;border-top:1px solid var(--border);border-bottom:1px solid var(--border)}.fixture-vs{font-size:.85rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.fixture-date{font-size:.7rem;color:var(--text-muted)}.fixture-score{display:flex;align-items:center;gap:6px}.fixture-score-num{font-size:.85rem;font-weight:700;line-height:1}.fixture-score-sep{font-size:.85rem;color:var(--text-muted);font-weight:300}.league-table-wrapper{margin:0;padding:0}.league-table{width:100%;border-collapse:separate;border-spacing:0;font-size:.875rem}.league-table th{padding:8px;font-size:.7rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;border-bottom:2px solid var(--border);text-align:center}.league-table th.lt-team{text-align:left;padding-right:4px}.league-table tbody tr{transition:background .1s}.league-table tbody tr:nth-child(odd){background:color-mix(in srgb,var(--border) 25%,transparent)}.league-table tbody tr:hover{background:color-mix(in srgb,var(--border) 50%,transparent)}.league-table td{padding:8px 10px;white-space:nowrap;color:var(--text-muted);border-bottom:1px solid var(--border);text-align:center;font-size:.8rem;font-variant-numeric:tabular-nums;position:relative}.league-table tbody tr:last-child td{border-bottom:none}.lt-pos{width:28px;font-weight:500}td.lt-team{text-align:left;padding-right:4px}.lt-team-cell{display:flex;align-items:center;gap:8px}.lt-team-badge{width:20px;height:20px;object-fit:contain;flex-shrink:0}.lt-team-name{font-weight:500;color:var(--text)}.lt-team-name--short{display:none}td.lt-pts{font-weight:700;color:var(--text)}.lt-delta{font-size:.65rem;font-weight:700;margin-left:6px}.lt-delta--pos{color:var(--reveal)}.lt-delta--neg{color:#dc2626}.lt-delta--zero{color:var(--text-muted);opacity:.8}.lt-row--highlighted{background:#facc1540!important}.scrubber{padding:12px 8px}.scrubber-circles{display:flex;flex-direction:column;gap:6px;align-items:center}.scrubber-circles-row{display:flex;gap:4px;max-width:100%}.scrubber-circle{width:36px;min-width:24px;height:36px;flex-shrink:1;aspect-ratio:1;border-radius:50%;border:2px solid var(--border);background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;font-family:inherit;transition:transform .12s,border-color .15s,background .15s}.scrubber-circle:hover{transform:scale(1.15)}.scrubber-circle-num{font-size:.65rem;font-weight:600;color:var(--text-muted)}.scrubber-circle--future{border-color:var(--border);opacity:.4}.scrubber-circle--available{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent)}.scrubber-circle--available .scrubber-circle-num{color:var(--accent)}.scrubber-circle--partial{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#a78bfa)}.scrubber-circle--partial .scrubber-circle-num,.scrubber-circle--revealed .scrubber-circle-num{color:#fff}.scrubber-circle--revealed{border-color:var(--reveal);background:var(--reveal);color:#fff}.scrubber-circle--active{transform:scale(1.2);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 40%,transparent);opacity:1}.scrubber-circle--active:hover{transform:scale(1.25)}.expanded-backdrop{position:fixed;inset:0;background:#00000080;z-index:100;animation:backdrop-in .3s ease both}.expanded-backdrop--entering{animation:backdrop-in .3s ease both}.expanded-backdrop--exiting{animation:backdrop-out .25s ease both}@keyframes backdrop-in{0%{opacity:0}to{opacity:1}}@keyframes backdrop-out{0%{opacity:1}to{opacity:0}}.expanded-card{position:fixed;z-index:101;width:min(420px,calc(100vw - 48px));left:calc((100vw - min(420px,calc(100vw - 48px)))/2);top:max(24px,calc((100vh - 600px)/2));background:var(--surface);border:1px solid var(--border);border-radius:16px;padding:24px;color:var(--text);transform-origin:top left;overflow:visible;box-shadow:0 24px 80px #0003;max-height:calc(100vh - 48px);overflow-y:auto}.expanded-close{position:absolute;top:12px;left:12px;width:32px;height:32px;border:none;background:var(--border);border-radius:50%;font-size:1.2rem;line-height:1;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:3;transition:background .15s}.expanded-close:hover{background:var(--text-muted);color:#fff}.expanded-teams{display:flex;align-items:center;justify-content:center;gap:20px;padding:16px 0 12px}.expanded-team{display:flex;flex-direction:column;align-items:center;gap:8px;flex:1;border-radius:12px;transition:background .3s ease;padding:12px 8px}.expanded-team--winner{background:linear-gradient(160deg,color-mix(in srgb,var(--accent-color) 14%,transparent) 0%,color-mix(in srgb,var(--accent-color) 6%,transparent) 50%,transparent 100%);border:1.5px solid color-mix(in srgb,var(--accent-color) 30%,transparent);box-shadow:inset 0 0 12px color-mix(in srgb,var(--accent-color) 8%,transparent),0 0 20px color-mix(in srgb,var(--accent-color) 6%,transparent);position:relative;overflow:hidden;animation:winner-glow-pulse 1.2s linear infinite alternate}@keyframes winner-glow-pulse{0%{box-shadow:inset 0 0 12px color-mix(in srgb,var(--accent-color) 6%,transparent),0 0 15px color-mix(in srgb,var(--accent-color) 4%,transparent);border-color:color-mix(in srgb,var(--accent-color) 20%,transparent)}to{box-shadow:inset 0 0 18px color-mix(in srgb,var(--accent-color) 14%,transparent),0 0 25px color-mix(in srgb,var(--accent-color) 12%,transparent);border-color:color-mix(in srgb,var(--accent-color) 45%,transparent)}}.expanded-team--winner:before{content:"";position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--accent-color);border-radius:0 0 10px 10px}.expanded-team--winner:after{content:"";position:absolute;top:-50%;left:-60%;width:40%;height:200%;background:linear-gradient(105deg,transparent 0%,transparent 35%,color-mix(in srgb,var(--accent-color) 12%,white 8%) 45%,rgba(255,255,255,.24) 50%,color-mix(in srgb,var(--accent-color) 12%,white 8%) 55%,transparent 65%,transparent 100%);animation:metallic-sweep 1.6s linear infinite;pointer-events:none}@keyframes metallic-sweep{0%{left:-60%;opacity:0}15%{opacity:1}50%{left:120%;opacity:1}65%{opacity:0}to{left:120%;opacity:0}}.expanded-team--winner .expanded-team-name{font-weight:700;background:linear-gradient(135deg,color-mix(in srgb,var(--accent-color) 100%,black 30%) 0%,var(--accent-color) 25%,color-mix(in srgb,var(--accent-color) 40%,white) 50%,var(--accent-color) 75%,color-mix(in srgb,var(--accent-color) 100%,black 30%) 100%);background-size:200% 100%;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;animation:metallic-text-shimmer 1.2s linear infinite}@keyframes metallic-text-shimmer{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.expanded-team--winner .expanded-badge{filter:drop-shadow(0 2px 8px color-mix(in srgb,var(--accent-color) 40%,transparent));animation:badge-glow 1.2s linear infinite alternate}@keyframes badge-glow{0%{filter:drop-shadow(0 2px 6px color-mix(in srgb,var(--accent-color) 30%,transparent))}to{filter:drop-shadow(0 2px 14px color-mix(in srgb,var(--accent-color) 60%,transparent))}}.expanded-badge-wrap{width:64px;height:64px;border-radius:50%;border:3px solid;display:flex;align-items:center;justify-content:center;background:var(--bg);overflow:hidden}.expanded-badge{width:44px;height:44px;object-fit:contain;object-position:center}.expanded-team-name{font-size:1rem;font-weight:500;text-align:center;line-height:1.2}.expanded-ha{font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);opacity:.6}.expanded-vs-area{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:80px}.expanded-vs{font-size:1rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em}.expanded-score{display:flex;align-items:center;gap:8px}.expanded-score-num{font-size:2.2rem;font-weight:800;line-height:1}.expanded-score-sep{font-size:1.4rem;color:var(--text-muted);font-weight:300}.expanded-ht{font-size:.7rem;color:var(--text-muted);font-weight:500}.expanded-cards-row{display:flex;align-items:center;justify-content:center;gap:20px;padding:0 8px}.expanded-cards-row .fixture-cards{flex:1;display:flex;justify-content:center}.expanded-meta{text-align:center;font-size:.8rem;color:var(--text-muted);padding:4px 0 16px}.expanded-watch{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding-bottom:16px}.expanded-watch-link{display:flex;align-items:center;justify-content:center;gap:6px;padding:10px 12px;border-radius:10px;background:var(--bg);border:1px solid var(--border);font-size:.8rem;font-weight:500;color:var(--text);text-decoration:none;transition:background .15s,border-color .15s;cursor:pointer}.expanded-watch-link:hover{background:var(--surface);border-color:var(--accent);color:var(--accent)}.expanded-watch-icon{font-size:1rem}.expanded-reveal-btn{width:100%;padding:14px;border:none;border-radius:12px;background:linear-gradient(135deg,var(--accent),#8b5cf6);color:#fff;font-size:1rem;font-weight:700;font-family:inherit;cursor:pointer;letter-spacing:.02em;transition:opacity .15s,transform .15s}.expanded-reveal-btn:hover{opacity:.9;transform:translateY(-1px)}.expanded-reveal-btn:active{transform:translateY(0)}.expanded-no-result{text-align:center;padding:12px;color:var(--text-muted);font-size:.85rem;font-style:italic}.expanded-stats{padding-top:16px;border-top:1px solid var(--border);margin-top:16px}.expanded-stats-title{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);text-align:center;margin-bottom:12px}.expanded-stat-row{display:flex;align-items:center;padding:6px 0}.expanded-stat-val{flex:1;font-size:.9rem;font-weight:600;text-align:center}.expanded-stat-label{flex:2;font-size:.75rem;color:var(--text-muted);text-align:center}.mobile-scrubber{position:relative}.mobile-scrubber-title{display:block;width:100%;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;padding:10px 16px;box-shadow:0 2px 8px #00000014,0 1px 3px #0000000f;font-family:inherit;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s}.mobile-scrubber-title:hover{border-color:var(--text-muted)}.mobile-scrubber-title:active{background:var(--border)}.mobile-scrubber-label{display:flex;align-items:center;justify-content:center;gap:6px;font-size:1.1rem;font-weight:700;color:var(--text);text-align:center}.mobile-scrubber-chevron{width:1.1em;height:1.1em;color:var(--text-muted);transition:transform .2s;flex-shrink:0}.mobile-scrubber--open .mobile-scrubber-chevron{transform:rotate(180deg)}.mobile-scrubber-grid{position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%);width:fit-content;display:grid;grid-template-columns:repeat(6,44px);gap:10px;padding:14px;background:var(--surface);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px #0000001f,0 2px 8px #0000000f;z-index:20;animation:mobile-grid-in .15s ease}@keyframes mobile-grid-in{0%{opacity:0;transform:translate(-50%) translateY(-4px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.mobile-scrubber-grid-item{aspect-ratio:1;max-width:44px;max-height:44px;border-radius:50%;border:2px solid var(--border);background:transparent;font-family:inherit;font-size:.75rem;font-weight:600;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:transform .12s,border-color .15s,background .15s}.mobile-scrubber-grid-item:hover{transform:scale(1.1)}.mobile-scrubber-grid-item--future{border-color:var(--border);opacity:.4}.mobile-scrubber-grid-item--available{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,transparent);color:var(--accent)}.mobile-scrubber-grid-item--partial{border-color:var(--accent);background:linear-gradient(135deg,var(--accent),#a78bfa);color:#fff}.mobile-scrubber-grid-item--revealed{border-color:var(--reveal);background:var(--reveal);color:#fff}.mobile-scrubber-grid-item--active{transform:scale(1.2);box-shadow:0 0 0 4px color-mix(in srgb,var(--accent) 40%,transparent);font-weight:700;opacity:1}.app-header-mobile,.app-table-mobile{display:none}@media(max-width:1280px){.app-layout{grid-template-columns:1fr}.nav-spacer{display:none}.app-main{padding:0 16px 24px}.app-content{gap:0 16px}.app-sidebar{min-width:auto}.app-header-mobile{display:block;padding:10px 16px 4px}.app-sidebar-header{display:none}}@media(max-width:1024px){.app-layout{grid-template-columns:1fr}.nav-spacer{display:none}.app-main{padding:0 16px 160px}.app-content{grid-template-columns:1fr;gap:0}.app-sidebar-table-toggle{display:flex;position:sticky;top:0;z-index:1;background:var(--surface)}.app-sidebar{position:fixed;bottom:0;left:0;right:0;z-index:50;grid-column:1;min-width:auto;max-height:140px;overflow:hidden;margin:0;padding:0 16px;border-radius:16px 16px 0 0;box-shadow:0 -4px 24px #0000001a;cursor:pointer;transition:max-height .3s ease}.app-sidebar--open{max-height:50dvh;overflow-y:auto;cursor:pointer}.app-main--table-open{height:100dvh;overflow:hidden;padding-bottom:0}.app-main--table-open .app-matches{max-height:calc(50dvh - 60px);overflow-y:auto}.app-matches{grid-column:1}.fixture-list{gap:16px}}@media(max-width:768px){.app-layout{overflow-x:hidden}.app-main{padding:0 0 64px;overflow-x:hidden}.app-header-mobile{display:block;padding:10px 16px 4px}.app-table-mobile{display:none}.app-sidebar{max-height:44px}.app-sidebar--open{max-height:50dvh}.app-main--table-open{height:100dvh;overflow:hidden;padding-bottom:0}.app-main--table-open .app-matches{max-height:calc(50dvh - 60px);overflow-y:auto}.app-content{display:flex;flex-direction:column;gap:0}.app-matches{border:none;border-radius:0;padding:12px;margin-top:0;background:transparent;width:100%;max-width:100vw;overflow:hidden;box-sizing:border-box}.matchday-view{padding-top:0}.fixture-list{grid-template-columns:1fr!important;gap:10px;padding-top:0}.fixture-card--revealed{border-color:var(--border);border-width:1px}.fixture-half--desktop,.fixture-center--desktop{display:none}.fixture-row,.fixture-row-sep{display:flex}.fixture-card{flex-direction:row;align-items:center;padding:0;min-height:auto;border-radius:10px;gap:0;overflow:hidden;border-left:3px solid transparent;border-right:3px solid transparent}.fixture-card:has(.fixture-row--home.fixture-row--winner){border-left-color:var(--team-color)}.fixture-card:has(.fixture-row--away.fixture-row--winner){border-right-color:var(--team-color)}.fixture-row{flex:1;min-width:0;display:grid;grid-template-columns:1fr auto;align-items:center;padding:12px;gap:8px}.fixture-row--away{grid-template-columns:auto 1fr}.fixture-row--winner{background:linear-gradient(to right,color-mix(in srgb,var(--team-color) 16%,transparent) 0%,transparent 100%)}.fixture-row--away.fixture-row--winner{background:linear-gradient(to left,color-mix(in srgb,var(--team-color) 16%,transparent) 0%,transparent 100%)}.fixture-row-team{display:flex;align-items:center;gap:8px;min-width:0;flex:1}.fixture-row-team--away{flex-direction:row;justify-content:flex-end}.fixture-row-team-info{min-width:0;flex:1;display:flex;align-items:center}.fixture-row-team-info--away{justify-content:flex-end}.fixture-row-score-col{display:grid;grid-template-rows:1fr auto 1fr;place-items:center;min-width:0}.fixture-row-score-col .fixture-row-score{grid-row:2}.fixture-row-score-col .fixture-cards--inline{grid-row:3;align-self:end;margin-bottom:-12px;width:auto}.fixture-row--home .fixture-row-score-col .fixture-cards--inline,.fixture-row--away .fixture-row-score-col .fixture-cards--inline{justify-self:center}.fixture-row-score{text-align:center;flex-shrink:0;font-weight:700;font-size:1.1rem}.fixture-row-sep{flex-shrink:0;width:4px;display:flex;align-items:center;justify-content:center;padding:8px 0}.fixture-ha-label{display:none}.fixture-badge-wrap{width:36px;height:36px;flex-shrink:0}.fixture-badge{width:26px;height:26px}.fixture-team-name{font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.fixture-row--away .fixture-team-name{text-align:right}.fixture-team-name--full{display:none}.fixture-team-name--med{display:inline}.fixture-team-name--short{display:none}.fixture-score-num{font-size:1.1rem}.fixture-card--has-sticker{overflow:visible}.sticker-wrap{position:absolute!important;inset:0!important;display:flex!important;align-items:center!important;justify-content:center!important;transform:scale(1);transform-origin:center center;scale:.8;animation:sticker-pop-mobile .4s cubic-bezier(.34,1.56,.64,1) both!important}.sticker-wrap:not(.sticker-wrap--dramatic) .sticker-icon{margin-top:0!important}.sticker-wrap--goal-fest{--sr-mobile: 12deg}.sticker-wrap--derby{--sr-mobile: 10deg}.sticker-wrap--lead-change{--sr-mobile: -12deg}.sticker-wrap--dramatic{--sr-mobile: -10deg}.sticker-wrap--nail-biter,.sticker-wrap--card-fest,.sticker-wrap--heroic-goal,.sticker-wrap--comeback,.sticker-wrap--late-drama,.sticker-wrap--hat-trick,.sticker-wrap--upset{--sr-mobile: 0deg}@keyframes sticker-pop-mobile{0%{transform:scale(0) rotate(calc(var(--sr-mobile, 0deg) + 30deg))}to{transform:scale(1) rotate(var(--sr-mobile, 0deg))}}.sticker-wrap--hiding{animation:sticker-shrink-mobile .3s linear both!important}@keyframes sticker-shrink-mobile{0%{transform:scale(1) rotate(var(--sr-mobile, 0deg));opacity:1}to{transform:scale(0) rotate(calc(var(--sr-mobile, 0deg) - 30deg));opacity:0}}.matches-divider{margin:16px 0 0}.spoiler-select,.reveal-all-btn{width:100%!important;max-width:100%!important;min-width:0!important}.reveal-all-btn{font-size:.75rem;padding:10px 16px}.expanded-card{width:calc(100vw - 24px)!important;left:12px!important;top:12px!important;max-height:calc(100dvh - 24px);border-radius:14px;padding:20px 16px}.expanded-teams{gap:12px;padding:12px 0 8px}.expanded-team{padding:10px 4px}.expanded-badge-wrap{width:52px;height:52px}.expanded-badge{width:36px;height:36px}.expanded-team-name{font-size:.85rem}.expanded-score-num{font-size:1.8rem}.expanded-watch{grid-template-columns:1fr}.league-table td{padding:6px 4px;font-size:.75rem}.league-table th{padding:6px 4px;font-size:.6rem}.lt-team-badge{width:16px;height:16px}.lt-team-cell{gap:6px}.lt-team-name{font-size:.7rem}.lt-team-name--full{display:none}.lt-team-name--short{display:inline}.lt-delta{font-size:.55rem;margin-left:4px}.fixture-card--derby{box-shadow:0 0 6px #648cc826,0 0 20px #3c508c14}}@media(max-width:400px){.mobile-scrubber-grid{grid-template-columns:repeat(5,1fr)}.fixture-team-name--full{display:none}.fixture-team-name--med{display:inline}.fixture-team-name--short{display:none}}.app-content{transition:opacity .15s ease}.app-content--navigating{opacity:.5;pointer-events:none}.app-loading,.app-error{display:flex;align-items:center;justify-content:center;min-height:100dvh;font-size:1.1rem;color:var(--text-secondary, #666)}.app-error{color:var(--error-color, #c33)}*{margin:0;padding:0;box-sizing:border-box}:root{--bg: #f5f5f7;--surface: #fff;--border: #e0e0e6;--text: #1a1a2e;--text-muted: #6b6b80;--accent: #6366f1;--reveal: #16a34a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,system-ui,sans-serif;color:var(--text);-webkit-font-smoothing:antialiased}body{min-height:100dvh;background-color:var(--bg)}#root{padding:0}
