:root{color-scheme:dark;--ink:#f6f6f4;--lime:#caff00;--paper:#090909;--line:#292929;--muted:#a5a5a2;--dark:#101010;--font:Inter,"Helvetica Neue",Arial,sans-serif}body{background:var(--paper);color:var(--ink);min-width:320px}h1,h2{font-weight:650;letter-spacing:-.055em}h3{font-weight:600;letter-spacing:-.025em}.site-header{background:#090909}.header-inner{height:96px}.brand img{width:155px}.main-nav{gap:24px;font-size:.875rem;font-weight:500}.main-nav a[aria-current=page]{box-shadow:none;color:var(--lime)}.main-nav a:hover{color:var(--lime)}.btn{border-color:#383838;color:var(--ink);border-radius:9px;font-weight:600;min-height:46px}.btn:hover{background:#202020;border-color:#626262}.btn.primary,.btn.dark{color:#111;background:var(--lime);border-color:var(--lime)}.btn.dark{background:#f3f3ef;border-color:#f3f3ef}.btn.primary:hover,.btn.dark:hover{color:#111;background:#d8ff40;border-color:#d8ff40}.btn.light{border-color:#444;color:#eee}.btn.light:hover{background:#292929}.btn.small{min-height:38px}.eyebrow{color:var(--muted);font-size:.75rem;letter-spacing:.15em;font-weight:500}.brand-hero{display:grid;grid-template-columns:1.04fr 1fr;gap:60px;align-items:center;padding:68px 0 66px;min-height:590px}.brand-copy h1{font-size:clamp(4.6rem,7vw,6.6rem);line-height:.96;font-weight:600;letter-spacing:-.065em}.brand-copy h1 em{font-style:normal;color:var(--lime)}.brand-copy p{color:var(--muted);margin-top:26px;font-size:1rem;line-height:1.7}.brand-copy .actions{margin-top:30px}.brand-copy .btn{font-size:.875rem;padding:14px 18px}.brand-caption{color:var(--muted);font-size:.75rem;letter-spacing:.06em;margin-top:36px}.hero-art{height:425px;position:relative;display:grid;place-items:center;overflow:hidden;border:1px solid var(--line);border-radius:22px;background:#121212}.court-outline{position:absolute;width:255px;height:490px;border:1px solid #ffffff24;transform:rotate(31deg)}.court-outline:before{content:'';position:absolute;top:34%;bottom:34%;left:-1px;right:-1px;border-top:1px solid #ffffff24;border-bottom:1px solid #ffffff24;background:#ffffff02}.court-outline:after{content:'';position:absolute;left:50%;height:100%;border-left:1px solid #ffffff24}.court-net{position:absolute;width:140%;left:-20%;top:50%;border-top:1px solid #caff0060}.hero-art img{position:relative;width:300px;max-width:75%;height:auto;filter:drop-shadow(0 5px 12px #0004)}.art-label{position:absolute;bottom:24px;left:25px;font-size:.7rem;letter-spacing:.18em;color:var(--muted)}.quick-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-block:1px solid var(--line);margin-bottom:54px}.quick-link{padding:30px 24px;display:flex;gap:18px;align-items:start}.quick-link:first-child{padding-left:0}.quick-link+.quick-link{border-left:1px solid var(--line)}.quick-link h2{font-size:1.2rem;font-weight:550;letter-spacing:-.025em;line-height:1.3}.quick-link p{color:var(--muted);font-size:.88rem;margin-top:9px;line-height:1.65}.quick-link>span:last-child{margin-left:auto;color:var(--muted)}.quick-link:hover h2{color:var(--lime)}.quick-symbol{color:var(--muted);font-size:1.2rem;flex:none}.home-venue-note{display:grid;grid-template-columns:1fr 1fr;gap:80px;align-items:center;padding:20px 0 75px}.home-venue-note h2{font-size:2.1rem;line-height:1.15}.home-venue-note p{color:var(--muted);margin-bottom:18px}.home-venue-note .text-link{font-size:.9rem}.site-footer{border-top:1px solid var(--line);background:#090909;padding:30px 0}.footer-title{font-weight:550;font-size:.9rem}.site-footer small{color:var(--muted)}.page-heading .eyebrow{color:var(--muted)}.page-heading h1{font-size:clamp(2.5rem,4.5vw,4rem)}.page-heading{padding:50px 0 34px}.panel{background:#121212;border-radius:16px}.field input,.field select,.field textarea{background:#191919;color:var(--ink);border-color:#383838;border-radius:7px}.field{font-weight:500}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--lime)}.check-field input{accent-color:var(--lime)}.notice{background:#181b11;color:#b7c598;border-color:#667526;border-radius:0 6px 6px 0}.error{color:#ffa1a1}.tag{background:#caff0012;color:var(--lime);font-weight:500}.score-intro{background:#121212;border:1px solid var(--line);border-radius:16px}.score-intro .notice{background:#191c11;color:#b7c598}.panel-title h2{font-size:1.2rem;line-height:1.25}.entry-panel{border-color:var(--line)}.match-card{background:#121212;color:var(--ink);border-color:#343434;border-radius:10px;box-shadow:none}.match-card:disabled{opacity:.75}.match-team{border-color:#292929}.match-winner{background:var(--lime);color:#111}.match-card:hover:not(:disabled){border-color:var(--lime);box-shadow:none}.bracket-round:not(:last-child) .match-card:after{display:none}.match-status,.match-hint{font-size:.75rem}.champion{border-radius:10px;color:#111}.bracket{position:relative}.bracket-round{position:relative;z-index:1}.bracket-connectors{position:absolute;inset:0;pointer-events:none;overflow:visible;z-index:0}.bracket-connectors path{fill:none;stroke:#525252;stroke-width:1.5}.bracket-connectors path.decided{stroke:#a8cd20}.scoreboard{background:#0c0c0c;border:1px solid #292929;border-radius:14px}.score-team{background:#171717;border:1px solid #363636;border-radius:12px}.score-team.serving{border-color:var(--lime)}.score-team.winner{background:#242c0d}.score-team:hover:not(:disabled){background:#202020}.board-rules,.serve-call small,.rally-label,.board-hint{color:#a6a6a3}.serve-call>span{color:#a6a6a3}.correction{border-color:#343434}.correction input,.correction select{background:#191919;color:#eee}.scoreboard .error{color:#ffa1a1}dialog{background:#0c0c0c;border:1px solid #383838;border-radius:14px}dialog::backdrop{background:#000b}.display-page,.display-page .scoreboard,#standalone-board:fullscreen,#match-board:fullscreen,#display-root:fullscreen{background:#090909}.board-bottom{border-top:1px solid #292929;padding-top:20px}.team-empty{background:#121212;border-radius:16px}.team-empty h2{font-size:2.8rem}.contact-photo{border-radius:16px}.contact-details h2{font-weight:550}.venue-layout{background:#111;border-color:#292929;border-radius:16px}.map-surface{background:#111}.place-panel{background:#121212;border-color:#292929}.place-copy p{color:var(--muted)}.dimension{background:#caff0012;color:var(--lime)}.map-legend{color:#bbb}.photo-card{background:#121212;color:var(--ink);border-color:#292929;border-radius:12px}.photo-card:hover{border-color:var(--lime)}.photo-card span{font-weight:500}.caption{color:var(--muted)}.menu-button{background:#121212;border-color:#343434;color:#eee;border-radius:8px}.main-nav.open{background:#090909;border-bottom:1px solid #292929}.skip{color:#111}.text-link{font-weight:500}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[tabindex]:focus-visible{outline-color:var(--lime)}
@media(max-width:1100px){.main-nav{gap:17px}.brand-hero{gap:35px}.brand-copy h1{font-size:5.3rem}.hero-art{height:390px}.hero-art img{width:255px}.brand-copy .actions{gap:9px}.quick-link{padding:26px 16px;gap:12px}.quick-link h2{font-size:1.08rem}}
@media(max-width:700px){.header-inner{height:79px}.main-nav{top:79px}.brand-hero{grid-template-columns:1fr;gap:36px;padding:43px 0 40px}.brand-copy h1{font-size:clamp(4.5rem,15vw,6.2rem);line-height:.98}.brand-caption{margin-top:27px}.hero-art{height:290px}.hero-art img{width:240px}.court-outline{width:250px;height:530px;transform:rotate(58deg)}.quick-links{grid-template-columns:1fr;margin-bottom:35px}.quick-link{padding:24px 0}.quick-link+.quick-link{border-left:0;border-top:1px solid var(--line)}.quick-link h2{font-size:1.15rem}.quick-link p br{display:none}.home-venue-note{grid-template-columns:1fr;gap:23px;padding-bottom:45px}.home-venue-note h2{font-size:2rem}.page-heading{padding-top:35px}.page-heading h1{font-size:2.7rem}.team-empty h2{font-size:2rem}}
@media(max-width:540px){.brand .wide{display:none}.brand .compact{display:block;width:94px}.hero-art{height:270px}.brand-copy .btn{font-size:.85rem;padding:13px 16px}.hero-art img{width:225px}.team-empty img{max-width:160px}}

.art-label,.rally-label{font-size:.75rem}

/* Match rules and live participant totals */
.rule-help{font-size:.82rem;line-height:1.65;color:var(--muted);margin:0}.lineup-sizing{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:stretch}.player-total{display:flex;flex-direction:column;justify-content:center;align-items:center;background:#caff000a;border:1px solid #caff002b;border-radius:8px}.player-total strong{font-size:2rem;line-height:1.15;font-weight:600;color:var(--lime)}.player-total span{font-size:.78rem;color:var(--muted);margin-top:4px}.lineup-sizing+.rule-help{margin:10px 0 18px}.lineup-progress{border-top:1px solid var(--line);padding:15px 0;font-size:.84rem;color:var(--muted)}.lineup-progress.ready{color:var(--lime)}
/* Compact pools, a persistent bracket, and pool colours carried into results. */
[data-pool-tone="0"]{--pool-color:#caff00}[data-pool-tone="1"]{--pool-color:#75c9ff}[data-pool-tone="2"]{--pool-color:#c4acff}[data-pool-tone="3"]{--pool-color:#ffc46b}[data-pool-tone="4"]{--pool-color:#ff95b8}[data-pool-tone="5"]{--pool-color:#66e2cd}[data-pool-tone="6"]{--pool-color:#f3dd86}[data-pool-tone="7"]{--pool-color:#bbc7dd}
.pool-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(165px,1fr));gap:12px;margin:24px 0 18px}.pool-mini{min-width:0;border:1px solid var(--line);border-top:3px solid var(--pool-color);border-radius:10px;background:#131313;overflow:hidden}.pool-mini-head{display:flex;align-items:center;gap:9px;width:100%;padding:10px;background:none;border:0;color:var(--ink);text-align:left}.pool-mini-head>span:last-child{margin-left:auto;color:var(--muted)}.pool-letter{display:grid;place-items:center;width:28px;height:28px;border-radius:6px;background:var(--pool-color);color:#101010;font-size:.8rem;font-weight:700;flex:none}.pool-mini-head strong{display:block;font-size:.8rem;font-weight:600}.pool-mini-head small{display:block;font-size:.66rem;color:var(--muted);margin-top:2px}.pool-mini-list{max-height:100px;overflow:auto;padding:0 7px}.pool-mini-row{display:grid;grid-template-columns:16px minmax(0,1fr) 30px 12px;gap:4px;align-items:center;padding:5px;font-size:.71rem;line-height:1.3;border-radius:4px}.pool-mini-row>span:first-child{color:var(--muted);font-size:.65rem}.mini-name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.pool-mini-row small{font-size:.6rem;font-weight:400}.pool-mini-row.qualified{background:var(--pool-color);color:#101010}.pool-mini-row.qualified>span:first-child{color:#343434}.pool-mini-foot{display:block;width:100%;padding:9px 10px;margin-top:6px;border:0;border-top:1px solid var(--line);background:none;color:var(--muted);text-align:left;font-size:.66rem}.pool-mini-head:hover,.pool-mini-foot:hover{background:#202020;color:var(--ink)}
.draw-section{border:1px solid var(--line);border-radius:14px;background:#101010;overflow:hidden;margin-top:24px}.draw-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid var(--line)}.draw-heading .eyebrow{font-size:.65rem;margin-bottom:6px;color:var(--muted)}.draw-heading h3{font-size:1.35rem}.draw-legend{display:flex;flex-wrap:wrap;gap:15px;font-size:.7rem}.draw-legend>span:first-child{color:var(--lime)}.draw-section .bracket-scroll{padding:24px;max-height:78vh;overflow:auto}.draw-section .bracket{gap:38px}.draw-section .bracket-round{width:220px}.bracket-round h4{margin:0 0 20px;font-size:.68rem;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);font-weight:500}.draw-section .round-matches{gap:24px}.draw-section .match-card{padding:7px 0;border-radius:8px}.match-status{display:block;padding:0 12px 7px;letter-spacing:.055em;font-size:.6rem;color:var(--muted)}.match-team{font-size:.8rem;padding:9px 11px;min-height:38px}.match-name{display:flex;align-items:center;min-width:0;gap:7px}.match-name>span{min-width:0;overflow-wrap:anywhere;line-height:1.3}.origin-badge{font-size:.61rem;border:1px solid var(--pool-color,var(--lime));color:var(--pool-color,var(--lime));border-radius:4px;padding:2px 4px;flex:none}.match-team.match-winner{background:var(--pool-color,var(--lime));color:#101010;font-weight:600}.match-winner .origin-badge{color:#101010;border-color:#10101055}.match-loser{color:#9e9e9e}.match-score{font-variant-numeric:tabular-nums;font-size:.9rem;min-width:28px;text-align:right}.match-card:not(:disabled) .match-score:hover{text-decoration:underline}.match-hint{display:block;padding:7px 11px 0;font-size:.57rem;color:var(--muted)}.bracket-connectors path{stroke:#525252;stroke-dasharray:4 4;stroke-width:1.4}.bracket-connectors path.decided{stroke:var(--pool-color,var(--lime));stroke-dasharray:none;stroke-width:2}.champion-column{justify-content:stretch}.bracket-champion{border:1px dashed #575757;border-radius:10px;min-height:134px;padding:20px 16px;text-align:center;background:#161616;display:grid;place-items:center;gap:10px}.bracket-champion>span{font-size:1.5rem}.bracket-champion small{font-size:.56rem;letter-spacing:.1em;color:var(--muted)}.bracket-champion strong{font-size:1rem;overflow-wrap:anywhere}.bracket-champion.decided{border:1px solid var(--pool-color,var(--lime));background:var(--pool-color,var(--lime));color:#101010}.bracket-champion.decided small{color:#333}.draw-footnote{padding:13px 24px;margin:0;border-top:1px solid var(--line);font-size:.75rem;line-height:1.6;color:var(--muted)}.qualification-action{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:20px 0}.qualification-action p{font-size:.8rem;color:var(--muted);max-width:600px}.ranking-details{font-size:.76rem;color:var(--muted);border-top:1px solid var(--line);padding:18px 0}.ranking-details summary{cursor:pointer;color:var(--ink)}.ranking-details p{line-height:1.8;margin:14px 0 0;max-width:780px}.pool-detail{padding:26px}.pool-detail-head{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:22px}.pool-detail-head h2{font-size:1.5rem}.pool-detail-head .eyebrow{color:var(--pool-color);margin-bottom:7px}.pool-detail .fixture-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.result-lock{border-top:1px solid var(--line);padding:18px 24px;font-size:.8rem;color:var(--muted);display:flex;align-items:center;justify-content:space-between;gap:20px}
/* The score is an edit button above a separate full-card rally button. */
.score-team{position:relative}.rally-hit{position:absolute;inset:0;z-index:1;background:transparent;border:0;border-radius:inherit;color:inherit}.rally-hit:disabled{opacity:1;cursor:default}.rally-hit:focus-visible{outline-offset:-6px}.score-team .team-name,.score-team .rally-label{pointer-events:none}.point-edit{display:block;position:relative;z-index:2;border:0;border-radius:12px;background:transparent;color:inherit;margin:0 auto;padding:0 10px;font-family:inherit}.point-edit:hover{background:#ffffff0a;box-shadow:inset 0 -2px var(--lime)}.point-edit:focus-visible{outline-offset:2px}.correction-modal{width:min(640px,92vw);max-height:88dvh}.correction-modal .correction{display:block;margin:0;padding:24px;border:0}.correction-modal::backdrop{background:#000b;backdrop-filter:blur(4px)}.score-team .point-number:not(button){position:relative;pointer-events:none}
@media(max-width:700px){.pool-overview{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.draw-heading{display:block;padding:18px}.draw-legend{margin-top:12px;font-size:.63rem;gap:10px}.draw-section .bracket-scroll{padding:18px;max-height:70vh}.draw-section .bracket-round{width:205px}.draw-footnote{padding:12px 18px}.qualification-action{align-items:start;flex-direction:column}.pool-detail{padding:16px}.pool-detail-head{align-items:start}.pool-detail-head h2{font-size:1.25rem}.pool-detail-head .btn{font-size:.7rem;padding:8px 10px}.result-lock{align-items:start;flex-direction:column}.pool-mini-head{padding:8px;gap:6px}.pool-mini-row{font-size:.67rem}.point-edit{padding:0 6px}.correction-modal .correction{padding:18px}}
.score-team .rally-hit{position:relative;inset:auto;display:block;width:100%;padding:0;background:transparent;border:0;color:inherit;font:inherit;z-index:1}.score-team .rally-hit:focus-visible{outline-offset:5px}.score-team:has(.rally-hit:not(:disabled)){cursor:pointer}
.draw-section .bracket{justify-content:space-between}.draw-footnote{max-width:none}

/* All pools expand into the page; each fixture uses one matchup row. */
.pool-stage{padding:22px 24px;border-bottom:1px solid var(--line)}.pool-stage-heading{display:flex;justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:16px}.pool-stage-heading h4{font-size:.875rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0}.pool-stage-heading p{font-size:.8rem;color:var(--muted);margin:0}.pool-stage-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,330px),1fr));gap:18px;align-items:start}.pool-fixtures{min-width:0;border:1px solid #343434;border-radius:9px;overflow:hidden}.pool-fixtures-heading{background:#181818;border-top:2px solid var(--pool-color);padding:11px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.pool-fixtures-heading strong{color:var(--pool-color);font-size:.95rem}.pool-fixtures-heading span{font-size:.75rem;color:var(--muted)}.pool-fixture-cards{display:grid;gap:6px;padding:8px}.draw-section .match-status,.draw-section .match-hint{font-size:.75rem;letter-spacing:0}.draw-section .match-team{font-size:.875rem}.draw-section .bracket-round{width:300px}.draw-section .bracket-round h4{font-size:.8rem}.draw-heading .eyebrow,.draw-legend{font-size:.75rem}.match-pair{display:grid;grid-template-columns:minmax(0,1fr)20px minmax(0,1fr);align-items:stretch}.match-vs{display:grid;place-items:center;font-size:.75rem;color:var(--muted)}.match-pair .match-team{border:0;gap:6px;padding:7px;min-width:0;border-radius:4px}.match-pair .match-score{min-width:18px}.match-pair .match-name{gap:4px}.match-pair .origin-badge{font-size:.65rem;padding:2px 3px}.draw-section .pool-match-row,.pool-match-row{display:grid;grid-template-columns:24px minmax(0,1fr);align-items:center;padding:3px 6px;min-height:46px;border-left:2px solid var(--pool-color)}.fixture-round-label{color:var(--muted);font-size:.75rem;line-height:1}.pool-match-row .match-team{font-size:.875rem}.pool-match-row.complete .fixture-round-label{color:var(--pool-color)}.draw-section:has(.pool-stage) .bracket-scroll{max-height:none}.draw-section:has(.pool-stage) .round-matches{min-height:230px}

/* A small floating match list stays inside the fullscreen scoreboard. */
.view-player-matches{position:relative;z-index:2;background:none;border:0;color:#c5c5bf;font:inherit;font-size:.875rem;min-height:36px;padding:5px 8px;text-underline-offset:4px;cursor:pointer}.view-player-matches:hover{color:var(--lime);text-decoration:underline}.player-history-modal{width:min(440px,calc(100vw - 32px));max-height:80dvh;overflow:auto;padding:22px;box-shadow:0 20px 80px #0009}.player-history-modal::backdrop{background:#0006;backdrop-filter:blur(2px)}.player-history-head{display:flex;align-items:start;justify-content:space-between;gap:14px}.player-history-head .eyebrow{font-size:.75rem;line-height:1.5;color:var(--lime)}.player-history-head h3{font-size:1.4rem;line-height:1.35;margin:6px 0 0;overflow-wrap:anywhere}.player-history-head>div{min-width:0}.player-history-head button{flex:none;padding:6px 12px}.player-history-help{font-size:.8rem;line-height:1.5;color:var(--muted);margin:14px 0 18px}.player-history-list{list-style:none;display:grid;gap:10px;padding:0;margin:0}.player-fixture{padding:13px;border:1px solid #343434;background:#171717;border-radius:8px}.player-fixture.current{border-color:#879c2c;background:#1d2210}.player-fixture-meta{display:flex;justify-content:space-between;flex-wrap:wrap;gap:6px;font-size:.75rem;color:var(--muted);margin-bottom:9px}.fixture-state.won{color:var(--lime)}.fixture-state.lost{color:#ffadad}.player-fixture-result{display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:.95rem}.player-fixture-result>span{min-width:0;overflow-wrap:anywhere}.player-fixture-result>b{flex:none;font-variant-numeric:tabular-nums}.player-fixture-result strong{font-weight:600}
@media(max-width:700px){.pool-stage{padding:18px 12px}.pool-stage-heading{display:block}.pool-stage-heading p{margin-top:8px}.pool-stage-list{grid-template-columns:1fr;gap:14px}.pool-fixture-cards{padding:6px}.draw-section .bracket-round{width:280px}.player-history-modal{padding:18px}.view-player-matches{font-size:.75rem;padding:5px 0}.draw-section .match-hint{font-size:.7rem}}
main:has(#tournament-results:not([hidden]))>.page-heading{display:none}main:has(#tournament-results:not([hidden]))>.section-tight{padding-top:30px}.event-heading h1{font-size:clamp(2.2rem,4vw,2.8rem);line-height:1.1}

/* One connected pool-to-final tree. Match rows keep their compact side-by-side layout. */
.unified-draw .draw-controls{display:flex;flex-wrap:wrap;gap:8px}.tree-guide{display:flex;flex-wrap:wrap;gap:12px 24px;padding:14px 24px;border-bottom:1px solid var(--line);font-size:.8125rem;color:var(--muted)}.tree-guide>span:first-child{color:var(--lime)}.draw-section.unified-draw .bracket-scroll{max-height:none}.unified-draw .bracket{justify-content:flex-start;align-items:stretch;gap:38px}.unified-draw .pool-tree-column{width:350px}.pool-tree-list{display:grid;gap:22px}.pool-qualifiers{border-top:1px solid #343434;padding:4px 12px}.pool-outlet{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 0;font-size:.8125rem;color:var(--muted)}.pool-outlet b{color:var(--pool-color);margin-right:6px}.pool-outlet>span:first-child{overflow-wrap:anywhere;min-width:0}.pool-outlet>span:last-child{color:var(--pool-color)}.unified-draw .bracket-round>h4{min-height:42px;margin:0 0 16px;display:flex;align-items:center;font-size:.875rem;letter-spacing:.025em}.round-toggle{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-height:42px;border:1px solid #3e3e3e;border-radius:7px;background:#191919;color:var(--ink);padding:8px 10px;font:inherit;text-align:left}.round-toggle:hover{border-color:var(--lime)}.round-toggle>span:last-child{color:var(--lime);font-size:1.1rem}.unified-draw .bracket-round.round-collapsed{width:125px}.folded-match{background:#181818;border:1px dashed #525252;border-radius:8px;color:var(--ink);min-height:64px;padding:12px 8px;display:grid;gap:6px;text-align:center;font-size:.875rem}.folded-match small{font-size:.75rem;color:var(--muted)}.folded-match:hover{border-color:var(--lime)}.unified-draw .champion-column{width:190px}.unified-draw .round-matches{min-height:230px}.unified-draw .pool-tree-list .match-card{width:100%}.draw-controls .btn:disabled{opacity:.5;cursor:default}
/* Venue palette from the supplied court photos; plan outlines and access routes are retained. */
.map-viewport{overflow:auto;max-width:100%;overscroll-behavior:contain}.map-surface svg{width:100%;height:auto;min-height:0;max-height:none}.map-enlarged svg{min-width:1100px}.map-surface .parking-space{stroke:#626761}.map-surface svg:not(.show-grounds) .map-parking,svg:not(.show-grounds) .ground-label{display:none}.map-surface .court-name{font:700 20px Arial,sans-serif;fill:#f5f5ed}.map-surface .court-size{font:600 16px Arial,sans-serif;fill:#f0f1e6;paint-order:stroke;stroke:#353633;stroke-width:3px;stroke-linejoin:round}.map-surface .room-name,.map-surface .small-room{font:700 16px Arial,sans-serif;fill:#1e251f}.map-surface .tiny-name,.map-surface .micro-name{font:600 14px Arial,sans-serif;fill:#1e251f}.map-surface .path-label{font:600 14px Arial,sans-serif;fill:#34444b;letter-spacing:0}.map-surface .entrance-label{font:700 17px Arial,sans-serif;fill:#f1f2e9;paint-order:stroke;stroke:#141414;stroke-width:4px;stroke-linejoin:round}.map-surface .entrance-one{text-anchor:middle}.map-surface .map-callout{font:600 16px Arial,sans-serif;fill:#f1f2e9;text-anchor:middle;paint-order:stroke;stroke:#141414;stroke-width:4px;stroke-linejoin:round}.map-surface .label-leader{stroke:#bfc5bc;stroke-width:1.5;fill:none}.map-legend{flex-wrap:wrap;font-size:.875rem;gap:12px 20px;line-height:1.5;margin-top:20px}.map-legend i{width:22px;height:14px;flex:none}.legend-court{background:#767d57;border:1px solid #b3baa1}.map-legend .legend-path{height:0;border-top:4px dashed #586970;background:none}.map-legend .legend-entrance{width:14px;border:0;background:#d5fa32}.map-legend span:has(.legend-path){background:#b9bcb3;color:#1e251f;border-radius:4px;padding:3px 6px}.place-copy p,.photo-card span,.amenity-links .btn,.map-toolbar .btn{font-size:.9375rem;line-height:1.5}.place-copy .eyebrow{font-size:.8125rem}.place-copy h2{font-size:1.8rem;line-height:1.15}.dimension,.caption{font-size:.875rem}.map-toolbar .actions{flex-wrap:wrap}
@media(max-width:700px){.draw-controls{margin-top:14px}.tree-guide{padding:12px 18px}.unified-draw .pool-tree-column{width:310px}.unified-draw .bracket-round.round-collapsed{width:115px}.map-legend{justify-content:flex-start;font-size:.8125rem}.amenity-links .btn,.map-toolbar .btn,.photo-card span{font-size:.875rem}.map-enlarged svg{min-width:1000px}}

.unified-draw .pool-tree-column{margin-right:38px}.bracket-connectors path[data-pool-tone]{stroke:var(--pool-color)}
.map-surface{min-width:0}.map-viewport{width:100%;min-width:0}

.map-surface .amenity-name{font:600 14px Arial,sans-serif;fill:#1e251f;text-anchor:middle}
.map-surface .surau-name{paint-order:stroke;stroke:#b3b9ab;stroke-width:2.5px;stroke-linejoin:round}
/* Named doubles players and venue photo collections. */
.setup-players{display:grid;grid-template-columns:1fr 1fr;gap:18px}.setup-players fieldset,.lineup-rosters fieldset,.player-settings-team{border:1px solid #383838;border-radius:10px;padding:16px;min-width:0}.setup-players legend,.lineup-rosters legend,.player-settings-team legend{padding:0 7px;font-weight:600;font-size:.95rem;overflow-wrap:anywhere}.setup-players .field+.field,.player-settings-team .field+.field{margin-top:12px}.lineup-rosters fieldset{margin-top:15px}.player-settings{margin-top:20px;border-top:1px solid #363636;padding-top:18px}.player-settings summary{cursor:pointer;font-size:.95rem}.position-help{text-align:center;color:#aaa;font-size:.8rem;margin-top:14px}.team-players{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 5px;text-align:left}.named-player{display:flex;align-items:center;gap:8px;padding:10px;border:1px solid #424242;border-radius:8px;min-width:0;font-size:1rem;overflow-wrap:anywhere}.position-mark{font-size:.82rem;color:#bbb;flex:none}.active-server{border-color:#7a9426;background:#26300c;color:#edffb2}.active-server .position-mark{color:var(--lime)}.named-player small{display:block;font-size:.72rem;font-weight:600;color:var(--lime);margin-top:3px}.serve-call .serving-player{font-size:1.08rem;color:#e3e8d7;font-weight:600;margin-top:6px}.board-bottom{flex-wrap:wrap}.board-bottom .actions{flex-wrap:wrap}.place-photo{display:block;position:relative;width:100%;border:0;padding:0;background:#090909;color:#fff;cursor:zoom-in}.place-panel .place-photo img{display:block;width:100%;height:270px;min-height:0;object-fit:contain}.place-photo>span{position:absolute;bottom:8px;right:8px;padding:5px 9px;border-radius:5px;background:#000c;font-size:.75rem}.place-thumbnails{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:20px}.place-thumbnails button{border:1px solid #454545;border-radius:5px;background:#090909;overflow:hidden;padding:0;cursor:zoom-in}.place-panel .place-thumbnails img{display:block;width:100%;height:64px;min-height:0;object-fit:cover}.place-copy .photo-count{margin-top:10px;font-size:.78rem}.photo-navigation{display:flex;align-items:center;justify-content:space-between;gap:15px}.photo-navigation p{font-size:.88rem}.map-hotspot.selected>path:first-child,.map-hotspot:focus>path:first-child{stroke:#a9c961;stroke-width:4}.map-hotspot.selected>polygon{stroke:#a9c961;stroke-width:4}
@media(max-width:600px){.setup-players{grid-template-columns:1fr}.team-players{grid-template-columns:1fr;gap:6px}.named-player{padding:7px;font-size:.87rem}.serve-call .serving-player{font-size:.95rem}.position-help{font-size:.75rem}.photo-navigation{flex-wrap:wrap}.photo-navigation p{order:-1;width:100%}.place-panel .place-photo img{height:280px}.player-settings>.form-grid{grid-template-columns:1fr}.point-number{font-size:clamp(4.5rem,20vw,6.5rem)}}
@media(min-width:1000px){.display-page .team-players{max-width:800px;margin:20px auto}.display-page .named-player{font-size:clamp(1.1rem,2vw,2rem)}.display-page .serving-player{font-size:1.5rem}}
.score-team{display:flex;flex-direction:column}.score-team .point-number{margin-top:auto}.score-team .rally-label{display:block}.named-player{min-height:64px}.position-help{max-width:none}
.place-photo-viewer{position:relative}.place-photo-arrow{position:absolute;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:1px solid #777;border-radius:50%;background:#121212ed;color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;box-shadow:0 2px 10px #0005}.place-photo-arrow.previous{left:10px}.place-photo-arrow.next{right:10px}.place-photo-arrow:hover{color:#111;background:var(--lime);border-color:var(--lime)}.place-photo-arrow:focus-visible{outline:3px solid var(--lime);outline-offset:3px}.place-thumbnails button{cursor:pointer}.place-thumbnails button[aria-pressed=true]{border-color:var(--lime);box-shadow:0 0 0 1px var(--lime)}.place-copy .photo-count{font-size:.875rem;line-height:1.5}

.map-surface .entrance-parking{stroke:#90968c;stroke-width:2}.map-surface .entrance-parking-label{fill:#c4c9bf}

.contact-art{height:460px;min-height:360px}.contact-art .court-outline{width:290px;height:580px;transform:rotate(-28deg)}.contact-art img{width:340px}.contact-art .art-label{font-size:.8125rem;letter-spacing:.12em}.contact-grid>div:first-child{min-width:0}@media(max-width:600px){.contact-art{height:340px;min-height:0}.contact-art .court-outline{width:230px;height:480px}.contact-art img{width:280px}}

.storage-warning{margin-top:20px;margin-bottom:20px;border:1px solid #d7b15c;background:#30270f;color:#ffe9ba;line-height:1.6}
