@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/barlow-400-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/barlow-condensed-600-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/barlow-condensed-700-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/barlow-condensed-300-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-weight:300;font-display:swap;src:url(/fonts/barlow-condensed-300-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}:root{--paper:#f6f4ef;--card:#fffefb;--sunk:#ece8e0;--ink:#1b1813;--ink-soft:#5f5a52;--ink-faint:#6a655c;--hair:#e6e1d8;--hair-strong:#837d72;--avatar-bg:#efe6d4;--shadow-soft:0 10px 26px -16px #3c2d196b;--surface:var(--paper);--surface-raised:var(--card);--text:var(--ink);--text-strong:#14110c;--text-muted:var(--ink-soft);--border:var(--hair);--card-border:transparent;--border-strong:var(--hair-strong);--focus:#1e3f8a;--accent:#12905a;--accent-strong:#0d7a4a;--accent-ink:#fff;--accent-text:var(--accent-strong);--danger:#a4262c;--away:#2f5bd0;--team-accent:#8a8a92;--team-ink:#000;--radius:16px;--tap-target:48px;--sans:"Barlow", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--display:"Barlow Condensed", "Arial Narrow", system-ui, -apple-system, sans-serif;--text-xs:.8125rem;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.5625rem;--text-2xl:1.9375rem;font:16px/1.6 var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--paper);-webkit-font-smoothing:antialiased}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#0d0f14;--card:#171b23;--sunk:#1e232d;--ink:#eef1f6;--ink-soft:#9aa4b4;--ink-faint:#6b7482;--hair:#29303b;--hair-strong:#78818f;--avatar-bg:#232936;--shadow-soft:0 12px 34px -20px #000000f2;--card-border:var(--hair);--text-strong:#faf8f2;--focus:#9db4ef;--danger:#ff9098;--accent:#37d98a;--accent-strong:#21a869;--accent-ink:#05130c;--accent-text:var(--accent);--away:#6f9bff}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--paper:#0d0f14;--card:#171b23;--sunk:#1e232d;--ink:#eef1f6;--ink-soft:#9aa4b4;--ink-faint:#6b7482;--hair:#29303b;--hair-strong:#78818f;--avatar-bg:#232936;--shadow-soft:0 12px 34px -20px #000000f2;--card-border:var(--hair);--text-strong:#faf8f2;--focus:#9db4ef;--danger:#ff9098;--accent:#37d98a;--accent-strong:#21a869;--accent-ink:#05130c;--accent-text:var(--accent);--away:#6f9bff}}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}body{background:var(--surface);color:var(--text);margin:0}#root{max-width:640px;padding:max(env(safe-area-inset-top), 16px) 16px calc(72px + env(safe-area-inset-bottom));min-height:100svh;margin:0 auto}h1,h2,h3{font-family:var(--display);text-wrap:balance}h1{font-size:var(--text-2xl);letter-spacing:.005em;color:var(--text-strong);margin:0 0 4px;font-weight:700;line-height:1.05}.app-header{border-bottom:4px solid var(--team-accent);margin-bottom:20px;padding-bottom:12px}.app-header__subtitle{color:var(--text-muted);margin:0}.team-chip{background:var(--team-accent);color:var(--team-ink);border:1px solid var(--border-strong);font-family:var(--display);font-weight:600;font-size:var(--text-lg);letter-spacing:.02em;border-radius:999px;padding:2px 12px;display:inline-block}h2{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 12px;font-weight:600;line-height:1.15}:focus-visible{outline:3px solid var(--focus);outline-offset:2px}#innehall:focus,#innehall:focus-visible{outline:none}.update-banner{z-index:10;background:var(--surface-raised);border-bottom:1px solid var(--border);color:var(--text-strong);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.skip-link{z-index:20;background:var(--surface-raised);color:var(--text-strong);border:2px solid var(--focus);border-radius:0 0 var(--radius) 0;padding:12px 16px;position:absolute;top:0;left:-9999px}.skip-link:focus{left:0}.bottom-nav{z-index:50;background:var(--surface-raised);border-top:1px solid var(--border-strong);padding-bottom:env(safe-area-inset-bottom);position:fixed;bottom:0;left:0;right:0}.bottom-nav__list{max-width:640px;margin:0 auto;padding:6px 6px 0;list-style:none;display:flex;position:relative}.bottom-nav__item{z-index:1;flex:1 1 0}.bottom-nav__blob{z-index:0;width:calc((100% - 12px) / var(--nav-count,6));background:color-mix(in srgb, var(--accent) 16%, transparent);height:34px;box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 32%, transparent);transform:translateX(calc(var(--nav-index,0) * 100%));border-radius:12px;transition:transform .42s cubic-bezier(.34,1.4,.5,1);position:absolute;top:6px;left:6px}.bottom-nav__blob[data-hidden]{opacity:0}.bottom-nav__tab{min-height:56px;color:var(--ink-soft);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px 8px;text-decoration:none;display:flex}.bottom-nav__tab:hover{color:var(--ink)}.bottom-nav__icon{width:23px;height:23px;transition:transform .34s cubic-bezier(.34,1.4,.5,1)}.bottom-nav__label{font-size:var(--text-xs);text-align:center;font-weight:600;line-height:1.1}.bottom-nav__tab[aria-current=page]{color:var(--accent)}.bottom-nav__tab[aria-current=page] .bottom-nav__icon{transform:translateY(-1px)scale(1.06)}.bottom-nav__tab:focus-visible{outline:3px solid var(--focus);outline-offset:-3px}@media (prefers-reduced-motion:reduce){.bottom-nav__blob,.bottom-nav__icon{transition:none}}.mer-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.mer-link{width:100%;min-height:var(--tap-target);font-family:var(--sans);font-size:var(--text-lg);text-align:left;color:var(--text-strong);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);cursor:pointer;justify-content:space-between;align-items:center;padding:14px 16px;text-decoration:none;transition:border-color .15s,transform .12s;display:flex}.mer-link:after{content:"";border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);flex:none;width:9px;height:9px;margin-left:12px;transform:rotate(-45deg)}.mer-link:hover{border-color:var(--border-strong)}.mer-link:active{transform:scale(.99)}.mer-link--action{color:var(--danger);justify-content:center;margin-top:12px}.mer-link--action:after{content:none}.install-banner{background:var(--sunk);border:1px solid var(--border);border-radius:var(--radius);color:var(--text);font-size:var(--text-sm);align-items:center;gap:10px;margin-bottom:12px;padding:10px 12px;display:flex}.install-banner__text{flex:auto;margin:0;line-height:1.4}.install-banner__actions{flex:none;align-items:center;gap:6px;display:flex}.install-banner__dismiss{width:var(--tap-target);height:var(--tap-target);color:var(--ink-soft);font-size:var(--text-lg);cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;display:inline-flex}.install-banner__dismiss:hover{color:var(--ink)}.passkey-list{flex-direction:column;gap:8px;margin:0 0 12px;padding:0;list-style:none;display:flex}.passkey-row{min-height:var(--tap-target);background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-sm);justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;display:flex}.calendar-link{min-width:0;font-family:var(--sans);font-size:var(--text-sm);color:var(--text);background:var(--sunk);border:1px solid var(--border);border-radius:var(--radius);flex:auto;padding:10px 12px}.hem-section{margin-top:24px}.hem-section__label{font-family:var(--display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 10px}.hem-tiles{grid-template-columns:1fr 1fr;gap:10px;margin-top:14px;display:grid}.hem-tile{background:var(--surface-raised);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:13px 14px}.hem-tile__n{font-family:var(--display);font-weight:700;font-size:var(--text-2xl);color:var(--text-strong);line-height:1;display:block}.hem-tile__l{font-size:var(--text-sm);color:var(--text-muted);margin-top:4px;display:block}.hem-hero{color:inherit;border:1px solid var(--card-border);border-radius:var(--radius);background:radial-gradient(220px 160px at 88% -40%, color-mix(in srgb, var(--accent) 32%, transparent), transparent 70%), var(--surface-raised);box-shadow:var(--shadow-soft);padding:18px;text-decoration:none;transition:transform .12s,border-color .2s;display:block;position:relative;overflow:hidden}.hem-hero:hover{border-color:var(--border-strong)}.hem-hero:active{transform:scale(.985)}.hem-hero__eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.1em;font-size:var(--text-sm);color:var(--accent-strong);font-weight:600;display:block}.hem-hero__title{font-family:var(--display);font-size:var(--text-xl);color:var(--text-strong);margin:6px 0 4px;font-weight:700;line-height:1.1;display:block}.hem-hero__meta{color:var(--text-muted);font-size:var(--text-sm);display:block}.hem-hero__team{border:1px solid var(--border-strong);font-family:var(--display);font-weight:600;font-size:var(--text-sm);letter-spacing:.02em;color:var(--text);border-radius:999px;margin-top:12px;padding:3px 12px;display:inline-block}.hem-card{background:var(--surface-raised);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);padding:12px 14px;display:block}.hem-card--pending{border-left:3px solid var(--accent)}.hem-card--link{color:inherit;text-decoration:none}.hem-card--link:hover{border-color:var(--border-strong)}.hem-card__when{align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.hem-card__time{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);font-weight:600}.hem-card__date{font-size:var(--text-sm);color:var(--text-muted)}.hem-card__title{font-size:var(--text-lg);color:var(--text-strong);margin:0 0 4px}.hem-card__meta{font-size:var(--text-sm);color:var(--text-muted);margin:0}.hem-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.team-picker{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:8px;display:grid}.team-picker__option{min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-strong);font:inherit;text-align:left;cursor:pointer;align-items:center;gap:10px;padding:10px 12px;text-decoration:none;display:flex}.team-picker__option[aria-current=page]{border-color:var(--accent);background:var(--surface);border-width:2px;padding:9px 11px}.team-picker__swatch{background:var(--team-color);width:20px;height:20px;box-shadow:0 0 0 2px var(--border-strong);border-radius:50%;flex:none}.team-picker__name{flex:auto}.team-picker__check{width:1em;color:var(--text-strong);flex:none;font-weight:700}.visually-hidden{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.actions{flex-wrap:wrap;gap:8px;margin-top:20px;display:flex}.error-fallback .button--action{margin-top:8px}.confirm-inline{flex-wrap:wrap;align-items:center;gap:6px;display:inline-flex}.confirm-inline__hint{font-size:var(--text-sm);color:var(--text-muted);flex-basis:100%}.button--action{border-color:var(--team-accent);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.notice{border-radius:var(--radius);border:1px solid;margin:0 0 16px;padding:12px 14px}.notice--cancelled{color:var(--danger)}.notice--compact{font-size:var(--text-sm);color:var(--text-muted);padding:8px 12px}.weather{flex-wrap:wrap;align-items:baseline;gap:10px;display:flex}.weather__temperature{font-size:20px;font-weight:600}.weather__rain{color:var(--text-muted);font-size:14px}.event-hero{border-bottom:1px solid var(--hair);margin-bottom:4px;padding:4px 0 14px}.event-hero__kicker{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.12em;color:var(--ink-soft);margin:0 0 2px}.event-hero__time{font-family:var(--display);letter-spacing:-.01em;color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:clamp(4rem,21vw,6.5rem);font-weight:300;line-height:.86}.event-hero__time--cancelled{color:var(--ink-soft);text-decoration:line-through;text-decoration-thickness:3px}.detail{margin:0}.detail__row{border-bottom:1px solid var(--border);grid-template-columns:90px 1fr;gap:8px;padding:12px 0;display:grid}.detail__row dt{font-family:var(--display);color:var(--text-muted);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em}.detail__row dd{color:var(--text-strong);margin:0}.detail__hint{color:var(--text-muted);font-size:14px}.next-match__more{margin:12px 0 0}a.match-card{color:inherit;text-decoration:none}a.match-card:hover .match-card__opponent,a.match-card:focus-visible .match-card__opponent{text-decoration:underline}.state{color:var(--text-muted);margin:0}.prose h2{font-size:var(--text-lg);color:var(--text-strong);margin:28px 0 8px}.prose h3{font-size:var(--text-base);color:var(--text-strong);margin:20px 0 6px}.prose p{margin:0 0 12px;line-height:1.6}.prose ul{margin:0 0 12px;padding-left:20px;line-height:1.6}.prose li{margin:0 0 6px}.suggestions{border:1px solid var(--border-strong);border-radius:var(--radius);margin:4px 0 0;padding:0;list-style:none;overflow:hidden}.suggestions__option{width:100%;min-height:var(--tap-target);text-align:left;font:inherit;background:var(--surface);color:var(--text);border:0;border-bottom:1px solid var(--border);cursor:pointer;flex-direction:column;gap:2px;padding:8px 12px;display:flex}.suggestions li:last-child .suggestions__option{border-bottom:0}.suggestions__option:hover,.suggestions__option:focus-visible{background:var(--surface-raised)}.suggestions__name{color:var(--text-strong);font-weight:600}.suggestions__address{font-size:var(--text-sm);color:var(--text-muted)}.coach-actions{flex-direction:column;gap:8px;margin:16px 0 0;padding:0;list-style:none;display:flex}.coach-actions__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.coach-actions__label{color:var(--text-strong);flex:8rem;font-weight:600}.storage-notice{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);margin:12px 0 16px;padding:12px 14px}.storage-notice__lead{font-size:var(--text-sm);color:var(--text);max-width:60ch;margin:0}.storage-notice__more{font-size:var(--text-sm);color:var(--text);margin-top:8px}.storage-notice__more summary{cursor:pointer;min-height:var(--tap-target);color:var(--text);align-items:center;display:flex}.storage-notice__more p,.storage-notice__more ul{max-width:60ch;margin:0 0 8px}.storage-notice__more ul{padding-left:20px}.tip{border:2px solid var(--team-accent);border-radius:var(--radius);background:var(--surface);flex-direction:column;align-items:flex-start;gap:10px;margin:0 0 16px;padding:14px;display:flex}.tip h2{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:0}.tip p{font-size:var(--text-sm);color:var(--text);max-width:60ch;margin:0}.tip__how{color:var(--text-muted)}.totals{grid-template-columns:1fr 1fr;gap:10px;margin:12px 0 20px;display:grid}@media (width>=30rem){.totals{grid-template-columns:repeat(4,1fr)}}.totals__item{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);flex-direction:column-reverse;align-items:center;gap:2px;padding:12px 4px;display:flex}.totals dt{font-size:var(--text-xs);color:var(--text-muted);text-align:center}.totals dd{font-family:var(--display);font-size:var(--text-2xl);color:var(--text-strong);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.season__sentence{font-size:var(--text-base);color:var(--text);max-width:60ch;margin:0 0 8px}.season{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.season__row{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;display:flex}.season__when{flex-direction:column;flex:8rem;min-width:0;display:flex}.season__when b{font-family:var(--display);font-size:var(--text-base);color:var(--text-strong)}.season__date{font-size:var(--text-xs);color:var(--text-muted)}.season__result{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);font-variant-numeric:tabular-nums}.season__effort{font-size:var(--text-sm);color:var(--text);font-variant-numeric:tabular-nums;align-items:center;gap:10px;display:flex}.season__measure{align-items:center;gap:4px;display:flex}.children__badges{font-size:var(--text-sm);flex:100%}.children__badges summary{cursor:pointer;min-height:var(--tap-target);color:var(--text);align-items:center;display:flex}.badges{grid-template-columns:1fr;gap:8px;margin:8px 0 4px;padding:0;list-style:none;display:grid}@media (width>=30rem){.badges{grid-template-columns:1fr 1fr}}.badge{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface);align-items:flex-start;gap:10px;padding:10px 12px;display:flex}.badge--earned{border-color:var(--accent);background:var(--surface-raised);border-width:2px;padding:9px 11px}.badge__emoji{font-size:var(--text-xl);line-height:1.1}.badge__text{flex-direction:column;gap:2px;min-width:0;display:flex}.badge__name{font-family:var(--display);font-size:var(--text-base);color:var(--text-strong)}.badge__requirement,.badge__count{font-size:var(--text-xs);color:var(--text-muted)}.badge__progress{align-items:center;gap:8px;margin-top:2px;display:flex}.badge__bar{background:var(--border);border-radius:3px;flex:auto;min-width:40px;height:6px;overflow:hidden}.badge__fill{background:var(--team-accent);height:100%;display:block}.badge__count{font-variant-numeric:tabular-nums}.celebration{border:2px solid var(--team-accent);border-radius:var(--radius);background:var(--surface-raised);flex-direction:column;align-items:flex-start;gap:10px;margin-top:16px;padding:14px;display:flex}.celebration__title{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:0}.celebration__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.celebration__item{font-size:var(--text-sm);color:var(--text);align-items:center;gap:10px;display:flex}.celebration__emoji{font-size:var(--text-2xl);line-height:1}@media (prefers-reduced-motion:no-preference){.celebration{animation:.32s ease-out celebration-in}.celebration__emoji{animation:.52s ease-out celebration-pop}}@keyframes celebration-in{0%{opacity:0;transform:translateY(6px)}}@keyframes celebration-pop{0%{transform:scale(.4)rotate(-12deg)}60%{transform:scale(1.25)rotate(6deg)}}.quiz{flex-direction:column;align-items:flex-start;gap:12px;display:flex}.quiz__intro,.quiz__record{font-size:var(--text-sm);color:var(--text);margin:0}.quiz__record{color:var(--text-muted)}.quiz__progress{font-size:var(--text-sm);color:var(--text-muted);font-variant-numeric:tabular-nums;margin:0}.quiz__question,.quiz__result{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:0}.quiz__question:focus-visible,.quiz__result:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.quiz__options{flex-direction:column;align-self:stretch;gap:8px;display:flex}.quiz__option{text-align:left;width:100%}.quiz__option--correct,.quiz__option--wrong{opacity:1}.quiz__option--correct{border-color:var(--team-accent);color:var(--text-strong);font-weight:700}.quiz__option--wrong{border-color:var(--danger);color:var(--danger)}.quiz__feedback{font-size:var(--text-sm);color:var(--text-strong);margin:0;font-weight:600}.backup{border-top:1px solid var(--border);flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px;padding-top:20px;display:flex}.backup h3{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:12px 0 0}.backup textarea{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--text-sm);width:100%;color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);overflow-wrap:anywhere;padding:8px 12px}.backup__panel{border-top:1px solid var(--border);align-self:stretch;width:100%;padding-top:8px}.backup__panel summary{cursor:pointer;min-height:var(--tap-target);color:var(--text);font-size:var(--text-sm);align-items:center;display:flex}.backup__panel .form__field,.backup__panel>p{max-width:60ch;margin-top:8px}.report{border-top:1px solid var(--border);flex-direction:column;gap:12px;margin-top:28px;padding-top:20px;display:flex}.report__child h3{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:12px 0 6px}.report__label{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.report__scores{flex-wrap:wrap;gap:16px;margin-top:6px;display:flex}.stepper{flex-direction:column;gap:4px;display:flex}.stepper__label{font-size:var(--text-sm);color:var(--text-muted)}.stepper__controls{align-items:center;gap:8px;display:flex}.stepper__button{min-width:var(--tap-target);min-height:var(--tap-target);font:inherit;font-size:var(--text-lg);color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);cursor:pointer}.stepper__button:disabled{color:var(--text-muted);border-color:var(--border);cursor:default}.stepper__value{font-family:var(--display);font-size:var(--text-xl);color:var(--text-strong);font-variant-numeric:tabular-nums;text-align:center;min-width:1.5em;font-weight:700}.child-cards{flex-direction:column;gap:10px;margin:8px 0 0;padding:0;list-style:none;display:flex}.child-card{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);flex-direction:column;gap:10px;padding:14px;display:flex}.child-card__head{flex-wrap:wrap;align-items:baseline;gap:2px 10px;display:flex}.child-card__name{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);font-weight:600;line-height:1.1}.child-card__meta{font-size:var(--text-sm);color:var(--text-muted)}.child-card__open{justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.child-card__badges{font-family:var(--display);font-size:var(--text-sm);color:var(--text-muted);white-space:nowrap;font-weight:400}.child-card__secondary{gap:8px;display:flex}.form__field select{font:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:var(--tap-target);padding:8px 12px}.season{margin-top:20px}.season__month{font-family:var(--display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px}.season__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.season__table th,.season__table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:8px 10px}.season__table thead th{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.season__time{font-family:var(--display);font-weight:700;font-size:var(--text-base);color:var(--text-strong);font-variant-numeric:tabular-nums}.season__date,.season__venue{color:var(--text-muted)}.season__actions{flex-wrap:wrap;gap:6px;display:flex}.import{flex-direction:column;align-items:flex-start;gap:12px;margin-top:28px;display:flex}.import textarea{font:inherit;font-size:var(--text-base);width:100%;color:var(--text-strong);background:var(--surface);border:1px solid var(--border-strong);border-radius:var(--radius);padding:8px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.import__table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.import__table caption{text-align:left;font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding-bottom:6px}.import__table th,.import__table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 10px}.import__table thead th{font-family:var(--display);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);white-space:nowrap}.import__raw{color:var(--text-muted);white-space:pre;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.danger-zone{border:1px solid var(--danger);border-radius:var(--radius);flex-direction:column;align-items:flex-start;gap:12px;margin-top:32px;padding:16px;display:flex}.danger-zone h2{color:var(--danger);margin:0}.button--danger{border-color:var(--danger);color:var(--danger);font-weight:600}.form{flex-direction:column;align-items:flex-start;gap:16px;margin-top:16px;display:flex}.form__field{flex-direction:column;gap:6px;width:100%;max-width:22rem;display:flex}.form__field label{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.form__field input:not([type=radio]):not([type=checkbox]){font:inherit;color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);font-size:var(--text-base);min-height:var(--tap-target);padding:8px 12px}.form__field input[aria-invalid=true]{border-color:var(--danger)}.form__field textarea{font:inherit;font-size:var(--text-base);color:var(--text-strong);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);resize:vertical;width:100%;padding:8px 12px}.form__error{color:var(--danger);font-size:var(--text-sm);margin:0}.form__count{text-align:right;color:var(--text-muted);font-size:var(--text-sm);margin:2px 0 0}.form__success{color:var(--focus);font-size:var(--text-sm);margin:0;font-weight:600}.chat-encryption-note{background:color-mix(in srgb, var(--accent) 8%, var(--surface-raised));color:var(--text-muted);font-size:var(--text-xs);text-align:center;border-radius:999px;justify-content:center;align-items:center;gap:6px;margin:0 0 14px;padding:6px 12px;display:flex}.chat-encryption-note__lock{font-size:var(--text-sm)}.chat-msg__quote{border-left:3px solid var(--accent);background:color-mix(in srgb, var(--accent) 8%, transparent);font-size:var(--text-xs);border-radius:4px;margin:0 0 6px;padding:4px 8px;display:block}.chat-msg__quote-author{color:var(--accent-text);font-weight:700;display:block}.chat-msg__quote-text{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.chat-reply-bar{border:1px solid var(--border);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-raised);align-items:center;gap:10px;margin-bottom:8px;padding:8px 12px;display:flex}.chat-reply-bar__quote{flex-direction:column;flex:auto;min-width:0;display:flex}.chat-reply-bar__label{font-size:var(--text-xs);color:var(--accent-text);font-weight:700}.chat-reply-bar__text{font-size:var(--text-sm);color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-reply-bar__cancel{min-width:32px;min-height:32px;color:var(--text-muted);font-size:var(--text-lg);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;line-height:1}.chat-reply-bar__cancel:hover{background:var(--sunk);color:var(--text-strong)}.chat-messages{gap:14px}.chat-msg{align-items:flex-start;display:flex}.chat-msg__body{flex-direction:column;flex:auto;gap:4px;min-width:0;display:flex;position:relative}.chat-msg__bubble{background:var(--surface-raised);border:1px solid var(--card-border);max-width:100%;box-shadow:var(--shadow-soft);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;border-radius:16px;align-self:flex-start;padding:6px 11px}.chat-msg__bubble:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.chat-msg__who{font-size:var(--text-xs);color:var(--accent-strong);margin-bottom:2px;font-weight:700;display:block}.chat-msg__text{color:var(--text-strong);white-space:pre-wrap;overflow-wrap:anywhere}.chat-msg__meta{font-size:var(--text-xs);color:var(--text-muted);align-items:center;gap:8px;margin:0;display:flex}.msg-menu__backdrop{z-index:20;cursor:default;background:0 0;border:none;position:fixed;inset:0}.msg-menu{z-index:21;background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-soft);margin-top:4px;padding:6px;position:absolute;top:100%;left:0}.msg-menu__emojis{border-bottom:1px solid var(--border);gap:2px;margin-bottom:6px;padding-bottom:6px;display:flex}.msg-menu__emoji{min-height:40px;font-size:var(--text-lg);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:1}.msg-menu__emoji:hover{background:var(--sunk)}.msg-menu__item{width:100%;min-height:var(--tap-target);color:var(--text-strong);font:inherit;text-align:left;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:0 10px;display:block}.msg-menu__item:hover{background:var(--sunk)}.msg-menu__item--danger{color:var(--danger)}.msg-menu__emoji:focus-visible,.msg-menu__item:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:-2px}.chat-msg--own .chat-msg__bubble{background:color-mix(in srgb, var(--accent) 10%, var(--surface-raised));border-color:color-mix(in srgb, var(--accent) 30%, transparent)}.chat-report{flex-direction:column;flex-basis:100%;gap:6px;margin-top:6px;display:flex}.chat-report textarea{width:100%}.chat-report__done{color:var(--focus);font-size:var(--text-sm);flex-basis:100%;margin:6px 0 0;font-weight:600}.chat-report__reasons{font-size:var(--text-sm);margin:6px 0 0;padding-left:18px}.chat-report__gate{font-size:var(--text-sm);text-align:right}.loading{flex-direction:column;gap:12px;display:flex}.loading__slow{color:var(--text);margin-top:6px;display:block}.skeleton-list{flex-direction:column;gap:8px;display:flex}.skeleton-card{border:1px solid var(--card-border);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-soft);min-height:var(--tap-target);border-left:3px solid #0000;flex-direction:column;gap:8px;padding:14px 16px;display:flex}.skeleton{background:linear-gradient(90deg, var(--border) 0%, var(--surface-raised) 50%, var(--border) 100%);background-size:200% 100%;border-radius:6px;animation:1.4s ease-in-out infinite skeleton-sweep;display:block}@keyframes skeleton-sweep{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton--time{width:5.5em;height:1.6em}.skeleton--opponent{width:70%;height:1em}.skeleton--venue{width:45%;height:.9em}.state--error{color:var(--danger);flex-direction:column;align-items:flex-start;gap:10px;display:flex}.button{min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-strong);font:inherit;cursor:pointer;padding:10px 16px}.button:disabled{cursor:default;color:var(--text-muted)}.add-fab{width:100%;min-height:var(--tap-target);border-radius:var(--radius);background:var(--accent-strong);color:var(--accent-ink);font-family:var(--sans);font-weight:700;font-size:var(--text-base);cursor:pointer;box-shadow:0 8px 22px -14px color-mix(in srgb, var(--accent) 90%, transparent);border:none;justify-content:center;align-items:center;gap:8px;margin:4px 0 16px;padding:12px;transition:transform .12s,filter .12s;display:flex}.add-fab__plus{font-size:1.3em;line-height:0}.add-fab:active{filter:brightness(1.06);transform:scale(.98)}.add-fab:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.next-match{border:2px solid var(--team-accent);border-radius:var(--radius);background:var(--surface-raised);margin:20px 0 8px;padding:16px}.next-match__label{font-family:var(--display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:0 0 6px}.next-match__when{flex-wrap:wrap;align-items:baseline;gap:10px;margin:0;display:flex}.next-match__relative{color:var(--text-strong);font-size:24px;font-weight:700}.next-match__time{color:var(--text-strong);font-size:24px;font-weight:600}.next-match__date{color:var(--text-muted);margin:2px 0 10px}.next-match__opponent{color:var(--text-strong);margin:0;font-size:18px}.next-match__venue{color:var(--text-muted);margin:4px 0 0;font-size:14px}.match-list__title{margin-top:28px}.match-list__heading{font-family:var(--display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:20px 0 8px}.match-list__heading--today:before{content:"";background:var(--team-accent);width:10px;height:10px;box-shadow:0 0 0 1px var(--border-strong);border-radius:3px;margin-right:8px;display:inline-block}.match-list__heading--today{color:var(--text-strong);border-left:4px solid var(--team-accent);padding-left:8px}.match-list__items{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}.match-card{background:var(--surface-raised);border:1px solid var(--card-border);border-radius:var(--radius);box-shadow:var(--shadow-soft);color:inherit;min-height:var(--tap-target);border-left:3px solid #0000;grid-template-columns:auto 1fr;align-items:start;column-gap:14px;padding:13px 14px;text-decoration:none;transition:transform .12s,border-color .15s;display:grid}.match-card:active{transform:scale(.99)}.match-card--home{border-left-style:solid;border-left-color:var(--team-accent)}.match-card--away{border-left-style:dashed;border-left-color:var(--hair-strong)}.match-card--cancelled{border-left-style:solid;border-left-color:var(--danger)}.match-card__when{flex-direction:column;grid-row:1/span 2;align-items:flex-start;gap:2px;min-width:4.5ch;margin:0;display:flex}.match-card__time{font-family:var(--display);font-size:var(--text-2xl);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.match-card--cancelled .match-card__time{text-decoration:line-through;text-decoration-thickness:2px}.match-card__date{font-family:var(--display);color:var(--ink-soft);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em}.match-card__opponent{color:var(--ink);grid-column:2;margin:0}.match-card__opponent strong{font-weight:600}.match-card__venue{color:var(--ink-soft);font-size:var(--text-sm);grid-column:2;margin:3px 0 0}.match-card__meta{flex-wrap:wrap;grid-column:2;align-items:center;gap:8px;margin:6px 0 0;display:flex}.match-card__meta .match-card__venue{margin:0}.pill{border:1px solid var(--border-strong);font-family:var(--display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-weight:600;display:inline-flex}.pill:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.pill--home{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.pill--away{color:var(--away);border-color:color-mix(in srgb, var(--away) 45%, transparent);background:color-mix(in srgb, var(--away) 12%, transparent)}.event-badge{font-family:var(--display);text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:999px;margin-right:6px;padding:0 8px;font-size:13px;font-weight:600;display:inline-block}.event-badge--cancelled{color:var(--danger)}.match-list__past{margin-top:24px}.carpool{margin-top:32px}.carpool__heading{font-family:var(--display);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}.carpool__subheading{font-family:var(--display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 6px}.carpool__group{margin-top:24px}.carpool__group:first-of-type{margin-top:0}.carpool__group-heading{font-family:var(--display);font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.05em;color:var(--text-strong);margin:0 0 10px}.carpool__empty{color:var(--text-muted);margin:0 0 12px}.carpool__offers{flex-direction:column;gap:12px;margin:0 0 16px;padding:0;list-style:none;display:flex}.carpool-card{border:1px solid var(--border);border-left:5px solid var(--team-accent);border-radius:var(--radius);background:var(--surface-raised);box-shadow:var(--shadow-soft);padding:14px 16px}.carpool-card--full{border-left-style:dashed}.carpool-card--request{border-left-color:var(--text-muted)}.carpool-card__lead{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin:0 0 4px;display:flex}.carpool-card__direction{font-family:var(--display);font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.04em;color:var(--text-strong)}.carpool-card__seats{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.04em;color:var(--accent-text);border:1px solid color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent);border-radius:999px;align-items:center;gap:5px;padding:2px 9px;display:inline-flex}.carpool-card__seats:before{content:"";background:currentColor;border-radius:50%;width:7px;height:7px}.carpool-card__seats--full{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.carpool-card__when{margin:0 0 2px}.carpool-card__place{color:var(--text-muted);margin:0}.carpool__message{border-left:2px solid var(--border);color:var(--text);margin:8px 0 0;padding-left:10px}.carpool__message-from{color:var(--text-muted)}.carpool__status{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:6px 0 0}.carpool__requests{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}.carpool__request{border-top:1px solid var(--border);padding-top:10px}.carpool__request-lead{margin:0}.carpool__request-seats{color:var(--text-muted)}.carpool__confirm{align-self:center;margin:0}.carpool__phrases{width:100%}.carpool__phrases-label{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:0 0 6px}.carpool__guest{border:1px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);margin-bottom:16px;padding:14px 16px}.carpool__guest p{margin:0 0 12px}.carpool-overview{flex-direction:column;gap:12px;margin:0 0 24px;padding:0;list-style:none;display:flex}.carpool-overview__row{border:1px solid var(--border-strong);border-left:5px solid var(--team-accent);border-radius:var(--radius);background:var(--surface-raised);padding:12px 14px}.carpool-overview__match{font-family:var(--display);font-size:var(--text-lg);text-transform:uppercase;letter-spacing:.04em;margin:0}.carpool-overview__when{color:var(--text-muted);margin:0 0 6px}.carpool-overview__seats,.carpool-overview__waiting{margin:0}.carpool-overview__gap{color:var(--danger);margin:0;font-weight:600}.carpool-card__driver,.carpool-overview__drivers{margin:4px 0 0;font-weight:600}.account__name{font-size:var(--text-lg);align-self:center;margin:0}.form__choice{min-height:var(--tap-target);font-family:var(--sans);font-size:var(--text-base);text-transform:none;letter-spacing:normal;align-items:center;gap:8px;display:flex}.attendance{margin-top:32px}.attendance__heading{font-family:var(--display);font-size:var(--text-xl);text-transform:uppercase;letter-spacing:.04em;margin:0 0 12px}.attendance__note{color:var(--text-muted);margin:0}.attendance__current{margin:0 0 12px}.attendance__form{margin-top:12px}.attendance__subheading{font-family:var(--display);font-size:var(--text-base);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin:16px 0 6px}.attendance__summary{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.attendance__totals{margin:0 0 8px}.attendance__responders{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.attendance__unanswered{flex-direction:column;align-items:flex-start;gap:8px;margin-top:12px;display:flex}.attendance__children{flex-direction:column;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.attendance__child{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.attendance__reply{gap:6px;display:inline-flex}.attendance__child-error{flex-basis:100%;margin:4px 0 0}.attendance__reply .button[aria-pressed=true]{background:var(--ink);color:var(--card);border-color:var(--ink);font-weight:700}.notif-settings{margin-top:32px}.notif-settings__lead{color:var(--text-muted);margin:0 0 12px}.notif-settings__row{min-height:var(--tap-target);font-family:var(--sans);text-transform:none;letter-spacing:normal;align-items:flex-start;gap:12px;padding:8px 0;display:flex}.notif-settings__row input{flex-shrink:0;margin-top:4px}.notif-settings__tip{border:1px solid var(--border);border-radius:var(--radius);color:var(--text-muted);margin-top:12px;padding:12px}.notif-device{border-bottom:1px solid var(--border);margin-bottom:12px;padding-bottom:12px}.superadmin,.wizard{flex-direction:column;gap:24px;display:flex}.wizard__steps{border-bottom:2px solid var(--border);gap:4px;margin:0;padding:0 0 2px;list-style:none;display:flex;overflow-x:auto}.wizard__step-button{appearance:none;font-family:var(--sans);font-size:var(--text-sm);color:var(--text-muted);min-height:var(--tap-target);white-space:nowrap;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-2px;padding:10px 12px}.wizard__step-button:disabled{cursor:default;opacity:.55}.wizard__step-number{background:var(--surface-raised);border:1px solid var(--border-strong);width:1.6em;height:1.6em;font-size:var(--text-xs);border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.wizard__step--current .wizard__step-button{color:var(--text-strong);border-bottom-color:var(--focus);font-weight:700}.wizard__step--current .wizard__step-number{background:var(--focus);color:var(--surface);border-color:var(--focus)}.wizard__step--done .wizard__step-button{color:var(--text)}.wizard__step-button:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.wizard__panel{flex-direction:column;gap:12px;display:flex}.wizard__panel>h3{margin:0}.wizard__context{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);margin:0}.wizard__choices{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wizard__choice{text-align:left;width:100%;min-height:var(--tap-target);border:2px solid var(--border-strong);border-radius:var(--radius);background:var(--surface-raised);color:var(--text-strong);font:inherit;cursor:pointer;padding:10px 12px}.wizard__choice--selected{border-color:var(--focus);box-shadow:inset 0 0 0 1px var(--focus)}.wizard__choice-season{color:var(--text-muted);font-size:var(--text-sm)}.wizard__choice:focus-visible{outline:3px solid var(--focus);outline-offset:2px}.wizard__nav{border-top:1px solid var(--border);justify-content:space-between;gap:8px;padding-top:16px;display:flex}.admin-trupp-picker{max-width:420px;margin:16px 0 8px}.admin-tabs{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:2px;margin:8px 0 0;display:flex}.admin-tabs__tab{min-height:var(--tap-target);font-family:var(--display);font-size:var(--text-base);letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 12px}.admin-tabs__tab:hover{color:var(--ink)}.admin-tabs__tab--active{color:var(--ink);border-bottom-color:var(--team-accent);font-weight:600}.chat-tabs{border-bottom:1px solid var(--hair);flex-wrap:wrap;gap:2px;margin:8px 0 0;display:flex}.chat-tabs__tab{min-height:var(--tap-target);font-family:var(--display);font-size:var(--text-base);letter-spacing:.02em;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.chat-tabs__tab:hover{color:var(--ink)}.chat-tabs__tab--active{color:var(--ink);border-bottom-color:var(--team-accent);font-weight:600}.chat-tabs__dot{border:1px solid var(--hair-strong);border-radius:50%;flex:none;width:10px;height:10px}.chat-panel{padding-top:8px}.chat-panel:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.reactions{flex-wrap:wrap;align-items:center;gap:6px;margin-top:0;display:flex}.reaction{min-height:32px;font-size:var(--text-sm);color:var(--ink-soft);background:var(--sunk);border:1px solid var(--hair);cursor:pointer;border-radius:999px;align-items:center;gap:4px;padding:2px 10px;line-height:1;display:inline-flex}.reaction:hover{color:var(--ink)}.reaction--mine{color:var(--ink);background:var(--card);border-color:var(--hair-strong);font-weight:600}.reaction__count{font-variant-numeric:tabular-nums}.reactions__picker{background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);flex-wrap:wrap;flex-basis:100%;gap:4px;margin-top:4px;padding:6px;display:flex}.schedule-filter{flex-wrap:wrap;gap:6px;margin:0 0 12px;display:flex}.schedule-filter__tab{min-height:36px;font-size:var(--text-sm);color:var(--ink-soft);background:var(--sunk);border:1px solid var(--hair);cursor:pointer;border-radius:999px;padding:2px 12px}.schedule-filter__tab:hover{color:var(--ink)}.schedule-filter__tab--active{color:var(--ink);background:var(--card);border-color:var(--hair-strong);font-weight:600}.cup-list{flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.cup-card{background:var(--surface-raised);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-soft);color:var(--ink);flex-direction:column;gap:2px;padding:13px 14px;text-decoration:none;display:flex}.cup-card:hover{border-color:var(--border-strong)}.cup-card__title{font-family:var(--display);font-size:var(--text-lg);color:var(--text-strong);font-weight:600}.cup-card__meta{font-size:var(--text-sm);color:var(--ink-soft)}.cup-card__state{border:1px solid var(--border-strong);font-family:var(--display);font-size:var(--text-xs);text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);border-radius:999px;align-self:flex-start;align-items:center;gap:5px;margin-top:6px;padding:3px 9px;font-weight:600;display:inline-flex}.cup-card__state--open{color:var(--accent-text);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 12%, transparent)}.cup-card__state--full{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 45%, transparent);background:color-mix(in srgb, var(--danger) 12%, transparent)}.cup-card__state--closed{color:var(--text-muted)}.empty-state{text-align:center;place-items:center;gap:10px;padding:36px 16px;display:grid}.empty-state svg{width:40px;height:40px;color:var(--text-muted);opacity:.6}.cup{border-top:1px solid var(--hair);margin-top:24px;padding-top:16px}.cup-teams__team-actions,.cup-teams__rename{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.cup__open{flex-wrap:wrap;align-items:flex-end;gap:8px;margin:12px 0;display:flex}.cup__open label{font-size:var(--text-sm);color:var(--ink-soft);flex-basis:100%}.cup__open input{width:6rem}.cup__mine{flex-direction:column;gap:8px;margin:12px 0;padding:0;list-style:none;display:flex}.cup__mine-row{background:var(--sunk);border-radius:var(--radius);justify-content:space-between;align-items:center;gap:12px;padding:8px 12px;display:flex}.cup__list{margin-top:12px}.cup__list-title{font-size:var(--text-sm);color:var(--ink-soft);margin:0 0 4px}.cup__list ul{margin:0;padding-left:1.2em}.admin-panel{padding-top:8px}.admin-panel:focus-visible{outline:3px solid var(--focus);outline-offset:3px;border-radius:6px}.admin-overview{padding-top:8px}.stat-cards{grid-template-columns:repeat(2,1fr);gap:12px;margin:0 0 16px;padding:0;list-style:none;display:grid}.stat-card{border:1px solid var(--hair);border-radius:var(--radius);background:var(--card);flex-direction:column;gap:2px;padding:14px 16px;display:flex}.stat-card--attention{border-left:3px solid var(--team-accent)}.stat-card__value{font-family:var(--display);font-size:var(--text-2xl);color:var(--ink);font-variant-numeric:tabular-nums;font-weight:700;line-height:1}.stat-card__label{font-size:var(--text-sm);color:var(--ink-soft)}.admin-todo{width:100%;min-height:var(--tap-target);font-size:var(--text-base);text-align:left;color:var(--ink);background:var(--card);border:1px solid var(--hair);border-radius:var(--radius);cursor:pointer;align-items:center;gap:10px;padding:10px 14px;display:flex}.admin-todo:hover{border-color:var(--hair-strong)}.admin-todo__dot{background:var(--team-accent);width:9px;height:9px;box-shadow:0 0 0 1px var(--hair-strong);border-radius:50%;flex:none}.barn-lag{padding-top:4px}.subtabs{background:var(--sunk);border:1px solid var(--hair);border-radius:var(--radius);gap:4px;margin:0 0 12px;padding:4px;display:flex}.subtabs__tab{min-height:40px;font-family:var(--display);font-size:var(--text-base);color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1}.subtabs__tab--active{color:var(--ink);background:var(--card);box-shadow:var(--shadow-soft);font-weight:600}.drill-list{flex-direction:column;margin:0 0 16px;padding:0;list-style:none;display:flex}.drill-list__item{width:100%;min-height:var(--tap-target);font:inherit;text-align:left;color:var(--ink);border:0;border-top:1px solid var(--hair);cursor:pointer;background:0 0;align-items:center;gap:10px;padding:10px 6px 10px 12px;display:flex}.drill-list__item:hover{background:var(--sunk)}.drill-list__name{flex:auto;font-weight:500}.drill-list__chevron{color:var(--ink-faint);font-size:var(--text-lg);flex:none}.team-tag-inline{color:var(--ink-soft);font-size:var(--text-sm);align-items:center;gap:6px;display:inline-flex}.drill-back{min-height:var(--tap-target);font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;padding:4px 0}.drill-back:hover{color:var(--ink)}.drill-title{margin:4px 0 12px}.drill-title-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.drill-title-row .drill-title{margin:4px 0}.icon-button{border:1px solid var(--border);background:var(--surface-raised);width:40px;height:40px;font-size:var(--text-base);cursor:pointer;border-radius:999px;justify-content:center;align-items:center;display:inline-flex}.icon-button:hover{background:var(--surface)}.icon-button:focus-visible{outline:2px solid var(--accent-strong);outline-offset:2px}.child-detail__block{border-top:1px solid var(--hair);padding:12px 0}.child-detail__block>h4{margin:0 0 8px}.child-detail__select{max-width:240px}.child-detail__invite{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);margin-top:10px;padding:10px 12px}.child-detail__invite>.admin-muted{margin:0 0 8px}.roster-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.roster-list__item{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);padding:12px 14px}.roster-list__name{margin:0 0 4px;font-weight:600}.roster-list__guardians{gap:2px;margin:0;padding:0;list-style:none;display:grid}.roster-list__guardians>li{font-size:var(--text-sm);flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.roster-list__guardian-name{color:var(--ink)}.roster-list__guardian-mail{color:var(--ink-soft)}.admin-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);padding:16px}.admin-section>h2{margin:0 0 12px}.admin-subsection{border-top:1px solid var(--border);margin-top:16px;padding-top:12px}.admin-subsection>h2,.admin-subsection>h3{margin:0 0 8px}.admin-list{flex-direction:column;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:flex}.admin-list__row{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.admin-color{border:1px solid var(--border-strong);vertical-align:middle;border-radius:4px;width:14px;height:14px;margin-right:6px;display:inline-block}.button--small{min-height:var(--tap-target);font-size:var(--text-sm);padding:6px 12px}.admin-muted{color:var(--text-muted);font-size:var(--text-sm)}.roster-group{border:0;min-inline-size:0;margin-bottom:16px;padding:0}.roster-group>h4,.roster-group>legend{font:inherit;align-items:center;margin:0 0 8px;padding:0;font-weight:700;display:flex}.roster-child{flex-direction:column;align-items:stretch}.roster-child__main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;width:100%;display:flex}.roster-child__controls,.roster-child__edit{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.roster-child__guardians{width:100%}.state--ok{border-color:var(--focus)}.consent-text{white-space:pre-wrap;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);color:var(--text);margin:12px 0;padding:12px}.consent-confirm{align-items:center;gap:8px;margin:12px 0;display:flex}.state--ok code{word-break:break-all}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}input[type=radio],input[type=checkbox]{appearance:none;border:2px solid var(--border-strong);background:var(--surface);cursor:pointer;vertical-align:-5px;flex:none;place-content:center;width:21px;height:21px;margin:0;transition:border-color .18s,background .18s;display:inline-grid}input[type=radio]{border-radius:50%}input[type=checkbox]{border-radius:7px}input[type=radio]:after{content:"";background:var(--accent);border-radius:50%;width:11px;height:11px;transition:transform .2s cubic-bezier(.34,1.4,.5,1);transform:scale(0)}input[type=radio]:checked{border-color:var(--accent)}input[type=radio]:checked:after{transform:scale(1)}input[type=checkbox]:after{content:"";border:solid var(--accent-ink);border-width:0 2.5px 2.5px 0;width:5px;height:10px;margin-top:-2px;transition:transform .2s cubic-bezier(.34,1.4,.5,1);transform:rotate(45deg)scale(0)}input[type=checkbox]:checked{background:var(--accent);border-color:var(--accent)}input[type=checkbox]:checked:after{transform:rotate(45deg)scale(1)}input[type=radio]:focus-visible,input[type=checkbox]:focus-visible{outline:3px solid var(--focus);outline-offset:2px}input[type=radio]:disabled,input[type=checkbox]:disabled{opacity:.5;cursor:default}.form__field .form__radio,.form__field .form__checkbox,.form__radio,.form__checkbox{cursor:pointer;min-height:44px;font-family:var(--sans);font-size:var(--text-base);text-transform:none;letter-spacing:normal;color:var(--text-strong);align-items:center;gap:10px;padding:4px 0;display:flex}.form__radio input[type=radio],.form__checkbox input[type=checkbox],.opt input[type=radio]{width:20px;height:20px;accent-color:var(--accent);cursor:pointer;flex:none;margin:0}.form__field .seg{background:var(--sunk);border:1px solid var(--border);border-radius:12px;grid-auto-columns:1fr;grid-auto-flow:column;gap:4px;padding:4px;display:grid}.form__field .seg__option{min-height:40px;font-family:var(--sans);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;text-align:center;color:var(--text-muted);cursor:pointer;border-radius:9px;justify-content:center;align-items:center;padding:8px 4px;font-weight:600;display:flex}.form__field .seg__option:has(input:checked){background:var(--accent-strong);color:var(--accent-ink)}.form__field .seg__option:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.form__field .opt{min-height:var(--tap-target);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-raised);font-family:var(--sans);font-size:var(--text-base);letter-spacing:normal;text-transform:none;color:var(--text-strong);cursor:pointer;align-items:center;gap:12px;margin-bottom:8px;padding:12px 13px;font-weight:400;display:flex}.form__field .opt:has(input:checked){border-color:color-mix(in srgb, var(--accent) 55%, transparent);background:color-mix(in srgb, var(--accent) 9%, var(--surface-raised))}.form__field .opt:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.opt__txt{flex-direction:column;gap:1px;font-weight:600;display:flex}.opt__txt small{font-weight:500;font-size:var(--text-sm);color:var(--text-muted)}.pills{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.form__field .tpill{border:1px solid var(--border);background:var(--surface-raised);min-height:40px;font-family:var(--sans);font-size:var(--text-sm);letter-spacing:normal;text-transform:none;color:var(--text-muted);cursor:pointer;border-radius:999px;align-items:center;gap:7px;padding:8px 14px;font-weight:600;display:inline-flex}.form__field .tpill:has(input:checked){color:var(--text-strong);border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--surface-raised))}.form__field .tpill:has(input:focus-visible){outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.tpill__dot{width:11px;height:11px;box-shadow:0 0 0 1px var(--border-strong);border-radius:50%}.tpill__check{width:.85em;color:var(--accent-strong);font-weight:700;display:inline-block}.form fieldset,fieldset.form__field{border:none;min-width:0;margin:0;padding:0}.form fieldset>legend,fieldset.form__field>legend{font-family:var(--display);font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);padding:0 0 8px}.form__field select,select.input{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%235b6472' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E");background-position:right 13px center;background-repeat:no-repeat;padding-right:38px}:root[data-theme=dark] .form__field select,:root[data-theme=dark] select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239aa4b4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .form__field select,:root:not([data-theme=light]) select.input{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%239aa4b4' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 6l4 4 4-4'/%3E%3C/svg%3E")}}.form__field input:focus-visible,.form__field select:focus-visible,.form__field textarea:focus-visible,.input:focus-visible{border-color:var(--accent);outline:2px solid color-mix(in srgb, var(--accent) 55%, transparent);outline-offset:2px}.button{transition:transform .12s,filter .12s,border-color .15s}.button:active{transform:scale(.97)}.button--action{background:var(--accent-strong);border-color:var(--accent-strong);color:var(--accent-ink);box-shadow:0 8px 22px -14px color-mix(in srgb, var(--accent) 90%, transparent);font-weight:700}.button--action:hover{filter:brightness(1.06)}.page-enter{animation:.34s cubic-bezier(.22,.61,.36,1) both page-enter}@keyframes page-enter{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}.match-card,.child-card,.cup-card,.next-match{transition:transform .12s}.match-card:active,.child-card:active,.cup-card:active,.next-match:active{transform:scale(.985)}.pcard{--pc-accent:var(--accent);border:1px solid var(--border);box-shadow:var(--shadow-soft);border-radius:18px;margin:12px 0 20px;overflow:hidden}.pcard__top{background:radial-gradient(150px 120px at 88% -12%, color-mix(in srgb, var(--pc-accent) 55%, transparent), transparent 70%), linear-gradient(150deg, color-mix(in srgb, var(--pc-accent) 24%, var(--surface-raised)), var(--surface-raised) 72%);padding:18px 18px 16px;position:relative}.pcard__num{font-family:var(--display);letter-spacing:-.03em;color:color-mix(in srgb, var(--pc-accent) 42%, transparent);pointer-events:none;font-size:78px;font-weight:700;line-height:1;position:absolute;top:2px;right:14px}.pcard__eyebrow{font-family:var(--display);text-transform:uppercase;letter-spacing:.14em;font-size:var(--text-sm);color:var(--text-muted);margin:0}.pcard__name{font-family:var(--display);color:var(--text-strong);margin:4px 0 3px;font-size:2.3rem;font-weight:700;line-height:1}.pcard__meta{color:var(--text-muted);font-size:var(--text-sm);margin:0}.pcard__stats{background:var(--surface-raised);border-top:1px solid var(--border);grid-template-columns:repeat(4,1fr);display:grid}.pcard__stat{text-align:center;border-right:1px solid var(--border);padding:13px 4px}.pcard__stat:last-child{border-right:none}.pcard__stat b{font-family:var(--display);font-weight:700;font-size:var(--text-2xl);color:var(--text-strong);font-variant-numeric:tabular-nums;line-height:1;display:block}.pcard__stat span{font-family:var(--display);text-transform:uppercase;letter-spacing:.08em;font-size:var(--text-xs);color:var(--text-muted)}
