.swiss-rules-trigger{align-items:center;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);display:inline-flex;font-size:.8125rem;font-weight:700;gap:8px;justify-content:center;min-height:40px;padding:8px 12px;white-space:nowrap}.swiss-rules-trigger:hover{background:color-mix(in srgb,var(--surface-muted) 86%,var(--accent-primary) 14%)}.swiss-rules-trigger:focus-visible,.swiss-rules-dialog button:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}.swiss-rules-dialog{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:8px;color:var(--text-primary);margin:auto;max-height:84dvh;max-width:720px;overflow:hidden;padding:0;width:calc(100vw - 32px)}.swiss-rules-dialog::backdrop{background:#151a1fad}.swiss-rules-dialog-panel{display:flex;flex-direction:column;max-height:84dvh}.swiss-rules-header{align-items:center;border-bottom:1px solid var(--border-default);display:flex;flex:0 0 auto;justify-content:space-between;padding:20px 24px}.swiss-rules-header h2{font-size:1.25rem;line-height:1.3;margin:0}.swiss-rules-header .icon-button{flex:0 0 44px;height:44px;width:44px}.swiss-rules-header .eyebrow{margin-bottom:4px}.swiss-rules-content{overflow-y:auto;padding:20px 24px;overscroll-behavior:contain}.swiss-rules-summary{background:var(--surface-muted);border-left:4px solid var(--accent-primary);border-radius:0 4px 4px 0;color:var(--text-primary);font-size:.9375rem;line-height:1.6;margin:0 0 20px;padding:12px 16px}.swiss-rules-sections{display:grid;gap:20px 24px;grid-template-columns:repeat(2,minmax(0,1fr))}.swiss-rules-section h3{align-items:center;color:var(--text-primary);display:flex;font-size:1rem;gap:8px;line-height:1.4;margin:0 0 8px}.swiss-rules-section h3 span{align-items:center;background:var(--accent-primary);border-radius:50%;color:var(--text-on-dark);display:inline-flex;flex:0 0 24px;font-size:.75rem;height:24px;justify-content:center}.swiss-rules-section ul{color:var(--text-secondary);display:grid;font-size:.9375rem;gap:8px;line-height:1.6;margin:0;padding-left:20px}.swiss-rules-footer{border-top:1px solid var(--border-default);display:flex;flex:0 0 auto;justify-content:flex-end;padding:16px 24px}.swiss-rules-dismiss{background:var(--accent-primary);border:1px solid var(--accent-primary);border-radius:8px;color:var(--text-on-dark);font-size:.9375rem;font-weight:700;min-height:44px;padding:8px 16px}.swiss-rules-dismiss:hover{background:var(--accent-primary-hover);border-color:var(--accent-primary-hover)}@media(max-width:760px){.swiss-rules-trigger{justify-self:start;min-height:44px}.swiss-rules-dialog{max-height:88dvh;width:calc(100vw - 24px)}.swiss-rules-dialog-panel{max-height:88dvh}.swiss-rules-header,.swiss-rules-content{padding:16px}.swiss-rules-sections{grid-template-columns:minmax(0,1fr)}.swiss-rules-footer{padding:12px 16px}.swiss-rules-dismiss{width:100%}}:root{--surface-page: #f3f6f7;--surface-panel: #ffffff;--surface-muted: #e8eef0;--surface-arena: #151a1f;--surface-arena-raised: #242c33;--text-primary: #17212b;--text-secondary: #62717d;--text-on-dark: #f7fafb;--border-default: #ced9dd;--border-arena: #45545f;--accent-primary: #087f8c;--accent-primary-hover: #066b76;--status-winner: #10a88c;--status-live: #e34938;--status-final: #d89d16;--status-warning: #bd5b19;--status-error: #bf3b32;color:#1d2433;background:#f4f7f8;font-family:Inter,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{margin:0;min-width:320px}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled,input:disabled,select:disabled,textarea:disabled{cursor:not-allowed;opacity:.58}.app-shell{min-height:100vh}.public-shell{background:#f2f6f7}.topbar{align-items:center;background:#fff;border-bottom:1px solid #d9e1e5;display:flex;gap:24px;justify-content:space-between;padding:14px 20px;position:sticky;top:0;z-index:10}.eyebrow{color:#687782;font-size:12px;font-weight:700;margin:0 0 2px;text-transform:uppercase}h1,h2,h3,p{margin-top:0}h1{font-size:22px;margin-bottom:0}h2{font-size:18px;margin-bottom:14px}h3{font-size:14px;margin-bottom:10px}.toolbar{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.public-shell .toolbar{flex-wrap:nowrap}.icon-button{align-items:center;background:#eef4f4;border:1px solid #cbd8dc;border-radius:8px;color:#1f343d;display:inline-flex;height:36px;justify-content:center;width:36px}.icon-button:hover:not(:disabled){background:#dcebea}.icon-button.danger{background:#fff0ee;border-color:#efb7ae;color:#a43323}.layout{display:grid;gap:16px;grid-template-columns:320px minmax(0,1fr) 280px;padding:16px}.layout.viewer-layout{grid-template-columns:minmax(0,1fr) 280px}.layout.overview-layout{grid-template-columns:320px minmax(0,1fr)}.layout.viewer-layout.overview-layout{grid-template-columns:minmax(0,1fr)}.overview-layout .details-panel{display:none}.setup-panel,.details-panel{align-self:start;background:#fff;border:1px solid #d9e1e5;border-radius:8px;padding:16px}label{color:#344650;display:grid;font-size:13px;font-weight:700;gap:6px;margin-bottom:12px}input,select,textarea{border:1px solid #cbd8dc;border-radius:8px;color:#1d2433;padding:9px 10px;width:100%}textarea{min-height:220px;resize:vertical}.inline-control{align-items:center;display:flex;flex-direction:row;font-weight:600}.inline-control input{width:auto}.disabled-note{color:#7b8b93}.summary-grid{display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:12px}.summary-grid div,.engine-stats{background:#f4f7f8;border:1px solid #dce5e8;border-radius:8px;padding:10px}.summary-grid span{color:#667985;display:block;font-size:12px}.summary-grid strong{display:block;font-size:20px}.primary-action{background:#116a75;border:0;border-radius:8px;color:#fff;font-weight:800;padding:11px 12px;width:100%}.lock-note,.hint{color:#8a3f18;font-size:13px;margin:12px 0 0}.engine-stats{color:#344650;font-size:13px;margin-top:14px}.engine-stats p{margin-bottom:4px}.public-link{background:#f8fafb;border:1px solid #dce5e8;border-radius:8px;display:grid;gap:4px;margin-bottom:12px;padding:10px}.public-link span{color:#667985;font-size:12px;font-weight:800}.public-link code{color:#20343d;font-family:SFMono-Regular,Consolas,monospace;font-size:12px;overflow-wrap:anywhere}.public-link-row{align-items:stretch;display:grid;gap:8px;grid-template-columns:minmax(0,1fr) auto}.public-link-row code{align-content:center;background:#fff;border:1px solid #dce5e8;border-radius:6px;min-height:36px;padding:7px 8px}.public-link-row button{align-items:center;background:#eef4f4;border:1px solid #cbd8dc;border-radius:8px;color:#1f343d;display:inline-flex;font-size:12px;font-weight:900;gap:5px;justify-content:center;min-height:36px;padding:7px 9px;white-space:nowrap}.public-link-row button:hover:not(:disabled){background:#dcebea}.bracket-surface{min-width:0;overflow:hidden}.bracket-display-shell{min-width:0}.layout.chart-focus-layout{grid-template-columns:minmax(0,1fr);padding:12px 16px 24px}.chart-focus-layout .setup-panel,.chart-focus-layout .details-panel,.chart-focus-layout .desktop-match-control,.chart-focus-layout .live-panel,.chart-focus-layout .stats-panel,.chart-focus-layout .viewer-focus-panel,.chart-focus-layout .viewer-search-panel,.chart-focus-layout .public-event-hero{display:none}.chart-focus-layout .bracket-surface{grid-column:1 / -1}.chart-focus-layout .bracket-display-shell{display:flex;flex-direction:column;min-height:calc(100dvh - 150px)}.chart-focus-layout .bracket-board{flex:0 0 auto;min-height:clamp(460px,calc(100dvh - 230px),1000px)}.chart-focus-layout .bracket-viewport{height:clamp(460px,calc(100dvh - 230px),1000px);max-height:none;min-height:460px}.icon-button.active{background:#dcebea;border-color:#79aaa9;color:#066b76}.bracket-display-shell:fullscreen{background:#f4f7f8;display:flex;flex-direction:column;height:100vh;overflow:hidden;padding:14px}.bracket-display-shell:fullscreen .bracket-header,.bracket-display-shell:fullscreen .placement-strip{flex:0 0 auto}.bracket-display-shell:fullscreen .bracket-board{display:flex;flex:1 1 auto;flex-direction:column;min-height:0;overflow:hidden}.bracket-display-shell:fullscreen .desktop-match-control,.bracket-display-shell:fullscreen .live-panel,.bracket-display-shell:fullscreen .viewer-focus-panel,.bracket-display-shell:fullscreen .viewer-search-panel{display:none}.bracket-display-shell:fullscreen .stats-panel,.bracket-display-shell:fullscreen .standings-panel{flex:0 0 auto;max-height:220px;overflow:auto}.bracket-display-shell:fullscreen .bracket-viewport{flex:1 1 auto;height:auto;max-height:none;min-height:0}.bracket-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.bracket-header h2{margin-bottom:0}.bracket-header-actions{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.live-sync{background:#1f343d;border-radius:999px;color:#fff;font-size:12px;font-weight:900;letter-spacing:0;padding:7px 10px;white-space:nowrap}.mode-badge{background:#e9f3f2;border:1px solid #bad3d2;border-radius:999px;color:#244148;font-size:12px;font-weight:900;padding:7px 10px}.placement-strip{display:grid;gap:8px;grid-template-columns:repeat(4,minmax(130px,1fr));margin-bottom:12px}.placement-pill{background:#fff;border:1px solid #d7e2e6;border-radius:8px;display:grid;gap:3px;min-height:58px;padding:9px 11px}.placement-pill span{color:#687782;font-size:11px;font-weight:900}.placement-pill strong{color:#122336;font-size:17px;line-height:1.2;overflow-wrap:anywhere}.placement-pill.filled{box-shadow:0 10px 24px #1f343d14}.placement-pill.filled strong{font-size:19px}.placement-strip.completed{background:#fff;border:1px solid #d7e2e6;border-radius:8px;padding:8px}.placement-strip.completed .placement-pill.first{border-width:2px}.placement-results{border-bottom:1px solid #d7e2e6;margin-bottom:14px;padding-bottom:12px}.placement-results h3{color:#334750;font-size:14px;margin:0 0 8px}.placement-results-grid{display:grid;gap:7px;grid-template-columns:repeat(auto-fill,minmax(130px,1fr))}.placement-result{background:#f5f8f9;border:1px solid #d7e2e6;border-radius:6px;display:grid;gap:3px;min-width:0;padding:8px 10px}.placement-result span{color:#687782;font-size:11px;font-weight:800}.placement-result strong{color:#334750;overflow-wrap:anywhere}.placement-result.filled{background:#eaf7f4;border-color:#90c8b8}.placement-pill.first{background:#fff7d6;border-color:#e5c44f}.placement-pill.second{background:#f4f7fa}.placement-pill.third{background:#fff0e2}.placement-pill.fourth{background:#eef8f6}.view-switcher{min-height:36px;min-width:144px;padding:6px 28px 6px 10px}.chart-tools{align-items:center;display:flex;gap:6px}.chart-tool{align-items:center;background:#eef4f4;border:1px solid #cbd8dc;border-radius:8px;color:#1f343d;display:inline-flex;font-size:12px;font-weight:900;gap:6px;min-height:36px;padding:7px 10px}.chart-tool:hover{background:#dcebea}.chart-tool:disabled{cursor:not-allowed;opacity:.5}.empty-state{align-items:center;background:#fff;border:1px dashed #b7c7ce;border-radius:8px;color:#62727c;display:grid;justify-items:center;min-height:360px;padding:24px;text-align:center}.bracket-board{display:grid;gap:16px;min-width:0;overflow:visible;padding:0}.bracket-board.overview-board{padding:0}.bracket-viewport{background:#fff;border:1px solid #d7e2e6;border-radius:8px;height:clamp(420px,calc(100vh - 320px),760px);min-height:420px;min-width:0;overflow:hidden;overscroll-behavior:contain;padding:10px;position:relative;touch-action:none;cursor:grab}.bracket-viewport.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.bracket-viewport:focus-visible{outline:3px solid var(--accent-primary);outline-offset:2px}.overview-board .bracket-viewport{height:clamp(380px,calc(100vh - 410px),720px);min-height:380px}@media(min-width:1101px){.layout.admin-bracket-overview{align-items:stretch;min-height:calc(100dvh - 150px)}.admin-bracket-overview .bracket-surface,.admin-bracket-overview .bracket-display-shell{display:flex;flex-direction:column;min-height:0}.admin-bracket-overview .bracket-display-shell{flex:1 1 auto}.admin-bracket-overview .bracket-board.overview-board{display:flex;flex:1 1 auto;flex-direction:column;min-height:0}.admin-bracket-overview .desktop-match-control{flex:0 0 auto}.admin-bracket-overview .bracket-viewport{flex:1 1 0;height:auto;max-height:none;min-height:420px}}.bracket-pan-content{display:block;min-width:max-content;left:0;position:relative;top:0;width:max-content;will-change:transform}.connection-layer{top:0;right:0;bottom:0;left:0;overflow:visible;pointer-events:none;position:absolute;z-index:5}.connection-layer path{fill:none;stroke:#7f929b;stroke-linecap:square;stroke-linejoin:round;stroke-width:2}.bracket-viewport .bracket-section{margin:0}.placement-panel{background:#fff;border:1px solid #d7e2e6;border-radius:8px;min-width:720px;padding:12px}.live-panel{background:#fff;border:1px solid #d7e2e6;border-radius:8px;display:grid;gap:12px;min-width:720px;padding:12px}.live-panel h3{color:#243740;font-size:15px;margin-bottom:0}.desktop-match-control{background:#fff;border:1px solid #d7e2e6;border-radius:8px;display:grid;gap:10px;padding:12px}.match-navigation{align-items:end;background:#f4f8f8;border:1px solid #d7e4e6;border-radius:6px;display:grid;gap:12px;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.1fr);padding:10px}.desktop-match-control>.match-navigation,.live-panel>.match-navigation{margin:-2px -2px 0}.match-navigation-heading{min-width:0}.match-navigation-heading strong,.match-navigation-heading span{display:block}.match-navigation-heading strong{color:#20343d;font-size:14px;overflow-wrap:anywhere}.match-navigation-heading span{color:#667985;font-size:12px;margin-top:2px}.match-navigation-controls{align-items:end;display:grid;gap:8px;grid-template-columns:minmax(150px,.55fr) minmax(210px,1fr)}.next-match-button{align-items:center;background:#116a75;border:0;border-radius:8px;color:#fff;display:inline-flex;font-size:12px;font-weight:900;gap:6px;justify-content:center;min-height:42px;padding:8px 10px}.next-match-button:hover:not(:disabled){background:#066b76}.next-match-button:disabled{background:#87989f}.match-picker{gap:4px;margin:0}.match-picker span{color:#536973;font-size:11px;font-weight:900}.match-picker select{min-height:42px;min-width:0;padding:7px 28px 7px 9px}.viewer-focus-panel{align-items:center;background:#fff;border:1px solid #d7e2e6;border-radius:8px;display:flex;gap:14px;justify-content:space-between;padding:12px}.viewer-focus-panel h3{color:#20343d;font-size:17px;margin:0;overflow-wrap:anywhere}.viewer-focus-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.viewer-focus-meta span{color:#647782;font-size:12px;font-weight:800}.viewer-focus-meta button{background:#116a75;border:0;border-radius:8px;color:#fff;font-size:12px;font-weight:900;min-height:34px;padding:7px 10px}.viewer-search-panel{align-items:start;background:#fff;border:1px solid #d7e2e6;border-radius:8px;display:grid;gap:12px;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);padding:12px}.viewer-next-list{display:grid;gap:8px}.viewer-next-list>strong{color:#344650;font-size:13px}.viewer-search-results{grid-column:1 / -1}.desktop-match-main{align-items:end;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(260px,1.1fr) minmax(220px,.9fr)}.desktop-match-title h3{font-size:18px;margin-bottom:2px}.desktop-match-title strong{color:#20343d;display:block;font-size:15px;overflow-wrap:anywhere}.desktop-match-title small{color:#667985;display:block;font-size:12px;margin-top:3px}.desktop-score-fields{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-score-fields label{margin-bottom:0}.desktop-winner-buttons{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.desktop-winner-buttons button{background:#116a75;border:0;border-radius:8px;color:#fff;font-weight:900;min-height:42px;overflow-wrap:anywhere;padding:8px 10px}.desktop-match-queue{display:grid;gap:6px;grid-template-columns:repeat(5,minmax(0,1fr))}.desktop-match-queue button{background:#f8fafb;border:1px solid #dce6e9;border-radius:8px;color:#20343d;display:grid;gap:2px;min-height:44px;padding:7px 9px;text-align:left}.desktop-match-queue button.selected{background:#eef8f6;border-color:#116a75}.desktop-match-queue span{color:#6b7b83;font-size:11px;font-weight:900}.desktop-match-queue b{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.live-grid{align-items:start;display:grid;gap:12px;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr)}.search-box{margin-bottom:0}.next-matches{display:grid;gap:8px}.next-matches>strong{color:#344650;font-size:13px}.quick-match-list{display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.quick-match,.search-results button{background:#f8fafb;border:1px solid #dce6e9;border-radius:8px;color:#20343d;display:grid;gap:2px;min-height:44px;padding:8px 10px;text-align:left}.quick-match:hover,.search-results button:hover{border-color:#116a75}.quick-match.selected{background:#eef8f6;border-color:#116a75}.search-results button.selected{background:#e0f4ef;border-color:#0e8f72;box-shadow:inset 4px 0 #0e8f72}.quick-match span,.search-results small,.mobile-action-bar span{color:#6b7b83;font-size:11px;font-weight:800}.quick-match b,.search-results span{overflow-wrap:anywhere}.search-results{display:grid;gap:6px;grid-template-columns:repeat(4,minmax(0,1fr))}.compact{margin-bottom:0}.placement-panel h3,.stats-panel h3,.standings-panel h3{color:#243740;font-size:15px;margin-bottom:10px}.placement-grid{display:grid;gap:10px;grid-template-columns:repeat(4,minmax(150px,1fr))}.placement-card{border:1px solid #d8e4e8;border-radius:8px;min-height:72px;padding:10px}.placement-card span{color:#6a7d86;display:block;font-size:12px;font-weight:900;margin-bottom:4px}.placement-card strong{color:#122336;display:block;font-size:18px;overflow-wrap:anywhere}.placement-card.first{background:#fff7d6;border-color:#e5c44f}.placement-card.second{background:#f4f7fa}.placement-card.third{background:#fff0e2}.placement-card.fourth{background:#eef8f6}.stats-panel,.standings-panel{background:#fff;border:1px solid #d7e2e6;border-radius:8px;min-width:720px;padding:12px}.standings-table{display:grid;gap:4px;max-height:280px;overflow:auto}.standings-row{align-items:center;background:#f8fafb;border:1px solid #e0e9ec;border-radius:6px;display:grid;gap:8px;grid-template-columns:42px minmax(150px,1fr) 44px 44px 52px 52px 78px minmax(260px,1.4fr);min-height:34px;padding:6px 8px}.standings-row.swiss-standings-row{grid-template-columns:42px minmax(150px,1fr) 58px 44px 44px 64px 58px 82px;min-width:650px}.swiss-bye-note{color:#526b75;font-size:12px;margin:-4px 0 10px}.format-limit-note{color:var(--text-secondary);display:block;font-size:12px;margin:-8px 0 10px}.ranking-rule{color:#667985;font-size:12px;margin:-4px 0 10px}.standings-head{background:#edf4f5;color:#536973;font-size:12px;font-weight:900;position:sticky;top:0;z-index:1}.stats-table{display:grid;gap:4px;grid-template-columns:1fr;max-height:220px;overflow:auto}.stats-row{align-items:center;background:#f8fafb;border:1px solid #e0e9ec;border-radius:6px;display:grid;gap:8px;grid-template-columns:minmax(160px,1fr) 42px 42px 72px minmax(160px,1.1fr);min-height:34px;padding:6px 8px}.stats-head{background:#edf4f5;color:#536973;font-size:12px;font-weight:900;position:sticky;top:0;z-index:1}.stats-row span{overflow-wrap:anywhere}.status-eliminated{opacity:.62}.status-champion{background:#fff7d6;border-color:#e5c44f}.bracket-section{background:#ffffff9e;border:1px solid #d7e2e6;border-radius:8px;min-width:max-content;padding:12px;position:relative}.bracket-section>h3{color:#243740;font-size:15px;margin-bottom:12px}.rounds{align-items:stretch;display:flex;gap:28px;padding-bottom:4px}.full-bracket{background:#f9fbfb;display:grid;gap:0;padding:0}.overview-board .full-bracket{border-color:#cbd8dc}.overview-board .round{min-width:218px;padding:0}.overview-board .match{margin-bottom:0}.overview-board .player{min-height:32px}.full-row{align-items:stretch;display:flex;gap:16px;padding:14px}.full-row-title{align-items:center;background:#243740;border-radius:8px;color:#fff;display:flex;flex:0 0 54px;font-size:12px;font-weight:900;justify-content:center;letter-spacing:0;padding:10px 8px;text-align:center;writing-mode:vertical-rl}.full-finals{border-left:2px solid #c6d5db;display:flex;gap:16px;margin-left:6px;padding-left:16px}.bracket-endgame{align-items:stretch;display:flex;gap:16px;padding:0 14px 14px}.bracket-endgame .full-finals{border-left:0;margin-left:0;padding-left:0}.bracket-endgame .championship-finals{border-left:1px solid #c6d5db;margin-left:0;padding-left:16px}.placement-bands{display:grid;gap:14px;min-width:max-content;padding:0 14px 16px}.placement-band{background:#f6f9fa;border:1px solid #cbd8dc;border-radius:8px;min-width:max-content;padding:12px}.placement-band-header{align-items:baseline;border-bottom:1px solid #d7e2e6;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px;padding:0 2px 8px}.placement-band-header h3{color:#243740;font-size:15px;margin:0}.placement-band-header p{color:#687782;font-size:12px;margin:0}.placement-pools{align-items:stretch;display:flex;gap:12px}.placement-pool{background:#fff;border:1px solid #d7e2e6;border-radius:6px;min-width:max-content;padding:8px}.placement-pool>h4{color:#51656e;font-size:12px;margin:0 0 8px}.placement-pool .rounds{gap:16px}.placement-pool .round{min-width:205px}.championship-title{background:color-mix(in srgb,var(--status-final) 72%,#3b300e)}.placement-title{background:color-mix(in srgb,var(--status-warning) 72%,#3a2112)}.losers-divider{background:#e5ecef;border-bottom:1px solid #cbd8dc;border-top:1px solid #cbd8dc;color:#20343d;font-size:13px;font-weight:900;left:0;padding:8px 14px;position:sticky;z-index:2}.losers-row{background:#fffdf8}.finals-row{border-top:1px solid #d7e2e6}.round{background:#fff;border:1px solid #d9e1e5;border-radius:6px;min-width:238px;overflow:visible;padding:0;position:relative;z-index:2}.round h4{background:#263941;border-radius:6px 6px 0 0;color:#fff;font-size:13px;margin:0;min-height:34px;padding:8px 10px}.match{background:transparent;border:0;border-radius:0;margin:var(--match-gap-before, 10px) 10px 0;padding:0;position:relative;z-index:7}.match+.match{margin-top:var(--match-gap-before, var(--round-gap, 18px))}.round .match:first-of-type{margin-top:var(--match-gap-before, calc(16px + var(--round-offset, 0px)))}.round:not(:first-child) .match:before{display:none}.round:not(:last-child) .match:after{display:none}.stage-losers{background:#fffdf8}.stage-losers h4{background:#3a362d}.stage-grand_final,.stage-reset_final,.championship-round{background:color-mix(in srgb,var(--status-final) 12%,#ffffff);border-color:color-mix(in srgb,var(--status-final) 72%,#d9e1e5)}.stage-grand_final h4,.stage-reset_final h4,.championship-round h4{background:color-mix(in srgb,var(--status-final) 58%,#4a3a09);border-bottom-color:color-mix(in srgb,var(--status-final) 82%,#4a3a09)}.stage-third_place,.placement-round{background:color-mix(in srgb,var(--status-warning) 10%,#ffffff);border-color:color-mix(in srgb,var(--status-warning) 68%,#d9e1e5)}.rank-placement-round{background:#eff8f5;border-color:#9acabb}.rank-placement-round h4{background:#356e62;border-bottom-color:#8bc8b8}.stage-third_place h4,.placement-round h4{background:color-mix(in srgb,var(--status-warning) 64%,#472513);border-bottom-color:color-mix(in srgb,var(--status-warning) 82%,#472513)}.match.selected{outline:2px solid rgba(17,106,117,.45);outline-offset:3px}.match.highlighted-player{filter:drop-shadow(0 8px 14px rgba(14,143,114,.14))}.match-code{color:#657780;display:block;font-size:11px;font-weight:800;margin:0 0 4px;min-height:14px}.player{background:#fff;border:1px solid #cbd8dc;border-radius:5px;color:#243740;display:grid;grid-template-columns:minmax(0,1fr) 34px;font-weight:700;margin-top:0;min-height:36px;overflow:hidden;padding:0;text-align:left;width:100%}.player+.player{border-top:0;border-radius:0 0 5px 5px}.match-code+.player{border-radius:5px 5px 0 0}.player:hover:not(:disabled){border-color:#116a75}.player.winner{background:#dff7ee;border-color:#0e8f72;box-shadow:inset 4px 0 #0e8f72;color:#0b3b32}.player.highlighted{background:#c9f1e6;border-color:#0b9b7b;box-shadow:inset 5px 0 #0b9b7b;color:#062f29}.player.highlighted .player-score{background:#15a181;border-left-color:#15a181;color:#fff}.player.loser{background:#f0f3f4;color:#687782}.player-name{align-self:center;overflow:hidden;padding:7px 8px;text-overflow:ellipsis;white-space:nowrap}.player-score{align-items:center;align-self:stretch;background:#eef3f4;border-left:1px solid #d5e0e4;color:#425760;display:flex;font-weight:900;justify-content:center;min-width:34px}.player-score:empty{background:#f8fafb}.player.winner .player-score{background:#0e8f72;border-left-color:#0e8f72;color:#fff}.player.loser .player-score{background:#e2e9ec;color:#62727c}.match.pending .player{color:#8a99a1}.details-panel dl{display:grid;gap:10px;margin:0}.details-panel div{border-bottom:1px solid #e4ecef;padding-bottom:8px}.ranking-basis{background:#f8fafb;border:1px solid #e0e9ec;border-radius:8px;margin-top:12px;padding:10px}.ranking-basis h3{margin-bottom:8px}.ranking-basis p{color:#344650;font-size:12px;margin-bottom:6px;overflow-wrap:anywhere}.score-editor,.winner-actions{background:#f8fafb;border:1px solid #e0e9ec;border-radius:8px;display:grid;gap:8px;margin-top:12px;padding:10px}.score-editor{grid-template-columns:repeat(2,minmax(0,1fr))}.score-editor h3{grid-column:1 / -1;margin-bottom:0}.score-editor label,.winner-actions h3{margin-bottom:0}.winner-actions button{background:#116a75;border:0;border-radius:8px;color:#fff;font-weight:800;min-height:42px;overflow-wrap:anywhere;padding:8px 10px}.winner-actions button:disabled{background:#87989f}.mobile-action-bar{display:none}.mobile-match-scoring{display:grid;gap:8px;grid-template-columns:1fr 1fr}.mobile-match-scoring>div{grid-column:1 / -1}.mobile-action-bar.chart-focus-hidden{display:none!important}dt{color:#6b7b83;font-size:12px;font-weight:800}dd{margin:2px 0 0}.muted{color:#667985}.cjk-keep{white-space:nowrap}@media(max-width:1100px){.layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.details-panel{grid-column:1 / -1}}@media(max-width:760px){.toolbar{gap:6px;justify-content:flex-start;width:100%}.toolbar .icon-button{height:44px;width:44px}html,body{min-width:0;overflow-x:hidden}.app-shell{overflow-x:hidden}.topbar{align-items:flex-start;flex-direction:column;gap:10px;padding:12px}.public-shell .topbar{gap:8px;position:static}.public-shell h1{font-size:18px}.layout{grid-template-columns:minmax(0,1fr);padding:10px}.layout.viewer-layout,.layout.overview-layout,.layout.viewer-layout.overview-layout{grid-template-columns:minmax(0,1fr)}.bracket-surface{overflow:visible;width:100%}.setup-panel,.details-panel{padding:12px;width:100%}.viewer-layout .details-panel,.overview-layout .details-panel{display:none}textarea{min-height:150px}.bracket-header{align-items:flex-start;flex-direction:column;gap:8px;width:100%}.bracket-header>div:first-child,.bracket-header-actions{min-width:0;width:100%}.bracket-header-actions{display:grid;grid-template-columns:minmax(0,1fr);justify-content:stretch}.public-shell .bracket-header-actions{gap:8px}.mode-badge{justify-self:start}.placement-strip{grid-template-columns:repeat(2,minmax(0,1fr));width:100%}.placement-results-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.placement-band-header{align-items:flex-start;flex-direction:column;gap:4px}.placement-band-header p{max-width:70vw}.placement-pool .rounds{gap:10px}.placement-pill{min-height:54px;padding:8px 9px}.placement-pill strong{font-size:15px}.view-switcher{min-width:0;width:100%}.chart-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}.chart-tools .icon-button,.chart-tool{width:100%}.bracket-board{max-height:none;overflow:visible;width:100%}.bracket-board.overview-board{max-height:none}.bracket-viewport,.overview-board .bracket-viewport{max-height:none;min-height:360px;overflow:hidden;width:100%}.placement-panel,.stats-panel,.live-panel,.standings-panel,.viewer-search-panel,.viewer-focus-panel,.desktop-match-control{min-width:0;justify-self:start;width:100%}.viewer-search-panel{grid-template-columns:1fr}.viewer-search-results{grid-column:auto}.viewer-focus-panel,.viewer-focus-meta{align-items:stretch;flex-direction:column}.viewer-focus-meta{justify-content:stretch}.desktop-match-control{display:none}.live-grid,.quick-match-list,.search-results{grid-template-columns:1fr}.placement-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-row{grid-template-columns:minmax(120px,1fr) 36px 36px 58px minmax(120px,1fr)}.standings-row{grid-template-columns:34px minmax(110px,1fr) 36px 36px 44px 44px 72px minmax(180px,1.2fr)}.score-editor{grid-template-columns:1fr}.full-row{align-items:stretch;flex-direction:row;padding:10px}.full-row-title{flex:0 0 42px;font-size:11px;min-height:auto;min-width:42px;writing-mode:vertical-rl}.full-finals{border-left:2px solid #c6d5db;border-top:0;flex-direction:row;gap:10px;margin-left:6px;padding-left:10px;padding-top:0}.rounds{gap:12px}.mobile-action-bar{align-items:stretch;background:#fff;border-top:1px solid #cbd8dc;bottom:0;box-shadow:0 -8px 22px #1f343d1f;display:grid;gap:8px;grid-template-columns:minmax(0,1fr);left:0;padding:10px;position:fixed;right:0;z-index:20}.mobile-action-bar>.match-navigation{grid-column:1 / -1}.match-navigation{align-items:stretch;grid-template-columns:minmax(0,1fr);padding:9px}.match-navigation-controls{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.match-navigation.compact{gap:8px}.mobile-action-bar label{color:#344650;font-size:11px;gap:4px;margin-bottom:0}.mobile-action-bar input{min-height:38px;padding:7px 8px}.mobile-action-bar strong{color:#20343d;display:block;font-size:13px;overflow-wrap:anywhere}.mobile-match-scoring{grid-template-columns:1fr 1fr}.mobile-match-scoring>div{grid-column:1 / -1}.mobile-action-bar button{background:#116a75;border:0;border-radius:8px;color:#fff;font-weight:900;min-height:44px;overflow-wrap:anywhere;padding:8px}.mobile-action-bar button:disabled{background:#87989f}.app-shell{padding-bottom:280px}}.event-nav{align-items:stretch;background:var(--surface-panel);border-bottom:1px solid var(--border-default);display:flex;gap:4px;min-height:52px;overflow-x:auto;padding:6px 20px;scrollbar-width:thin}.event-nav button{align-items:center;background:transparent;border:0;border-bottom:3px solid transparent;color:var(--text-secondary);display:inline-flex;flex:0 0 auto;font-size:14px;font-weight:800;gap:8px;min-height:44px;padding:8px 16px;position:relative;transition:background-color .14s ease-out,color .14s ease-out}.event-nav button:hover{background:#edf5f5;color:var(--text-primary)}.event-nav button:focus-visible{outline:3px solid rgba(8,127,140,.28);outline-offset:-3px}.event-nav button.active{border-bottom-color:var(--accent-primary);color:var(--accent-primary)}.event-nav button b{align-items:center;background:var(--accent-primary);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;justify-content:center;min-height:20px;min-width:20px;padding:1px 6px}.event-workspace{margin:0 auto;max-width:1240px;padding:24px 20px 40px;width:100%}.event-workspace-panel{background:var(--surface-panel);border:1px solid var(--border-default);border-radius:8px;padding:24px}.workspace-heading{align-items:flex-start;border-bottom:1px solid #e0e7e9;display:flex;gap:24px;justify-content:space-between;margin-bottom:24px;padding-bottom:20px}.workspace-heading>div:first-child{min-width:0}.workspace-heading h2,.registration-summary h2{color:var(--text-primary);font-size:20px;line-height:1.3;margin-bottom:6px}.workspace-heading p:not(.eyebrow),.registration-summary>p:not(.eyebrow){color:var(--text-secondary);font-size:14px;margin-bottom:0}.workspace-status{align-items:center;background:#e8f4f3;border:1px solid #b9d7d5;border-radius:999px;color:#145e67;display:inline-flex;flex:0 0 auto;font-size:13px;font-weight:800;gap:7px;min-height:36px;padding:7px 12px}.event-form-grid{display:grid;gap:18px 20px;grid-template-columns:repeat(2,minmax(0,1fr))}.event-form-grid label{margin-bottom:0;min-width:0}.event-form-grid input,.event-form-grid select,.event-form-grid textarea,.registration-form input,.roster-row select{background:#fff;border-color:var(--border-default);min-height:44px}.event-form-grid input:focus,.event-form-grid select:focus,.event-form-grid textarea:focus,.registration-form input:focus,.roster-row select:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #087f8c24;outline:0}.event-form-grid textarea{min-height:132px}.wide-field{grid-column:1 / -1}.input-with-icon{align-items:center;display:grid;grid-template-columns:36px minmax(0,1fr);position:relative}.input-with-icon>svg{color:var(--text-secondary);grid-column:1;grid-row:1;justify-self:center;pointer-events:none;z-index:1}.input-with-icon>input{grid-column:1 / -1;grid-row:1;padding-left:38px}.registration-layout{display:grid;gap:32px;grid-template-columns:minmax(280px,.85fr) minmax(360px,1.15fr)}.registration-summary{align-content:start;background:var(--surface-muted);border-radius:8px;display:grid;min-width:0;padding:24px}.capacity-meter{background:#d4dfe2;border-radius:3px;height:10px;margin:18px 0 22px;overflow:hidden}.capacity-meter>span{background:var(--accent-primary);display:block;height:100%;min-width:0;transition:width .22s ease-in-out}.registration-metrics{display:grid;gap:10px;grid-template-columns:repeat(2,minmax(0,1fr))}.registration-metrics>div{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);display:grid;gap:2px 8px;grid-template-columns:auto minmax(0,1fr);padding:12px}.registration-metrics svg{color:var(--accent-primary);grid-row:1 / 3}.registration-metrics span{font-size:12px;font-weight:700}.registration-metrics strong{color:var(--text-primary);font-size:18px;overflow-wrap:anywhere}.registration-form{align-content:start;display:grid;gap:16px;min-width:0}.registration-share-card{background:#fff;border:1px solid var(--border-default);border-radius:8px;display:grid;gap:10px;margin-top:18px;padding:16px}.registration-share-card>div:first-child,.registration-share-actions,.registration-public-topbar,.registration-public-metrics>div{align-items:center;display:flex}.registration-share-card>div:first-child{color:var(--accent-primary);gap:8px}.registration-share-card p,.registration-share-card small{color:var(--text-secondary);font-size:12px;margin:0}.registration-share-card code{background:var(--surface-muted);border-radius:4px;color:#29414a;font-size:11px;overflow:hidden;padding:9px;text-overflow:ellipsis;white-space:nowrap}.registration-share-actions{flex-wrap:wrap;gap:8px}.registration-share-actions .secondary-action{align-items:center;display:inline-flex;gap:7px;justify-content:center;min-height:44px;padding:8px 12px}.registration-public-shell{background:#f3f7f8;color:var(--text-primary);min-height:100vh}.registration-public-topbar{background:#fff;border-bottom:1px solid var(--border-default);justify-content:space-between;min-height:76px;padding:12px max(20px,calc((100vw - 1120px)/2))}.registration-public-topbar .eyebrow{margin-bottom:2px}.registration-public-topbar strong{font-size:18px}.registration-public-topbar .secondary-action{align-items:center;display:inline-flex;gap:7px;min-height:44px;padding:8px 14px}.registration-public-content{margin:0 auto;max-width:1120px;padding:28px 20px 56px}.registration-event-banner{background:#17353d;border-radius:8px;color:#fff;display:grid;gap:32px;grid-template-columns:minmax(280px,1.1fr) minmax(420px,1fr);margin-bottom:20px;overflow:hidden;padding:32px}.registration-event-intro{align-content:center;display:grid}.live-kicker{align-items:center;color:#7be3d5;display:inline-flex;font-size:12px;font-weight:900;gap:7px;margin-bottom:12px}.registration-event-intro h1{font-size:clamp(28px,4vw,44px);line-height:1.15;margin:0 0 12px;overflow-wrap:anywhere}.registration-event-intro p{color:#c9d8dc;font-size:14px;line-height:1.7;margin:0;white-space:pre-line}.registration-event-facts{display:grid;gap:1px;grid-template-columns:repeat(2,minmax(0,1fr));margin:0}.registration-event-facts>div{background:#24444c;min-width:0;padding:16px}.registration-event-facts dt{align-items:center;color:#9fb7bd;display:flex;font-size:11px;font-weight:800;gap:6px;margin-bottom:7px}.registration-event-facts dd{font-size:14px;font-weight:800;margin:0;overflow-wrap:anywhere}.registration-public-grid{display:grid;gap:20px;grid-template-columns:minmax(280px,.8fr) minmax(420px,1.2fr)}.registration-capacity-card,.registration-public-form,.registration-status-card,.registration-public-state{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:24px}.registration-capacity-card h2,.registration-public-form h2,.registration-status-card h2{font-size:21px;line-height:1.3;margin:4px 0 8px}.registration-public-metrics{display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.registration-public-metrics>div{background:var(--surface-muted);border-radius:6px;display:grid;gap:2px 8px;grid-template-columns:auto minmax(0,1fr);padding:12px}.registration-public-metrics svg{color:var(--accent-primary);grid-row:1 / 3}.registration-public-metrics span{color:var(--text-secondary);font-size:11px;font-weight:800}.registration-public-metrics strong{font-size:17px}.deadline-copy{color:var(--text-secondary);font-size:12px;margin:16px 0 0}.registration-public-form{display:grid;gap:16px}.registration-public-form>div>p:not(.eyebrow),.registration-status-card>p:not(.eyebrow){color:var(--text-secondary);font-size:13px;margin:0}.registration-public-form label{margin:0}.registration-public-form input{background:#fff;border-color:var(--border-default);min-height:48px}.registration-public-form input:focus{border-color:var(--accent-primary);box-shadow:0 0 0 3px #087f8c24;outline:0}.registration-public-form .primary-action{min-height:48px}.form-message.error{background:#fff0ed;border-left-color:#c94f3d;color:#8b3024}.registration-status-card{align-content:start;border-top:4px solid var(--status-winner);display:grid;gap:10px}.registration-status-card>svg{color:var(--status-winner)}.registration-status-card.status-waitlist{border-top-color:#c28a13}.registration-status-card.status-waitlist>svg{color:#c28a13}.registration-status-card dl{border-top:1px solid var(--border-default);display:grid;gap:10px;margin:8px 0 0;padding-top:14px}.registration-status-card dl>div{display:flex;gap:16px;justify-content:space-between}.registration-status-card dt{color:var(--text-secondary);font-size:12px;font-weight:800}.registration-status-card dd{font-weight:900;margin:0}.registration-public-state{align-items:center;display:flex;gap:10px;margin:40px auto;max-width:680px}.registration-public-state p{margin:0}.registration-public-state.error{border-left:4px solid #c94f3d}.registration-form label{margin-bottom:0}.registration-form .primary-action,.roster-actions .primary-action,.roster-actions .secondary-action{align-items:center;display:inline-flex;gap:8px;justify-content:center;min-height:44px}.registration-form .primary-action{justify-self:start;min-width:180px;width:auto}.form-title{align-items:flex-start;display:flex;gap:12px;margin-bottom:2px}.form-title>svg{color:var(--accent-primary);flex:0 0 auto;margin-top:2px}.form-title h3{color:var(--text-primary);font-size:17px;margin-bottom:3px}.form-title p{color:var(--text-secondary);font-size:13px;margin-bottom:0}.form-message{background:#e9f5f2;border-left:4px solid var(--status-winner);border-radius:4px;color:#145c50;font-size:13px;font-weight:700;margin:0;padding:10px 12px}.roster-heading{align-items:center}.roster-actions{align-items:stretch;display:flex;flex:0 0 auto;flex-wrap:wrap;gap:8px;justify-content:flex-end}.roster-actions .primary-action,.roster-actions .secondary-action{padding:9px 12px;width:auto}.secondary-action{background:#edf3f4;border:1px solid var(--border-default);border-radius:8px;color:#29414a;font-weight:800}.secondary-action:hover:not(:disabled){background:#dfeaec}.roster-kpis{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.roster-kpis>span{align-items:center;background:var(--surface-muted);border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:13px;gap:7px;min-height:38px;padding:7px 11px}.roster-kpis svg,.roster-kpis strong{color:var(--accent-primary)}.roster-table{border:1px solid var(--border-default);border-radius:8px;overflow:hidden}.roster-search{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:8px;color:var(--text-secondary);display:flex;gap:9px;margin:0 0 12px;min-height:44px;padding:0 11px}.roster-search input{border:0;min-width:0;outline:0;padding:8px 0}.roster-search input:focus{box-shadow:none}.roster-row{align-items:center;border-bottom:1px solid #e0e7e9;display:grid;gap:12px;grid-template-columns:64px minmax(160px,1.1fr) 96px 108px minmax(160px,1fr) 64px;min-height:58px;padding:8px 12px}.roster-row:last-child{border-bottom:0}.roster-row>*{min-width:0}.roster-row>strong{color:var(--text-primary);overflow-wrap:anywhere}.roster-row select{margin:0;min-height:44px;padding:7px 9px;width:100%}.roster-head{background:var(--surface-muted);color:#52666f;font-size:12px;font-weight:900;min-height:42px}.roster-empty{color:var(--text-secondary);padding:18px;text-align:center}.tournament-staff-panel{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:8px;display:grid;gap:10px;margin:14px 0;padding:12px}.tournament-staff-panel h3,.tournament-staff-panel p,.tournament-staff-panel label{margin:0}.tournament-staff-panel>button{min-height:44px}.swiss-control-panel>small{color:var(--text-secondary);line-height:1.45}.staff-access-row{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:6px;display:flex;gap:8px;justify-content:space-between;min-width:0;padding:7px 9px}.staff-access-row>span{min-width:0;overflow-wrap:anywhere}.staff-access-row small{color:var(--text-secondary);display:block;margin-top:2px}.staff-access-row>div{display:flex;flex:0 0 auto}.roster-row.status-waitlist{background:#fffaf1}.roster-row.status-cancelled{background:#f6f7f7;color:#7e8b91}.roster-row.status-cancelled>strong,.roster-row.status-cancelled .contact-cell{text-decoration:line-through}.checkin-toggle{align-items:center;background:#f5f8f9;border:1px solid var(--border-default);border-radius:6px;color:var(--text-secondary);display:inline-flex;font-size:12px;font-weight:800;gap:5px;justify-content:center;min-height:44px;padding:7px 9px;white-space:nowrap}.checkin-toggle.checked{background:#dff4ed;border-color:#83c9b6;color:#0b6b58}.contact-cell{color:var(--text-secondary);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-action{background:transparent;border:0;font-size:13px;font-weight:800;min-height:44px;min-width:44px;padding:6px}.danger-text{color:var(--status-error)}.danger-text:hover:not(:disabled){background:#fcedeb;border-radius:6px}.roster-empty{color:var(--text-secondary);font-size:14px;padding:28px 16px;text-align:center}.workspace-hidden{display:none}.public-event-hero{align-items:stretch;background:#1d272e;border:1px solid #394852;border-radius:8px;color:var(--text-on-dark);display:grid;gap:24px;grid-template-columns:minmax(260px,1.2fr) minmax(480px,1.8fr);margin-bottom:16px;overflow:hidden;padding:22px 24px}.public-event-title{min-width:0}.public-event-title>span{align-items:center;color:#ff7a6a;display:inline-flex;font-size:11px;font-weight:900;gap:6px;margin-bottom:8px}.public-event-title h2{color:#fff;font-size:24px;line-height:1.25;margin-bottom:6px;overflow-wrap:anywhere}.public-event-title p{color:#bcc8ce;font-size:13px;margin-bottom:0;overflow-wrap:anywhere}.public-event-facts{align-items:stretch;display:grid;gap:1px;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;min-width:0}.public-event-facts>div{background:#26323a;min-width:0;padding:12px}.public-event-facts dt{align-items:center;color:#91a3ac;display:flex;font-size:11px;gap:5px;margin-bottom:5px}.public-event-facts dd{color:#fff;font-size:13px;font-weight:800;line-height:1.45;overflow-wrap:anywhere}.bracket-viewport,.overview-board .bracket-viewport{background:var(--surface-arena);border-color:#35434c;box-shadow:inset 0 0 0 1px #ffffff06;scrollbar-color:#60717b #20272d}.bracket-pan-content{padding:2px}.connection-layer path{stroke:#b9c6cc;stroke-width:2.75}.bracket-viewport .bracket-section,.bracket-viewport .full-bracket{background:var(--surface-arena);border-color:#3a4851}.bracket-viewport .bracket-section>h3{color:var(--text-on-dark)}.bracket-viewport .full-row{background:var(--surface-arena)}.bracket-viewport .full-row-title{background:#0f333a;border:1px solid #2e6971;color:#fff}.bracket-viewport .championship-title{background:color-mix(in srgb,var(--status-final) 62%,#332806);border-color:color-mix(in srgb,var(--status-final) 75%,#4f4217)}.bracket-viewport .placement-title{background:color-mix(in srgb,var(--status-warning) 62%,#321b0f);border-color:color-mix(in srgb,var(--status-warning) 78%,#4f2d1a)}.bracket-viewport .placement-band{background:#1b252b;border-color:#53626b}.bracket-viewport .placement-band-header{border-bottom-color:#52616a}.bracket-viewport .placement-band-header h3{color:#fff}.bracket-viewport .placement-band-header p,.bracket-viewport .placement-pool>h4{color:#aebbc1}.bracket-viewport .placement-pool{background:#20292f;border-color:#52616a}.bracket-viewport .full-finals{border-left-color:#60717b}.bracket-viewport .losers-divider{background:#292722;border-color:#5c5547;color:#f7f3e8}.bracket-viewport .losers-row,.bracket-viewport .finals-row{background:#19191a;border-color:#4c4a45}.bracket-viewport .round{background:var(--surface-arena-raised);border-color:var(--border-arena);box-shadow:0 2px #0000004d}.bracket-viewport .round h4{background:#303c44;border-bottom:1px solid #52636e;color:#fff;font-size:13px;line-height:1.4;min-height:38px;overflow-wrap:anywhere;padding:9px 11px}.bracket-viewport .stage-losers{background:#282620;border-color:#5a5448}.bracket-viewport .stage-losers h4{background:#3d3931;border-bottom-color:#625b4e}.bracket-viewport .stage-grand_final,.bracket-viewport .stage-reset_final,.bracket-viewport .championship-round{background:#2c281b;border-color:var(--status-final)}.bracket-viewport .stage-grand_final h4,.bracket-viewport .stage-reset_final h4,.bracket-viewport .championship-round h4{background:#69520b;border-bottom-color:var(--status-final)}.bracket-viewport .stage-third_place,.bracket-viewport .placement-round{background:#2c211b;border-color:var(--status-warning)}.bracket-viewport .stage-third_place h4,.bracket-viewport .placement-round h4{background:#6e3515;border-bottom-color:var(--status-warning)}.bracket-viewport .rank-placement-round{background:#1d302e;border-color:#4a8173}.bracket-viewport .rank-placement-round h4{background:#28544c;border-bottom-color:#6eac9b}.bracket-viewport .match.selected{outline-color:#41d4c0}.bracket-viewport .match.highlighted-player{filter:drop-shadow(0 0 9px rgba(30,211,177,.5))}.bracket-viewport .match-code{color:#9fb0b8;font-family:SFMono-Regular,Consolas,monospace;font-size:11px}.bracket-viewport .player{background:#303a42;border-color:#566671;color:#f4f8f9;font-size:13px;min-height:38px}.bracket-viewport .player:hover:not(:disabled){background:#384750;border-color:#69c9c8}.bracket-viewport .player-name{padding:8px 9px}.bracket-viewport .player-score{background:#202a30;border-left-color:#566671;color:#fff;font-family:SFMono-Regular,Consolas,monospace;min-width:38px}.bracket-viewport .player-score:empty{background:#263138}.bracket-viewport .player.winner{background:#087e70;border-color:#42d2b8;box-shadow:inset 5px 0 #5ce1c9;color:#fff}.bracket-viewport .player.winner .player-score{background:#10a88c;border-left-color:#55ddc5;color:#fff}.bracket-viewport .player.highlighted{background:#976f05;border-color:#f0c141;box-shadow:inset 5px 0 #ffd363;color:#fff}.bracket-viewport .player.highlighted .player-score{background:#d89d16;border-left-color:#ffd363;color:#151a1f}.bracket-viewport .player.loser{background:#252d32;border-color:#404c54;color:#8f9da4}.bracket-viewport .player.loser .player-score{background:#1d252a;border-left-color:#404c54;color:#8f9da4}.bracket-viewport .match.pending .player{color:#7f8e95}@media(max-width:1100px){.event-workspace{padding:20px 16px 32px}.registration-layout{gap:20px;grid-template-columns:minmax(240px,.8fr) minmax(320px,1.2fr)}.roster-heading{align-items:flex-start;flex-direction:column}.roster-actions{justify-content:flex-start;width:100%}.roster-row{grid-template-columns:56px minmax(140px,1fr) 92px 104px minmax(140px,.9fr) 56px;min-width:720px}.roster-table{overflow-x:auto}.public-event-hero{grid-template-columns:minmax(230px,.9fr) minmax(420px,1.5fr)}.public-event-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.registration-event-banner{grid-template-columns:minmax(240px,.9fr) minmax(380px,1.1fr)}}@media(max-width:760px){.event-nav{display:grid;gap:0;grid-template-columns:repeat(4,minmax(0,1fr));overflow:hidden;padding:4px 10px}.event-nav button{flex-direction:column;font-size:11px;gap:2px;justify-content:center;min-width:0;min-height:46px;padding:5px 3px}.event-nav button b{position:absolute;right:5px;top:3px}.app-shell:not(.public-shell) .layout .setup-panel{display:none}.app-shell:not(.public-shell) .layout .setup-panel:has(.tournament-staff-panel){display:contents}.app-shell:not(.public-shell) .layout .setup-panel:has(.tournament-staff-panel)>:not(.tournament-staff-panel){display:none}.app-shell:not(.public-shell) .layout .tournament-staff-panel{grid-column:1 / -1;margin:0}.app-shell:not(.public-shell) .layout.chart-focus-layout .setup-panel:has(.tournament-staff-panel){display:none}.chart-tools{grid-template-columns:repeat(3,minmax(0,1fr))}.event-workspace{padding:12px 10px 28px}.event-workspace-panel{padding:16px}.workspace-heading{align-items:flex-start;flex-direction:column;gap:12px;margin-bottom:18px;padding-bottom:16px}.workspace-status{align-self:flex-start}.event-form-grid,.registration-layout{gap:16px;grid-template-columns:minmax(0,1fr)}.wide-field{grid-column:auto}.registration-summary{padding:18px}.registration-metrics{gap:8px}.registration-metrics>div{padding:10px}.registration-form .primary-action{justify-self:stretch;width:100%}.roster-actions{display:grid;grid-template-columns:minmax(0,1fr)}.roster-actions .primary-action,.roster-actions .secondary-action{width:100%}.roster-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.roster-kpis>span:first-child{grid-column:1 / -1}.roster-table{overflow:visible}.roster-head{display:none}.roster-row:not(.roster-head){gap:9px;grid-template-columns:minmax(0,1fr) 112px;min-width:0;padding:12px}.roster-row:not(.roster-head)>strong{align-self:center;font-size:12px}.roster-row:not(.roster-head)>strong:nth-child(2){font-size:16px;grid-column:1 / -1;grid-row:2}.roster-row:not(.roster-head)>.roster-status-cell{grid-column:2;grid-row:1}.roster-row:not(.roster-head)>.roster-checkin-cell{grid-column:1;grid-row:3;justify-self:start}.roster-row:not(.roster-head)>.roster-checkin-cell .checkin-toggle{min-height:44px}.roster-row:not(.roster-head)>.contact-cell{grid-column:1 / -1;grid-row:4;white-space:normal}.roster-row:not(.roster-head)>.roster-action-cell{align-self:center;grid-column:2;grid-row:3;justify-self:end}.public-event-hero{gap:18px;grid-template-columns:minmax(0,1fr);padding:18px}.public-event-title h2{font-size:21px}.public-event-facts{grid-template-columns:repeat(2,minmax(0,1fr))}.public-event-facts>div{padding:10px}.registration-public-topbar{min-height:66px;padding:10px 14px}.registration-public-topbar strong{font-size:16px}.registration-public-topbar .secondary-action{min-height:44px;padding:7px 11px}.registration-public-content{padding:12px 10px 36px}.registration-event-banner{gap:20px;grid-template-columns:minmax(0,1fr);padding:20px}.registration-event-intro h1{font-size:28px}.registration-event-facts>div{padding:12px}.registration-public-grid{grid-template-columns:minmax(0,1fr)}.registration-capacity-card,.registration-public-form,.registration-status-card{padding:18px}.registration-share-actions{display:grid;grid-template-columns:minmax(0,1fr)}.registration-share-actions .secondary-action{width:100%}.bracket-viewport,.overview-board .bracket-viewport{padding:8px}.bracket-viewport .round h4,.bracket-viewport .player{min-height:36px}.bracket-viewport .connection-layer path{stroke-width:3}}@media(prefers-reduced-motion:reduce){.event-nav button,.capacity-meter>span{transition:none}}@media print{.setup-panel,.details-panel,.toolbar{display:none}.layout{display:block}.topbar{position:static}}.draw-manager-panel{display:grid;gap:20px}.draw-setup-grid{display:grid;gap:20px;grid-template-columns:minmax(260px,.75fr) minmax(360px,1.25fr)}.draw-setup-form,.draw-entry-picker,.draw-history-panel,.draw-exclusion-panel{background:var(--surface-muted);border:1px solid var(--border-default);border-radius:8px;min-width:0;padding:18px}.draw-setup-form{align-content:start;display:grid;gap:4px}.draw-rule-note{align-items:flex-start;background:#fff8e7;border:1px solid #e4ca7f;border-radius:6px;color:#73580b;display:flex;font-size:13px;gap:9px;line-height:1.55;margin-top:8px;padding:10px 11px}.draw-rule-note svg{flex:0 0 auto;margin-top:2px}.draw-picker-heading,.draw-section-heading{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.draw-picker-heading strong,.draw-section-heading h3{color:var(--text-primary);display:block;font-size:16px;margin:0}.draw-picker-heading span,.draw-section-heading span{color:var(--text-secondary);display:block;font-size:12px;margin-top:2px}.draw-picker-actions{display:flex;gap:4px}.draw-picker-actions .text-action{color:var(--accent-primary);min-height:32px;min-width:auto;padding:4px 7px}.draw-search{align-items:center;background:#fff;border:1px solid var(--border-default);border-radius:6px;display:flex;gap:8px;margin:14px 0 10px;padding:0 10px}.draw-search svg{color:var(--text-secondary);flex:0 0 auto}.draw-search input{border:0;min-height:40px;outline:0;padding:7px 0}.draw-search:focus-within{border-color:var(--accent-primary);box-shadow:0 0 0 3px #087f8c24}.draw-entry-list,.draw-session-entries{background:#fff;border:1px solid var(--border-default);border-radius:6px;max-height:300px;overflow:auto}.draw-entry-option{align-items:center;border-bottom:1px solid #e1e8ea;display:flex;gap:9px;margin:0;min-height:44px;padding:7px 10px}.draw-entry-option:last-child{border-bottom:0}.draw-entry-option input{accent-color:var(--status-warning);flex:0 0 auto;height:17px;margin:0;width:17px}.draw-entry-option span{color:var(--text-primary);flex:1;font-size:14px;overflow-wrap:anywhere}.draw-entry-option small{color:var(--status-warning);font-size:11px;font-weight:900}.draw-entry-option.excluded{background:#fffaf1}.draw-picker-summary{align-items:center;color:var(--accent-primary);display:flex;font-size:13px;font-weight:900;gap:7px;margin-top:12px}.draw-picker-summary span{color:var(--status-warning);font-weight:700;margin-left:auto}.draw-actions-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.draw-actions-row .primary-action,.draw-actions-row .secondary-action{align-items:center;display:inline-flex;gap:8px;justify-content:center;min-height:44px;padding:9px 14px}.draw-public-link{align-items:center;background:#17353d;border-radius:8px;color:#fff;display:grid;gap:10px;grid-template-columns:minmax(130px,.4fr) minmax(0,1fr) auto;padding:14px 16px}.draw-public-link>div{min-width:0}.draw-public-link strong,.draw-public-link span{display:block}.draw-public-link strong{font-size:14px}.draw-public-link span{color:#9cc0c3;font-size:11px;margin-top:2px}.draw-public-link code{background:#24444c;border-radius:5px;color:#e4f2f1;font-size:12px;overflow:hidden;padding:10px;text-overflow:ellipsis;white-space:nowrap}.draw-public-link .secondary-action{align-items:center;background:#e8f4f3;border-color:#a9d1cf;color:#145e67;display:inline-flex;gap:7px;min-height:40px;padding:7px 11px}.draw-live-grid{display:grid;gap:20px;grid-template-columns:minmax(280px,1.05fr) minmax(260px,.95fr)}.draw-roulette-stage{align-items:center;background:#1d272e;border:1px solid #394852;border-radius:8px;color:#fff;display:grid;justify-items:center;min-height:520px;overflow:hidden;padding:28px 20px;position:relative;text-align:center}.draw-roulette-stage:before{display:none}.draw-roulette-kicker,.draw-roulette-stage small{color:#a8bec4;font-size:12px;font-weight:800;position:relative}.draw-roulette-stage>strong{color:#fff;font-size:clamp(24px,4vw,38px);line-height:1.2;max-width:100%;overflow-wrap:anywhere;position:relative}.draw-wheel-wrap{aspect-ratio:1;max-width:430px;position:relative;width:min(100%,430px);z-index:1}.draw-wheel-wrap:before{border-left:14px solid transparent;border-right:14px solid transparent;border-top:30px solid #f4ca53;content:"";filter:drop-shadow(0 2px 3px rgba(0,0,0,.35));left:50%;position:absolute;top:-4px;transform:translate(-50%);z-index:3}.draw-wheel{display:block;height:100%;overflow:visible;width:100%}.draw-wheel-rotor{display:block;height:100%;transform-origin:50% 50%;width:100%;will-change:transform}.draw-wheel-shadow{fill:#111a1f;stroke:#f4ca53;stroke-width:1.5}.draw-wheel-slice{stroke:#ffffffe6;stroke-width:.5}.draw-wheel-name{fill:#fff;font-weight:900;paint-order:stroke;pointer-events:none;stroke:#0c202780;stroke-width:.22;text-anchor:middle}.draw-wheel-center{fill:#1d272e;stroke:#f4ca53;stroke-width:1}.draw-wheel-center-label{fill:#fff;font-size:3.2px;font-weight:900;letter-spacing:.15px}.draw-wheel-outline{fill:none;stroke:#f4ca53;stroke-width:1.4}.draw-wheel-empty{align-items:center;color:#a8bec4;display:flex;min-height:300px;justify-content:center}.draw-progress-panel{align-content:center;background:var(--surface-muted);border:1px solid var(--border-default);border-radius:8px;display:grid;gap:18px;padding:20px}.draw-progress-kpis{display:grid;gap:8px;grid-template-columns:repeat(3,minmax(0,1fr))}.draw-progress-kpis>div{background:#fff;border:1px solid var(--border-default);border-radius:6px;min-width:0;padding:12px 10px;text-align:center}.draw-progress-kpis span,.draw-progress-kpis strong{display:block}.draw-progress-kpis span{color:var(--text-secondary);font-size:12px;font-weight:800}.draw-progress-kpis strong{color:var(--text-primary);font-size:24px;line-height:1.15;margin-top:4px}.draw-next-button{align-items:center;display:inline-flex;gap:8px;justify-content:center;min-height:50px}.draw-progress-note{color:var(--text-secondary);font-size:12px;margin:0;text-align:center}.draw-session-columns{display:grid;gap:20px;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.draw-section-heading>svg{color:var(--text-secondary)}.draw-section-heading>strong{color:var(--accent-primary);font-size:13px}.draw-history-list,.public-draw-history ol{list-style:none;margin:14px 0 0;max-height:300px;overflow:auto;padding:0}.draw-history-list li,.public-draw-history li{align-items:center;background:#fff;border-bottom:1px solid #e1e8ea;display:grid;gap:10px;grid-template-columns:34px minmax(0,1fr) auto;min-height:44px;padding:7px 10px}.draw-history-list li:first-child,.public-draw-history li:first-child{border-radius:6px 6px 0 0}.draw-history-list li:last-child,.public-draw-history li:last-child{border-bottom:0;border-radius:0 0 6px 6px}.draw-history-list li b,.public-draw-history li b{align-items:center;background:var(--accent-primary);border-radius:50%;color:#fff;display:flex;font-size:12px;height:25px;justify-content:center;width:25px}.draw-history-list li span,.public-draw-history li span{color:var(--text-primary);font-size:14px;font-weight:800;overflow-wrap:anywhere}.draw-history-list li small,.public-draw-history li small{color:var(--text-secondary);font-size:11px}.draw-history-list li.empty{display:block;color:var(--text-secondary);padding:20px 10px;text-align:center}.draw-session-entries{margin-top:14px}.draw-footer-actions{border-top:1px solid #e0e7e9;padding-top:18px}.draw-status-active{background:#e8f4f3;border-color:#8cc6bb;color:#0b6b58}.draw-status-completed{background:#fff7dc;border-color:#e4c76a;color:#725607}.public-draw-shell{background:#f2f6f7;color:var(--text-primary);min-height:100vh}.public-draw-topbar{align-items:center;background:#fff;border-bottom:1px solid var(--border-default);display:flex;gap:16px;justify-content:space-between;min-height:68px;padding:12px max(20px,calc((100vw - 1120px)/2))}.public-draw-brand strong,.public-draw-brand .eyebrow{display:block}.public-draw-brand strong{font-size:18px}.public-draw-live{align-items:center;color:#0b6b58;display:flex;font-size:13px;font-weight:900;gap:6px}.public-draw-live small{color:var(--text-secondary);font-size:11px;font-weight:700;margin-left:6px}.public-draw-content{display:grid;gap:18px;margin:0 auto;max-width:1120px;padding:24px 20px 56px}.public-draw-hero{align-items:stretch;background:#17353d;border-radius:8px;color:#fff;display:grid;gap:24px;grid-template-columns:minmax(280px,1fr) minmax(360px,1fr);padding:28px}.public-draw-kicker{align-items:center;color:#7be3d5;display:inline-flex;font-size:12px;font-weight:900;gap:7px}.public-draw-hero h1{color:#fff;font-size:clamp(26px,4vw,42px);line-height:1.2;margin:10px 0 8px;overflow-wrap:anywhere}.public-draw-hero p{color:#c9d8dc;font-size:14px;margin:0}.public-draw-metrics{align-items:stretch;display:grid;gap:1px;grid-template-columns:repeat(3,minmax(0,1fr))}.public-draw-metrics>div{align-content:center;background:#24444c;display:grid;gap:3px;justify-items:center;min-width:0;padding:14px 10px;text-align:center}.public-draw-metrics>div:first-child{border-radius:6px 0 0 6px}.public-draw-metrics>div:last-child{border-radius:0 6px 6px 0}.public-draw-metrics svg{color:#7be3d5}.public-draw-metrics span{color:#9fb7bd;font-size:11px;font-weight:800}.public-draw-metrics strong{color:#fff;font-size:25px;line-height:1.1}.public-draw-result{align-items:center;background:#fff7dc;border:2px solid #e5bf40;border-radius:8px;display:grid;gap:7px;justify-items:center;min-height:560px;padding:26px 20px;text-align:center}.public-draw-result>span{color:#73580b;font-size:13px;font-weight:900}.public-draw-result-mark{align-items:center;border:2px solid #e5bf40;border-radius:50%;color:#73580b;display:flex;height:48px;justify-content:center;width:48px}.public-draw-result>strong{color:#3f3109;font-size:clamp(30px,5vw,52px);line-height:1.1;max-width:100%;overflow-wrap:anywhere}.public-draw-result>small{color:#806e35;font-size:12px}.public-draw-history{background:#fff;border:1px solid var(--border-default);border-radius:8px;padding:20px}.public-draw-history>header{align-items:flex-start;display:flex;justify-content:space-between}.public-draw-history h2{margin:4px 0 0}.public-draw-history>header>strong{color:var(--accent-primary);font-size:14px}.public-draw-history li.latest{background:#e8f4f3;box-shadow:inset 4px 0 0 var(--status-winner)}.public-draw-empty,.public-draw-state{align-items:center;color:var(--text-secondary);display:flex;gap:10px;justify-content:center;min-height:120px;text-align:center}.public-draw-state{flex-direction:column;min-height:100vh;padding:20px}.public-draw-state p{margin:0;max-width:420px}@media(max-width:900px){.draw-setup-grid,.draw-live-grid,.public-draw-hero{grid-template-columns:minmax(0,1fr)}.draw-public-link{grid-template-columns:minmax(0,1fr) auto}.draw-public-link>div{grid-column:1 / -1}}@media(max-width:760px){.event-nav{display:flex;justify-content:flex-start;overflow-x:auto;padding:4px 10px}.event-nav button{flex:0 0 84px}.draw-manager-panel{gap:14px}.draw-setup-form,.draw-entry-picker,.draw-history-panel,.draw-exclusion-panel,.draw-progress-panel{padding:14px}.draw-picker-heading{flex-direction:column;gap:6px}.draw-picker-actions{align-self:flex-start}.draw-public-link{grid-template-columns:minmax(0,1fr)}.draw-public-link .secondary-action{width:100%}.draw-session-columns{grid-template-columns:minmax(0,1fr)}.draw-progress-kpis strong{font-size:21px}.draw-actions-row{align-items:stretch;flex-direction:column}.draw-actions-row .primary-action,.draw-actions-row .secondary-action{width:100%}.draw-actions-row .muted{text-align:center}.public-draw-topbar{align-items:flex-start;flex-direction:column;padding:12px 14px}.public-draw-live{width:100%}.public-draw-content{padding:12px 10px 36px}.public-draw-hero{gap:18px;padding:20px}.public-draw-metrics strong{font-size:21px}.public-draw-history{padding:14px}.draw-roulette-stage{min-height:430px;padding:22px 14px}.public-draw-result{min-height:440px;padding:20px 12px}}@media(prefers-reduced-motion:reduce){.draw-wheel-rotor{transition:none!important}}
