:root {
  --navy: #061a35;
  --blue: #0666b9;
  --sky: #62b5ef;
  --red: #ea1235;
  --good: #168a4b;
  --champion-gold: #c99300;
  --cream: #f3ebd8;
  --ink: #0d1728;
  --muted: #607086;
  --paper: #fbfaf6;
  --white: #fff;
  --line: #d9e0e8;
  --shadow: 0 22px 60px rgba(3, 20, 43, .14);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; overflow-x: hidden; background: var(--paper); color: var(--ink); font-family: Inter, system-ui, sans-serif; }
button, a { font: inherit; }
a { color: inherit; }
.skip-link { position: fixed; left: 1rem; top: -4rem; z-index: 99; padding: .75rem 1rem; background: white; }
.skip-link:focus { top: 1rem; }

.site-header { height:82px;padding:0 clamp(1rem,3vw,3.5rem);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:clamp(1rem,2vw,2.5rem);background:rgba(5,24,50,.97);color:white;position:sticky;top:0;z-index:50;border-bottom:3px solid var(--red); }
.site-brands{grid-column:1;justify-self:start}
.brand { display: flex; gap: .75rem; align-items: center; text-decoration: none; font: 800 1.15rem/1 "Barlow Condensed", sans-serif; letter-spacing: .055em; white-space: nowrap; }
.brand img { width: 52px; height: 58px; object-fit: contain; }
.brand strong { color: var(--red); }
.main-nav { display:contents;font:700 .96rem "Barlow Condensed",sans-serif;letter-spacing:.035em;text-transform:uppercase; }
.nav-hubs{grid-column:2;display:flex;align-items:center;gap:clamp(.4rem,1.2vw,1.25rem)}
.nav-actions{grid-column:3;justify-self:end;display:flex;align-items:center;gap:clamp(.3rem,.7vw,.75rem);min-width:0}
.nav-actions>a,.nav-group>button{padding:.7rem .3rem;border:0;background:transparent;color:inherit;text-decoration:none;cursor:pointer;white-space:nowrap}
.nav-actions>a:hover,.nav-actions>a.active,.nav-group>button:hover{color:var(--sky)}
.nav-divider { width: 1px; height: 28px; margin: 0 .25rem; flex: 0 0 1px; background: rgba(255,255,255,.34); }
.main-nav .nav-cta { padding: .7rem 1rem; background: var(--red); color: white; clip-path: polygon(8px 0,100% 0,100% calc(100% - 8px),calc(100% - 8px) 100%,0 100%,0 8px); }
.main-nav .nav-cta:hover { color: white; background: #ff3150; }
.nav-group { position: relative; }
.nav-split-group{display:flex;align-items:center}.nav-group-link{padding:.7rem .1rem .7rem .3rem;color:inherit;text-decoration:none;white-space:nowrap}.nav-group-link:hover,.nav-group-link.active{color:var(--sky)}.nav-group-caret{padding:.7rem .3rem!important}
.nav-hub{border:1px solid transparent;border-radius:999px;transition:border-color .2s,background .2s}
.nav-hub:hover,.nav-hub.open,.nav-hub.active{border-color:rgba(98,181,239,.42);background:rgba(255,255,255,.06)}
.nav-hub-link{display:flex;align-items:baseline;padding:.5rem .05rem .5rem .8rem;font-size:1rem;letter-spacing:.055em}
.nav-hub-link strong{color:var(--red);font-size:1.52rem;line-height:.7;letter-spacing:-.01em;text-shadow:0 0 18px rgba(234,18,53,.22)}
.nav-hub-link span{font-size:.96rem}
.nav-hub.active .nav-hub-link span,.nav-hub-link:hover span{color:#fff}
@media (min-width:1001px){
  .nav-hub-link{padding:.65rem .1rem .65rem .95rem;gap:.16rem}
  .nav-hub-link strong{font-size:clamp(1.8rem,2.15vw,2.1rem);letter-spacing:0}
  .nav-hub-link span{font-size:clamp(1.16rem,1.35vw,1.3rem);letter-spacing:.065em}
  .nav-hub .nav-group-caret{font-size:1.15rem;padding:.8rem .5rem!important}
}
.theme-switcher { display: flex; padding: .22rem; gap: .15rem; border: 1px solid rgba(255,255,255,.22); border-radius: 999px; }
.theme-switcher button { display: grid; place-items: center; width: 25px; height: 25px; padding: 0; border: 0; border-radius: 50%; background: transparent; color: white; cursor: pointer; }
.theme-switcher button:hover, .theme-switcher button.active { background: rgba(255,255,255,.18); box-shadow: inset 0 0 0 1px rgba(255,255,255,.25); }
.theme-switcher i { display: block; width: 11px; height: 11px; border: 2px solid white; border-radius: 50%; background: linear-gradient(135deg,#ea1235 0 34%,#fff 34% 66%,#0666b9 66%); }
.theme-switcher [data-theme-choice="dark"] i { background: linear-gradient(135deg,#020b18 0 48%,#ea1235 48% 72%,#f3f6fa 72%); }
.theme-switcher [data-theme-choice="vintage"] i { background: linear-gradient(135deg,#372f24 0 35%,#8d6c3e 35% 60%,#e1d0aa 60%); }
.theme-switcher span { position: absolute; clip: rect(0 0 0 0); }
.nav-menu { position: absolute; display: none; min-width: 190px; left:50%; top:calc(100% + 9px); padding:.65rem; background:white; color:var(--ink); box-shadow:var(--shadow); border:1px solid var(--line); border-top:3px solid var(--red); transform:translateX(-50%); }
.nav-group:hover .nav-menu, .nav-group.open .nav-menu { display: grid; }
.nav-menu::before{content:"";position:absolute;inset:-12px 0 auto;height:12px}
.nav-menu a { padding: .7rem .8rem; text-decoration: none; }
.nav-menu a:hover { background: #eef6fc; color: var(--blue); }
.nav-mega-menu{width:300px;gap:2px;border-radius:0 0 14px 14px}
.nav-league-menu{width:min(620px,90vw);grid-template-columns:repeat(2,minmax(0,1fr))}
.nav-mega-menu a{display:grid;gap:3px;border-radius:8px;text-transform:none}
.nav-mega-menu b{font:800 1.02rem "Barlow Condensed",sans-serif;text-transform:uppercase;letter-spacing:.045em}
.nav-mega-menu small{color:var(--muted);font:500 .72rem Inter,sans-serif;line-height:1.35}
.nav-mega-menu a:hover small{color:inherit}
.nav-mega-menu .nav-menu-lead{grid-column:1/-1;margin-bottom:3px;padding:.9rem;border-radius:8px;background:var(--navy);color:#fff}
.nav-mega-menu .nav-menu-lead small{color:#c7d4e2}
.menu-button { display: none; border: 0; color: white; background: transparent; }

main { min-height: 70vh; }
.hero { min-height: calc(100vh - 82px); position: relative; display: grid; align-items: end; overflow: hidden; background: var(--navy); color: white; isolation: isolate; }
.hero::before { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(3,17,37,.97) 0%, rgba(3,17,37,.78) 48%, rgba(3,17,37,.2) 100%), url('/assets/ufl-banner.jpg') center/cover; z-index: -2; }
.hero::after { content: ""; position: absolute; inset: auto -10% -24% 40%; height: 55%; border: 2px solid rgba(255,255,255,.14); border-radius: 50% 50% 0 0; transform: rotate(-8deg); z-index: -1; }
.hero-inner { width: min(1180px, 92vw); margin: 0 auto; padding: clamp(5rem, 12vh, 9rem) 0 clamp(4rem, 10vh, 7rem); }
.eyebrow { display: flex; align-items: center; gap: .7rem; margin: 0 0 1rem; color: var(--sky); font: 800 .9rem "Barlow Condensed", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.eyebrow::before { content: ""; width: 34px; height: 3px; background: var(--red); }
.hero h1 { max-width: 760px; margin: 0; font: 900 clamp(4rem, 9vw, 8.2rem)/.79 "Barlow Condensed", sans-serif; letter-spacing: -.035em; text-transform: uppercase; }
.hero h1 em { display: block; color: transparent; -webkit-text-stroke: 2px white; font-style: italic; }
.hero-copy { max-width: 610px; margin: 1.8rem 0 2.2rem; color: #d6dfeb; font-size: clamp(1rem, 2vw, 1.2rem); line-height: 1.65; }
.button-row { display: flex; flex-wrap: wrap; gap: .8rem; }
.button { display: inline-flex; align-items: center; gap: .6rem; padding: .95rem 1.25rem; border: 1px solid transparent; font: 800 1rem "Barlow Condensed", sans-serif; letter-spacing: .06em; text-decoration: none; text-transform: uppercase; transition: transform .2s, background .2s; }
.button:hover { transform: translateY(-2px); }
.button-primary { background: var(--red); color: white; }
.button-secondary { border-color: rgba(255,255,255,.5); color: white; background: rgba(5,22,45,.5); }
.ticker { position: absolute; bottom: 0; left: 0; right: 0; display: flex; gap: 0; background: var(--red); color: white; overflow: hidden; white-space: nowrap; font: 800 .9rem "Barlow Condensed", sans-serif; letter-spacing: .09em; text-transform: uppercase; }
.ticker span { padding: .65rem 2rem; border-right: 1px solid rgba(255,255,255,.3); }

.section { width: min(1180px, 92vw); margin: 0 auto; padding: clamp(4rem, 8vw, 7rem) 0; }
@media(min-width:1100px){.section.schedule-landing{width:min(1720px,96vw)}}
.section-kicker { color: var(--red); font: 800 .85rem "Barlow Condensed", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.section h2, .page-hero h1 { margin: .35rem 0 1.2rem; font: 900 clamp(2.8rem, 6vw, 5.3rem)/.92 "Barlow Condensed", sans-serif; letter-spacing: -.02em; text-transform: uppercase; }
.section-intro { max-width: 720px; color: var(--muted); font-size: 1.08rem; line-height: 1.7; }
.cards { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1rem; margin-top: 2.5rem; }
.card { position: relative; padding: 1.5rem; background: white; border: 1px solid var(--line); box-shadow: 0 10px 25px rgba(5,26,53,.06); overflow: hidden; }
.card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--blue); }
.card .num { display: block; color: #c8d1dc; font: 900 3rem/1 "Barlow Condensed", sans-serif; }
.card h3 { margin: .45rem 0; font: 800 1.65rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.card p { color: var(--muted); line-height: 1.55; }
.status-row { display: flex; flex-wrap: wrap; gap: .4rem; margin: .15rem 0 .9rem; }
.status-row-center { justify-content: center; margin-bottom: 1rem; }
.season-chip { display: inline-flex; align-items: center; width: fit-content; padding: .34rem .55rem; border: 1px solid; border-radius: 999px; font: 800 .68rem "Inter", sans-serif; letter-spacing: .03em; line-height: 1.15; text-transform: uppercase; }
.season-chip-live { color: #0e4828; background: #c9f4d9; border-color: #5bb47d; }
.season-chip-upcoming { color: #5b4300; background: #ffedaa; border-color: #d2aa22; }
.house-team-grid { display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 1.25rem; }
.house-team-card { text-align: center; }
.house-team-card .season-chip { margin: .2rem auto .9rem; }
.house-team-logo { display: block; width: min(290px, 82%); aspect-ratio: 1; margin: 0 auto 1rem; object-fit: contain; border-radius: 18px; box-shadow: 0 16px 34px rgba(5,26,53,.14); }
.house-team-callout{margin:0 0 26px;padding:18px 22px;border-left:5px solid var(--red);background:color-mix(in srgb,var(--paper) 88%,var(--blue) 6%)}.house-team-callout h2,.house-team-callout p{margin:0}.house-team-callout h2{margin-top:6px;font-size:clamp(1.55rem,3vw,2.25rem)}.house-team-callout p{margin-top:5px;color:var(--muted)}
.team-logo-placeholder { display: grid; place-items: center; width: 112px; height: 112px; margin: 0 auto 1rem; border: 2px dashed var(--line); border-radius: 50%; color: var(--muted); background: var(--paper); font: 900 2rem "Barlow Condensed", sans-serif; }
.house-team-card h2 { font-size: 2rem; }
.house-club-history>a{color:var(--blue);font-weight:700;text-decoration:none}.house-club-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:22px 0}.house-club-toolbar label{font-weight:800}.house-club-toolbar select{min-width:210px;padding:9px 12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:inherit}.house-club-toolbar span{color:var(--muted);font-size:.9rem}.house-club-note{color:var(--muted);line-height:1.5}.house-club-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:24px}.house-club-grid>section{min-width:0}.house-club-grid h2{margin:10px 0 14px}.house-club-grid .table-wrap{overflow-x:auto}.house-club-grid table{width:100%;min-width:400px}.house-club-grid th,.house-club-grid td{padding:10px;text-align:left}.house-club-grid tbody tr:nth-child(odd){background:color-mix(in srgb,var(--paper) 88%,var(--blue) 5%)}.house-club-results{list-style:none;margin:0;padding:0;display:grid;gap:8px}.house-club-results li{display:grid;gap:4px;padding:13px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.house-club-results time{color:var(--muted);font-size:.85rem}.house-club-results strong{line-height:1.4}@media(max-width:820px){.house-club-grid{grid-template-columns:1fr}}
.house-club-grid thead button{display:inline-flex;align-items:center;gap:6px;padding:3px 0;border:0;background:none;color:inherit;cursor:pointer;font:inherit;font-weight:800;white-space:nowrap}.house-club-grid thead button span{color:var(--blue);font-size:1.1em}.house-club-grid thead button:hover{color:var(--blue)}.house-club-grid thead button:focus-visible{outline:2px solid var(--blue);outline-offset:3px}
.house-match-details{min-width:0}.house-match-details summary{cursor:pointer;display:grid;gap:4px;border-radius:4px}.house-match-details summary:focus-visible{outline:2px solid var(--blue);outline-offset:5px}.house-match-hint{font-size:.85rem;color:var(--blue)}.house-match-details[open] summary{margin-bottom:18px}.house-match-sheet{margin:18px 0}.house-match-sheet h3{margin:0;font-size:1.3rem}.house-match-sheet p{color:var(--muted);font-size:.85rem}.house-match-sheet table{font-size:.85rem;white-space:nowrap}.house-match-sheet th,.house-match-sheet td{padding:8px}.house-match-sheet .table-wrap:focus-visible{outline:2px solid var(--blue)}
.house-club-player-scroll{max-height:calc(44px * 21 + 1px);overflow:auto}.house-club-player-scroll th,.house-club-player-scroll td{height:44px;box-sizing:border-box;padding:8px 10px;white-space:nowrap}.house-club-player-scroll thead th{position:sticky;top:0;z-index:1}.house-club-player-scroll:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.house-club-scroll-hint{margin:8px 0 0;color:var(--muted);font-size:.85rem}
.logo-note { color: var(--muted); font-size: .78rem; font-weight: 700; text-transform: uppercase; letter-spacing: .08em; }
.card a { color: var(--blue); font-weight: 700; text-decoration: none; }
.hub-section{display:grid;gap:2.25rem}
.hub-intro{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:clamp(1.5rem,4vw,4rem)}
.hub-intro h2{margin-bottom:.75rem}
.hub-letter{display:grid;place-items:center;width:clamp(110px,14vw,170px);aspect-ratio:1;border:1px solid var(--line);border-radius:28px;background:linear-gradient(145deg,var(--navy),#0b3c6a);box-shadow:var(--shadow);color:var(--red);font:900 clamp(5.5rem,12vw,9rem)/1 "Barlow Condensed",sans-serif;text-shadow:0 10px 30px rgba(0,0,0,.28)}
.hub-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.hub-card-grid-league{grid-template-columns:repeat(3,minmax(0,1fr))}
.hub-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1.15rem;min-height:230px;padding:clamp(1.25rem,2.5vw,2rem);border:1px solid var(--line);border-radius:16px;background:var(--white);box-shadow:0 12px 32px rgba(5,26,53,.07);color:inherit;text-decoration:none;transition:transform .2s,border-color .2s,box-shadow .2s}
.hub-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--blue) 52%,var(--line));box-shadow:var(--shadow)}
.hub-card-mark{display:grid;place-items:center;width:58px;height:58px;border-radius:16px;background:var(--navy);color:var(--sky);font:900 1.55rem "Barlow Condensed",sans-serif}
.hub-card h2{margin:.2rem 0 .7rem;font-size:clamp(1.65rem,3vw,2.4rem)}
.hub-card p{margin:0 0 1.25rem;color:var(--muted);line-height:1.55}
.hub-card>div>strong{color:var(--blue);font:800 .85rem Inter,sans-serif}
.hub-card>div>strong i{display:inline-block;font-style:normal;transition:transform .2s}.hub-card:hover>div>strong i{transform:translateX(5px)}
.league-quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}
.league-quick-links a{display:flex;align-items:center;gap:1rem;padding:1rem 1.15rem;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 85%,var(--blue) 5%);color:inherit;text-decoration:none}
.league-quick-links b{color:var(--red);font:900 1.5rem "Barlow Condensed",sans-serif}.league-quick-links span{color:var(--muted);font-size:.78rem}
.dark-section { background: var(--navy); color: white; }
.dark-section .section-intro { color: #b8c5d5; }
.feature-grid { display: grid; grid-template-columns: 1.15fr .85fr; gap: 2rem; align-items: center; }
.crest-stage { min-height: 440px; display: grid; place-items: center; background: radial-gradient(circle, rgba(23,114,192,.3), transparent 63%); }
.crest-stage img { width: min(340px, 75vw); filter: drop-shadow(0 26px 28px rgba(0,0,0,.35)); }
.stat-row { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 2rem; border: 1px solid rgba(255,255,255,.15); }
.stat { padding: 1.25rem; border-right: 1px solid rgba(255,255,255,.15); }
.stat:last-child { border-right: 0; }
.stat strong { display: block; color: var(--sky); font: 800 1.8rem "Barlow Condensed", sans-serif; }
.stat span { color: #9fb0c5; font-size: .8rem; text-transform: uppercase; }

.page-hero { min-height: 330px; display: flex; align-items: end; color: white; background: linear-gradient(120deg, rgba(4,23,49,.98), rgba(5,61,110,.84)), url('/assets/ufl-banner.jpg') center/cover; }
.page-hero > div { width: min(1180px, 92vw); margin: auto auto 0; padding: 5rem 0 3rem; }
.page-hero p { max-width: 700px; color: #c7d4e2; line-height: 1.6; }
.tabs { display: flex; flex-wrap: wrap; gap: .5rem; margin: 2rem 0; }
.tab { padding: .75rem 1rem; border: 1px solid #bdc9d6; background: white; text-decoration: none; font: 800 .95rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.tab.active, .tab:hover { background: var(--navy); color: white; border-color: var(--navy); }
.league-tab-stack{display:grid;gap:0;margin:2rem 0}.league-tab-stack .tabs{margin:0}.league-season-tabs{gap:.75rem;padding-bottom:1rem;border-bottom:1px solid var(--line)}.league-season-tab{display:grid;min-width:180px;gap:2px;padding:1rem 1.2rem;text-align:left}.league-season-tab strong{font-size:1.15rem}.league-season-tab small{color:var(--muted);font:700 .68rem Inter,sans-serif;letter-spacing:.02em;text-transform:none}.league-season-tab.active small,.league-season-tab:hover small{color:#c4d3e4}.league-division-tabs{padding-top:1rem}
.table-wrap { overflow-x: auto; background: white; border: 1px solid var(--line); }
.sync-note{margin:16px 0;color:var(--muted);font-size:.78rem}.match-number{display:block;margin-top:2px;color:var(--muted)}.result-link{font-weight:800;text-decoration:none}.result-link.final{color:var(--good)}.result-link.upcoming{color:var(--blue)}.table-team{display:flex;align-items:center;gap:10px;min-width:190px;color:inherit;text-decoration:none}.table-team img{width:32px;height:32px;object-fit:contain}.league-team-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.league-team-card{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:18px;padding:20px;border:1px solid var(--line);border-left:4px solid var(--blue);color:inherit;background:var(--paper);text-decoration:none;box-shadow:var(--shadow);transition:.2s}.league-team-card:hover{border-left-color:var(--red);transform:translateY(-2px)}.league-team-card img{width:64px;height:64px;object-fit:contain}.league-team-card h2,.league-team-card p{margin:0}.league-team-card h2{font-size:1.55rem}.league-team-card p,.league-team-card span{color:var(--muted);font-size:.75rem}.league-team-card b{color:var(--red);font-size:.75rem}
@media(min-width:721px){.league-team-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important}.league-team-card{display:grid!important;grid-template-columns:68px minmax(0,1fr) auto!important}.league-team-card img{width:64px!important;height:64px!important}}
table { width: 100%; border-collapse: collapse; min-width: 650px; }
th, td { padding: 1rem; text-align: left; border-bottom: 1px solid var(--line); }
th { background: var(--navy); color: white; font: 800 .9rem "Barlow Condensed", sans-serif; letter-spacing: .07em; text-transform: uppercase; }
td strong { font-family: "Barlow Condensed", sans-serif; font-size: 1.1rem; }
.status { display: inline-block; padding: .3rem .55rem; background: #edf4fa; color: var(--blue); font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.empty-state { padding: clamp(2rem, 7vw, 5rem); text-align: center; background: white; border: 1px dashed #aebdcb; }
.empty-state img { width: 90px; max-height: 100px; object-fit: contain; }
.empty-state h2 { font-size: 2.5rem; }
.empty-state p { max-width: 600px; margin: 0 auto 1.5rem; color: var(--muted); line-height: 1.6; }
.rule-list { counter-reset: rules; display: grid; gap: .75rem; margin-top: 2rem; }
.rule { counter-increment: rules; padding: 1.25rem 1.5rem; background: white; border: 1px solid var(--line); }
.rule summary { cursor: pointer; list-style: none; font: 800 1.3rem "Barlow Condensed", sans-serif; text-transform: uppercase; }
.rule summary::before { content: counter(rules, decimal-leading-zero); margin-right: 1rem; color: var(--red); }
.rule p { padding-left: 2.8rem; color: var(--muted); line-height: 1.65; }
.rule ul { margin: .85rem 0 .25rem; padding-left: 3.9rem; color: var(--muted); line-height: 1.6; }
.rule li { padding: .2rem 0 .45rem .2rem; }
.rule li::marker { color: var(--red); }
.rule li strong { color: var(--ink); }
.rule-update { display: block; width: fit-content; margin-top: .45rem; padding: .3rem .55rem; border-left: 3px solid var(--red); background: color-mix(in srgb, var(--red) 9%, var(--white)); color: var(--ink); font-weight: 700; }
.notice { padding: 1rem 1.25rem; border-left: 4px solid var(--red); background: #fff4f5; color: #6d2430; }
.commissioner-note { margin-top: 1.25rem; font-size: 1.02rem; line-height: 1.55; }
.utility-frame { min-height: 430px; display: grid; place-items: center; padding: 2rem; border: 1px solid var(--line); background: linear-gradient(145deg,#fff,#eef4f9); text-align: center; }
.integrated-app { width: 100%; min-height: calc(100vh - 82px); background: #06162f; overflow: visible; }
.integrated-app iframe { display: block; width: 100%; height: max(1200px, calc(100vh - 82px)); border: 0; background: #06162f; overflow: hidden; }
.func-host, .func-host iframe { height: calc(100vh - 82px); min-height: 720px; }
.func-host iframe { overflow: auto; }
.pickems-host, .pickems-host iframe { background: var(--paper); }
.auth-section{min-height:420px}.auth-card{max-width:820px;padding:clamp(24px,5vw,52px);border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow)}.auth-card>h2{margin-top:0}.discord-button{background:#5865f2;color:#fff;border-color:#5865f2}.account-profile{display:flex;align-items:center;gap:20px;margin-bottom:28px}.discord-avatar{width:72px;height:72px;flex:none;border:2px solid var(--line);border-radius:50%;object-fit:cover}.avatar-fallback{display:grid;place-items:center;color:#fff;background:var(--navy);font-family:"Barlow Condensed",sans-serif;font-weight:900}.account-profile h2{margin:.5rem 0 0}.account-profile p{margin:.25rem 0 0;color:var(--muted)}.profile-chips{display:flex;flex-wrap:wrap;gap:7px}.member-team-title,.member-title-badge{border-color:var(--champion-gold);color:var(--champion-gold)}.admin-card{max-width:1180px}.admin-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.admin-note{max-width:680px;color:var(--muted)}.member-list{margin-top:22px;border-top:1px solid var(--line)}.member-row{display:grid;grid-template-columns:46px minmax(180px,1fr) 80px minmax(150px,auto);align-items:center;gap:12px;padding:16px 0;border-bottom:1px solid var(--line)}.member-row .discord-avatar{width:42px;height:42px}.member-row small{display:block;margin-top:3px;color:var(--muted)}.member-role{text-transform:uppercase;font:800 .75rem "Barlow Condensed",sans-serif}.member-title-badge{display:inline-block;margin-top:7px;font:800 .72rem "Barlow Condensed",sans-serif;letter-spacing:.04em;text-transform:uppercase}.member-admin-action{text-align:right}.owner-only-note{color:var(--muted);font-size:.7rem}.member-title-controls{grid-column:2/-1;display:grid;grid-template-columns:minmax(150px,190px) minmax(200px,1fr) auto;gap:9px;padding:12px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 88%,var(--blue) 4%)}.member-title-controls select,.member-title-controls button{min-height:40px}
.schedule-landing>.status-row{margin:24px 0}.schedule-feature{display:grid;grid-template-columns:minmax(260px,.75fr) minmax(0,1.5fr);gap:40px;align-items:start;margin:42px 0}.schedule-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.schedule-cards .card{min-height:250px}.cup-road{display:grid;grid-template-columns:1fr auto 1fr auto 1fr auto 1fr;align-items:center;gap:12px;margin:42px 0}.cup-road article{min-height:150px;padding:24px;border:1px solid var(--line);border-top:4px solid var(--red);background:var(--paper)}.cup-road article span,.cup-road article strong,.cup-road article small{display:block}.cup-road article span{color:var(--blue);font:900 2rem "Barlow Condensed",sans-serif}.cup-road article strong{margin-top:18px;font:800 1.2rem "Barlow Condensed",sans-serif;text-transform:uppercase}.cup-road article small{margin-top:5px;color:var(--muted)}.cup-road>i{color:var(--red);font-style:normal;font-weight:900}
@media(max-width:900px){.schedule-feature{grid-template-columns:1fr}.schedule-cards{grid-template-columns:1fr}.cup-road{grid-template-columns:1fr}.cup-road>i{transform:rotate(90deg);justify-self:center}.member-row{grid-template-columns:42px minmax(0,1fr)}.member-row>.member-role,.member-admin-action,.member-title-controls{grid-column:2}.member-admin-action{text-align:left}.member-title-controls{grid-template-columns:1fr}.admin-heading{align-items:flex-start;flex-direction:column}}
@media(max-width:720px){.league-team-grid{grid-template-columns:1fr}.league-team-card{grid-template-columns:54px minmax(0,1fr)}.league-team-card img{width:50px;height:50px}.league-team-card>b{grid-column:2}}
.contact-grid { display: grid; grid-template-columns: 1.1fr .9fr; gap: 1.2rem; }
.contact-panel { padding: clamp(1.5rem,4vw,3rem); background: var(--navy); color: white; }
.contact-panel h2 { font-size: 3rem; }
.contact-panel p { color: #bbc8d7; line-height: 1.65; }
.discord-invite-contact{display:grid;gap:9px;margin:24px 0;padding:18px;border-left:4px solid var(--red);background:rgba(255,255,255,.06)}.discord-invite-contact>span,.discord-invite-contact>small{color:#bbc8d7}.discord-invite-contact>span{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.discord-invite-contact>div{display:flex;flex-wrap:wrap;align-items:center;gap:9px}.discord-invite-contact strong{padding:7px 10px;border:1px solid rgba(255,255,255,.28);border-radius:6px;color:#fff;font-size:1.05rem}.discord-invite-contact i{color:#bbc8d7;font-style:normal}.vibes-note{display:grid;gap:5px;margin-top:28px;padding-top:20px;border-top:1px solid rgba(255,255,255,.2)}.vibes-note>span{color:var(--red);font:800 .72rem "Barlow Condensed",sans-serif;letter-spacing:.14em;text-transform:uppercase}.vibes-note>strong{font:900 1.7rem "Barlow Condensed",sans-serif;text-transform:uppercase}.vibes-note>p{margin:0}

.site-footer { display: grid; grid-template-columns: 1fr auto; gap: 2rem; align-items: center; padding: 2.2rem clamp(1rem,4vw,4.5rem); background: #030f20; color: white; border-top: 4px solid var(--red); }
.footer-brand { display: flex; align-items: center; gap: 1rem; }
.footer-brand img { width: 64px; height: 68px; object-fit: contain; }
.footer-brand strong, .footer-brand span { display: block; }
.footer-brand strong { font: 800 1.25rem "Barlow Condensed", sans-serif; }
.footer-brand span, .site-footer > p { color: #8295ac; font-size: .8rem; }
.site-footer > p { grid-column: 1/-1; margin: 0; }
.footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
.footer-links a { color: var(--sky); font-size: .82rem; font-weight: 700; }
.privacy-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.2rem; }
.privacy-grid .card { min-height: 260px; }
.privacy-grid .card p { line-height: 1.65; }
.unc-location { display: grid; justify-items: end; }
.unc-location span { color: var(--red); font: 800 .7rem "Barlow Condensed",sans-serif; letter-spacing: .12em; }
.unc-location strong { font: 800 1.1rem "Barlow Condensed",sans-serif; }
.unc-location button { padding: .25rem 0; border: 0; background: none; color: var(--sky); cursor: pointer; font-size: .75rem; }

@media (max-width: 1000px) {
  .menu-button { display: grid; width: 44px; gap: 5px; cursor: pointer; }
  .menu-button span { display: block; height: 2px; background: white; }
  .menu-button b { position: absolute; clip: rect(0 0 0 0); }
  .site-header{display:flex;justify-content:space-between}
  .main-nav { display:none;position:fixed;inset:82px 0 0;padding:1.25rem;align-items:stretch;overflow-y:auto;background:var(--navy); }
  .main-nav.open { display:grid;grid-template-columns:1fr;align-content:start; }
  .nav-hubs,.nav-actions{grid-column:1;display:grid;width:100%;justify-self:stretch;gap:.45rem}
  .nav-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.2)}
  .nav-actions>a,.nav-group>button { display:block;width:100%;text-align:left;padding:.9rem;font-size:1.2rem; }
  .nav-divider { width: auto; height: 1px; margin: .45rem .9rem; background: rgba(255,255,255,.28); }
  .nav-hub{display:grid;grid-template-columns:1fr auto;border-radius:14px}.nav-hub-link{padding:.8rem 1rem}.nav-hub-link strong{font-size:1.9rem}.nav-hub-link span{font-size:1.2rem}.nav-split-group .nav-group-caret{width:auto}.nav-split-group .nav-menu{grid-column:1/-1}
  .theme-switcher { width: max-content; margin: .75rem; }
  .theme-switcher button { width: 34px; height: 34px; }
  .nav-menu { position:static;transform:none;width:auto;box-shadow:none;border:0;border-radius:0 0 12px 12px;background:#0b2b54;color:white; }
  .nav-league-menu{grid-template-columns:1fr 1fr}.nav-mega-menu .nav-menu-lead{background:rgba(255,255,255,.08)}.nav-mega-menu small,.nav-mega-menu .nav-menu-lead small{color:#b8c5d5}
  .cards { grid-template-columns: 1fr 1fr; }
  .hub-card-grid-league{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width: 700px) {
  .brand span { font-size: 1rem; }
  .hero { min-height: 720px; }
  .hero::before { background: linear-gradient(0deg, rgba(3,17,37,.98), rgba(3,17,37,.55)), url('/assets/ufl-banner.jpg') center/cover; }
  .hero h1 { font-size: clamp(4rem, 20vw, 6rem); }
  .cards, .feature-grid, .contact-grid, .site-footer, .house-team-grid, .privacy-grid { grid-template-columns: 1fr; }
  .hub-intro{grid-template-columns:1fr}.hub-letter{width:110px;border-radius:22px}.hub-card-grid,.hub-card-grid-league,.league-quick-links{grid-template-columns:1fr}.hub-card{min-height:0}.nav-league-menu{grid-template-columns:1fr}
  .page-hero h1 { font-size: clamp(2.8rem, 14vw, 4.2rem); overflow-wrap: anywhere; }
  .page-hero p { max-width: 100%; overflow-wrap: anywhere; }
  .tabs { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tab { min-width: 0; padding-inline: .6rem; text-align: center; }
  .league-season-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.league-division-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.league-season-tab{text-align:left}
  .empty-state { padding-inline: 1rem; overflow: hidden; }
  .empty-state h2 { font-size: clamp(2rem, 11vw, 2.8rem); overflow-wrap: anywhere; }
  .integrated-app iframe { min-height: calc(100vh - 82px); }
  .crest-stage { min-height: 310px; order: -1; }
  .stat-row { grid-template-columns: 1fr; }
  .stat { border-right: 0; border-bottom: 1px solid rgba(255,255,255,.15); }
  .unc-location { justify-items: start; }
}
@media (prefers-reduced-motion: reduce) { * { scroll-behavior: auto !important; transition-duration: .01ms !important; } }

html[data-theme="dark"] {
  color-scheme: dark;
  --paper: #071423;
  --ink: #f3f6fa;
  --muted: #a8b6c8;
  --white: #10243d;
  --line: #29415f;
  --good: #55e991;
  --champion-gold: #ffd34e;
  --cream: #d9e0e8;
  --shadow: 0 22px 60px rgba(0,0,0,.35);
}
html[data-theme="dark"] .card,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .rule,
html[data-theme="dark"] .table-wrap { background: #0d2038; }
html[data-theme="dark"] .tab { background: #0d2038; border-color: #39516e; color: #edf3fa; }
html[data-theme="dark"] .tab.active,
html[data-theme="dark"] .tab:hover { background: var(--red); border-color: var(--red); }
html[data-theme="dark"] .utility-frame { background: linear-gradient(145deg,#0d2038,#071423); }
html[data-theme="dark"] .notice { background: #311722; color: #ffd2da; }
html[data-theme="dark"] .nav-menu { background: #0d2038; color: #f3f6fa; border-color: var(--red); }
html[data-theme="dark"] .nav-menu a:hover { background: #173250; color: var(--sky); }
html[data-theme="dark"] input,
html[data-theme="dark"] select,
html[data-theme="dark"] textarea,
html[data-theme="dark"] option { background: #0d2038; color: #f3f6fa; border-color: #39516e; }

html[data-theme="vintage"] {
  color-scheme: light;
  --navy: #2f2a21;
  --blue: #59624e;
  --sky: #c2a66f;
  --red: #7d302c;
  --cream: #e8dcc0;
  --ink: #30291f;
  --muted: #6f6250;
  --paper: #e9dcc0;
  --white: #f4ead2;
  --line: #aa9878;
  --good: #47753e;
  --champion-gold: #9a7026;
  --shadow: 0 22px 60px rgba(56,43,25,.22);
}
html[data-theme="vintage"] body { background-image: radial-gradient(rgba(72,55,33,.08) 1px, transparent 1px); background-size: 5px 5px; }
html[data-theme="vintage"] .site-header { background: rgba(46,41,32,.98); }
html[data-theme="vintage"] .hero::before { background: linear-gradient(90deg,rgba(39,34,26,.96),rgba(58,47,34,.67),rgba(74,57,35,.12)),url('/assets/ufl-banner.jpg') center/cover; filter: sepia(.28); }
html[data-theme="vintage"] .page-hero { background: linear-gradient(120deg,rgba(43,37,28,.97),rgba(89,78,57,.72)),url('/assets/ufl-banner.jpg') center/cover; }
html[data-theme="vintage"] .card,
html[data-theme="vintage"] .empty-state,
html[data-theme="vintage"] .rule,
html[data-theme="vintage"] .table-wrap,
html[data-theme="vintage"] .tab { background: #f4ead2; }
html[data-theme="vintage"] .utility-frame { background: linear-gradient(145deg,#f4ead2,#dfcfad); }
html[data-theme="vintage"] .notice { background: #e5ccb0; color: #63342f; }
html[data-theme="vintage"] .nav-menu { background: #f4ead2; color: #30291f; border-color: var(--red); }
html[data-theme="vintage"] .nav-menu a:hover { background: #dfcfad; color: var(--red); }
html[data-theme="vintage"] input,
html[data-theme="vintage"] select,
html[data-theme="vintage"] textarea,
html[data-theme="vintage"] option { background: #f4ead2; color: #30291f; border-color: #998565; }
.published-event-list{display:grid;gap:22px;margin-top:28px}.published-event{padding:clamp(20px,3vw,34px);border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.published-event-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:20px}.published-event-head h2{margin:5px 0 0}.published-match-list{display:grid;gap:8px}.published-match-list>div{display:grid;grid-template-columns:110px minmax(120px,1fr) 30px minmax(120px,1fr) 60px;align-items:center;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 80%,var(--ink) 4%)}.published-match-list small{color:var(--muted);text-transform:uppercase}.published-match-list span{text-align:center;color:var(--muted)}.published-match-list b{text-align:right;color:var(--red)}
.event-winner{display:inline-block;margin-top:8px;color:var(--good)}.published-match-list strong.winner{color:var(--good)}
.published-event>summary{list-style:none;cursor:pointer}.published-event>summary::-webkit-details-marker{display:none}.published-event-head>div:last-child{display:flex;align-items:center;gap:14px}.published-event-head i{width:11px;height:11px;border-right:3px solid var(--blue);border-bottom:3px solid var(--blue);transform:rotate(45deg);transition:.2s}.published-event:not([open]) .published-event-head{margin-bottom:0}.published-event[open] .published-event-head i{transform:rotate(225deg)}.published-event-body{border-top:1px solid var(--line);padding-top:20px}.event-tournament-board{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(270px,max-content);align-items:start;gap:14px;overflow-x:auto;padding:3px 3px 14px}.event-stage-column{width:300px;min-width:270px;padding:15px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:12px;background:color-mix(in srgb,var(--paper) 88%,var(--blue) 4%)}.event-stage-column.group-column{width:390px;border-top-color:var(--red)}.event-stage-column h3{margin:0 0 12px;text-transform:uppercase}.event-stage-column h4{margin:14px 0 8px;color:var(--muted);font-size:.72rem;text-transform:uppercase}.event-group-table{display:grid;gap:2px;margin-bottom:12px}.event-group-table>div{display:grid;grid-template-columns:22px minmax(100px,1fr) 24px 34px 30px;gap:7px;align-items:center;padding:7px;border-bottom:1px solid var(--line);font-size:.78rem}.event-group-table>div:not(.event-table-head):nth-child(2),.event-group-table>div:not(.event-table-head):nth-child(3){border-left:3px solid var(--good)}.event-group-table .event-table-head{color:var(--muted);font-size:.62rem;text-transform:uppercase}.event-group-table span{color:var(--muted)}.event-group-matches{display:grid;gap:5px}.event-group-matches>div{display:grid;grid-template-columns:minmax(85px,1fr) 25px 9px 25px minmax(85px,1fr);align-items:center;gap:4px;font-size:.7rem}.event-group-matches>div span:last-child{text-align:right}.event-group-matches b{padding:3px;border:1px solid var(--line);border-radius:5px;text-align:center;color:var(--ink);background:var(--paper)}.event-group-matches em{color:var(--muted);font-style:normal;text-align:center}.event-stage-matches{display:grid;gap:12px;margin-top:9px}.knockout-column .event-stage-matches{justify-content:center;min-height:180px}.event-bracket-match{display:grid;grid-template-columns:1fr auto;gap:5px 8px;padding:9px;border:1px solid var(--line);border-radius:8px;background:var(--paper);font-size:.78rem}.event-bracket-match small{grid-column:1/-1;color:var(--muted);text-transform:uppercase}.event-bracket-match b{grid-column:2;grid-row:2/4;align-self:center;color:var(--red)}.event-bracket-match span.winner{color:var(--good);font-weight:900}.event-champion-panel{width:210px;padding:15px;border:1px solid var(--line);border-top:4px solid var(--good);border-radius:12px;background:var(--paper)}.event-champion-panel>small{color:var(--muted);font-weight:800;text-transform:uppercase}.event-champion-panel h3{margin:5px 0 10px}.event-champion-panel>div{display:grid;place-items:center;gap:8px;min-height:115px;border:1px solid var(--good);border-radius:10px;background:color-mix(in srgb,var(--paper) 90%,var(--good) 10%)}.event-champion-panel span{font-size:1.6rem}.event-champion-panel strong{color:var(--good)}.event-roster-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.event-roster-grid article{padding:14px;border:1px solid var(--line);border-radius:10px}.event-roster-grid h3,.event-roster-grid p{margin:0}.event-roster-grid p{margin-top:5px;color:var(--muted)}
@media(max-width:650px){.published-event-head{align-items:flex-start;flex-direction:column}.published-match-list>div{grid-template-columns:1fr auto 1fr}.published-match-list small{grid-column:1/-1}.published-match-list b{grid-column:1/-1;text-align:left}}
.event-tournament-board{display:flex;flex-wrap:wrap;align-items:flex-start;gap:18px;overflow:visible;padding:6px 4px 16px}.event-tournament-board>.event-stage-column{flex:1 1 300px;width:auto}.event-tournament-board>.group-column{flex-basis:380px}.event-tournament-board>.event-champion-panel{flex:1 1 210px;width:auto}.event-champion-panel{border:2px solid var(--champion-gold);box-shadow:0 0 0 1px color-mix(in srgb,var(--champion-gold) 25%,transparent),0 10px 28px color-mix(in srgb,var(--champion-gold) 16%,transparent)}
@media(max-width:650px){.published-event-head>div:last-child{width:100%;justify-content:space-between}.event-tournament-board{display:grid;grid-auto-flow:row;grid-auto-columns:auto;overflow:visible}.event-stage-column,.event-stage-column.group-column,.event-champion-panel{width:100%;min-width:0}.event-roster-grid{grid-template-columns:1fr}}
.admin-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.admin-panel{display:none}.admin-panel.active{display:block}.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.admin-section-heading h2,.admin-section-heading p{margin:0}.admin-section-heading p{margin-top:5px;color:var(--muted)}.admin-event-list{display:grid;gap:14px}.admin-event-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 92%,var(--blue) 3%)}.admin-event-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:14px}.admin-event-heading h3{margin:8px 0 0;font-size:1.45rem}.admin-event-heading small{color:var(--muted);text-transform:uppercase}.admin-event-fields{display:grid;grid-template-columns:1.2fr 1fr 1fr .8fr;gap:10px;margin-top:16px}.admin-event-fields label{display:grid;gap:5px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.admin-event-fields input,.admin-event-fields select{min-width:0;padding:10px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.admin-event-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.danger-action{color:var(--red);border-color:var(--red)}.admin-chat-log{display:grid;gap:9px;max-height:480px;padding:12px;overflow-y:auto;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 90%,var(--blue) 3%)}.admin-chat-log article{padding:12px;border-radius:10px;background:var(--paper)}.admin-chat-log article>div{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.admin-chat-log span,.admin-chat-log time,.admin-audit-list time{color:var(--muted);font-size:.7rem}.admin-chat-log p{margin:8px 0 0;white-space:pre-wrap}.admin-chat-form{display:grid;grid-template-columns:1fr auto;gap:10px;margin-top:10px}.admin-chat-form textarea{min-height:76px;padding:12px;border:1px solid var(--line);background:var(--paper);color:var(--ink)}.admin-audit-list{display:grid;gap:1px;border:1px solid var(--line)}.admin-audit-list article{display:grid;grid-template-columns:minmax(130px,.7fr) minmax(180px,1.5fr) auto;gap:12px;padding:12px;background:var(--paper);border-bottom:1px solid var(--line)}.admin-empty{color:var(--muted)}.event-status-live{background:#d9ffe8!important;color:#096637!important;border-color:#48c97c!important}.event-status-completed{background:color-mix(in srgb,var(--champion-gold) 22%,var(--paper))!important;color:var(--ink)!important;border-color:var(--champion-gold)!important}.event-status-archived{opacity:.65}.home-calendar{padding-bottom:1rem}.home-calendar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.home-event-card{padding:20px;border:1px solid var(--line);border-top:4px solid var(--blue);background:var(--paper);color:inherit;text-decoration:none;box-shadow:var(--shadow)}.home-event-card:has(.event-status-live){border-top-color:var(--good)}.home-event-card h3{margin:14px 0 6px;font-size:1.45rem}.home-event-card p{margin:0;color:var(--muted)}.home-event-card small{display:block;margin-top:14px;color:var(--red);font-weight:800}
.ea-match-notice{display:flex;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;border-left:4px solid var(--blue);background:color-mix(in srgb,var(--paper) 90%,var(--blue) 5%)}.ea-match-notice strong{flex:none;color:var(--blue);text-transform:uppercase}.ea-match-notice span{color:var(--muted)}.ea-awaiting-state{padding:clamp(24px,5vw,48px);border:1px dashed var(--line);border-radius:12px;text-align:center;background:color-mix(in srgb,var(--paper) 94%,var(--blue) 2%)}.ea-awaiting-state h3{margin:8px 0;font-size:clamp(1.7rem,3vw,2.4rem)}.ea-awaiting-state p{max-width:720px;margin:0 auto;color:var(--muted);line-height:1.6}.ea-awaiting-state dl{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:22px 0 0}.ea-awaiting-state dl div{min-width:240px;padding:12px;border:1px solid var(--line);border-radius:8px;background:var(--paper)}.ea-awaiting-state dt{color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.ea-awaiting-state dd{margin:5px 0 0}.ea-club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ea-club-card{display:grid;gap:5px;padding:18px;border:1px solid var(--line);border-left:4px solid var(--blue);border-radius:10px;color:var(--ink);background:var(--paper);text-align:left;cursor:pointer}.ea-club-card:hover,.ea-club-card.active{border-left-color:var(--red);box-shadow:var(--shadow)}.ea-club-card span,.ea-club-card small{color:var(--muted)}.ea-club-card span{font-size:.68rem;font-weight:800;text-transform:uppercase}.ea-club-card strong{font:900 1.35rem "Barlow Condensed",sans-serif;text-transform:uppercase}.ea-club-card b{margin-top:5px;color:var(--red);font-size:.75rem}.ea-match-results{margin-top:22px}.ea-results-heading{display:flex;align-items:end;justify-content:space-between;gap:14px;margin-bottom:12px}.ea-results-heading h3{margin:5px 0 0;font-size:2rem}.ea-results-heading small{color:var(--muted)}.ea-match-list{display:grid;gap:12px}.ea-match-card{padding:18px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--paper) 94%,var(--blue) 2%)}.ea-match-card>header{display:flex;justify-content:space-between;gap:12px;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.ea-scoreline{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:18px 0}.ea-scoreline strong{font:900 1.35rem "Barlow Condensed",sans-serif;text-transform:uppercase}.ea-scoreline strong:last-child{text-align:right}.ea-scoreline b{font:900 2rem "Barlow Condensed",sans-serif}.ea-match-id{display:block;margin-bottom:12px;color:var(--muted)}.ea-player-table{min-width:560px}
@media(max-width:800px){.admin-event-fields,.home-calendar-grid,.ea-club-grid{grid-template-columns:1fr}.admin-section-heading,.admin-event-heading,.ea-results-heading{align-items:flex-start;flex-direction:column}.admin-chat-form{grid-template-columns:1fr}.admin-audit-list article{grid-template-columns:1fr}.published-event-head>div:last-child{flex-wrap:wrap}.ea-match-notice{display:grid}}
.event-stage-column.event-league-column{width:620px}.event-league-table{display:grid;margin-bottom:10px}.event-league-table>div{display:grid;grid-template-columns:24px minmax(130px,1fr) repeat(4,28px) 38px 34px;gap:6px;align-items:center;padding:7px;border-bottom:1px solid var(--line);font-size:.74rem}.event-league-table .event-table-head{color:var(--muted);font-size:.6rem;text-transform:uppercase}.event-league-table>div.direct{border-left:3px solid var(--good)}.event-league-table>div.playoff{border-left:3px solid var(--champion-gold)}.qualification-key{display:flex;gap:14px;color:var(--muted);font-size:.67rem}.qualification-key span:first-child:before,.qualification-key span:last-child:before{content:"";display:inline-block;width:8px;height:8px;margin-right:5px;background:var(--good)}.qualification-key span:last-child:before{background:var(--champion-gold)}.event-league-fixtures{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 14px}.event-league-fixtures>div{display:grid;grid-template-columns:minmax(75px,1fr) 25px 9px 25px minmax(75px,1fr);align-items:center;gap:4px;font-size:.68rem}.event-league-fixtures>div span:last-child{text-align:right}.event-league-fixtures b{padding:3px;border:1px solid var(--line);border-radius:5px;text-align:center}.event-league-fixtures em{color:var(--muted);font-style:normal;text-align:center}.event-stage-placeholder{display:grid;place-items:center;min-height:180px;padding:20px;border:1px dashed var(--line);border-radius:9px;text-align:center}.event-stage-placeholder p{max-width:210px;margin:8px 0 0;color:var(--muted);font-size:.78rem;line-height:1.5}
@media(max-width:650px){.event-stage-column.event-league-column{width:100%}.event-league-table{overflow-x:auto}.event-league-table>div{min-width:520px}.event-league-fixtures{grid-template-columns:1fr}}
.byot-series-intro{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,.8fr);gap:24px;align-items:end;margin:20px 0 28px;padding:24px;border:1px solid var(--line);border-top:5px solid var(--red);background:var(--paper);box-shadow:var(--shadow)}.byot-series-intro h2,.byot-series-intro p{margin:0}.byot-series-intro h2{margin-top:7px}.byot-series-intro p{color:var(--muted);line-height:1.6}.byot-builder{margin:0 0 30px;padding:clamp(20px,3vw,34px);border:1px solid var(--line);border-radius:18px;background:var(--paper);box-shadow:var(--shadow)}.byot-builder-head{display:flex;justify-content:space-between;gap:18px}.byot-builder-head h2,.byot-builder-head p{margin:0}.byot-builder-head h2{margin-top:6px}.byot-builder-head p{margin-top:5px;color:var(--muted)}.byot-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:22px}.byot-fields label,.byot-team-label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.byot-fields input,.byot-fields select,.byot-team-label textarea{width:100%;padding:12px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font:600 .9rem Inter,sans-serif}.byot-team-label{margin-top:14px}.byot-team-label small{font-weight:500;text-transform:none}.byot-message{min-height:1.5em;color:var(--red);font-weight:700}.byot-champion{display:grid;grid-template-columns:minmax(150px,260px) 1fr;gap:clamp(20px,4vw,50px);align-items:center}.byot-champion img{width:100%;aspect-ratio:1;object-fit:contain;border-radius:16px}.byot-champion-photo{grid-template-columns:minmax(260px,1.15fr) 1fr}.byot-champion-photo img{aspect-ratio:4/3;object-fit:cover;border:1px solid var(--line);box-shadow:var(--shadow)}.byot-champion h3{margin:8px 0;font-size:clamp(1.8rem,4vw,3.4rem)}.byot-champion h3 b{color:var(--champion-gold)}.byot-champion p{color:var(--muted);line-height:1.65}.byot-inaugural{border:2px solid var(--champion-gold)}#byot-preview-board{margin-top:18px;max-width:100%;overflow:hidden}
@media(max-width:800px){.byot-fields{grid-template-columns:1fr 1fr}.byot-series-intro{grid-template-columns:1fr}.byot-champion{grid-template-columns:1fr;text-align:center}.byot-champion img{width:min(230px,72%);margin:auto}}
@media(max-width:520px){.byot-fields{grid-template-columns:1fr}.byot-builder-head{display:grid}.byot-builder .button-row{display:grid}.byot-builder .button{width:100%}}
.byot-format-help{margin:12px 0 0;padding:11px 13px;border-left:3px solid var(--champion-gold);color:var(--muted);background:color-mix(in srgb,var(--paper) 88%,var(--champion-gold) 7%);font-size:.78rem;line-height:1.5}.compact-placeholder{min-height:0!important;margin-top:10px;padding:10px!important}.users-directory-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.users-directory-head h2,.users-directory-head p{margin:0}.users-directory-head h2{margin-top:7px}.users-directory-head p{max-width:520px;color:var(--muted)}.users-directory{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.user-directory-card{display:grid;grid-template-columns:76px 1fr;gap:16px;align-items:center;padding:18px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:12px;background:var(--paper);box-shadow:var(--shadow)}.user-directory-card>img,.user-directory-avatar{display:grid;place-items:center;width:76px;height:76px;border-radius:50%;object-fit:cover;background:var(--blue);color:#fff;font:900 1rem "Barlow Condensed",sans-serif}.user-directory-card small{color:var(--muted);font-weight:800;text-transform:uppercase}.user-directory-card h3{margin:4px 0 9px;font-size:1.55rem}.user-directory-card .profile-chips{display:flex;flex-wrap:wrap;gap:6px}.user-directory-card .member-title-badge{font-size:.62rem}
@media(max-width:900px){.users-directory{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.users-directory{grid-template-columns:1fr}.users-directory-head{align-items:flex-start;flex-direction:column}.user-directory-card{grid-template-columns:58px 1fr}.user-directory-card>img,.user-directory-avatar{width:58px;height:58px}}
.byot-history-tools{display:flex;justify-content:flex-end;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.byot-history-editor{margin-top:14px;padding:20px;border:1px solid var(--champion-gold);border-radius:12px;background:color-mix(in srgb,var(--paper) 92%,var(--champion-gold) 5%)}.byot-history-editor[hidden]{display:none}.byot-history-editor h3{margin:0 0 14px}.byot-history-editor>div:first-of-type{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px}.byot-history-editor label{display:grid;gap:5px;color:var(--muted);font-size:.7rem;font-weight:800;text-transform:uppercase}.byot-history-editor input,.byot-history-editor select{min-width:0;padding:10px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink)}.byot-history-editor [data-byot-history-message]{align-self:center;color:var(--good);font-weight:800}
@media(max-width:900px){.byot-history-editor>div:first-of-type{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:520px){.byot-history-editor>div:first-of-type{grid-template-columns:1fr}.byot-history-editor .button{width:100%}.byot-history-editor [data-byot-history-message]{display:block;margin:10px 0 0}}

/* Aggregate BYOT */
.aggregate-byot-page{padding-top:24px}.aggregate-intro{display:flex;align-items:end;justify-content:space-between;gap:24px;margin:22px 0 16px;padding:24px;border:1px solid var(--line);border-top:5px solid var(--champion-gold);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.aggregate-intro h2{max-width:780px;margin:7px 0 0}.aggregate-rules{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:22px}.aggregate-rules span{padding:14px;border:1px solid var(--line);border-radius:9px;background:color-mix(in srgb,var(--paper) 92%,var(--blue) 4%);font-size:.9rem;line-height:1.5}.aggregate-rules b{display:inline-grid;place-items:center;width:24px;height:24px;margin-right:7px;border-radius:50%;background:var(--champion-gold);color:#171208}.aggregate-rosters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:28px}.aggregate-rosters>header{grid-column:1/-1;display:flex;align-items:baseline;justify-content:space-between;gap:16px}.aggregate-rosters>article{padding:16px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;background:var(--paper);box-shadow:var(--shadow)}.aggregate-rosters h3{margin:0}.aggregate-rosters p{display:flex;flex-wrap:wrap;gap:5px;margin:12px 0}.aggregate-rosters p span{padding:5px 7px;border-radius:5px;background:color-mix(in srgb,var(--paper) 84%,var(--blue) 10%);font-size:.75rem}.aggregate-rosters small{color:var(--muted);font-size:.78rem;line-height:1.5}.aggregate-bracket{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,.8fr);gap:20px;align-items:start}.aggregate-round{display:grid;gap:14px}.aggregate-round>h3{margin:0;font-size:.9rem;letter-spacing:.14em;text-transform:uppercase}.aggregate-series-card{overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow)}.aggregate-series-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:17px 18px;border-bottom:1px solid var(--line);background:color-mix(in srgb,var(--paper) 90%,var(--blue) 5%)}.aggregate-series-card h3{margin:5px 0 0;font-size:1.35rem}.aggregate-series-card h3 i{color:var(--muted);font-size:.8rem;font-style:normal}.aggregate-pending,.aggregate-complete{padding:6px 9px;border-radius:999px;font-size:.75rem;text-transform:uppercase}.aggregate-pending{color:var(--red);background:color-mix(in srgb,var(--paper) 88%,var(--red) 8%)}.aggregate-complete{color:var(--good);background:color-mix(in srgb,var(--paper) 86%,var(--good) 10%)}.aggregate-side-events{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;padding:14px}.aggregate-side-events>div{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:8px;background:color-mix(in srgb,var(--paper) 95%,var(--blue) 3%)}.aggregate-side-events b{color:var(--red);font-size:.95rem}.aggregate-side-events button,.aggregate-golden button{overflow:hidden;padding:9px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-align:left;text-overflow:ellipsis;white-space:nowrap;font:700 .82rem Inter,sans-serif;cursor:pointer}.aggregate-side-events button:hover,.aggregate-side-events button.selected,.aggregate-golden button:hover,.aggregate-golden button.selected{border-color:var(--champion-gold);background:color-mix(in srgb,var(--paper) 84%,var(--champion-gold) 12%)}.aggregate-side-events small{color:var(--muted);font-size:.75rem}.aggregate-ten-score{display:flex;align-items:center;justify-content:center;gap:10px;padding:14px 16px;border-block:1px solid var(--line);background:color-mix(in srgb,var(--paper) 91%,var(--blue) 5%)}.aggregate-ten-score>b{margin-right:auto;font-size:.9rem;text-transform:uppercase}.aggregate-ten-score label{display:flex;align-items:center;gap:7px;font-size:.8rem;font-weight:700}.aggregate-ten-score input{width:46px;padding:9px 5px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);text-align:center;font:900 1rem Inter,sans-serif}.aggregate-ten-score>i{color:var(--red);font-style:normal;font-weight:900}.aggregate-total{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:15px 17px}.aggregate-total>span{color:var(--muted);font-size:.8rem;text-transform:uppercase}.aggregate-total>strong{font-size:1rem}.aggregate-golden{display:flex;align-items:center;gap:7px;width:100%;padding-top:10px;border-top:1px dashed var(--champion-gold)}.aggregate-golden span{color:var(--red);font-size:.85rem;font-weight:800}.aggregate-golden button{flex:1}.aggregate-final-placeholder{display:grid;place-items:center;gap:16px;min-height:260px;padding:28px;border:1px dashed var(--line);border-radius:14px;background:var(--paper);text-align:center}.aggregate-final-placeholder p{max-width:300px;color:var(--muted)}
@media(max-width:1000px){.aggregate-rosters{grid-template-columns:repeat(2,minmax(0,1fr))}.aggregate-bracket{grid-template-columns:1fr}}@media(max-width:640px){.aggregate-intro{align-items:start;flex-direction:column}.aggregate-intro .button{width:100%}.aggregate-rules,.aggregate-rosters{grid-template-columns:1fr}.aggregate-side-events{grid-template-columns:1fr}.aggregate-ten-score{flex-wrap:wrap}.aggregate-ten-score>b{width:100%;margin:0}.aggregate-golden{align-items:stretch;flex-direction:column}.aggregate-rosters>header{align-items:start;flex-direction:column}}

.aggregate-team-name{display:grid;gap:5px}.aggregate-team-name>span{color:var(--muted);font-size:.7rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}.aggregate-team-name input,.aggregate-player-list input{box-sizing:border-box;width:100%;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-family:Inter,sans-serif}.aggregate-team-name input{padding:10px;font-size:1rem;font-weight:900}.aggregate-player-list{display:grid;gap:6px;margin:12px 0}.aggregate-player-list label{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px}.aggregate-player-list label>span{color:var(--muted);font-size:.68rem;font-weight:800;text-align:center}.aggregate-player-list input{min-width:0;padding:7px 8px;font-size:.78rem}.aggregate-team-name input:focus,.aggregate-player-list input:focus{border-color:var(--champion-gold);outline:2px solid color-mix(in srgb,var(--champion-gold) 35%,transparent);outline-offset:1px}
.event-tournament-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));column-gap:18px;row-gap:24px;align-items:start;overflow:visible}.event-tournament-board>.event-stage-column,.event-tournament-board>.group-column,.event-tournament-board>.event-champion-panel{width:100%;min-width:0}.event-tournament-board>.event-league-column{grid-column:span 2}.event-stage-column,.event-champion-panel{overflow:hidden}
@media(max-width:700px){.event-tournament-board>.event-league-column{grid-column:span 1}.event-league-table{overflow:visible}.event-league-table>div{min-width:0;grid-template-columns:20px minmax(72px,1fr) repeat(4,21px) 29px 27px;gap:3px;padding:6px 3px;font-size:.64rem}.qualification-key{flex-wrap:wrap}.event-league-fixtures{grid-template-columns:1fr}}
.schedule-hub{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.schedule-hub-card{display:block;min-height:260px;color:inherit;text-decoration:none}.schedule-hub-card h2{margin:22px 0 8px}.schedule-hub-card p{color:var(--muted);line-height:1.6}.schedule-hub-card strong{display:block;margin-top:24px;color:var(--red)}.schedule-tabs{grid-template-columns:repeat(5,minmax(0,auto))}
.aggregate-embed .skip-link,.aggregate-embed .site-header,.aggregate-embed .site-footer{display:none}.aggregate-embed .aggregate-byot-page{box-sizing:border-box;width:100%;padding:16px 12px 32px}.aggregate-embed .aggregate-intro{margin-top:0}
@media(max-width:900px){.schedule-hub{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.schedule-hub{grid-template-columns:1fr}.schedule-tabs{grid-template-columns:1fr}}
.schedule-weeks{display:grid;gap:26px;margin-top:22px}.schedule-week{border:1px solid var(--line);border-radius:14px;background:var(--paper);box-shadow:var(--shadow);overflow:hidden}.schedule-week-head{display:flex;align-items:end;gap:14px;padding:18px 20px;border-bottom:3px solid var(--red);background:color-mix(in srgb,var(--paper) 88%,var(--blue) 6%)}.schedule-week-head .section-kicker{margin-right:auto}.schedule-week-head h2,.schedule-week-head p{margin:0}.schedule-week-head p{color:var(--muted);font-weight:700}.schedule-week .table-wrap{box-shadow:none}.schedule-week table{min-width:680px}
@media(max-width:600px){.schedule-week-head{align-items:flex-start;flex-direction:column;gap:5px}.schedule-week-head .section-kicker{margin-right:0}}

/* League-stage boards lock qualification directly beneath the opening knockout round. */
.event-tournament-board.event-board-league{grid-template-columns:minmax(390px,.95fr) minmax(0,2fr)}
.event-tournament-board.event-board-league>.event-league-column{grid-column:span 1;width:100%}
.event-knockout-flow{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));align-items:start;gap:18px;min-width:0}
.event-opening-stack{display:grid;align-content:start;gap:18px;min-width:0}
.event-final-stack{display:grid;align-content:start;gap:18px;min-width:0}
.event-knockout-flow>.event-stage-column,.event-opening-stack>.event-stage-column,.event-final-stack>.event-stage-column,.event-final-stack>.event-champion-panel{width:100%;min-width:0}
.event-bracket-match,.event-bracket-match span,.event-group-table strong,.event-group-matches span,.event-league-table strong,.event-league-fixtures span,.event-champion-panel strong{min-width:0}
.event-bracket-match span,.event-group-table strong,.event-group-matches span,.event-league-table strong,.event-league-fixtures span,.event-champion-panel strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.event-inline-score{grid-column:2/5;display:grid!important;grid-template-columns:32px 10px 32px;align-items:center;justify-content:center;gap:3px;padding:0!important;border:0!important;background:transparent!important}.event-inline-score input,.event-bracket-score input{width:32px;min-width:0;padding:4px 2px;border:1px solid var(--line);border-radius:5px;background:var(--paper);color:var(--ink);font:800 .72rem Inter,sans-serif;text-align:center}.event-inline-score span,.event-bracket-score span{text-align:center;color:var(--muted)}.event-bracket-score{display:grid!important;grid-template-columns:32px 10px 32px;align-items:center;gap:3px}.event-results-actions{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:20px;padding-top:18px;border-top:1px solid var(--line)}.event-results-actions span{color:var(--muted);font-size:.78rem}.event-inline-score input:disabled,.event-bracket-score input:disabled{opacity:.45;cursor:not-allowed}
@media(max-width:900px){.event-tournament-board.event-board-league{grid-template-columns:minmax(0,1fr)}.event-knockout-flow{grid-template-columns:minmax(0,1fr)}}
.byot-presets{display:grid;grid-template-columns:minmax(170px,.65fr) repeat(2,minmax(220px,1fr));gap:10px;margin-top:22px}.byot-presets>div,.byot-preset{display:grid;align-content:center;gap:5px;min-height:82px;padding:13px 16px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 90%,var(--blue) 4%);text-align:left}.byot-presets>div strong{font-family:"Barlow Condensed",sans-serif;font-size:1.1rem;text-transform:uppercase}.byot-preset{cursor:pointer;color:var(--ink);font:inherit}.byot-preset:hover,.byot-preset.active{border-color:var(--red);box-shadow:0 0 0 2px color-mix(in srgb,var(--red) 15%,transparent)}.byot-preset b{font:900 1.25rem "Barlow Condensed",sans-serif;text-transform:uppercase}.byot-preset span{color:var(--muted);font-size:.72rem;line-height:1.4}.event-share-tools{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 16px}.event-share-tools .tab{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.control-room-selector{margin-bottom:18px}.control-room-selector label{display:grid;gap:6px;color:var(--muted);font-size:.72rem;font-weight:800;text-transform:uppercase}.control-room-selector select,.control-room-actions select{width:100%;min-width:0;padding:11px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink)}.control-room-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:18px}.control-room-heading h2{margin:6px 0;font-size:clamp(2rem,4vw,3.3rem)}.control-room-heading p{margin:0;color:var(--muted)}.control-room-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:18px}.control-room-metrics article{display:grid;gap:6px;padding:16px;border:1px solid var(--line);border-top:4px solid var(--blue);border-radius:10px;background:color-mix(in srgb,var(--paper) 90%,var(--blue) 4%)}.control-room-metrics small{color:var(--muted);font-weight:800;text-transform:uppercase}.control-room-metrics strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 1.3rem "Barlow Condensed",sans-serif;text-transform:uppercase}.control-room-queue{display:grid;grid-template-columns:minmax(150px,.4fr) 1.6fr;gap:16px;margin-bottom:22px;padding:16px;border:1px solid var(--line);border-left:4px solid var(--red);border-radius:10px}.control-room-queue h3{margin:5px 0 0}.control-room-queue>div:last-child{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.control-room-queue article{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:7px;padding:10px;border:1px solid var(--line);border-radius:8px}.control-room-queue article small{grid-column:1/-1;color:var(--muted);text-transform:uppercase}.control-room-queue article strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.control-room-queue article strong:last-child{text-align:right}.control-room-queue article span{color:var(--muted)}.control-room-actions{display:grid;grid-template-columns:auto minmax(170px,240px) auto minmax(180px,1fr);align-items:end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}.control-room-actions label{display:grid;gap:5px;color:var(--muted);font-size:.68rem;font-weight:800;text-transform:uppercase}.control-room-actions>span{align-self:center;color:var(--muted);font-size:.75rem}.control-room-empty{padding:40px;border:1px dashed var(--line);text-align:center}
@media(max-width:850px){.byot-presets{grid-template-columns:1fr}.control-room-heading{display:grid}.control-room-heading .event-share-tools{justify-content:flex-start}.control-room-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.control-room-queue{grid-template-columns:1fr}.control-room-queue>div:last-child{grid-template-columns:1fr}.control-room-actions{grid-template-columns:1fr 1fr}.control-room-actions>span{grid-column:1/-1}}
@media(max-width:520px){.control-room-metrics,.control-room-actions{grid-template-columns:1fr}.control-room-actions>span{grid-column:auto}.event-share-tools{justify-content:stretch}.event-share-tools>*{flex:1 1 100%}}
/* Tournament results: readable fixtures, horizontal bracket ties, and a winner panel that fills its stage. */
.event-tournament-board.event-board-league{grid-template-columns:minmax(440px,1.05fr) minmax(0,1.95fr)}
.event-league-fixtures{grid-template-columns:minmax(0,1fr)}
.event-league-fixtures>div{grid-template-columns:minmax(110px,1fr) 76px minmax(110px,1fr);gap:8px}
.event-league-fixtures>div>span:first-child{grid-column:1;text-align:left}.event-league-fixtures>div>.event-inline-score{grid-column:2}.event-league-fixtures>div>span:last-child{grid-column:3;text-align:right}
.event-inline-score-readonly span{color:var(--ink);font-weight:900}.event-inline-score-readonly em{color:var(--muted);font-style:normal;text-align:center}
.event-bracket-match{position:relative;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px 10px;padding:10px 12px;border-radius:2px;border-width:0 0 1px 3px;border-left-color:var(--blue);background:color-mix(in srgb,var(--paper) 92%,var(--blue) 3%)}
.event-bracket-match small{grid-column:1/-1}.event-bracket-match>span:first-of-type{grid-column:1;grid-row:2}.event-bracket-match>b,.event-bracket-match>.event-bracket-score{grid-column:2;grid-row:2;align-self:center}.event-bracket-match>span:last-child{grid-column:3;grid-row:2;text-align:right}
.event-bracket-match:after{content:"";position:absolute;right:-12px;top:calc(50% + 8px);width:12px;border-top:1px solid var(--blue)}
.knockout-column .event-stage-matches{min-height:0;align-content:space-around;flex:1}.knockout-column{display:flex;flex-direction:column}
.event-knockout-flow{align-items:stretch}.event-knockout-flow>.knockout-column{height:100%}.event-final-stack{height:100%;grid-template-rows:auto minmax(180px,1fr)}
.event-final-stack>.event-champion-panel,.event-tournament-board>.event-champion-panel{align-self:stretch;height:100%;display:grid;grid-template-rows:auto auto minmax(130px,1fr)}
.event-final-stack>.event-champion-panel>div,.event-tournament-board>.event-champion-panel>div{height:100%;min-height:130px}
@media(max-width:900px){.event-tournament-board.event-board-league{grid-template-columns:minmax(0,1fr)}.event-knockout-flow>.knockout-column{height:auto}.event-final-stack{height:auto;grid-template-rows:auto auto}.event-bracket-match:after{display:none}}
@media(max-width:520px){.event-league-fixtures>div{grid-template-columns:minmax(82px,1fr) 70px minmax(82px,1fr);gap:5px}.event-bracket-match{grid-template-columns:minmax(0,1fr) 70px minmax(0,1fr);gap:5px;padding-inline:7px}}
/* A true knockout tree: fixed round lanes, midpoint alignment, and joined bracket paths. */
.event-knockout-flow-wide{grid-column:1/-1;min-width:0}.event-knockout-flow-wide>.event-knockout-flow{width:100%}
.event-knockout-flow{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));column-gap:32px}
.event-knockout-flow .event-stage-column[class*="event-round-"]{align-self:start;height:auto;padding:0;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible}
.event-knockout-flow .event-stage-column[class*="event-round-"]>h3{min-height:40px;margin:0;padding:0 4px 12px;border-bottom:2px solid var(--blue)}
.event-knockout-flow .event-stage-column[class*="event-round-"]>.event-stage-matches{display:grid;width:100%;height:420px;min-height:420px;margin:0;gap:0;justify-content:stretch;overflow:visible}
.event-round-size-8>.event-stage-matches{grid-template-rows:repeat(8,minmax(0,1fr))}.event-round-size-4>.event-stage-matches{grid-template-rows:repeat(4,minmax(0,1fr))}.event-round-size-2>.event-stage-matches{grid-template-rows:repeat(2,minmax(0,1fr))}.event-round-size-1>.event-stage-matches{grid-template-rows:minmax(0,1fr)}
.event-bracket-slot{position:relative;display:flex;width:100%;align-items:center;min-width:0;min-height:0;overflow:visible}.event-bracket-slot>.event-bracket-match{width:100%;min-width:0;padding:8px 4px;border:0;border-bottom:2px solid var(--line);border-radius:0;background:transparent;overflow:visible}
.event-bracket-slot>.event-bracket-match:after{display:block;right:-16px;top:calc(50% + 7px);width:16px;border-color:var(--blue)}
.event-round-size-4 .event-bracket-slot:nth-child(odd):after,.event-round-size-2 .event-bracket-slot:nth-child(odd):after,.event-round-size-8 .event-bracket-slot:nth-child(odd):after{content:"";position:absolute;right:-16px;top:calc(50% + 7px);height:calc(50% - 7px);border-right:2px solid var(--blue)}
.event-round-size-4 .event-bracket-slot:nth-child(even):after,.event-round-size-2 .event-bracket-slot:nth-child(even):after,.event-round-size-8 .event-bracket-slot:nth-child(even):after{content:"";position:absolute;right:-16px;top:0;height:calc(50% + 7px);border-right:2px solid var(--blue)}
.event-knockout-flow>.event-stage-column .event-bracket-match:before,.event-final-stack .event-bracket-match:before{content:"";position:absolute;left:-16px;top:calc(50% + 7px);width:16px;border-top:2px solid var(--blue)}
.event-final-stack{align-self:stretch}.event-final-stack>.event-champion-panel{min-height:190px}
@media(max-width:900px){.event-knockout-flow{grid-template-columns:minmax(0,1fr);row-gap:24px}.event-knockout-flow .event-stage-column[class*="event-round-"]>.event-stage-matches{height:auto;min-height:0;grid-template-rows:none;gap:10px}.event-bracket-slot{min-height:64px}.event-bracket-slot:after,.event-bracket-slot>.event-bracket-match:after,.event-knockout-flow>.event-stage-column .event-bracket-match:before,.event-final-stack .event-bracket-match:before{display:none}.event-final-stack>.event-champion-panel{min-height:220px}}

.arcade-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:1.5rem;margin-top:2rem}.arcade-game-card{display:block;text-decoration:none;padding:2rem}.arcade-game-card>img{display:block;width:100%;height:auto;aspect-ratio:3/2;object-fit:contain;margin-bottom:1.25rem;border-radius:6px}.arcade-game-card{padding:1rem}.arcade-game-card:hover{border-color:var(--blue)}.arcade-game-card>strong{color:var(--blue)}.arcade-host{height:auto!important;min-height:900px}.arcade-host iframe{min-height:1100px}

.arcade-signup-note{margin:0;padding:12px 20px;font-size:.85rem;line-height:1.5;color:var(--muted);border-bottom:1px solid color-mix(in srgb,var(--blue) 20%,transparent)}.arcade-signup-note a{color:var(--blue);font-weight:700;text-underline-offset:3px}

/* UFB documentation is part of the site shell, independent of arcade releases. */
.site-brands{display:flex;align-items:center;gap:14px;flex-shrink:0}.site-brands .ufb-brand{display:flex;align-items:center;gap:8px;color:inherit;text-decoration:none}.site-brands .ufb-brand img{width:30px;height:30px}.site-brands .brand-divider{height:30px;width:1px;background:var(--line)}
.ufb-reference{display:grid;gap:22px;min-width:0}.ufb-category{border:1px solid var(--line);border-top:4px solid var(--red);border-radius:10px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:var(--shadow);min-width:0}.ufb-category summary{cursor:pointer;font:800 1.7rem 'Barlow Condensed',sans-serif;text-transform:uppercase}.ufb-category>p,.ufb-command p,.ufb-command small{color:var(--muted);line-height:1.65}.ufb-command{padding:20px 0;border-top:1px solid var(--line);min-width:0}.ufb-command>div{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap}.ufb-command code{color:var(--ink);font-size:1rem;font-weight:700}.ufb-command p{margin:10px 0}.ufb-command .season-chip{font-size:.65rem}.ufb-examples{margin-top:16px;min-width:0}.ufb-examples h4{margin:0 0 8px;color:var(--muted);font-size:.8rem;text-transform:uppercase;letter-spacing:.06em}.ufb-examples pre{margin:8px 0;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--red);border-radius:6px;white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%;background:var(--paper);color:var(--ink);line-height:1.65}.ufb-examples pre code{font-size:.85rem;font-weight:500}.ufb-preview{max-width:1080px;margin:18px 0 2px}.ufb-preview a{display:block;border:1px solid var(--line);border-radius:9px;overflow:hidden;background:#041326;box-shadow:0 10px 28px rgba(0,0,0,.16)}.ufb-preview img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}.ufb-preview figcaption{margin-top:9px;color:var(--muted);font-size:.82rem;line-height:1.5}.ufb-preview figcaption span{color:var(--blue);font-weight:700;white-space:nowrap}
@media(max-width:600px){.site-brands{gap:8px}.site-brands .ufb-brand span{display:none}.ufb-category{padding:18px}.ufb-preview figcaption{font-size:.76rem}}
.ea-match-card .ea-player-table{min-width:1100px}.ea-player-table caption{text-align:left;color:var(--muted);font-size:.75rem;padding:10px 0}.ea-player-table td{white-space:nowrap}.ea-player-table th small{display:block;font-size:.65rem;font-weight:400;text-transform:none}.ea-match-card .table-wrap{max-width:100%;overflow-x:auto}
