@charset "UTF-8";@font-face{font-family:Material Icons;font-style:normal;font-weight:400;font-display:block;src:url("./media/material-icons-LEZCGFVT.woff2") format("woff2"),url("./media/material-icons-JLIDJUWE.woff") format("woff")}.material-icons{font-family:Material Icons;font-weight:400;font-style:normal;font-size:24px;line-height:1;letter-spacing:normal;text-transform:none;display:inline-block;white-space:nowrap;word-wrap:normal;direction:ltr;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"liga"}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-ext-wght-normal-ASVAGXXE.woff2") format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-cyrillic-wght-normal-EWLSKVKN.woff2") format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-ext-wght-normal-7GGTF7EK.woff2") format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-greek-wght-normal-N43DBLU2.woff2") format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-vietnamese-wght-normal-CE5GGD3W.woff2") format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-ext-wght-normal-5SRY4DMZ.woff2") format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url("./media/inter-latin-wght-normal-O25CN4JL.woff2") format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}html{--mat-sys-background: light-dark(#fcf8fd, #131316);--mat-sys-error: light-dark(#ba1a1a, #ffb4ab);--mat-sys-error-container: light-dark(#ffdad6, #93000a);--mat-sys-inverse-on-surface: light-dark(#f3eff4, #303034);--mat-sys-inverse-primary: light-dark(#bec2ff, #343dff);--mat-sys-inverse-surface: light-dark(#303034, #e5e1e6);--mat-sys-on-background: light-dark(#1b1b1f, #e5e1e6);--mat-sys-on-error: light-dark(#ffffff, #690005);--mat-sys-on-error-container: light-dark(#93000a, #ffdad6);--mat-sys-on-primary: light-dark(#ffffff, #0001ac);--mat-sys-on-primary-container: light-dark(#0000ef, #e0e0ff);--mat-sys-on-primary-fixed: light-dark(#00006e, #00006e);--mat-sys-on-primary-fixed-variant: light-dark(#0000ef, #0000ef);--mat-sys-on-secondary: light-dark(#ffffff, #2e2f42);--mat-sys-on-secondary-container: light-dark(#444559, #e1e0f9);--mat-sys-on-secondary-fixed: light-dark(#191a2c, #191a2c);--mat-sys-on-secondary-fixed-variant: light-dark(#444559, #444559);--mat-sys-on-surface: light-dark(#1b1b1f, #e5e1e6);--mat-sys-on-surface-variant: light-dark(#46464f, #e4e1ec);--mat-sys-on-tertiary: light-dark(#ffffff, #42008a);--mat-sys-on-tertiary-container: light-dark(#5f00c0, #ecdcff);--mat-sys-on-tertiary-fixed: light-dark(#270057, #270057);--mat-sys-on-tertiary-fixed-variant: light-dark(#5f00c0, #5f00c0);--mat-sys-outline: light-dark(#777680, #91909a);--mat-sys-outline-variant: light-dark(#c7c5d0, #46464f);--mat-sys-primary: light-dark(#343dff, #bec2ff);--mat-sys-primary-container: light-dark(#e0e0ff, #0000ef);--mat-sys-primary-fixed: light-dark(#e0e0ff, #e0e0ff);--mat-sys-primary-fixed-dim: light-dark(#bec2ff, #bec2ff);--mat-sys-scrim: light-dark(#000000, #000000);--mat-sys-secondary: light-dark(#5c5d72, #c5c4dd);--mat-sys-secondary-container: light-dark(#e1e0f9, #444559);--mat-sys-secondary-fixed: light-dark(#e1e0f9, #e1e0f9);--mat-sys-secondary-fixed-dim: light-dark(#c5c4dd, #c5c4dd);--mat-sys-shadow: light-dark(#000000, #000000);--mat-sys-surface: light-dark(#fcf8fd, #131316);--mat-sys-surface-bright: light-dark(#fcf8fd, #3a393c);--mat-sys-surface-container: light-dark(#f0edf1, #201f22);--mat-sys-surface-container-high: light-dark(#ebe7eb, #2a292d);--mat-sys-surface-container-highest: light-dark(#e5e1e6, #353438);--mat-sys-surface-container-low: light-dark(#f6f2f7, #1b1b1f);--mat-sys-surface-container-lowest: light-dark(#ffffff, #0e0e11);--mat-sys-surface-dim: light-dark(#dcd9dd, #131316);--mat-sys-surface-tint: light-dark(#343dff, #bec2ff);--mat-sys-surface-variant: light-dark(#e4e1ec, #46464f);--mat-sys-tertiary: light-dark(#7d00fa, #d5baff);--mat-sys-tertiary-container: light-dark(#ecdcff, #5f00c0);--mat-sys-tertiary-fixed: light-dark(#ecdcff, #ecdcff);--mat-sys-tertiary-fixed-dim: light-dark(#d5baff, #d5baff);--mat-sys-neutral-variant20: #303038;--mat-sys-neutral10: #1b1b1f;--mat-sys-level0: 0px 0px 0px 0px rgba(0, 0, 0, .2), 0px 0px 0px 0px rgba(0, 0, 0, .14), 0px 0px 0px 0px rgba(0, 0, 0, .12);--mat-sys-level1: 0px 2px 1px -1px rgba(0, 0, 0, .2), 0px 1px 1px 0px rgba(0, 0, 0, .14), 0px 1px 3px 0px rgba(0, 0, 0, .12);--mat-sys-level2: 0px 3px 3px -2px rgba(0, 0, 0, .2), 0px 3px 4px 0px rgba(0, 0, 0, .14), 0px 1px 8px 0px rgba(0, 0, 0, .12);--mat-sys-level3: 0px 3px 5px -1px rgba(0, 0, 0, .2), 0px 6px 10px 0px rgba(0, 0, 0, .14), 0px 1px 18px 0px rgba(0, 0, 0, .12);--mat-sys-level4: 0px 5px 5px -3px rgba(0, 0, 0, .2), 0px 8px 10px 1px rgba(0, 0, 0, .14), 0px 3px 14px 2px rgba(0, 0, 0, .12);--mat-sys-level5: 0px 7px 8px -4px rgba(0, 0, 0, .2), 0px 12px 17px 2px rgba(0, 0, 0, .14), 0px 5px 22px 4px rgba(0, 0, 0, .12);--mat-sys-body-large: 400 1rem / 1.5rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-large-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-large-line-height: 1.5rem;--mat-sys-body-large-size: 1rem;--mat-sys-body-large-tracking: .031rem;--mat-sys-body-large-weight: 400;--mat-sys-body-medium: 400 .875rem / 1.25rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-medium-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-medium-line-height: 1.25rem;--mat-sys-body-medium-size: .875rem;--mat-sys-body-medium-tracking: .016rem;--mat-sys-body-medium-weight: 400;--mat-sys-body-small: 400 .75rem / 1rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-small-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-body-small-line-height: 1rem;--mat-sys-body-small-size: .75rem;--mat-sys-body-small-tracking: .025rem;--mat-sys-body-small-weight: 400;--mat-sys-display-large: 400 3.562rem / 4rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-large-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-large-line-height: 4rem;--mat-sys-display-large-size: 3.562rem;--mat-sys-display-large-tracking: -.016rem;--mat-sys-display-large-weight: 400;--mat-sys-display-medium: 400 2.812rem / 3.25rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-medium-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-medium-line-height: 3.25rem;--mat-sys-display-medium-size: 2.812rem;--mat-sys-display-medium-tracking: 0;--mat-sys-display-medium-weight: 400;--mat-sys-display-small: 400 2.25rem / 2.75rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-small-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-display-small-line-height: 2.75rem;--mat-sys-display-small-size: 2.25rem;--mat-sys-display-small-tracking: 0;--mat-sys-display-small-weight: 400;--mat-sys-headline-large: 400 2rem / 2.5rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-large-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-large-line-height: 2.5rem;--mat-sys-headline-large-size: 2rem;--mat-sys-headline-large-tracking: 0;--mat-sys-headline-large-weight: 400;--mat-sys-headline-medium: 400 1.75rem / 2.25rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-medium-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-medium-line-height: 2.25rem;--mat-sys-headline-medium-size: 1.75rem;--mat-sys-headline-medium-tracking: 0;--mat-sys-headline-medium-weight: 400;--mat-sys-headline-small: 400 1.5rem / 2rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-small-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-headline-small-line-height: 2rem;--mat-sys-headline-small-size: 1.5rem;--mat-sys-headline-small-tracking: 0;--mat-sys-headline-small-weight: 400;--mat-sys-label-large: 500 .875rem / 1.25rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-large-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-large-line-height: 1.25rem;--mat-sys-label-large-size: .875rem;--mat-sys-label-large-tracking: .006rem;--mat-sys-label-large-weight: 500;--mat-sys-label-large-weight-prominent: 700;--mat-sys-label-medium: 500 .75rem / 1rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-medium-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-medium-line-height: 1rem;--mat-sys-label-medium-size: .75rem;--mat-sys-label-medium-tracking: .031rem;--mat-sys-label-medium-weight: 500;--mat-sys-label-medium-weight-prominent: 700;--mat-sys-label-small: 500 .688rem / 1rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-small-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-label-small-line-height: 1rem;--mat-sys-label-small-size: .688rem;--mat-sys-label-small-tracking: .031rem;--mat-sys-label-small-weight: 500;--mat-sys-title-large: 400 1.375rem / 1.75rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-large-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-large-line-height: 1.75rem;--mat-sys-title-large-size: 1.375rem;--mat-sys-title-large-tracking: 0;--mat-sys-title-large-weight: 400;--mat-sys-title-medium: 500 1rem / 1.5rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-medium-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-medium-line-height: 1.5rem;--mat-sys-title-medium-size: 1rem;--mat-sys-title-medium-tracking: .009rem;--mat-sys-title-medium-weight: 500;--mat-sys-title-small: 500 .875rem / 1.25rem "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-small-font: "Inter Variable", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--mat-sys-title-small-line-height: 1.25rem;--mat-sys-title-small-size: .875rem;--mat-sys-title-small-tracking: .006rem;--mat-sys-title-small-weight: 500;--mat-sys-corner-extra-large: 28px;--mat-sys-corner-extra-large-top: 28px 28px 0 0;--mat-sys-corner-extra-small: 4px;--mat-sys-corner-extra-small-top: 4px 4px 0 0;--mat-sys-corner-full: 9999px;--mat-sys-corner-large: 16px;--mat-sys-corner-large-end: 0 16px 16px 0;--mat-sys-corner-large-start: 16px 0 0 16px;--mat-sys-corner-large-top: 16px 16px 0 0;--mat-sys-corner-medium: 12px;--mat-sys-corner-none: 0;--mat-sys-corner-small: 8px;--mat-sys-dragged-state-layer-opacity: .16;--mat-sys-focus-state-layer-opacity: .12;--mat-sys-hover-state-layer-opacity: .08;--mat-sys-pressed-state-layer-opacity: .12}:root{--bg: #f1f5f9;--surface: #ffffff;--text: #0f172a;--muted: #64748b;--border: #e2e8f0;--home: #1d4ed8;--away: #b91c1c;--goal: #15803d;--foul: #475569;--yellow: #eab308;--red: #dc2626;--accumulated: #f97316;--accumulated-bg: #ffedd5;--radius: 12px;color-scheme:light}:root[data-theme=dark]{color-scheme:dark;--bg: #0b1120;--surface: #151e2e;--text: #e2e8f0;--muted: #94a3b8;--border: #263244;--home: #4f8ff7;--away: #ef4444;--goal: #16a34a;--foul: #64748b;--accumulated-bg: rgba(249, 115, 22, .18);--dk-surface: #151e2e;--dk-surface-2: #1c2738;--dk-surface-3: #263244;--dk-text: #e2e8f0;--dk-muted: #94a3b8;--dk-border: #263244;--dk-border-strong: #3b4a60;--dk-success-bg: rgba(34, 197, 94, .16);--dk-success-fg: #4ade80;--dk-danger-bg: rgba(239, 68, 68, .16);--dk-danger-fg: #f87171;--dk-warn-bg: rgba(245, 158, 11, .16);--dk-warn-fg: #fbbf24;--dk-info-bg: rgba(59, 130, 246, .18);--dk-info-fg: #7cb0ff;--dk-glass: rgba(21, 30, 46, .94);--dk-ink: #2b3a52}*{box-sizing:border-box}body{margin:0;font-family:Inter Variable,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0}h1{font-size:1.4rem}h3{font-size:1rem}.page{max-width:1100px;margin:0 auto;padding:12px 16px 48px;display:grid;grid-template-columns:minmax(0,1fr);gap:12px}.page--center{min-height:80vh;place-content:center;justify-items:center;text-align:center}.page__header p{margin:4px 0 0}.muted,.hint{color:var(--muted)}.hint{font-size:.9rem;margin:4px 0}.card{display:block;min-width:0;background:var(--surface);border-radius:var(--radius);padding:12px;border:1px solid var(--border)}.card__toggle{background:none;border:0;font:inherit;font-weight:600;width:100%;text-align:left;padding:4px 0;cursor:pointer}.alert{margin:0;padding:10px 12px;border-radius:var(--radius)}.alert--error{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #7f1d1d)}.alert--warning{background:var(--dk-warn-bg, #fef3c7);color:#78350f}.alert--info{background:var(--dk-info-bg, #e0f2fe);color:#0c4a6e}.alert--success{background:var(--dk-success-bg, #dcfce7);color:#14532d}.badge{display:inline-block;padding:2px 10px;border-radius:999px;background:var(--dk-ink, var(--text));color:#fff;font-size:.85rem}.btn{font:inherit;font-weight:600;border:0;border-radius:10px;padding:12px 14px;min-height:48px;cursor:pointer;color:#fff;background:var(--dk-ink, var(--text));touch-action:manipulation}.btn:disabled{opacity:.35;cursor:not-allowed}.btn--large{font-size:1.2rem;padding:16px 24px;min-height:60px}.btn--primary{background:var(--home)}.btn--start{background:var(--goal)}.btn--stop{background:var(--red)}.btn--goal{background:var(--goal)}.btn--foul{background:var(--foul)}.btn--yellow{background:var(--yellow);color:var(--text)}.btn--red{background:var(--red)}.btn--ghost{background:transparent;color:var(--text);border:1px solid var(--border)}.btn--missed{background:var(--accumulated-bg);color:var(--dk-warn-fg, #9a3412);border:1px solid var(--accumulated)}.link{background:none;border:0;color:var(--home);font:inherit;cursor:pointer;padding:0 4px;text-decoration:underline}.scoreboard{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media(min-width:760px){.scoreboard{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:start}}.team,.live-team{background:var(--surface);border-radius:var(--radius);padding:12px;border-top:6px solid var(--home);display:grid;gap:8px;text-align:center}.team--away,.live-team--away{border-top-color:var(--away)}.team__name{font-size:1.2rem}.team__score{font-size:3.5rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.actions{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.actions .btn--goal,.actions .btn--foul{font-size:1.2rem;min-height:64px}.fouls{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;font-size:.9rem}.fouls__count{font-weight:700}.fouls--limit .fouls__count,.fouls--limit.fouls{color:var(--accumulated);font-weight:700}.fouls__warning{background:var(--accumulated);color:#fff;border-radius:6px;padding:2px 8px;font-weight:700}.fouls__chips{display:inline-flex;gap:3px}.chip{width:22px;height:22px;border-radius:50%;border:2px solid var(--border);font-size:.7rem;display:inline-grid;place-content:center;color:var(--muted)}.chip--on{background:var(--foul);border-color:var(--foul);color:#fff}.chip--accumulated{border-color:var(--accumulated)}.chip--on.chip--accumulated{background:var(--accumulated);border-color:var(--accumulated)}.clock{background:var(--dk-ink, var(--text));color:#fff;border-radius:var(--radius);padding:16px;text-align:center;display:grid;gap:8px}@media(min-width:760px){.clock{min-width:240px}}.clock__period{text-transform:uppercase;letter-spacing:.05em;font-size:.85rem;opacity:.8}.clock__time{font-size:3.2rem;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.clock--running .clock__time{color:#4ade80}.clock__actions{display:grid;gap:8px}.clock .btn--ghost{color:#fff;border-color:#ffffff4d}.lineups{display:grid;gap:12px;margin-top:8px}@media(min-width:760px){.lineups{grid-template-columns:1fr 1fr}}.lineup__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.lineup__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.lineup__player{display:flex;gap:10px;align-items:center;padding:8px;border-radius:8px;border:1px solid var(--border);min-height:44px}.lineup__player input{width:22px;height:22px}.lineup__player--present{background:var(--dk-success-bg, #f0fdf4);border-color:#bbf7d0}.lineup__number{font-weight:700;min-width:2ch;text-align:right}.lineup__stats{margin-left:auto;display:inline-flex;gap:6px}.card-icon{display:inline-block;min-width:16px;padding:0 3px;height:20px;border-radius:3px;font-size:.75rem;text-align:center}.card-icon--yellow{background:var(--yellow)}.card-icon--red{background:var(--red);color:#fff}.timeline h3{margin-bottom:8px}.timeline__list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.event{min-width:0;overflow-wrap:anywhere;display:flex;flex-wrap:wrap;gap:8px;align-items:center;padding:8px;border-radius:8px;border-left:4px solid var(--border);background:var(--dk-surface-2, #f8fafc)}.event--home{border-left-color:var(--home)}.event--away{border-left-color:var(--away)}.event--clock{color:var(--muted);font-size:.9rem}.event--pending{opacity:.6}.event--accumulated{background:var(--accumulated-bg);border-left-color:var(--accumulated)}.event__time{font-variant-numeric:tabular-nums;color:var(--muted);min-width:7ch}.event__type{font-weight:700}.event__type--Goal,.event__type--OwnGoal{color:var(--goal)}.event__type--YellowCard{color:#a16207}.event__type--RedCard{color:var(--red)}.event__type--AccumulatedKickMissed{color:var(--dk-warn-fg, #9a3412)}.event--accumulated .event__type{color:var(--accumulated)}.event__team{font-weight:600;margin-right:4px}.event__badge{font-size:.75rem;background:var(--accumulated);color:#fff;padding:1px 6px;border-radius:6px}.event__badge--pending{background:transparent}.event__badge--kick{background:var(--goal)}.event__undo{margin-left:auto;border:0;background:none;font-size:1.1rem;color:var(--muted);cursor:pointer;min-width:40px;min-height:40px}.overlay{position:fixed;inset:0;background:#0f172a73;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:grid;place-items:center;padding:16px;z-index:10}.overlay--sheet{place-items:end center;padding:0}.bottom-sheet{width:min(600px,100%);background:var(--surface);border-radius:18px 18px 0 0;padding:10px 16px calc(16px + env(safe-area-inset-bottom));display:grid;gap:10px;box-shadow:0 -10px 30px #0f172a33;animation:sheet-up .2s ease-out;text-align:left}.bottom-sheet:before{content:"";justify-self:center;width:40px;height:4px;border-radius:2px;background:var(--border)}.bottom-sheet__title{font-size:1rem;color:var(--muted)}.bottom-sheet__items{display:grid;gap:8px}.bottom-sheet .menu__item{min-height:56px;font-size:1.05rem}@keyframes sheet-up{0%{transform:translateY(100%)}}.dialog{background:var(--surface);border-radius:var(--radius);padding:16px;width:min(560px,100%);max-height:90vh;overflow:auto;display:grid;gap:12px}.dialog__title{font-size:1.1rem}.picker__option{display:flex;gap:10px;align-items:center;padding:12px;min-height:52px;border-radius:10px;border:2px solid var(--border);font-weight:600;cursor:pointer}.picker__option input{width:24px;height:24px}.picker__option--on{border-color:var(--accumulated);background:var(--accumulated-bg)}.picker{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}.picker__player{display:flex;gap:10px;align-items:center;text-align:left;font:inherit;padding:12px;min-height:56px;border-radius:10px;border:1px solid var(--border);background:var(--dk-surface-2, #f8fafc);cursor:pointer}.picker__number{font-size:1.4rem;font-weight:800;min-width:2ch}.submit{display:grid}.scoreboard--live{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch}.scoreboard--live .clock{min-width:0;align-content:center}@media(max-width:759px){.scoreboard--live{gap:6px}.scoreboard--live h2{font-size:.95rem}.scoreboard--live .team__score{font-size:2.6rem}.scoreboard--live .clock{padding:10px 8px}.scoreboard--live .clock__time{font-size:1.8rem}.scoreboard--live .clock__period{font-size:.7rem}.scoreboard--live .live-team{padding:10px 6px}}.actions .btn--more{grid-column:span 2;font-size:1.4rem;line-height:1;min-height:44px}.team{position:relative}.menu__item{font:inherit;font-weight:600;min-height:48px;border-radius:8px;border:1px solid var(--border);background:var(--dk-surface-2, #f8fafc);cursor:pointer}.menu__item:disabled{opacity:.35;cursor:not-allowed}.menu__item--yellow{background:var(--yellow);border-color:var(--yellow)}.menu__item--red{background:var(--red);border-color:var(--red);color:#fff}.menu__item--goal{color:var(--goal)}.menu__item--miss{background:var(--dk-danger-bg, #fee2e2);border-color:var(--dk-danger-bg, #fca5a5);color:var(--dk-danger-fg, #991b1b)}.picker__options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.event__type--PenaltyMissed,.event__type--AccumulatedKickMissed{color:var(--dk-danger-fg, #991b1b)}.btn--small{min-height:36px;padding:6px 12px;font-size:.9rem}.share{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.share__url{overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.page__header--live{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.live-status{white-space:nowrap;font-size:.85rem;font-weight:600;padding:4px 10px;border-radius:999px;background:var(--dk-surface-3, #e2e8f0);color:var(--muted)}.live-status--live{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.live-status--live:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:#16a34a;margin-right:6px;animation:pulse 1.5s infinite}@keyframes pulse{50%{opacity:.3}}.scorer{font-size:.85rem;color:var(--muted)}.toasts{position:fixed;top:12px;left:50%;transform:translate(-50%);z-index:20;display:grid;gap:8px;width:min(420px,100vw - 24px)}.toast{display:grid;gap:2px;padding:12px 14px;border-radius:12px;color:#fff;box-shadow:0 10px 30px #0f172a40;cursor:pointer;animation:toast-in .25s ease-out}.toast__title{font-size:1.05rem}.toast__detail{font-size:.9rem;opacity:.95}.toast--goal{background:#16a34a}.toast--foul{background:#ea580c}.toast--miss{background:#dc2626}.toast--red{background:#b91c1c}.toast--yellow{background:var(--yellow);color:var(--text)}.toast--info{background:var(--dk-ink, var(--text))}@keyframes toast-in{0%{opacity:0;transform:translateY(-8px)}}.step{display:grid;gap:12px}.step__title{font-size:1.2rem}.field{display:grid;gap:6px}.field__label{font-weight:600}.field__input{font:inherit;font-size:1.1rem;padding:12px;min-height:52px;border-radius:10px;border:1px solid var(--border)}.field__input:focus{outline:2px solid var(--home);outline-offset:1px}.recorder{margin:0}.name-gate{display:grid;gap:12px;width:min(420px,100%);text-align:left}.viewer{display:flex;gap:4px;align-items:baseline;font-size:.9rem}.page__header--live{flex-wrap:wrap}.toast--comment{background:#1d4ed8}.comments h3{margin-bottom:8px}.comments__list{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px;max-height:360px;overflow-y:auto}.comment{background:var(--dk-surface-2, #f8fafc);border-radius:10px;padding:8px 10px;border:1px solid var(--border)}.comment--own{background:var(--dk-info-bg, #eff6ff);border-color:#bfdbfe}.comment__author{font-weight:700;margin-right:6px}.comment__time{color:var(--muted);font-size:.8rem}.comment__text{margin:2px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.comments__form{display:grid;gap:6px}.comments__input{resize:vertical;min-height:56px;font-size:1rem}.comments__actions{display:flex;justify-content:space-between;align-items:center}.comments__counter{font-size:.8rem}.comments__header{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px}.comments__header h3{margin:0}.comments-hidden{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap}html{--adm-bg: #f4f6fb;--adm-surface: #ffffff;--adm-surface-2: #f8f9fc;--adm-border: #e5e8f0;--adm-text: #0f172a;--adm-muted: #64748b;--adm-primary: #2563eb;--adm-primary-soft: #e8efff;--adm-radius: 16px;--adm-shadow: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 16px rgba(15, 23, 42, .04);--adm-shadow-hover: 0 2px 4px rgba(15, 23, 42, .06), 0 10px 28px rgba(15, 23, 42, .08);--mat-sys-primary: #2563eb;--mat-sys-on-primary: #ffffff;--mat-sys-primary-container: #e8efff;--mat-sys-on-primary-container: #1e3a8a;--mat-sys-secondary-container: #e8efff;--mat-sys-on-secondary-container: #1e3a8a;--mat-sys-surface: #ffffff;--mat-sys-surface-bright: #ffffff;--mat-sys-surface-container-lowest: #ffffff;--mat-sys-surface-container-low: #ffffff;--mat-sys-surface-container: #ffffff;--mat-sys-surface-container-high: #ffffff;--mat-sys-surface-container-highest: #f1f4f9;--mat-sys-surface-variant: #f1f4f9;--mat-sys-outline: #cbd2dd;--mat-sys-outline-variant: #e5e8f0;--mat-sys-on-surface-variant: #64748b;--mat-card-outlined-container-shape: var(--adm-radius);--mat-card-outlined-outline-color: var(--adm-border);--mat-dialog-container-shape: 24px;--mat-expansion-container-shape: 14px;--mat-form-field-outlined-container-shape: 12px;--mat-menu-container-shape: 12px;--mat-table-background-color: var(--adm-surface);--mat-tab-header-divider-color: var(--adm-border);--mat-tab-header-label-text-weight: 600;--mat-tab-header-active-label-text-color: var(--adm-primary);--mat-tab-header-active-ripple-color: var(--adm-primary);--mat-tab-header-active-focus-label-text-color: var(--adm-primary);--mat-tab-header-active-hover-label-text-color: var(--adm-primary);--mat-tab-header-active-focus-indicator-color: var(--adm-primary);--mat-tab-header-active-hover-indicator-color: var(--adm-primary);--mat-tab-header-active-indicator-color: var(--adm-primary);--mat-tab-header-active-indicator-height: 3px;--mat-tab-header-active-indicator-shape: 3px 3px 0 0}.admin-toolbar{position:sticky;top:0;z-index:5;gap:8px;height:64px;border-bottom:1px solid var(--adm-border);--mat-toolbar-container-background-color: rgba(255, 255, 255, .85);--mat-toolbar-container-text-color: var(--adm-text);-webkit-backdrop-filter:saturate(180%) blur(12px);backdrop-filter:saturate(180%) blur(12px)}.admin-brand{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none}.admin-brand__mark{width:36px;height:36px;border-radius:11px;display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#2563eb,#7c3aed);box-shadow:0 4px 12px #2563eb59}.admin-brand__mark .mat-icon{font-size:22px;width:22px;height:22px}.admin-brand__text{font-weight:800;font-size:1.1rem;letter-spacing:-.02em}.admin-brand__text span{color:var(--adm-muted);font-weight:600}.admin-user{--mat-button-text-label-text-color: var(--adm-text);padding-left:6px!important}.admin-user__avatar{width:32px;height:32px;border-radius:50%;display:inline-grid;place-items:center;margin-right:8px;background:var(--adm-primary-soft);color:var(--adm-primary);font-weight:700;font-size:.8rem}.admin-user__name{font-weight:600}@media(max-width:599px){.admin-user__name,.admin-brand__text span{display:none}}.user-menu__info{font-size:.85rem}.admin-container{height:calc(100vh - 64px);--mat-sidenav-content-background-color: var(--adm-bg);--mat-sidenav-container-background-color: var(--adm-surface);--mat-sidenav-container-width: 240px;--mat-sidenav-container-shape: 0;--mat-sidenav-container-divider-color: var(--adm-border)}.admin-nav{width:240px;border-right:1px solid var(--adm-border)!important}.admin-nav .mat-drawer-inner-container{display:flex;flex-direction:column;justify-content:space-between;padding:16px 12px}.admin-nav__list{display:grid;gap:4px}.admin-nav__label{font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--adm-muted);padding:4px 12px 8px}.admin-nav__item,.admin-nav__public{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;color:var(--dk-text, #334155);text-decoration:none;font-weight:600;font-size:.95rem;transition:background .15s,color .15s}.admin-nav__item:hover,.admin-nav__public:hover{background:var(--adm-surface-2);color:var(--adm-text)}.admin-nav__item .mat-icon,.admin-nav__public .mat-icon{color:var(--dk-muted, #94a3b8)}.admin-nav__item--active{background:var(--adm-primary-soft);color:var(--adm-primary)}.admin-nav__item--active .mat-icon{color:var(--adm-primary)}.admin-nav__public{font-weight:500;font-size:.9rem;border:1px dashed var(--adm-border)}.admin-nav__ext{margin-left:auto;font-size:16px;width:16px;height:16px}.admin-content{background:var(--adm-bg);min-height:100%}.admin-page{max-width:1160px;margin:0 auto;padding:28px 24px 64px;display:grid;gap:18px;grid-template-columns:minmax(0,1fr)}@media(max-width:599px){.admin-page{padding:18px 14px 48px}}.admin-page__header{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap}.admin-page__header h1{font-size:1.85rem;font-weight:800;letter-spacing:-.025em;display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-page__header p{margin:6px 0 0}.admin-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.admin-meta__item{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:999px;background:var(--adm-surface);border:1px solid var(--adm-border);color:#334155;font-size:.85rem;font-weight:500}.admin-meta__item .mat-icon{font-size:18px;width:18px;height:18px;color:var(--adm-muted)}.breadcrumbs{font-size:.85rem;color:var(--adm-muted);display:flex;gap:6px;align-items:center;flex-wrap:wrap}.breadcrumbs a{color:var(--adm-muted);text-decoration:none;font-weight:500}.breadcrumbs a:hover{color:var(--adm-primary)}.description{margin:0;color:var(--adm-muted);white-space:pre-wrap}.actions-inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.section-header{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:4px;flex-wrap:wrap}.section-header h2{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.section-header--small h3{font-size:1rem}.notice{margin:0;padding:12px 16px;border-radius:14px;background:#fff7e6;color:#7c4a03;border:1px solid var(--dk-warn-bg, #fde3b0);display:flex;gap:10px;align-items:center}.notice .mat-icon{color:var(--dk-warn-fg, #d97706)}.empty{color:var(--adm-muted);padding:16px 0}.search{width:min(420px,100%)}.toolbar-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap;justify-content:space-between}.oib-lookup{display:flex;gap:8px;align-items:center}.card-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.league-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;padding:18px;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);box-shadow:var(--adm-shadow);color:inherit;text-decoration:none;transition:box-shadow .2s,transform .2s,border-color .2s}.league-card:hover{box-shadow:var(--adm-shadow-hover);transform:translateY(-2px);border-color:var(--dk-info-bg, #c7d2fe)}.league-card__logo{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;overflow:hidden;background:linear-gradient(135deg,var(--dk-info-bg, #e0e7ff),var(--dk-info-bg, #f3e8ff));color:#4338ca;font-weight:800;font-size:1rem}.league-card__logo img{width:100%;height:100%;object-fit:contain;background:var(--dk-surface, #fff)}.league-card__body{display:grid;gap:4px;min-width:0}.league-card__name{font-weight:700;font-size:1.05rem;letter-spacing:-.01em}.league-card__place{color:var(--adm-muted);font-size:.85rem}.league-card__tags{display:flex;gap:6px;flex-wrap:wrap;margin-top:4px}.league-card__arrow{color:var(--dk-muted, #94a3b8)}.league-card:hover .league-card__arrow{color:var(--adm-primary)}.pill{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--dk-surface-2, #eef1f6);color:var(--dk-text, #334155)}.pill--on{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.pill--warn{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #991b1b)}.status{font-size:.78rem;font-weight:700;padding:4px 12px;border-radius:999px;background:var(--dk-surface-2, #eef1f6);color:var(--dk-text, #334155);letter-spacing:0}.status--Draft{background:var(--dk-info-bg, #e0f2fe);color:var(--dk-info-fg, #075985)}.status--Active{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.status--Finished{background:var(--dk-surface-2, #f1f5f9);color:var(--dk-muted, #475569)}.status--Archived{background:var(--dk-info-bg, #f3e8ff);color:#6b21a8}.admin-table{width:100%;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);overflow:hidden;box-shadow:var(--adm-shadow);border-collapse:separate}.admin-table th.mat-mdc-header-cell{background:var(--adm-surface-2);color:var(--adm-muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.admin-table tr.mat-mdc-row:last-child td{border-bottom:0}.admin-table a{color:var(--adm-primary);text-decoration:none;font-weight:600}.row--link{cursor:pointer}.row--link:hover{background:var(--adm-surface-2)}.cell--actions{text-align:right;white-space:nowrap}.tab-body{padding:20px 0 8px;display:grid;gap:16px}.tab-actions{display:flex;justify-content:flex-end}.mat-expansion-panel{box-shadow:none!important;border:1px solid var(--adm-border)}.mat-accordion .mat-expansion-panel{margin-bottom:8px;border-radius:14px!important}.dialog-form{display:grid;gap:8px;min-width:min(480px,80vw)}.mat-mdc-dialog-content>.dialog-form,.mat-mdc-dialog-content.dialog-form{padding-top:8px!important}.dialog-form mat-form-field{width:100%}.dialog-section{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--adm-muted);margin:14px 0 6px}.form-row{display:flex;gap:12px;flex-wrap:wrap;align-items:center}.form-row>mat-form-field{flex:1 1 140px;width:auto}.form-row>.grow{flex:2 1 220px}.form-error{margin:4px 0 0;padding:10px 12px;border-radius:12px;background:var(--dk-danger-bg, #fef2f2);color:var(--dk-danger-fg, #991b1b);border:1px solid var(--dk-danger-bg, #fecaca)}.button--danger{--mat-button-filled-container-color: #dc2626;--mat-button-filled-label-text-color: #fff}.snack--error{--mat-snack-bar-container-color: #7f1d1d}.auth-page{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:radial-gradient(1200px 600px at 10% -10%,rgba(37,99,235,.18),transparent 60%),radial-gradient(900px 500px at 110% 110%,rgba(124,58,237,.16),transparent 60%),var(--adm-bg)}.auth-card{width:min(440px,100%);padding:12px 8px 4px;box-shadow:0 20px 60px #0f172a1f!important;border:0!important;border-radius:24px!important}.auth-card .mat-mdc-card-title{font-size:1.6rem;font-weight:800;letter-spacing:-.02em}.auth-card__brand{display:flex;justify-content:center;margin-bottom:8px}.auth-card__actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between;padding:8px 16px 16px!important}.auth-card .dialog-form{min-width:0}.facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:10px 16px;margin:0 0 12px}.facts dt{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--adm-muted)}.facts dd{margin:2px 0 0}.club-season{display:grid;gap:12px}.roster{list-style:none;margin:0;padding:0;display:grid;gap:6px}.roster__row{display:flex;align-items:center;gap:12px;padding:6px 10px;border-radius:12px;background:var(--adm-surface-2);border:1px solid var(--adm-border);min-height:46px;flex-wrap:wrap}.roster__row--inactive{opacity:.6}.roster__number{font-weight:800;min-width:2.5ch;text-align:right;color:var(--adm-primary)}.roster__name{flex:1;font-weight:500}.roster__name a{color:var(--adm-text)}.roster__actions{display:flex}.pick-list{max-height:260px;overflow-y:auto;border:1px solid var(--adm-border);border-radius:12px}.pick-list__empty{padding:12px}.found{margin:0}.adm-toolbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:12px;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);box-shadow:var(--adm-shadow)}.adm-toolbar__filter{width:260px;max-width:100%}.adm-toolbar,.search,.oib-lookup{--mat-form-field-container-height: 44px;--mat-form-field-container-vertical-padding: 10px;--mat-form-field-outlined-label-text-populated-size: .75rem}@media(max-width:599px){.adm-toolbar__filter{width:100%}.adm-toolbar>.actions-inline{width:100%}.adm-toolbar>.actions-inline>button:not([mat-icon-button]){flex:1 1 auto;white-space:nowrap}}.adm-round{display:grid;gap:8px}.adm-round__header{display:flex;align-items:baseline;justify-content:space-between;padding:6px 4px 0}.adm-round__header h3{font-size:1rem;font-weight:800;letter-spacing:-.01em}.adm-round__meta{font-size:.8rem;color:var(--adm-muted);font-weight:500}.adm-match-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.adm-match{display:grid;grid-template-columns:76px minmax(0,1fr) auto;gap:16px;align-items:center;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);padding:12px;box-shadow:var(--adm-shadow);transition:box-shadow .2s,border-color .2s}.adm-match:hover{box-shadow:var(--adm-shadow-hover)}.adm-match--attention{border-color:var(--dk-warn-bg, #fdba74);background:linear-gradient(90deg,var(--dk-warn-bg, #fff7ed),var(--adm-surface) 40%)}.adm-match__date{display:grid;justify-items:center;align-content:center;gap:1px;padding:8px 4px;border-radius:12px;background:var(--adm-primary-soft);color:var(--adm-primary);text-align:center;min-height:72px}.adm-match__date--empty{background:var(--adm-surface-2);color:var(--adm-muted)}.adm-match__weekday{font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.adm-match__day{font-size:1.05rem;font-weight:800;letter-spacing:-.02em;color:var(--adm-text)}.adm-match__time{font-size:.8rem;font-weight:600}.adm-match__body{display:grid;gap:8px;min-width:0}.adm-match__teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px}.adm-match__team{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700;font-size:1rem}.adm-match__team--home{justify-content:flex-end;text-align:right}.adm-match__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-avatar{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--dk-info-bg, #eef2ff);color:#3730a3;font-size:.75rem;font-weight:800;letter-spacing:.02em}.adm-avatar--away{background:var(--dk-danger-bg, #fdf2f8);color:#9d174d}.adm-match__score{min-width:64px;text-align:center;padding:6px 10px;border-radius:10px;font-variant-numeric:tabular-nums;background:var(--adm-surface-2);border:1px solid var(--adm-border);color:var(--adm-muted);font-weight:700;font-size:.85rem}.adm-match__score--final{background:var(--adm-text);border-color:var(--adm-text);color:#fff;font-size:1.1rem}.adm-match__meta{display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;justify-content:center}.adm-match__venue{display:inline-flex;align-items:center;gap:4px;color:var(--adm-muted);font-size:.82rem;margin-right:4px}.adm-match__venue .mat-icon{font-size:16px;width:16px;height:16px}.adm-match__actions{display:flex;align-items:center;gap:4px}.adm-chip{font-size:.72rem;font-weight:700;padding:3px 10px;border-radius:999px;background:var(--dk-surface-2, #eef1f6);color:var(--dk-text, #334155);white-space:nowrap}.adm-chip--Played,.adm-chip--Forfeited{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.adm-chip--Postponed{background:var(--dk-warn-bg, #fef3c7);color:var(--dk-warn-fg, #92400e)}.adm-chip--Cancelled{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #991b1b)}.adm-chip--sheet-Open{background:var(--dk-info-bg, #e0f2fe);color:var(--dk-info-fg, #075985)}.adm-chip--sheet-Submitted{background:#f97316;color:#fff}.adm-chip--sheet-Confirmed{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}@media(max-width:719px){.adm-match{grid-template-columns:64px minmax(0,1fr) auto;gap:10px;padding:10px}.adm-match__teams{grid-template-columns:minmax(0,1fr);gap:6px}.adm-match__team--home{justify-content:flex-end;text-align:left;flex-direction:row-reverse}.adm-match__score{justify-self:start;min-width:0}.adm-match__meta{justify-content:flex-start}}.adm-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:48px 16px;background:var(--adm-surface);border:1px dashed var(--dk-surface-3, #cbd5e1);border-radius:var(--adm-radius);color:var(--adm-muted)}.adm-empty>.mat-icon{font-size:40px;width:40px;height:40px;color:var(--dk-muted, #94a3b8)}.adm-empty h3{color:var(--adm-text);font-size:1.1rem}.adm-empty p{margin:0 0 8px}.score-row{align-items:baseline}.score-row__sep{font-size:1.5rem;font-weight:800}.schedule-dialog{min-width:0}.schedule-preview{max-height:320px;overflow-y:auto;border:1px solid var(--adm-border);border-radius:12px;padding:10px 14px;background:var(--adm-surface-2)}.schedule-preview__round ul{margin:4px 0 10px;padding-left:18px}.standings td,.standings th{text-align:center}.standings td:nth-child(2),.standings th:nth-child(2){text-align:left}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap}.portal,.news-page,.live-page,.settings-page{overflow-x:clip}.name-gate--inline{width:auto}.portal-header{background:#0f172a;color:#fff}.portal-header__inner{max-width:1100px;margin:0 auto;padding:14px 16px 6px;display:flex;align-items:center;gap:12px}.portal-header__home{color:#cbd5e1;text-decoration:none;font-size:1.3rem}.portal-header__logo{width:40px;height:40px;object-fit:contain;border-radius:8px;background:var(--dk-surface, #fff)}.portal-header__title{flex:1;min-width:0}.portal-header__title p{margin:2px 0 0;color:var(--dk-muted, #94a3b8);font-size:.9rem}.portal-season select,.portal-field select{font:inherit;padding:6px 10px;border-radius:8px;border:1px solid var(--border);background:var(--surface);color:var(--text);max-width:100%}.portal-tabs{max-width:1100px;margin:0 auto;padding:0 8px;display:flex;overflow-x:auto;scrollbar-width:none}.portal-tabs__tab{color:#cbd5e1;text-decoration:none;padding:10px 12px;white-space:nowrap;border-bottom:3px solid transparent;font-size:.95rem}.portal-tabs__tab--active{color:#fff;border-bottom-color:#38bdf8;font-weight:600}.portal{padding-top:16px}.portal-description{margin:0;color:var(--muted)}.portal-overview{display:grid;gap:12px;grid-template-columns:minmax(0,1fr)}@media(min-width:900px){.portal-overview{grid-template-columns:minmax(0,3fr) minmax(0,2fr);align-items:start}}.portal-overview__main,.portal-overview__side{display:grid;gap:12px;min-width:0}.portal-section{display:grid;gap:6px}.portal-section__title{font-size:1.05rem;display:flex;align-items:center;gap:8px;margin-bottom:4px}.portal-section__more{justify-self:start;margin-top:4px;font-size:.9rem}.portal-round{margin:12px 0 2px;color:var(--muted);font-size:.9rem}.portal-filters{display:flex;flex-wrap:wrap;gap:12px}.portal-field{display:grid;gap:4px;font-size:.85rem;color:var(--muted)}.live-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#dc2626;animation:pulse 1.5s infinite;vertical-align:middle;margin-left:2px}.live-clock{color:var(--dk-danger-fg, #dc2626);font-weight:600;font-variant-numeric:tabular-nums}.match-row{display:grid;grid-template-columns:110px minmax(0,1fr) 64px minmax(0,1fr);grid-template-areas:"when home score away" "when note note note";align-items:center;column-gap:10px;padding:8px 6px;color:inherit;text-decoration:none}app-match-row+app-match-row .match-row{border-top:1px solid var(--border)}.match-row:hover{background:var(--dk-surface-2, #f8fafc)}.match-row--live{background:var(--dk-danger-bg, #fef2f2)}.match-row__when{grid-area:when;display:grid;font-size:.8rem;line-height:1.3}.match-row--live .match-row__when{display:block;color:var(--dk-danger-fg, #dc2626);font-weight:700}.match-row__team{grid-area:away;font-weight:500;overflow-wrap:anywhere}.match-row__team--home{grid-area:home;text-align:right}.match-row__team--winner{font-weight:700}.match-row__score{grid-area:score;text-align:center;font-weight:700;font-size:1.05rem;font-variant-numeric:tabular-nums;background:var(--dk-surface-2, #f1f5f9);border-radius:6px;padding:2px 0}.match-row--live .match-row__score{background:#dc2626;color:#fff}.match-row__score--pending{color:var(--muted);font-weight:400}.match-row__note{grid-area:note;text-align:center;font-size:.8rem}.match-row__note:empty{display:none}@media(max-width:520px){.match-row{grid-template-columns:minmax(0,1fr) 56px minmax(0,1fr);grid-template-areas:"when when when" "home score away" "note note note";row-gap:4px}.match-row__when{display:flex;gap:6px;justify-content:center}}.portal-scroll{overflow-x:auto}.portal-table{width:100%;border-collapse:collapse;font-size:.92rem;font-variant-numeric:tabular-nums}.portal-table th,.portal-table td{padding:7px 6px;text-align:center;border-bottom:1px solid var(--border);white-space:nowrap}.portal-table th{color:var(--muted);font-weight:600;font-size:.8rem}.portal-table .portal-table__name{text-align:left;white-space:normal;min-width:120px}.portal-table--compact .portal-table__name{min-width:0}.portal-table__form{text-align:left}.portal-table__row--inactive{color:var(--muted)}.form-dot{display:inline-grid;place-items:center;width:20px;height:20px;margin-right:2px;border-radius:4px;color:#fff;font-size:.7rem;font-weight:700}.form-dot--W{background:#16a34a}.form-dot--D{background:#94a3b8}.form-dot--L{background:#dc2626}.portal-scorer{display:flex;gap:8px;align-items:center;padding:6px 0;border-top:1px solid var(--border)}.portal-scorer__rank{width:24px;color:var(--muted)}.portal-scorer__name{flex:1;display:grid;min-width:0}.portal-scorer__name .muted{font-size:.8rem}.portal-clubs{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(min(260px,100%),1fr))}.portal-club-card{display:flex;gap:12px;align-items:center;color:inherit;text-decoration:none}.portal-club-card:hover{border-color:var(--dk-border-strong, #94a3b8)}.portal-club-card>span{display:grid;gap:2px;min-width:0}.portal-club__head{display:flex;gap:12px;align-items:center}.portal-club__head p{margin:4px 0 0}.portal-club__logo{width:48px;height:48px;object-fit:contain;flex:none}.portal-player__photo{width:72px;height:72px;object-fit:cover;border-radius:50%;flex:none}.portal-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:4px 12px;margin:8px 0 0;font-size:.92rem}.portal-facts dt{color:var(--muted)}.portal-facts dd{margin:0}.portal-home{max-width:900px}.portal-table a.link,.portal-scorer a.link{text-decoration:none;color:inherit;font-weight:500}.portal-table a.link:hover,.portal-scorer a.link:hover{text-decoration:underline}.player-season{width:min(640px,100%);text-align:left;align-content:start}.player-season__header{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.player-season__header p{margin:2px 0 0}.icon-btn{background:none;border:0;font-size:1.1rem;cursor:pointer;width:36px;height:36px;border-radius:50%;color:var(--muted)}.icon-btn:hover{background:var(--bg)}.player-season__totals{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--bg)}.player-season__totals>span{display:inline-flex;align-items:center;gap:4px}.player-season__list{list-style:none;margin:0;padding:0}.player-season__list li+li{border-top:1px solid var(--border)}.player-match{display:grid;grid-template-columns:90px minmax(0,1fr);grid-template-areas:"when teams" "when events";gap:4px 12px;padding:8px 4px;color:inherit;text-decoration:none;border-radius:8px}.player-match:hover{background:var(--dk-surface-2, #f8fafc)}.player-match--absent{color:var(--dk-muted, #94a3b8)}.player-match--absent .player-match__score{background:var(--dk-surface-2, #f1f5f9);color:var(--dk-muted, #94a3b8)}.player-match__when{grid-area:when;display:grid;align-content:center;font-size:.8rem}.player-match__teams{grid-area:teams;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px}.player-match__own{font-weight:700}.player-match__score{font-weight:700;font-variant-numeric:tabular-nums;padding:1px 8px;border-radius:6px;background:var(--dk-surface-2, #f1f5f9)}.player-match__score--W{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.player-match__score--L{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #991b1b)}.player-match__events{grid-area:events;display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:22px;font-size:.85rem}.player-season .card-icon{min-width:13px;width:13px;height:18px;padding:0;vertical-align:middle}.event-icon small{font-size:.65rem;margin-left:1px}.miss-icon{display:inline-grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid var(--red);color:var(--red);font-size:.65rem;font-weight:800;text-decoration:line-through;text-decoration-thickness:2px;vertical-align:middle}.player-season__legend{line-height:1.8}@media(max-width:520px){.player-match{grid-template-columns:minmax(0,1fr);grid-template-areas:"when" "teams" "events"}.player-match__when{display:flex;gap:8px}}.fouls-panel{display:grid;gap:4px}.fouls--past{opacity:.55}.fouls-panel__title{font-size:.8rem;font-weight:600;color:var(--muted);text-align:center;margin:4px 0 0}.fouls-panel .fouls__label{color:var(--muted)}.fouls--compact{gap:4px 10px}.fouls__half{white-space:nowrap}.fouls__half--limit strong{color:var(--accumulated)}.event__note{color:var(--muted);font-size:.9em}.event__wall{margin-left:auto;font-variant-numeric:tabular-nums;color:var(--muted);font-size:.8rem}.event__badge--pause{background:var(--dk-surface-3, #e2e8f0);color:var(--text)}.event__wall+.event__undo{margin-left:0}.clock__time--button{font:inherit;font-size:3.2rem;font-weight:800;font-variant-numeric:tabular-nums;color:inherit;background:none;border:0;border-radius:12px;padding:0 8px;cursor:pointer;text-decoration:underline dotted rgba(255,255,255,.35);text-underline-offset:8px}.clock__time--button:hover,.clock__time--button:focus-visible{background:#ffffff14}.clock--running .clock__time--button{color:#4ade80}.menu__item{display:grid;justify-items:center;align-content:center;gap:2px}.menu__hint{font-weight:400;font-size:.8rem;color:var(--muted)}.clock-set{display:flex;align-items:flex-end;justify-content:center;gap:8px}.clock-set__input{width:96px;font-size:1.8rem;font-weight:700;text-align:center;font-variant-numeric:tabular-nums}.clock-set__sep{font-size:2rem;font-weight:800;padding-bottom:8px}.adm-section{display:grid;gap:10px;margin-top:8px}.adm-section .section-header p{margin:4px 0 0;font-size:.9rem}.adm-adjustments{list-style:none;margin:0;padding:0;display:grid;gap:8px}.adm-adjustment{display:flex;align-items:center;gap:14px;padding:10px 8px 10px 12px;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:14px;box-shadow:var(--adm-shadow)}.adm-adjustment__points{flex:none;min-width:52px;text-align:center;padding:6px 10px;border-radius:10px;background:var(--dk-success-bg, #dcfce7);color:#166534;font-weight:800;font-variant-numeric:tabular-nums}.adm-adjustment__points--minus{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #991b1b)}.adm-adjustment__body{flex:1;display:grid;gap:2px;min-width:0}.adm-adjustment__body .muted{font-size:.85rem;overflow-wrap:anywhere}.adm-toolbar__search{flex:1 1 260px;max-width:420px}.adm-toolbar--start{justify-content:flex-start}.club-cell{display:flex;align-items:center;gap:12px;padding:6px 0}.club-cell .adm-avatar{overflow:hidden}.club-cell .adm-avatar img{width:100%;height:100%;object-fit:contain;background:var(--dk-surface, #fff)}.club-cell__text{display:grid;gap:2px;min-width:0}.club-cell__text .muted{font-size:.82rem}.clubs-table td.mat-mdc-cell{padding-top:6px;padding-bottom:6px}@media(max-width:719px){.clubs-table .mat-column-contact,.clubs-table .mat-column-seasons{display:none}.clubs-table .mat-mdc-cell,.clubs-table .mat-mdc-header-cell{padding-left:10px;padding-right:6px}}.menu-caption{font-size:.8rem}.admin-nav__groups{display:grid;gap:18px;align-content:start;min-height:0;overflow-y:auto}.admin-nav__item--season{padding-top:8px;padding-bottom:8px}.admin-nav__dot{flex:none;width:8px;height:8px;margin:0 8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px #dcfce7}.admin-nav__season{display:grid;min-width:0;line-height:1.25}.admin-nav__season>span,.admin-nav__season small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-nav__season small{font-size:.75rem;font-weight:500;color:var(--adm-muted)}.admin-nav__item--active .admin-nav__season small{color:var(--adm-primary);opacity:.8}.portal-section__intro{margin:-4px 0 6px;font-size:.85rem}.portal-table__row--top td:first-child{font-weight:800;color:#b45309}.portal-table .col-narrow{display:none}@media(max-width:599px){:is(.portal-table--history,.portal-table--compact) .col-wide{display:none}:is(.portal-table--history,.portal-table--compact) .col-narrow{display:block;font-size:.78rem}}.admin-nav__count{color:var(--adm-muted);font-weight:600}.admin-nav__count--alert{color:var(--dk-warn-fg, #ea580c);font-weight:800}.sheet-context{font-size:.78rem;font-weight:600;color:var(--adm-muted);text-decoration:none;justify-self:center}.sheet-context:hover{color:var(--adm-primary)}@media(max-width:719px){.sheet-context{justify-self:start}}.portal-filters--table{align-items:flex-end}.portal-round-nav{display:inline-flex;align-items:center;gap:8px;font-size:.9rem}.portal-round-nav__btn{width:32px;height:32px;border-radius:8px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:1.1rem;cursor:pointer}.portal-round-nav__btn:disabled{opacity:.4;cursor:default}.portal-table .portal-table__move{width:28px;padding-left:0;padding-right:0}.move{font-size:.7rem;font-weight:700;white-space:nowrap}.move--up{color:var(--dk-success-fg, #15803d)}.move--down{color:var(--dk-danger-fg, #b91c1c)}.portal-table__row--highlight td{background:var(--dk-info-bg, #eff6ff)}.portal-chart-header{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;flex-wrap:wrap}.pos-chart{margin:0}.pos-chart__plot{position:relative}.pos-chart svg{display:block;width:100%;height:auto;touch-action:pan-y;font-family:inherit}.pos-chart__grid{stroke:#eef1f6;stroke-width:1}.pos-chart__axis{fill:var(--muted);font-size:12px;font-variant-numeric:tabular-nums}.pos-chart__axis--caption{font-size:11px}.pos-chart__crosshair{stroke:var(--dk-muted, #94a3b8);stroke-width:1;stroke-dasharray:3 3}.pos-chart__line{fill:none;stroke:#cbd5e1;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.pos-chart__line--active{stroke:var(--dk-info-fg, #2a78d6);stroke-width:3}.pos-chart__hit{fill:none;stroke:transparent;stroke-width:14;cursor:pointer}.pos-chart__dot{fill:var(--dk-info-fg, #2a78d6);stroke:var(--surface);stroke-width:2}.pos-chart__label{fill:var(--muted);font-size:12.5px;cursor:pointer}.pos-chart__label--active{fill:var(--text);font-weight:700;cursor:default}.pos-chart__tooltip{position:absolute;top:0;transform:translate(12px);display:grid;gap:3px;min-width:190px;padding:8px 10px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px #0f172a1f;font-size:.8rem;pointer-events:none;z-index:2}.pos-chart__tooltip--flip{transform:translate(calc(-100% - 12px))}.pos-chart__row{display:grid;grid-template-columns:14px minmax(0,1fr) auto;gap:6px;align-items:center;color:var(--muted)}.pos-chart__row--active{color:var(--text);font-weight:700}.pos-chart__key{width:12px;height:2px;background:var(--dk-surface-3, #cbd5e1);border-radius:1px}.pos-chart__key--active{height:3px;background:#2a78d6}.pos-chart__pts{font-variant-numeric:tabular-nums}app-position-chart{display:block;min-width:0}a.form-dot{text-decoration:none;cursor:pointer}a.form-dot:hover,a.form-dot:focus-visible{outline:2px solid var(--text);outline-offset:1px}.form-tip{position:fixed;z-index:20;transform:translateY(-100%) translate(-100%);margin-left:4px;display:grid;gap:3px;min-width:200px;max-width:min(320px,100vw - 24px);padding:8px 12px;border-radius:10px;background:var(--surface);border:1px solid var(--border);box-shadow:0 8px 24px #0f172a24;font-size:.82rem;pointer-events:none;text-align:left}.form-tip--below{transform:translate(-100%)}.form-tip__result{font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.form-tip__result--W{color:var(--dk-success-fg, #15803d)}.form-tip__result--D{color:var(--dk-muted, #64748b)}.form-tip__result--L{color:var(--dk-danger-fg, #b91c1c)}.form-tip__score{display:flex;flex-wrap:wrap;gap:6px;align-items:baseline}.form-tip__own{font-weight:700}.adm-news-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}.adm-news{display:flex;align-items:center;gap:14px;padding:14px 16px;color:inherit;text-decoration:none;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);box-shadow:var(--adm-shadow);transition:box-shadow .2s,border-color .2s}.adm-news:hover{box-shadow:var(--adm-shadow-hover);border-color:var(--dk-info-bg, #c7d2fe)}.adm-news__main{flex:1;display:grid;gap:4px;min-width:0}.adm-news__title{font-weight:700;font-size:1.02rem;display:flex;align-items:center;gap:6px}.adm-news__pin{font-size:18px;width:18px;height:18px;color:var(--dk-warn-fg, #d97706)}.adm-news__summary{color:var(--adm-muted);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.adm-news__meta{display:flex;flex-wrap:wrap;gap:6px;align-items:center;color:var(--adm-muted);font-size:.82rem}.adm-news__comments{display:inline-flex;align-items:center;gap:4px;color:var(--adm-muted);font-weight:600;font-size:.85rem}.adm-news__comments .mat-icon{font-size:18px;width:18px;height:18px}.adm-chip--news-draft{background:var(--dk-surface-2, #eef1f6);color:var(--dk-text, #334155)}.adm-chip--news-scheduled{background:var(--dk-warn-bg, #fef3c7);color:var(--dk-warn-fg, #92400e)}.adm-chip--news-published{background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534)}.news-form{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:18px;align-items:start}@media(max-width:899px){.news-form{grid-template-columns:minmax(0,1fr)}}.news-form__main{display:grid;gap:8px;min-width:0}.news-form__main>mat-form-field{width:100%}.news-form__side{display:grid;gap:12px}.news-form__radios{display:grid;gap:2px;margin-bottom:6px}.news-form__side mat-form-field{width:100%}.news-form__delete{justify-self:start;--mat-button-text-label-text-color: #b91c1c}.adm-panel{display:grid;gap:8px;padding:14px 16px;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:var(--adm-radius);box-shadow:var(--adm-shadow)}.adm-panel h3{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--adm-muted)}.adm-comment{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;background:var(--adm-surface);border:1px solid var(--adm-border);border-radius:12px}.adm-comment__body{flex:1;min-width:0;font-size:.92rem}.adm-comment__body p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.news-editor{border:1px solid var(--adm-border, var(--dk-border, #e5e8f0));border-radius:12px;background:#fff;overflow:hidden;--ngx-editor-border-radius: 0;--ngx-editor-border-color: transparent;--ngx-editor-menubar-bg-color: #f8f9fc;--ngx-editor-menu-item-active-color: #2563eb;--ngx-editor-menu-item-active-bg-color: #e8efff;--ngx-editor-placeholder-color: #94a3b8}.news-editor .NgxEditor__MenuBar{border-bottom:1px solid var(--adm-border, var(--dk-border, #e5e8f0));padding:6px;flex-wrap:wrap;gap:2px}.news-editor .NgxEditor{border:0;min-height:320px}.news-editor .NgxEditor .ProseMirror{padding:14px 18px;min-height:300px;font-size:1rem;line-height:1.6}.news-editor .NgxEditor .ProseMirror:focus{outline:none}.news-editor:focus-within{border-color:#93b4f5;box-shadow:0 0 0 3px #2563eb1f}.news-preview{padding:22px 26px;background:var(--dk-surface, #fff);border:1px solid var(--adm-border);border-radius:var(--adm-radius)}.news-preview h2{font-size:1.6rem;font-weight:800;letter-spacing:-.02em;margin-bottom:6px}.news-preview__summary{font-size:1.05rem;color:var(--adm-muted);margin:0 0 14px}.news-content{line-height:1.7;font-size:1.02rem;overflow-wrap:anywhere}.news-content h1,.news-content h2,.news-content h3,.news-content h4{margin:1.2em 0 .4em;line-height:1.3}.news-content h2{font-size:1.3rem}.news-content h3{font-size:1.1rem}.news-content p{margin:0 0 .9em}.news-content ul,.news-content ol{padding-left:1.4em;margin:0 0 .9em}.news-content blockquote{margin:0 0 .9em;padding:6px 14px;border-left:4px solid var(--dk-border-strong, #cbd5e1);color:var(--dk-muted, #475569);background:var(--dk-surface-2, #f8fafc);border-radius:0 8px 8px 0}.news-content a{color:var(--dk-info-fg, #2563eb)}.news-content hr{border:0;border-top:1px solid var(--dk-border, #e2e8f0);margin:1.4em 0}.news-content pre{background:#0f172a;color:#e2e8f0;padding:10px 14px;border-radius:8px;overflow-x:auto}.news-list{display:grid;gap:12px}.news-card{display:grid;gap:6px;color:inherit;text-decoration:none;padding:16px 18px;transition:border-color .15s,box-shadow .15s}.news-card:hover{border-color:var(--dk-border-strong, #94a3b8);box-shadow:0 4px 16px #0f172a0f}.news-card__meta,.news-article__meta{display:flex;flex-wrap:wrap;gap:8px;align-items:center;color:var(--muted);font-size:.82rem;margin:0}.news-card__title{font-size:1.15rem;font-weight:700;letter-spacing:-.01em}.news-card__summary{color:var(--dk-muted, #475569)}.news-card__footer{display:flex;justify-content:space-between;font-size:.85rem;color:var(--dk-info-fg, #2563eb);font-weight:600}.news-pin{display:inline-block;padding:1px 8px;border-radius:999px;background:var(--dk-warn-bg, #fef3c7);color:var(--dk-warn-fg, #92400e);font-size:.72rem;font-weight:700}.news-more{justify-self:center}.news-row{display:grid;gap:2px;padding:8px 0;border-top:1px solid var(--border);color:inherit;text-decoration:none}.news-row:hover .news-row__title{color:var(--dk-info-fg, #2563eb)}.news-row__title{font-weight:600}.news-row__meta{font-size:.8rem}.news-page{max-width:820px}.news-article{padding:22px 26px}@media(max-width:599px){.news-article{padding:16px}}.news-article__title{font-size:1.8rem;font-weight:800;letter-spacing:-.02em;line-height:1.2;margin:8px 0}.news-article__summary{font-size:1.1rem;color:var(--dk-muted, #475569);margin:0 0 16px}.news-article__share{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--border)}.news-comments .comments__list{max-height:none}.comments__as{margin:0;font-size:.85rem}.news-article__share a.btn{text-decoration:none;display:inline-flex;align-items:center}.home-clubs{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:thin}.home-club{flex:none;display:flex;align-items:center;gap:8px;padding:6px 12px 6px 6px;border-radius:999px;background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none;font-size:.85rem;font-weight:600;transition:border-color .15s}.home-club:hover{border-color:var(--dk-border-strong, #94a3b8)}.home-club__badge{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;overflow:hidden;background:var(--dk-info-bg, #eef2ff);color:var(--dk-info-fg, #3730a3);font-size:.68rem;font-weight:800}.home-club__badge img{width:100%;height:100%;object-fit:contain;background:var(--dk-surface, #fff)}.home-club__name{white-space:nowrap}.home-hero{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(0,1fr);gap:12px}@media(max-width:799px){.home-hero{grid-template-columns:minmax(0,1fr)}}.home-lead{position:relative;display:grid;align-content:end;gap:10px;min-height:300px;padding:28px;border-radius:16px;color:#fff;text-decoration:none;overflow:hidden;background:radial-gradient(600px 300px at 100% 0%,rgba(56,189,248,.35),transparent 60%),radial-gradient(500px 300px at 0% 100%,rgba(124,58,237,.45),transparent 60%),linear-gradient(135deg,#0f172a,#1e3a8a);box-shadow:0 10px 30px #0f172a2e}.home-lead:after{content:"\26bd";position:absolute;right:-20px;top:-30px;font-size:180px;opacity:.07;transform:rotate(-15deg);pointer-events:none}.home-lead:hover .home-lead__title{text-decoration:underline;text-underline-offset:4px}.home-lead__kicker{display:flex;gap:10px;align-items:center;font-size:.82rem;color:#cbd5e1}.home-lead__tag{padding:2px 10px;border-radius:999px;background:#38bdf8;color:var(--dk-text, #0f172a);font-weight:800;font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.home-lead__title{font-size:clamp(1.5rem,3.2vw,2.3rem);font-weight:800;line-height:1.15;letter-spacing:-.02em}.home-lead__summary{font-size:1.05rem;color:#e2e8f0;max-width:60ch}.home-lead__more{display:flex;justify-content:space-between;font-weight:700;color:#7dd3fc}.home-lead__comments{color:#cbd5e1;font-weight:500}.home-hero__side{display:grid;align-content:start;gap:10px}.home-side-news{display:grid;gap:4px;padding:14px 16px;background:var(--surface);border:1px solid var(--border);border-left:4px solid #2563eb;border-radius:12px;color:inherit;text-decoration:none;transition:border-color .15s,box-shadow .15s}.home-side-news:hover{box-shadow:0 4px 16px #0f172a14}.home-side-news__date,.home-news__date{font-size:.78rem;color:var(--muted)}.home-side-news__title{font-weight:700;line-height:1.3}.home-archive-link{justify-self:end;font-weight:700;color:var(--dk-info-fg, #2563eb);text-decoration:none;font-size:.9rem}.home-archive-link:hover{text-decoration:underline}.home-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:12px;align-items:start}@media(max-width:899px){.home-grid{grid-template-columns:minmax(0,1fr)}}.home-round__head{display:flex;align-items:center;justify-content:space-between;gap:8px}.home-round__head .portal-section__title{margin:0}.home-news__item{display:grid;gap:2px;padding:10px 0;border-top:1px solid var(--border);color:inherit;text-decoration:none}.home-news__item:hover .home-news__title{color:var(--dk-info-fg, #2563eb)}.home-news__title{font-weight:700}.home-news__summary{font-size:.88rem;color:var(--dk-muted, #475569)}.home-quick{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.home-quick__tile{display:flex;align-items:center;gap:12px;padding:14px;border-radius:12px;background:var(--surface);border:1px solid var(--border);color:inherit;text-decoration:none;transition:border-color .15s,transform .15s}.home-quick__tile:hover{border-color:var(--dk-border-strong, #94a3b8);transform:translateY(-1px)}.home-quick__icon{font-size:1.5rem}.home-quick__text{display:grid;font-size:.85rem}.home-quick__text span{color:var(--muted);font-size:.78rem}.home-section-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.home-side-news__date{display:flex;justify-content:space-between;gap:8px}.home-side-news__comments{font-weight:600;color:var(--dk-muted, #475569);white-space:nowrap}.portal-adjustments ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}.portal-adjustments li{display:flex;gap:12px;align-items:flex-start}.portal-adjustments__points{flex:none;min-width:44px;text-align:center;padding:3px 8px;border-radius:8px;background:var(--dk-success-bg, #dcfce7);color:var(--dk-success-fg, #166534);font-weight:800;font-variant-numeric:tabular-nums}.portal-adjustments__points--minus{background:var(--dk-danger-bg, #fee2e2);color:var(--dk-danger-fg, #991b1b)}.portal-adjustments__reason{display:block;color:var(--dk-muted, #475569);font-size:.9rem;overflow-wrap:anywhere}.news-page{max-width:1100px}.news-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:16px;align-items:start}@media(max-width:899px){.news-layout{grid-template-columns:minmax(0,1fr)}}.news-layout__main,.news-layout__side{display:grid;gap:12px;min-width:0}@media(min-width:900px){.news-layout__side{position:sticky;top:12px}}.side-season{font-size:.8rem;font-weight:500}.side-match{display:grid;gap:3px;padding:8px 0;border-top:1px solid var(--border);color:inherit;text-decoration:none}.side-match:hover .side-match__teams{color:var(--dk-info-fg, #2563eb)}.side-match__when{font-size:.75rem;color:var(--muted)}.side-match--live .side-match__when{color:var(--dk-danger-fg, #dc2626);font-weight:700}.side-match__teams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:8px;align-items:center;font-size:.88rem}.side-match__team{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:right}.side-match__team--away{text-align:left}.side-match__team--winner{font-weight:700}.side-match__score{min-width:44px;text-align:center;font-weight:700;font-variant-numeric:tabular-nums;background:var(--dk-surface-2, #f1f5f9);border-radius:6px;padding:1px 6px}.home-side{display:grid;gap:12px;min-width:0}.side-match__pending{margin-left:6px;padding:0 6px;border-radius:999px;background:var(--dk-warn-bg, #fef3c7);color:var(--dk-warn-fg, #92400e);font-size:.68rem;font-weight:700}.side-match__score--pending{background:var(--dk-warn-bg, #fff7ed);color:var(--dk-warn-fg, #9a3412)}.home-main{display:grid;gap:12px;min-width:0}.adm-round--pending .adm-round__header h3{color:#c2410c}.app-update{position:fixed;left:50%;bottom:calc(16px + var(--tabbar-height, 0px) + env(safe-area-inset-bottom));transform:translate(-50%);z-index:1000;display:flex;align-items:center;gap:12px;padding:10px 12px 10px 16px;border-radius:14px;background:#0f172a;color:#fff;font-size:.9rem;box-shadow:0 10px 30px #0f172a4d;max-width:calc(100vw - 24px)}.app-update button{font:inherit;font-weight:700;border:0;border-radius:10px;padding:6px 12px;background:#38bdf8;color:var(--dk-text, #0f172a);cursor:pointer}.app-update .app-update__close{background:transparent;color:#cbd5e1;padding:6px 8px}:root{--tabbar-height: 0px}.portal-season-chip,.app-tabbar{display:none}.portal-season-chip{align-items:center;gap:2px;padding:6px 6px 6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.25);background:#ffffff14;color:#fff;font:inherit;font-size:.85rem;font-weight:600;white-space:nowrap;cursor:pointer}.portal-season-chip .material-icons{font-size:18px}.live-strip{display:flex;gap:8px;overflow-x:auto;padding:8px 16px;background:var(--dk-danger-bg, #fef2f2);border-bottom:1px solid var(--dk-danger-bg, #fecaca);scrollbar-width:none}.live-strip__item{flex:none;display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:999px;background:var(--dk-surface, #fff);border:1px solid var(--dk-danger-bg, #fecaca);color:inherit;text-decoration:none;font-size:.85rem;white-space:nowrap}.live-strip__item strong{color:var(--dk-danger-fg, #dc2626);font-variant-numeric:tabular-nums}.app-sheet__list{display:grid;gap:4px}.app-sheet__item{display:flex;align-items:center;gap:14px;min-height:52px;padding:0 12px;border-radius:12px;border:0;background:transparent;color:inherit;text-decoration:none;font:inherit;font-size:1rem;font-weight:600;text-align:left;cursor:pointer}.app-sheet__item:hover,.app-sheet__item--active{background:var(--dk-info-bg, #eff6ff);color:var(--dk-info-fg, #1d4ed8)}.app-sheet__item .material-icons{color:var(--dk-muted, #64748b)}.app-sheet__item--active .material-icons{color:var(--dk-info-fg, #2563eb)}@media(max-width:720px),(max-height:500px)and (pointer:coarse){:root{--tabbar-height: 64px}.portal-header{position:sticky;top:0;z-index:20;padding-top:env(safe-area-inset-top)}.portal-header__inner{padding:10px 14px;gap:10px}.portal-header__logo{width:32px;height:32px}.portal-header__title h1{font-size:1.15rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.portal-header__title p,.portal-header .portal-tabs,.portal-season{display:none}.portal-season-chip{display:inline-flex}.live-strip{position:sticky;top:calc(56px + env(safe-area-inset-top));z-index:19}.app-tabbar{display:grid;grid-template-columns:repeat(5,1fr);position:fixed;left:0;right:0;bottom:0;z-index:30;height:calc(var(--tabbar-height) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:var(--dk-glass, rgba(255, 255, 255, .94));backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);border-top:1px solid var(--border)}.app-tabbar__item{display:grid;justify-items:center;align-content:center;gap:2px;border:0;background:none;color:var(--dk-muted, #64748b);text-decoration:none;font:inherit;font-size:.68rem;font-weight:600;cursor:pointer;-webkit-tap-highlight-color:transparent}.app-tabbar__item .material-icons{font-size:24px;padding:2px 16px;border-radius:999px;transition:background .15s,color .15s}.app-tabbar__item--active{color:var(--dk-info-fg, #1d4ed8)}.app-tabbar__item--active .material-icons{background:var(--dk-info-bg, #dbeafe);color:var(--dk-info-fg, #1d4ed8)}.app-tabbar__item--home{position:relative;align-content:end;padding-bottom:8px}.app-tabbar__item--home .material-icons{position:absolute;top:-22px;left:50%;transform:translate(-50%);width:58px;height:58px;padding:0;display:grid;place-items:center;border-radius:50%;font-size:28px;color:#fff;background:linear-gradient(145deg,#2563eb,#1d4ed8);border:4px solid var(--bg);box-shadow:0 6px 16px #1d4ed859}.app-tabbar__item--home.app-tabbar__item--active .material-icons{color:#fff;background:linear-gradient(145deg,#1d4ed8,#1e3a8a)}.app-tabbar__item--home:active .material-icons{transform:translate(-50%) scale(.94)}.app-tabbar__label{display:inline-flex;align-items:center;gap:3px}.app-tabbar__label .live-dot{width:6px;height:6px}.portal,.news-page{padding-bottom:calc(var(--tabbar-height) + 24px + env(safe-area-inset-bottom))}.overlay--sheet .bottom-sheet{padding-bottom:calc(16px + env(safe-area-inset-bottom))}}.overlay:has(.app-sheet){z-index:50}.home-club--fav{border-color:#f59e0b;background:var(--dk-warn-bg, #fffbeb)}.home-club__star{font-size:16px;color:#f59e0b}.my-club{padding:14px 16px;margin-bottom:16px;border-left:4px solid #f59e0b}.my-club__head{display:flex;align-items:center;gap:8px;margin-bottom:10px}.my-club__star{color:#f59e0b;font-size:20px}.my-club__name{font-weight:700;color:inherit;text-decoration:none}.my-club__label{margin-left:auto;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.my-club__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.my-club__item{display:grid;gap:2px;padding:10px 12px;border-radius:10px;background:var(--bg);color:inherit;text-decoration:none}.my-club__item--live{background:var(--dk-danger-bg, #fef2f2)}.my-club__kicker{display:inline-flex;align-items:center;gap:6px;font-size:.75rem;color:var(--muted);font-weight:600}.my-club__match{font-weight:600}.my-club__venue{font-size:.8rem}.portal-table__row--fav td{background:var(--dk-warn-bg, #fffbeb)}.portal-table__row--fav td:first-child{box-shadow:inset 3px 0 #f59e0b}.portal-club__title{flex:1;min-width:0}.fav-toggle{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:.85rem;font-weight:600;cursor:pointer;color:var(--text)}.fav-toggle .material-icons{font-size:18px;color:#f59e0b}.fav-toggle--on{border-color:#f59e0b;background:var(--dk-warn-bg, #fffbeb)}.round-chips{display:flex;gap:6px;overflow-x:auto;padding:2px 0 10px;scrollbar-width:none;scroll-snap-type:x proximity}.round-chips::-webkit-scrollbar{display:none}.round-chip{flex:none;min-width:40px;padding:6px 10px;border-radius:999px;border:1px solid var(--border);background:var(--surface);font:inherit;font-size:.8rem;font-weight:600;color:var(--muted);cursor:pointer;scroll-snap-align:center}.round-chip--active{background:var(--dk-ink, var(--text));border-color:var(--dk-ink, var(--text));color:#fff}.col-narrow-cell,.portal-table__details{display:none}.portal-table__chevron{font-size:20px;color:var(--muted);transition:transform .15s}.portal-table__row--open .portal-table__chevron{transform:rotate(180deg)}.standing-details{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center;font-size:.85rem;text-align:left;white-space:normal}.standing-details__form{display:inline-flex;align-items:center;gap:4px}.standing-details__actions{display:flex;gap:16px;width:100%}.standing-details .link{background:none;border:0;padding:0;font:inherit;cursor:pointer}@media(max-width:600px){.portal-table--standings .col-wide{display:none}.portal-table--standings .col-narrow-cell{display:table-cell;width:24px}.portal-table--standings tbody tr:not(.portal-table__details){cursor:pointer}.portal-table--standings .portal-table__details{display:table-row}.portal-table--standings .portal-table__details td{background:var(--bg)}}.skeleton-page{display:grid;gap:12px;padding:16px 0}.skeleton{display:block;border-radius:var(--radius);background:linear-gradient(90deg,var(--dk-surface-3, #e2e8f0) 25%,var(--dk-surface-2, #f1f5f9) 50%,var(--dk-surface-3, #e2e8f0) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.2s ease-in-out infinite}.skeleton--header{height:56px}.skeleton--hero{height:180px}.skeleton--card{height:140px}.skeleton--row{height:48px}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){.skeleton{animation:none}}@media(max-width:759px){.recorder-page{padding-top:10px}.recorder-page .page__header{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 10px;margin-bottom:8px}.recorder-page .page__header h1{font-size:1.1rem;margin:0}.recorder-page .page__header>p{margin:0;font-size:.8rem}.recorder-page .share .btn--small{padding:4px 10px;min-height:0;font-size:.75rem}.recorder-page .recorder{font-size:.75rem;margin-bottom:6px}.recorder-page .scoreboard{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"clock clock" "home away";gap:8px;margin-bottom:12px}.recorder-page .scoreboard>app-clock-panel{grid-area:clock}.recorder-page .scoreboard>app-team-panel{display:grid}.recorder-page .team{align-content:start}.recorder-page .scoreboard>app-team-panel:first-child{grid-area:home}.recorder-page .scoreboard>app-team-panel:last-child{grid-area:away}.recorder-page .clock{grid-template-columns:auto minmax(0,1fr);grid-template-areas:"period actions" "time actions";align-items:center;gap:0 12px;padding:10px 12px;text-align:left}.recorder-page .clock__period{grid-area:period;font-size:.7rem}.recorder-page .clock__time,.recorder-page .clock__time--button{grid-area:time;font-size:2.1rem;padding:0;text-underline-offset:6px}.recorder-page .clock__actions{grid-area:actions;gap:6px}.recorder-page .clock .btn--large{font-size:1.05rem;padding:10px 12px;min-height:48px}.recorder-page .clock .btn--ghost{padding:6px 10px;font-size:.8rem}.recorder-page .team{padding:8px;gap:6px;border-top-width:4px}.recorder-page .team__name{font-size:.9rem;margin:0;line-height:1.2;min-height:2.4em;display:grid;place-items:center}.recorder-page .team__score{font-size:2.6rem}.recorder-page .fouls-panel__title{margin:0;font-size:.7rem}.recorder-page .fouls{gap:3px;font-size:.75rem}.recorder-page .fouls .chip{width:15px;height:15px;border-width:1px;font-size:0}.recorder-page .fouls__chips{gap:2px}.recorder-page .fouls__warning{padding:1px 6px;font-size:.7rem}.recorder-page .actions{grid-template-columns:1fr;gap:6px}.recorder-page .actions .btn--goal,.recorder-page .actions .btn--foul{font-size:1.05rem;min-height:52px;padding:8px}.recorder-page .actions .btn--more{grid-column:auto;min-height:38px;font-size:1.2rem;padding:4px}.recorder-page .team .hint{font-size:.7rem;margin:0}}@media(max-width:759px){.live-page{padding-top:10px}.live-page--tabbar{padding-bottom:calc(var(--tabbar-height, 64px) + 24px + env(safe-area-inset-bottom))}.live-page .page__header--live{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;margin-bottom:8px}.live-page .page__header--live>div:first-child{grid-column:1/-1}.live-page__back{display:inline-block;padding:0;font-size:.8rem;font-weight:600;text-decoration:none;margin-bottom:2px}.live-page .page__header h1{font-size:1.1rem;margin:0}.live-page .page__header--live p{margin:0;font-size:.8rem}.live-page .viewer{font-size:.75rem;align-self:center;min-width:0}.live-page .live-status{font-size:.75rem;padding:3px 8px;align-self:center;justify-self:end}.live-page .badge{margin:0 0 8px}.live-page .scoreboard--live{grid-template-columns:minmax(0,1fr) minmax(0,1fr);grid-template-areas:"clock clock" "home away";gap:8px;margin-bottom:12px}.live-page .scoreboard--live>app-clock-panel{grid-area:clock}.live-page .scoreboard--live>.live-team:first-child{grid-area:home}.live-page .scoreboard--live>.live-team--away{grid-area:away}.live-page .scoreboard--live .clock{grid-template-columns:auto auto;justify-content:center;align-items:baseline;gap:12px;padding:10px 12px}.live-page .scoreboard--live .clock__period{font-size:.7rem}.live-page .scoreboard--live .clock__time{font-size:2.1rem}.live-page .scoreboard--live .live-team{padding:8px;gap:4px;align-content:start;border-top-width:4px}.live-page .scoreboard--live h2{font-size:.9rem;line-height:1.2;min-height:2.4em;display:grid;place-items:center;margin:0}.live-page .scoreboard--live .team__score{font-size:2.8rem}.live-page .fouls-panel__title{display:none}.live-page .fouls{font-size:.75rem}.live-page .scorer{font-size:.75rem;line-height:1.3}}.sidebar-backdrop{position:fixed;inset:0;z-index:60;background:#0f172a73;animation:fade-in .2s ease-out}.app-sidebar{position:fixed;top:0;bottom:0;left:0;z-index:61;width:min(320px,86vw);display:flex;flex-direction:column;gap:8px;overflow-y:auto;overscroll-behavior:contain;padding:calc(14px + env(safe-area-inset-top)) 12px calc(16px + env(safe-area-inset-bottom));background:var(--surface);color:var(--text);box-shadow:8px 0 32px #0f172a40;animation:sidebar-in .22s ease-out}@keyframes sidebar-in{0%{transform:translate(-100%)}}@keyframes fade-in{0%{opacity:0}}@media(prefers-reduced-motion:reduce){.app-sidebar,.sidebar-backdrop{animation:none}}.app-sidebar__head{display:flex;align-items:center;gap:10px;padding:4px 4px 12px;border-bottom:1px solid var(--border)}.app-sidebar__logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(145deg,#2563eb,#1d4ed8);color:#fff}.app-sidebar__title{display:grid;min-width:0;flex:1}.app-sidebar__title strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-sidebar__title .muted{font-size:.75rem}.app-sidebar__close{border:0;background:none;color:var(--muted);width:40px;height:40px;border-radius:50%;cursor:pointer}.app-sidebar__close:hover{background:var(--bg)}.app-sidebar__nav{display:grid;gap:2px}.app-sidebar__item{display:flex;align-items:center;gap:14px;padding:11px 12px;border-radius:12px;color:inherit;text-decoration:none;font-weight:600;font-size:.95rem}.app-sidebar__item .material-icons{color:var(--muted);font-size:22px}.app-sidebar__item:hover{background:var(--bg)}.app-sidebar__item--active{background:var(--dk-info-bg, #dbeafe);color:var(--dk-info-fg, #1d4ed8)}.app-sidebar__item--active .material-icons{color:inherit}.setting{display:grid;gap:8px}.setting__label{display:inline-flex;align-items:center;gap:10px;font-weight:600;font-size:.9rem}.setting__label .material-icons{font-size:20px;color:var(--muted)}.setting__hint{margin:0;font-size:.78rem;color:var(--muted)}.setting__switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer}.setting__check{display:flex;align-items:center;gap:8px;font-size:.85rem}.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;border-radius:12px;background:var(--bg)}.segmented__item{display:inline-flex;align-items:center;justify-content:center;gap:4px;padding:8px 6px;border:0;border-radius:9px;background:none;color:var(--muted);font:inherit;font-size:.8rem;font-weight:600;cursor:pointer}.segmented__item .material-icons{font-size:16px}.segmented__item--on{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0f172a26}.switch{appearance:none;flex:none;width:46px;height:28px;border-radius:999px;background:var(--dk-border-strong, #cbd5e1);position:relative;cursor:pointer;transition:background .15s;margin:0}.switch:after{content:"";position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0000004d;transition:transform .15s}.switch:checked{background:#2563eb}.switch:checked:after{transform:translate(18px)}.switch:disabled{opacity:.5;cursor:not-allowed}.switch:focus-visible{outline:2px solid #2563eb;outline-offset:2px}:root[data-theme=dark] :is(input:not([type=checkbox]):not([type=radio]),textarea,select){background-color:var(--dk-surface-2);color:var(--text);border-color:var(--border)}:root[data-theme=dark] :is(input,textarea)::placeholder{color:var(--muted)}.app-sidebar__nav--secondary{margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}.settings-page{max-width:560px}.settings-card{display:grid;gap:22px;padding:18px 16px}.settings-page__note{font-size:.8rem;text-align:center}.page,.portal-header__inner{padding-left:max(16px,env(safe-area-inset-left));padding-right:max(16px,env(safe-area-inset-right))}.app-tabbar{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right)}.venue-chips{display:flex;gap:8px;margin-bottom:4px}.venue-chip{padding:8px 18px;border-radius:999px;background:var(--dk-surface-3, #e2e8f0);color:var(--text);text-decoration:none;font-weight:600;font-size:.9rem}.venue-chip:hover{background:var(--dk-border-strong, #cbd5e1)}.venue-chip--on,.venue-chip--on:hover{background:var(--text);color:var(--bg)}.adm-match__pens{display:block;font-size:.7rem;font-weight:500;color:var(--adm-muted, #64748b)}.bracket-setup{display:grid;gap:12px;max-width:640px}.bracket-setup__mode{display:flex;flex-wrap:wrap;gap:8px 24px}.bracket-setup__qualifiers{max-width:260px}.seed-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.seed-list li{display:flex;align-items:center;gap:8px;padding:2px 4px 2px 10px;border-radius:10px;background:var(--adm-surface-2, #f8f9fc)}.seed-list__no{width:2.2em;font-weight:700;color:var(--adm-muted, #64748b)}.seed-list__name{flex:1}.bracket{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(230px,1fr);gap:16px;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x proximity}.bracket__col{display:flex;flex-direction:column;justify-content:space-around;gap:12px;scroll-snap-align:start}.bracket__title{margin:0;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);text-align:center}.bracket-tie{border:1px solid var(--dk-border, #e2e8f0);border-radius:12px;background:var(--surface);overflow:hidden}.bracket-tie--third{border-style:dashed}.bracket-tie__label{display:block;padding:6px 10px 0;font-size:.72rem;font-weight:600;color:var(--muted)}.bracket-tie__side{display:flex;justify-content:space-between;gap:8px;padding:7px 10px;border-bottom:1px solid var(--dk-border, #f1f5f9);font-size:.9rem}.bracket-tie__side--winner{font-weight:700}.bracket-tie__side--tbd span{color:var(--muted);font-style:italic}.bracket-tie__foot{display:flex;align-items:center;justify-content:space-between;gap:6px;min-height:34px;padding:2px 4px 2px 10px;font-size:.75rem}a.bracket-tie{display:block;color:inherit;text-decoration:none}a.bracket-tie:hover{border-color:var(--dk-border-strong, #94a3b8)}.match-row__pens{display:block;font-size:.68rem;font-weight:600;color:var(--muted);text-align:center;white-space:nowrap}.bracket--public{grid-auto-columns:minmax(210px,1fr)}.portal-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:8px}.portal-section__head .portal-section__title{margin:0}.portal-section__head .btn{display:inline-flex;align-items:center;gap:6px;text-decoration:none;min-height:0}.portal-section__head .btn .material-icons{font-size:18px}.portal-section:has(>.bracket),.portal-section:has(app-public-bracket),app-public-bracket{min-width:0;max-width:100%}app-public-bracket{display:block}.bracket{max-width:100%;-webkit-overflow-scrolling:touch}.tennis-draw{grid-auto-columns:minmax(250px,1fr)}.tennis-match{border:1px solid var(--dk-border, #e2e8f0);border-radius:12px;background:var(--surface);overflow:hidden}.tennis-match--clickable{cursor:pointer}.tennis-match--clickable:hover{border-color:var(--dk-border-strong, #94a3b8)}.tennis-match--third{border-style:dashed}.tennis-match__side{display:flex;align-items:center;gap:6px;padding:7px 10px;border-bottom:1px solid var(--dk-border, #f1f5f9);font-size:.88rem}.tennis-match__side:last-of-type{border-bottom:0}.tennis-match__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tennis-match__seed{color:var(--muted);font-size:.78rem;margin-right:2px}.tennis-match__side--winner .tennis-match__name{font-weight:700}.tennis-match__side--tbd .tennis-match__name{color:var(--muted);font-style:italic}.tennis-match__set{min-width:18px;text-align:center;font-variant-numeric:tabular-nums;color:var(--muted)}.tennis-match__set--won{color:var(--text);font-weight:700}.tennis-match__set sup{font-size:.6rem;margin-left:1px}.tennis-match__foot{padding:3px 10px 5px;font-size:.72rem;color:var(--muted);border-top:1px solid var(--dk-border, #f1f5f9)}.tennis-series{margin-bottom:16px}.tennis-tournaments{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tennis-tournament-row{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--adm-surface-2, #f8f9fc);color:inherit;text-decoration:none}.tennis-tournament-row:hover{background:var(--adm-primary-soft, #e8efff)}.tennis-tournament-row__text{flex:1;display:grid}.tier-badge{min-width:46px;text-align:center;padding:6px;border-radius:10px;font-weight:800;font-size:.85rem;background:var(--dk-ink, #0f172a);color:#fff}.tennis-event-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px}.tennis-entries{display:grid;grid-template-columns:300px minmax(0,1fr);gap:16px;align-items:start}@media(max-width:900px){.tennis-entries{grid-template-columns:1fr}}.tennis-pool{position:sticky;top:12px;display:grid;gap:8px}.tennis-pool__list{display:grid;gap:4px;max-height:60vh;overflow-y:auto;padding:2px}.tennis-chip{display:flex;align-items:center;gap:8px;padding:7px 10px;border-radius:10px;cursor:grab;background:var(--adm-surface, #fff);border:1px solid var(--adm-border, #e5e8f0);font-size:.88rem}.tennis-chip--placeholder{opacity:.4}.tennis-chip__gender{width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:700;background:var(--adm-primary-soft, #e8efff);color:var(--adm-primary, #2563eb)}.tennis-chip__name{flex:1}.tennis-events{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px}.tennis-event{display:grid;gap:8px}.tennis-event--locked{opacity:.85}.tennis-event__head{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}.tennis-event__list{min-height:56px;display:grid;gap:4px;padding:6px;border-radius:10px;border:1px dashed var(--adm-border, #e5e8f0)}.tennis-event__list.cdk-drop-list-dragging,.tennis-event__list.cdk-drop-list-receiving{border-color:var(--adm-primary, #2563eb);background:var(--adm-primary-soft, #e8efff)}.tennis-event__empty{margin:8px}.tennis-entry{display:flex;align-items:center;gap:6px;padding:4px 4px 4px 10px;border-radius:10px;cursor:grab;background:var(--adm-surface, #fff);border:1px solid var(--adm-border, #e5e8f0);font-size:.86rem}.tennis-entry--Withdrawn{opacity:.5;text-decoration:line-through}.tennis-entry--Alternate,.tennis-entry--Qualifying{border-style:dashed}.tennis-entry__seed{min-width:26px;font-weight:700;color:var(--adm-primary, #2563eb)}.tennis-entry__names{flex:1}.tennis-partner-drop{display:inline-block;padding:2px 10px;margin-left:4px;border-radius:999px;border:1px dashed #94a3b8;color:#64748b;font-size:.78rem}.tennis-partner-drop.cdk-drop-list-receiving{border-color:#2563eb;color:#2563eb;background:#e8efff}.tennis-warning{color:#d97706;font-size:18px;width:18px;height:18px}.cdk-drag-preview{box-shadow:0 8px 24px #0f172a40;border-radius:10px}.cdk-drag-animating{transition:transform .2s cubic-bezier(0,0,.2,1)}code.ipin,strong.ipin{font-family:ui-monospace,Menlo,monospace;letter-spacing:.05em}.radio-row{display:flex;flex-wrap:wrap;gap:8px 20px}.spacer{flex:1}.tennis-entry__note{display:block;color:#b45309;font-size:.75rem}.admin-meta__item--on{color:#15803d}.admin-meta__action{margin-left:4px}.tennis-registrations td{vertical-align:top}.tennis-public-list{list-style:none;margin:0;padding:0;display:grid;gap:6px}.tennis-public-item{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px;background:var(--bg);color:inherit;text-decoration:none}.tennis-public-item:hover{background:var(--dk-surface-3, #e2e8f0)}.tennis-register-btn{display:inline-flex;margin-top:8px;text-decoration:none}.tennis-registration__form{display:grid;gap:12px;max-width:720px}.tennis-registration__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.tennis-home-link{display:flex;align-items:center;gap:12px;margin-top:12px}h1 .tier-badge{font-size:.8rem;vertical-align:middle}.tennis-event__list{align-content:start}.portal-section:has(app-tennis-draw-view),app-tennis-draw-view{display:block;min-width:0;max-width:100%}.tennis-ranking td,.tennis-ranking th{white-space:nowrap}.tennis-ranking .portal-table__name{white-space:normal}.tennis-ranking__move{width:1%;font-size:.75rem}.tennis-move{color:var(--muted)}.tennis-move--up{color:#15803d}.tennis-move--down{color:#b91c1c}.tennis-move--new{color:#2563eb;font-weight:600}.tennis-ranking__note{font-size:.82rem;margin:10px 0 0}@media(max-width:599px){.tennis-ranking .tennis-ranking__best{display:none}}.tennis-match__link{color:inherit;text-decoration:none}.tennis-match__link:hover{text-decoration:underline}.tennis-profile__rankings{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}.tennis-profile__rank{display:flex;gap:12px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--dk-surface-2, #f1f5f9);color:var(--text);text-decoration:none}.tennis-profile__position{font-size:1.6rem;line-height:1;min-width:2ch}.tennis-profile__result{padding:10px 0;border-top:1px solid var(--dk-border, #e2e8f0)}.tennis-profile__result:first-of-type{border-top:0}.tennis-profile__result-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}.tennis-profile__points{margin-left:auto}.tennis-profile__matches{list-style:none;margin:6px 0 0;padding:0;display:grid;gap:4px;font-size:.9rem}.tennis-profile__matches li{display:grid;grid-template-columns:minmax(90px,auto) 1fr auto;gap:10px}.tennis-profile__round{color:var(--muted)}.tennis-profile__opp{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tennis-profile__score{font-variant-numeric:tabular-nums;white-space:nowrap}.tennis-profile__score--won{color:#15803d}.tennis-profile__score--lost{color:#b91c1c}.tennis-profile__expiry{font-size:.8rem;margin:6px 0 0}.tennis-admin-ranking__toolbar{margin:12px 0;gap:12px}.tennis-admin-table{width:100%;border-collapse:collapse;margin-top:8px}.tennis-admin-table th,.tennis-admin-table td{padding:8px 10px;text-align:left;border-bottom:1px solid #e2e8f0}.tennis-points-input{width:80px;padding:6px 8px;border:1px solid #cbd5e1;border-radius:6px;font:inherit}.tennis-admin-actions{margin:14px 0}.tennis-adjustment-form{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:14px 0}.tennis-adjustment-form__points{width:120px}.tennis-adjustment-form__reason{flex:1 1 220px}
