:root{color-scheme:light;--paper:#f5f2ea;--card:#ffffff;--ink:#141822;--ink-70:rgba(20,24,34,0.7);--ink-55:rgba(20,24,34,0.62);--ink-35:rgba(20,24,34,0.35);--ink-15:rgba(20,24,34,0.15);--court:#2137e6;--court-deep:#16249c;--court-wash:#e6e9fc;--sun:#ffc61a;--sun-wash:#fff3cd;--sp-1:5px;--sp-2:8px;--sp-3:13px;--sp-4:21px;--sp-5:34px;--sp-6:55px;--fs-xs:11px;--fs-s:13px;--fs-m:16px;--fs-l:21px;--fs-xl:34px;--radius:10px;--border:2px solid var(--ink);--shadow:3px 3px 0 var(--ink);--tabbar-h:55px;--app-w:480px;--field:var(--paper);--font:-apple-system,BlinkMacSystemFont,system-ui,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}*{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%}body{background:var(--field);color:var(--ink);font-family:var(--font);font-size:var(--fs-m);line-height:1.45;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}button{font-family:inherit;cursor:pointer;touch-action:manipulation}button:disabled{cursor:default;opacity:.45}a{color:inherit;text-decoration:none}.display{font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}.app{min-height:100dvh;max-width:var(--app-w);margin:0 auto;padding-bottom:calc(var(--tabbar-h) + var(--sp-5) + env(safe-area-inset-bottom))}.content{padding:var(--sp-4) var(--sp-3) 0}.hero{background:var(--court);color:#fff;border-bottom:var(--border);padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-3) var(--sp-3)}.hero-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:34px}.hero-date{font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.08em;background:var(--sun);color:var(--ink);border:var(--border);border-radius:999px;padding:2px var(--sp-3)}.hero-tools{display:flex;align-items:center;gap:var(--sp-2)}.hero-org-chip{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--sun)}.lock-btn{width:44px;height:44px;display:grid;place-items:center;background:transparent;border:none;color:rgba(255,255,255,.75)}.lock-btn.unlocked{color:var(--sun)}.hero-name{font-size:clamp(28px,8.5vw,var(--fs-xl));font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin-top:var(--sp-3);text-wrap:balance}.hero-strip{margin-top:var(--sp-2);min-height:18px;font-size:var(--fs-xs);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hero-updated{color:rgba(255,255,255,.72)}.hero-offline{display:inline-block;background:var(--sun);color:var(--ink);font-weight:700;border-radius:4px;padding:1px var(--sp-2)}.tabbar{position:fixed;inset:auto 0 0 0;background:var(--court);border-top:var(--border);padding-bottom:env(safe-area-inset-bottom);z-index:40}.tabbar-inner{max-width:var(--app-w);margin:0 auto;display:flex;height:var(--tabbar-h)}@media (min-width:375px){.tabbar-inner{column-gap:var(--sp-2);padding-inline:var(--sp-1)}}.tab{flex:1 1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;background:transparent;border:none;border-top:3px solid transparent;color:rgba(255,255,255,.72);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tab.active{color:var(--sun);border-top-color:var(--sun)}.phase{margin-bottom:var(--sp-4);scroll-margin-top:var(--sp-3)}.phase-head{display:flex;align-items:baseline;flex-wrap:wrap;row-gap:var(--sp-1);gap:var(--sp-2);margin-bottom:var(--sp-2);padding:0 var(--sp-1)}.phase-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}.phase-time{font-size:var(--fs-s);color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.phase-duration,.phase-time{font-weight:700;white-space:nowrap}.phase-duration{font-size:var(--fs-xs);color:var(--ink-55);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.phase-duration:before{content:"·";margin-right:var(--sp-1)}.match-duration{font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-55)}.match-duration:not(:first-child):before{content:"·";margin-right:var(--sp-2);color:var(--ink-35)}.chip{align-self:center;font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;border-radius:999px;padding:1px var(--sp-2)}.chip-now{background:var(--sun);color:var(--ink);border:1.5px solid var(--ink)}.chip-next{color:var(--court-deep);border:1.5px solid var(--court)}.chip-next,.match{background:var(--card)}.match{border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-2) var(--sp-3) var(--sp-3);margin-bottom:var(--sp-3)}.match-live{border-color:var(--court);box-shadow:3px 3px 0 var(--court)}.match-finished{border-color:var(--ink-35);box-shadow:none;background:transparent}.match-meta{display:flex;align-items:center;flex-wrap:wrap;row-gap:var(--sp-1);gap:var(--sp-2);font-size:var(--fs-s);font-weight:700;color:var(--ink-55);min-height:28px}.match-time{color:var(--ink);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-pitch:not(:first-child):before{content:"·";margin-right:var(--sp-2);color:var(--ink-35)}.team-flag{margin-right:var(--sp-2);font-size:1.05em;line-height:1;flex:none}.match-ref{font-size:var(--fs-xs);font-weight:800;color:var(--court-deep);background:var(--court-wash);border-radius:4px;padding:0 var(--sp-1)}.match-spacer{flex:1 1}.match-done{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55)}.match-potm{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);border-radius:999px;background:var(--sun-wash);font-size:var(--fs-xs);font-weight:800;color:var(--ink)}.match-potm-star{flex:none;color:#8a6a00;font-size:var(--fs-s);line-height:1}.match-potm.voted{background:none;padding-left:0;padding-right:0;font-weight:700}.match-potm.voted,.match-potm.voted .match-potm-star{color:var(--ink-55)}.match-potm-text{min-width:0}.match-finished .match-meta .match-time{color:var(--ink-55)}.match-teams{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-1);gap:var(--sp-1);margin-top:var(--sp-1)}.match-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.match-team{font-weight:650;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.match-team.tbd{color:var(--ink-55);font-weight:500;font-style:italic}.match-row.winner .match-team{font-weight:850}.match-row.loser .match-team{color:var(--ink-70)}.match-score{font-size:var(--fs-l);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:21px;text-align:right}.match-finished .match-score{color:var(--ink-70)}.match-row.winner .match-score{color:var(--ink)}.match-scheduled .match-score{color:var(--ink-55);font-weight:700}.live-badge{display:inline-flex;align-items:center;gap:6px;background:var(--sun);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:1px var(--sp-2);font-size:var(--fs-xs);font-weight:900;letter-spacing:.1em}.live-dot{width:7px;height:7px;border-radius:999px;background:var(--court);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.55);opacity:.55}}.edit-btn{width:36px;height:36px;display:grid;place-items:center;background:var(--card);color:var(--court-deep);border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 var(--ink);position:relative;z-index:1}.edit-btn:after{content:"";position:absolute;top:50%;left:50%;width:44px;height:44px;transform:translate(-50%,-50%)}.edit-btn:active{transform:translate(2px,2px);box-shadow:none}.section-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:var(--sp-2);padding:0 var(--sp-1)}.table-card{margin-bottom:var(--sp-4)}.table{width:100%;border-collapse:collapse;background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;border-spacing:0}.table td,.table th{padding:var(--sp-2) var(--sp-1);text-align:center;font-size:var(--fs-s)}.table thead th{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-55);border-bottom:var(--border);padding-top:var(--sp-2);padding-bottom:var(--sp-1)}.table .col-team{text-align:left;width:99%;max-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:650}.table .col-pos,.table .col-team{padding-left:var(--sp-2)}.table .col-pts{font-weight:900;padding-right:var(--sp-2)}.table tbody tr:not(.cutline):not(:last-child) td{border-bottom:1px solid var(--ink-15)}.pos-chip{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:999px;font-size:var(--fs-xs);font-weight:800;color:var(--ink-55)}.pos-chip.q{background:var(--sun);color:var(--ink);border:1.5px solid var(--ink)}.table-note{display:flex;align-items:flex-start;gap:6px;padding:var(--sp-2) var(--sp-1) 0;font-size:var(--fs-xs);font-weight:650;line-height:1.35;color:var(--ink-55)}.table tr.cutline td{border-top:2px dashed var(--court);border-bottom:none;padding:2px var(--sp-2) var(--sp-1);text-align:right;font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--court-deep)}.table tr.cutline-contested td{border-top:2px dashed var(--sun);color:var(--ink-70)}.pos-chip.c{background:var(--sun-wash);color:var(--ink);border:1.5px dashed var(--ink)}.bestof-card{margin-top:var(--sp-5)}.bestof-lead{padding:0 var(--sp-1) var(--sp-2);margin-top:calc(-1 * var(--sp-1));font-size:var(--fs-s);font-weight:650;line-height:1.35;color:var(--ink-70)}.bestof-without{display:block;margin-top:1px;font-style:italic;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bestof-note,.bestof-without{font-size:var(--fs-xs);font-weight:650;color:var(--ink-55)}.bestof-note{padding:var(--sp-2) var(--sp-1) 0;line-height:1.35}.bestof-discard{margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--sun-wash);border:var(--border);border-radius:var(--radius);color:var(--ink-70)}.bracket{margin-bottom:var(--sp-4)}.bracket-note{margin:calc(-1 * var(--sp-1)) 0 var(--sp-3);padding:0 var(--sp-1);font-size:var(--fs-xs);font-weight:650;line-height:1.35;color:var(--ink-55)}.bracket-round{margin-bottom:var(--sp-3)}.bracket-round-title{margin-bottom:var(--sp-2);padding:0 var(--sp-1);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--court-deep)}.bracket-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.bracket-card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-2) var(--sp-3) var(--sp-3);margin-bottom:var(--sp-3);min-width:0}.bracket-grid .bracket-card,.bracket-round>.bracket-card{margin-bottom:0}.bracket-grid .bracket-card .match-pitch{flex:none}.bracket-grid .bracket-card .match-duration:before,.bracket-grid .bracket-card .match-pitch:before{content:none}.bracket-grid+.bracket-card{margin-top:var(--sp-3)}.bracket-card .match-team{font-size:var(--fs-s)}.bracket-card .match-score{font-size:var(--fs-m)}.bracket-final{background:var(--sun)}.bracket-final .match-ref{background:var(--ink);color:var(--sun)}.bracket-final .match-duration,.bracket-final .match-meta,.bracket-final .match-team.tbd{color:var(--ink-70)}.bracket-final .match-team{font-size:var(--fs-m)}.bracket-final .match-score{font-size:var(--fs-l)}.scorers{list-style:none;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.scorer{display:flex;align-items:center;gap:var(--sp-3);background:var(--card);border:var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.scorer-top{background:var(--sun);box-shadow:var(--shadow)}.scorer-rank{flex:none;width:26px;height:26px;display:grid;place-items:center;border-radius:999px;border:1.5px solid var(--ink);font-size:var(--fs-s);font-weight:800;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.scorer-top .scorer-rank{background:var(--ink);color:var(--sun)}.scorer-who{flex:1 1;min-width:0;display:grid}.scorer-name{font-weight:750}.scorer-name,.scorer-team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scorer-team{font-size:var(--fs-xs);color:var(--ink-55)}.scorer-top .scorer-team{color:var(--ink-70)}.scorer-trophy{flex:none;display:grid;place-items:center;color:var(--ink)}.scorer-goals{flex:none;font-size:var(--fs-l);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:26px;text-align:right}.scorers-empty{display:grid;justify-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-5) var(--sp-4);text-align:center;color:var(--ink-55);font-size:var(--fs-s);font-weight:600}.scorers-empty svg{color:var(--court)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--sp-2);min-height:48px;padding:0 var(--sp-4);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card);color:var(--ink);font-size:var(--fs-m);font-weight:800;-webkit-user-select:none;-moz-user-select:none;user-select:none}.btn:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.btn-court{background:var(--court);color:#fff}.btn-sun{background:var(--sun);color:var(--ink)}.btn-ghost{box-shadow:none}.btn-small{min-height:36px;padding:0 var(--sp-3);font-size:var(--fs-s)}.btn-live-dot{width:8px;height:8px;border-radius:999px;background:var(--court);animation:pulse 1.2s ease-in-out infinite}.overlay{position:fixed;inset:0;background:rgba(20,24,34,.5);z-index:50;display:flex}.overlay-center{align-items:center;justify-content:center;padding:var(--sp-4)}.overlay-bottom{align-items:flex-end;justify-content:center}.dialog{width:100%;max-width:340px;background:var(--paper);border:var(--border);border-radius:var(--radius);box-shadow:5px 5px 0 var(--ink);padding:var(--sp-4);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.dialog-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}.dialog-hint{font-size:var(--fs-s);color:var(--ink-70)}.pin-input{width:100%;min-height:55px;border:var(--border);border-radius:var(--radius);background:var(--card);font-family:inherit;font-size:var(--fs-l);font-weight:800;text-align:center;letter-spacing:.35em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.pin-input:focus{outline:3px solid var(--court);outline-offset:1px}.dialog-error{font-size:var(--fs-s);font-weight:700;background:var(--sun);border:1.5px solid var(--ink);border-radius:6px;padding:var(--sp-1) var(--sp-2)}.dialog-actions{display:flex;justify-content:flex-end;gap:var(--sp-2)}.shake{animation:shake .4s ease-in-out}@keyframes shake{0%,to{transform:translateX(0)}20%{transform:translateX(-8px)}40%{transform:translateX(8px)}60%{transform:translateX(-5px)}80%{transform:translateX(5px)}}.sheet{width:100%;max-width:480px;max-height:88dvh;overflow-y:auto;background:var(--paper);border-top:var(--border);border-radius:var(--sp-4) var(--sp-4) 0 0;padding:0 var(--sp-3) calc(var(--sp-5) + env(safe-area-inset-bottom));animation:slide-up .22s ease-out}@keyframes slide-up{0%{transform:translateY(34px);opacity:0}to{transform:translateY(0);opacity:1}}.sheet-grab{width:34px;height:4px;border-radius:999px;background:var(--ink-35);margin:var(--sp-2) auto var(--sp-2)}.sheet-head{position:-webkit-sticky;position:sticky;top:0;z-index:2;background:var(--paper);display:flex;flex-direction:column;align-items:stretch;gap:var(--sp-1);padding-bottom:var(--sp-2);border-bottom:1px solid var(--ink-15);margin-bottom:var(--sp-3)}.sheet-head-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-3)}.sheet-kicker{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.sheet-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1.1}.sheet-vs{color:var(--court)}.sheet-section{margin-bottom:var(--sp-4)}.sheet-subtitle{font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--court-deep);margin-bottom:var(--sp-2)}.sheet-hint{font-size:var(--fs-xs);color:var(--ink-55);margin-bottom:var(--sp-2)}.stepper-row{display:flex;align-items:flex-end;justify-content:center;gap:var(--sp-3);background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3)}.stepper{flex:1 1;min-width:0;display:grid;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2)}.stepper-team{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-align:center;color:var(--ink-70);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stepper-controls{display:flex;align-items:center;gap:var(--sp-2)}.stepper-value{font-size:var(--fs-xl);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:44px;text-align:center;line-height:1}.stepper-sep{color:var(--ink-35);padding-bottom:var(--sp-2)}.mini-btn,.step-btn,.stepper-sep{font-size:var(--fs-l);font-weight:900}.mini-btn,.step-btn{flex:none;width:48px;height:48px;display:grid;place-items:center;border:var(--border);border-radius:999px;background:var(--card);line-height:1;box-shadow:2px 2px 0 var(--ink);-webkit-user-select:none;-moz-user-select:none;user-select:none}.mini-btn-add,.step-btn-add{background:var(--sun)}.mini-btn:active:not(:disabled),.step-btn:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.pens-form{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.sheet-actions{display:flex;gap:var(--sp-3);margin-top:var(--sp-3)}.sheet-actions .btn{flex:1 1}.sheet-flash{font-weight:800;color:var(--court-deep)}.sheet-error,.sheet-flash{margin-top:var(--sp-2);font-size:var(--fs-s)}.sheet-error{font-weight:700;background:var(--sun);border:1.5px solid var(--ink);border-radius:6px;padding:var(--sp-1) var(--sp-2)}.goal-teams{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.goal-team{background:var(--card);border:var(--border);border-radius:var(--radius);padding:var(--sp-3)}.goal-team-name{font-size:var(--fs-s);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:var(--sp-2)}.goal-players{list-style:none;display:grid}.goal-player{display:flex;align-items:center;gap:var(--sp-2);min-height:48px;padding-block:var(--sp-1);border-top:1px solid var(--ink-15)}.goal-player-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:var(--fs-s)}.goal-count{font-size:var(--fs-s);font-weight:900;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.bracket-card,.match{cursor:pointer}.bracket-card:focus-visible,.match:focus-visible{outline:3px solid var(--court);outline-offset:2px}.sheet-detail{padding-left:var(--sp-4);padding-right:var(--sp-4)}.sheet-detail .goal-teams{grid-template-columns:1fr 1fr;gap:var(--sp-4)}.sheet-detail .goal-team{background:none;border:none;border-radius:0;padding:0}.sheet-detail .goal-player-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:var(--fs-xs)}.sheet-detail .player-avatar{flex:none;width:22px;height:22px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;font-size:var(--fs-xs);font-weight:800;font-style:normal;letter-spacing:0}.sheet-detail .goal-team-home .player-avatar{background:var(--court-wash);color:var(--court-deep)}.sheet-detail .goal-team-away .player-avatar{background:var(--sun-wash);color:#8a6a00}.sheet-detail .goal-count{font-size:var(--fs-xs)}.sheet-detail .goal-player:first-child{border-top:none}.sheet-detail .goal-player{min-height:0;padding-top:var(--sp-3);padding-bottom:var(--sp-3)}.detail-goals{display:flex;flex-wrap:wrap;gap:var(--sp-2) var(--sp-3)}.detail-goal{display:inline-flex;align-items:center;gap:var(--sp-1);font-size:var(--fs-s);font-weight:700}.detail-goal-ball{font-size:var(--fs-xs);line-height:1}.detail-goal-count{font-weight:900;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.potm-head{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1);margin-bottom:var(--sp-3)}.potm-prompt{font-size:var(--fs-s);font-weight:700}.potm-hint{line-height:1.4;text-wrap:pretty}.potm-empty,.potm-hint{font-size:var(--fs-xs);color:var(--ink-55)}.potm-empty{font-weight:800}.sheet-detail .goal-player.potm-row{border-top:none;padding:0;margin-bottom:var(--sp-1)}.potm-target{flex:1 1;min-width:0;display:flex;align-items:center;gap:var(--sp-1);width:100%;min-height:44px;padding:var(--sp-2) var(--sp-1) var(--sp-2) var(--sp-2);border:1.5px solid var(--ink-35);border-radius:999px;background:var(--card);font:inherit;color:inherit;text-align:left;cursor:pointer}.potm-target:active:not(:disabled){transform:scale(.97);background:var(--court-wash);border-color:var(--court)}.potm-target:focus-visible{outline:3px solid var(--court);outline-offset:2px}.potm-target:disabled{opacity:.5;cursor:default}.potm-chosen .goal-player-name{font-weight:900}.potm-check{color:var(--court)}.potm-check,.potm-count{flex:none;font-size:var(--fs-xs);font-weight:900}.potm-count{min-width:21px;padding:1px var(--sp-1);border-radius:999px;background:var(--ink-15);color:var(--ink);text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.potm-leading{background:var(--sun);color:var(--ink)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;-webkit-clip-path:inset(50%);clip-path:inset(50%);white-space:nowrap;border:0}.detail-scoreboard{display:grid;justify-items:center;grid-gap:var(--sp-2);gap:var(--sp-2)}.scoreboard{display:flex;align-items:center;justify-content:center;gap:var(--sp-3);width:100%}.scoreboard-team{flex:1 1;min-width:0;font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;line-height:1.15}.scoreboard-team:first-child{text-align:right}.scoreboard-team:last-child{text-align:left}.scoreboard-mid{flex:none;display:inline-flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-xl);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.scoreboard-sep{color:var(--ink-35)}.scoreboard-time{font-size:var(--fs-l);color:var(--court-deep)}.detail-pens{display:inline-flex;align-items:baseline;gap:var(--sp-2)}.detail-pens-label{font-size:var(--fs-xs);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55)}.detail-pens-score{font-size:var(--fs-s);font-weight:900;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.nav{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);max-width:480px;margin:0 auto;background:var(--court);border-bottom:var(--border);padding:calc(var(--sp-2) + env(safe-area-inset-top)) var(--sp-3) var(--sp-2)}.nav-brand{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;color:#fff}.nav-tools{display:flex;align-items:center;gap:var(--sp-2);min-width:0}.nav-user{max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--sun)}.landing{min-height:100dvh;padding-bottom:calc(var(--sp-6) + env(safe-area-inset-bottom));overflow-x:clip}.landing .nav{max-width:1120px}.landing-hero{position:relative;isolation:isolate;background:var(--court);color:#fff;border-bottom:var(--border);overflow:hidden}.hero-field{position:absolute;inset:0;z-index:-1;background:radial-gradient(120% 80% at 92% -10%,rgba(255,198,26,.28),transparent 55%),radial-gradient(90% 70% at 0 120%,var(--court-deep),transparent 60%),linear-gradient(var(--court),var(--court))}.hero-field:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 50% 108%,transparent calc(38% - 2px),rgba(255,255,255,.14) calc(38% - 2px),rgba(255,255,255,.14) 38%,transparent 0),linear-gradient(rgba(255,255,255,.1),rgba(255,255,255,.1));background-size:100% 100%,100% 2px;background-position:50%,bottom;background-repeat:no-repeat}.hero-inner{position:relative;max-width:1120px;margin:0 auto;padding:var(--sp-5) var(--sp-3) var(--sp-6);display:grid;grid-gap:var(--sp-5);gap:var(--sp-5)}.hero-copy{min-width:0}.hero-kicker{display:inline-block;font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--ink);background:var(--sun);border:var(--border);border-radius:999px;padding:3px var(--sp-3);box-shadow:3px 3px 0 var(--court-deep)}.hero-wordmark{margin-top:var(--sp-4);font-size:clamp(64px,22vw,140px);letter-spacing:-.045em;line-height:.82;color:#fff;text-shadow:4px 4px 0 var(--court-deep)}.hero-headline,.hero-wordmark{font-weight:900;font-style:italic;text-transform:uppercase}.hero-headline{margin-top:var(--sp-3);max-width:16ch;font-size:clamp(26px,8vw,44px);letter-spacing:-.02em;line-height:1;color:var(--sun);text-wrap:balance}.hero-tagline{margin-top:var(--sp-4);max-width:34ch;font-size:var(--fs-m);color:rgba(255,255,255,.88);line-height:1.45;text-wrap:pretty}.hero-cta-row{margin-top:var(--sp-5);display:flex;flex-wrap:wrap;gap:var(--sp-3)}.hero-cta-primary{font-size:var(--fs-l)}.hero-cta-primary,.hero-cta-secondary{min-height:55px;box-shadow:4px 4px 0 var(--court-deep)}.hero-cta-secondary{font-size:var(--fs-m);background:transparent;color:#fff;border-color:#fff}.hero-visual{display:flex;justify-content:center;perspective:1200px}.hero-phone{--tilt:-4deg;width:244px;max-width:78vw;background:var(--paper);border:3px solid var(--ink);border-radius:30px;box-shadow:12px 14px 0 var(--court-deep);padding:var(--sp-2);transform:rotate(var(--tilt));overflow:hidden}.hp-notch{display:block;width:78px;height:6px;margin:2px auto var(--sp-2);background:var(--ink-35);border-radius:999px}.hp-head{background:var(--court);border:2px solid var(--ink);border-radius:12px 12px 4px 4px;padding:var(--sp-2) var(--sp-3) var(--sp-3);color:#fff}.hp-head-top{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.hp-wordmark{font-size:var(--fs-s);font-weight:900;font-style:italic;letter-spacing:-.02em}.hp-date,.hp-wordmark{text-transform:uppercase}.hp-date{font-size:9px;font-weight:800;letter-spacing:.06em;color:var(--ink);background:var(--sun);border:1.5px solid var(--ink);border-radius:999px;padding:1px 7px}.hp-cupname{display:block;margin-top:var(--sp-2);font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.03em;line-height:1}.hp-body{padding:var(--sp-3) 2px 2px;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);color:var(--ink)}.hp-phase{display:flex;align-items:baseline;justify-content:space-between;gap:var(--sp-2);padding:0 2px}.hp-phase-title{font-size:var(--fs-s);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}.hp-phase-time{font-size:10px;font-weight:700;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hp-card{background:var(--card);border:2px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 var(--ink);padding:6px var(--sp-2) var(--sp-2)}.hp-card-live{border-color:var(--court);box-shadow:2px 2px 0 var(--court)}.hp-meta{display:flex;gap:var(--sp-2);min-height:18px;margin-bottom:3px;font-size:10px;font-weight:700;color:var(--ink-55)}.hp-live,.hp-meta{align-items:center}.hp-live{display:inline-flex;gap:4px;background:var(--sun);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:0 6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.hp-live-dot{width:6px;height:6px;border-radius:999px;background:var(--court);animation:pulse 1.2s ease-in-out infinite}.hp-chip-next{color:var(--court-deep);background:var(--card);border:1.5px solid var(--court);border-radius:999px;padding:0 6px;font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.hp-pitch{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hp-row{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);font-size:var(--fs-s)}.hp-team{font-weight:650;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hp-row-win .hp-team{font-weight:850}.hp-score{font-size:var(--fs-m);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hp-score-tbd{color:var(--ink-55);font-weight:700}.hero-rise{animation:heroRise .66s cubic-bezier(.16,.84,.32,1) both}.hero-rise-1{animation-delay:.05s}.hero-rise-2{animation-delay:.13s}.hero-rise-3{animation-delay:.26s}.hero-rise-4{animation-delay:.39s}.hero-rise-5{animation-delay:.52s}.hero-rise-6{animation:phoneLand .8s cubic-bezier(.16,.84,.32,1) both;animation-delay:.34s}@keyframes heroRise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes phoneLand{0%{opacity:0;transform:translateY(34px) rotate(4deg) scale(.94)}to{opacity:1;transform:translateY(0) rotate(0) scale(1)}}@media (prefers-reduced-motion:reduce){.hero-rise,.hero-rise-6{animation:none}}.landing-body{max-width:720px;margin:0 auto;padding:var(--sp-6) var(--sp-3) 0;display:grid;grid-gap:var(--sp-6);gap:var(--sp-6)}.landing-section-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:var(--sp-3);padding:0 var(--sp-1)}.landing-empty{color:var(--ink-55);font-size:var(--fs-s);font-weight:600;padding:0 var(--sp-1)}.how-list{list-style:none;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.how-step{display:flex;align-items:flex-start;gap:var(--sp-3);background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4)}.how-num{flex:none;width:38px;height:38px;display:grid;place-items:center;background:var(--court);color:var(--sun);border:var(--border);border-radius:999px;font-size:var(--fs-l);font-weight:900;font-style:italic;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.how-text{min-width:0}.how-step-title{font-size:var(--fs-m);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}.how-step-body{margin-top:2px;font-size:var(--fs-s);color:var(--ink-70);line-height:1.4;text-wrap:pretty}.cred{display:flex;align-items:center;gap:var(--sp-4);background:var(--court);color:#fff;border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4)}.cred-badge{flex:none;font-size:clamp(48px,16vw,72px);font-weight:900;font-style:italic;letter-spacing:-.04em;line-height:.8;color:var(--sun);text-shadow:3px 3px 0 var(--court-deep)}.cred-text{min-width:0}.cred-title{font-size:var(--fs-m);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;color:var(--sun)}.cred-body{margin-top:var(--sp-1);font-size:var(--fs-s);color:rgba(255,255,255,.9);line-height:1.45;text-wrap:pretty}@media (min-width:880px){.hero-inner{grid-template-columns:1.15fr .85fr;align-items:center;gap:var(--sp-4);padding-block:var(--sp-6) calc(var(--sp-6) + var(--sp-4))}.hero-visual{justify-content:flex-end}.hero-phone{width:300px;max-width:none}.how-list{grid-template-columns:repeat(3,1fr);align-items:stretch}.how-step{flex-direction:column}}.auth-hint{margin-top:var(--sp-1)}.auth-note{margin-top:0;line-height:1.4}.auth-switch{text-align:center;font-size:var(--fs-s);color:var(--ink-70)}.auth-switch-link{font-weight:800;color:var(--court-deep);text-decoration:underline;text-underline-offset:2px}.home{max-width:480px;margin:0 auto;padding:var(--sp-6) var(--sp-3)}.home-title{font-size:var(--fs-xl);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;color:var(--court);margin-bottom:var(--sp-4)}.home-empty{color:var(--ink-55)}.home-list{list-style:none;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.home-card{display:grid;grid-gap:2px;gap:2px;background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-4)}.home-card:active{transform:translate(3px,3px);box-shadow:none}.home-card-name{font-weight:900;font-style:italic;text-transform:uppercase;font-size:var(--fs-l);letter-spacing:-.02em}.home-card-date{font-size:var(--fs-s);color:var(--ink-55);text-transform:capitalize}.home-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--sp-3);margin-bottom:var(--sp-4)}.home-top .home-title{margin-bottom:0}.lang-switch{position:relative;flex:none}.lang-chip{display:inline-flex;align-items:center;gap:4px;height:34px;padding:0 10px;background:var(--card);color:var(--ink);border:var(--border);border-radius:999px;box-shadow:2px 2px 0 var(--ink);font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lang-chip:active{transform:translate(2px,2px);box-shadow:none}.lang-caret{font-size:9px;line-height:1;opacity:.65}.lang-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:188px;display:grid;grid-gap:2px;gap:2px;padding:6px;background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.lang-option{display:flex;align-items:center;gap:10px;min-height:44px;padding:8px 10px;border:none;border-radius:8px;background:transparent;color:var(--ink);font-size:var(--fs-m);font-weight:700;text-align:left;white-space:nowrap}.lang-option:hover{background:var(--paper)}.lang-option-active{background:var(--sun-wash);color:var(--court-deep)}.lang-option-code{width:24px;flex:none;font-size:var(--fs-xs);font-weight:800;letter-spacing:.06em;color:var(--ink-55);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.lang-option-active .lang-option-code{color:var(--court)}.match-pens{display:flex;align-items:baseline;justify-content:flex-end;gap:var(--sp-2);margin-top:var(--sp-1);padding-top:var(--sp-1);border-top:1px dashed var(--ink-15);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.match-pens-label{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55)}.match-pens-score{font-size:var(--fs-s);font-weight:900;color:var(--court-deep)}.bracket-grid .bracket-card .match-pens-label{display:none}.bracket-final .match-pens{border-top-color:var(--ink-35)}.bracket-final .match-pens-label{color:var(--ink-70)}.bracket-final .match-pens-score{color:var(--ink)}.champ-banner{position:relative;max-width:var(--app-w);margin:0 auto;display:flex;align-items:center;gap:var(--sp-3);background:var(--sun);border-bottom:var(--border);padding:var(--sp-3);animation:champ-pop .5s cubic-bezier(.2,1.2,.4,1)}@keyframes champ-pop{0%{transform:scale(.96);opacity:0}to{transform:scale(1);opacity:1}}.champ-trophy{flex:none;display:grid;place-items:center;width:60px;height:60px;padding:0;background:var(--paper);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.champ-trophy:active{transform:translate(3px,3px);box-shadow:none}.champ-text{display:grid;grid-gap:2px;gap:2px;min-width:0}.champ-kicker{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-70)}.champ-name{font-size:clamp(21px,6.5vw,var(--fs-xl));font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1.02;color:var(--ink);overflow-wrap:anywhere}.confetti-canvas{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:60}.champ-row td{background:var(--sun-wash)}.champ-tag,.team-inline-name{vertical-align:middle}.champ-tag{display:inline-flex;align-items:center;gap:3px;margin-left:var(--sp-2);background:var(--sun);color:var(--ink);border:1.5px solid var(--ink);border-radius:999px;padding:0 var(--sp-2);font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.bracket-champ{display:flex;align-items:center;gap:var(--sp-2);margin-top:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:var(--ink);color:var(--sun);border-radius:8px}.bracket-champ-kicker{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7)}.bracket-champ-name{font-size:var(--fs-m);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.teams{display:grid;grid-template-columns:minmax(0,1fr);grid-gap:var(--sp-3);gap:var(--sp-3)}.team-card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3)}.team-card-head{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-2);padding-bottom:var(--sp-2);border-bottom:2px solid var(--ink-15)}.team-group{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--court);color:#fff;border:1.5px solid var(--ink);font-size:var(--fs-s);font-weight:900}.team-name{flex:1 1;min-width:0;font-size:var(--fs-l);font-weight:900;font-style:italic;letter-spacing:-.02em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-count,.team-name{text-transform:uppercase}.team-count{flex:none;font-size:var(--fs-xs);font-weight:800;letter-spacing:.04em;color:var(--ink-55);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.team-players{list-style:none;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-gap:var(--sp-1) var(--sp-3);gap:var(--sp-1) var(--sp-3);counter-reset:roster}.team-player{counter-increment:roster;display:flex;align-items:baseline;gap:var(--sp-2);font-size:var(--fs-s);font-weight:600;min-width:0;white-space:nowrap}.team-player:before{content:counter(roster);flex:none;font-size:var(--fs-xs);font-weight:800;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.teams-pick-bar{display:flex;flex-direction:column;gap:var(--sp-1);padding:0 var(--sp-1)}.teams-pick-toggle{align-self:flex-start;min-height:44px;padding:0 var(--sp-3);border:2px solid var(--ink);border-radius:999px;background:transparent;color:var(--ink);font-family:inherit;font-size:var(--fs-xs);font-weight:900;text-transform:uppercase;letter-spacing:.04em}.teams-pick-toggle.is-on{background:var(--sun);box-shadow:3px 3px 0 var(--ink)}.teams-pick-toggle:active{opacity:.7}.teams-pick-hint{font-size:var(--fs-s);color:var(--ink-55);text-wrap:pretty}.team-players-pick{grid-template-columns:minmax(0,1fr);gap:var(--sp-1)}.team-players-pick .team-player{align-items:center;min-height:44px;gap:var(--sp-2);white-space:normal}.team-player-name{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-player-pick{flex:1 1;min-width:0;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);min-height:44px;padding:0 var(--sp-2);border:1.5px dashed var(--ink-35);border-radius:8px;background:transparent;color:inherit;font-family:inherit;font-size:var(--fs-s);font-weight:600;text-align:left}button.team-player-pick:active{background:var(--sun-wash)}.team-player-pick.is-mine,button.team-player-pick:active{border-style:solid;border-color:var(--ink)}.team-player-pick.is-inert{border-color:transparent}.team-player-pick.is-taken{border-style:solid;border-color:var(--ink-15);color:var(--ink-55)}.team-player-note{font-weight:800;letter-spacing:.04em;color:var(--ink-55)}.team-player-chip,.team-player-note{flex:none;font-size:var(--fs-xs);text-transform:uppercase}.team-player-chip{font-weight:900;letter-spacing:.06em;border-radius:999px;padding:2px var(--sp-2);line-height:1.5;font-family:inherit}.team-player-chip-you{background:var(--sun);color:var(--ink);border:1.5px solid var(--ink)}button.team-player-chip-you{position:relative}button.team-player-chip-you:after{content:"";position:absolute;inset:-11px -6px}button.team-player-chip-you:active{opacity:.6}.team-player-act{flex:none;min-height:44px;padding:0 var(--sp-2);border:none;background:none;color:var(--court-deep);font-family:inherit;font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;text-decoration:underline}.team-player-act:active{opacity:.6}.teams-claim-prompt{font-size:var(--fs-s);color:var(--ink-55);padding:0 var(--sp-1);text-wrap:pretty}.teams-claim-link{font-weight:800;color:var(--court-deep);text-decoration:underline}.claim-dialog .dialog-actions .btn{padding:0 var(--sp-3);font-size:var(--fs-s)}.claim-honesty{font-size:var(--fs-xs);color:var(--ink-55);line-height:1.45;border-left:3px solid var(--ink-15);padding-left:var(--sp-2);text-wrap:pretty}.profile-body{padding-top:var(--sp-5)}.profile-title{font-size:var(--fs-xl);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.03em;line-height:.95}.profile-intro{margin-top:var(--sp-2);font-size:var(--fs-s);color:var(--ink-55);text-wrap:pretty}.career-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:var(--sp-2);gap:var(--sp-2)}.career-stat{display:grid;grid-gap:2px;gap:2px;justify-items:center;text-align:center;background:var(--court);color:#fff;border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3) var(--sp-2)}.career-num{font-size:var(--fs-xl);font-weight:900;font-style:italic;letter-spacing:-.04em;line-height:1;color:var(--sun);text-shadow:2px 2px 0 var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.career-label{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.9);text-wrap:balance}.home-card-line{font-size:var(--fs-s);font-weight:700}.home-card-stat{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--court-deep)}.profile-note{font-size:var(--fs-xs);color:var(--ink-55);padding:0 var(--sp-1);text-wrap:pretty}@media (prefers-reduced-motion:reduce){.btn-live-dot,.champ-banner,.live-dot,.shake,.sheet{animation:none}}.hydration{display:flex;align-items:center;gap:var(--sp-2);flex-wrap:wrap;margin:0 0 var(--sp-4);padding:var(--sp-2) var(--sp-3);background:var(--court-wash);border:2px dashed var(--court);border-radius:var(--radius)}.hydration-drop{font-size:var(--fs-m);line-height:1}.hydration-title{font-size:var(--fs-s);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;color:var(--court-deep)}.hydration-time{font-size:var(--fs-s);font-weight:700;color:var(--court-deep);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hydration-duration{font-size:var(--fs-xs);font-weight:700;color:var(--ink-55);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.hydration-duration:before{content:"·";margin-right:var(--sp-1)}.team-filter{display:flex;align-items:center;gap:var(--sp-2);margin-bottom:var(--sp-3)}.team-filter-switch{position:relative;flex:1 1 auto;min-width:0}.team-filter-chip{display:flex;width:100%;align-items:center;justify-content:center;gap:var(--sp-1);max-width:100%;min-height:44px;padding:0 var(--sp-3);background:var(--card);color:var(--ink);border:var(--border);border-radius:999px;box-shadow:2px 2px 0 var(--ink);font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.06em}.team-filter-chip.on{background:var(--sun)}.team-filter-chip:active{transform:translate(2px,2px);box-shadow:none}.team-filter-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-filter-flag{font-size:var(--fs-m);line-height:1}.team-filter-caret{font-size:9px;line-height:1;opacity:.65}.team-filter-clear{width:44px;height:44px;flex:none;display:grid;place-items:center;background:var(--card);color:var(--ink);border:var(--border);border-radius:999px;box-shadow:2px 2px 0 var(--ink);font-size:var(--fs-s);font-weight:800}.team-filter-clear:active{transform:translate(2px,2px);box-shadow:none}.team-filter-menu{position:absolute;left:0;top:calc(100% + 6px);min-width:100%;display:grid;grid-gap:2px;gap:2px;padding:6px;background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:50;max-height:60vh;overflow-y:auto;overscroll-behavior:contain}.team-filter-option{display:flex;align-items:center;gap:var(--sp-2);min-height:44px;padding:var(--sp-2) var(--sp-2);border:none;border-radius:8px;background:transparent;color:var(--ink);font-size:var(--fs-m);font-weight:700;text-align:left;white-space:nowrap}.team-filter-option:hover{background:var(--paper)}.team-filter-option-active{background:var(--sun-wash);color:var(--court-deep)}.team-filter-option-flag{width:21px;flex:none;font-size:var(--fs-m);line-height:1}.team-done{display:grid;justify-items:center;grid-gap:var(--sp-1);gap:var(--sp-1);margin-bottom:var(--sp-4);padding:var(--sp-4) var(--sp-3);background:var(--court-wash);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);text-align:center}.team-done-over{background:var(--sun-wash)}.team-done-mark{font-size:var(--fs-l);line-height:1}.team-done-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;color:var(--court-deep);text-wrap:balance}.team-done-body{font-size:var(--fs-s);font-weight:600;color:var(--ink-70);text-wrap:balance}.rules-title{font-size:var(--fs-l)}.rules-card,.rules-title{margin-bottom:var(--sp-3)}.rules-card{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3)}.rules-card-title{font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--court-deep);margin-bottom:var(--sp-1)}.rules-card-body{font-size:var(--fs-m);color:var(--ink-70);line-height:1.5;white-space:pre-line}.rules-card-action{margin-top:var(--sp-3);min-height:44px}.rules-thanks{position:relative;background:var(--sun);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-3);margin-bottom:var(--sp-4);text-align:center}.rules-thanks-title{font-size:var(--fs-l);margin-bottom:var(--sp-2)}.rules-thanks-body{font-size:var(--fs-m);color:var(--ink-70);line-height:1.5;margin-bottom:var(--sp-3)}.rules-hosts-label{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--ink-70)}.rules-hosts{font-size:var(--fs-m);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em;color:var(--ink);margin-top:2px;text-wrap:balance}.rules-heart{display:block;font-size:var(--fs-l);margin-top:var(--sp-2)}.rules-card-lang{margin-top:var(--sp-2);font-size:var(--fs-xs);font-weight:700;color:var(--ink-55);letter-spacing:.02em}.rules-thanks .rules-card-lang{color:var(--ink-70)}.rules-flavour-cta{border-style:dashed;box-shadow:none;background:var(--court-wash)}.flav-note{font-size:var(--fs-s);line-height:1.45;color:var(--ink);background:var(--sun-wash);border:1.5px solid var(--ink);border-radius:6px;padding:var(--sp-2) var(--sp-3);margin-bottom:var(--sp-2)}.flav-list{list-style:none;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.flav-card{border:var(--border);border-radius:var(--radius);background:var(--card);box-shadow:var(--shadow);overflow:hidden}.flav-card-off{background:var(--paper);box-shadow:none}.flav-card-off .flav-name{color:var(--ink-55);text-decoration:line-through}.flav-head{display:flex;align-items:stretch}.flav-open{flex:1 1;min-width:0;min-height:48px;display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2);padding:var(--sp-2) var(--sp-3);background:none;border:0;text-align:left;color:inherit;font:inherit}.flav-name{min-width:0;font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--court-deep);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.flav-badges{display:flex;align-items:center;gap:var(--sp-2);flex:none}.flav-badge{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-55);border:1.5px solid var(--ink-35);border-radius:999px;padding:1px var(--sp-2)}.flav-badge-own{color:var(--ink);border-color:var(--ink);background:var(--sun)}.flav-chevron{color:var(--ink-55);font-size:var(--fs-s)}.flav-move{display:flex;flex:none;border-left:1.5px solid var(--ink-15)}.flav-arrow{width:44px;min-height:48px;background:none;border:0;border-left:1.5px solid var(--ink-15);font-size:var(--fs-m);font-weight:900;color:var(--ink)}.flav-arrow:first-child{border-left:0}.flav-arrow:disabled{color:var(--ink-15)}.flav-body{display:grid;grid-gap:var(--sp-3);gap:var(--sp-3);padding:var(--sp-3);border-top:1.5px solid var(--ink-15);background:var(--paper)}.flav-hint{font-size:var(--fs-xs);color:var(--ink-55);line-height:1.4}.flav-textarea{min-height:144px;padding:var(--sp-2) var(--sp-3);line-height:1.45;font-weight:500;resize:vertical}.flav-count{float:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;color:var(--ink-55);letter-spacing:0}.flav-count-over{color:#b3261e}.flav-issues{list-style:none;display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.flav-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--sp-2)}.flav-empty{font-size:var(--fs-s);color:var(--ink-55);margin-bottom:var(--sp-2)}.flav-add{width:100%;border-style:dashed}.coin-flip,.h2h-mark{margin-left:var(--sp-2);font-size:.9em}.tie-card{margin-top:var(--sp-3);padding:var(--sp-3);background:var(--sun-wash);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.tie-kicker{display:flex;align-items:center;gap:6px;font-size:var(--fs-s);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}.tie-body{font-size:var(--fs-s)}.tie-body,.tie-pending{font-weight:650;line-height:1.35}.tie-pending{font-size:var(--fs-xs);color:var(--ink-70)}.tie-btn{width:100%;margin-top:var(--sp-1)}.dialog-tall{max-height:calc(100dvh - 2 * var(--sp-4));overflow-y:auto}.tie-option{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.tie-option .btn{width:100%}.tie-option-hint{font-size:var(--fs-xs);line-height:1.35;color:var(--ink-70)}.tie-pick-head{display:flex;align-items:center;justify-content:space-between;gap:var(--sp-2)}.tie-pick-title{font-size:var(--fs-s);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.01em}.tie-picks,.tie-result{list-style:none;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.tie-pick{display:flex;align-items:center;gap:var(--sp-3);width:100%;min-height:48px;padding:0 var(--sp-3);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);background:var(--card);color:var(--ink);font-size:var(--fs-m);font-weight:800;text-align:left}.tie-pick:active:not(:disabled){transform:translate(3px,3px);box-shadow:none}.tie-pick.picked:disabled{opacity:1;background:var(--sun);box-shadow:none}.tie-result li{display:flex;align-items:center;gap:var(--sp-3);min-height:44px;padding:0 var(--sp-3);border:var(--border);border-radius:var(--radius);background:var(--card);font-size:var(--fs-m);font-weight:800}.tie-rank{display:inline-grid;place-items:center;flex:none;width:26px;height:26px;border-radius:999px;border:1.5px solid var(--ink);background:var(--paper);font-size:var(--fs-s);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.tie-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-indicative{background:transparent;color:var(--ink-55);border:1.5px dashed var(--ink-35);white-space:nowrap}.match-players{display:flex;flex-wrap:wrap;gap:0 .4rem;margin:-.1rem 0 .45rem 1.7rem;padding:0;list-style:none;font-size:.72rem;line-height:1.4;color:var(--ink-55)}.match-player{white-space:nowrap}.match-player:not(:last-child):after{content:"·";margin-left:.4rem;color:var(--ink-15)}.setup-page{min-height:100dvh;max-width:480px;margin:0 auto;padding-bottom:calc(var(--sp-6) + env(safe-area-inset-bottom))}.setup-hero{background:var(--court);color:#fff;border-bottom:var(--border);padding:calc(var(--sp-3) + env(safe-area-inset-top)) var(--sp-3) var(--sp-4)}.setup-hero-top{display:flex;justify-content:space-between;gap:var(--sp-2)}.setup-back,.setup-hero-top{align-items:center;min-height:34px}.setup-back{display:inline-flex;font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:rgba(255,255,255,.85)}.setup-back-spacer{flex:1 1}.setup-hero-title{font-size:clamp(26px,8vw,var(--fs-xl));font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;line-height:1.05;margin-top:var(--sp-3);text-wrap:balance}.setup-hero-intro{margin-top:var(--sp-2);font-size:var(--fs-s);color:rgba(255,255,255,.82);line-height:1.4;text-wrap:pretty}.setup-form{padding:var(--sp-4) var(--sp-3) 0;display:grid;grid-gap:var(--sp-4);gap:var(--sp-4)}.setup-section{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-3);display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.setup-section-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em}.setup-hint{font-size:var(--fs-xs);color:var(--ink-55);line-height:1.4;margin-top:calc(var(--sp-3) * -1 + var(--sp-1))}.setup-hint-under{margin-top:0}.setup-field{display:grid;grid-gap:var(--sp-1);gap:var(--sp-1)}.setup-label{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--court-deep)}.setup-optional{color:var(--ink-55);font-weight:700}.setup-input{width:100%;min-height:48px;padding:0 var(--sp-3);border:var(--border);border-radius:var(--radius);background:var(--paper);font-family:inherit;font-size:var(--fs-m);font-weight:600;color:var(--ink)}.setup-input::placeholder{color:var(--ink-35);font-weight:500}.setup-input:focus{outline:3px solid var(--court);outline-offset:1px;background:var(--card)}.setup-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;padding-right:var(--sp-5);text-overflow:ellipsis}.setup-select,.setup-select:focus{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='13' height='8' viewBox='0 0 13 8'><path d='M1 1l5.5 5.5L12 1' fill='none' stroke='%23141822' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right var(--sp-3) center}.setup-teams{list-style:none;display:grid;grid-gap:var(--sp-3);gap:var(--sp-3)}.setup-team{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-2);border:1.5px solid var(--ink-15);border-radius:var(--radius);background:var(--paper)}.setup-team-head{display:flex;align-items:center;gap:var(--sp-2)}.setup-team-num{flex:none;display:grid;place-items:center;width:26px;height:26px;border-radius:8px;background:var(--court);color:#fff;border:1.5px solid var(--ink);font-size:var(--fs-s);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.setup-team-name{flex:1 1;min-width:0}.setup-team-players{min-height:44px;font-size:var(--fs-s)}.setup-team-remove{flex:none;width:44px;height:44px;display:grid;place-items:center;background:var(--card);color:var(--ink);border:1.5px solid var(--ink);border-radius:8px;box-shadow:2px 2px 0 var(--ink);font-size:var(--fs-l);font-weight:900;line-height:1}.setup-team-remove:active:not(:disabled){transform:translate(2px,2px);box-shadow:none}.setup-add{width:100%}.setup-steppers{display:grid;grid-gap:var(--sp-2);gap:var(--sp-2)}.setup-stepper{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--sp-2) var(--sp-3);min-height:48px}.setup-stepper-label{flex:1 1 auto;min-width:0;overflow-wrap:anywhere;font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--court-deep);text-align:left;line-height:1.2}.setup-stepper-controls{flex:none;margin-left:auto;display:flex;align-items:center;gap:var(--sp-2)}.setup-stepper-value{font-size:var(--fs-l);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-width:44px;text-align:center;line-height:1;white-space:nowrap}.setup-bracket{padding:var(--sp-2) var(--sp-3);border-radius:var(--radius);background:var(--court-wash);border:1.5px solid var(--court);font-size:var(--fs-s);font-weight:800;color:var(--court-deep);text-align:center;text-wrap:balance}.setup-bracket-warn{background:var(--sun-wash);border-color:var(--ink);color:var(--ink)}.setup-row2{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:var(--sp-3);gap:var(--sp-3)}.setup-seg{display:grid;grid-template-columns:1fr 1fr;grid-gap:var(--sp-2);gap:var(--sp-2)}.setup-seg-btn{min-height:48px;border:var(--border);border-radius:var(--radius);background:var(--card);box-shadow:2px 2px 0 var(--ink);font-family:inherit;font-size:var(--fs-s);font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--ink)}.setup-seg-btn.on{background:var(--sun)}.setup-seg-btn:active{transform:translate(2px,2px);box-shadow:none}.setup-error{font-size:var(--fs-s);font-weight:800;background:var(--sun);border:var(--border);border-radius:var(--radius);padding:var(--sp-2) var(--sp-3)}.setup-submit{width:100%;min-height:55px;font-size:var(--fs-l)}.home-start{margin-top:var(--sp-5);width:100%}.setup-success{background:var(--card);border:var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:var(--sp-4) var(--sp-3);display:grid;justify-items:center;grid-gap:var(--sp-3);gap:var(--sp-3);text-align:center}.setup-success-mark{font-size:var(--fs-xl);line-height:1}.setup-success-title{font-size:var(--fs-l);font-weight:900;font-style:italic;text-transform:uppercase;letter-spacing:-.02em;color:var(--court);text-wrap:balance}.setup-success-body{font-size:var(--fs-s);color:var(--ink-70);line-height:1.45;text-wrap:pretty}.setup-result{width:100%;display:grid;grid-gap:var(--sp-2);gap:var(--sp-2);padding:var(--sp-3);border:1.5px solid var(--ink-15);border-radius:var(--radius);background:var(--paper);justify-items:start;text-align:left}.setup-result-label{font-size:var(--fs-xs);font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--court-deep)}.setup-link-row{display:flex;align-items:center;gap:var(--sp-2);width:100%}.setup-link{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-s);font-weight:700;color:var(--ink)}.setup-result-pin{background:var(--sun-wash);border-color:var(--ink)}.setup-pin{font-size:var(--fs-xl);font-weight:900;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;letter-spacing:.12em;color:var(--ink);line-height:1}.setup-pin-hint{font-size:var(--fs-xs);color:var(--ink-70);line-height:1.4}.setup-open{width:100%;min-height:55px;font-size:var(--fs-l)}.setup-again{width:100%}@media (min-width:760px){:root{--app-w:min(600px,100vw - 128px);--field:#e8e3d4}.app{background:var(--paper);border:var(--border);border-radius:var(--sp-3);box-shadow:5px 5px 0 var(--ink);margin-block:min(var(--sp-5),3.5vh);min-height:calc(100dvh - min(var(--sp-5), 3.5vh) * 2)}.hero{border-radius:calc(var(--sp-3) - 2px) calc(var(--sp-3) - 2px) 0 0}.tabbar{inset:auto auto 0 50%;transform:translateX(-50%);width:var(--app-w);border:var(--border);border-bottom:none;border-radius:var(--sp-3) var(--sp-3) 0 0;box-shadow:5px 0 0 var(--ink);overflow:hidden}.tabbar-inner{max-width:none}.confetti-canvas{inset:0 auto 0 50%;transform:translateX(-50%);width:var(--app-w)}.setup-page{max-width:520px;min-height:0;margin-block:min(var(--sp-5),3.5vh);padding-bottom:var(--sp-5);background:var(--paper);border:var(--border);border-radius:var(--sp-3);box-shadow:5px 5px 0 var(--ink)}.setup-page .nav{max-width:none;border-radius:calc(var(--sp-3) - 2px) calc(var(--sp-3) - 2px) 0 0}}@media (min-width:1020px){:root{--app-w:min(900px,100vw - 160px)}.phase{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-3);gap:var(--sp-3);align-items:start}.phase-head{grid-column:1/-1}.phase:has(>.match:only-of-type){grid-template-columns:minmax(0,1fr)}.standings{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--sp-5) var(--sp-4);gap:var(--sp-5) var(--sp-4);align-items:start}.standings .bracket{grid-column:1/-1}.rules,.scorers,.teams{display:block;column-count:2;column-gap:var(--sp-4)}.rules-card,.scorer,.team-card,.teams-claim-prompt{page-break-inside:avoid;break-inside:avoid}.rules-title,.teams-claim-prompt{column-span:all}.scorer{margin-bottom:var(--sp-2)}.rules-card,.team-card{margin-bottom:var(--sp-3)}}@media (min-width:700px) and (max-width:879px){.hero-inner{max-width:560px}}