/* Public palette inspired by Errealzale: navy background, blue panels and pale blue accents. */
.public-body{color-scheme:dark;--accent:#8fc8ff;--public-bg:#0e1a27;--public-panel:#172838;--public-ink:#e8eef6;--public-muted:#a6bbce;--border:#2c455c;background:var(--public-bg);color:var(--public-ink);font-family:Arial,Helvetica,sans-serif}.public-body h1,.public-body h2,.public-body h3,.public-body h4{font-family:Arial,Helvetica,sans-serif;color:#e8eef6}.public-body a{color:#8fc8ff}.public-body small{color:#a6bbce}.public-body .brand-stripe{height:4px;background:#8fc8ff}.public-body .public-header{max-width:none;padding:20px max(calc((100vw - 1216px)/2),24px);background:#0b2439;border-bottom:1px solid #253e53;gap:30px}.public-body .brand{color:white;font-size:1.3rem;letter-spacing:.07em}.public-body .brand small{color:#a6bbce}.public-body .brand img{width:46px;height:46px}.public-body .public-header nav{gap:24px;font-size:.88rem}.public-body .languages a{color:#a6bbce}.public-body .languages a[aria-current=page]{background:#254965;color:white}.public-body .button{background:#8fc8ff;border-color:#8fc8ff;color:#0e1a27;padding:14px 22px}.public-body .button:hover{background:#b4daff;border-color:#b4daff}.public-body .secondary{background:transparent;border-color:#3c5d78;color:#e8eef6;padding:9px 14px}.public-body .secondary:hover{background:#254965}.public-body .public-main{padding-top:26px}.public-body .hero{background:#172838;border-color:#2c455c;color:#e8eef6}.public-body .hero h1{color:#e8eef6}.public-body .hero .lead{color:#bbccdc}.public-body .hero.compact{background:radial-gradient(ellipse at top right,#17466a 0,transparent 65%),#132535}.public-body .eyebrow{color:#8fc8ff;letter-spacing:.18em;font-size:.7rem}.public-body .section{margin:58px 0 68px}.public-body .section-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin-bottom:24px}.public-body .section-heading h2{font-size:clamp(1.8rem,3vw,2.5rem);margin:8px 0 0;letter-spacing:-.04em}.public-body .section-heading>p{color:#a6bbce;font-size:.9rem;margin:0}.public-body .section-heading .eyebrow{margin:0}.public-body .card{background:#172838;border-color:#2c455c;color:#e8eef6;box-shadow:none}.public-body .card p{color:#a6bbce}.public-body a.card:hover{background:#1b3043;border-color:#547b9e;box-shadow:0 16px 40px #0002}.public-body .tag{background:#1c3d56;border-color:#355974;color:#acd4fa}.public-body .hero-carousel{position:relative;isolation:isolate;min-height:610px;overflow:hidden;margin:0;border-radius:22px;display:flex;align-items:center;padding:58px 52px 94px;background:#0c2336;border:1px solid #2c455c}.hero-media,.hero-shade,.hero-slide{position:absolute;inset:0}.hero-slide{margin:0;opacity:0;visibility:hidden;transition:opacity 1s ease,visibility 1s;z-index:-3}.hero-slide.is-active{opacity:1;visibility:visible}.hero-slide img{width:100%;height:100%;object-fit:cover;object-position:center}.hero-slide figcaption{position:absolute;bottom:27px;right:30px;max-width:44%;text-align:right;font-size:.75rem;color:white;text-shadow:0 1px 4px #000;z-index:5}.hero-media{z-index:-3}.hero-shade{z-index:-2;background:linear-gradient(90deg,#071724e8 0%,#081c2cba 43%,#081c2c20 100%),linear-gradient(0deg,#071724d9 0,transparent 40%)}.hero-content{max-width:850px;z-index:1}.public-body .hero-content h1{font-size:clamp(2.7rem,5.7vw,5.2rem);line-height:1.02;letter-spacing:-.055em;margin:24px 0;font-weight:850;max-width:860px}.hero-content h1 span{color:#a1d0ff}.public-body .hero-content .lead{max-width:490px;font-size:1.08rem;line-height:1.7;margin-bottom:28px;color:#d0dce7}.hero-content .eyebrow{display:inline-flex;align-items:center;gap:9px;border:1px solid #8fc8ff55;border-radius:30px;padding:7px 12px;background:#0b2a40b3;margin:0}.hero-dot{width:6px;height:6px;border-radius:50%;background:#8fc8ff}.hero-actions{display:flex;align-items:center;gap:28px;flex-wrap:wrap}.hero-actions .button span{font-size:1.3rem;margin-left:18px}.hero-text-link{font-size:.88rem;font-weight:650}.hero-no-photos .hero-media{background:radial-gradient(ellipse at 95% 20%,#21608a 0,transparent 65%),linear-gradient(130deg,#0c263d,#12364d)}.hero-no-photos .hero-media:before{content:'';position:absolute;width:55%;height:120%;right:-9%;top:-10%;border:2px solid #8fc8ff40;transform:skew(-18deg);box-shadow:-130px 0 0 0 #8fc8ff07,-260px 0 0 0 #8fc8ff05}.hero-no-photos .hero-media:after{content:'';position:absolute;width:130px;height:130px;border:1px solid #8fc8ff33;border-radius:50%;right:12%;top:40%;background:#8fc8ff09;box-shadow:0 0 90px #8fc8ff19}.carousel-controls{position:absolute;left:52px;bottom:26px;display:flex;align-items:center;gap:14px;color:#d0dce7;font-size:.75rem;letter-spacing:.08em}.carousel-controls button{background:#0d2438b3;border:1px solid #a6bbce60;color:white;padding:0;width:36px;min-height:36px;border-radius:50%;font-size:1rem}.carousel-controls button:hover{background:#254965}.public-body .championship-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.public-body .championship-card{border-top:1px solid #355974;padding:28px;position:relative;overflow:hidden;background:linear-gradient(145deg,#1b3145,#132434)}.championship-card-top{display:flex;justify-content:space-between;align-items:center}.card-arrow{display:grid;place-items:center;width:37px;height:37px;border:1px solid #45627c;border-radius:50%;font-size:1.3rem}.public-body .championship-card h3{font-size:1.65rem;max-width:470px;margin:30px 0 20px}.championship-meta{display:flex;gap:12px 20px;flex-wrap:wrap;color:#a6bbce;font-size:.85rem}.public-body .championship-card .card-cta{display:block;border-top:1px solid #2c455c;margin-top:27px;padding-top:20px;color:#8fc8ff;font-size:.88rem}.public-body .bracket h3{color:#a6bbce}.public-body .match-meta{color:#a6bbce}.public-body .public-footer{border-color:#2c455c;background:#0b1723;color:#a6bbce}.public-body .notice{background:#43351e;border-color:#6f5731;color:#f8e3b4}.public-body .empty-championships{padding:38px;color:#a6bbce}.sponsors-section{padding-top:34px;border-top:1px solid #2c455c}.sponsor-group-title{font-size:.75rem!important;letter-spacing:.13em;text-transform:uppercase;color:#a6bbce!important;margin:28px 0 16px}.sponsors-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,180px),1fr));gap:16px}.principal-sponsors{grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}.sponsor-card{padding:22px;background:#142536;border:1px solid #2c455c;border-radius:12px;text-align:center;min-width:0}.sponsor-card a{display:block;color:#e8eef6}.sponsor-card a[href]:hover{text-decoration:none;color:#8fc8ff}.sponsor-logo{height:90px;display:flex;align-items:center;justify-content:center}.principal-sponsors .sponsor-logo{height:115px}.sponsor-logo img{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px}.sponsor-card h4{font-size:.9rem;margin:16px 0 0}.sponsor-card p{color:#a6bbce;font-size:.8rem;margin:10px 0 0;line-height:1.6}.sponsor-wordmark{min-height:70px;display:grid;place-items:center;font-weight:850;font-size:1.05rem;letter-spacing:-.02em;color:#e8eef6}.principal-sponsors .sponsor-wordmark{font-size:1.4rem}
@media(min-width:1500px){.public-body .hero-carousel{min-height:660px}}@media(max-width:900px){.public-body .hero-carousel{padding:42px 32px 95px;min-height:570px}.carousel-controls{left:32px}.hero-shade{background:linear-gradient(90deg,#071724e0,#081c2c65),linear-gradient(0deg,#071724e0,transparent)}.public-body .section-heading{align-items:start;flex-direction:column;gap:10px}.hero-slide figcaption{max-width:42%;font-size:.65rem}.public-body .public-header nav{gap:16px}}@media(max-width:600px){.public-body .public-header{padding:18px;gap:18px}.public-body .public-header nav{font-size:.78rem;gap:10px;flex-wrap:wrap}.public-body .public-main{padding-top:16px}.public-body .hero-carousel{padding:32px 24px 100px;min-height:580px;border-radius:16px}.public-body .hero-content h1{font-size:2.85rem}.public-body .hero-content .lead{font-size:.95rem}.hero-actions{gap:20px}.hero-actions .button{font-size:.85rem;padding:12px 18px}.carousel-controls{left:24px;bottom:22px;gap:10px}.hero-slide figcaption{right:18px;bottom:24px;max-width:35%;font-size:.6rem}.public-body .section{margin:40px 0 48px}.sponsors-grid,.principal-sponsors{grid-template-columns:repeat(2,minmax(0,1fr))}.sponsor-card{padding:14px}.sponsor-logo,.principal-sponsors .sponsor-logo{height:80px}.sponsor-wordmark,.principal-sponsors .sponsor-wordmark{font-size:1.1rem}.public-body .hero.compact{padding:30px 24px}.public-body .hero.compact h1{font-size:2.35rem}}
@media(prefers-reduced-motion:reduce){.hero-slide{transition:none}.public-body{scroll-behavior:auto}}

.sponsor-card{overflow-wrap:anywhere}.public-body .hero-content h1{font-weight:800}
/* Photo full view */
.hero-carousel:not(.hero-no-photos){cursor:zoom-in}.hero-carousel .hero-content,.hero-carousel .carousel-controls{cursor:auto}
.hero-expand{position:absolute;top:22px;right:22px;z-index:2;width:42px;height:42px;min-height:42px;padding:0;border-radius:50%;border:1px solid #8fc8ff55;background:#0b2a40b3;color:#e8eef6;font-size:1.15rem}
.hero-expand:hover{background:#12405f;color:white}
.lightbox{border:0;padding:0;background:transparent;max-width:100vw;max-height:100vh;width:100vw;height:100vh;color:#e8eef6;overflow:hidden}
.lightbox::backdrop{background:#030a12f2}
.lightbox figure{margin:0;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:64px 72px 40px;box-sizing:border-box;pointer-events:none}
.lightbox img{max-width:100%;max-height:calc(100% - 40px);object-fit:contain;border-radius:8px;box-shadow:0 10px 40px #0008;pointer-events:auto}
.lightbox figcaption{font-size:.9rem;color:#c8d6e3;text-align:center}
.lightbox button{position:absolute;width:48px;height:48px;min-height:48px;padding:0;border-radius:50%;border:1px solid #8fc8ff55;background:#0b2a40cc;color:white;font-size:1.3rem}
.lightbox button:hover{background:#12405f}
.lightbox-close{top:16px;right:16px}
.lightbox-nav{top:50%;transform:translateY(-50%)}.lightbox-prev{left:16px}.lightbox-next{right:16px}
.lightbox-counter{position:absolute;top:28px;left:24px;font-size:.8rem;letter-spacing:.1em;color:#a6bbce}
@media(max-width:600px){.lightbox figure{padding:64px 12px 80px}.lightbox-nav{top:auto;bottom:16px;transform:none}}
/* Knockout bracket graph: one column per round, connector lines drawn by site.js */
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.bracket-scroll{overflow-x:auto;padding-bottom:12px}
.bracket.bracket-graph{position:relative;display:flex;gap:64px;align-items:stretch;overflow:visible;min-width:min-content;padding-bottom:0}
.bracket-graph>.bracket-round{display:flex;flex-direction:column;flex:0 0 280px;min-width:280px}
.bracket-matches{flex:1;display:flex;flex-direction:column;justify-content:space-around;gap:10px}
.bracket-graph .match-card{position:relative;z-index:1;margin:0}
.bracket-lines{position:absolute;left:0;top:0;pointer-events:none;overflow:visible;z-index:0}
.bracket-lines path{fill:none;stroke:#355168;stroke-width:2;stroke-linejoin:round}
.bracket-lines path.done{stroke:#8fc8ff}
@media(max-width:600px){.bracket.bracket-graph{gap:40px}.bracket-graph>.bracket-round{flex-basis:240px;min-width:240px}}
.bracket-scroll{scroll-behavior:smooth;scroll-padding-left:4px}
.round-nav{display:flex;gap:8px;overflow-x:auto;padding:4px 0 14px;margin-bottom:6px}
.round-chip{flex:0 0 auto;min-height:34px;padding:.35rem .9rem;border-radius:20px;border:1px solid #355168;background:#132536;color:#c8d6e3;font-size:.8rem;font-weight:650}
.round-chip:hover{background:#1b3348;color:white}
.round-chip[aria-current]{background:#8fc8ff;border-color:#8fc8ff;color:#0e1a27}
.bracket-round.is-current h3{color:#8fc8ff}.round-target{font-size:.75rem;letter-spacing:normal;text-transform:none;color:#a6bbce;font-weight:600}
.bracket-round.is-current h3:after{content:' ●';color:#8fc8ff}
@media(prefers-reduced-motion:reduce){.bracket-scroll{scroll-behavior:auto}}
/* Match detail dialog: score evolution and point durations */
.match-card.is-clickable{cursor:pointer;transition:border-color .15s,transform .15s}.match-card.is-clickable:hover{border-color:#8fc8ff;transform:translateY(-1px)}.match-card.is-clickable:focus-visible{outline:2px solid #8fc8ff;outline-offset:2px}
.match-dialog{width:min(760px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:1px solid #355168;border-radius:16px;background:#132536;color:#e8eef6;box-shadow:0 20px 60px #000a}
.match-dialog::backdrop{background:#030a12cc}
.match-dialog-head{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 22px;background:#132536;border-bottom:1px solid #26405a}
.match-dialog-head h2{margin:0;font-size:1.15rem}
.dialog-close{width:40px;height:40px;min-height:40px;padding:0;border-radius:50%;border:1px solid #355168;background:#0e1a27;color:#e8eef6}
[data-match-body]{padding:18px 22px 24px}
.match-dialog h3{font-size:.95rem;margin:22px 0 8px;color:#e8eef6}
.detail-score{display:grid;gap:8px}
.detail-team{display:flex;align-items:center;gap:10px;font-size:1.05rem}.detail-team strong{margin-left:auto;font-size:1.6rem}
.detail-name small{display:block;color:#a6bbce;font-size:.8rem}
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.fact{background:#0e1a27;border:1px solid #26405a;border-radius:10px;padding:10px 12px}.fact-label{display:block;color:#a6bbce;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em}.fact-value{display:block;font-size:1.05rem;margin-top:4px}
.chart-legend{display:flex;gap:16px;flex-wrap:wrap;margin-bottom:6px;font-size:.85rem;color:#c8d6e3}
.legend-item{display:inline-flex;align-items:center;gap:6px}
.legend-chip{display:inline-block;width:12px;height:12px;border-radius:3px;flex:0 0 auto}
.chart{position:relative}.chart svg{display:block;width:100%;height:auto;overflow:visible}
.chart .grid{stroke:#26405a;stroke-width:1}.chart .target{stroke:#a6bbce;stroke-width:1;stroke-dasharray:4 4}
.chart .axis{fill:#a6bbce;font-size:11px}.chart .axis-title{fill:#c8d6e3;font-size:11px;font-weight:700;letter-spacing:.04em}
.chart .line{fill:none;stroke-width:2;stroke-linejoin:round}
.chart .end-dot{stroke:#132536;stroke-width:2}.chart .end-label{fill:#e8eef6;font-size:13px;font-weight:700}
.chart .cross{stroke:#a6bbce;stroke-width:1}
.chart .bar{stroke:#132536;stroke-width:1}
.chart-tip{position:absolute;pointer-events:none;background:#0e1a27;border:1px solid #355168;border-radius:8px;padding:6px 10px;font-size:.8rem;color:#e8eef6;white-space:nowrap;box-shadow:0 6px 20px #0008;z-index:3}
.chart-tip[hidden]{display:none}.chart-tip span{display:block;color:#c8d6e3}
.match-dialog .muted,.match-dialog .note{color:#a6bbce;font-size:.8rem}
.detail-table{margin-top:14px}.detail-table summary{cursor:pointer;color:#8fc8ff;font-size:.85rem}
.detail-table table{width:100%;border-collapse:collapse;margin-top:8px;font-size:.82rem}.detail-table th,.detail-table td{text-align:left;padding:5px 8px;border-bottom:1px solid #26405a}.detail-table th{color:#a6bbce;font-weight:600}
@media(max-width:600px){.facts{grid-template-columns:repeat(2,1fr)}[data-match-body],.match-dialog-head{padding-left:14px;padding-right:14px}}
/* Public registration */
.registration{max-width:860px}
.registration-facts{margin:0 0 18px}.registration-facts small{display:block;color:#a6bbce;font-size:.75rem;margin-top:4px}
.registration-info,.registration-closed{margin-bottom:18px;color:#d0dce7}.registration-info p{margin:0;white-space:pre-line}
.registration-closed strong{color:#e8eef6}
.registration-done{margin-bottom:18px}
.registration-form{display:grid;gap:4px}
.registration-form label{color:#c8d6e3}
.registration-player{border:1px solid #26405a;border-radius:12px;padding:12px 16px;margin:8px 0}
.registration-player legend{color:#8fc8ff;font-weight:700;padding:0 6px}
.registration-form button{margin-top:12px;justify-self:start}
.registration-hp{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
/* Live stream (YouTube) */
.live-stream h2{display:flex;align-items:center;gap:10px}
.live-stream .live-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#f0525e;box-shadow:0 0 0 5px #f0525e33;animation:live-pulse 1.6s ease-in-out infinite}
@keyframes live-pulse{50%{box-shadow:0 0 0 9px #f0525e10}}
@media(prefers-reduced-motion:reduce){.live-stream .live-dot{animation:none}}
.video-frame{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;border:1px solid #2c455c;background:#000}
.video-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
/* Privacy */
.privacy-page{max-width:860px}.privacy-page h2{font-size:1.15rem;margin-top:28px}.privacy-page p,.privacy-text{color:#d0dce7;line-height:1.7}
.privacy-text{white-space:pre-line;margin:16px 0 24px}
.privacy-link{text-align:center;font-size:.85rem;padding-top:0}.privacy-link a{color:#a6bbce}
/* Championship logo */
.championship-logo{display:block;max-width:220px;max-height:120px;width:auto;height:auto;object-fit:contain;margin:14px 0 18px;filter:drop-shadow(0 4px 14px #0007)}
.championship-card-logo{display:block;max-width:140px;max-height:64px;object-fit:contain;margin:6px 0 10px}
@media(max-width:600px){.championship-logo{max-width:160px;max-height:90px}}
/* Walkovers (bye to the next round): the card keeps its place so the bracket stays aligned, but is not shown. */
.match-card.is-bye{visibility:hidden}
/* Narrow screens: one round at a time (round buttons act as tabs), matches stacked without vertical spacing or lines. */
@media(max-width:700px){
 .bracket-scroll{overflow:visible}
 .bracket.bracket-graph{display:block;min-width:0}
 .bracket-graph>.bracket-round{display:none;min-width:0}
 .bracket-graph>.bracket-round.is-shown{display:block}
 .bracket-graph .bracket-matches{display:grid;grid-template-columns:1fr;justify-content:stretch;gap:10px}
 .bracket-graph .match-card.is-bye{display:none}
 .bracket-graph .match-card{width:100%;box-sizing:border-box}
 .bracket-lines{display:none}
 .round-nav{position:sticky;top:0;z-index:3;background:#0e1a27;padding-top:8px}
}
/* Compact bracket cards (desktop and mobile). */
.bracket-graph .match-card{padding:10px 14px}
.bracket-graph .match-meta{margin-bottom:4px;min-height:22px}
.bracket-graph .match-meta .tag{padding:2px 9px;font-size:.68rem}
.bracket-graph .pair-row{margin:4px 0;font-size:.88rem}
.bracket-graph .pair-row strong{font-size:1.15rem}
/* Participants: a quiet multi-column list under the bracket. */
.participants h2{font-size:1.15rem}.participants h2 small{color:#a6bbce;font-weight:600;font-size:.85rem;margin-left:6px}
.participant-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));column-gap:28px}
.participant-list li{padding:7px 0;border-bottom:1px solid #1e3347;color:#c8d6e3;font-size:.9rem}

