:root{
 --league-gradient:radial-gradient(ellipse at 79% 45%,#9a3d7266,transparent 56%),linear-gradient(115deg,#24163e,#462359 60%,#361947);
 --favorite-color:#6331a1;
 --favorite-dark:color-mix(in srgb,var(--favorite-color) 47%,#172039);
 --favorite-light:color-mix(in srgb,var(--favorite-color) 13%,white);
 --favorite-rank-fill:color-mix(in srgb,var(--favorite-color) 47%,white);
 --favorite-gradient:linear-gradient(112deg,#172039,var(--favorite-dark),color-mix(in srgb,var(--favorite-color) 65%,#172039));
}
.favorite-trigger{
 display:inline-flex;align-items:center;gap:7px;min-height:40px;padding:4px 10px;
 border:1px solid #ffffff66;border-radius:999px;background:#ffffff15;color:#fff;
 font:inherit;font-size:.83rem;font-weight:750;text-align:left;cursor:pointer;
}
header .favorite-trigger:is(:hover,:focus-visible){background:#ffffff30;color:white}
.favorite-trigger img,.favorite-trigger .favorite-monogram{
 width:28px;height:28px;border-radius:50%;flex:none;object-fit:contain;background:white;color:var(--favorite-dark)
}
.favorite-monogram{display:grid;place-items:center;font-weight:850}
header > .favorite-trigger{margin-top:8px}
html[data-favorite-team] body > header,
html[data-favorite-team] body > footer,
html[data-favorite-team] .favorite-feature,
html[data-favorite-team] body.public-gradient{background:var(--favorite-gradient)}
body.public-gradient{min-height:100vh;display:flex;flex-direction:column;background:var(--league-gradient)}
.public-gradient main{flex:1;color:white}
.calendar-page #calendario > .eyebrow{color:#ffdc8b}
.calendar-page .cards article{color:var(--ink)}
body.public-gradient > :is(header,footer),
html[data-favorite-team] body.public-gradient > :is(header,footer){background:transparent}
main:has(>.favorite-feature){padding-inline:0}
.favorite-feature{
 color:white;border-bottom:5px solid var(--gold);
 background:var(--league-gradient);
}
.favorite-feature .hero{background:transparent;border-bottom:0}
.favorite-feature #participantes{border-top:1px solid #ffffff30;border-bottom:0}
.favorite-feature #participantes > .eyebrow{color:var(--favorite-light)}
.favorite-feature #clubs article{color:var(--ink)}
html[data-favorite-team] body.public-live,
html.public-live[data-favorite-team] body{
 background:radial-gradient(ellipse at top right,var(--favorite-dark),transparent 65%),linear-gradient(110deg,#172039,#172539);
}
html[data-favorite-team] .favorite-trigger{border-color:var(--favorite-light)}
html[data-favorite-team] .hero .gold{background:var(--favorite-light);border-color:var(--favorite-light);color:#172039}
.favorite-dialog{
 width:min(440px,calc(100% - 28px));padding:20px;border:1px solid #cbd4e3;border-radius:14px;
 background:#fff;color:#172039;
}
.favorite-dialog::backdrop{background:#172039bb}
.favorite-dialog h2{font-size:1.45rem;margin:0 0 12px}
.favorite-dialog label{display:grid;gap:5px;font-weight:700}
.favorite-dialog select{width:100%;min-height:44px;font:inherit}
.favorite-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.favorite-home[hidden]{display:none}
.favorite-home{color:white;border-top:1px solid #ffffff30;border-bottom:0}
.favorite-home-title{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-bottom:8px}
.favorite-home-title :is(h2,p){margin:0}
.favorite-home-title .eyebrow{color:var(--favorite-light)}
.favorite-home-title h2{font-size:clamp(1.5rem,5vw,2.4rem)}
.favorite-home button.outline{background:#fff;color:#172039}
.favorite-profile{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;align-items:start}
.favorite-visual{position:relative;display:grid;place-items:center;min-height:120px;background:var(--favorite-light);border:3px solid var(--favorite-color);border-radius:10px;overflow:hidden}
.favorite-visual::after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,var(--favorite-dark));opacity:.64;pointer-events:none}
.favorite-photo-crest{
 position:absolute;z-index:1;top:8px;right:8px;display:grid;place-items:center;width:58px;height:58px;
 padding:5px;border:2px solid var(--favorite-color);border-radius:50%;background:white;color:var(--favorite-dark);
}
.favorite-photo-crest img{width:100%;height:100%;min-width:0;min-height:0;object-fit:contain}
.favorite-photo-crest .favorite-monogram{font-size:1.5rem}
.favorite-group{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:cover}
.favorite-photo-label{position:absolute;z-index:1;bottom:7px;left:7px;background:#172039;color:white;padding:3px 6px;border-radius:4px;font-size:.68rem;font-weight:800}
.favorite-detail h3{margin:7px 0 4px;font-size:1rem}
.favorite-detail p{margin:0}
.favorite-club{font-weight:800;color:var(--favorite-light)}
.favorite-caption{font-size:.82rem}
.favorite-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;list-style:none;padding:0;margin:0}
.favorite-roster li{display:flex;align-items:center;gap:6px;padding:4px;background:white;color:#172039;border:1px solid #d6dfeb;border-radius:8px;overflow-wrap:anywhere}
.favorite-roster small{display:block;font-size:.75rem}
.favorite-avatar{display:grid;place-items:center;width:44px;height:44px;flex:none;border-radius:50%;background:var(--favorite-light);color:var(--favorite-dark);font-weight:800}
.favorite-avatar.sample-portrait{background-image:url('/favorito-retratos.png');background-size:300% 200%;box-shadow:0 0 0 2px var(--favorite-color)}
@media(max-width:650px){
 .favorite-profile{grid-template-columns:1fr;gap:8px}
 header .nav:has(>.favorite-trigger),
 body.public-live > header:has(>.favorite-trigger){
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,46%);align-items:center;gap:6px 8px;
 }
 header .nav:has(>.favorite-trigger) > :is(.brand-logo,.standings-brand),
 body.public-live > header:has(>.favorite-trigger) > .brand{grid-area:1/1;min-width:0}
 header .nav:has(>.favorite-trigger) > nav,
 body.public-live > header:has(>.favorite-trigger) > #public-phase{grid-column:1/-1}
 header .favorite-trigger{
  grid-area:1/2;justify-self:end;max-width:100%;min-width:0;margin:0;font-size:.76rem;
 }
 header .favorite-trigger > span:last-child{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
}


.public-live .favorite-team-row{
 --favorite-row-rest:var(--favorite-rank-fill);
 --favorite-row-flash:color-mix(in srgb,var(--favorite-color) 25%,white);
}
.public-live #rank > table > tbody > tr.favorite-team-row,
#live-scores li.favorite-team-row{
 background-color:var(--favorite-rank-fill);color:#111827;
 box-shadow:inset 4px 0 var(--favorite-color);
}
.public-live #rank > table > tbody > tr.favorite-team-row > :is(th,td:not([data-label="Total"])),
.public-live #live-scores li.favorite-team-row dl > div:not(.live-final){
 background:transparent;color:#111827;
}
#live-scores .favorite-team-row .live-athlete small,
.public-live #rank tr.favorite-team-row .team-detail-trigger{color:#111827;font-weight:850}
.standings :is(#scores,#points,#final) :is(#score-table,#points-table,#final-table) tr.favorite-team-row,
.standings :is(#scores,#points,#final) :is(#score-table,#points-table,#final-table) tr.favorite-team-row > :is(th,td){
 background:var(--favorite-rank-fill);color:#111827;font-weight:800;
}
.standings tr.favorite-team-row > th[scope="row"]{box-shadow:inset 4px 0 var(--favorite-color);padding-inline-start:8px}
@media(max-width:680px){
 .standings :is(#scores,#points,#final) tr.favorite-team-row{border-color:var(--favorite-color)}
}

.my-club #my-club-content{margin-top:12px}
.my-club .eyebrow{color:#ffdc8b}
.my-club-identity{display:flex;align-items:center;gap:12px}
.my-club-identity h2{margin:0}
.my-club-crest{width:64px;aspect-ratio:1;flex:none;padding:6px;border-radius:50%;background:white;color:var(--favorite-dark);display:grid;place-items:center}
.my-club-crest img{width:100%;height:100%;object-fit:contain}
.my-club-stats,.my-club-teams{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr));gap:8px;padding:0;list-style:none}
.my-club-stats div,.my-club-teams > li{padding:9px 12px;border-radius:8px;background:var(--favorite-light);color:#172039}
.my-club-stats dt,.my-club-division{display:block;font-size:.85rem}
.my-club-stats dd{margin:0;font-size:1.6rem;font-weight:850}

.my-club-teams{grid-template-columns:repeat(auto-fit,minmax(min(100%,245px),1fr))}
.my-club-teams > li{background:var(--category-tint);border-inline-start:5px solid var(--category)}
.my-club-schedule{margin:7px 0 0;font-size:.85rem}
.my-club-schedule summary{cursor:pointer;font-weight:750}
.my-club-schedule ul{margin:4px 0;padding-inline-start:18px}

.calendar-page .calendar-cards{
 grid-template-columns:minmax(630px,3fr) minmax(210px,1fr);gap:12px;
 overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity;
}
.calendar-cards article{scroll-snap-align:start}
.calendar-phase-group{
 display:grid;grid-template-columns:repeat(3,minmax(0,1fr));overflow:hidden;
 outline:1px solid #ffffff66;outline-offset:-1px;border-radius:10px;background:white;
}
.calendar-page .calendar-card{display:flex;flex-direction:column;padding:0;overflow:hidden;border:1px solid #ffffff45}
.calendar-page .calendar-phase-group > .calendar-card{border:0;border-radius:0;box-shadow:none}
.calendar-phase-group > .calendar-card{position:relative}
.calendar-phase-group > .calendar-card + .calendar-card::before{
 content:"";position:absolute;z-index:1;inset-block:0;inset-inline-start:0;width:4px;background:var(--favorite-dark);
}
.calendar-page .calendar-final{border:0;outline:2px solid #ffcf65;outline-offset:-2px;background:#fff4d7}
.calendar-final .calendar-card-heading{background:#ffcf65}
.calendar-final .calendar-card-heading .tag{color:#503400}
.calendar-card-heading{block-size:7.5rem;flex:none;padding:12px 14px;background:var(--favorite-light)}
.calendar-card-heading :is(h2,p){margin:0}
.calendar-card-heading .tag{color:var(--favorite-dark)}
.calendar-card-heading h2{font-size:clamp(1.3rem,2.5vw,1.55rem);margin:2px 0}
.calendar-date{font-weight:700}
.calendar-card-info{padding:10px 14px 14px}
.calendar-card-info .actions{justify-content:flex-start;flex-wrap:nowrap;gap:8px;margin-top:9px}
.calendar-card-info .actions a{display:inline-grid;place-items:center;width:44px;min-height:44px;padding:6px;border-radius:8px}
.calendar-card-info .actions svg{width:23px;height:23px}
.calendar-card-info .actions .gold{background:#08776d;border-color:#08776d;color:white}
.calendar-card-info .actions .calendar-results{background:#8d2878;border-color:#8d2878;color:white}
.calendar-card-info .actions a:is(:hover,:focus-visible){filter:brightness(1.12)}
.calendar-photo{margin:0;background:#f1edf6}
.calendar-photo img{display:block;width:100%;height:clamp(90px,16vw,145px);object-fit:cover}
.calendar-photo figcaption{padding:3px 10px;font-size:.72rem}
@media(max-width:920px){
 .calendar-page .calendar-cards{grid-template-columns:minmax(0,1fr);overflow:visible;scroll-snap-type:none}
 .calendar-phase-group{grid-template-columns:minmax(0,1fr)}
 .calendar-phase-group > .calendar-card + .calendar-card::before{
  inset-block:0 auto;inset-inline:0;width:auto;height:4px;
 }
 .calendar-card-heading{block-size:auto;padding:12px 14px}
 .calendar-card-heading h2{font-size:1.5rem}
 .calendar-photo img{height:auto;aspect-ratio:16/7;max-height:230px}
}

#clubs article:has(.participant-team-link){position:relative}
.participant-team-link::after{content:"";position:absolute;z-index:1;inset:0}
#clubs article:has(.participant-team-link:is(:hover,:focus-visible)){
 box-shadow:0 0 0 2px var(--category),0 5px 12px #17203930;
}
.team-page .favorite-home{border-top:0}
.team-page .back-to-teams{display:inline-block;margin-bottom:10px;color:var(--favorite-light)}
.team-page .favorite-home-title{margin-bottom:14px}
