/* Tournament pages share the site's deep teal, warm white and muted lime palette. */
.tournament-hub{--hub-soft:#eef3e9;--hub-line:#d2ddd7}.tournament-hub>.back{display:inline-flex;align-items:center;margin:0 0 8px;font-size:12px;color:var(--hub-muted)}
.tournament-hub .hub-header{position:relative;overflow:hidden;padding:20px 22px 16px;margin:0;border:1px solid #244b54;border-bottom:0;background:linear-gradient(115deg,#163843,#264d54);color:#f5f7ef;border-radius:14px 14px 0 0}.hub-header::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#d7e7b4,#87b3a3)}.tournament-hub .hub-heading h1{font-family:var(--display);font-weight:550;font-size:clamp(28px,3vw,38px);line-height:1.15;letter-spacing:.2px;color:#f5f7ef;margin:0 0 10px}.tournament-hub .hub-tournament-subtitle{font-size:12px;gap:6px 14px;color:#cfdddd;line-height:1.5}.tournament-hub .hub-tournament-subtitle b{color:#e6f2c9;border:1px solid #d7e7b450;border-radius:4px;padding:0 5px;font-size:10px;align-self:center}.tournament-hub .hub-heading .tournament-inline-actions{gap:5px;max-width:310px}.tournament-hub .hub-heading .tournament-icon-button{color:#e4efed;background:#ffffff09;border:1px solid #ffffff20;border-radius:8px}.tournament-hub .hub-heading .tournament-icon-button:hover{background:#ffffff20;border-color:#d7e7b4}.tournament-hub .hub-publication{display:inline-flex;gap:5px;align-items:center;color:#c5d5d0;font-size:10px;margin:10px 0 0;padding:0}.hub-publication::before{content:"";width:5px;height:5px;border-radius:50%;background:#c7dca0}.tournament-hub .hub-main-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;margin:0 0 16px;gap:5px;border:1px solid var(--hub-line);border-top:0;border-radius:0 0 14px 14px;background:var(--hub-surface)}.tournament-hub .hub-main-tabs a{display:flex;align-items:center;justify-content:center;min-width:0;padding:11px 8px;min-height:42px;font-size:13px;border:0;border-radius:8px;color:var(--hub-muted);background:transparent;box-shadow:none}.tournament-hub .hub-main-tabs a.active{background:#d7e7b4;color:#183943;border:0;box-shadow:none}.tournament-hub .hub-main-tabs a:hover{background:var(--hub-soft);color:var(--hub-ink)}.tournament-hub .hub-main-tabs a.active:hover{background:#d7e7b4;color:#183943}
.tournament-hub .hub-division-bar{border:0;padding:0;margin:0 0 10px;border-radius:0;background:transparent;align-items:center}.tournament-hub .hub-division-bar .division-nav{display:flex;gap:5px;padding:4px;background:var(--hub-surface);border:1px solid var(--hub-line);border-radius:10px;max-width:calc(100% - 80px)}.tournament-hub .hub-division-bar .division-nav a{padding:9px 12px;border:0;background:transparent;border-radius:7px;font-size:12px;color:var(--hub-muted)}.tournament-hub .hub-division-bar .division-nav a.selected{background:#d7e7b4;color:#183943;box-shadow:none}.tournament-hub .hub-division-tools{margin-left:auto;display:flex;gap:4px}.tournament-hub .hub-division-tools .tournament-icon-button{background:var(--hub-surface);border-color:var(--hub-line);border-radius:8px}
.tournament-hub .hub-calendar{background:transparent;border:0;border-radius:0;overflow:visible}.tournament-hub .hub-calendar-tools{padding:6px;border:1px solid var(--hub-line);border-radius:12px;margin-bottom:10px;background:var(--hub-surface);gap:8px}.tournament-hub .hub-date-strip{gap:4px}.tournament-hub .hub-date-strip button{border:0;background:transparent;box-shadow:none;min-height:46px;padding:6px 12px;border-radius:8px;color:var(--hub-muted);font-size:12px}.tournament-hub .hub-date-strip button span{font-size:13px;font-weight:650}.tournament-hub .hub-date-strip button[aria-pressed=true]{background:#d7e7b4;color:#183943;box-shadow:none}.tournament-hub .hub-match-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;background:transparent;border:0;overflow:visible}.tournament-hub .hub-match{border:1px solid var(--hub-line);border-radius:12px;background:var(--hub-surface);padding:12px 14px;box-shadow:0 2px 6px #18394303;overflow:hidden}.tournament-hub .hub-match.is-live{border-color:#83a88e;box-shadow:inset 3px 0 0 #83a88e}.tournament-hub .hub-match-heading{font-size:11px;gap:6px;margin-bottom:8px;align-items:center;color:var(--hub-muted)}.tournament-hub .hub-match-heading>span:first-child{min-width:0;line-height:1.5}.tournament-hub .hub-match-status{font-size:11px;white-space:nowrap;color:var(--hub-ink)}.tournament-hub .hub-match.is-live .hub-match-status{color:#4a7442}.tournament-hub .hub-player-row{min-height:34px;gap:10px}.tournament-hub .hub-player-name{font-size:14px;line-height:1.4}.tournament-hub .hub-match-score b{font-size:15px;font-variant-numeric:tabular-nums}.tournament-hub .hub-game-points{background:var(--hub-soft);border-color:var(--hub-line);color:var(--hub-ink);border-radius:4px}.tournament-hub .hub-serve{color:#78954d}.tournament-hub .hub-empty{grid-column:1/-1;margin:0;padding:22px 14px;border:1px solid var(--hub-line);border-radius:12px;background:var(--hub-surface);font-size:13px}.tournament-hub .tournament-participants,.tournament-hub .hub-overview{border-radius:12px;border:1px solid var(--hub-line);background:var(--hub-surface);padding:16px}.tournament-hub .participant-row{border-color:var(--hub-line)}.tournament-hub .participant-search{min-height:44px;border-radius:8px}.tournament-hub .hub-facts{gap:12px 20px}.tournament-hub .hub-facts dt{font-size:11px;color:var(--hub-muted)}.tournament-hub .hub-facts dd{font-size:14px}.tournament-hub .draw-match{border-radius:9px;border-color:var(--hub-line)}
.site-dark .tournament-hub{--hub-soft:#2b4852;--hub-line:#49636c}.site-dark .tournament-hub .hub-header{background:linear-gradient(115deg,#102f39,#214650);border-color:#49636c}.site-dark .tournament-hub .hub-match.is-live .hub-match-status{color:#c1ddae}.site-dark .tournament-hub .hub-serve{color:#d0e3a5}
@media(max-width:700px){.tournament-hub .hub-header{padding:16px 14px 12px}.tournament-hub .hub-heading{gap:12px}.tournament-hub .hub-heading h1{font-size:28px}.tournament-hub .hub-main-tabs{gap:3px;padding:5px;margin-bottom:12px}.tournament-hub .hub-main-tabs a{font-size:12px;padding:9px 3px;min-height:40px}.tournament-hub .hub-heading .tournament-inline-actions{max-width:none;justify-content:flex-start;gap:5px}.tournament-hub .hub-heading .tournament-icon-button{width:32px;height:32px;min-width:32px;min-height:32px;padding:6px}.tournament-hub .hub-match-grid{grid-template-columns:1fr;gap:8px}.tournament-hub .hub-match{padding:10px 12px}.tournament-hub .hub-player-name{font-size:14px}.tournament-hub .hub-division-bar .division-nav a{font-size:12px;padding:9px 10px}.tournament-hub .hub-date-strip button{padding:6px 10px}.tournament-hub .tournament-participants,.tournament-hub .hub-overview{padding:12px}}
.tournament-hub .hub-main-tabs{margin-bottom:14px!important}.tournament-hub .hub-main-tabs a::after{display:none!important}

.hub-actual-start{font-size:.75rem;color:var(--muted,#647980);white-space:nowrap}

.tournament-hub .publication-toggle{display:inline-flex;align-items:center;gap:8px;min-height:36px;padding:5px 10px;margin-top:10px;border:1px solid #ffffff38;border-radius:8px;background:#ffffff0e;color:#eef4e8;font-size:12px;font-weight:600;cursor:pointer}.tournament-hub .publication-toggle:before{display:none}.publication-toggle-track{position:relative;width:30px;height:18px;border-radius:20px;background:#ffffff3b}.publication-toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:12px;height:12px;background:#f4f7ee;border-radius:50%}.publication-toggle[aria-checked=true] .publication-toggle-track{background:#d7e7b4}.publication-toggle[aria-checked=true] .publication-toggle-track:after{left:15px;background:#1c3e46}.tournament-hub .publication-badge{display:inline-block;padding:4px 8px;border:1px solid #ffffff38;border-radius:6px;color:#eef4e8}
