.tournament-feed-page{background:#12040b}
.tournament-feed-page .container{width:min(100% - 2rem,100rem)}
.tournament-feed-main{position:relative;isolation:isolate;min-height:calc(100vh - 5rem);display:grid;align-items:center;overflow:hidden;padding:1.5rem 0}
.tournament-feed-backdrop{position:absolute;z-index:-2;inset:0;background:linear-gradient(90deg,rgba(27,7,16,.97),rgba(74,16,37,.8) 55%,rgba(27,7,16,.56)),linear-gradient(0deg,#12040b 0%,transparent 42%),url("../assets/images/padel-courts-hero.jpg") center/cover fixed no-repeat}
.tournament-feed-backdrop::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 20% 32%,rgba(255,215,106,.1),transparent 28%),linear-gradient(180deg,transparent 60%,rgba(27,7,16,.92) 100%)}
.tournament-feed-panel{overflow:hidden;border:1px solid var(--colour-border);border-radius:var(--radius-lg);background:rgba(58,16,34,.94);box-shadow:var(--shadow);backdrop-filter:blur(12px)}
.tournament-feed-panel__header{display:flex;align-items:center;justify-content:space-between;gap:1.5rem;padding:1rem 1.25rem;border-bottom:1px solid var(--colour-border)}
.tournament-feed-panel__header .eyebrow{margin-bottom:.25rem}.tournament-feed-panel__header h1{font-size:clamp(1.6rem,3vw,2.45rem)}.tournament-feed-panel__actions{display:flex;align-items:center;gap:1rem}
.tournament-feed-sync{display:flex;align-items:center;gap:.45rem;color:var(--colour-text-muted);font-size:.68rem;font-weight:700;white-space:nowrap}.tournament-feed-sync::before{content:"";width:.42rem;height:.42rem;border-radius:50%;background:var(--colour-warning);box-shadow:0 0 0 .18rem rgba(245,158,11,.14)}.tournament-feed-sync[data-state="success"]::before{background:var(--colour-electric-green);box-shadow:0 0 0 .18rem rgba(255,215,106,.12)}.tournament-feed-sync[data-state="fallback"]::before{background:var(--colour-text-muted);box-shadow:none}
.tournament-feed-loading{display:grid;min-height:28rem;place-items:center;padding:2rem;color:var(--colour-text-muted);font-weight:700;text-align:center}
.tournament-stage-feed{display:grid;gap:1.25rem;padding:1rem}.tournament-stage-phase{min-width:0;padding:1rem;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:rgba(27,7,16,.22)}.tournament-stage-phase__heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.tournament-stage-phase__heading .eyebrow{margin-bottom:.25rem}.tournament-stage-phase__heading h2{font-size:clamp(1.25rem,2vw,1.75rem)}.tournament-stage-phase__heading>span{color:var(--colour-text-muted);font-size:.65rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.schedule-round-grid{display:grid;gap:.85rem}.schedule-round{min-width:0;padding:.85rem;border:1px solid var(--colour-border);border-radius:.85rem;background:rgba(255,255,255,.035)}.schedule-round__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.schedule-round__heading h3{font-size:1rem}.schedule-round__heading span{color:var(--colour-electric-green);font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.schedule-feed-match{display:grid;grid-template-columns:1.55rem minmax(0,1fr) auto minmax(0,1fr);gap:.5rem;align-items:center;min-height:5.2rem;padding:.6rem;border:1px solid var(--colour-border);border-radius:.65rem;background:rgba(27,7,16,.34)}.schedule-feed-match+.schedule-feed-match{margin-top:.5rem}.schedule-feed-match__court{display:grid;place-items:center;width:1.45rem;height:1.45rem;border-radius:50%;background:var(--colour-faded-green);color:var(--colour-electric-green);font:800 .65rem var(--font-heading)}.schedule-feed-match__team{min-width:0;color:var(--colour-text-muted);text-align:center}.schedule-feed-match__players{display:grid;gap:.05rem}.schedule-feed-match__players strong{overflow-wrap:anywhere;font-size:.75rem;line-height:1.25}.schedule-feed-match__team.is-winner .schedule-feed-match__players{color:var(--colour-electric-green)}.schedule-feed-match__result{display:flex;align-items:center;justify-content:center;gap:.2rem;min-width:1.75rem;color:var(--colour-text-muted);font-size:.6rem;font-weight:800;text-transform:uppercase}.schedule-feed-match__result.has-score{font:800 .72rem var(--font-heading);letter-spacing:.04em;white-space:pre;text-transform:none}.schedule-feed-match__meta{grid-column:1/-1;display:flex;justify-content:flex-start;gap:.55rem;padding-bottom:.5rem;border-bottom:1px solid var(--colour-border);color:var(--colour-text-muted);font-size:.58rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}.schedule-feed-match__meta b{color:var(--colour-electric-green)}
.knockout-draw-grid{display:grid;gap:1rem}.knockout-draw{min-width:0;padding:.85rem;border:1px solid var(--colour-border);border-radius:.85rem;background:rgba(255,255,255,.035)}.knockout-draw__heading{margin-bottom:.75rem}.knockout-draw__heading .eyebrow{margin-bottom:.2rem}.knockout-draw__heading h3{font-size:1.1rem}.knockout-stage-grid{display:grid;gap:.75rem}.knockout-stage{min-width:0;padding:.75rem;border:1px solid var(--colour-border);border-radius:.7rem;background:rgba(27,7,16,.3)}.knockout-stage__heading{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.6rem}.knockout-stage__heading h4{font:800 .88rem var(--font-heading)}.knockout-stage__heading span{color:var(--colour-electric-green);font-size:.58rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.standings-feed-grid{display:grid;gap:1rem}.standings-feed-card{overflow:hidden;border:1px solid var(--colour-border);border-radius:var(--radius-md);background:rgba(27,7,16,.32)}.standings-feed-card__header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border-bottom:1px solid var(--colour-border)}.standings-feed-card__header .eyebrow{margin-bottom:.2rem}.standings-feed-card__header h3{font-size:1.25rem}.standings-feed-card__header span{color:var(--colour-text-muted);font-size:.68rem;font-weight:700;text-transform:uppercase}
.standings-feed-table{min-width:0;table-layout:fixed}.standings-feed-table th,.standings-feed-table td{padding:.9rem .7rem}.standings-feed-table th:first-child,.standings-feed-table td:first-child{width:3rem;text-align:center}.standings-feed-table th:nth-child(3),.standings-feed-table th:nth-child(4),.standings-feed-table td:nth-child(3),.standings-feed-table td:nth-child(4){width:3rem;text-align:center}.standings-feed-table th:last-child,.standings-feed-table td:last-child{width:4rem;text-align:center}.standings-feed-rank{display:grid;place-items:center;width:1.8rem;height:1.8rem;margin:auto;border-radius:50%;background:var(--colour-faded-green);color:var(--colour-electric-green);font:800 .72rem var(--font-heading)}.standings-feed-team{display:grid;gap:.12rem}.standings-feed-team strong{font-size:.82rem;line-height:1.25}.standings-feed-number{color:var(--colour-text-muted);font:800 .78rem var(--font-heading)}
@media(min-width:48rem){.tournament-feed-page .container{width:min(100% - 3rem,100rem)}.standings-feed-grid,.knockout-draw-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(min-width:80rem){.schedule-round-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:47.99rem){.tournament-feed-main{display:block;padding:1rem 0 2rem}.tournament-feed-panel__header{align-items:flex-start;flex-direction:column}.tournament-feed-panel__actions{width:100%;justify-content:space-between}.schedule-round-grid{grid-template-columns:1fr}.schedule-feed-match{grid-template-columns:1.5rem minmax(0,1fr)}.schedule-feed-match__court{grid-row:span 3}.schedule-feed-match__team{text-align:left}.schedule-feed-match__result{grid-column:2;justify-self:center}.schedule-feed-match__meta{grid-column:1/-1}.standings-feed-grid{grid-template-columns:1fr}.standings-feed-table{min-width:34rem}}
@media(max-width:39.99rem){.tournament-feed-panel__actions{align-items:flex-start;flex-direction:column}.tournament-feed-sync{white-space:normal}}
