:root{--ground:#f3f4ef;--surface:#fff;--ink:#12201a;--muted:#56645d;--on-ink-muted:#c9d2cd;--line:#e2e6df;--line-soft:#ecefe9;--soft:#e6e9e2;--accent:#d7f04a;--danger:#b42318;--radius-lg:24px;--radius-md:18px;--radius-sm:14px;--display:"Bricolage Grotesque", "Figtree", system-ui, sans-serif;--body:"Figtree", system-ui, -apple-system, "Segoe UI", sans-serif;--shadow-float:0 16px 36px #12201a47;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--ground);color:var(--ink);font:16px/1.45 var(--body);-webkit-font-smoothing:antialiased;margin:0;padding-bottom:120px}a{color:var(--ink)}h1,h2,h3,p{margin:0}main{max-width:560px;margin:0 auto;padding:0 20px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.page-title{font-family:var(--display);letter-spacing:-.03em;font-size:44px;font-weight:800;line-height:1}.page-title.sm{font-size:34px;line-height:1.05}.lede{color:var(--muted);margin-top:8px;font-size:14px}.section-title{font-family:var(--display);font-size:20px;font-weight:800}.eyebrow{letter-spacing:.06em;text-transform:uppercase;color:var(--muted);font-size:12px;font-weight:700}.num{font-family:var(--display);font-variant-numeric:tabular-nums;font-weight:800;line-height:1}.muted{color:var(--muted)}.small{font-size:13px}.error{color:var(--danger);font-size:14px;font-weight:600}.notice{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);padding:12px 16px;font-size:14px}.stack{flex-direction:column;gap:12px;display:flex}.spaced{margin-top:18px}.topbar{justify-content:space-between;align-items:center;gap:12px;max-width:560px;margin:0 auto;padding:20px 20px 12px;display:flex}.brand{align-items:center;gap:10px;min-width:0;text-decoration:none;display:flex}.brand-name{font-family:var(--display);letter-spacing:-.02em;white-space:nowrap;text-overflow:ellipsis;font-size:clamp(16px,4.6vw,20px);font-weight:800;overflow:hidden}@media (width<=400px){.topbar,.brand{gap:8px}.topbar .chip{padding:6px 10px}}.chip{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:999px;flex:none;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;text-decoration:none;display:inline-flex}.chip.dark{background:var(--ink);color:#fff;border-color:var(--ink);font-weight:700}.dot{background:var(--accent);border-radius:999px;flex:none;width:8px;height:8px}.live-banner{background:var(--ink);color:#fff;border-radius:20px;align-items:center;gap:14px;max-width:520px;margin:4px auto 0;padding:14px 16px;text-decoration:none;display:flex}@media (width<=559px){.live-banner{margin:4px 20px 0}}.live-banner .pulse{background:var(--accent);border-radius:999px;flex:none;width:12px;height:12px;box-shadow:0 0 0 5px #d7f04a40}.live-banner .text{flex-direction:column;flex:1;gap:2px;display:flex}.live-banner .title{font-size:15px;font-weight:700}.live-banner .sub{color:var(--on-ink-muted);font-size:13px}.tabbar{left:16px;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:5;background:var(--ink);max-width:528px;box-shadow:var(--shadow-float);border-radius:26px;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0 auto;padding:8px;display:grid;position:fixed}.tabbar a{color:var(--on-ink-muted);border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px 0;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tabbar a.active{background:var(--accent);color:var(--ink);font-weight:700}input,select,button{font:inherit;color:var(--ink)}input,select{border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--ground);min-width:0;height:44px;padding:0 14px}input:focus-visible,select:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:2px}button{cursor:pointer;border:0}button:disabled{opacity:.45;cursor:not-allowed}.btn{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:6px;height:44px;padding:0 18px;font-weight:700;text-decoration:none;display:inline-flex}.btn-primary{background:var(--ink);color:#fff}.btn-accent{background:var(--accent);color:var(--ink)}.btn-soft{background:var(--soft);color:var(--ink)}.btn-outline{background:var(--surface);color:var(--ink);border:1.5px solid var(--ink)}.btn-danger{color:var(--danger);border:1.5px solid var(--danger);background:0 0}.btn-block{border-radius:16px;width:100%;height:52px;font-size:16px}.btn-link{height:auto;color:var(--ink);background:0 0;padding:0;font-size:12px;font-weight:600;text-decoration:underline}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px}.card+.card{margin-top:14px}.card-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.segmented{background:var(--soft);border-radius:999px;gap:4px;padding:4px;display:inline-flex}.segmented a,.segmented button{color:var(--ink);background:0 0;border-radius:999px;padding:8px 14px;font-size:14px;font-weight:600;text-decoration:none}.segmented .active,.segmented [aria-pressed=true]{background:var(--ink);color:#fff;font-weight:700}.segmented.square{border-radius:var(--radius-sm);background:var(--ground)}.segmented.square button{border-radius:10px;height:36px;padding:0 12px}.title-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.podium{grid-template-columns:repeat(3,minmax(0,1fr));align-items:end;gap:10px;margin-top:22px;display:grid}.podium-card{background:var(--surface);border:1px solid var(--line);text-align:center;border-radius:22px;flex-direction:column;align-items:center;gap:8px;min-width:0;padding:16px 8px 14px;display:flex}.podium-card .name{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:15px;font-weight:700;overflow:hidden}.podium-card .num{font-size:26px}.podium-card .place{color:var(--muted);font-size:12px;font-weight:700}.podium-card .wdl{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:-2px;font-size:13px;font-weight:600}.podium-card.first .wdl{color:var(--ink)}.podium-card.first{background:var(--accent);border-color:var(--accent);border-radius:26px;padding:20px 8px 18px;box-shadow:0 14px 30px #12201a29}.podium-card.first .num{font-size:34px}.podium-card.first .place{color:var(--ink)}.avatar{background:var(--soft);border-radius:999px;flex:none;justify-content:center;align-items:center;width:40px;height:40px;font-size:14px;font-weight:700;display:flex}.avatar.md{width:48px;height:48px;font-size:17px}.avatar.lg{background:var(--ink);width:58px;height:58px;color:var(--accent);font-size:19px}.rows{flex-direction:column;gap:8px;margin-top:18px;display:flex}.rows-head{justify-content:space-between;padding:0 16px;display:flex}.row-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);align-items:center;gap:12px;padding:12px 16px;display:flex}.rank{width:22px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none;font-size:15px;font-weight:700}.row-main{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.row-name{text-overflow:ellipsis;white-space:nowrap;font-size:16px;font-weight:700;overflow:hidden}.row-sub{color:var(--muted);font-size:13px}.row-end{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.row-end .num{font-size:22px}.back{align-items:center;gap:6px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.session-head{justify-content:space-between;align-items:center;margin-top:4px;display:flex}.meta-chips{flex-wrap:wrap;gap:6px;margin-top:12px;display:flex}.meta-chips span{background:var(--surface);border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:13px;font-weight:600}.progress{gap:6px;margin-top:18px;display:flex}.progress .step{flex-direction:column;flex:1;gap:6px;min-width:0;display:flex}.progress .bar{background:#dde1d9;border-radius:999px;height:6px}.progress .label{color:var(--muted);font-size:12px;font-weight:600}.progress .done .bar{background:var(--ink)}.progress .current .bar{background:var(--accent);box-shadow:inset 0 0 0 1px #12201a40}.progress .current .label{color:var(--ink);font-weight:800}.me-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md);justify-content:space-between;align-items:center;gap:12px;padding:10px 10px 10px 16px;font-size:15px;font-weight:600;display:flex}.me-card select{min-width:140px;font-weight:700}.up-card{background:var(--accent);border-radius:20px;flex-direction:column;gap:6px;padding:16px;display:flex}.up-card .headline{font-family:var(--display);font-size:22px;font-weight:800;line-height:1.15}.round-card{flex-direction:column;gap:14px;display:flex}.round-card+.round-card{margin-top:14px}.match{flex-direction:column;gap:8px;display:flex}.match+.match{border-top:1px solid var(--line-soft);padding-top:14px}.match.mine .team-row{box-shadow:inset 0 0 0 2px var(--accent)}.match-meta{color:var(--muted);justify-content:space-between;font-size:13px;font-weight:600;display:flex}.team-row{background:var(--ground);border-radius:16px;align-items:center;gap:12px;min-height:64px;padding:6px 6px 6px 14px;display:flex}.team-row .team{flex:1;min-width:0;font-size:16px;font-weight:700}.team-row.won .team:after{content:" ✓"}.score-box{text-align:center;width:64px;height:52px;font-family:var(--display);font-variant-numeric:tabular-nums;flex:none;justify-content:center;align-items:center;padding:0;font-size:26px;font-weight:800;display:flex}input.score-box{border:2px solid var(--ink);background:var(--surface);border-radius:14px}output.score-box,span.score-box{color:var(--muted)}.team-row.won .score-box{color:var(--ink)}.sitout{color:var(--muted);align-items:center;gap:8px;font-size:14px;display:flex}.sitout strong{color:var(--ink)}.std-row{border-top:1px solid var(--line-soft);align-items:center;gap:12px;padding:10px 0;display:flex}.std-row .name{flex:1;min-width:0;font-weight:700}.std-row .num{text-align:right;width:36px;font-size:18px}.round-row{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-md)}.round-row+.round-row{margin-top:8px}.round-line{align-items:center;gap:12px;padding:14px 16px;list-style:none;display:flex}.round-row summary{cursor:pointer}.round-row summary::-webkit-details-marker{display:none}.round-line .label{flex:none;width:70px;font-weight:700}.round-line .summary{color:var(--muted);flex-direction:column;flex:1;gap:4px;min-width:0;font-size:14px;display:flex}.round-line .state{align-items:center;gap:4px;font-size:13px;font-weight:700;display:inline-flex}.round-line .mid{white-space:nowrap}.round-line .mid.score{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700}.round-row[open] summary .state{color:var(--muted)}.round-row.current-row{border:2px solid var(--ink)}.round-row.current-row .state .dot{box-shadow:0 0 0 1px var(--ink)}.round-row .body{flex-direction:column;gap:14px;padding:0 16px 16px;display:flex}.admin{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.player-chips{flex-wrap:wrap;gap:8px;display:flex}.player-chip{background:var(--surface);border:1.5px solid #d5dad2;border-radius:999px;align-items:center;gap:6px;height:44px;padding:0 16px;font-size:15px;font-weight:700;display:inline-flex}.player-chip[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}.inline-form{gap:8px;display:flex}.inline-form input{flex:1}.settings{padding:6px 18px}.setting{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.setting:last-child{border-bottom:0}.setting .label{flex-direction:column;gap:2px;font-weight:700;display:flex}.setting .hint{color:var(--muted);font-size:12px;font-weight:400}.setting input[type=date]{height:40px;padding:0 10px;font-weight:600}.stepper{border-radius:var(--radius-sm);background:var(--ground);align-items:center;gap:4px;padding:4px;display:flex}.stepper button{background:var(--surface);border-radius:10px;width:36px;height:36px;font-size:18px;font-weight:800}.stepper .value{text-align:center;width:28px;font-family:var(--display);font-size:18px;font-weight:800}.preview-item{border-radius:var(--radius-sm);background:var(--ground);gap:12px;padding:10px 12px;display:flex}.num-badge{background:var(--ink);color:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;width:26px;height:26px;font-size:13px;font-weight:700;display:flex}.preview-item .lines{flex-direction:column;gap:2px;min-width:0;font-size:14px;display:flex}.preview-item .match-line{font-weight:700}.sticky-cta{bottom:calc(100px + env(safe-area-inset-bottom));z-index:4;margin-top:18px;position:sticky}.sticky-cta .btn{border-radius:18px;width:100%;height:56px;font-size:17px;font-weight:800;box-shadow:0 12px 26px #12201a2e}.month{margin:26px 0 10px}.history-card{background:var(--surface);border:1px solid var(--line);color:var(--ink);border-radius:22px;align-items:center;gap:14px;padding:14px;text-decoration:none;display:flex}.history-card+.history-card{margin-top:10px}.history-card.live{background:var(--ink);border-color:var(--ink);color:#fff}.date-tile{background:var(--ground);border-radius:16px;flex-direction:column;flex:none;justify-content:center;align-items:center;width:56px;height:60px;display:flex}.date-tile .num{font-size:24px}.date-tile .wd{text-transform:uppercase;color:var(--muted);font-size:11px;font-weight:700}.history-card.live .date-tile{background:var(--accent);color:var(--ink)}.history-card.live .date-tile .wd{color:var(--ink)}.history-card .main{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.history-card .title{align-items:center;gap:8px;font-size:16px;font-weight:700;display:flex}.history-card .meta{color:var(--muted);font-size:13px}.history-card.live .meta{color:var(--on-ink-muted)}.history-card .winner{align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.live-tag{background:#ffffff1f;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:700;display:inline-flex}.player-row{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0;display:flex}.player-row:first-child{border-top:0}.player-row form:first-of-type{flex:1;gap:8px;min-width:200px;display:flex}.player-row form:first-of-type input{flex:1}.player-row.inactive .avatar,.player-row.inactive input{opacity:.5}.player-row .toggle{flex-basis:100%;margin-top:-8px;padding-left:50px}.player-row .toggle .btn-link{padding:8px 0}.loading-bar{z-index:10;background:linear-gradient(90deg, transparent, var(--ink), transparent);background-repeat:no-repeat;background-size:50% 100%;width:100%;height:3px;animation:1s linear infinite loading;position:fixed;top:0;left:0}@keyframes loading{0%{background-position:-50% 0}to{background-position:150% 0}}@media (prefers-reduced-motion:reduce){.loading-bar{animation:none}}
