:root{color:#17211c;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--green-950:#102a20;--green-900:#153a2a;--green-700:#237047;--green-600:#2b8a57;--green-100:#e1f1e7;--green-50:#f1f8f4;--burgundy:#9f2147;--burgundy-dark:#68162f;--orange:#f1a33c;--text:#17211c;--muted:#68756e;--border:#dce4df;--surface:#fff;--surface-raised:#f7faf8;--background:#eef2ef;background:#eef2ef;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--background);min-width:320px}body{background:radial-gradient(circle at 10% 0%, #9f21470e, transparent 25rem), radial-gradient(circle at 90% 10%, #2b8a571a, transparent 30rem), var(--background);min-width:320px;min-height:100vh;margin:0}button{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.page{width:min(1080px,100%);min-height:100vh;margin:0 auto;padding:20px}.tournament-header{color:#fff;background:radial-gradient(circle at 88% 12%, #4dbf794d, transparent 17rem), radial-gradient(circle at 12% 100%, #9f21471f, transparent 20rem), linear-gradient(135deg, var(--green-950), var(--green-900));border:1px solid #81a6912b;border-radius:28px;padding:34px;position:relative;overflow:hidden;box-shadow:0 22px 60px #102a202b}.tournament-header:after{content:"";border:1px solid #ffffff1f;border-radius:50%;width:320px;height:320px;position:absolute;bottom:-145px;right:-80px}.wordmark,.eyebrow,.tournament-description,.section-heading p,.match-details,footer p{margin:0}.wordmark{flex-direction:column;align-items:center;width:100%;display:flex}.site-wordmark{text-align:center;width:100%;padding:26px 20px 30px}.wordmark-title{color:#153a2a6b;letter-spacing:clamp(.14em,1.45vw,.32em);white-space:nowrap;width:100%;padding-left:clamp(.14em,1.45vw,.32em);font-family:Avenir Next,Helvetica Neue,Helvetica,sans-serif;font-size:clamp(29px,7vw,72px);font-weight:500;line-height:1}.wordmark-accent{color:#9f2147ad}.wordmark-rest{color:inherit}.site-wordmark .wordmark-accent{color:#c23d65;text-shadow:0 0 10px #c23d6529}.site-wordmark .wordmark-rest{color:#fff;text-shadow:0 0 5px #07110d70,0 0 12px #07110d33}.wordmark-sport{color:#153a2ae0;letter-spacing:.1em;text-transform:uppercase;margin-top:12px;font-size:clamp(11px,1.5vw,15px);font-weight:600}.title-block{z-index:1;text-align:center;width:100%;max-width:none;margin-top:0;position:relative}.eyebrow{color:#8bd7a8;letter-spacing:.13em;text-transform:uppercase;font-size:12px;font-weight:750}h1{letter-spacing:-.035em;overflow-wrap:anywhere;text-wrap:balance;max-width:760px;margin:0 auto 10px;font-size:clamp(28px,4vw,44px);line-height:1.08}.tournament-description{color:#ffffffb8;font-size:17px}.tournament-meta{z-index:1;color:#e2ede6ab;justify-content:space-between;align-items:end;gap:24px;margin-top:38px;font-size:13px;display:flex;position:relative}.tournament-status-block{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.last-updated{color:#89978f;letter-spacing:.01em;font-size:10px}.tournament-facts{text-align:right;flex-direction:column;align-items:flex-end;gap:8px;display:flex}.tournament-discipline{color:#ffffffd6;font-size:15px;font-weight:650}.tournament-facts-row{flex-wrap:wrap;justify-content:flex-end;gap:8px 20px;display:flex}.tournament-state{color:#d7f0e0;background:#43a5791f;border:1px solid #8bd7a852;border-radius:999px;align-items:center;gap:8px;padding:8px 12px;font-weight:650;display:inline-flex}.tournament-state--inProgress{border-color:#78e2a07a;box-shadow:0 0 12px #5ee49238,0 0 26px #5ee4921f}.tournament-state--completed{color:#c0c9c4;box-shadow:none;background:#b9c3bd14;border-color:#b9c3bd40}.state-dot{background:#5ee492;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 5px #5ee4921f}main{gap:18px;margin-top:14px;display:grid}.results-label{color:var(--green-700);letter-spacing:.16em;text-align:center;text-transform:uppercase;margin:24px 0 0;font-size:11px;font-weight:750}.content-card{border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-raised), var(--surface));border-radius:24px;padding:28px;box-shadow:0 10px 35px #1f3f2d11}.section-heading{justify-content:center;align-items:center;margin-bottom:24px;display:flex}.section-heading>div{text-align:center}h2{color:var(--text);letter-spacing:-.025em;margin:0;font-size:27px;line-height:1.15}.group-controls{scrollbar-width:none;justify-content:flex-start;align-items:center;min-height:47px;margin-bottom:18px;display:flex;overflow-x:auto}.group-controls::-webkit-scrollbar{display:none}.group-tabs{background:#edf1ee;border:1px solid #e0e7e2;border-radius:14px;gap:4px;width:fit-content;margin-bottom:0;padding:4px;display:flex}.group-tab{min-width:112px;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:10px;padding:10px 16px;font-size:14px;font-weight:700;transition:color .16s,background .16s,box-shadow .16s}.group-tab:hover{color:var(--green-900)}.group-tab:focus-visible{outline-offset:2px;outline:3px solid #2b8a573d}.group-tab--active{color:var(--green-900);background:#fff;box-shadow:0 2px 10px #20432e17}.table-scroll{border:1px solid var(--border);background:#fff;border-radius:16px;overflow-x:auto}.standings-table{border-collapse:collapse;white-space:nowrap;width:100%}.standings-table th,.standings-table td{text-align:center;border-bottom:1px solid #e9eeeb;padding:15px 14px;font-size:14px}.standings-table thead th{color:#75827b;letter-spacing:.08em;text-transform:uppercase;background:#f7f9f8;font-size:11px;font-weight:800}.standings-table tbody tr:last-child th,.standings-table tbody tr:last-child td{border-bottom:0}.standings-table tbody tr:hover{background:#fbfdfc}.standings-table .team-heading,.standings-table .team-name{text-align:left;width:100%}.team-name{color:var(--text);font-weight:700}.points{color:var(--green-700);font-weight:800}.place{color:#67746d;background:#eef2ef;border-radius:9px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:800;display:inline-grid}.place--1{color:#694310;background:#ffebba}.place--2{color:#465057;background:#e4e9ec}.place--3{color:#704522;background:#f3d1b2}.table-legend{color:var(--muted);flex-wrap:wrap;gap:8px 18px;margin-top:13px;font-size:11px;display:flex}.matches-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.matches-grid--after-table{border-top:1px solid var(--border);margin-top:24px;padding-top:24px}.match-card{border:1px solid var(--border);background:#fbfcfb;border-radius:17px;padding:18px}.match-card--third-place{background:linear-gradient(135deg,#fff8f2 0%,#fbfcfb 72%);border-color:#dfb78f;grid-column:1/-1;justify-self:center;width:calc(50% - 6px);box-shadow:inset 0 3px #b56a35,0 8px 22px #70452212}.match-card--final{background:linear-gradient(135deg,#fffdf5 0%,#fff9e9 100%);border-color:#dec469;grid-column:1/-1;justify-self:center;width:calc(50% - 6px);padding:20px;box-shadow:inset 0 3px #c99718,0 12px 28px #9a6b081c}.match-card--third-place .match-heading h3,.match-card--final .match-heading h3{align-items:center;gap:8px;display:flex}.match-card--third-place .match-heading h3:before,.match-card--final .match-heading h3:before{content:"";border-radius:50%;flex:none;width:9px;height:9px}.match-card--third-place .match-heading h3{color:#7d451e}.match-card--third-place .match-heading h3:before{background:#b56a35;box-shadow:0 0 0 4px #b56a351f}.match-card--final .match-heading h3{color:#805b09;font-size:16px}.match-card--final .match-heading h3:before{background:#c99718;box-shadow:0 0 0 4px #c9971824}.match-card--third-place .match-scoreboard{border-color:#ead7c5}.match-card--final .match-scoreboard{background:#fffefa;border-color:#e7d8a4}.match-card--final .match-team--winner,.match-card--final .match-team--winner strong{color:#8c650d}.match-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:15px;display:flex}.match-heading h3{color:var(--text);margin:0;font-size:14px;font-weight:800}.match-status{border-radius:999px;flex:none;padding:5px 8px;font-size:10px;font-weight:800}.match-status--finished{color:var(--green-700);background:var(--green-100)}.match-status--live{color:#8a520c;background:#ffe5bb;align-items:center;gap:6px;display:inline-flex;box-shadow:0 0 0 1px #e27b1614,0 0 11px #e27b163d}.match-status--live:before{content:"";background:#e27b16;border-radius:50%;flex:none;width:6px;height:6px;box-shadow:0 0 0 3px #e27b162e}.match-status--waiting{color:#717a75;background:#e9edeb}.match-scoreboard{background:#fff;border:1px solid #dfe7e2;border-radius:12px;overflow:hidden;box-shadow:inset 0 1px 2px #1f3f2d09}.match-team{color:#536059;border-top:1px solid #e7ece9;justify-content:space-between;align-items:center;gap:14px;min-height:39px;padding:8px 10px;font-size:13px;display:flex}.match-scoreboard .match-team:first-child{border-top:0}.match-team strong{color:var(--text);font-size:17px}.match-team--winner{color:var(--text);font-weight:800}.match-team--winner strong{color:var(--green-700)}.match-details{color:var(--muted);border-top:1px dashed #dce5df;margin-top:13px;padding:10px 4px 0;font-size:11px}footer{color:#77827c;justify-content:space-between;gap:20px;padding:24px 4px 8px;font-size:11px;display:flex}@media (width<=720px){.page{padding:0 0 18px}.tournament-header{border-radius:0 0 25px 25px;padding:24px 20px 27px}.site-wordmark{padding:24px 16px 26px}.title-block{margin-top:0}h1{font-size:clamp(27px,8vw,36px)}.tournament-meta{margin-top:29px}.tournament-facts{align-items:flex-end}main{gap:12px;margin-top:12px;padding:0 12px}.content-card{border-radius:19px;padding:20px 14px}.section-heading{margin-bottom:18px;display:flex}.group-controls{min-height:0;margin-bottom:14px}.group-tabs{border-radius:11px;flex:none;gap:2px;width:fit-content;max-width:100%;padding:3px}.group-tab{white-space:nowrap;border-radius:8px;flex:none;min-width:0;padding:8px 10px;font-size:12px}.standings-table th,.standings-table td{padding:13px 8px;font-size:12px}.standings-table thead th{font-size:10px}.team-name{text-overflow:ellipsis;max-width:180px;overflow:hidden}.matches-grid{grid-template-columns:1fr}.match-card--third-place,.match-card--final{grid-column:auto;justify-self:stretch;width:auto}footer{gap:4px;padding:22px 16px 0;display:grid}}@media (width<=390px){.tournament-meta{display:grid}.tournament-facts{align-items:flex-end;display:flex}.group-tab{padding:7px 8px;font-size:11px}h2{font-size:23px}.team-name{max-width:145px}}.system-page{place-items:center;min-height:100vh;padding:24px;display:grid}.system-card{text-align:center;border:1px solid var(--border);background:linear-gradient(145deg, var(--surface-raised), var(--surface));border-radius:28px;flex-direction:column;justify-content:center;align-items:center;width:min(500px,100%);min-height:390px;padding:42px;display:flex;box-shadow:0 22px 60px #102a201a}.system-card>.wordmark{margin-bottom:28px}.system-card .wordmark-title{color:#75827b;letter-spacing:.12em;font-size:clamp(24px,6vw,36px)}.system-card .wordmark-accent{color:#9f2147ad}.system-card .wordmark-rest{color:#75827b}.system-card .wordmark-sport{color:var(--green-700)}.system-eyebrow{color:var(--green-600);letter-spacing:.12em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}.system-card h1{color:var(--text);letter-spacing:-.035em;margin:0;font-size:clamp(30px,7vw,45px);line-height:1.03}.system-card>p:not(.system-eyebrow){max-width:390px;color:var(--muted);margin:18px 0 0;font-size:15px;line-height:1.55}.system-card code{color:var(--green-900);background:var(--green-50);border-radius:9px;margin-top:20px;padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:13px;font-weight:750}.system-action{color:#fff;background:var(--green-700);cursor:pointer;border:0;border-radius:13px;justify-content:center;align-items:center;min-height:46px;margin-top:28px;padding:0 20px;font-weight:750;text-decoration:none;display:inline-flex}.system-action:hover{background:var(--green-900)}.system-action:focus-visible{outline-offset:3px;outline:3px solid #2b8a5747}.system-action--secondary{color:var(--green-900);background:var(--green-100)}.loading-indicator{border:3px solid var(--green-100);border-top-color:var(--green-600);border-radius:50%;width:34px;height:34px;margin-bottom:24px;animation:.7s linear infinite loading-rotation}.empty-content{border:1px dashed var(--border);color:var(--muted);text-align:center;background:#fafcfb;border-radius:16px;grid-column:1/-1;padding:34px 18px;font-size:13px}.tournament-state--notStarted .state-dot{background:#e3ba62;box-shadow:0 0 0 5px #e3ba621f}.tournament-state--completed .state-dot,.tournament-state--cancelled .state-dot{background:#b9c3bd;box-shadow:0 0 0 5px #b9c3bd1f}.tournament-state--cancelled{color:#c0c9c4;box-shadow:none;background:#b9c3bd14;border-color:#b9c3bd40}@keyframes loading-rotation{to{transform:rotate(360deg)}}@media (width<=540px){.system-page{padding:12px}.system-card{border-radius:22px;min-height:360px;padding:32px 20px}}@media (prefers-reduced-motion:reduce){.loading-indicator{animation:none}}
