/* S3 WiFiCom light presentation; interaction selectors and geometry retained. */
:root{--tournament-ink:var(--s3-ink,#37363b);--tournament-muted:var(--s3-muted,#69666c);--tournament-soft:var(--s3-paper,#f5f5f1);--tournament-panel:var(--s3-surface,#fdfdfb);--tournament-line:var(--s3-line,#deded8);--tournament-green:var(--s3-accent,#803c53);--tournament-lime:var(--s3-accent,#803c53);--tournament-dark:var(--s3-ink,#37363b);--tournament-shadow:0 14px 40px rgba(25,52,31,.08)}
body:has(.tournament-portal-shell){background:var(--tournament-soft);color:var(--tournament-ink)}
body:has(.tournament-portal-shell) .site-header{display:none}
body:has(.tournament-portal-shell) .site-main{width:auto;margin:0;padding:0}
body:has(.tournament-portal-shell) .site-footer{margin:0;border-color:var(--tournament-line);color:var(--s3-muted,#69666c);background:var(--tournament-soft)}
.tournament-portal-shell{min-height:100vh}
.tournament-portal-sidebar{position:fixed;z-index:30;inset:0 auto 0 0;display:flex;flex-direction:column;width:272px;padding:26px 18px 20px;color:var(--s3-accent,#803c53);background:var(--tournament-dark);box-shadow:none}
.tournament-portal-brand{display:flex;align-items:center;gap:11px;padding:0 8px 28px}
.tournament-portal-brand-mark{display:inline-grid;place-items:center;width:38px;height:38px;border-radius:12px;color:var(--s3-ink,#37363b);background:var(--tournament-lime);font:500 20px/1 var(--s3-sans)}
.tournament-portal-brand strong{display:block;font:500 17px/1.2 var(--s3-sans);letter-spacing:-.02em}
.tournament-portal-brand small{display:block;margin-top:2px;color:var(--s3-muted,#69666c);font:11px/1.3 var(--s3-sans)}
.tournament-portal-close{display:none;margin-left:auto;border:0;color:var(--s3-accent,#803c53);background:transparent;font-size:28px;line-height:1;cursor:pointer}
.tournament-portal-nav{min-height:0;overflow:auto;padding:0 0 14px;scrollbar-color:var(--s3-success,#496a4a) transparent}
.tournament-portal-nav-label{margin:0 8px 9px;color:var(--s3-muted,#69666c);font:500 10px/1.2 var(--s3-sans);letter-spacing:.15em;text-transform:uppercase}
.tournament-portal-nav a{display:flex;align-items:center;min-height:41px;margin:3px 0;border-radius:2px;padding:10px 11px;color:var(--s3-accent,#803c53);font:500 12px/1.25 var(--s3-sans);text-decoration:none}
.tournament-portal-nav a:hover{color:var(--s3-ink,#37363b);background:var(--s3-wash,rgba(238,228,230,.65))}
.tournament-portal-nav a.is-active{color:var(--s3-ink,#37363b);background:var(--s3-surface,#fdfdfb);box-shadow:none}
.tournament-portal-sidebar-footer{margin-top:auto;padding-top:15px;border-top:1px solid var(--s3-line,#deded8)}
.tournament-portal-sidebar-footer strong{display:block;overflow:hidden;padding:3px 8px 10px;color:var(--s3-accent,#803c53);font:500 12px/1.25 var(--s3-sans);text-overflow:ellipsis;white-space:nowrap}
.tournament-portal-sidebar-footer a{display:block;padding:8px;color:var(--s3-accent,#803c53);font:500 12px/1.25 var(--s3-sans);text-decoration:none}
.tournament-portal-sidebar-footer a:hover{color:var(--s3-ink,#37363b)}
.tournament-portal-content{min-height:100vh;margin-left:272px;padding:48px clamp(24px,5vw,64px) 60px}
.tournament-portal-mobile-header{display:none}
.tournament-portal-heading,.tournament-portal-overview,.tournament-portal-panel,.tournament-portal-grid{width:min(1180px,100%);margin-right:auto;margin-left:auto}
.tournament-portal-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:28px;margin-bottom:24px}
.tournament-portal-kicker{margin:0 0 8px;color:var(--s3-muted,#69666c);font:500 10px/1.2 var(--s3-sans);letter-spacing:.15em;text-transform:uppercase}
.tournament-portal-heading h1{margin:0;color:var(--tournament-ink);font:500 clamp(32px,4vw,46px)/1.05 var(--s3-sans);letter-spacing:-.045em}
.tournament-portal-heading p:not(.tournament-portal-kicker){max-width:720px;margin:12px 0 0;color:var(--tournament-muted);font:15px/1.5 var(--s3-sans)}
.tournament-portal-access-pill,.tournament-portal-status-pill{display:inline-flex;align-items:center;border-radius:2px;padding:7px 10px;color:var(--s3-accent,#803c53);background:var(--s3-accent-soft,#eee4e6);font:500 10px/1 var(--s3-sans);white-space:nowrap}
.tournament-portal-outline-button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;border:1px solid var(--s3-line,#deded8);border-radius:2px;padding:10px 15px;color:var(--s3-ink,#37363b);background:var(--s3-wash,rgba(238,228,230,.65));font:500 12px/1.2 var(--s3-sans);text-decoration:none;white-space:nowrap}
.tournament-portal-outline-button:hover{border-color:var(--tournament-green);background:var(--s3-surface,#fdfdfb)}
.tournament-portal-overview,.tournament-portal-panel,.tournament-portal-card{border:1px solid var(--tournament-line);border-radius:2px;background:var(--tournament-panel);box-shadow:none;scroll-margin-top:24px}
.tournament-portal-overview,.tournament-portal-panel{padding:25px;margin-bottom:16px}
.tournament-portal-section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}
.tournament-portal-section-heading h2{margin:0;color:var(--tournament-ink);font:500 21px/1.2 var(--s3-sans);letter-spacing:-.025em}
.tournament-portal-section-heading p:not(.tournament-portal-kicker){margin:6px 0 0;color:var(--tournament-muted);font:13px/1.5 var(--s3-sans)}
.tournament-portal-stat-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:22px}
.tournament-portal-stat-grid article{min-width:0;padding:17px;border:1px solid var(--tournament-line);border-radius:2px;background:linear-gradient(145deg,var(--s3-surface,#fdfdfb),var(--s3-accent-soft,#eee4e6))}
.tournament-portal-stat-grid span,.tournament-portal-stat-grid small{display:block;color:var(--s3-muted,#69666c);font:11px/1.35 var(--s3-sans)}
.tournament-portal-stat-grid strong{display:block;margin:7px 0 4px;color:var(--s3-ink,#37363b);font:500 25px/1 var(--s3-sans);letter-spacing:-.04em}
.tournament-portal-access-notice{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px 14px;margin-top:20px;padding:14px 16px;border:1px solid var(--s3-line,#deded8);border-left:4px solid var(--s3-line,#deded8);border-radius:2px;background:var(--s3-accent-soft,#eee4e6);color:var(--s3-muted,#69666c);font:12px/1.45 var(--s3-sans)}
.tournament-portal-access-notice strong{color:var(--s3-accent,#803c53);font-size:13px}
.tournament-portal-access-notice p{flex-basis:100%;margin:0}
.tournament-portal-access-notice a{color:var(--s3-accent,#803c53);font-weight:500;text-decoration:none}
.tournament-portal-access-notice a:hover{text-decoration:underline}
.tournament-portal-text-link,.tournament-portal-help-links a{color:var(--s3-accent,#803c53);font:500 12px/1.4 var(--s3-sans);text-decoration:none}
.tournament-portal-text-link:hover,.tournament-portal-help-links a:hover{text-decoration:underline}
.tournament-portal-panel #tournament-app{margin-top:20px}
.tournament-portal-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.tournament-portal-card{min-width:0;padding:22px}
.tournament-portal-card-mark{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:2px;color:var(--s3-muted,#69666c);background:var(--s3-accent-soft,#eee4e6);font:500 14px/1 var(--s3-sans)}
.tournament-portal-list{margin-top:17px}
.tournament-portal-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;border-bottom:1px solid var(--s3-line,#deded8);color:var(--s3-muted,#69666c);font:12px/1.35 var(--s3-sans)}
.tournament-portal-row:last-child{border-bottom:0}
.tournament-portal-row strong{display:block;color:var(--s3-ink,#37363b);font-size:12px}
.tournament-portal-row small{display:block;margin-top:2px;color:var(--s3-muted,#69666c);font-size:10px}
.tournament-portal-row span{align-self:center;color:var(--s3-muted,#69666c);font-weight:500;text-align:right}
.tournament-portal-empty,.tournament-portal-muted-note{color:var(--s3-muted,#69666c);font:12px/1.5 var(--s3-sans)}
.tournament-portal-help-links{display:flex;flex-wrap:wrap;gap:10px 18px;margin-top:19px}
@media (max-width:980px){.tournament-portal-sidebar{width:260px;transform:translateX(-105%);transition:transform 180ms ease}
.tournament-portal-sidebar.is-open{transform:translateX(0)}
.tournament-portal-close{display:block}
.tournament-portal-backdrop{position:fixed;z-index:20;inset:0;display:block;background:rgba(55,54,59,.3)}
.tournament-portal-backdrop[hidden]{display:none}
.tournament-portal-content{margin-left:0;padding:0 20px 48px}
.tournament-portal-mobile-header{position:sticky;z-index:10;top:0;display:flex;align-items:center;justify-content:space-between;height:58px;margin:0 -20px 28px;padding:9px 20px;border-bottom:1px solid var(--tournament-line);background:var(--s3-wash,rgba(238,228,230,.65));backdrop-filter:blur(12px)}
.tournament-portal-mobile-header a,.tournament-portal-menu{border:0;color:var(--tournament-green);background:transparent;font:500 13px/1.2 var(--s3-sans);text-decoration:none;cursor:pointer}
.tournament-portal-menu span{margin-right:7px;font-size:20px}
.tournament-portal-heading{align-items:flex-start;flex-direction:column;gap:18px}
.tournament-portal-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media (max-width:620px){.tournament-portal-content{padding:0 12px 38px}
.tournament-portal-mobile-header{margin-right:-12px;margin-left:-12px;padding-right:12px;padding-left:12px}
.tournament-portal-heading h1{font-size:34px}
.tournament-portal-overview,.tournament-portal-panel,.tournament-portal-card{padding:18px}
.tournament-portal-section-heading{gap:12px}
.tournament-portal-section-heading h2{font-size:19px}
.tournament-portal-stat-grid,.tournament-portal-grid{grid-template-columns:1fr}
.tournament-portal-row{grid-template-columns:1fr}
.tournament-portal-row span{text-align:left}
}
@media (prefers-reduced-motion:reduce){.tournament-portal-sidebar{transition:none}
}
