/* B2K WOW DASH SEASON 2 — polished, responsive competition UI. */
:root {
  --champ-ink: #071633;
  --champ-navy: #08245a;
  --champ-blue: #104df4;
  --champ-blue-dark: #0836ba;
  --champ-red: #ef2446;
  --champ-paper: #ffffff;
  --champ-canvas: #f4f7fc;
  --champ-line: #d8e1ef;
  --champ-muted: #435673;
  --champ-shadow: 0 12px 30px rgba(8, 35, 86, .085);
}
[hidden] { display: none !important; }
html { scroll-behavior: smooth; }
body { background: var(--champ-canvas); color: var(--champ-ink); }
body::before { content: ''; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: radial-gradient(circle at 93% 6%, #dceaff88, transparent 30%), radial-gradient(circle at 5% 65%, #eaf1ff88, transparent 35%); }

/* Compact competition masthead: the season art supports the page, never swallows it. */
.site-header { min-height: 78px; padding: 10px max(22px, calc((100vw - 1450px)/2)); gap: 18px; box-shadow: 0 3px 18px #0a266c0c; }
.brand { gap: 12px; min-width: 0; }
.brand-logo { width: 42px !important; height: 42px !important; border-radius: 0 !important; box-shadow: none; }
.brand-wordmark { display: grid; line-height: .91; white-space: nowrap; transform: skew(-4deg); }
.brand-wordmark strong { font-family: Impact, 'Arial Narrow', sans-serif; font-size: clamp(22px, 2vw, 31px) !important; font-style: italic; letter-spacing: -.025em; color: #0a0c13 !important; }
.brand-wordmark small { font-family: Impact, 'Arial Narrow', sans-serif; font-size: clamp(18px, 1.7vw, 26px) !important; font-style: italic; letter-spacing: .03em !important; color: var(--champ-red) !important; }
.nav { order: 2; margin-left: auto; gap: clamp(9px, 1.2vw, 19px); }
.nav>a:not(.button) { font-family: 'Arial Narrow', 'Bahnschrift Condensed', Arial, sans-serif; font-weight: 900; font-size: 12px; text-transform: uppercase; letter-spacing: .035em; white-space: nowrap; }
.nav>a[aria-current=page] { text-decoration-color: var(--champ-blue); text-underline-offset: 14px; }
.nav .button-primary { min-height: 41px; font-size: 11px; text-transform: uppercase; }
.language-switch { order: 3; margin-left: 0; flex-shrink: 0; }
.menu-toggle { order: 4; }
.nav-user { font-size: 11px; }
.season-ribbon { max-width: 1490px; margin: 10px auto 0; padding: 0 16px; }
.season-ribbon img { width: 100%; height: clamp(115px, 14vw, 210px); object-fit: fill; border-radius: 3px; box-shadow: var(--champ-shadow); }
.page-shell { max-width: 1480px; padding: 0 clamp(14px, 2.5vw, 30px); }

/* Shared typography, actions and focus treatment. */
.eyebrow { font-size: 10px; letter-spacing: .2em; color: var(--champ-blue); }
.page-heading h1, .admin-heading h1, .public-guide-heading h1, .editorial-section-heading h2, .form-section-heading h2 { font-family: Impact, 'Arial Narrow', sans-serif; font-style: italic; text-transform: uppercase; line-height: 1.02; letter-spacing: -.015em; color: #090c16; }
.page-heading h1, .admin-heading h1 { font-size: clamp(36px, 4.1vw, 58px); }
.page-heading p, .admin-heading p, .public-guide-heading>p { color: var(--champ-muted); font-size: 15px; line-height: 1.6; }
.button { min-height: 44px; border-radius: 5px; font-family: 'Arial Narrow', Arial, sans-serif; font-weight: 900; letter-spacing: .025em; transition: transform .18s ease, box-shadow .18s ease, background .18s ease, border-color .18s ease; }
.button:hover { transform: translateY(-2px); }
.button:active { transform: translateY(0) scale(.985); }
.button-primary, .button-discord { background: var(--champ-blue); border-color: var(--champ-blue); color: white; box-shadow: 0 9px 19px #104df42b; }
.button-primary:hover, .button-discord:hover { background: var(--champ-blue-dark); box-shadow: 0 13px 24px #104df444; }
.hero-actions .button-primary { gap: 23px; min-height: 52px; padding-right: 0; overflow: hidden; text-transform: uppercase; }
.hero-actions .button-primary .ui-icon { box-sizing: content-box; align-self: stretch; width: 22px; height: 22px; margin: -14px 0 -14px 0; padding: 15px; background: var(--champ-red); }
.button-ghost { color: #153c83; border-color: #b7c9e7; background: #fff; }
.button-ghost:hover { background: #eaf1ff; border-color: var(--champ-blue); }
.button:focus-visible, .admin-nav a:focus-visible, .dashboard-shortcut:focus-visible, .faq-categories button:focus-visible { outline: 3px solid #ff3156; outline-offset: 3px; }
.panel, .portal-card, .feed-card, .squad-panel, .registration-state, .identity-bar, .creation-panel, .round-card, .match-card, .stats-grid article { border-color: var(--champ-line); border-radius: 10px; box-shadow: var(--champ-shadow); }
.panel :is(h1,h2,h3,h4,strong), .admin-heading h1 { color: var(--champ-ink); }
.panel :is(p,small), .form-hint { color: var(--champ-muted); }
.status { font-weight: 850; letter-spacing: .025em; }

/* Homepage. Photographs are the supplied originals; artwork is decorative only. */
.editorial-home { padding: 10px 0 50px; gap: 0; }
.editorial-hero { position: relative; min-height: 570px; grid-template-columns: minmax(0, 1.08fr) minmax(0, .92fr); border: 0; border-radius: 4px; isolation: isolate; background: #f6faff url('/assets/art/championship-landscape-v2.webp') center/cover no-repeat; box-shadow: 0 18px 45px #112f6f20; }
.editorial-hero::after { content: ''; position: absolute; left: -2px; bottom: -2px; width: 43%; height: 14px; background: linear-gradient(110deg, var(--champ-blue) 0 65%, var(--champ-red) 65% 82%, transparent 82%); clip-path: polygon(0 60%,100% 0,94% 100%,0 100%); }
.editorial-hero-copy { padding: clamp(35px, 5vw, 78px); justify-content: center; max-width: 750px; }
.editorial-hero-copy>.eyebrow { color: var(--champ-navy); font-size: 11px; }
.editorial-kicker { margin: 22px 0 5px; color: #24395e; font-size: 10px; letter-spacing: .32em; }
.editorial-hero h1 { margin: 8px 0 16px; font-size: clamp(66px, 6.8vw, 105px); line-height: .88; font-style: italic; letter-spacing: -.025em; color: #070b12; text-shadow: 0 2px 0 #fff8; }
.editorial-hero h1 span { color: var(--champ-blue); }
.editorial-hero h1 em { color: var(--champ-red); font-size: .76em; letter-spacing: .01em; }
.editorial-hero-lead { color: var(--champ-blue); text-transform: uppercase; letter-spacing: .1em; font-size: clamp(15px, 1.6vw, 22px); }
.editorial-hero-description { max-width: 570px; color: #354966; font-size: 15px; line-height: 1.65; }
.editorial-hero-stage { min-height: 570px; overflow: visible; background: transparent; }
.editorial-hero-stage::before, .editorial-stage-sun { display: none; }
.founder-photo { bottom: 0; object-fit: contain; filter: drop-shadow(0 15px 21px #112b574d); }
.founder-night { left: -20%; height: 84%; z-index: 2; }
.founder-samurai { right: -9%; height: 92%; z-index: 1; }
.editorial-stage-tag { right: 15px; bottom: 18px; padding: 8px 11px; border-left-color: var(--champ-red); background: #081936dc; }
.editorial-stage-tag strong { font-size: 10px; }
.editorial-stage-tag span { font-size: 10px; }
.hero-facts span { border-radius: 3px !important; background: #fffdfdcc !important; border-color: #b7c9e9 !important; color: #19345c !important; }
.editorial-regions { padding: 52px 0 40px; }
.editorial-section-heading h2 { color: #080c15; }
.editorial-region-grid { gap: 13px; }
.editorial-region-card { min-height: 244px; position: relative; border: 0; border-radius: 7px; box-shadow: 0 11px 24px #081f5360; isolation: isolate; transition: transform .2s ease, box-shadow .2s ease; }
.editorial-region-card:hover { transform: translateY(-5px); box-shadow: 0 20px 32px #082c6c4d; }
.editorial-region-card .region-art { position: absolute; inset: 0; width: 100%; height: 100%; aspect-ratio: auto; background-size: cover; background-position: center; transition: transform .28s ease; }
.editorial-region-card:hover .region-art { transform: scale(1.045); }
.region-art-kpk { background-image: url('/assets/art/region-kpk-v2.webp') !important; }
.region-art-punjab { background-image: url('/assets/art/region-punjab-v2.webp') !important; }
.region-art-sindh { background-image: url('/assets/art/region-sindh-v2.webp') !important; }
.region-art-balochistan { background-image: url('/assets/art/region-balochistan-v2.webp') !important; }
.region-art-kashmir { background-image: url('/assets/art/region-azad-kashmir-v2.webp') !important; }
.editorial-region-card>div:last-child { position: absolute; bottom: 0; left: 0; right: 0; z-index: 1; padding: 30px 15px 13px; background: linear-gradient(transparent, #07152ff2 56%); }
.editorial-region-card strong { color: white; font-family: Impact, 'Arial Narrow', sans-serif; font-size: 23px; font-weight: 900; letter-spacing: .01em; }
.editorial-region-card span { color: #e4eeff; font-size: 10px; }
.editorial-steps { border-radius: 7px; background: linear-gradient(160deg,#fff,#eef4ff); border: 1px solid var(--champ-line); }
.step { border-radius: 7px; border-top: 3px solid var(--champ-blue); transition: transform .2s ease; }
.step:nth-child(2) { border-top-color: var(--champ-red); }
.step:hover { transform: translateY(-3px); }
.step-number { font-family: Impact, sans-serif; font-size: 34px; color: var(--champ-blue); }
.step h3 { font-family: Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; font-size: 21px; }
.editorial-next { border-radius: 5px; background: #091d48; color: white; }
.editorial-next :is(h2,p) { color: white; }

/* Persistent admin sidebar and truthful overview widgets. */
.admin-page { display: grid; grid-template-columns: 226px minmax(0,1fr); column-gap: 26px; align-items: start; padding-top: 18px; }
.admin-page::before { content: ''; grid-column: 2; grid-row: 1; display: block; width: 100%; aspect-ratio: 5 / 1; min-height: 90px; border-radius: 4px; background: #0640a5 url('/assets/art/editorial-season-banner-v1.png') center/100% 100% no-repeat; box-shadow: var(--champ-shadow); }
.admin-page > :not(.admin-nav) { grid-column: 2; min-width: 0; }
.admin-page > .admin-nav { grid-column: 1; grid-row: 1 / span 60; position: sticky; top: 88px; align-self: start; display: flex; flex-direction: column; gap: 13px; margin: 0; padding: 16px 10px 20px; max-height: calc(100vh - 98px); overflow-y: auto; background: #fff; border: 1px solid var(--champ-line); border-radius: 8px; box-shadow: var(--champ-shadow); }
.admin-nav-title { display: grid; gap: 2px; padding: 9px 12px 15px; border-bottom: 1px solid var(--champ-line); }
.admin-nav-title span, .admin-nav-title small { font-size: 9px; letter-spacing: .18em; font-weight: 900; color: var(--champ-blue); }
.admin-nav-title strong { font-family: Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; font-size: 25px; line-height: 1; color: var(--champ-ink); }
.admin-nav-group { padding: 0; border: 0; border-radius: 0; box-shadow: none; }
.admin-nav-group h2 { margin: 10px 12px 5px; font-size: 10px; letter-spacing: .15em; color: #60708b; }
.admin-nav-links { gap: 3px; }
.admin-control-nav .admin-nav-links a, .admin-nav-overview { display: flex; align-items: center; min-height: 41px; gap: 11px; margin: 0; padding: 8px 11px; background: transparent; border: 1px solid transparent; border-radius: 5px; font-size: 12px; font-weight: 730; color: #19315d; }
.admin-control-nav .ui-icon { width: 17px; height: 17px; flex: 0 0 17px; stroke-width: 2.3; }
.admin-control-nav a:hover { background: #eaf1ff; color: var(--champ-blue); }
.admin-control-nav .admin-nav-links a[aria-current=page], .admin-control-nav .admin-nav-overview[aria-current=page] { background: var(--champ-blue); color: white; border-color: var(--champ-blue); box-shadow: 0 6px 15px #104df42e; }
.admin-nav-tail { margin-top: auto; padding: 17px 10px 9px; border-top: 1px solid var(--champ-line); background: linear-gradient(140deg,#edf4ff,#fff); }
.admin-nav-tail strong { display: block; font-family: Impact, sans-serif; font-size: 17px; font-style: italic; color: var(--champ-blue); }
.admin-nav-tail span { display: block; margin-top: 5px; font-size: 10px; line-height: 1.5; color: var(--champ-muted); }
.admin-heading, .admin-page>.page-heading { padding-top: 22px; }
.admin-identity { color: var(--champ-muted); }
.control-overview { display: grid; gap: 17px; margin-bottom: 27px; }
.control-metrics { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 10px; }
.control-metric { display: flex; align-items: center; gap: 9px; min-height: 90px; padding: 12px; background: #fff; border: 1px solid var(--champ-line); border-radius: 7px; box-shadow: var(--champ-shadow); color: var(--champ-ink); transition: transform .18s ease, border-color .18s ease; }
.control-metric:hover { transform: translateY(-3px); border-color: var(--champ-blue); }
.control-metric .ui-icon { width: 27px; height: 27px; color: var(--champ-blue); flex-shrink: 0; }
.control-metric span { display: grid; gap: 2px; min-width: 0; }
.control-metric strong { font-family: Impact, sans-serif; font-size: 26px; line-height: 1; }
.control-metric small { font-size: 10px; color: var(--champ-muted); line-height: 1.25; }
.control-action-grid { display: grid; grid-template-columns: minmax(0,1.4fr) minmax(220px,.8fr); gap: 12px; align-items: start; }
.admin-deep-stats { margin: 0 0 25px; padding: 12px; border: 1px solid var(--champ-line); border-radius: 7px; background: #fff; }
.admin-deep-stats>summary { cursor: pointer; color: #183969; font-weight: 800; }
.admin-deep-stats[open]>summary { margin-bottom: 15px; }
.control-actions, .control-health { padding: 20px; }
.control-actions h2, .control-health h2 { font-family: Impact, sans-serif; font-size: 22px; text-transform: uppercase; font-style: italic; }
.control-actions>a { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 0; border-top: 1px solid var(--champ-line); color: #173b83; font-size: 11px; }
.control-actions>a:hover { color: var(--champ-blue); }
.control-actions>a>span:first-child { display: flex; align-items: center; gap: 9px; }
.control-actions .ui-icon { width: 19px; height: 19px; color: var(--champ-blue); }
.control-health p { display: flex; align-items: baseline; gap: 8px; margin: 8px 0; padding: 8px 0; border-top: 1px solid var(--champ-line); font-size: 12px; }
.control-health p strong { color: var(--champ-blue); font-size: 21px; }
.control-health small { display: block; line-height: 1.5; }
.admin-page .stats-grid article { border-top-width: 3px; box-shadow: 0 5px 17px #0c347011; }
.table-panel { overflow: hidden; }
.table-wrap table { width: 100%; }
.table-wrap thead th, .player-table th { background: #0a1d43; color: #f5f8ff; font-size: 11px; letter-spacing: .06em; text-transform: uppercase; }
.table-wrap tbody td, .player-table td { color: #183153; font-size: 12px; border-bottom: 1px solid #e1e9f4; }
.table-wrap tbody tr:nth-child(even) { background: #f7faff; }
.table-wrap tbody tr:hover { background: #edf3ff; }
.table-wrap tbody :is(small,.mono) { color: #536782; }
.table-wrap { max-width: 100%; overflow-x: auto; }
.delivery-panel .card-heading { align-items: start; }
.queue-summary { font-size: 12px; font-weight: 750; color: #405a7b !important; }
.queue-filters, .faq-categories { display: flex; gap: 7px; flex-wrap: wrap; margin: 15px 0; }
.queue-filters button, .faq-categories button { min-height: 37px; padding: 7px 14px; border: 1px solid #bfd0eb; border-radius: 5px; background: #fff; color: #213d6f; font-weight: 800; cursor: pointer; }
.queue-filters button[aria-pressed=true], .faq-categories button[aria-pressed=true] { background: var(--champ-blue); color: #fff; border-color: var(--champ-blue); }
.queue-list { max-height: 540px; overflow-y: auto; padding-right: 4px; border-top: 1px solid var(--champ-line); }
.queue-row { padding: 11px 5px; gap: 4px; }
.queue-row strong { color: var(--champ-ink); font-size: 12px; }
.queue-row small { color: #415874; font-size: 11px; line-height: 1.5; }
.integration-list { grid-template-columns: repeat(auto-fit,minmax(160px,1fr)); }
.integration-list article { border-top: 3px solid var(--champ-blue); }

/* Registration has a calm editorial side and a high-contrast, usable form. */
.registration-page { max-width: 1380px; display: grid; grid-template-columns: minmax(270px,.75fr) minmax(0,1.25fr); gap: clamp(24px,3vw,44px); padding-top: 28px; }
.registration-side { min-width: 0; padding: 29px 25px; align-self: start; background: #fff url('/assets/art/championship-landscape-v2.webp') 58% bottom/auto 470px no-repeat; border: 1px solid var(--champ-line); border-radius: 7px; box-shadow: var(--champ-shadow); }
.registration-side .page-intro { margin-bottom: 23px; }
.registration-side .page-intro h1 { font-size: clamp(43px,4.5vw,67px); }
.registration-side .page-intro p { max-width: 390px; color: #334969; font-size: 14px; line-height: 1.65; }
.registration-side .progress-steps { display: grid; gap: 5px; margin: 15px 0 30px; }
.registration-side .progress-steps li { padding: 11px 12px; border: 1px solid #d5e0f0; border-left: 4px solid #a8b8d0; border-radius: 4px; background: #fffddfdd; font-size: 12px; font-weight: 800; color: #345077; }
.registration-side .progress-steps .done { border-left-color: #19a472; color: #136744; }
.registration-side .progress-steps .active { border-left-color: var(--champ-blue); background: #eaf0ff; color: var(--champ-blue); }
.registration-side .verified-card { background: #fffef8ed; border-radius: 5px; }
.registration-main { min-width: 0; }
.registration-form { padding: clamp(23px,3vw,42px); border-radius: 7px; }
.form-section-heading h2 { font-size: 25px; }
.form-section-heading>span { background: var(--champ-blue); color: white; border-radius: 4px; }
.field>span { color: #0e254e; font-size: 12px; }
.registration-form :is(input,select,textarea) { border-radius: 5px !important; }
.registration-form input:focus, .registration-form select:focus { box-shadow: 0 0 0 3px #104df426; }
.province-grid { grid-template-columns: repeat(5,minmax(0,1fr)); }
.province-card { min-height: 145px; overflow: hidden; border-radius: 5px; padding: 0; }
.editorial-province-art { display: block; width: 100%; height: 110px; background-size: cover !important; background-position: center !important; }
.province-card strong { display: block; padding: 6px; color: #0c2450; font-size: 10px; text-align: center; }
.province-card:has(input:checked) { border: 2px solid var(--champ-blue); box-shadow: 0 0 0 3px #104df425; }
.submit-button { width: 100%; min-height: 54px; text-transform: uppercase; font-size: 15px; }

/* Public content pages: distinct hero treatments and a genuinely usable FAQ. */
.public-guide { max-width: 1390px; margin: 24px auto 65px; }
.public-breadcrumbs { margin-bottom: 12px; }
.public-breadcrumbs a { color: var(--champ-blue); }
.public-guide-heading { position: relative; max-width: none; min-height: 265px; padding: clamp(22px,3vw,43px); border: 1px solid var(--champ-line); border-radius: 5px; overflow: hidden; isolation: isolate; background: #fff url('/assets/art/championship-landscape-v2.webp') center/cover no-repeat; box-shadow: var(--champ-shadow); }
.public-guide-heading::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(90deg,#fffffff2 0 53%,#ffffff40 83%); }
.public-guide-heading h1 { max-width: 760px; margin: 13px 0 12px; font-size: clamp(40px,5.2vw,70px); }
.public-guide-heading>p { max-width: 630px; margin: 0 0 16px; }
.public-guide--community .public-guide-heading { min-height: 430px; }
.public-guide--community .public-guide-heading>*:not(.guide-founder-duo) { position: relative; z-index: 2; }
.guide-founder-duo { position: absolute; inset: 0 0 0 auto; z-index: 1; width: 43%; pointer-events: none; }
.guide-founder-duo img { position: absolute; bottom: 0; height: 90%; width: auto; max-width: none; filter: drop-shadow(0 10px 17px #10285544); }
.guide-founder-duo img:first-child { left: -17%; height: 86%; z-index: 2; }
.guide-founder-duo img:last-child { right: -12%; }
.public-content-grid { gap: 14px; }
.public-content-card { border-top: 3px solid var(--champ-blue); }
.public-content-card h2 { font-family: Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; font-size: 24px; }
.faq-toolbox { margin: 12px 0 5px; }
.faq-search { display: flex; align-items: center; gap: 11px; min-height: 52px; padding: 0 16px; border: 1px solid #9eb9ea; border-radius: 5px; background: #fff; box-shadow: var(--champ-shadow); }
.faq-search .ui-icon { color: var(--champ-blue); }
.faq-search input { width: 100%; min-height: 49px !important; border: 0 !important; box-shadow: none !important; }
.faq-list { display: grid; gap: 9px; }
.public-faq-item { padding: 0 19px; border-radius: 5px; }
.public-faq-item summary { color: var(--champ-ink); font-weight: 850; }
.public-faq-item[open] { border-color: var(--champ-blue); box-shadow: 0 7px 20px #104df41a; }
.faq-empty { padding: 25px; color: var(--champ-muted); text-align: center; }
.public-related { padding: 25px; border-radius: 6px; background: #e9f1ff; }

/* Player space, match states, and leaderboard remain real-data driven. */
.player-rebuild { max-width: 1320px; gap: 18px; }
.player-rebuild>.page-heading { padding: 17px 0 4px; }
.dashboard-hero { min-height: 188px; border-radius: 6px; }
.dashboard-hero h2 { font-family: Impact, sans-serif; text-transform: uppercase; font-style: italic; font-size: clamp(32px,3vw,47px); }
.dashboard-hero picture { opacity: .75; }
.dashboard-shortcuts { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.dashboard-shortcut { display: flex; gap: 14px; min-height: 124px; padding: 20px; background: #fff; color: var(--champ-ink); border: 1px solid var(--champ-line); border-top: 3px solid var(--champ-blue); border-radius: 6px; box-shadow: var(--champ-shadow); transition: transform .2s ease, box-shadow .2s ease; }
.dashboard-shortcut:hover { transform: translateY(-4px); box-shadow: 0 16px 25px #15387528; }
.dashboard-shortcut-primary { border-top-color: var(--champ-red); }
.dashboard-shortcut>.ui-icon { width: 34px; height: 34px; color: var(--champ-blue); flex-shrink: 0; }
.dashboard-shortcut span { display: grid; align-content: center; gap: 4px; }
.dashboard-shortcut small { color: #5a6c87; font-size: 9px; font-weight: 900; letter-spacing: .13em; }
.dashboard-shortcut strong { font-family: Impact, 'Arial Narrow', sans-serif; font-size: 22px; text-transform: uppercase; }
.dashboard-shortcut em { color: var(--champ-blue); font-size: 11px; font-style: normal; font-weight: 850; }
.dashboard-columns { grid-template-columns: repeat(2,minmax(0,1fr)); }
.profile-card, .registration-state, .squad-panel, .feed-card { border-radius: 6px; }
.card-heading h2, .registration-state h2, .squad-panel h2 { font-family: Impact, 'Arial Narrow', sans-serif; text-transform: uppercase; font-size: 25px; }
.registration-state { border-top: 3px solid #14a66f; }
.squad-panel { border-top: 3px solid var(--champ-blue); }
.matches-empty { display: grid; gap: 19px; padding: clamp(20px,3vw,35px); border-radius: 6px; background: #fff url('/assets/art/championship-landscape-v2.webp') center/cover no-repeat; border: 1px solid var(--champ-line); box-shadow: var(--champ-shadow); }
.matches-empty-intro { max-width: 660px; padding: 16px; background: #fffffff0; border-radius: 6px; }
.matches-empty-intro h2 { font-family: Impact, sans-serif; text-transform: uppercase; font-size: clamp(28px,3.2vw,45px); margin: 8px 0; }
.matches-empty-intro p { color: #314969; line-height: 1.6; }
.matches-waiting-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; }
.matches-waiting-grid .panel { min-height: 185px; padding: 19px; background: #fffffff2; }
.matches-waiting-grid .ui-icon { width: 30px; height: 30px; color: var(--champ-blue); }
.matches-waiting-grid h3 { font-family: Impact, sans-serif; text-transform: uppercase; font-size: 21px; margin: 12px 0 4px; }
.matches-waiting-grid p { min-height: 38px; font-size: 12px; }
.matches-waiting-grid strong { color: #174fd2; text-transform: uppercase; font-size: 10px; }
.match-card { border-top: 3px solid var(--champ-blue); }
.leaderboard-row { gap: 20px; }
.leaderboard-row>strong { color: var(--champ-blue); font-family: Impact, sans-serif; }
.leaderboard-row h3 { font-family: Impact, sans-serif; text-transform: uppercase; }

/* Responsive rules protect content and tap targets instead of simply shrinking art. */
@media (max-width: 1250px) {
  .brand-wordmark strong { font-size: 23px !important; }
  .brand-wordmark small { font-size: 19px !important; }
  .site-header { gap: 10px; }
  .nav { gap: 9px; }
  .nav>a:not(.button) { font-size: 10px; }
  .control-metrics { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .editorial-hero h1 { font-size: clamp(55px,6vw,76px); }
  .founder-night { left: -29%; }
  .founder-samurai { right: -18%; }
}
@media (max-width: 1020px) {
  .founder-night { left: -45%; height: 72%; }
  .founder-samurai { right: -17%; height: 79%; }
  .admin-page { display: block; }
  .admin-page::before { height: auto; margin-bottom: 15px; }
  .admin-page>.admin-nav { position: static; max-height: none; display: block; margin-bottom: 20px; padding: 12px; }
  .admin-nav-title, .admin-nav-tail { display: none; }
  .admin-control-nav .admin-nav-overview { display: inline-flex; margin-bottom: 8px; }
  .admin-nav-group { display: inline-block; vertical-align: top; width: calc(33.333% - 7px); margin-right: 6px; }
  .admin-control-nav .admin-nav-links a { font-size: 11px; }
  .registration-page { grid-template-columns: minmax(240px,.75fr) minmax(0,1.3fr); gap: 18px; }
  .province-grid { grid-template-columns: repeat(3,minmax(0,1fr)); }
  .guide-founder-duo { width: 40%; opacity: .85; }
}
@media (max-width: 760px) {
  .site-header { min-height: 67px; padding: 9px 14px; }
  .brand-logo { width: 36px !important; height: 36px !important; }
  .brand-wordmark strong { font-size: 20px !important; }
  .brand-wordmark small { font-size: 16px !important; }
  .nav { order: 4; margin-left: 0; }
  .language-switch { margin-left: auto; }
  .menu-toggle { order: 3; }
  .season-ribbon { padding: 0 8px; margin-top: 6px; }
  .season-ribbon img { height: auto; aspect-ratio: 5 / 1; border-radius: 3px; }
  .editorial-hero { display: flex; flex-direction: column; min-height: 0; background-position: 56% center; }
  .editorial-hero::before { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(#ffffffdf,#ffffff8f 64%,transparent); }
  .editorial-hero-copy { padding: 32px 23px 10px; }
  .editorial-hero h1 { font-size: clamp(57px,10vw,81px); }
  .editorial-hero-description { font-size: 13px; }
  .editorial-hero-stage { min-height: 365px; overflow: hidden; }
  .founder-night { height: 91%; left: 7%; }
  .founder-samurai { height: 99%; right: 4%; }
  .editorial-stage-tag { right: 8px; bottom: 8px; }
  .editorial-region-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .editorial-region-card { min-height: 220px; }
  .control-metrics { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .control-action-grid, .dashboard-columns, .dashboard-shortcuts, .matches-waiting-grid { grid-template-columns: 1fr; }
  .registration-page { display: block; padding-top: 14px; }
  .registration-side { background-size: auto 290px; margin-bottom: 14px; padding: 20px; }
  .registration-side .page-intro h1 { font-size: 39px; }
  .registration-side .progress-steps { grid-template-columns: repeat(3,minmax(0,1fr)); gap: 5px; margin-bottom: 16px; }
  .registration-side .progress-steps li { padding: 8px; font-size: 10px; }
  .public-guide { margin-top: 15px; }
  .public-guide-heading { min-height: 265px; padding: 23px; }
  .public-guide-heading h1 { font-size: 42px; }
  .public-guide--community .public-guide-heading { min-height: 565px; }
  .guide-founder-duo { width: 100%; height: 260px; top: auto; opacity: 1; }
  .guide-founder-duo img:first-child { left: 12%; }
  .guide-founder-duo img:last-child { right: 8%; }
  .public-guide--community .public-guide-heading::before { background: linear-gradient(#fffffff2,#ffffffc0 57%,transparent); }
  .admin-nav-group { width: 100%; margin-right: 0; }
  .admin-nav-group h2 { margin-top: 8px; }
  .admin-nav-links { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-page::before { min-height: 75px; }
}
@media (max-width: 480px) {
  .brand-wordmark strong { font-size: 17px !important; }
  .brand-wordmark small { font-size: 14px !important; }
  .hero-actions .button-primary { gap: 7px; padding-left: 10px; font-size: 11px; }
  .hero-actions .button-primary .ui-icon { width: 16px; height: 16px; padding: 12px; margin: -10px 0 -10px 0; }
  .editorial-hero h1 { font-size: clamp(48px,12vw,65px); }
  .editorial-hero-stage { min-height: 310px; }
  .founder-night { left: 0; height: 85%; }
  .founder-samurai { right: -2%; height: 94%; }
  .editorial-region-card { min-height: 185px; }
  .editorial-region-card strong { font-size: 19px; }
  .province-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .admin-nav-links { grid-template-columns: 1fr 1fr; }
  .control-metric { min-height: 78px; }
  .control-metric strong { font-size: 22px; }
  .control-metric small { font-size: 9px; }
  .submit-button { gap: 5px; padding-inline: 8px; font-size: 12px; }
  .submit-button [data-button-label] { flex: 1 1 auto; min-width: 0; overflow-wrap: anywhere; }
  .submit-button .ui-icon { display: none; }
  .queue-filters button, .faq-categories button { font-size: 11px; padding: 6px 10px; }
}
@media (max-width: 360px) {
  .editorial-hero .hero-actions { display: grid; grid-template-columns: minmax(0,1fr); }
  .editorial-hero .hero-actions .button { width: 100%; }
  .editorial-hero .hero-actions .button-primary { justify-content: space-between; }
}
@media (prefers-reduced-motion: no-preference) {
  .editorial-hero-copy { animation: champ-rise .65s ease both; }
  .editorial-hero-stage { animation: champ-appear .7s ease both; }
  .editorial-region-card { animation: champ-rise .55s ease both; }
  .editorial-region-card:nth-child(2) { animation-delay: .07s; }
  .editorial-region-card:nth-child(3) { animation-delay: .14s; }
  .editorial-region-card:nth-child(4) { animation-delay: .21s; }
  .editorial-region-card:nth-child(5) { animation-delay: .28s; }
  @keyframes champ-rise { from { opacity: 0; transform: translateY(13px); } to { opacity: 1; transform: translateY(0); } }
  @keyframes champ-appear { from { opacity: 0; } to { opacity: 1; } }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .button, .editorial-region-card, .dashboard-shortcut { transition: none; } }

/* Editorial type system: readable at phone sizes while retaining the tournament energy. */
@font-face { font-family: 'Barlow Condensed'; src: url('/assets/fonts/barlow-condensed-700-latin.woff2') format('woff2'); font-style: normal; font-weight: 700; font-display: swap; }
@font-face { font-family: 'Barlow Condensed'; src: url('/assets/fonts/barlow-condensed-800-latin.woff2') format('woff2'); font-style: normal; font-weight: 800; font-display: swap; }
@font-face { font-family: 'Barlow Condensed'; src: url('/assets/fonts/barlow-condensed-800-italic-latin.woff2') format('woff2'); font-style: italic; font-weight: 800; font-display: swap; }
:root { --champ-ink: #102b5b; --champ-navy: #123d89; --champ-heading: #123570; }
.brand-wordmark { transform: none; line-height: .86; }
.brand-wordmark strong { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-size: clamp(22px, 2vw, 29px) !important; font-weight: 800; font-style: normal; letter-spacing: .008em; color: var(--champ-heading) !important; }
.brand-wordmark small { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-style: italic; letter-spacing: .045em !important; }
.nav>a:not(.button) { font-family: system-ui, 'Segoe UI', sans-serif; font-size: 13px; font-weight: 750; letter-spacing: .01em; color: #173e7c; }
.nav>a:not(.button):hover, .nav>a[aria-current=page]:not(.button) { color: var(--champ-blue); }
.nav>a.button-primary, .nav>a.button-primary:hover { color: #fff; }
.button { font-family: 'Barlow Condensed', 'Arial Narrow', Arial, sans-serif; font-size: 16px; font-weight: 800; letter-spacing: .035em; }
.nav .button-primary { font-size: 14px; }
.page-heading h1, .admin-heading h1, .public-guide-heading h1, .editorial-section-heading h2, .form-section-heading h2,
.editorial-hero h1, .step h3, .admin-nav-title strong, .admin-nav-tail strong, .control-actions h2, .control-health h2,
.dashboard-hero h2, .dashboard-shortcut strong, .matches-empty-intro h2, .matches-waiting-grid h3,
.leaderboard-row h3, .editorial-region-card strong, .public-content-card h2,
.panel .card-heading h2, .panel .registration-state h2, .squad-panel h2, .public-related h2 {
  font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif;
  font-weight: 800;
  letter-spacing: .005em;
  line-height: 1.12;
}
.page-heading h1, .admin-heading h1, .public-guide-heading h1, .editorial-section-heading h2, .form-section-heading h2,
.editorial-hero h1, .step h3, .admin-nav-title strong, .control-actions h2, .control-health h2,
.matches-empty-intro h2, .matches-waiting-grid h3, .public-content-card h2,
.panel .card-heading h2, .panel .registration-state h2, .squad-panel h2, .public-related h2 { color: var(--champ-heading); }
.editorial-hero h1 { font-style: normal; letter-spacing: -.015em; }
.editorial-hero h1 em { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; font-style: italic; }
.public-content-card h2, .step h3, .panel .card-heading h2, .matches-waiting-grid h3 {
  font-family: system-ui, 'Segoe UI', sans-serif;
  font-weight: 800;
  letter-spacing: -.025em;
  line-height: 1.3;
}
.public-content-card h2 { font-size: clamp(20px, 1.7vw, 24px); }
.public-guide-heading h1 { line-height: 1.06; }
.card-heading h2, .registration-state h2, .squad-panel h2 { font-size: 23px; }
.step h3 { font-size: 21px; }
.editorial-region-card strong { color: white; }
.control-metric strong, .step-number, .leaderboard-row>strong { font-family: 'Barlow Condensed', 'Arial Narrow', sans-serif; font-weight: 800; }
.panel :is(p,small), .form-hint { color: #405a7f; }

/* Statuses are distinguishable by readable text, border and dot as well as color. */
.status { display: inline-flex; align-items: center; justify-content: flex-start; gap: 7px; min-height: 27px; padding: 5px 10px; border-radius: 999px; font-family: system-ui, Arial, sans-serif; font-size: 10px; font-weight: 800; line-height: 1.3; letter-spacing: .035em; white-space: normal; background: #edf3ff; color: #23518c; border: 1px solid #bed0ed; box-shadow: 0 2px 5px #102c5b0c; }
.status::before { content: ''; width: 6px; height: 6px; flex: 0 0 6px; border-radius: 50%; background: currentColor; }
.status-pending, .status-pending_review, .status-draft, .status-blocked, .status-closing { background: #fff4df; color: #8a5200; border-color: #f2cc81; }
.status-approved, .status-qualified, .status-live, .status-sent, .status-synced { background: #e4f8ef; color: #087247; border-color: #8ddbb8; }
.status-rejected, .status-disqualified, .status-failed { background: #ffedf0; color: #a72745; border-color: #f5aaba; }
.status-disbanded, .status-closed, .status-cancelled { background: #edf0f6; color: #435573; border-color: #c7d0df; }
.status-large { min-height: 34px; padding: 8px 14px; font-size: 12px; }
.staff-role-owner { background: #e9edff; color: #353ca0; border-color: #b6bdf1; }
.staff-role-admin { background: #e7f1ff; color: #1552a4; border-color: #9dc1f2; }
.staff-role-staff, .staff-role-moderator { background: #eff5fc; color: #425d82; border-color: #bfcfe4; }
.staff-card { border-top: 3px solid #6e83e7; }
.staff-card:has(.staff-role-owner) { border-top-color: #5865d9; }
.staff-card .user-cell strong { color: var(--champ-heading); font-size: 14px; }
.management-card .card-heading { flex-wrap: wrap; }
.management-card .card-heading h2 { overflow-wrap: anywhere; }

/* The open menu is a light panel; links must never inherit the old dark tiles. */
@media (max-width: 1250px) { .nav>a:not(.button) { font-size: 12px; } }
@media (max-width: 1099px) {
  .nav.open { display: flex; flex-direction: column; gap: 5px; background: #fff; border: 1px solid #cbd9ec; box-shadow: 0 20px 42px #10295735; padding: 13px; max-height: calc(100vh - 85px); overflow-y: auto; }
  .nav.open>a:not(.button) { display: flex; align-items: center; width: 100%; min-height: 44px; padding: 10px 14px; border: 1px solid transparent; border-radius: 7px; background: #f2f6fd; color: #173d7a; font-size: 16px; font-weight: 800; text-decoration: none; }
  .nav.open>a:not(.button):hover { background: #e3edff; border-color: #bbd0f1; }
  .nav.open>a[aria-current=page]:not(.button) { background: #1550df; border-color: #1550df; color: #fff; }
  .nav.open .nav-user { display: flex; align-items: center; gap: 9px; padding: 9px 13px; color: var(--champ-heading); }
  .nav.open .inline-form .text-button { min-height: 43px; color: #244d86; font-weight: 700; }
  .nav.open>a.button-primary { justify-content: center; background: var(--champ-blue); border-color: var(--champ-blue); color: #fff; font-size: 15px; }
  .nav.open>a.button-primary:hover { background: var(--champ-blue-dark); color: #fff; }
}
@media (max-width: 760px) {
  .public-guide--community .public-guide-heading { min-height: 0; padding-bottom: 280px; }
  .public-guide--community .guide-founder-duo { height: 260px; }
  .public-guide-heading h1 { font-size: clamp(36px, 9vw, 46px); }
  .public-content-card h2 { font-size: 20px; }
  .editorial-hero h1 { font-size: clamp(50px, 11vw, 72px); }
}
@media (max-width: 480px) {
  .site-header { gap: 5px; padding-inline: 10px; }
  .brand { gap: 6px; }
  .brand-logo { width: 32px !important; height: 32px !important; }
  .brand-wordmark strong { font-size: 16px !important; }
  .brand-wordmark small { font-size: 13px !important; }
  .language-switch { padding: 2px; }
  .language-switch button { min-width: 31px; height: 34px; }
  .menu-toggle { padding: 7px; }
}
