.tournament-list{display:grid;gap:16px}.tournament-card{display:flex;align-items:center;justify-content:space-between;gap:24px;background:#fff8;border:1px solid var(--line);border-radius:12px;padding:26px}.tournament-card h2{font-size:25px;letter-spacing:-.03em;margin:10px 0}.tournament-card p{font-size:12px;color:var(--muted)}.tournament-card .btn{flex-shrink:0}.current-tournaments-link{padding-top:28px}.division-nav{display:flex;flex-wrap:wrap;gap:8px;font-size:13px;width:auto;order:initial;margin:0 0 24px;justify-content:flex-start}.division-nav a{padding:13px 16px;border:1px solid var(--line);border-radius:7px;font-weight:700}.division-nav a.selected{color:white;background:var(--deep)}.division-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin:25px 0}.division-heading h2{font-size:27px;margin:0 0 10px}.tournament-section-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.tournament-section-head h2{margin:0}.entry-list{margin-top:20px}.entry-row{display:flex;justify-content:space-between;gap:18px;padding:20px 0;border-bottom:1px solid var(--line)}.entry-row h3{font-size:15px;margin:0 0 8px}.entry-row p{font-size:11px;color:var(--muted);margin:0 0 7px}.entry-actions{display:flex;gap:13px;align-items:center;font-size:11px}.format-fields,.player-fields{min-width:0;border:1px solid var(--line);border-radius:8px;padding:18px;margin:22px 0}.format-fields legend,.player-fields legend{padding:0 8px;font-size:13px;font-weight:700}.format-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:16px}.format-fields label,.player-fields label{font-size:11px}.format-fields .small{line-height:1.6;margin-top:16px}.format-fields input,.format-fields select,.player-fields input{font-size:13px}#modal:has(.format-fields){max-width:760px;width:calc(100% - 36px);max-height:92dvh;overflow:auto}#modal:has(.format-fields) h2{font-size:26px}form details{border-bottom:1px solid var(--line);padding:15px 0}summary{cursor:pointer;font-size:13px;font-weight:700;line-height:1.5}form>.btn{margin-top:22px}.draw-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:20px 0}.draw-stage-title{font-size:25px;margin:30px 0 18px}.tournament-bracket{display:flex;gap:20px;overflow:auto;padding:4px 2px 20px;max-width:100%;scroll-snap-type:x proximity}.bracket-round{min-width:260px;flex:1;scroll-snap-align:start}.bracket-round>h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 14px}.bracket-round>div{display:flex;flex-direction:column;justify-content:space-around;gap:20px;min-height:calc(100% - 40px)}.draw-match{border:1px solid var(--line);background:#fff8;border-radius:9px;padding:14px;min-width:0}.draw-match.complete{border-color:#aec195}.draw-match-round{font-size:9px;color:var(--muted);display:block;margin-bottom:9px}.draw-side{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 0;font-size:13px;border-bottom:1px solid var(--line)}.draw-side>span{overflow-wrap:anywhere}.draw-side>b{white-space:nowrap;font-variant-numeric:tabular-nums}.draw-side.seeded{color:var(--accent-text);font-weight:700}.draw-match-foot{display:flex;align-items:center;justify-content:space-between;font-size:10px;gap:8px;margin-top:10px;min-height:16px}.draw-match-foot .plain{font-size:10px;font-weight:700}.match-format-details{margin-top:10px;border-top:1px solid var(--line);padding-top:8px}.match-format-details summary{font-size:9px;color:var(--muted);font-weight:400}.match-format-details p{font-size:10px;line-height:1.6}.group-standings{margin-bottom:30px;padding:22px;border:1px solid var(--line);border-radius:12px}.group-standings h3{font-size:20px;margin:0 0 16px}.group-matches{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:24px}.standings-rules{max-width:820px;line-height:1.75;margin-top:25px}.manual-positions{border:1px solid var(--line);border-radius:7px;display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:22px 0;padding:18px}.manual-positions legend{font-size:13px;font-weight:700}.manual-positions label{font-size:10px}.manual-positions select{font-size:12px}.tournament-content-actions{display:flex;gap:10px;flex-wrap:wrap;margin:-6px 0 24px}.tournament-announcement{border-radius:10px;background:var(--accent);padding:25px;margin-bottom:26px}.tournament-announcement p{font-size:18px;line-height:1.55;margin:9px 0 0;white-space:pre-line}.tournament-intro{display:grid;grid-template-columns:1fr;gap:30px}.tournament-intro:has(.event-gallery){grid-template-columns:1fr 1fr}.tournament-description h2{font-size:25px;margin-top:0}.tournament-description p,.tournament-article p,.tournament-audience p{font-size:13px;line-height:1.8;white-space:pre-line;overflow-wrap:anywhere}.tournament-article{padding:20px 0;border-block:1px solid var(--line);margin-bottom:20px}.tournament-streams{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:20px}.tournament-streams h3{font-size:16px;margin-right:10px}.tournament-audience{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin:25px 0}.tournament-audience details{border:1px solid var(--line);border-radius:8px;padding:18px}.photo-editor-list{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:20px}.photo-editor-list img{width:100%;height:auto;border-radius:6px}.photo-editor-list .plain{font-size:11px}.archive-card{display:block;border:1px solid var(--line);border-radius:12px;overflow:hidden;background:#fff6;transition:transform .2s}.archive-card:hover{transform:translateY(-3px)}.archive-card-art{height:176px;position:relative;background:linear-gradient(135deg,#163641,#33555c);isolation:isolate;padding:18px;color:white;overflow:hidden}.archive-card-year{font-size:44px;font-weight:700;letter-spacing:-.05em;opacity:.9}.archive-card-court{position:absolute;inset:32px 28px 30px 60%;border:1px solid #dce8c480;transform:rotate(-20deg);z-index:-1}.archive-card-court:before{content:'';position:absolute;inset:27% 0;border-block:1px solid #dce8c450}.archive-card-art img{position:absolute;right:16px;top:16px;width:44%;height:auto;max-height:118px;object-fit:contain;border-radius:5px;filter:drop-shadow(0 7px 10px #00191c70)}.archive-card-date{position:absolute;left:18px;bottom:18px;font-size:10px;color:var(--accent)}.archive-card-symbol{position:absolute;right:30px;top:58px;font-size:28px;color:var(--accent);opacity:.5}.archive-card-copy{padding:18px}.archive-card-copy h3{font-size:15px;line-height:1.4;margin:0 0 18px;min-height:42px}.archive-card-copy>div{display:flex;gap:16px;align-items:center;justify-content:space-between;font-size:10px;color:var(--muted)}.archive-card-copy>div>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.archive-card-copy b{font-size:18px;color:var(--ink)}
/* A shared score strip for the umpire, TV and stream overlay. */
.score-strip{container-type:inline-size;color:white;background:linear-gradient(120deg,#143d4b,#102e39);border-radius:10px;overflow:hidden;padding:3.4%;font-variant-numeric:tabular-nums;min-width:0}.strip-head,.strip-row{display:grid;grid-template-columns:minmax(0,1fr) repeat(var(--set-count),9%) 13%;gap:1%;align-items:center}.without-points .strip-head,.without-points .strip-row{grid-template-columns:minmax(0,1fr) repeat(var(--set-count),10%)}.strip-head{font-size:2cqw;line-height:1.4;color:#b7c9cb;text-align:center;margin-bottom:1.4%}.strip-row{min-height:12cqw;border-bottom:1px solid #ffffff20}.strip-row:last-child{border:0}.strip-person{display:flex;align-items:center;gap:2%;min-width:0}.strip-person>b{font-size:3.8cqw;line-height:1.2;overflow-wrap:anywhere}.strip-person>img{width:9cqw;height:9cqw;border-radius:50%;object-fit:cover}.strip-row .serve-dot{width:1.4cqw;height:1.4cqw}.strip-set{font-size:5.2cqw;text-align:center}.strip-set.current{color:var(--accent)}.strip-point{background:var(--accent);color:var(--ink);font-size:6.1cqw;text-align:center;line-height:1.2;padding:8% 0;border-radius:4px}.strip-tag{font-size:2.3cqw;background:var(--accent);color:var(--ink);font-weight:700;width:max-content;padding:1.3% 2%;margin:0 0 2%;border-radius:4px}.shared-score-bug{width:34%;max-width:none;left:4%;bottom:6%;container-type:normal}.shared-score-bug .score-strip{border-radius:6px}.tv-shared-strip{position:absolute;inset:30% 7% 12%;display:flex;align-items:center}.tv-shared-strip>.score-strip{width:100%;background:transparent;padding:0;border-radius:0}.tv-shared-strip .strip-head{font-size:1cqw}.tv-shared-strip .strip-person>b{font-size:3.4cqw}.tv-shared-strip .strip-tag{font-size:1.3cqw}.tv-shared-strip .strip-row{min-height:13cqw}.referee-top{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:16px 0}.referee-top h1{font-size:23px;letter-spacing:-.025em;margin:6px 0 0}.referee-top .eyebrow{font-size:8px}.referee-home{font-size:11px;white-space:nowrap}.referee-workspace{max-width:760px;margin:0 auto}.referee-main{min-width:0}.referee-state{display:flex;justify-content:space-between;gap:12px;font-size:11px;line-height:1.5;margin:15px 0;color:var(--muted)}.referee-state>span:last-child{font-size:9px;font-weight:700;white-space:nowrap;color:var(--accent-text)}.referee-point-buttons{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:16px 0}.referee-point-buttons button{min-height:128px;padding:20px 14px;border-radius:12px;background:var(--deep);color:white}.referee-point-buttons button:nth-child(2){color:var(--ink);background:var(--accent)}.referee-point-buttons span{display:block;font-size:14px;line-height:1.3;overflow-wrap:anywhere}.referee-point-buttons b{display:block;font-size:32px;margin-top:10px}.referee-tools{display:flex;gap:8px}.referee-tools .btn{flex:1;font-size:12px;padding:13px 10px;justify-content:center}.referee-setup,.referee-secondary{margin:24px 0 0;border:1px solid var(--line);padding:18px;border-radius:9px;background:#fff5}.referee-setup>summary,.referee-secondary>summary{font-size:12px}.referee-setup>summary>span{font-weight:400;color:var(--muted);margin-left:14px;font-size:10px}.referee-setup>button{margin-top:20px;font-size:11px}.referee-setup .court-setup-head h2{font-size:18px}.referee-setup .court-profile-grid{grid-template-columns:1fr}.referee-setup .court-profile label{font-size:11px}.referee-setup #court-setup{margin-top:20px}.referee-setup .btn{font-size:11px}.referee-secondary .judge-log{margin-top:20px}.referee-result{border-radius:9px;padding:20px;background:#e5ecd9;margin-top:24px}.referee-result strong{font-size:20px}.referee-result p{font-size:12px}.referee-result .btn{margin-top:16px}.serve-clock{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:9px;padding:11px}.serve-clock .btn{font-size:12px;min-width:100px;padding:13px}.serve-clock b{font-size:29px;font-variant-numeric:tabular-nums}.serve-clock>span{font-size:10px;color:var(--muted)}.serve-clock.expired b{color:#ae4437}.point-popup h2{font-size:24px;margin:14px 0 22px}.point-popup .eyebrow{font-size:9px;letter-spacing:.08em}.point-reasons{display:grid;grid-template-columns:1fr 1fr;gap:10px}.point-reasons .btn{font-size:12px;padding:17px 12px;min-height:62px;justify-content:center;text-align:center}.serve-choice{border:0;margin:24px 0;padding:0;display:flex;gap:24px}.serve-choice legend{font-size:11px;font-weight:700;padding:0 0 10px}.serve-choice label{display:flex;gap:8px;align-items:center;font-size:12px}.serve-choice input{width:auto;margin:0}.judge-stats-dialog{max-width:600px;width:calc(100% - 24px);background:#14323c;color:white;border:0;padding:0;border-radius:12px;max-height:94dvh;overflow:auto}.judge-stats-dialog::backdrop{background:#08252c9c}.judge-popup-content .stats-layer{position:static;display:block}.judge-popup-content .stats-card{width:100%;box-shadow:none;max-width:none;padding:28px 20px;position:relative;transform:none;left:auto;top:auto;border-radius:0}.judge-popup-content .stats-kicker{font-size:9px}.judge-popup-content .stats-card h2{font-size:26px}.judge-popup-content .stats-player{font-size:14px}.judge-popup-content .stats-players>span{font-size:8px}.judge-popup-content .stats-row{padding:12px 0}.judge-popup-content .stats-row span{font-size:12px}.judge-popup-content .stats-row strong{font-size:21px}.judge-popup-content .stats-close{font-size:26px;right:12px;top:10px}.judge-stat-scopes{display:flex;gap:8px;flex-wrap:wrap;padding:0 20px 20px}.judge-stat-scopes .btn{font-size:11px;padding:11px 14px;color:white;border-color:#ffffff30}.custom-partner[hidden]{display:none}
body[data-workspace="judge"] .utility,body[data-workspace="judge"] .site-footer{display:none}body[data-workspace="judge"] .site-header nav{display:none}body[data-workspace="judge"] .header-inner{min-height:64px;padding:8px 0}body[data-workspace="judge"] .brand-mark{width:46px;height:46px}body[data-workspace="judge"] .brand{gap:12px;font-size:18px}body[data-workspace="judge"] .brand small{font-size:6px}body[data-workspace="judge"] .court-nav{flex-wrap:nowrap;overflow:auto;margin-bottom:18px}body[data-workspace="judge"] .court-nav a{flex:0 0 auto;padding:10px 12px;white-space:nowrap}
@media(max-width:1000px){.group-matches{grid-template-columns:repeat(2,minmax(0,1fr))}.tournament-card h2{font-size:22px}}
@media(max-width:700px){.tournament-card{padding:21px;flex-direction:column;align-items:flex-start;gap:12px}.tournament-card h2{font-size:22px}.tournament-card .btn{font-size:11px}.division-nav{gap:6px;font-size:11px}.division-nav a{padding:10px 12px}.division-heading{flex-direction:column}.division-heading h2{font-size:23px}.division-heading .small{line-height:1.65}.tournament-section-head{align-items:flex-start}.tournament-section-head h2{font-size:20px}.tournament-section-head .btn{font-size:10px;padding:11px}.entry-row{gap:14px}.entry-actions{flex-direction:column;gap:9px;justify-content:center;align-items:flex-end;font-size:10px}.entry-row h3{font-size:14px}.format-grid,.manual-positions{grid-template-columns:1fr}.format-fields,.player-fields{padding:14px}#modal:has(.format-fields){padding:24px 18px;width:calc(100% - 20px)}.draw-toolbar{gap:8px}.draw-toolbar .btn{font-size:10px;padding:12px}.bracket-round{min-width:260px}.group-standings{padding:15px}.group-matches{grid-template-columns:1fr}.tournament-intro:has(.event-gallery),.tournament-audience{grid-template-columns:1fr}.tournament-audience{gap:12px}.tournament-announcement{padding:20px}.tournament-announcement p{font-size:16px}.tournament-content-actions .btn{font-size:10px;padding:12px}.archive-card-art{height:140px}.archive-card-year{font-size:37px}.archive-card-art img{max-height:95px;top:12px;right:12px}.archive-card-copy{padding:16px}.archive-card-copy h3{font-size:14px;min-height:0;margin-bottom:12px}.referee-top{margin:12px 0}.referee-top h1{font-size:20px}.referee-state{font-size:10px;margin:12px 0}.referee-point-buttons{gap:9px;margin:12px 0}.referee-point-buttons button{min-height:110px;padding:15px 10px}.referee-point-buttons span{font-size:12px}.referee-point-buttons b{font-size:29px}.referee-tools .btn{font-size:11px;padding:13px 7px}.referee-setup,.referee-secondary{margin-top:18px;padding:15px}.serve-clock{padding:9px;gap:14px}.serve-clock .btn{min-width:90px;font-size:11px}.serve-clock b{font-size:27px}.serve-clock>span{font-size:9px}.point-popup h2{font-size:22px}.point-reasons{gap:8px}.point-reasons .btn{font-size:11px;line-height:1.45;min-height:60px}.shared-score-bug{width:46%}.strip-person>b{font-size:3.6cqw}body[data-workspace="judge"] .header-inner{flex-wrap:nowrap}body[data-workspace="judge"] .court-nav a{font-size:10px}body[data-workspace="judge"] #app{width:calc(100% - 24px);padding-bottom:24px}}
@media print{@page{size:A4 landscape;margin:10mm}.utility,.site-header,.site-footer,.back,.tournament-content-actions,.draw-toolbar,.division-nav,.tournament-top .btns,.match-format-details,.draw-match-foot button,.tabs,.tournament-editorial{display:none!important}body{background:#fff}#app{width:100%;margin:0;padding:0}.tournament-bracket{overflow:visible;display:flex;gap:5mm}.bracket-round{min-width:0;flex:1}.draw-match{break-inside:avoid;padding:2mm;background:#fff}.draw-side{font-size:9pt}.page-top{padding:0 0 3mm}.page-top h1{font-size:18pt}.group-standings{break-inside:avoid}.group-matches{grid-template-columns:repeat(3,1fr)}.draw-stage-title{font-size:16pt}.standings-rules{font-size:8pt}}

.referee-format-line{font-size:10px;line-height:1.6;color:var(--muted);margin:0 0 12px}
.referee-tools .btn{min-width:0;gap:5px;white-space:normal}

.stats-player{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere;line-height:1.25;min-width:0}

.group-standings tbody th{font-weight:400}.group-standings tbody th.seeded{font-weight:750}
