.liga-selector,.liga-section-hero,.liga-coming-soon,.liga-closed{--liga-season:var(--clay);--liga-ink:var(--accent);--liga-soft:var(--accent-light);--liga-season-on-board:var(--clay-light);--liga-logo-surface:#fff;--liga-medal-silver-bg:#5f6b65;--liga-medal-silver-ink:#fff;--liga-medal-bronze-bg:#8d5530;--liga-medal-bronze-ink:#fff}.liga-container{max-width:72rem;margin-inline:auto;padding-inline:1rem}.liga-selector,.liga-closed{padding-block:2rem 4rem}.liga-selector-intro{margin-bottom:1.5rem}.liga-selector-intro h1,.liga-hero-copy h1,.liga-section-heading h2,.liga-coming-soon h2{font-family:var(--font-heading);text-transform:uppercase;letter-spacing:.01em;text-wrap:balance;font-weight:800;line-height:.93}.liga-selector-intro h1{font-size:clamp(2.75rem,6vw,4.5rem)}.liga-selector-intro p{max-width:60ch;color:var(--muted-foreground);margin-top:.75rem}.liga-seasons-grid{gap:1.25rem;display:grid}.liga-season-column{background:var(--card);border:1.5px solid var(--border);border-radius:.5rem;overflow:hidden}.liga-season-column[data-identity=liga-invierno],.liga-section-hero[data-identity=liga-invierno],.liga-coming-soon[data-identity=liga-invierno],.liga-closed[data-identity=liga-invierno]{--liga-season:var(--section-accent);--liga-ink:#245f8f;--liga-soft:#e3eff8;--liga-season-on-board:#9cc7ea}.liga-season-column[data-identity=liga-verano],.liga-section-hero[data-identity=liga-verano],.liga-coming-soon[data-identity=liga-verano],.liga-closed[data-identity=liga-verano]{--liga-season:var(--section-accent);--liga-ink:#7a5200;--liga-soft:#fdf1d2;--liga-season-on-board:#f5c754}.liga-season-column-head{border-bottom:6px solid var(--liga-season);background:var(--liga-soft);align-items:center;gap:.875rem;min-height:7rem;padding:1rem;display:flex;position:relative;overflow:hidden}.liga-season-column-head>*{z-index:1;position:relative}.liga-season-column-head h2{font-family:var(--font-heading);text-transform:uppercase;font-size:2rem;font-weight:800;line-height:.95}.liga-season-column-head p{color:var(--liga-ink);font-size:.9375rem;font-weight:700}.liga-court-lines{z-index:0;border:2px solid color-mix(in srgb,var(--liga-ink) 28%,transparent);border-bottom:0;border-right:0;width:7rem;position:absolute;top:.75rem;bottom:-.5rem;right:-6rem}.liga-court-lines:after{content:"";border-top:2px solid color-mix(in srgb,var(--liga-ink) 28%,transparent);position:absolute;top:48%;left:0;right:0}.liga-logo-disc{border:1.5px solid var(--border);background:var(--liga-logo-surface);border-radius:50%;flex:none;place-items:center;width:3.75rem;height:3.75rem;display:grid}.liga-logo-disc img{object-fit:contain;width:78%;height:78%}.liga-timeline{margin:0;padding:1.125rem 1rem;list-style:none;display:grid}.liga-timeline-item{padding:0 0 1.125rem 1.875rem;position:relative}.liga-timeline-item:before{content:"";border-left:2px solid var(--border);position:absolute;top:12px;bottom:-8px;left:7px}.liga-timeline-item:last-child{padding-bottom:0}.liga-timeline-item:last-child:before{display:none}.liga-timeline-dot{border:2px solid var(--border);background:var(--card);border-radius:50%;width:1rem;height:1rem;position:absolute;top:5px;left:0}.liga-timeline-item-featured .liga-timeline-dot{background:var(--liga-season);border-color:var(--liga-ink)}.liga-season-link{color:var(--foreground);border-radius:.375rem;gap:.375rem;min-height:2.75rem;text-decoration:none;display:grid}.liga-timeline-item-featured .liga-season-link{border:1.5px solid var(--liga-ink);background:var(--background);padding:.875rem}.liga-season-name{font-family:var(--font-heading);text-transform:uppercase;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:1.375rem;font-weight:800;line-height:1.05;display:flex}.liga-season-description{color:var(--muted-foreground);font-size:.875rem}.liga-season-go{color:var(--accent);align-items:center;gap:.25rem;font-size:.9375rem;font-weight:700;display:inline-flex}.liga-status{width:max-content;font-family:var(--font-sans);text-transform:none;white-space:nowrap;border-radius:999px;align-items:center;gap:.4rem;padding:.2rem .625rem;font-size:.75rem;font-weight:700;line-height:1.4;display:inline-flex}.liga-status:before{content:"";background:currentColor;border-radius:50%;width:.4375rem;height:.4375rem}.liga-status-active{background:var(--win-soft);color:var(--win)}.liga-status-upcoming{background:var(--pending-soft);color:var(--pending)}.liga-status-finished{background:var(--walkover-soft);color:var(--walkover)}.liga-column-empty,.liga-empty{color:var(--muted-foreground);padding:1.5rem}.liga-rules-link{min-height:2.75rem;color:var(--accent);text-underline-offset:3px;align-items:center;margin-top:1.5rem;font-weight:700;display:inline-flex}.liga-section-hero{background:var(--background);border-bottom:1.5px solid var(--border);overflow:hidden}.liga-hero-grid{max-width:100%;padding:0;display:grid}.liga-hero-copy{align-content:center;gap:.625rem;min-width:0;padding:1.5rem max(1rem,50vw - 36rem);display:grid}.liga-back-link{width:max-content;max-width:100%;min-height:2.75rem;color:var(--accent);align-items:center;font-size:.875rem;font-weight:700;text-decoration:none;display:inline-flex}.liga-hero-kicker-row{align-items:center;gap:.875rem;display:flex}.liga-hero-logo{width:4rem;height:4rem}.liga-hero-kicker{color:var(--liga-ink);font-size:.9375rem;font-weight:700}.liga-hero-copy h1{font-size:clamp(2.625rem,5vw,4rem)}.liga-hero-meta{color:var(--muted-foreground);flex-wrap:wrap;align-items:center;gap:.5rem 1rem;font-size:.9375rem;display:flex}.liga-hero-band{isolation:isolate;background:var(--board);min-height:8.5rem;position:relative;overflow:hidden}.liga-half-court{border:2px solid color-mix(in srgb,var(--board-foreground) 55%,transparent);position:absolute;inset:1.125rem}.liga-half-court:before{content:"";border-top:2px solid color-mix(in srgb,var(--board-foreground) 55%,transparent);position:absolute;top:44%;left:0;right:0}.liga-half-court:after{content:"";border-left:2px solid color-mix(in srgb,var(--board-foreground) 55%,transparent);position:absolute;top:44%;bottom:0;left:50%}.liga-band-baseline{background:var(--liga-season);height:.5rem;position:absolute;bottom:0;left:0;right:0}.liga-atmosphere{pointer-events:none;position:absolute;inset:0}.liga-atmosphere-snow:before,.liga-atmosphere-snow:after{content:"";background-image:radial-gradient(circle,var(--board-foreground) 1.3px,transparent 1.8px);opacity:.45;--liga-snow-distance:64px;background-size:64px 64px;animation:4.8s linear infinite liga-snow-fall;position:absolute;inset:-13rem 0 0}.liga-atmosphere-snow:after{opacity:.28;--liga-snow-distance:104px;background-position:30px 50px;background-size:104px 104px;animation-duration:7.2s}@keyframes liga-snow-fall{to{transform:translateY(var(--liga-snow-distance))}}.liga-atmosphere-sun{background:radial-gradient(circle at 88% -10%,color-mix(in srgb,var(--liga-season) 55%,transparent),transparent 58%)}.liga-atmosphere-sun:after{content:"";background:radial-gradient(circle at 88% -10%,color-mix(in srgb,var(--liga-season) 30%,transparent),transparent 40%);animation:liga-sun-glow 3s var(--ease-in-out) infinite alternate;position:absolute;inset:0}@keyframes liga-sun-glow{0%{opacity:.35}to{opacity:1}}.liga-season-link:focus-visible,.liga-back-link:focus-visible,.liga-rules-link:focus-visible,.liga-solid-link:focus-visible{outline:3px solid var(--accent);outline-offset:3px}.liga-coming-soon{align-content:start;justify-items:start;gap:.875rem;max-width:72rem;min-height:24rem;padding-block:3rem 5rem;display:grid}.liga-coming-mark{background:var(--liga-soft,var(--accent-light));width:4rem;height:4rem;color:var(--liga-ink);border-radius:50%;place-items:center;display:grid}.liga-eyebrow{color:var(--liga-ink,var(--accent));text-transform:uppercase;letter-spacing:.08em;font-size:.875rem;font-weight:700}.liga-coming-soon h2{font-size:clamp(2.5rem,5vw,4rem)}.liga-coming-soon>p:not(.liga-eyebrow){max-width:55ch;color:var(--muted-foreground)}.liga-coming-date{font-weight:700}.liga-solid-link{background:var(--accent);min-height:2.75rem;color:var(--accent-foreground);border-radius:.375rem;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem 1rem;font-weight:700;text-decoration:none;display:inline-flex}.liga-section-heading{margin-bottom:1.5rem}.liga-section-heading h2{font-size:clamp(1.75rem,3vw,2.25rem)}.liga-section-heading>p:last-child{color:var(--muted-foreground);margin-top:.5rem}.liga-podium-grid{gap:1rem;display:grid}.liga-podium-card{border:1.5px solid var(--border);background:var(--card);border-radius:.5rem;overflow:hidden}.liga-podium-champion{background:var(--board);color:var(--board-foreground);gap:.25rem;padding:1rem 3rem 1.1rem 1.1rem;display:grid;position:relative}.liga-podium-cat{text-transform:uppercase;letter-spacing:.03em;color:var(--liga-season-on-board);font-size:.8125rem;font-weight:700}.liga-podium-champion strong{font-family:var(--font-heading);text-transform:uppercase;font-size:clamp(1.5rem,2.4vw,1.875rem);font-weight:800;line-height:1}.liga-podium-trophy{color:var(--ball);position:absolute;top:.9rem;right:.9rem}.liga-podium-tbd{color:color-mix(in srgb,var(--board-foreground) 80%,transparent);font-size:.875rem}.liga-podium-places{margin:0;padding:0;list-style:none}.liga-podium-places li{align-items:center;gap:.875rem;padding:.8rem 1.25rem;display:flex}.liga-podium-places li+li{border-top:1px solid var(--border)}.liga-podium-places li>span:last-child{display:grid}.liga-podium-places small{color:var(--muted-foreground);text-transform:uppercase;font-size:.75rem;font-weight:700}.liga-podium-places strong{font-weight:700}.liga-podium-medal{width:2rem;height:2rem;font-family:var(--font-heading);border-radius:50%;flex:none;place-items:center;font-size:1.25rem;font-weight:800;display:grid}.liga-podium-silver{background:var(--liga-medal-silver-bg);color:var(--liga-medal-silver-ink)}.liga-podium-bronze{background:var(--liga-medal-bronze-bg);color:var(--liga-medal-bronze-ink)}@media (min-width:48rem){.liga-container{padding-inline:2rem}.liga-seasons-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.75rem}.liga-season-other{grid-column:1/-1}.liga-court-lines{width:10rem;right:-2rem}.liga-hero-grid{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}.liga-hero-copy{padding-block:2.5rem;padding-left:max(2rem,50vw - 36rem);padding-right:2rem}.liga-hero-logo{width:5.5rem;height:5.5rem}.liga-hero-band{min-height:15rem}.liga-band-baseline{width:.5rem;height:auto;inset:0 auto 0 0}.liga-podium-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (min-width:62.5rem){.liga-podium-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (prefers-reduced-motion:reduce){.liga-atmosphere:before,.liga-atmosphere:after{animation:none!important}}.dark .liga-season-column[data-identity=liga-invierno],.dark .liga-section-hero[data-identity=liga-invierno],.dark .liga-coming-soon[data-identity=liga-invierno],.dark .liga-closed[data-identity=liga-invierno]{--liga-ink:#9cc7ea;--liga-soft:#15293a}.dark .liga-season-column[data-identity=liga-verano],.dark .liga-section-hero[data-identity=liga-verano],.dark .liga-coming-soon[data-identity=liga-verano],.dark .liga-closed[data-identity=liga-verano]{--liga-ink:#f5c754;--liga-soft:#302710}@media (hover:hover) and (pointer:fine){.liga-season-link:hover .liga-season-go,.liga-back-link:hover{text-decoration:underline}.liga-solid-link:hover{background:var(--accent-dark)}}.liga-board{--liga-season:var(--clay);--liga-ink:var(--accent);--liga-soft:var(--accent-light);--liga-season-on-board:var(--clay-light);background:var(--background)}.liga-board[data-identity=liga-invierno]{--liga-season:var(--section-accent);--liga-ink:#245f8f;--liga-soft:#e3eff8;--liga-season-on-board:#9cc7ea}.liga-board[data-identity=liga-verano]{--liga-season:var(--section-accent);--liga-ink:#7a5200;--liga-soft:#fdf1d2;--liga-season-on-board:#f5c754}.liga-team-header{--liga-season:var(--clay);--liga-ink:var(--accent);--liga-soft:var(--accent-light);border-top:.5rem solid var(--liga-season);border-bottom:1.5px solid var(--border);background:var(--liga-soft)}.liga-team-header[data-identity=liga-invierno]{--liga-season:var(--section-accent);--liga-ink:#245f8f;--liga-soft:#e3eff8}.liga-team-header[data-identity=liga-verano]{--liga-season:var(--section-accent);--liga-ink:#7a5200;--liga-soft:#fdf1d2}.liga-team-kicker{color:var(--liga-ink)}.liga-board-content>div:first-child{min-width:0}.liga-board-panel{border:1.5px solid var(--border);background:var(--card);border-radius:.5rem;overflow:hidden}.liga-board-accent-icon{color:var(--liga-ink)}.liga-board-accent-border{border-top-color:var(--liga-season)}.liga-board-icon-soft,.liga-board-date-badge{background:var(--liga-soft);color:var(--liga-ink)}.liga-board-next-series{border-left-color:var(--liga-ink);background:color-mix(in srgb,var(--liga-soft) 50%,var(--card))}.liga-board-team-chevron{color:var(--muted-foreground)}.liga-board-category[aria-pressed=true]{box-shadow:inset 0 -3px 0 var(--liga-season)}@media (hover:hover) and (pointer:fine){.liga-board-category[aria-pressed=false]:hover{background:var(--liga-soft);color:var(--foreground)}.liga-board-team-link:hover{border-color:var(--liga-ink)}.liga-board-team-link:hover .liga-board-team-chevron{color:var(--liga-ink)}.liga-board-series-button:hover{background:var(--surface)}}@media (min-width:64rem){.liga-board-content{grid-template-columns:12rem minmax(0,1fr);align-items:start;column-gap:2rem;display:grid}.liga-board-categories{grid-area:1/1/span 8;align-self:start;position:sticky;top:5rem}.liga-board-content>:not(:first-child){grid-column:2}.liga-board-category-list{border-left:2px solid var(--border);gap:0;display:grid}.liga-board-category{text-align:left;width:100%;box-shadow:none;--tw-ring-shadow:none;border-radius:0}.liga-board-category[aria-pressed=true]{color:var(--foreground);border-left:4px solid var(--liga-ink);box-shadow:none;background:0 0;margin-left:-3px}.liga-board-category[aria-pressed=false]{color:var(--muted-foreground);background:0 0;border-left:4px solid #0000;margin-left:-3px}}.dark .liga-board[data-identity=liga-invierno]{--liga-ink:#9cc7ea;--liga-soft:#15293a}.dark .liga-board[data-identity=liga-verano]{--liga-ink:#f5c754;--liga-soft:#302710}.dark .liga-team-header[data-identity=liga-invierno]{--liga-ink:#9cc7ea;--liga-soft:#15293a}.dark .liga-team-header[data-identity=liga-verano]{--liga-ink:#f5c754;--liga-soft:#302710}
