:root{
  --bg:#050816;--panel:#0b1024;--panel2:#111938;--purple:#4B1D7A;--purple2:#7C39D6;--ice:#D9F3FF;--white:#fff;--muted:#b7bfd3;--gold:#C9A646;--line:rgba(255,255,255,.12);--danger:#ff5570;
  --shadow:0 24px 80px rgba(0,0,0,.35);--radius:22px;
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at top left,rgba(124,57,214,.35),transparent 35%),linear-gradient(180deg,#050816 0%,#080d1f 55%,#03040b 100%);color:var(--white);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto}button,input,textarea,select{font:inherit}.site-header{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:14px clamp(18px,4vw,56px);background:rgba(5,8,22,.82);backdrop-filter:blur(18px);border-bottom:1px solid var(--line)}.brand img{width:210px;display:block}.site-nav{display:flex;align-items:center;gap:18px}.site-nav a,.site-nav button{color:var(--muted);background:none;border:0;cursor:pointer}.site-nav a:hover,.site-nav button:hover{color:var(--white)}.nav-cta,.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:12px 18px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.84rem}.nav-cta,.btn-primary{background:linear-gradient(135deg,var(--purple2),var(--purple));color:#fff!important;box-shadow:0 12px 30px rgba(124,57,214,.35)}.btn-ghost{border:1px solid var(--line);background:rgba(255,255,255,.05)}.nav-toggle{display:none}.hero{min-height:78vh;padding:clamp(52px,8vw,110px) clamp(18px,5vw,72px);display:grid;grid-template-columns:1.1fr .9fr;gap:36px;align-items:center;position:relative;overflow:hidden}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(115deg,rgba(5,8,22,.68),rgba(5,8,22,.2)),radial-gradient(circle at 70% 35%,rgba(217,243,255,.16),transparent 28%);pointer-events:none}.hero>*{position:relative}.hero h1,.page-hero h1,.profile-hero h1{font-size:clamp(3.2rem,9vw,8.4rem);line-height:.85;margin:8px 0 20px;text-transform:uppercase;letter-spacing:-.07em}.hero p,.page-hero p{max-width:720px;font-size:clamp(1.05rem,1.8vw,1.35rem);color:var(--muted)}.eyebrow{display:inline-flex;color:var(--ice);text-transform:uppercase;letter-spacing:.18em;font-weight:900;font-size:.78rem}.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px}.hero-scoreboard{display:grid;gap:16px}.score-card,.feature-card,.news-card,.player-card,.team-card,.game-card,.form-card,.poll-card{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.main-card h2{font-size:clamp(1.8rem,4vw,3.4rem);line-height:.95;text-transform:uppercase}.main-card small{font-size:1rem;color:var(--ice)}.score-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.score-card span,.game-card span,.news-card span,.team-card span{color:var(--ice);font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.12em}.score-card strong{font-size:2.1rem}.section{padding:clamp(48px,7vw,86px) clamp(18px,5vw,72px)}.section-tight{padding-top:26px}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:24px}.section-head h2,.section h2{font-size:clamp(2rem,4vw,4rem);line-height:.95;margin:.2em 0;text-transform:uppercase;letter-spacing:-.045em}.feature-grid.three,.news-grid,.fixture-grid,.player-grid,.team-grid,.dashboard-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.split-section{display:grid;grid-template-columns:1.2fr .8fr;gap:28px}.card-list{display:grid;gap:16px}.news-card{display:block;transition:.2s transform,.2s border-color}.news-card:hover,.player-card:hover,.team-card:hover,.game-card:hover{transform:translateY(-4px);border-color:rgba(217,243,255,.45)}.player-spotlight{padding:32px;border-radius:32px;background:radial-gradient(circle at top right,rgba(124,57,214,.55),transparent 42%),linear-gradient(180deg,#111938,#080b18);border:1px solid var(--line);box-shadow:var(--shadow)}.jersey-number{font-size:4rem;font-weight:1000;line-height:1;color:transparent;-webkit-text-stroke:1.5px var(--ice);text-shadow:0 0 35px rgba(217,243,255,.2)}.jersey-number.large{font-size:clamp(5rem,15vw,13rem)}.sponsor-box{margin:16px 0;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid var(--line);color:var(--muted)}.dark-panel{background:linear-gradient(90deg,rgba(75,29,122,.36),rgba(255,255,255,.04));border-block:1px solid var(--line)}.team-strip{display:flex;gap:12px;flex-wrap:wrap}.team-strip a{padding:12px 16px;border:1px solid var(--line);border-radius:999px;color:var(--ice);background:rgba(255,255,255,.04)}.page-hero{padding:clamp(56px,8vw,96px) clamp(18px,5vw,72px) 42px;background:linear-gradient(180deg,rgba(124,57,214,.25),transparent)}.page-hero h1{font-size:clamp(3rem,7vw,6rem)}.article-wrap{max-width:880px;margin:auto;padding:64px 18px}.article-wrap h1{font-size:clamp(2.5rem,6vw,5rem);line-height:.95;text-transform:uppercase}.article-body{font-size:1.1rem;color:#e7eaf4}.source-note{color:var(--muted);border-top:1px solid var(--line);padding-top:18px}.game-card{display:grid;grid-template-columns:80px 1fr auto;align-items:center;gap:18px}.game-date{width:70px;height:70px;border-radius:18px;background:linear-gradient(135deg,var(--ice),#fff);color:var(--bg);display:grid;place-items:center;text-align:center;line-height:1}.game-date strong{font-size:1.8rem}.game-date span{color:var(--bg)}.game-teams h3{margin:0;text-transform:uppercase}.game-meta{text-align:right}.game-detail{padding:70px clamp(18px,5vw,72px);text-align:center;background:radial-gradient(circle at center,rgba(124,57,214,.3),transparent 50%)}.matchup{display:grid;grid-template-columns:1fr auto 1fr;gap:20px;align-items:center}.versus{font-size:2.5rem;color:var(--ice)}.final-score{font-size:5rem;font-weight:1000}.profile-hero{padding:70px clamp(18px,5vw,72px);display:grid;grid-template-columns:.42fr 1fr;gap:34px;align-items:center}.profile-hero h1{font-size:clamp(3rem,7vw,6rem)}.team-mark{width:180px;height:180px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--purple2),var(--purple));font-size:4rem;font-weight:1000}.auth-wrap{min-height:70vh;display:grid;place-items:center;padding:44px 18px}.auth-wrap.wide .form-card{max-width:980px}.form-card{width:100%;max-width:520px}.form-card label{display:grid;gap:7px;margin:12px 0;color:var(--muted);font-weight:700}.form-card input,.form-card textarea,.form-card select{width:100%;border:1px solid var(--line);border-radius:14px;background:rgba(0,0,0,.25);color:var(--white);padding:13px}.form-card textarea{min-height:110px}.checkbox{display:flex!important;align-items:center;grid-template-columns:auto 1fr!important}.checkbox input{width:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.poll-card{margin-bottom:16px}.poll-card label{display:block;margin:10px 0;color:var(--muted)}.leaderboard{display:grid;gap:10px}.leaderboard>div{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.05)}.stat-xl{font-size:4rem;font-weight:1000;color:var(--ice)}.gallery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.gallery-grid figure{margin:0;background:rgba(255,255,255,.05);border:1px solid var(--line);border-radius:18px;overflow:hidden}.gallery-grid img{width:100%;aspect-ratio:4/3;object-fit:cover}.gallery-grid figcaption{padding:12px}.admin-links{display:flex;gap:12px;flex-wrap:wrap}.admin-links a{padding:14px 18px;border:1px solid var(--line);border-radius:999px}.admin-table table{width:100%;border-collapse:collapse;background:rgba(255,255,255,.04);border-radius:20px;overflow:hidden}.admin-table th,.admin-table td{padding:14px;border-bottom:1px solid var(--line);text-align:left}.flash{margin:18px clamp(18px,5vw,72px);padding:14px 16px;border-radius:14px;background:rgba(217,243,255,.12);border:1px solid rgba(217,243,255,.35)}.flash-error{background:rgba(255,85,112,.12);border-color:rgba(255,85,112,.4)}.site-footer{display:grid;grid-template-columns:2fr 1fr 1fr;gap:28px;padding:44px clamp(18px,5vw,72px) 88px;border-top:1px solid var(--line);background:#03040b;color:var(--muted)}.site-footer a{display:block;color:var(--muted);margin:8px 0}.footer-logo{width:190px}.mobile-bottom-nav{display:none}
@media(max-width:900px){.nav-toggle{display:block;background:rgba(255,255,255,.08);border:1px solid var(--line);color:var(--white);border-radius:999px;padding:10px 14px}.site-nav{position:absolute;top:100%;right:18px;left:18px;display:none;flex-direction:column;align-items:stretch;padding:18px;background:#080d1f;border:1px solid var(--line);border-radius:20px}.site-nav.is-open{display:flex}.hero,.split-section,.profile-hero,.matchup{grid-template-columns:1fr}.feature-grid.three,.news-grid,.fixture-grid,.player-grid,.team-grid,.dashboard-grid,.gallery-grid{grid-template-columns:1fr}.game-card{grid-template-columns:64px 1fr}.game-meta{grid-column:2;text-align:left}.score-grid,.form-grid{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr}.mobile-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:60;bottom:0;left:0;right:0;background:rgba(5,8,22,.93);backdrop-filter:blur(14px);border-top:1px solid var(--line)}.mobile-bottom-nav a{text-align:center;padding:12px 6px;color:var(--muted);font-size:.82rem}.brand img{width:170px}.hero h1{font-size:4rem}.section{padding-inline:18px}.page-hero{padding-inline:18px}}

/* Stage 3 - Player profiles and sponsor hub */
.filter-pills{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.filter-pills a{padding:12px 16px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.05);color:var(--ice);font-weight:900;text-transform:uppercase;font-size:.78rem;letter-spacing:.08em}.filter-pills a.active{background:linear-gradient(135deg,var(--purple2),var(--purple));color:#fff}.featured-player-card{display:grid;grid-template-columns:.45fr 1fr;gap:30px;align-items:center;border:1px solid var(--line);border-radius:34px;background:radial-gradient(circle at left,rgba(217,243,255,.16),transparent 34%),linear-gradient(135deg,rgba(124,57,214,.28),rgba(255,255,255,.04));box-shadow:var(--shadow);padding:clamp(24px,4vw,44px)}.featured-player-card h2{font-size:clamp(2.2rem,5vw,5rem);line-height:.9;text-transform:uppercase;letter-spacing:-.055em}.featured-player-image,.profile-image-panel{min-height:320px;border-radius:28px;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.02));border:1px solid var(--line);overflow:hidden}.featured-player-image img,.profile-image-panel img{width:100%;height:100%;object-fit:cover}.player-placeholder{width:220px;height:220px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,var(--ice),#fff);color:var(--purple);font-weight:1000;font-size:4rem;box-shadow:inset 0 0 0 8px rgba(75,29,122,.12)}.player-placeholder.small{width:96px;height:96px;font-size:2.4rem}.player-mini-stats{display:flex;gap:10px;flex-wrap:wrap;margin:18px 0}.player-mini-stats span,.info-grid .feature-card span{display:inline-flex;padding:10px 12px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.06);color:var(--ice);font-weight:800}.roster-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.roster-card{min-height:360px;display:flex;flex-direction:column;position:relative;overflow:hidden}.roster-card:before{content:"";position:absolute;inset:auto -20% -30% -20%;height:55%;background:radial-gradient(circle,rgba(124,57,214,.32),transparent 62%);pointer-events:none}.roster-card>*{position:relative}.roster-card-top{display:flex;align-items:start;justify-content:space-between}.roster-card-top span{font-size:.72rem;color:var(--ice);font-weight:900;text-transform:uppercase;letter-spacing:.12em}.roster-photo{display:grid;place-items:center;min-height:125px;margin:8px 0 18px}.roster-photo img{width:135px;height:135px;border-radius:50%;object-fit:cover;border:3px solid rgba(217,243,255,.45);box-shadow:0 0 34px rgba(124,57,214,.35)}.roster-card h3{font-size:1.45rem;line-height:1;text-transform:uppercase;margin:auto 0 4px}.sponsor-box.small{font-size:.88rem;margin-top:12px}.sponsor-feature{margin-top:24px;padding:22px;border-radius:24px;background:rgba(255,255,255,.05);border:1px solid var(--line)}.sponsor-feature-inner{display:flex;align-items:center;gap:18px;margin:14px 0}.sponsor-feature-inner img{max-width:130px;max-height:80px;object-fit:contain;background:#fff;border-radius:14px;padding:10px}.info-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.info-grid .feature-card strong{display:block;font-size:1.25rem;margin-top:8px}.sponsor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sponsor-card{display:block;min-height:310px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:var(--shadow);transition:.2s transform,.2s border-color}.sponsor-card:hover{transform:translateY(-4px);border-color:rgba(217,243,255,.45)}.sponsor-logo-box,.sponsor-logo-large{display:grid;place-items:center;background:#fff;border-radius:22px;color:var(--purple);font-weight:1000;overflow:hidden}.sponsor-logo-box{height:140px;margin-bottom:18px}.sponsor-logo-box img{max-width:85%;max-height:90px;object-fit:contain}.sponsor-card span{color:var(--ice);font-weight:900;text-transform:uppercase;font-size:.76rem;letter-spacing:.12em}.sponsor-card h2{text-transform:uppercase;font-size:1.7rem;line-height:.95}.sponsor-logo-large{min-height:260px;padding:24px;font-size:5rem}.sponsor-logo-large img{max-width:100%;max-height:220px;object-fit:contain}.sponsor-profile-hero h1{font-size:clamp(3rem,7vw,6rem)}
@media(max-width:1100px){.roster-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.info-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.featured-player-card{grid-template-columns:1fr}.roster-grid,.sponsor-grid,.info-grid{grid-template-columns:1fr}.featured-player-image,.profile-image-panel{min-height:240px}.player-mini-stats{display:grid}.sponsor-feature-inner{display:grid}.sponsor-logo-large{min-height:190px}}

/* Stage 4 Match Centre */
.match-hero{padding:70px 5vw 44px;background:radial-gradient(circle at top,#5523a1 0,#11182c 42%,#050816 100%);text-align:center;position:relative;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.09)}
.match-status-pill{display:inline-flex;padding:8px 16px;border-radius:999px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.18);text-transform:uppercase;font-weight:900;letter-spacing:.12em;font-size:.78rem}.match-status-pill.live{background:rgba(201,166,70,.22)}.match-status-pill.final{background:rgba(217,243,255,.16)}
.match-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:28px;align-items:center;max-width:1100px;margin:24px auto}.team-side{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:24px;padding:28px;min-height:120px;display:flex;flex-direction:column;justify-content:center}.team-side span{color:#d9f3ff;text-transform:uppercase;letter-spacing:.12em;font-size:.8rem}.team-side strong{font-size:clamp(1.5rem,3vw,3rem);line-height:1;text-transform:uppercase}.score-centre{min-width:130px}.scoreline,.vs{display:block;font-size:clamp(2.4rem,5vw,5rem);font-weight:1000;color:#fff;text-shadow:0 0 24px rgba(217,243,255,.5)}
.match-meta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.match-meta-row span{background:rgba(255,255,255,.1);padding:9px 14px;border-radius:999px}.countdown-card{margin:24px auto 0;max-width:340px;padding:18px;border-radius:20px;background:rgba(217,243,255,.12);border:1px solid rgba(217,243,255,.28)}.countdown-card span{display:block;text-transform:uppercase;font-size:.75rem;letter-spacing:.16em;color:#d9f3ff}.countdown-card strong{font-size:1.6rem}
.match-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:24px}.match-main,.match-sidebar{display:grid;gap:22px;align-content:start}.article-panel h2{margin-top:0}.rich-text{line-height:1.75}.stat-panel dl{display:grid;grid-template-columns:1fr 1.2fr;gap:8px 14px}.stat-panel dt{color:#bfc7d5}.stat-panel dd{margin:0;font-weight:800}.mini-result{border-top:1px solid rgba(255,255,255,.1);padding:12px 0}.mini-result span{display:block;color:#bfc7d5;font-size:.9rem}.comment-form textarea{width:100%;margin-bottom:12px}.comment-list{display:grid;gap:12px;margin-top:18px}.comment-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px}.comment-card small{display:block;color:#bfc7d5}.status-badge{border-radius:999px;padding:4px 10px;font-weight:900;text-transform:uppercase;font-size:.7rem;background:rgba(255,255,255,.12)}.status-badge.live{background:rgba(201,166,70,.24)}.status-badge.final{background:rgba(217,243,255,.16)}.game-card-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.game-score strong{font-size:2rem;color:#d9f3ff}.table-actions{display:flex;gap:10px;align-items:center}.table-actions form{display:inline}.table-actions button{background:none;border:0;color:#fff;text-decoration:underline;cursor:pointer}
@media(max-width:850px){.match-teams,.match-layout{grid-template-columns:1fr}.score-centre{min-width:0}.team-side{min-height:auto}.match-hero{padding-top:44px}.stat-panel dl{grid-template-columns:1fr}.table-actions{flex-direction:column;align-items:flex-start}}

/* Stage 4 layout hotfix - spacing, admin tables, match cards */
.content-section{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:clamp(38px,6vw,74px) 0;
}
.content-section.alt-bg{
  width:100%;
  margin:0;
  padding:clamp(38px,6vw,74px) max(18px, calc((100vw - 1180px) / 2));
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.045));
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}
.section-heading{
  max-width:820px;
  margin:0 0 26px;
}
.section-heading h1,
.section-heading h2{
  margin:0 0 10px;
  line-height:.95;
  letter-spacing:-.045em;
  text-transform:uppercase;
}
.section-heading h1{font-size:clamp(2.6rem,5vw,5rem)}
.section-heading h2{font-size:clamp(2rem,3.6vw,3.8rem)}
.section-heading p{margin:0;color:var(--muted);font-size:1.05rem}
.action-row{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 24px}.action-row .btn{white-space:nowrap}
.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.card-grid .game-card{
  display:flex;
  flex-direction:column;
  gap:16px;
  min-height:260px;
  padding:24px;
}
.card-grid .game-card h3{
  margin:0;
  font-size:clamp(1.35rem,2vw,2rem);
  line-height:1.08;
  text-transform:uppercase;
  max-width:720px;
}
.card-grid .game-card h3 span{display:inline;color:var(--ice);font-size:.9em;letter-spacing:0;text-transform:none}
.card-grid .game-card p{margin:auto 0 0;color:var(--muted)}
.game-card-top{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}.game-card-top>span:first-child{color:var(--ice);font-weight:1000;letter-spacing:.1em;text-transform:uppercase}.status-badge{display:inline-flex;align-items:center;white-space:nowrap;border-radius:999px;padding:6px 11px;font-weight:900;text-transform:uppercase;font-size:.7rem;background:rgba(255,255,255,.12)}.game-score strong{font-size:clamp(1.7rem,3vw,2.7rem);line-height:1;color:var(--ice)}.text-link{display:inline-flex;width:max-content;margin-top:4px;color:var(--ice);font-weight:900;text-decoration:none;border-bottom:1px solid rgba(217,243,255,.45)}
.table-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:22px;background:rgba(255,255,255,.045);box-shadow:var(--shadow)}.table-wrap table{width:100%;min-width:760px;border-collapse:collapse}.table-wrap th,.table-wrap td{padding:16px 18px;text-align:left;border-bottom:1px solid var(--line);vertical-align:middle}.table-wrap th{color:var(--ice);font-size:.78rem;text-transform:uppercase;letter-spacing:.12em;background:rgba(255,255,255,.055)}.table-wrap tr:last-child td{border-bottom:0}.table-actions{display:flex!important;gap:12px!important;align-items:center!important;flex-wrap:wrap}.table-actions a,.table-actions button{display:inline-flex!important;align-items:center;justify-content:center;min-height:34px;padding:7px 11px!important;border-radius:999px!important;border:1px solid var(--line)!important;background:rgba(255,255,255,.06)!important;color:#fff!important;text-decoration:none!important;font-weight:800;cursor:pointer}.table-actions button{font-size:.9rem}.table-actions form{display:inline-flex!important;margin:0!important}
.site-nav{white-space:nowrap}.site-header{overflow:visible}.brand img{height:auto;max-width:220px}.page-hero.compact{min-height:auto;padding-top:54px;padding-bottom:54px}.page-hero.compact h1{font-size:clamp(3rem,6vw,6rem);max-width:1100px}.page-hero.compact p:last-child{font-size:clamp(1rem,1.4vw,1.3rem);line-height:1.55}
@media(max-width:900px){.content-section{width:min(100% - 28px, 1180px)}.card-grid{grid-template-columns:1fr}.site-header{padding:12px 16px}.brand img{max-width:165px}.page-hero.compact{padding:42px 18px}.section-heading h1{font-size:2.7rem}.section-heading h2{font-size:2.2rem}.card-grid .game-card{min-height:0}.table-wrap th,.table-wrap td{padding:13px 14px}}

/* Stage 5 Prediction League */
.prediction-panel-wide{margin:0 0 26px;padding:28px;border-radius:24px;background:linear-gradient(135deg,rgba(95,45,180,.18),rgba(9,14,35,.92));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.25)}
.prediction-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:20px 0}
.prediction-form-grid label,.admin-form-grid label{display:block;margin:0 0 8px;font-weight:800;font-size:.78rem;letter-spacing:.05em;text-transform:uppercase;color:#d8ccff}
.prediction-form-grid input,.prediction-form-grid select,.admin-form-grid input{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.18);background:#090b1c;color:#fff;outline:none}
.prediction-submit{grid-column:1/-1;display:flex;justify-content:flex-start;align-items:end}
.prediction-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px}
.prediction-summary-grid div{padding:16px;border-radius:18px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1)}
.prediction-summary-grid strong{display:block;font-size:1.7rem;color:#fff;line-height:1}.prediction-summary-grid span{display:block;margin-top:8px;color:#c9c3e8;font-size:.85rem}.small-muted{color:#aaa4c7;font-size:.9rem}.scoreline-small{font-size:2rem;font-weight:900;color:#fff;margin:6px 0 14px}.portal-game-card{display:flex;justify-content:space-between;gap:20px;align-items:center;margin:0 0 14px;padding:18px;border-radius:20px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.portal-game-card span{display:block;margin-top:6px;color:#c9c3e8}.points-list{display:grid;gap:10px}.points-list div{display:flex;justify-content:space-between;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.06)}.leaderboard-page{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px}.leaderboard-table{padding:18px}.leaderboard-row{display:grid;grid-template-columns:90px minmax(0,1fr) 120px;gap:18px;align-items:center;padding:16px;border-bottom:1px solid rgba(255,255,255,.09)}.leaderboard-row:last-child{border-bottom:0}.leaderboard-head{color:#aaa4c7;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;font-weight:900}.admin-score-panel{padding:24px;margin-bottom:24px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.form-full{grid-column:1/-1}.admin-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:8px 12px;border-radius:999px;background:rgba(126,58,242,.2);border:1px solid rgba(168,116,255,.35);font-weight:900;color:#fff;text-decoration:none}.site-nav a[href$="leaderboard"]{display:inline-flex}
@media(max-width:900px){.prediction-form-grid,.prediction-summary-grid,.leaderboard-page,.admin-form-grid{grid-template-columns:1fr}.portal-game-card{align-items:flex-start;flex-direction:column}.leaderboard-row{grid-template-columns:64px minmax(0,1fr) 80px}.prediction-submit{grid-column:auto}}

/* Stage 5 layout hotfix - admin prediction spacing */
.admin-page-wrap{
  width:min(1180px, calc(100% - 36px));
  margin:0 auto;
  padding:clamp(42px,6vw,76px) 0;
}
.admin-page-header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:20px;
  margin:0 0 28px;
}
.admin-page-header h1{
  margin:4px 0 10px;
  font-size:clamp(2.2rem,4.5vw,4.8rem);
  line-height:.95;
  text-transform:uppercase;
  letter-spacing:-.045em;
}
.admin-page-header p:not(.eyebrow){
  margin:0;
  color:var(--muted);
  max-width:760px;
  font-size:1.05rem;
}
.admin-table-wrap{
  width:100%;
  overflow-x:auto;
  border:1px solid var(--line);
  border-radius:22px;
  background:rgba(255,255,255,.045);
  box-shadow:var(--shadow);
}
.admin-table{
  width:100%;
  min-width:900px;
  border-collapse:collapse;
}
.admin-table th,
.admin-table td{
  padding:17px 18px;
  text-align:left;
  border-bottom:1px solid var(--line);
  vertical-align:middle;
  white-space:nowrap;
}
.admin-table th{
  color:var(--ice);
  font-size:.78rem;
  text-transform:uppercase;
  letter-spacing:.12em;
  background:rgba(255,255,255,.06);
}
.admin-table tr:last-child td{border-bottom:0}
.admin-table td:nth-child(2){
  white-space:normal;
  min-width:310px;
  font-weight:800;
}
.admin-table td:nth-child(5),
.admin-table td:nth-child(6){text-align:center}
.admin-action{
  white-space:nowrap;
  min-width:92px;
}
.site-header{
  max-width:100vw;
}
.site-nav{
  flex-wrap:wrap;
  justify-content:flex-end;
}
@media(max-width:900px){
  .admin-page-wrap{width:min(100% - 28px, 1180px);padding-top:34px}
  .admin-page-header{align-items:flex-start;flex-direction:column}
  .admin-page-header h1{font-size:2.4rem}
  .admin-table{min-width:760px}
  .admin-table th,.admin-table td{padding:13px 14px}
}
/* Stage 6 Fan Gallery CSS Additions */
.gallery-page-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:28px;align-items:start}.compact-heading{display:flex;justify-content:space-between;align-items:end;gap:22px;flex-wrap:wrap;margin-bottom:22px}.filter-pills{display:flex;gap:10px;flex-wrap:wrap}.filter-pills a{display:inline-flex;align-items:center;justify-content:center;padding:9px 13px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.055);color:#fff;text-decoration:none;font-weight:900;font-size:.82rem}.filter-pills a.active{background:linear-gradient(135deg,#7834d9,#4b1d7a);border-color:rgba(217,243,255,.25);box-shadow:0 12px 30px rgba(126,58,242,.25)}.featured-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:0 0 24px}.featured-photo{position:relative;min-height:180px;overflow:hidden;border-radius:22px;border:1px solid rgba(255,255,255,.12);background:#080b1d}.featured-photo img{width:100%;height:100%;min-height:180px;object-fit:cover;display:block;filter:saturate(1.08) contrast(1.05)}.featured-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.78))}.featured-photo div{position:absolute;left:16px;right:16px;bottom:15px;z-index:2}.featured-photo span{display:block;color:#d9f3ff;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:.72rem}.featured-photo strong{display:block;color:#fff;font-size:1.05rem}.fan-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.fan-photo-card{overflow:hidden;border-radius:24px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 20px 60px rgba(0,0,0,.22)}.fan-photo-card img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;background:#090b1c}.fan-photo-card div{padding:17px}.fan-photo-card span{display:block;color:#d9f3ff;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;font-weight:1000}.fan-photo-card h3{margin:7px 0 8px;font-size:1.15rem;line-height:1.05;text-transform:uppercase}.fan-photo-card p{margin:0 0 10px;color:#c9c3e8;line-height:1.45}.fan-photo-card small{color:#aaa4c7}.upload-panel{position:sticky;top:100px}.upload-panel h2{margin:4px 0 14px;font-size:2rem;line-height:1;text-transform:uppercase}.stacked-form{display:grid;gap:14px}.stacked-form label{display:grid;gap:8px;color:#d8ccff;font-weight:900;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#090b1c;color:#fff;outline:none}.pagination-wrap{margin-top:24px;color:#fff}.empty-state{grid-column:1/-1}.admin-gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.admin-photo-card{overflow:hidden;border-radius:24px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:0 20px 60px rgba(0,0,0,.22)}.admin-photo-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;background:#090b1c}.admin-photo-body{padding:17px}.admin-photo-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-bottom:10px}.status-pending{background:rgba(201,166,70,.18)!important}.status-approved{background:rgba(52,211,153,.16)!important}.status-rejected{background:rgba(248,113,113,.16)!important}.admin-photo-body h3{margin:0 0 8px;text-transform:uppercase;line-height:1.05}.admin-photo-body p{margin:0 0 10px;color:#c9c3e8}.admin-photo-body small{display:block;color:#aaa4c7;margin-bottom:12px}.admin-photo-actions{margin-top:12px}.admin-filter-pills{max-width:620px;justify-content:flex-end}
@media(max-width:1100px){.gallery-page-grid{grid-template-columns:1fr}.upload-panel{position:relative;top:auto}.fan-gallery-grid,.admin-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.featured-strip{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:650px){.fan-gallery-grid,.admin-gallery-grid,.featured-strip{grid-template-columns:1fr}.gallery-page-grid{gap:18px}.compact-heading{align-items:flex-start}.admin-filter-pills{justify-content:flex-start}}

/* Stage 7 Away Day Guides */
.away-grid,.team-arena-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.away-card,.team-arena-card{position:relative;overflow:hidden;border-radius:26px;padding:24px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 70px rgba(0,0,0,.24)}.away-card:before,.team-arena-card:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 25% 0,rgba(126,58,242,.22),transparent 42%);pointer-events:none}.away-card>* ,.team-arena-card>*{position:relative}.away-card-top{display:flex;justify-content:space-between;gap:14px;align-items:center;margin-bottom:18px}.away-card-top span,.arena-mini span{color:#d9f3ff;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:.72rem}.away-card-top strong{display:inline-flex;border-radius:999px;background:rgba(217,243,255,.12);border:1px solid rgba(217,243,255,.18);padding:7px 11px}.away-card h3,.team-arena-card h3{margin:0 0 8px;text-transform:uppercase;font-size:clamp(1.45rem,2vw,2.2rem);line-height:.98}.arena-name{margin:0 0 14px;color:#fff;font-weight:900}.away-meta{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}.away-meta span{display:inline-flex;border-radius:999px;padding:6px 9px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#c9c3e8;font-weight:800}.away-card p,.team-arena-card p{color:#c9c3e8;line-height:1.55}.away-hero{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:end;width:min(1180px,calc(100% - 36px));margin:0 auto;padding:clamp(56px,7vw,105px) 0 42px}.away-hero h1{margin:8px 0 16px;font-size:clamp(3rem,7vw,7.2rem);line-height:.88;text-transform:uppercase;letter-spacing:-.055em}.away-hero p{font-size:1.12rem;color:#c9c3e8;max-width:780px;line-height:1.6}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.arena-score-card{border-radius:28px;padding:24px;background:linear-gradient(160deg,rgba(126,58,242,.25),rgba(8,11,29,.95));border:1px solid rgba(217,243,255,.15);box-shadow:0 24px 70px rgba(0,0,0,.32)}.arena-score-card>span{display:block;color:#d9f3ff;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:.72rem}.arena-score-card>strong{display:block;font-size:2rem;line-height:1;text-transform:uppercase;margin:9px 0}.arena-score-card>p{margin:0 0 16px!important;font-size:1rem!important}.arena-stat-row{display:flex;justify-content:space-between;gap:16px;padding:12px 0;border-top:1px solid rgba(255,255,255,.1)}.arena-stat-row span{color:#aaa4c7}.arena-stat-row b{color:#fff}.away-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.away-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.fan-rating-panel{position:sticky;top:100px}.fan-rating-panel h2{margin:4px 0 14px;text-transform:uppercase;font-size:2rem;line-height:1}.visited-form{margin-top:14px}.rating-list{display:grid;gap:12px;margin-top:22px}.rating-list div{padding:13px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09)}.rating-list strong{color:#fff}.rating-list span{margin-left:8px;color:#d9f3ff;font-weight:900}.rating-list p{margin:8px 0 0;color:#c9c3e8}.team-colour-bar{height:7px;border-radius:999px;background:linear-gradient(90deg,var(--team-a),var(--team-b));margin:0 0 20px}.team-colour-bar.large{height:10px}.arena-mini{margin:18px 0;padding:16px;border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1)}.arena-mini strong{display:block;margin-top:6px;font-size:1.15rem}.arena-mini small{display:block;color:#aaa4c7;margin-top:6px}.team-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.team-detail-panel{margin-bottom:18px}.side-card{position:sticky;top:100px}.form-divider{border-top:1px solid rgba(255,255,255,.12);padding-top:18px;margin-top:10px}.form-divider h2{margin:0;text-transform:uppercase}.checkbox-line{display:flex!important;align-items:center;gap:10px;text-transform:none!important;letter-spacing:0!important;font-size:1rem!important}.checkbox-line input{width:auto!important}.admin-form-grid textarea{width:100%;padding:13px 14px;border-radius:14px;border:1px solid rgba(255,255,255,.16);background:#090b1c;color:#fff;outline:none}
@media(max-width:1100px){.away-grid,.team-arena-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.away-hero,.away-layout{grid-template-columns:1fr}.fan-rating-panel,.side-card{position:relative;top:auto}.away-info-grid{grid-template-columns:1fr}}
@media(max-width:650px){.away-grid,.team-arena-grid{grid-template-columns:1fr}.away-hero{width:min(100% - 28px,1180px);padding-top:42px}.away-hero h1{font-size:3.1rem}.arena-score-card{padding:20px}.away-card,.team-arena-card{padding:20px}}

/* Stage 8 Launch Polish */
.slim-hero{padding:clamp(54px,8vw,105px) clamp(18px,4vw,56px) 44px;max-width:1180px;margin:0 auto}.slim-hero h1{font-size:clamp(3rem,7vw,6.8rem);line-height:.88;text-transform:uppercase;letter-spacing:-.055em;margin:8px 0 18px}.slim-hero p{max-width:850px;color:#c9c3e8;font-size:1.12rem}.content-section{width:min(1180px,calc(100% - 36px));margin:0 auto;padding:34px 0 70px}.two-col-section{display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:24px;align-items:start}.glass-card{border-radius:26px;padding:clamp(22px,3vw,34px);background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 22px 70px rgba(0,0,0,.24)}.wide-card{max-width:980px}.prose-card h2,.newsletter-card h2,.glass-card h2{margin:0 0 14px;text-transform:uppercase;line-height:1.02}.prose-card p{color:#c9c3e8;line-height:1.7}.ice-list{display:grid;gap:12px;margin:14px 0 0;padding:0;list-style:none}.ice-list li{position:relative;padding-left:28px;color:#c9c3e8}.ice-list li:before{content:"";position:absolute;left:0;top:.55em;width:12px;height:12px;border-radius:50%;background:linear-gradient(135deg,#d9f3ff,#7c39d6);box-shadow:0 0 18px rgba(124,57,214,.55)}.seo-list{display:grid;gap:12px;margin-top:18px}.seo-list.grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.seo-list a{display:flex;justify-content:space-between;gap:18px;align-items:center;padding:15px 16px;border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.1)}.seo-list a strong{text-transform:uppercase}.seo-list a span{color:#d9f3ff;text-align:right}.site-footer{grid-template-columns:2fr 1fr 1fr 1fr}.site-footer a:hover,.site-nav a:hover{color:#d9f3ff}.nav-toggle{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.06);color:#fff;border-radius:999px;padding:9px 14px;font-weight:900}.mobile-bottom-nav{box-shadow:0 -18px 50px rgba(0,0,0,.35)}
@media(max-width:1000px){.two-col-section{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr 1fr}.seo-list.grid-two{grid-template-columns:1fr}}
@media(max-width:700px){body{padding-bottom:70px}.site-header{padding:10px 14px}.brand img{width:156px}.slim-hero{padding-top:42px;width:min(100% - 28px,1180px)}.content-section{width:min(100% - 28px,1180px)}.slim-hero h1{font-size:3rem}.glass-card{border-radius:22px;padding:20px}.site-footer{grid-template-columns:1fr}.seo-list a{align-items:flex-start;flex-direction:column}.seo-list a span{text-align:left}.mobile-bottom-nav a{font-size:.72rem}}

/* Stage 9 - Final homepage polish */
.coi-hero-v2 {
    position: relative;
    overflow: hidden;
    margin: 0 auto 28px;
    max-width: 1240px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 34px;
    background:
        radial-gradient(circle at 12% 20%, rgba(139, 92, 246, .42), transparent 28%),
        radial-gradient(circle at 84% 16%, rgba(56, 189, 248, .20), transparent 34%),
        linear-gradient(135deg, rgba(8, 11, 31, .98), rgba(23, 10, 45, .96) 54%, rgba(4, 7, 18, .98));
    box-shadow: 0 28px 90px rgba(0,0,0,.42);
}
.coi-hero-v2:before {
    content: "";
    position: absolute;
    inset: 0;
    background-image:
        linear-gradient(120deg, rgba(255,255,255,.08) 0 1px, transparent 1px 56px),
        linear-gradient(20deg, rgba(255,255,255,.055) 0 1px, transparent 1px 72px);
    opacity: .25;
    pointer-events: none;
}
.coi-hero-glow {
    position: absolute;
    width: 360px;
    height: 360px;
    right: -130px;
    bottom: -140px;
    background: rgba(139, 92, 246, .42);
    filter: blur(80px);
}
.coi-hero-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(340px, .85fr);
    gap: 34px;
    align-items: center;
    padding: clamp(28px, 5vw, 70px);
}
.coi-hero-copy h1 {
    margin: 10px 0 16px;
    max-width: 840px;
    font-size: clamp(42px, 7vw, 88px);
    line-height: .9;
    letter-spacing: -0.07em;
    text-transform: uppercase;
}
.coi-hero-copy p {
    max-width: 680px;
    color: rgba(255,255,255,.78);
    font-size: clamp(16px, 2vw, 20px);
}
.coi-hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}
.coi-hero-stats div {
    min-width: 118px;
    padding: 14px 16px;
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 18px;
    background: rgba(255,255,255,.06);
}
.coi-hero-stats strong {
    display: block;
    color: #fff;
    font-size: 25px;
    line-height: 1;
}
.coi-hero-stats span {
    color: rgba(255,255,255,.58);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .14em;
}
.coi-next-game-panel {
    border: 1px solid rgba(255,255,255,.14);
    border-radius: 28px;
    background: rgba(4, 7, 18, .72);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.08), 0 24px 70px rgba(0,0,0,.35);
    padding: 24px;
    backdrop-filter: blur(12px);
}
.coi-panel-top,
.coi-game-meta,
.coi-fixture-mini,
.coi-rank-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}
.coi-panel-top {
    margin-bottom: 22px;
    color: rgba(255,255,255,.62);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 12px;
}
.coi-panel-top strong { color: #d9f3ff; }
.coi-versus {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 14px;
    align-items: center;
    text-align: center;
    margin-bottom: 22px;
}
.coi-versus span {
    display: block;
    margin-bottom: 8px;
    color: rgba(255,255,255,.48);
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .12em;
}
.coi-versus strong {
    display: block;
    color: #fff;
    font-size: clamp(24px, 3vw, 38px);
    line-height: .95;
    text-transform: uppercase;
}
.coi-versus em {
    display: grid;
    place-items: center;
    width: 54px;
    height: 54px;
    border-radius: 50%;
    background: linear-gradient(135deg, #7c3aed, #38bdf8);
    color: #fff;
    font-style: normal;
    font-weight: 900;
    box-shadow: 0 0 34px rgba(124,58,237,.6);
}
.coi-game-meta {
    flex-wrap: wrap;
    justify-content: center;
    padding: 14px;
    margin-bottom: 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.07);
    color: rgba(255,255,255,.78);
}
.btn-full { width: 100%; text-align: center; justify-content: center; }
.coi-match-strip {
    max-width: 1240px;
    margin: 0 auto 20px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 16px;
}
.coi-result-card,
.coi-news-tile,
.coi-leaderboard-mini,
.coi-player-card-xl,
.coi-upcoming-card,
.coi-away-preview,
.coi-cta-final,
.empty-card {
    border: 1px solid rgba(255,255,255,.10);
    border-radius: 24px;
    background: rgba(255,255,255,.055);
    box-shadow: 0 16px 50px rgba(0,0,0,.22);
}
.coi-result-card { padding: 20px; }
.coi-result-card span {
    display: block;
    color: rgba(255,255,255,.54);
    text-transform: uppercase;
    letter-spacing: .13em;
    font-size: 12px;
    margin-bottom: 8px;
}
.coi-result-card strong {
    display: block;
    color: #fff;
    font-size: 30px;
}
.coi-result-card p { margin: 6px 0 0; color: rgba(255,255,255,.66); }
.coi-grid-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 22px;
}
.row-head { display:flex; align-items:end; justify-content:space-between; gap: 14px; }
.mini-link {
    color: #d9f3ff;
    font-weight: 800;
    text-decoration: none;
}
.mini-link:hover { text-decoration: underline; }
.coi-news-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}
.coi-news-tile {
    display: block;
    padding: 22px;
    color: inherit;
    text-decoration: none;
    min-height: 180px;
    transition: transform .18s ease, border-color .18s ease, background .18s ease;
}
.coi-news-tile:hover {
    transform: translateY(-3px);
    border-color: rgba(147,197,253,.38);
    background: rgba(255,255,255,.075);
}
.coi-news-tile span {
    color: #93c5fd;
    text-transform: uppercase;
    font-size: 12px;
    letter-spacing: .13em;
    font-weight: 900;
}
.coi-news-tile h3 { color: #fff; margin: 10px 0; }
.coi-news-tile p { color: rgba(255,255,255,.66); margin: 0; }
.coi-leaderboard-mini { padding: 22px; }
.section-head.compact { margin-bottom: 18px; }
.section-head.compact h2 { font-size: 24px; margin: 3px 0 0; }
.coi-rank-row {
    padding: 12px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.coi-rank-row strong { color: #93c5fd; min-width: 38px; }
.coi-rank-row span { color: #fff; font-weight: 800; }
.coi-rank-row em { color: rgba(255,255,255,.60); font-style: normal; }
.coi-feature-band {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 390px;
    gap: 22px;
}
.coi-player-card-xl,
.coi-upcoming-card,
.coi-away-preview,
.coi-cta-final { padding: clamp(22px, 4vw, 34px); }
.coi-player-flex {
    display: grid;
    grid-template-columns: 210px minmax(0, 1fr);
    gap: 26px;
    align-items: center;
}
.coi-player-photo {
    height: 220px;
    border-radius: 26px;
    display: grid;
    place-items: center;
    overflow: hidden;
    background: radial-gradient(circle at top, rgba(139,92,246,.45), rgba(15,23,42,.92));
    border: 1px solid rgba(255,255,255,.12);
}
.coi-player-photo img { width: 100%; height: 100%; object-fit: cover; }
.coi-player-photo span { font-size: 58px; font-weight: 950; color: rgba(255,255,255,.84); }
.coi-fixture-mini {
    padding: 14px 0;
    border-bottom: 1px solid rgba(255,255,255,.08);
    color: inherit;
    text-decoration: none;
}
.coi-fixture-mini span { color: #93c5fd; font-weight: 900; min-width: 48px; }
.coi-fixture-mini strong { color: #fff; flex: 1; }
.coi-fixture-mini em { color: rgba(255,255,255,.58); font-style: normal; }
.coi-community-section {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 420px;
    gap: 22px;
}
.coi-gallery-preview {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}
.coi-gallery-thumb {
    display: block;
    height: 170px;
    border-radius: 20px;
    overflow: hidden;
    background: rgba(255,255,255,.07);
    border: 1px solid rgba(255,255,255,.10);
}
.coi-gallery-thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .2s ease; }
.coi-gallery-thumb:hover img { transform: scale(1.04); }
.empty-card { padding: 22px; color: rgba(255,255,255,.65); }
.coi-cta-final {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    background: linear-gradient(135deg, rgba(124,58,237,.36), rgba(14,165,233,.16));
}
.coi-cta-final h2 { margin: 4px 0 8px; color: #fff; font-size: clamp(28px, 4vw, 46px); line-height: 1; }
.coi-cta-final p { margin: 0; color: rgba(255,255,255,.72); }

@media (max-width: 980px) {
    .coi-hero-inner,
    .coi-grid-section,
    .coi-feature-band,
    .coi-community-section {
        grid-template-columns: 1fr;
    }
    .coi-match-strip { grid-template-columns: 1fr; }
    .coi-player-flex { grid-template-columns: 1fr; }
    .coi-player-photo { max-width: 260px; }
}
@media (max-width: 720px) {
    .coi-hero-v2 { border-radius: 22px; }
    .coi-hero-inner { padding: 24px; }
    .coi-versus { grid-template-columns: 1fr; }
    .coi-versus em { margin: 0 auto; }
    .coi-news-grid,
    .coi-gallery-preview { grid-template-columns: 1fr; }
    .row-head,
    .coi-cta-final { align-items: flex-start; flex-direction: column; }
}


/* Stage 9B - Restore hero banner with muted YouTube video background */
.coi-video-hero{
    position:relative;
    overflow:hidden;
    min-height:clamp(620px,78vh,860px);
    display:flex;
    align-items:center;
    margin:0 0 34px;
    border-bottom:1px solid rgba(255,255,255,.12);
    background:#03040b;
}
.coi-video-bg{position:absolute;inset:0;z-index:0;overflow:hidden;background:#03040b;}
.coi-video-bg iframe{
    position:absolute;
    top:50%;left:50%;
    width:177.77777778vh;
    min-width:100%;
    height:56.25vw;
    min-height:100%;
    transform:translate(-50%,-50%) scale(1.08);
    pointer-events:none;
    opacity:.58;
    filter:saturate(1.12) contrast(1.08) brightness(.72);
}
.coi-video-overlay{
    position:absolute;inset:0;z-index:1;
    background:
        linear-gradient(90deg,rgba(3,4,11,.94) 0%,rgba(5,8,22,.78) 38%,rgba(75,29,122,.38) 68%,rgba(3,4,11,.86) 100%),
        linear-gradient(180deg,rgba(3,4,11,.22) 0%,rgba(3,4,11,.54) 64%,#050816 100%);
}
.coi-video-ice{
    position:absolute;inset:0;z-index:2;pointer-events:none;
    background:
        radial-gradient(circle at 17% 25%,rgba(124,57,214,.34),transparent 32%),
        radial-gradient(circle at 78% 18%,rgba(217,243,255,.18),transparent 30%),
        linear-gradient(120deg,rgba(255,255,255,.08) 0 1px,transparent 1px 72px);
    opacity:.85;
}
.coi-video-hero-inner{
    position:relative;z-index:3;
    width:min(1240px,calc(100% - 36px));
    margin:0 auto;
    display:grid;
    grid-template-columns:minmax(0,1fr) 390px;
    gap:clamp(22px,4vw,54px);
    align-items:end;
    padding:clamp(80px,10vw,140px) 0 clamp(52px,8vw,90px);
}
.coi-video-copy h1{
    font-size:clamp(4.2rem,11vw,11rem);
    line-height:.78;
    margin:10px 0 22px;
    letter-spacing:-.075em;
    text-transform:uppercase;
    text-shadow:0 20px 70px rgba(0,0,0,.7);
    max-width:850px;
}
.coi-video-copy p{
    max-width:690px;
    font-size:clamp(1.05rem,1.5vw,1.35rem);
    color:#eef8ff;
    text-shadow:0 8px 26px rgba(0,0,0,.72);
}
.coi-video-game-card{
    border-radius:30px;
    padding:24px;
    background:linear-gradient(180deg,rgba(5,8,22,.76),rgba(5,8,22,.92));
    border:1px solid rgba(217,243,255,.2);
    box-shadow:0 28px 90px rgba(0,0,0,.42);
    backdrop-filter:blur(16px);
}
.coi-video-game-card .coi-versus{margin:18px 0;}
.coi-video-game-card .coi-game-meta{margin-bottom:18px;}
@media(max-width:980px){
    .coi-video-hero{min-height:auto;}
    .coi-video-hero-inner{grid-template-columns:1fr;align-items:start;padding-top:90px;}
    .coi-video-game-card{max-width:620px;}
    .coi-video-copy h1{font-size:clamp(4rem,16vw,7rem);}
}
@media(max-width:640px){
    .coi-video-hero-inner{width:min(100% - 28px,1240px);padding-top:70px;padding-bottom:44px;}
    .coi-video-bg iframe{opacity:.42;transform:translate(-50%,-50%) scale(1.18);}
    .coi-video-copy h1{font-size:4.2rem;}
    .coi-video-copy p{font-size:1rem;}
    .coi-video-game-card{padding:18px;border-radius:24px;}
}

/* Stage 10 - premium logo, lean header/footer, homepage motion */
.site-header-premium{
    position:sticky;
    top:0;
    z-index:1000;
    min-height:74px;
    padding:0;
    background:linear-gradient(180deg,rgba(4,6,18,.96),rgba(4,6,18,.86));
    border-bottom:1px solid rgba(217,243,255,.12);
    backdrop-filter:blur(18px);
    box-shadow:0 12px 44px rgba(0,0,0,.28);
}
.site-header-inner{
    width:min(1320px,calc(100% - 32px));
    margin:0 auto;
    min-height:74px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:18px;
}
.brand-premium{
    display:flex;
    align-items:center;
    min-width:132px;
    height:68px;
    overflow:visible;
}
.brand-premium img{
    width:138px;
    height:72px;
    object-fit:contain;
    filter:drop-shadow(0 8px 20px rgba(124,58,237,.38));
    transform:scale(1.23);
    transform-origin:left center;
}
.site-nav-premium{
    display:flex;
    align-items:center;
    gap:3px;
}
.site-nav-premium a,
.site-nav-premium form button{
    padding:10px 11px;
    border-radius:999px;
    color:rgba(255,255,255,.76);
    font-size:14px;
    font-weight:750;
    letter-spacing:-.01em;
    text-decoration:none;
    transition:background .2s ease,color .2s ease,transform .2s ease;
}
.site-nav-premium a:hover,
.site-nav-premium form button:hover{
    background:rgba(255,255,255,.08);
    color:#fff;
    transform:translateY(-1px);
}
.site-nav-premium .nav-cta{
    margin-left:5px;
    padding:12px 18px;
    color:#fff;
    background:linear-gradient(135deg,#6d28d9,#2b0f70);
    box-shadow:0 12px 30px rgba(109,40,217,.28);
}
.site-nav-premium form{margin:0;display:inline-flex;}
.site-nav-premium form button{background:transparent;border:0;font-family:inherit;cursor:pointer;}
.nav-toggle{
    display:none;
    border:1px solid rgba(217,243,255,.18);
    background:rgba(255,255,255,.06);
    color:#fff;
    border-radius:999px;
    padding:10px 15px;
    font-weight:900;
    letter-spacing:.04em;
    text-transform:uppercase;
}
.site-footer-premium{
    display:grid;
    grid-template-columns:minmax(260px,1fr) minmax(300px,1.4fr) minmax(180px,.5fr);
    gap:30px;
    align-items:center;
    padding:34px min(4vw,56px) 92px;
    background:
        radial-gradient(circle at 12% 0%,rgba(109,40,217,.22),transparent 34%),
        linear-gradient(180deg,#050713,#02030a);
    border-top:1px solid rgba(217,243,255,.12);
}
.footer-logo-premium{
    width:118px;
    height:78px;
    object-fit:contain;
    filter:drop-shadow(0 12px 24px rgba(124,58,237,.36));
}
.footer-brand-block p{max-width:560px;margin:8px 0 0;color:rgba(255,255,255,.62);font-size:14px;line-height:1.55;}
.footer-links-compact{
    display:flex;
    flex-wrap:wrap;
    gap:9px;
    justify-content:center;
}
.footer-links-compact a,
.footer-officials a{
    text-decoration:none;
    color:rgba(255,255,255,.70);
    border:1px solid rgba(255,255,255,.08);
    background:rgba(255,255,255,.035);
    border-radius:999px;
    padding:9px 12px;
    font-weight:750;
    font-size:14px;
}
.footer-links-compact a:hover,
.footer-officials a:hover{color:#fff;background:rgba(124,58,237,.24);}
.footer-officials{display:flex;align-items:flex-end;flex-direction:column;gap:8px;}
.footer-officials span{color:#93c5fd;text-transform:uppercase;letter-spacing:.12em;font-size:11px;font-weight:950;}
.coi-video-hero:after{
    content:"";
    position:absolute;
    inset:auto 0 0;
    height:90px;
    z-index:2;
    background:linear-gradient(180deg,transparent,#050816);
    pointer-events:none;
}
.coi-video-copy h1{animation:coiHeroTitle .9s cubic-bezier(.2,.7,.2,1) both;}
.coi-video-copy p{animation:coiHeroText .9s cubic-bezier(.2,.7,.2,1) .15s both;}
.hero-actions{animation:coiHeroText .9s cubic-bezier(.2,.7,.2,1) .28s both;}
.coi-video-game-card{animation:coiCardIn .85s cubic-bezier(.2,.7,.2,1) .22s both;}
.coi-hero-stats div{transition:transform .22s ease,background .22s ease,border-color .22s ease;}
.coi-hero-stats div:hover{transform:translateY(-4px);background:rgba(255,255,255,.11);border-color:rgba(147,197,253,.24);}
.coi-result-card,
.coi-news-tile,
.coi-player-card-xl,
.coi-upcoming-card,
.coi-away-preview,
.coi-leaderboard-mini,
.coi-cta-final{
    position:relative;
    overflow:hidden;
}
.coi-result-card:before,
.coi-news-tile:before,
.coi-player-card-xl:before,
.coi-upcoming-card:before,
.coi-away-preview:before,
.coi-leaderboard-mini:before,
.coi-cta-final:before{
    content:"";
    position:absolute;
    top:-80%;
    left:-70%;
    width:52%;
    height:230%;
    background:linear-gradient(90deg,transparent,rgba(255,255,255,.10),transparent);
    transform:rotate(22deg);
    opacity:0;
    transition:left .75s ease,opacity .28s ease;
    pointer-events:none;
}
.coi-result-card:hover:before,
.coi-news-tile:hover:before,
.coi-player-card-xl:hover:before,
.coi-upcoming-card:hover:before,
.coi-away-preview:hover:before,
.coi-leaderboard-mini:hover:before,
.coi-cta-final:hover:before{left:125%;opacity:1;}
.reveal-on-scroll{
    opacity:0;
    transform:translateY(22px);
    transition:opacity .62s ease,transform .62s ease;
}
.reveal-on-scroll.is-visible{opacity:1;transform:translateY(0);}
.article-hero-image{width:100%;max-height:420px;object-fit:cover;border-radius:28px;margin:20px 0;border:1px solid rgba(255,255,255,.1);}
.coi-article-premium{background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));border:1px solid rgba(255,255,255,.08);border-radius:30px;padding:clamp(24px,4vw,48px);box-shadow:0 25px 90px rgba(0,0,0,.26);}
.muted-text{color:rgba(255,255,255,.62);}
@keyframes coiHeroTitle{from{opacity:0;transform:translateY(28px) scale(.98);filter:blur(6px);}to{opacity:1;transform:none;filter:none;}}
@keyframes coiHeroText{from{opacity:0;transform:translateY(18px);}to{opacity:1;transform:none;}}
@keyframes coiCardIn{from{opacity:0;transform:translateY(26px) scale(.96);}to{opacity:1;transform:none;}}
@media(max-width:1120px){
    .site-nav-premium a,
    .site-nav-premium form button{font-size:13px;padding:9px 8px;}
    .brand-premium img{width:124px;transform:scale(1.16);}
}
@media(max-width:920px){
    .nav-toggle{display:inline-flex;align-items:center;justify-content:center;}
    .site-header-inner{min-height:70px;}
    .brand-premium{height:64px;}
    .brand-premium img{width:116px;height:66px;transform:scale(1.12);}
    .site-nav-premium{
        position:fixed;
        top:72px;
        left:14px;
        right:14px;
        display:none;
        flex-direction:column;
        align-items:stretch;
        gap:6px;
        padding:14px;
        border-radius:24px;
        background:linear-gradient(180deg,rgba(9,10,28,.98),rgba(18,10,42,.98));
        border:1px solid rgba(217,243,255,.16);
        box-shadow:0 26px 80px rgba(0,0,0,.48);
        z-index:2000;
    }
    .site-nav-premium.is-open,
    .site-nav-premium.open{display:flex;}
    .site-nav-premium a,
    .site-nav-premium form button{width:100%;text-align:left;padding:13px 14px;border-radius:15px;background:rgba(255,255,255,.045);}
    .site-nav-premium .nav-cta{margin-left:0;text-align:center;}
    .site-footer-premium{grid-template-columns:1fr;align-items:flex-start;padding-bottom:96px;}
    .footer-links-compact{justify-content:flex-start;}
    .footer-officials{align-items:flex-start;}
}
@media(max-width:640px){
    .site-header-premium{min-height:66px;}
    .site-header-inner{width:min(100% - 22px,1320px);min-height:66px;}
    .brand-premium img{width:104px;height:60px;transform:scale(1.1);}
    .nav-toggle{padding:9px 12px;font-size:12px;}
    .coi-video-copy h1{letter-spacing:-.08em;}
    .site-nav-premium{top:68px;}
}
@media(prefers-reduced-motion:reduce){
    *,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
    .reveal-on-scroll{opacity:1!important;transform:none!important;}
}

/* Stage 10B - bigger header logo, image cards, ice motion */
.site-header-ice{position:sticky;top:0;z-index:80;overflow:visible;background:linear-gradient(180deg,rgba(5,8,22,.92),rgba(5,8,22,.82));backdrop-filter:blur(16px)}
.site-header-frost{position:absolute;pointer-events:none;top:-20px;width:260px;height:180px;filter:blur(2px);opacity:.9}
.site-header-frost:before,.site-header-frost:after{content:"";position:absolute;border-radius:999px;mix-blend-mode:screen}
.site-header-frost:before{inset:20px auto auto 0;width:220px;height:220px;background:radial-gradient(circle,rgba(124,57,214,.35),transparent 62%);animation:frostPulse 8s ease-in-out infinite}
.site-header-frost:after{inset:58px auto auto 34px;width:130px;height:130px;background:radial-gradient(circle,rgba(217,243,255,.22),transparent 65%);animation:frostPulse 10s ease-in-out infinite reverse}
.site-header-frost-left{left:0}.site-header-frost-right{right:0;transform:scaleX(-1)}
.header-overlap-inner{min-height:98px;align-items:center;overflow:visible}
.brand-overlap{position:relative;display:flex;align-items:center;overflow:visible;margin-top:6px}
.brand-overlap img{width:232px;max-width:none;position:relative;z-index:2;filter:drop-shadow(0 18px 24px rgba(0,0,0,.38))}
.brand-ice-burst{position:absolute;left:30px;top:50%;width:190px;height:130px;transform:translateY(-50%);pointer-events:none;background:radial-gradient(circle at center,rgba(124,57,214,.28),transparent 58%)}
.brand-ice-burst:before,.brand-ice-burst:after{content:"";position:absolute;background:linear-gradient(180deg,rgba(217,243,255,.95),rgba(217,243,255,0));clip-path:polygon(50% 0,100% 100%,0 100%);filter:drop-shadow(0 0 10px rgba(217,243,255,.45));opacity:.85;animation:iceShimmer 6s linear infinite}
.brand-ice-burst:before{width:24px;height:42px;left:6px;top:18px;transform:rotate(-18deg)}
.brand-ice-burst:after{width:32px;height:54px;right:6px;bottom:4px;transform:rotate(12deg);animation-delay:-2.5s}
.site-nav-premium{gap:18px}
.site-nav-premium a{font-size:.98rem}
.compact-footer{padding-top:38px;padding-bottom:42px}
.footer-logo-compact{width:190px}
.news-hero-banner{position:relative;overflow:hidden;width:min(1240px,calc(100% - 36px));margin:24px auto 18px;border-radius:34px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(135deg,rgba(5,9,24,.96),rgba(45,18,79,.95));min-height:310px;display:flex;align-items:flex-end;box-shadow:0 28px 90px rgba(0,0,0,.32)}
.news-hero-banner:before{content:"";position:absolute;inset:0;background-image:url('../img/logo-clan-on-ice-premium.png');background-repeat:no-repeat;background-position:86% 48%;background-size:min(420px,40%);opacity:.26;filter:drop-shadow(0 24px 40px rgba(0,0,0,.4))}
.news-hero-banner:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 12% 18%,rgba(217,243,255,.16),transparent 28%),linear-gradient(0deg,rgba(0,0,0,.1),rgba(0,0,0,0));pointer-events:none}
.news-hero-overlay{position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(3,6,17,.52))}
.news-hero-inner{position:relative;z-index:2;padding:36px clamp(22px,4vw,52px) 42px;max-width:760px}.news-hero-inner h1{font-size:clamp(3rem,7vw,6.2rem);line-height:.88;letter-spacing:-.06em;text-transform:uppercase;margin:8px 0 12px}.news-hero-inner p{font-size:1.08rem;color:#d7d0ef;max-width:680px}
.news-grid-rich,.coi-news-grid-rich{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}
.news-card-image,.coi-news-tile-image{position:relative;overflow:hidden;border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 50px rgba(0,0,0,.24);display:flex;flex-direction:column;min-height:100%}
.news-card-banner,.coi-news-media{height:190px;background-size:cover;background-position:center;position:relative}.news-card-banner:after,.coi-news-media:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0),rgba(7,10,22,.2) 45%,rgba(7,10,22,.92))}
.news-card-body,.coi-news-content{padding:18px 20px 22px;position:relative;z-index:1;margin-top:-42px}
.news-card-image span,.coi-news-tile-image span{display:inline-flex;align-self:flex-start;border-radius:999px;background:rgba(124,57,214,.16);border:1px solid rgba(124,57,214,.26);padding:7px 10px;color:#d9f3ff;text-transform:uppercase;letter-spacing:.12em;font-weight:1000;font-size:.68rem}.news-card-image h2,.coi-news-tile-image h3{margin:14px 0 10px;line-height:1;font-size:clamp(1.35rem,2vw,2rem);text-transform:uppercase}.news-card-image p,.coi-news-tile-image p{color:#c9c3e8;line-height:1.58}.news-card-image small{display:block;margin-top:14px;color:#aaa4c7}
.reveal-card{transform:translateY(0);transition:transform .25s ease, box-shadow .25s ease, border-color .25s ease}.reveal-card:hover{transform:translateY(-6px);box-shadow:0 30px 80px rgba(0,0,0,.34);border-color:rgba(217,243,255,.28)}
.home-cta-pulse{position:relative;overflow:hidden}.home-cta-pulse:before{content:"";position:absolute;inset:auto -10% -42px auto;width:260px;height:260px;background:radial-gradient(circle,rgba(124,57,214,.28),transparent 60%);filter:blur(30px);animation:frostPulse 9s ease-in-out infinite}
.pagination-wrap{margin-top:28px}
@keyframes frostPulse{0%,100%{transform:scale(1);opacity:.82}50%{transform:scale(1.08);opacity:1}}
@keyframes iceShimmer{0%{transform:translateY(0) rotate(-10deg);opacity:.72}50%{transform:translateY(-8px) rotate(-2deg);opacity:1}100%{transform:translateY(0) rotate(-10deg);opacity:.72}}
@media(max-width:1100px){.news-grid-rich,.coi-news-grid-rich{grid-template-columns:repeat(2,minmax(0,1fr))}.brand-overlap img{width:210px}.site-nav-premium{gap:14px}.news-hero-banner:before{background-size:280px;background-position:92% 44%}}
@media(max-width:780px){.header-overlap-inner{min-height:84px}.brand-overlap img{width:176px}.brand-ice-burst{left:14px;width:138px;height:94px}.news-hero-banner{width:min(100% - 28px,1240px);min-height:240px;border-radius:26px}.news-hero-banner:before{background-size:200px;background-position:50% 16%;opacity:.18}.news-hero-inner{padding:26px 20px 30px}.news-grid-rich,.coi-news-grid-rich{grid-template-columns:1fr}.news-card-banner,.coi-news-media{height:168px}.site-header-frost{width:150px;height:120px}.site-header-frost:before{width:120px;height:120px}.site-header-frost:after{width:70px;height:70px}}
@media(max-width:700px){.site-header-ice{padding:10px 14px 8px}.brand-overlap img{width:156px}.site-nav[data-open="true"]{margin-top:10px}.footer-logo-compact{width:150px}}

/* Stage 10C - Remove cheap logo ice animations, keep bigger premium logo */
.site-header-frost,
.brand-ice-burst,
.brand-ice-burst:before,
.brand-ice-burst:after {
    display: none !important;
    animation: none !important;
}

.site-header-ice {
    overflow: visible;
    background: linear-gradient(180deg, rgba(5,8,22,.96), rgba(5,8,22,.90));
}

.brand-overlap {
    margin-top: 0;
}

.brand-overlap img {
    width: 230px;
    max-width: none;
    filter:
        drop-shadow(0 12px 18px rgba(0,0,0,.45))
        drop-shadow(0 0 18px rgba(124,57,214,.18));
    transition: transform .22s ease, filter .22s ease;
}

.brand-overlap:hover img {
    transform: translateY(-1px) scale(1.015);
    filter:
        drop-shadow(0 16px 24px rgba(0,0,0,.50))
        drop-shadow(0 0 22px rgba(124,57,214,.22));
}

.header-overlap-inner {
    min-height: 96px;
}

@media(max-width:1100px) {
    .brand-overlap img {
        width: 205px;
    }
}

@media(max-width:780px) {
    .header-overlap-inner {
        min-height: 82px;
    }

    .brand-overlap img {
        width: 170px;
    }
}

@media(max-width:700px) {
    .brand-overlap img {
        width: 156px;
    }
}


/* Stage 11 - News comments under article + less squashed homepage side cards */
.article-and-comments,
.comments-under-article {
    width: min(960px, calc(100% - 36px));
    margin-left: auto;
    margin-right: auto;
}

.article-and-comments {
    margin-top: 44px;
}

.comments-under-article {
    margin-top: 22px;
    margin-bottom: 70px;
    padding: 28px;
    border-radius: 28px;
    border: 1px solid rgba(255,255,255,.12);
    background: linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.comments-under-article h2 {
    margin-top: 0;
    text-transform: uppercase;
    letter-spacing: -.03em;
}

.comments-under-article .form-card {
    margin: 16px 0 22px;
}

.comments-under-article textarea {
    width: 100%;
    box-sizing: border-box;
}

.comments-under-article .comment {
    margin-top: 14px;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.comments-under-article .comment strong {
    color: #fff;
}

.comments-under-article .comment p {
    color: #d7d0ef;
    margin: 8px 0 0;
    line-height: 1.55;
}

/* Widen right-hand cards and stop homepage columns from looking cramped */
.coi-grid-section {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
    gap: 26px !important;
    align-items: start;
}

.coi-side-column {
    min-width: 0;
}

.coi-leaderboard-mini,
.coi-away-preview,
.coi-upcoming-card {
    width: 100%;
    min-width: 0;
    box-sizing: border-box;
}

.coi-leaderboard-mini h2,
.coi-away-preview h2,
.coi-upcoming-card h2 {
    overflow-wrap: anywhere;
}

.coi-feature-band {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
    gap: 22px !important;
    align-items: stretch;
}

.coi-community-section {
    grid-template-columns: minmax(0, 1fr) minmax(320px, 420px) !important;
    gap: 22px !important;
    align-items: start;
}

.coi-feature-band .coi-upcoming-card,
.coi-community-section .coi-away-preview {
    padding: 28px;
}

@media(max-width: 1100px) {
    .coi-grid-section,
    .coi-feature-band,
    .coi-community-section {
        grid-template-columns: 1fr !important;
    }
}

@media(max-width: 700px) {
    .article-and-comments,
    .comments-under-article {
        width: min(100% - 28px, 960px);
    }

    .comments-under-article {
        padding: 20px;
        border-radius: 22px;
    }

    .coi-feature-band .coi-upcoming-card,
    .coi-community-section .coi-away-preview {
        padding: 22px;
    }
}


/* Stage 11C - force comments to show directly under the article */
.article-comments-fixed {
    width: min(960px, calc(100% - 36px)) !important;
    margin: 44px auto 70px !important;
    overflow: visible !important;
}

.news-comments-panel {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    position: relative !important;
    clear: both;
    margin-top: 34px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.14);
}

.news-comments-head {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 18px;
}

.news-comments-head h2 {
    margin: 4px 0 0;
    text-transform: uppercase;
    letter-spacing: -.035em;
}

.news-comments-panel .comment-form-under-post,
.news-comments-panel .comment-login-card {
    display: block !important;
    margin: 16px 0 22px !important;
    padding: 18px !important;
    border-radius: 20px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    background: rgba(255,255,255,.055) !important;
}

.news-comments-panel textarea {
    width: 100% !important;
    min-height: 120px;
    box-sizing: border-box;
    margin-bottom: 12px;
}

.comment-list-under-post {
    display: grid;
    gap: 14px;
}

.comment-list-under-post .comment {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.comment-topline {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.comment-topline strong {
    color: #fff;
}

.comment-topline small {
    color: #aaa4c7;
}

.comment-list-under-post .comment p {
    margin: 9px 0 0;
    color: #d7d0ef;
    line-height: 1.55;
}

@media(max-width: 700px) {
    .article-comments-fixed {
        width: min(100% - 28px, 960px) !important;
        margin-top: 28px !important;
    }

    .news-comments-head {
        align-items: flex-start;
        flex-direction: column;
    }

    .comment-topline {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }
}



/* Stage 12 - Player roster card polish */
.roster-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
    gap:24px !important;
}

.roster-card{
    min-height:440px !important;
    padding:26px 24px 24px !important;
    border-radius:28px !important;
    background:
        radial-gradient(circle at 50% 68%, rgba(124,57,214,.26), transparent 30%),
        linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.035)) !important;
}

.roster-card:before{
    inset:auto -16% -24% -16% !important;
    height:58% !important;
    background:radial-gradient(circle, rgba(124,57,214,.40), transparent 62%) !important;
}

.roster-card-top{
    margin-bottom:8px;
}

.roster-card-top .jersey-number{
    font-size:4.8rem !important;
    line-height:.9 !important;
    -webkit-text-stroke:2px var(--ice);
    text-shadow:0 0 26px rgba(217,243,255,.12);
}

.roster-card-top span{
    font-size:.78rem !important;
    letter-spacing:.15em !important;
}

.roster-photo{
    width:190px;
    height:190px;
    min-height:190px !important;
    margin:10px auto 18px !important;
    position:relative;
    border-radius:50%;
    display:grid !important;
    place-items:center;
}

.roster-photo:before{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:50%;
    background:
        radial-gradient(circle at 35% 30%, rgba(217,243,255,.25), transparent 34%),
        radial-gradient(circle at 50% 50%, rgba(124,57,214,.40), rgba(75,29,122,.88));
    box-shadow:
        0 10px 34px rgba(0,0,0,.34),
        0 0 34px rgba(124,57,214,.35);
    z-index:0;
}

.roster-photo img,
.roster-photo .player-placeholder.small{
    position:relative;
    z-index:1;
    width:176px !important;
    height:176px !important;
    border-radius:50%;
    object-fit:cover;
    border:4px solid rgba(217,243,255,.52) !important;
    box-shadow:0 0 0 6px rgba(5,8,22,.34);
}

.roster-card h3{
    margin:4px 0 8px !important;
    font-size:clamp(1.55rem, 2vw, 2rem) !important;
    line-height:.95 !important;
    text-transform:uppercase;
    letter-spacing:-.03em;
}

.roster-card p{
    font-size:1.02rem;
    color:#fff !important;
    margin:0 0 12px !important;
}

.roster-card .sponsor-box.small{
    margin-top:auto !important;
    padding:12px 14px !important;
    border-radius:14px !important;
    font-size:.86rem !important;
    line-height:1.35;
    color:#d8d1f0 !important;
    background:rgba(255,255,255,.045) !important;
}

.featured-player-card{
    grid-template-columns:.55fr 1fr !important;
    gap:36px !important;
    padding:clamp(24px,4vw,48px) !important;
}

.featured-player-image{
    min-height:380px !important;
}

.featured-player-image img{
    object-position:center top;
}

@media(max-width:1280px){
    .roster-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media(max-width:700px){
    .roster-grid{
        grid-template-columns:1fr !important;
    }

    .roster-card{
        min-height:unset !important;
        padding:22px 20px 22px !important;
    }

    .roster-card-top .jersey-number{
        font-size:4rem !important;
    }

    .roster-photo{
        width:164px;
        height:164px;
        min-height:164px !important;
    }

    .roster-photo img,
    .roster-photo .player-placeholder.small{
        width:150px !important;
        height:150px !important;
    }

    .featured-player-card{
        grid-template-columns:1fr !important;
    }

    .featured-player-image{
        min-height:280px !important;
    }
}


/* Stage 13 - Admin news image preview */
.admin-image-preview {
    margin: 10px 0 20px;
    padding: 16px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.12);
}

.admin-image-preview img {
    display: block;
    width: 100%;
    max-height: 280px;
    object-fit: cover;
    border-radius: 14px;
    margin-top: 10px;
}

.admin-news-form .muted-text {
    margin: -4px 0 14px;
    color: #c9c3e8;
}


/* Stage 15 - Team logos and arena hero banners */
.upload-preview-card {
    padding: 16px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
    background: rgba(255,255,255,.055);
}

.admin-team-logo-preview {
    display: block;
    width: 130px;
    max-height: 130px;
    object-fit: contain;
    margin-top: 12px;
    padding: 12px;
    border-radius: 18px;
    background: rgba(5,8,22,.65);
}

.admin-arena-hero-preview {
    display: block;
    width: 100%;
    max-height: 260px;
    object-fit: cover;
    margin-top: 12px;
    border-radius: 18px;
    border: 1px solid rgba(255,255,255,.12);
}

.admin-table-logo {
    width: 52px;
    height: 52px;
    object-fit: contain;
    padding: 7px;
    border-radius: 14px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.10);
}

.team-logo-card-top {
    display: flex;
    align-items: center;
    gap: 18px;
    margin: 12px 0 18px;
}

.team-logo-large {
    width: 92px;
    height: 92px;
    object-fit: contain;
    padding: 10px;
    border-radius: 22px;
    background: rgba(5,8,22,.62);
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 18px 36px rgba(0,0,0,.26);
}

.team-logo-placeholder {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: linear-gradient(135deg, rgba(124,57,214,.65), rgba(217,243,255,.18));
    border: 1px solid rgba(255,255,255,.14);
    font-size: 2rem;
    font-weight: 1000;
}

.team-logo-placeholder.big {
    width: 170px;
    height: 170px;
    border-radius: 34px;
    font-size: 4rem;
}

.team-profile-hero,
.away-hero-image {
    position: relative;
    overflow: hidden;
    width: min(1240px, calc(100% - 36px));
    margin: 24px auto 26px;
    min-height: 430px;
    padding: clamp(36px, 6vw, 78px);
    display: flex;
    align-items: flex-end;
    border-radius: 36px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 18% 20%, rgba(124,57,214,.40), transparent 34%),
        linear-gradient(135deg, rgba(5,8,22,.98), rgba(20,9,44,.95));
    background-size: cover;
    background-position: center;
    box-shadow: 0 28px 90px rgba(0,0,0,.35);
}

.team-profile-hero:after,
.away-hero-image:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(120deg, rgba(255,255,255,.08) 0 1px, transparent 1px 70px),
        radial-gradient(circle at 82% 18%, rgba(217,243,255,.13), transparent 28%);
    opacity: .34;
    pointer-events: none;
}

.team-profile-hero-inner {
    position: relative;
    z-index: 2;
    display: grid;
    grid-template-columns: 190px minmax(0, 1fr);
    align-items: center;
    gap: 30px;
    width: 100%;
}

.team-profile-logo-wrap img {
    width: 170px;
    height: 170px;
    object-fit: contain;
    padding: 18px;
    border-radius: 34px;
    background: rgba(5,8,22,.66);
    border: 1px solid rgba(255,255,255,.16);
    box-shadow: 0 24px 56px rgba(0,0,0,.38);
}

.team-profile-hero h1,
.away-hero-image h1 {
    font-size: clamp(3.2rem, 7vw, 7rem);
    line-height: .88;
    text-transform: uppercase;
    letter-spacing: -.06em;
    margin: 8px 0 16px;
}

.away-hero-image {
    display: grid;
    grid-template-columns: minmax(0,1fr) 360px;
    gap: 28px;
}

.away-hero-image > * {
    position: relative;
    z-index: 2;
}

.away-hero-title-row {
    display: flex;
    align-items: center;
    gap: 20px;
}

.away-hero-logo {
    width: 118px;
    height: 118px;
    object-fit: contain;
    padding: 12px;
    border-radius: 26px;
    background: rgba(5,8,22,.70);
    border: 1px solid rgba(255,255,255,.16);
}

@media(max-width: 900px) {
    .team-profile-hero,
    .away-hero-image {
        width: min(100% - 28px, 1240px);
        min-height: 340px;
        padding: 28px;
        border-radius: 28px;
    }

    .team-profile-hero-inner,
    .away-hero-image {
        grid-template-columns: 1fr;
    }

    .team-profile-logo-wrap img,
    .team-logo-placeholder.big {
        width: 132px;
        height: 132px;
        border-radius: 26px;
    }

    .away-hero-title-row {
        align-items: flex-start;
        flex-direction: column;
    }

    .away-hero-logo {
        width: 96px;
        height: 96px;
    }
}


/* Stage 15C - Team hero alignment fix */
.team-profile-hero {
    padding-left: clamp(42px, 8vw, 120px) !important;
    padding-right: clamp(32px, 6vw, 90px) !important;
}

.team-profile-hero-inner {
    max-width: 1180px !important;
    margin: 0 auto !important;
    grid-template-columns: 170px minmax(0, 1fr) !important;
    align-items: end !important;
    gap: 34px !important;
}

.team-profile-logo-wrap {
    align-self: center;
}

.team-profile-logo-wrap img {
    width: 150px !important;
    height: 150px !important;
}

.team-profile-hero .eyebrow,
.team-profile-hero h1,
.team-profile-hero p,
.team-profile-hero .hero-actions {
    text-align: left;
}

.team-profile-hero h1 {
    max-width: 860px;
}

.team-profile-hero .hero-actions {
    margin-top: 20px;
}

/* Keep the team hero from feeling glued to the browser edge on very wide displays */
@media(min-width: 1300px) {
    .team-profile-hero {
        padding-left: 90px !important;
        padding-right: 90px !important;
    }
}

/* Tablet/mobile: stack neatly but still keep spacing from the edge */
@media(max-width: 900px) {
    .team-profile-hero {
        padding: 32px 24px !important;
    }

    .team-profile-hero-inner {
        grid-template-columns: 1fr !important;
        gap: 18px !important;
        align-items: start !important;
    }

    .team-profile-logo-wrap img,
    .team-logo-placeholder.big {
        width: 118px !important;
        height: 118px !important;
    }
}


/* Stage 16 - Fixture and Match Centre team logos */
.coi-versus-logos {
    align-items: stretch;
    gap: 14px;
}

.coi-team-logo-side {
    min-width: 0;
    flex: 1;
    display: grid;
    justify-items: center;
    gap: 7px;
    padding: 14px 10px;
    border-radius: 20px;
    background: rgba(255,255,255,.045);
    border: 1px solid rgba(255,255,255,.10);
}

.match-logo-wrap {
    width: 92px;
    height: 92px;
    display: grid;
    place-items: center;
    border-radius: 24px;
    background: rgba(5,8,22,.65);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 18px 42px rgba(0,0,0,.28);
}

.match-logo-wrap img {
    width: 76px;
    height: 76px;
    object-fit: contain;
}

.match-logo-wrap span {
    font-size: 2.4rem;
    font-weight: 1000;
    color: var(--ice);
}

.coi-team-logo-side strong {
    text-align: center;
    overflow-wrap: anywhere;
}

.game-card-with-logos {
    overflow: hidden;
}

.fixture-logo-row {
    display: grid;
    grid-template-columns: 88px minmax(76px, 1fr) 88px;
    align-items: center;
    gap: 12px;
    margin: 18px 0 16px;
}

.fixture-team-logo {
    width: 88px;
    height: 88px;
    display: grid;
    place-items: center;
    border-radius: 22px;
    background: rgba(5,8,22,.66);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 14px 36px rgba(0,0,0,.26);
}

.fixture-team-logo img {
    width: 72px;
    height: 72px;
    object-fit: contain;
}

.fixture-team-logo span {
    font-weight: 1000;
    font-size: 2.1rem;
    color: var(--ice);
}

.fixture-vs {
    text-align: center;
}

.fixture-vs strong {
    display: inline-grid;
    place-items: center;
    min-width: 58px;
    min-height: 44px;
    padding: 8px 12px;
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(124,57,214,.88), rgba(45,18,79,.86));
    border: 1px solid rgba(217,243,255,.18);
    color: #fff;
    font-size: 1.15rem;
    line-height: 1;
    box-shadow: 0 12px 30px rgba(124,57,214,.22);
}

.match-teams-with-logos {
    align-items: center;
    gap: clamp(14px, 3vw, 34px);
}

.match-teams-with-logos .team-side {
    display: grid;
    justify-items: center;
    gap: 10px;
    text-align: center;
}

.match-centre-logo {
    width: clamp(120px, 15vw, 190px);
    height: clamp(120px, 15vw, 190px);
    display: grid;
    place-items: center;
    border-radius: clamp(24px, 3vw, 40px);
    background: rgba(5,8,22,.66);
    border: 1px solid rgba(255,255,255,.15);
    box-shadow:
        0 24px 60px rgba(0,0,0,.34),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.match-centre-logo img {
    width: 78%;
    height: 78%;
    object-fit: contain;
}

.match-centre-logo span {
    color: var(--ice);
    font-size: clamp(3rem, 6vw, 5.8rem);
    font-weight: 1000;
}

.coi-fixture-mini-logos {
    grid-template-columns: auto auto minmax(0,1fr) auto;
}

.fixture-mini-logos {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.fixture-mini-logos img {
    width: 28px;
    height: 28px;
    object-fit: contain;
    padding: 3px;
    border-radius: 8px;
    background: rgba(255,255,255,.08);
}

.fixture-mini-logos b {
    color: var(--ice);
    font-size: .8rem;
}

@media(max-width: 900px) {
    .fixture-logo-row {
        grid-template-columns: 76px minmax(58px,1fr) 76px;
    }

    .fixture-team-logo {
        width: 76px;
        height: 76px;
        border-radius: 18px;
    }

    .fixture-team-logo img {
        width: 62px;
        height: 62px;
    }

    .match-teams-with-logos {
        grid-template-columns: 1fr;
    }

    .match-centre-logo {
        width: 128px;
        height: 128px;
    }

    .coi-fixture-mini-logos {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

@media(max-width: 620px) {
    .coi-versus-logos {
        flex-direction: column;
    }

    .match-logo-wrap {
        width: 82px;
        height: 82px;
    }

    .match-logo-wrap img {
        width: 66px;
        height: 66px;
    }
}


/* Stage 16B - Home next game text sizing and fixtures page copy layout */
.coi-video-game-card .coi-versus-logos {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 54px minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 12px !important;
}

.coi-video-game-card .coi-team-logo-side {
    padding: 12px 8px !important;
    min-width: 0 !important;
}

.coi-video-game-card .match-logo-wrap {
    width: 78px !important;
    height: 78px !important;
    border-radius: 20px !important;
}

.coi-video-game-card .match-logo-wrap img {
    width: 64px !important;
    height: 64px !important;
}

.coi-video-game-card .match-logo-wrap span {
    font-size: 1.8rem !important;
}

.coi-video-game-card .coi-team-logo-side span {
    font-size: .74rem !important;
    letter-spacing: .14em !important;
}

.coi-video-game-card .coi-team-logo-side strong {
    max-width: 100% !important;
    font-size: clamp(1.2rem, 2vw, 1.75rem) !important;
    line-height: .95 !important;
    letter-spacing: -.035em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
}

.coi-video-game-card .coi-versus-logos em {
    align-self: center !important;
    justify-self: center !important;
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    display: grid !important;
    place-items: center !important;
    font-size: .95rem !important;
}

.coi-video-game-card .coi-game-meta {
    display: grid !important;
    grid-template-columns: 1fr auto 1fr !important;
    gap: 8px !important;
    align-items: center !important;
    text-align: center !important;
}

.coi-video-game-card .coi-game-meta span {
    font-size: .82rem !important;
    white-space: nowrap !important;
}

.fixtures-intro-panel {
    width: min(1180px, calc(100% - 36px));
    margin: 0 auto 12px;
    padding: 24px 26px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 12% 0, rgba(124,57,214,.24), transparent 38%),
        linear-gradient(180deg, rgba(255,255,255,.075), rgba(255,255,255,.035));
    border: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.22);
}

.fixtures-intro-panel h2 {
    margin: 0 0 10px;
    text-transform: uppercase;
    letter-spacing: -.035em;
    font-size: clamp(1.75rem, 3vw, 3rem);
    line-height: .95;
}

.fixtures-intro-panel p {
    max-width: 920px;
    color: #c9c3e8;
    line-height: 1.62;
}

.fixture-note-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
    margin-top: 18px;
}

.fixture-note-grid div {
    padding: 14px 15px;
    border-radius: 18px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.fixture-note-grid strong {
    display: block;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .78rem;
    margin-bottom: 5px;
}

.fixture-note-grid span {
    color: #aaa4c7;
    font-size: .92rem;
    line-height: 1.45;
}

.fixtures-disclaimer {
    width: min(1180px, calc(100% - 36px));
    margin: -18px auto 46px;
    color: #aaa4c7;
    font-size: .92rem;
    line-height: 1.55;
}

@media(max-width: 700px) {
    .coi-video-game-card .coi-versus-logos {
        grid-template-columns: 1fr !important;
    }

    .coi-video-game-card .coi-versus-logos em {
        margin: -4px auto !important;
    }

    .coi-video-game-card .coi-game-meta {
        grid-template-columns: 1fr !important;
    }

    .coi-video-game-card .coi-team-logo-side strong {
        font-size: 1.4rem !important;
    }

    .fixture-note-grid {
        grid-template-columns: 1fr;
    }

    .fixtures-intro-panel {
        width: min(100% - 28px, 1180px);
        padding: 20px;
        border-radius: 22px;
    }

    .fixtures-disclaimer {
        width: min(100% - 28px, 1180px);
    }
}


/* Stage 17 - Premium header with home link and pop-out logo */
.premium-pop-header {
    position: sticky;
    top: 0;
    z-index: 100;
    min-height: 88px;
    padding: 0 !important;
    overflow: visible !important;
    background:
        linear-gradient(180deg, rgba(5,7,20,.98), rgba(5,7,20,.92)),
        radial-gradient(circle at 18% 100%, rgba(124,57,214,.24), transparent 34%);
    border-bottom: 1px solid rgba(255,255,255,.12);
    box-shadow: 0 22px 70px rgba(0,0,0,.35);
    backdrop-filter: blur(18px);
}

.premium-header-glow {
    position: absolute;
    inset: auto 0 -48px 0;
    height: 78px;
    pointer-events: none;
    background:
        radial-gradient(circle at 22% 0, rgba(124,57,214,.36), transparent 28%),
        linear-gradient(90deg, rgba(75,29,122,.48), rgba(124,57,214,.26), rgba(217,243,255,.08), transparent 82%);
    opacity: .85;
}

.premium-header-inner {
    position: relative;
    z-index: 2;
    width: min(1380px, calc(100% - 42px));
    margin: 0 auto;
    min-height: 88px;
    display: grid !important;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 26px;
    align-items: center;
    overflow: visible !important;
}

.brand-popout {
    position: relative;
    z-index: 5;
    align-self: stretch;
    display: flex !important;
    align-items: center;
    justify-content: flex-start;
    overflow: visible !important;
}

.brand-popout img {
    width: 178px !important;
    max-width: none !important;
    transform: translateY(10px) scale(1.18);
    transform-origin: center;
    filter:
        drop-shadow(0 20px 26px rgba(0,0,0,.58))
        drop-shadow(0 0 22px rgba(124,57,214,.28));
    transition: transform .22s ease, filter .22s ease;
}

.brand-popout:hover img {
    transform: translateY(12px) scale(1.22);
    filter:
        drop-shadow(0 24px 32px rgba(0,0,0,.62))
        drop-shadow(0 0 30px rgba(124,57,214,.36));
}

.brand-popout:after {
    content: "";
    position: absolute;
    left: -22px;
    bottom: -18px;
    width: 210px;
    height: 48px;
    border-radius: 50%;
    background: radial-gradient(circle, rgba(124,57,214,.32), transparent 68%);
    filter: blur(8px);
    z-index: -1;
    pointer-events: none;
}

.premium-site-nav {
    justify-content: flex-end !important;
    gap: clamp(12px, 1.4vw, 22px) !important;
    min-width: 0;
}

.premium-site-nav a,
.premium-site-nav button {
    position: relative;
    display: inline-flex;
    align-items: center;
    min-height: 42px;
    color: rgba(255,255,255,.74) !important;
    font-weight: 850 !important;
    font-size: .92rem !important;
    letter-spacing: -.01em;
    background: transparent;
    border: 0;
    white-space: nowrap;
}

.premium-site-nav a:not(.nav-cta):after,
.premium-site-nav button:after {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    height: 2px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(217,243,255,.9), rgba(124,57,214,.9));
    transform: scaleX(0);
    transform-origin: center;
    transition: transform .2s ease;
}

.premium-site-nav a:not(.nav-cta):hover,
.premium-site-nav button:hover {
    color: #fff !important;
}

.premium-site-nav a:not(.nav-cta):hover:after,
.premium-site-nav button:hover:after {
    transform: scaleX(1);
}

.premium-nav-cta {
    padding: 13px 22px !important;
    min-height: 48px !important;
    border-radius: 999px !important;
    color: #fff !important;
    background: linear-gradient(135deg, #8b3df0, #4b1d7a) !important;
    box-shadow:
        0 16px 34px rgba(124,57,214,.34),
        inset 0 1px 0 rgba(255,255,255,.12);
}

.header-logout-form {
    display: inline-flex !important;
    align-items: center;
    margin: 0 !important;
}

.header-logout-form button {
    padding: 0 !important;
    cursor: pointer;
}

.premium-nav-toggle {
    margin-left: auto;
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(255,255,255,.07);
    color: #fff;
    border-radius: 999px;
    padding: 10px 14px;
    font-weight: 900;
}

/* Better active/compact spacing below the fixed header */
main {
    position: relative;
    z-index: 1;
}

@media(max-width: 1220px) {
    .premium-header-inner {
        grid-template-columns: 175px minmax(0, 1fr);
        gap: 16px;
    }

    .brand-popout img {
        width: 148px !important;
        transform: translateY(8px) scale(1.14);
    }

    .premium-site-nav {
        gap: 12px !important;
    }

    .premium-site-nav a,
    .premium-site-nav button {
        font-size: .84rem !important;
    }

    .premium-nav-cta {
        padding: 11px 16px !important;
    }
}

@media(max-width: 900px) {
    .premium-pop-header {
        min-height: 82px;
    }

    .premium-header-inner {
        width: min(100% - 28px, 1380px);
        min-height: 82px;
        display: flex !important;
        justify-content: space-between;
    }

    .brand-popout img {
        width: 136px !important;
        transform: translateY(8px) scale(1.12);
    }

    .brand-popout:after {
        width: 160px;
        left: -14px;
    }

    .premium-site-nav[data-open="true"],
    .premium-site-nav.is-open {
        position: absolute;
        top: calc(100% + 12px);
        left: 0;
        right: 0;
        display: grid !important;
        gap: 6px !important;
        padding: 18px;
        border-radius: 22px;
        background: rgba(7,10,26,.98);
        border: 1px solid rgba(255,255,255,.12);
        box-shadow: 0 24px 70px rgba(0,0,0,.45);
    }

    .premium-site-nav:not([data-open="true"]):not(.is-open) {
        display: none;
    }

    .premium-site-nav a,
    .premium-site-nav button,
    .header-logout-form {
        width: 100%;
        justify-content: flex-start;
    }

    .premium-nav-cta {
        justify-content: center !important;
    }
}

@media(max-width: 520px) {
    .brand-popout img {
        width: 118px !important;
        transform: translateY(8px) scale(1.1);
    }

    .premium-pop-header,
    .premium-header-inner {
        min-height: 76px;
    }
}


/* Stage 17B - Mobile menu alignment fix */
@media(max-width: 900px) {
    .premium-pop-header {
        overflow: visible !important;
    }

    .premium-header-inner {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        width: min(100% - 28px, 1380px) !important;
        gap: 16px !important;
    }

    .premium-nav-toggle,
    .nav-toggle {
        display: inline-flex !important;
        align-items: center !important;
        justify-content: center !important;
        margin-left: auto !important;
        min-width: 76px !important;
    }

    .premium-site-nav[data-open="true"],
    .premium-site-nav.is-open {
        position: absolute !important;
        top: calc(100% + 12px) !important;
        left: 50% !important;
        right: auto !important;
        width: min(100vw - 28px, 420px) !important;
        transform: translateX(-50%) !important;
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 8px !important;
        align-items: stretch !important;
        justify-items: stretch !important;
        padding: 16px !important;
        border-radius: 24px !important;
        background: rgba(7,10,26,.98) !important;
        border: 1px solid rgba(255,255,255,.14) !important;
        box-shadow: 0 28px 80px rgba(0,0,0,.52) !important;
        backdrop-filter: blur(16px) !important;
        z-index: 999 !important;
    }

    .premium-site-nav[data-open="true"] a,
    .premium-site-nav[data-open="true"] button,
    .premium-site-nav.is-open a,
    .premium-site-nav.is-open button {
        width: 100% !important;
        min-height: 46px !important;
        justify-content: center !important;
        text-align: center !important;
        padding: 12px 14px !important;
        border-radius: 16px !important;
        background: rgba(255,255,255,.045) !important;
        border: 1px solid rgba(255,255,255,.08) !important;
        color: #fff !important;
    }

    .premium-site-nav[data-open="true"] a:hover,
    .premium-site-nav[data-open="true"] button:hover,
    .premium-site-nav.is-open a:hover,
    .premium-site-nav.is-open button:hover {
        background: rgba(124,57,214,.22) !important;
        border-color: rgba(217,243,255,.22) !important;
    }

    .premium-site-nav[data-open="true"] .premium-nav-cta,
    .premium-site-nav.is-open .premium-nav-cta {
        background: linear-gradient(135deg, #8b3df0, #4b1d7a) !important;
        box-shadow: 0 14px 32px rgba(124,57,214,.28) !important;
    }

    .premium-site-nav[data-open="true"] .header-logout-form,
    .premium-site-nav.is-open .header-logout-form {
        width: 100% !important;
        display: block !important;
        margin: 0 !important;
    }

    .premium-site-nav[data-open="true"] a:after,
    .premium-site-nav[data-open="true"] button:after,
    .premium-site-nav.is-open a:after,
    .premium-site-nav.is-open button:after {
        display: none !important;
    }
}

@media(max-width: 520px) {
    .premium-site-nav[data-open="true"],
    .premium-site-nav.is-open {
        width: min(100vw - 20px, 390px) !important;
        padding: 12px !important;
        border-radius: 20px !important;
    }

    .premium-site-nav[data-open="true"] a,
    .premium-site-nav[data-open="true"] button,
    .premium-site-nav.is-open a,
    .premium-site-nav.is-open button {
        min-height: 44px !important;
        font-size: .9rem !important;
    }
}


/* Stage 17C - Restore Match Centre prediction form */
.prediction-panel-wide {
    position: relative;
    overflow: hidden;
}

.prediction-panel-wide:before {
    content: "";
    position: absolute;
    inset: auto -18% -40% -18%;
    height: 65%;
    background: radial-gradient(circle, rgba(124,57,214,.24), transparent 62%);
    pointer-events: none;
}

.prediction-panel-wide > * {
    position: relative;
    z-index: 1;
}

.prediction-panel-head {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 18px;
    margin-bottom: 18px;
}

.prediction-panel-head h2 {
    margin: 4px 0 0;
    text-transform: uppercase;
    letter-spacing: -.035em;
}

.prediction-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    margin-top: 14px;
}

.prediction-form-grid label {
    display: block;
    color: var(--ice, #d9f3ff);
    font-size: .78rem;
    font-weight: 900;
    letter-spacing: .12em;
    text-transform: uppercase;
    margin-bottom: 7px;
}

.prediction-form-grid input,
.prediction-form-grid select {
    width: 100%;
    min-height: 48px;
    border-radius: 15px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,8,22,.76);
    color: #fff;
    padding: 12px 14px;
    outline: none;
}

.prediction-form-grid input:focus,
.prediction-form-grid select:focus {
    border-color: rgba(217,243,255,.42);
    box-shadow: 0 0 0 4px rgba(124,57,214,.16);
}

.prediction-submit {
    grid-column: 1 / -1;
}

.prediction-submit .btn {
    width: 100%;
}

.prediction-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-top: 20px;
}

.prediction-summary-grid div {
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.prediction-summary-grid strong {
    display: block;
    font-size: 1.8rem;
    line-height: 1;
    color: #fff;
}

.prediction-summary-grid span {
    display: block;
    margin-top: 6px;
    color: #aaa4c7;
    font-size: .82rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 800;
}

.prediction-saved-note {
    margin-top: 14px;
}

@media(max-width: 800px) {
    .prediction-panel-head {
        display: block;
    }

    .prediction-form-grid,
    .prediction-summary-grid {
        grid-template-columns: 1fr;
    }
}


/* Stage 18 - Fan profile badges and portal upgrade */
.portal-hero-pro{width:min(1240px,calc(100% - 36px));margin:34px auto 0;padding:clamp(24px,4vw,44px);border-radius:34px;border:1px solid rgba(255,255,255,.12);background:radial-gradient(circle at 12% 12%,rgba(124,57,214,.34),transparent 34%),linear-gradient(135deg,rgba(255,255,255,.08),rgba(255,255,255,.035));box-shadow:0 28px 90px rgba(0,0,0,.34)}
.portal-profile-card{display:grid;grid-template-columns:150px minmax(0,1fr);gap:24px;align-items:center}.portal-avatar-xl{width:150px;height:150px;display:grid;place-items:center;border-radius:34px;overflow:hidden;background:linear-gradient(135deg,rgba(124,57,214,.75),rgba(217,243,255,.18));border:1px solid rgba(255,255,255,.18);box-shadow:0 24px 60px rgba(0,0,0,.32)}.portal-avatar-xl img{width:100%;height:100%;object-fit:cover}.portal-avatar-xl span{font-size:4rem;font-weight:1000;color:#fff}.portal-profile-card h1{margin:8px 0 10px;font-size:clamp(2.8rem,7vw,6.6rem);line-height:.86;text-transform:uppercase;letter-spacing:-.06em}.portal-profile-card p{max-width:780px;color:#c9c3e8}.portal-fan-meta{display:flex;flex-wrap:wrap;gap:10px}.portal-fan-meta span{padding:9px 12px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:var(--ice,#d9f3ff);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}
.portal-stat-strip{margin-top:26px;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.portal-stat-strip div{padding:18px;border-radius:20px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10)}.portal-stat-strip strong{display:block;font-size:2.1rem;line-height:1;color:#fff}.portal-stat-strip span{display:block;margin-top:7px;color:#aaa4c7;font-size:.78rem;text-transform:uppercase;letter-spacing:.09em;font-weight:900}
.portal-pro-grid{display:grid;grid-template-columns:minmax(0,1fr) 370px;gap:24px;align-items:start}.portal-main-col,.portal-side-col{display:grid;gap:22px}.badge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.badge-card{min-height:178px;padding:18px;border-radius:22px;background:radial-gradient(circle at 85% 15%,rgba(217,243,255,.15),transparent 26%),linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));border:1px solid rgba(255,255,255,.12);box-shadow:0 18px 42px rgba(0,0,0,.20)}.badge-card.unlocked{border-color:rgba(217,243,255,.24)}.badge-icon{width:56px;height:56px;display:grid;place-items:center;border-radius:18px;background:linear-gradient(135deg,rgba(124,57,214,.8),rgba(45,18,79,.88));border:1px solid rgba(255,255,255,.14);font-size:1.8rem;margin-bottom:14px}.badge-card strong{display:block;color:#fff;font-size:1.05rem;line-height:1.1;text-transform:uppercase}.badge-card p{margin:8px 0 10px;color:#c9c3e8;font-size:.92rem;line-height:1.45}.badge-card small{color:#aaa4c7}
.portal-game-list,.portal-prediction-list{display:grid;gap:10px}.portal-game-row,.portal-prediction-row{display:grid;grid-template-columns:74px minmax(0,1fr) auto;gap:12px;align-items:center;padding:14px;border-radius:18px;background:rgba(255,255,255,.052);border:1px solid rgba(255,255,255,.10)}.portal-game-row span,.portal-prediction-row span{color:var(--ice,#d9f3ff);font-weight:1000;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.portal-game-row strong,.portal-prediction-row strong{color:#fff}.portal-game-row em,.portal-prediction-row em{color:#c9c3e8;font-style:normal;font-size:.86rem;font-weight:900}.portal-profile-editor h2,.portal-side-col .panel h2{margin-top:6px;text-transform:uppercase;letter-spacing:-.03em}.fan-pick-card{margin-top:12px;padding:14px;border-radius:16px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.10)}.fan-pick-card strong{display:block;color:var(--ice,#d9f3ff);text-transform:uppercase;letter-spacing:.1em;font-size:.75rem;margin-bottom:5px}.fan-pick-card span{color:#fff;font-weight:800}.stacked-form{display:grid;gap:14px}.stacked-form label{display:grid;gap:7px;color:var(--ice,#d9f3ff);font-weight:900;text-transform:uppercase;letter-spacing:.08em;font-size:.76rem}.stacked-form input,.stacked-form select,.stacked-form textarea{width:100%;border-radius:14px;border:1px solid rgba(255,255,255,.14);background:rgba(5,8,22,.76);color:#fff;padding:12px 13px;text-transform:none;letter-spacing:0;font-weight:500}
@media(max-width:1100px){.portal-pro-grid{grid-template-columns:1fr}.badge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:700px){.portal-hero-pro{width:min(100% - 28px,1240px);border-radius:26px}.portal-profile-card{grid-template-columns:1fr}.portal-avatar-xl{width:118px;height:118px;border-radius:26px}.portal-stat-strip,.badge-grid{grid-template-columns:1fr}.portal-game-row,.portal-prediction-row{grid-template-columns:1fr}}


/* Stage 18D - Fan Portal overflow/layout fix */
html,
body {
    max-width: 100%;
    overflow-x: hidden;
}

.portal-hero-pro,
.portal-pro-grid {
    box-sizing: border-box;
    max-width: 1240px !important;
    width: min(1240px, calc(100% - 36px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.portal-pro-grid {
    grid-template-columns: minmax(0, 1fr) minmax(300px, 370px) !important;
    align-items: start !important;
}

.portal-main-col,
.portal-side-col,
.portal-main-col .panel,
.portal-side-col .panel,
.portal-badges-panel,
.portal-profile-editor {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

.portal-profile-card {
    grid-template-columns: 130px minmax(0, 1fr) !important;
    min-width: 0 !important;
}

.portal-profile-card > div,
.portal-profile-card h1,
.portal-profile-card p,
.portal-fan-meta,
.portal-stat-strip,
.badge-grid,
.portal-game-list,
.portal-prediction-list {
    min-width: 0 !important;
    max-width: 100% !important;
}

.portal-profile-card h1 {
    font-size: clamp(2.25rem, 5.5vw, 5.2rem) !important;
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.portal-profile-card p,
.badge-card p,
.portal-game-row strong,
.portal-prediction-row strong,
.fan-pick-card span,
.coi-rank-row span {
    overflow-wrap: anywhere !important;
    word-break: normal !important;
}

.portal-avatar-xl {
    width: 130px !important;
    height: 130px !important;
    border-radius: 30px !important;
}

.portal-stat-strip {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.portal-stat-strip div,
.badge-card,
.portal-game-row,
.portal-prediction-row,
.fan-pick-card {
    min-width: 0 !important;
    box-sizing: border-box !important;
}

.badge-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

.portal-game-row,
.portal-prediction-row {
    grid-template-columns: 64px minmax(0, 1fr) minmax(82px, auto) !important;
}

.portal-game-row em,
.portal-prediction-row em {
    text-align: right;
    white-space: normal !important;
}

.stacked-form input,
.stacked-form select,
.stacked-form textarea {
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Tighter layout before it gets squeezed */
@media(max-width: 1180px) {
    .portal-pro-grid {
        grid-template-columns: 1fr !important;
    }

    .portal-side-col {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .portal-profile-editor {
        grid-column: 1 / -1;
    }
}

@media(max-width: 820px) {
    .portal-hero-pro,
    .portal-pro-grid {
        width: min(100% - 28px, 1240px) !important;
    }

    .portal-profile-card {
        grid-template-columns: 1fr !important;
    }

    .portal-avatar-xl {
        width: 112px !important;
        height: 112px !important;
        border-radius: 24px !important;
    }

    .portal-profile-card h1 {
        font-size: clamp(2rem, 11vw, 3.8rem) !important;
    }

    .portal-stat-strip,
    .badge-grid,
    .portal-side-col {
        grid-template-columns: 1fr !important;
    }

    .portal-game-row,
    .portal-prediction-row {
        grid-template-columns: 1fr !important;
        gap: 6px !important;
    }

    .portal-game-row em,
    .portal-prediction-row em {
        text-align: left;
    }
}

@media(max-width: 480px) {
    .portal-hero-pro,
    .portal-pro-grid {
        width: min(100% - 20px, 1240px) !important;
    }

    .portal-hero-pro,
    .portal-main-col .panel,
    .portal-side-col .panel {
        border-radius: 22px !important;
    }

    .portal-hero-pro {
        padding: 20px !important;
    }
}


/* Stage 19 - Match Night Mode homepage */
.match-night-mode {
    position: relative;
    overflow: hidden;
    width: min(1240px, calc(100% - 36px));
    margin: 28px auto 34px;
    padding: clamp(24px, 4vw, 42px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) 330px;
    gap: 24px;
    align-items: stretch;
    border-radius: 34px;
    border: 1px solid rgba(217,243,255,.16);
    background:
        radial-gradient(circle at 18% 12%, rgba(124,57,214,.40), transparent 34%),
        linear-gradient(135deg, rgba(13,18,44,.96), rgba(45,18,79,.88));
    box-shadow:
        0 34px 100px rgba(0,0,0,.38),
        inset 0 1px 0 rgba(255,255,255,.08);
}

.match-night-bg-pulse {
    position: absolute;
    inset: -40% -20% auto auto;
    width: 420px;
    height: 420px;
    border-radius: 999px;
    background: radial-gradient(circle, rgba(217,243,255,.16), rgba(124,57,214,.20), transparent 62%);
    filter: blur(8px);
    animation: matchNightPulse 7s ease-in-out infinite;
    pointer-events: none;
}

.match-night-main,
.match-night-panel {
    position: relative;
    z-index: 1;
}

.match-night-main h2 {
    margin: 8px 0 10px;
    text-transform: uppercase;
    letter-spacing: -.06em;
    line-height: .86;
    font-size: clamp(3rem, 7vw, 6.8rem);
}

.match-night-main p {
    max-width: 820px;
    color: #d7d0ef;
    font-size: 1.08rem;
    line-height: 1.55;
}

.match-night-teams {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 80px minmax(0, 1fr);
    gap: 16px;
    align-items: center;
    max-width: 780px;
    margin: 24px 0;
}

.match-night-teams > div {
    display: grid;
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-radius: 22px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
    min-width: 0;
}

.match-night-logo {
    width: 82px;
    height: 82px;
    display: grid;
    place-items: center;
    border-radius: 20px;
    background: rgba(5,8,22,.70);
    border: 1px solid rgba(255,255,255,.14);
    box-shadow: 0 16px 38px rgba(0,0,0,.28);
}

.match-night-logo img {
    width: 68px;
    height: 68px;
    object-fit: contain;
}

.match-night-logo b {
    color: var(--ice, #d9f3ff);
    font-size: 2rem;
}

.match-night-teams strong {
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.025em;
    line-height: 1;
    font-size: clamp(1.2rem, 2.2vw, 2.05rem);
    overflow-wrap: anywhere;
}

.match-night-teams em {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    justify-self: center;
    border-radius: 22px;
    font-style: normal;
    font-weight: 1000;
    color: #fff;
    background: linear-gradient(135deg, #8b3df0, #2aa8ff);
    box-shadow: 0 18px 42px rgba(124,57,214,.30);
}

.match-night-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
}

.match-night-panel {
    display: grid;
    gap: 12px;
    align-content: center;
}

.match-night-panel div {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.12);
}

.match-night-panel span {
    display: block;
    color: var(--ice, #d9f3ff);
    text-transform: uppercase;
    letter-spacing: .12em;
    font-weight: 1000;
    font-size: .72rem;
    margin-bottom: 8px;
}

.match-night-panel strong {
    display: block;
    color: #fff;
    line-height: 1;
    font-size: 1.35rem;
}

@keyframes matchNightPulse {
    0%,100% { transform: scale(1); opacity: .7; }
    50% { transform: scale(1.08); opacity: 1; }
}

@media(max-width: 980px) {
    .match-night-mode {
        grid-template-columns: 1fr;
    }

    .match-night-panel {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media(max-width: 700px) {
    .match-night-mode {
        width: min(100% - 28px, 1240px);
        border-radius: 26px;
    }

    .match-night-teams {
        grid-template-columns: 1fr;
    }

    .match-night-teams em {
        width: 60px;
        height: 52px;
    }

    .match-night-panel {
        grid-template-columns: 1fr;
    }

    .match-night-actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* Stage 20 - Admin comment moderation */
.admin-comments-wrap {
    padding-top: 32px;
}

.comment-moderation-stats {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.comment-moderation-stats div {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.comment-moderation-stats span {
    display: block;
    color: var(--ice, #d9f3ff);
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 900;
    font-size: .72rem;
    margin-bottom: 8px;
}

.comment-moderation-stats strong {
    display: block;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

.comment-filter-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 22px;
}

.comment-filter-panel label {
    display: grid;
    gap: 7px;
    color: var(--ice, #d9f3ff);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: .74rem;
}

.comment-filter-panel select {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,8,22,.76);
    color: #fff;
    padding: 12px 13px;
    text-transform: none;
    letter-spacing: 0;
}

.comment-moderation-list {
    display: grid;
    gap: 18px;
}

.comment-moderation-card {
    overflow: hidden;
}

.comment-mod-head {
    display: flex;
    justify-content: space-between;
    gap: 18px;
    align-items: flex-start;
}

.comment-mod-head h2 {
    margin: 5px 0 0;
    text-transform: uppercase;
    letter-spacing: -.03em;
    line-height: 1;
    font-size: clamp(1.5rem, 2.5vw, 2.4rem);
}

.comment-status-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 90px;
    padding: 8px 11px;
    border-radius: 999px;
    color: #fff;
    font-weight: 1000;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .7rem;
    background: rgba(255,255,255,.10);
    border: 1px solid rgba(255,255,255,.12);
}

.status-approved {
    background: rgba(35,160,85,.18);
    border-color: rgba(35,160,85,.35);
}

.status-pending {
    background: rgba(240,170,35,.18);
    border-color: rgba(240,170,35,.35);
}

.status-hidden,
.status-rejected {
    background: rgba(210,60,70,.18);
    border-color: rgba(210,60,70,.35);
}

.comment-mod-body {
    margin: 18px 0;
    padding: 16px 18px;
    border-radius: 18px;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.09);
    color: #d7d0ef;
    line-height: 1.6;
    white-space: pre-wrap;
}

.comment-mod-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    color: #aaa4c7;
    font-size: .9rem;
    margin-bottom: 16px;
}

.comment-mod-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.btn-danger {
    background: linear-gradient(135deg, #b92335, #64121c) !important;
    color: #fff !important;
    box-shadow: 0 14px 30px rgba(185,35,53,.22);
}

@media(max-width: 900px) {
    .comment-moderation-stats {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .comment-filter-panel {
        grid-template-columns: 1fr;
    }

    .comment-mod-head {
        display: block;
    }

    .comment-status-badge {
        margin-top: 12px;
    }
}

@media(max-width: 560px) {
    .comment-moderation-stats {
        grid-template-columns: 1fr;
    }

    .comment-mod-actions .btn,
    .comment-mod-actions form,
    .comment-mod-actions button {
        width: 100%;
        justify-content: center;
    }
}


/* Stage 21 - Admin fan management */
.fan-admin-wrap,
.fan-edit-layout {
    padding-top: 32px;
}

.fan-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.fan-admin-stats div {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.fan-admin-stats span {
    display: block;
    color: var(--ice, #d9f3ff);
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 900;
    font-size: .72rem;
    margin-bottom: 8px;
}

.fan-admin-stats strong {
    display: block;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

.fan-filter-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 240px auto;
    gap: 14px;
    align-items: end;
    margin-bottom: 22px;
}

.fan-filter-panel label,
.fan-edit-form label {
    display: grid;
    gap: 7px;
    color: var(--ice, #d9f3ff);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: .74rem;
}

.fan-filter-panel input,
.fan-filter-panel select,
.fan-edit-form input,
.fan-edit-form select,
.fan-edit-form textarea {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,8,22,.76);
    color: #fff;
    padding: 12px 13px;
    text-transform: none;
    letter-spacing: 0;
    font-weight: 500;
    box-sizing: border-box;
}

.fan-admin-list {
    display: grid;
    gap: 16px;
}

.fan-admin-card {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(260px, .85fr) minmax(220px, .7fr) auto;
    gap: 18px;
    align-items: center;
}

.fan-admin-main {
    display: grid;
    grid-template-columns: 72px minmax(0, 1fr);
    gap: 14px;
    align-items: center;
    min-width: 0;
}

.fan-admin-avatar {
    width: 72px;
    height: 72px;
    display: grid;
    place-items: center;
    overflow: hidden;
    border-radius: 20px;
    background: linear-gradient(135deg, rgba(124,57,214,.78), rgba(217,243,255,.16));
    border: 1px solid rgba(255,255,255,.16);
}

.fan-admin-avatar.large {
    width: 110px;
    height: 110px;
    border-radius: 28px;
}

.fan-admin-avatar img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fan-admin-avatar span {
    color: #fff;
    font-weight: 1000;
    font-size: 1.7rem;
}

.fan-admin-avatar.large span {
    font-size: 3rem;
}

.fan-admin-main h2,
.fan-edit-head h2 {
    margin: 4px 0 3px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.03em;
    line-height: 1;
    overflow-wrap: anywhere;
}

.fan-admin-main p,
.fan-edit-head p {
    color: #aaa4c7;
    margin: 0;
    overflow-wrap: anywhere;
}

.fan-admin-meta {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
}

.fan-admin-meta div {
    padding: 12px;
    border-radius: 15px;
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.09);
}

.fan-admin-meta strong {
    display: block;
    color: #fff;
    font-size: 1.35rem;
    line-height: 1;
}

.fan-admin-meta span {
    display: block;
    color: #aaa4c7;
    font-size: .68rem;
    text-transform: uppercase;
    letter-spacing: .08em;
    font-weight: 900;
    margin-top: 5px;
}

.fan-admin-picks {
    display: grid;
    gap: 6px;
    color: #d7d0ef;
    font-size: .88rem;
    overflow-wrap: anywhere;
}

.fan-admin-actions {
    display: flex;
    justify-content: flex-end;
}

.fan-edit-form {
    max-width: 1120px;
    margin: 0 auto;
}

.fan-edit-head {
    display: grid;
    grid-template-columns: 110px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    margin-bottom: 26px;
}

.fan-edit-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
}

.fan-edit-grid .span-2 {
    grid-column: 1 / -1;
}

.toggle-row {
    margin-top: 18px;
    display: flex !important;
    grid-template-columns: none !important;
    flex-direction: row;
    align-items: center;
    gap: 12px !important;
    padding: 14px;
    border-radius: 16px;
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.10);
}

.toggle-row input {
    width: 20px !important;
    min-height: 20px !important;
}

.fan-badge-editor {
    margin-top: 28px;
}

.fan-badge-editor h3 {
    margin: 5px 0 16px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.025em;
}

.fan-badge-check-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
}

.badge-check-card {
    display: grid !important;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 12px !important;
    align-items: start;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.10);
    color: #fff !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
}

.badge-check-card input {
    width: 18px !important;
    min-height: 18px !important;
    margin-top: 4px;
}

.badge-check-card span {
    font-size: 1.4rem;
}

.badge-check-card strong {
    grid-column: 2;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.01em;
}

.badge-check-card em {
    grid-column: 2;
    color: #aaa4c7;
    font-style: normal;
    font-size: .86rem;
    line-height: 1.35;
}

.fan-edit-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.admin-pagination {
    margin-top: 22px;
}

@media(max-width: 1180px) {
    .fan-admin-card {
        grid-template-columns: 1fr;
    }

    .fan-admin-actions {
        justify-content: flex-start;
    }
}

@media(max-width: 900px) {
    .fan-admin-stats,
    .fan-badge-check-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .fan-filter-panel,
    .fan-edit-grid {
        grid-template-columns: 1fr;
    }

    .fan-edit-grid .span-2 {
        grid-column: auto;
    }
}

@media(max-width: 560px) {
    .fan-admin-stats,
    .fan-admin-meta,
    .fan-badge-check-grid {
        grid-template-columns: 1fr;
    }

    .fan-edit-head {
        grid-template-columns: 1fr;
    }

    .fan-admin-actions .btn,
    .fan-edit-actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* Stage 23 - Newsletter and match reminder system */
.newsletter-hero {
    width: min(1180px, calc(100% - 36px));
    margin: 34px auto 0;
    padding: clamp(28px, 5vw, 60px);
    border-radius: 34px;
    border: 1px solid rgba(255,255,255,.12);
    background:
        radial-gradient(circle at 15% 15%, rgba(124,57,214,.34), transparent 34%),
        linear-gradient(135deg, rgba(13,18,44,.96), rgba(45,18,79,.88));
    box-shadow: 0 28px 90px rgba(0,0,0,.32);
}

.newsletter-hero h1 {
    max-width: 900px;
    margin: 10px 0;
    font-size: clamp(3rem, 8vw, 7.5rem);
    line-height: .85;
    text-transform: uppercase;
    letter-spacing: -.065em;
}

.newsletter-hero p {
    max-width: 760px;
    color: #d7d0ef;
    font-size: 1.08rem;
}

.newsletter-signup-card {
    margin-top: 26px;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 14px;
    align-items: end;
    padding: 18px;
    border-radius: 24px;
    background: rgba(255,255,255,.065);
    border: 1px solid rgba(255,255,255,.12);
}

.newsletter-signup-card label,
.newsletter-mini-form label,
.newsletter-filter label,
.campaign-edit-form label {
    display: grid;
    gap: 7px;
    color: var(--ice, #d9f3ff);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .09em;
    font-size: .74rem;
}

.newsletter-signup-card input,
.newsletter-mini-form input,
.newsletter-filter input,
.newsletter-filter select,
.subscriber-row select,
.campaign-edit-form input,
.campaign-edit-form select,
.campaign-edit-form textarea,
.campaign-send-panel textarea,
.campaign-send-panel input {
    width: 100%;
    min-height: 48px;
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.14);
    background: rgba(5,8,22,.76);
    color: #fff;
    padding: 12px 13px;
    box-sizing: border-box;
}

.newsletter-benefits {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
}

.newsletter-admin-stats {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
    margin-bottom: 18px;
}

.newsletter-admin-stats div {
    padding: 18px;
    border-radius: 20px;
    background: rgba(255,255,255,.055);
    border: 1px solid rgba(255,255,255,.10);
}

.newsletter-admin-stats span {
    display: block;
    color: var(--ice, #d9f3ff);
    text-transform: uppercase;
    letter-spacing: .10em;
    font-weight: 900;
    font-size: .72rem;
    margin-bottom: 8px;
}

.newsletter-admin-stats strong {
    display: block;
    color: #fff;
    font-size: 2rem;
    line-height: 1;
}

.newsletter-admin-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 22px;
}

.newsletter-mini-form {
    display: grid;
    gap: 10px;
}

.newsletter-admin-columns {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(320px, .8fr);
    gap: 22px;
    align-items: start;
}

.newsletter-filter {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 160px auto;
    gap: 10px;
    margin-bottom: 16px;
}

.subscriber-list,
.campaign-list {
    display: grid;
    gap: 10px;
}

.subscriber-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 130px minmax(230px, .7fr);
    gap: 12px;
    align-items: center;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.10);
}

.subscriber-row strong,
.campaign-row strong {
    display: block;
    color: #fff;
    overflow-wrap: anywhere;
}

.subscriber-row span,
.campaign-row span {
    display: block;
    color: #aaa4c7;
    margin-top: 4px;
    overflow-wrap: anywhere;
}

.subscriber-row form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
}

.subscriber-status {
    justify-self: start;
    padding: 8px 10px;
    border-radius: 999px;
    color: #fff;
    background: rgba(255,255,255,.10);
    text-transform: uppercase;
    letter-spacing: .08em;
    font-size: .72rem;
    font-style: normal;
    font-weight: 900;
}

.status-active {
    background: rgba(35,160,85,.18);
    border: 1px solid rgba(35,160,85,.35);
}

.status-unsubscribed,
.status-bounced {
    background: rgba(210,60,70,.18);
    border: 1px solid rgba(210,60,70,.35);
}

.campaign-row {
    display: block;
    padding: 14px;
    border-radius: 18px;
    background: rgba(255,255,255,.052);
    border: 1px solid rgba(255,255,255,.10);
}

.campaign-edit-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 380px;
    gap: 22px;
    align-items: start;
}

.campaign-edit-form,
.campaign-send-panel {
    display: grid;
    gap: 14px;
}

.campaign-send-panel h2 {
    margin: 6px 0 0;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: -.03em;
}

@media(max-width: 1050px) {
    .newsletter-admin-columns,
    .campaign-edit-grid {
        grid-template-columns: 1fr;
    }

    .newsletter-admin-grid,
    .newsletter-benefits {
        grid-template-columns: 1fr;
    }
}

@media(max-width: 760px) {
    .newsletter-signup-card,
    .newsletter-filter,
    .subscriber-row,
    .subscriber-row form,
    .newsletter-admin-stats {
        grid-template-columns: 1fr;
    }

    .newsletter-signup-card .btn,
    .newsletter-filter .btn,
    .subscriber-row button {
        width: 100%;
        justify-content: center;
    }
}
