@font-face{font-family:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-vietnamese-wght-normal-D0rl6rjA.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-ext-wght-normal-D9tNdqV9.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:Space Grotesk Variable;font-style:normal;font-display:swap;font-weight:300 700;src:url(/assets/space-grotesk-latin-wght-normal-BhU9QXUp.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}@font-face{font-family:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(data:font/woff2;base64,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) 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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-vietnamese-wght-normal-CHiFlh_0.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-ext-wght-normal-Dg-wlmqe.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:Hanken Grotesk Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/hanken-grotesk-latin-wght-normal-CaVRRdDk.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}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) 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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.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:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.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}:root{--bg-base: #0b0f1e;--bg-surface: #121a30;--bg-raised: #19223c;--bg-inset: #0a0e1c;--bg-scrim: rgba(7, 10, 22, .55);--bg-overlay: rgba(7, 10, 22, .72);--border-subtle: rgba(255, 255, 255, .08);--border-default: rgba(255, 255, 255, .12);--border-strong: rgba(255, 255, 255, .2);--text-primary: #eef1f8;--text-secondary: #a7aec6;--text-muted: #6b7597;--text-accent: #3fd9c0;--accent: #3fd9c0;--accent-strong: #1fcbae;--accent-hover: #6fe6d2;--accent-quiet: rgba(63, 217, 192, .14);--accent-line: rgba(63, 217, 192, .32);--focus-ring: rgba(63, 217, 192, .55);--success: #46d488;--success-bg: rgba(70, 212, 136, .14);--warning: #ffc163;--warning-bg: rgba(255, 193, 99, .14);--danger: #ff7a73;--danger-bg: rgba(255, 122, 115, .14);--info: #4fb8f0;--info-bg: rgba(79, 184, 240, .14);--viz-1: #3fd9c0;--viz-2: #4fb8f0;--viz-3: #f2a93b;--viz-4: #f0574f;--viz-5: #8b7bf0;--viz-6: #2fbf71;--glow-mint: 0 0 0 1px rgba(63, 217, 192, .25), 0 0 24px -6px rgba(63, 217, 192, .55);--font-display: "Space Grotesk Variable", "Space Grotesk", sans-serif;--font-sans: "Hanken Grotesk Variable", "Hanken Grotesk", sans-serif;--font-mono: "JetBrains Mono Variable", "JetBrains Mono", monospace;--fs-2xs: 11px;--fs-xs: 12px;--fs-sm: 13px;--fs-base: 15px;--fs-md: 17px;--fs-lg: 20px;--fs-xl: 24px;--fs-2xl: 30px;--fs-3xl: 38px;--fs-4xl: 48px;--lh-tight: 1.05;--lh-snug: 1.2;--lh-normal: 1.5;--lh-relaxed: 1.65;--ls-tighter: -.03em;--ls-tight: -.015em;--ls-wide: .04em;--ls-wider: .12em;--ls-widest: .22em;--radius-xs: 4px;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 22px;--radius-2xl: 28px;--radius-pill: 999px;--control-sm: 32px;--control-md: 40px;--control-lg: 48px;--sidebar-w: 264px;--topbar-h: 60px;--content-max: 1120px;--prompt-max: 780px;--dur-fast: .12s;--dur-base: .2s;--ease-standard: cubic-bezier(.2, 0, 0, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1.2);--shadow-xl: 0 24px 64px -16px rgba(0, 0, 0, .6)}@theme{ --color-base: #0b0f1e; --color-surface: #121a30; --color-raised: #19223c; --color-inset: #0a0e1c; --color-primary: #eef1f8; --color-secondary: #a7aec6; --color-muted: #6b7597; --color-accent: #3fd9c0; --font-display: "Space Grotesk Variable", "Space Grotesk", sans-serif; --font-sans: "Hanken Grotesk Variable", "Hanken Grotesk", sans-serif; --font-mono: "JetBrains Mono Variable", "JetBrains Mono", monospace; }html,body,#root{height:100%}body{margin:0;background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);overflow:hidden}*{box-sizing:border-box}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--border-default);border-radius:8px;border:2px solid var(--bg-base)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.gf-eyebrow{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:600;letter-spacing:var(--ls-widest);text-transform:uppercase;color:var(--text-accent)}.gf-eyebrow--muted{color:var(--text-muted);letter-spacing:var(--ls-wider)}.gf-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:var(--control-md);padding:0 16px;border-radius:var(--radius-md);border:1px solid transparent;font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);white-space:nowrap}.gf-btn:active{transform:scale(.97)}.gf-btn:disabled{opacity:.5;cursor:not-allowed}.gf-btn--sm{height:var(--control-sm);padding:0 12px}.gf-btn--lg{height:var(--control-lg);padding:0 20px;font-size:var(--fs-base)}.gf-btn--pill{border-radius:var(--radius-pill)}.gf-btn--full{width:100%}.gf-btn--primary{background:var(--accent);color:#06251f}.gf-btn--primary:hover{filter:brightness(1.06)}.gf-btn--secondary{background:var(--bg-raised);color:var(--text-primary);border-color:var(--border-default)}.gf-btn--secondary:hover{border-color:var(--accent-line)}.gf-btn--ghost{background:transparent;color:var(--text-secondary)}.gf-btn--ghost:hover{background:var(--bg-raised);color:var(--text-primary)}.gf-btn--outline{background:transparent;color:var(--text-primary);border-color:var(--border-strong)}.gf-btn--outline:hover{border-color:var(--accent-line)}.gf-btn--danger{background:var(--danger-bg);color:var(--danger);border-color:transparent}.gf-btn--danger:hover{filter:brightness(1.06)}.gf-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-secondary);cursor:pointer;transition:all var(--dur-fast) var(--ease-standard)}.gf-iconbtn:hover{background:var(--bg-raised);color:var(--text-primary)}.gf-iconbtn:active{transform:scale(.92)}.gf-iconbtn--secondary{background:var(--bg-raised);border-color:var(--border-default)}.gf-avatar{display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:var(--bg-raised);border:1px solid var(--border-default);color:var(--text-primary);font-family:var(--font-display);font-weight:600;overflow:hidden;flex-shrink:0}.gf-avatar--engine{background:var(--accent-quiet);border-color:var(--accent-line)}.gf-card{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.gf-card--md{padding:16px}.gf-card--lg{padding:20px}.gf-badge{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:3px 10px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600}.gf-badge--sm{padding:2px 8px;font-size:var(--fs-2xs)}.gf-badge__dot{width:6px;height:6px;border-radius:50%;background:currentColor}.gf-badge--live .gf-badge__dot{animation:gf-pulse 1.2s ease-in-out infinite}.gf-badge--neutral{background:var(--bg-raised);color:var(--text-secondary)}.gf-badge--accent{background:var(--accent-quiet);color:var(--text-accent)}.gf-badge--success{background:var(--success-bg);color:var(--success)}.gf-badge--warning{background:var(--warning-bg);color:var(--warning)}.gf-badge--danger{background:var(--danger-bg);color:var(--danger)}.gf-badge--info{background:var(--info-bg);color:var(--info)}.gf-tag{display:inline-flex;align-items:center;background:var(--bg-inset);border:1px solid var(--border-subtle);border-radius:var(--radius-xs);padding:3px 10px;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-secondary);font-variant-numeric:tabular-nums}.gf-chip{display:inline-flex;align-items:center;gap:7px;background:var(--bg-raised);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-pill);padding:7px 13px;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sm);transition:all var(--dur-fast) var(--ease-standard)}.gf-chip:hover{border-color:var(--accent-line);color:var(--text-primary)}.gf-chip:active{transform:scale(.97)}.gf-chip--sm{padding:5px 11px;font-size:var(--fs-xs)}.gf-chip--active{background:var(--accent-quiet);border-color:var(--accent-line);color:var(--text-accent)}.gf-suggestion{display:inline-flex;align-items:center;gap:7px;background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-secondary);border-radius:var(--radius-pill);padding:8px 14px;cursor:pointer;font-family:var(--font-sans);font-size:var(--fs-sm);transition:all var(--dur-fast) var(--ease-standard)}.gf-suggestion:hover{border-color:var(--accent-line);color:var(--text-primary)}.gf-navitem{display:flex;align-items:center;gap:10px;width:100%;height:38px;padding:0 12px;border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:500;cursor:pointer;transition:all var(--dur-fast) var(--ease-standard);text-align:left}.gf-navitem:hover{background:var(--bg-raised);color:var(--text-primary)}.gf-navitem--active{background:var(--accent-quiet);color:var(--text-accent)}.gf-player-row{transition:background var(--dur-fast) var(--ease-standard)}.gf-player-row:hover{background:var(--bg-raised)}.gf-entity-link{transition:color var(--dur-fast) var(--ease-standard)}.gf-entity-link:hover{color:var(--text-accent)}.gf-entity-link:hover .gf-entity-link__label{text-decoration:underline;text-underline-offset:2px}.gf-entity-link:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:var(--radius-xs)}.gf-navitem--indent{padding-left:24px;height:34px}.gf-navitem__label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gf-navitem__badge{background:var(--bg-raised);border-radius:var(--radius-pill);font-size:var(--fs-2xs);padding:1px 7px;color:var(--text-muted);font-family:var(--font-mono)}.gf-tabs{display:flex;gap:4px;border-bottom:1px solid var(--border-subtle)}.gf-tab{display:inline-flex;align-items:center;gap:7px;padding:10px 14px;border:none;background:transparent;color:var(--text-secondary);font-family:var(--font-sans);font-size:var(--fs-sm);font-weight:600;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;transition:color var(--dur-fast) var(--ease-standard)}.gf-tab:hover{color:var(--text-primary)}.gf-tab--active{color:var(--text-accent);border-bottom-color:var(--accent)}.gf-tab__count{background:var(--bg-raised);border-radius:var(--radius-pill);font-size:var(--fs-2xs);padding:1px 7px;font-family:var(--font-mono)}.gf-promptbar{background:var(--bg-surface);border:1px solid var(--border-default);border-radius:var(--radius-xl);padding:14px 16px 12px;text-align:left;transition:border-color var(--dur-base) var(--ease-standard),box-shadow var(--dur-base) var(--ease-standard)}.gf-promptbar:focus-within{border-color:var(--accent-line);box-shadow:var(--glow-mint)}.gf-promptbar__row{display:flex;align-items:flex-end;gap:10px}.gf-promptbar__input{flex:1;background:transparent;border:none;resize:none;color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-base);line-height:var(--lh-normal);min-height:24px;max-height:160px;outline:none}.gf-promptbar__input::placeholder{color:var(--text-muted)}.gf-promptbar__send{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;border:none;background:var(--accent);color:#06251f;cursor:pointer;flex-shrink:0;transition:all var(--dur-fast) var(--ease-standard)}.gf-promptbar__send:hover{filter:brightness(1.06)}.gf-promptbar__send:active{transform:scale(.92)}.gf-promptbar__send:disabled{opacity:.4;cursor:not-allowed}.gf-promptbar__chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gf-location-filter{position:relative;display:inline-flex}.gf-location-filter__popover{position:absolute;top:calc(100% + 8px);left:0;z-index:40;width:280px;display:flex;flex-direction:column;gap:10px;padding:14px 16px;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);color:var(--text-primary)}.gf-location-filter__action{padding:6px 12px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:transparent;color:var(--text-secondary);font-size:var(--fs-xs);cursor:pointer}.gf-location-filter__action:disabled{opacity:.4;cursor:not-allowed}.gf-location-filter__action--primary{border-color:var(--accent-line);background:var(--accent-quiet);color:var(--text-accent)}.gf-time-filter__spans{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.gf-time-filter__span{padding:7px 0;border-radius:var(--radius-md);border:1px solid var(--border-default);background:transparent;color:var(--text-primary);font-size:var(--fs-xs);font-variant-numeric:tabular-nums;cursor:pointer;transition:background var(--dur-fast) var(--ease-standard)}.gf-time-filter__span:hover:not(:disabled){background:var(--accent-quiet)}.gf-time-filter__span--selected{border-color:var(--accent-line);background:var(--accent-quiet);color:var(--text-accent)}.gf-time-filter__span:disabled{opacity:.35;cursor:not-allowed}.gf-time-filter__custom{display:flex;align-items:center;gap:6px}.gf-time-filter__custom input{width:58px;padding:6px 8px;border-radius:var(--radius-md);border:1px solid var(--border-default);background:var(--bg-surface);color:var(--text-primary);font-size:var(--fs-xs)}.gf-time-filter__custom .gf-location-filter__action{margin-left:auto}.gf-pitch-zone{cursor:pointer;outline:none}.gf-pitch-zone rect{fill:#ffffff08;stroke:#ffffff14;stroke-width:.2;transition:fill var(--dur-fast) var(--ease-standard)}.gf-pitch-zone:hover rect,.gf-pitch-zone:focus-visible rect{fill:var(--accent-quiet)}.gf-pitch-zone:focus-visible rect{stroke:var(--focus-ring);stroke-width:.6}.gf-pitch-zone--selected rect,.gf-pitch-zone--selected:hover rect{fill:var(--accent);fill-opacity:.6}.gf-thinking{display:inline-flex;align-items:center;gap:10px;color:var(--text-secondary);font-size:var(--fs-sm)}.gf-thinking__dots{display:inline-flex;gap:4px}.gf-thinking__dot{width:6px;height:6px;border-radius:50%;background:var(--accent);animation:gf-dot 1.2s ease-in-out infinite}.gf-thinking__dot:nth-child(2){animation-delay:.15s}.gf-thinking__dot:nth-child(3){animation-delay:.3s}.gf-toast{position:fixed;right:22px;bottom:22px;z-index:60;display:flex;gap:12px;align-items:flex-start;background:var(--bg-raised);border:1px solid var(--border-default);border-left:3px solid var(--success);border-radius:var(--radius-md);padding:14px 16px;box-shadow:var(--shadow-xl);max-width:340px;animation:gf-slide-in var(--dur-base) var(--ease-emphasized)}.gf-toast__title{font-weight:600;font-size:var(--fs-sm);color:var(--text-primary)}.gf-toast__desc{font-size:var(--fs-sm);color:var(--text-secondary);margin-top:2px}.gf-bubble-row{display:flex;gap:12px}.gf-bubble-row--coach{flex-direction:row-reverse}.gf-bubble{max-width:70%;border-radius:var(--radius-lg);padding:12px 16px;font-size:var(--fs-base);line-height:var(--lh-normal)}.gf-bubble--coach{background:var(--accent-quiet);border:1px solid var(--accent-line);color:var(--text-primary)}.gf-bubble--engine{background:var(--bg-surface);border:1px solid var(--border-subtle);color:var(--text-primary)}.gf-bubble__meta{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:var(--fs-xs);color:var(--text-muted)}.gf-bubble__author{font-family:var(--font-display);font-weight:600;color:var(--text-accent)}.gf-matchcard{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px 20px;cursor:pointer;transition:border-color var(--dur-base) var(--ease-standard),transform var(--dur-fast) var(--ease-standard);text-align:left;width:100%;color:inherit;font:inherit}.gf-matchcard:hover{border-color:var(--accent-line)}.gf-matchcard:active{transform:scale(.99)}.gf-matchcard__teams{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px}.gf-matchcard__team{display:flex;align-items:center;gap:10px;font-family:var(--font-display);font-size:var(--fs-md);font-weight:700;min-width:0}.gf-matchcard__team--away{flex-direction:row-reverse}.gf-matchcard__crest{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:var(--radius-sm);background:var(--bg-inset);border:1px solid var(--border-subtle);color:var(--text-muted);flex-shrink:0}.gf-matchcard__meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.gf-matchcard__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.gf-matchcard__footer{display:flex;align-items:center;justify-content:space-between;margin-top:16px;padding-top:14px;border-top:1px solid var(--border-subtle);color:var(--text-secondary);font-size:var(--fs-sm)}.gf-matchcard__open{display:inline-flex;align-items:center;gap:6px;color:var(--text-accent);font-weight:600;background:none;border:none;padding:0;font-family:inherit;font-size:inherit;cursor:pointer}.gf-scorepill{display:inline-flex;flex-direction:column;align-items:center;gap:2px}.gf-scorepill__score{display:inline-flex;align-items:baseline;gap:8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:700;color:var(--text-primary)}.gf-scorepill--md .gf-scorepill__score{font-size:var(--fs-xl)}.gf-scorepill--sm .gf-scorepill__score{font-size:var(--fs-md)}.gf-scorepill--lg .gf-scorepill__score{font-size:var(--fs-3xl)}.gf-scorepill__sep{color:var(--text-muted);font-weight:400}.gf-scorepill--win .gf-scorepill__score{color:var(--success)}.gf-scorepill--loss .gf-scorepill__score{color:var(--danger)}.gf-scorepill--live .gf-scorepill__score{color:var(--text-accent)}.gf-scorepill__label{font-family:var(--font-display);font-size:var(--fs-2xs);font-weight:600;letter-spacing:var(--ls-wider);text-transform:uppercase;color:var(--text-muted)}.gf-stattile{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px}.gf-stattile__head{display:flex;align-items:center;justify-content:space-between;color:var(--text-muted)}.gf-stattile__value{display:flex;align-items:baseline;gap:4px;margin-top:8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--fs-2xl);font-weight:700;color:var(--text-primary)}.gf-stattile__unit{font-size:var(--fs-sm);color:var(--text-muted)}.gf-stattile__delta{margin-top:4px;font-size:var(--fs-xs);font-weight:600}.gf-stattile__delta--up{color:var(--success)}.gf-stattile__delta--down{color:var(--danger)}.gf-stattile__delta--flat{color:var(--text-muted)}.gf-actiontag{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);padding:4px 12px;font-family:var(--font-sans);font-size:var(--fs-xs);font-weight:600;border:1px solid;background:transparent}.gf-actiontag--sm{padding:2px 9px;font-size:var(--fs-2xs)}.gf-actiontag--offensive{color:var(--viz-1);border-color:color-mix(in srgb,var(--viz-1) 40%,transparent);background:color-mix(in srgb,var(--viz-1) 10%,transparent)}.gf-actiontag--defensive{color:var(--viz-2);border-color:color-mix(in srgb,var(--viz-2) 40%,transparent);background:color-mix(in srgb,var(--viz-2) 10%,transparent)}.gf-actiontag--passing{color:var(--viz-6);border-color:color-mix(in srgb,var(--viz-6) 40%,transparent);background:color-mix(in srgb,var(--viz-6) 10%,transparent)}.gf-actiontag--setpiece{color:var(--viz-3);border-color:color-mix(in srgb,var(--viz-3) 40%,transparent);background:color-mix(in srgb,var(--viz-3) 10%,transparent)}.gf-actiontag--sequence{color:var(--viz-5);border-color:color-mix(in srgb,var(--viz-5) 40%,transparent);background:color-mix(in srgb,var(--viz-5) 10%,transparent)}.gf-actiontag--interactive{cursor:pointer;transition:border-color var(--dur-fast) var(--ease-standard),filter var(--dur-fast) var(--ease-standard)}.gf-actiontag--interactive:hover{border-color:currentColor;filter:brightness(1.15)}.gf-clipcard{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:border-color var(--dur-base) var(--ease-standard);text-align:left;padding:0;color:inherit;font:inherit;width:100%}.gf-clipcard:hover{border-color:var(--accent-line)}.gf-clipcard__thumb{position:relative;aspect-ratio:16 / 9;background:var(--bg-inset);display:flex;align-items:center;justify-content:center;color:var(--text-muted)}.gf-clipcard__thumb img{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover}.gf-clipcard__play{position:absolute;display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--bg-overlay);color:var(--text-primary);border:1px solid var(--border-strong);transition:all var(--dur-fast) var(--ease-standard)}.gf-clipcard:hover .gf-clipcard__play{background:var(--accent);color:#06251f;border-color:transparent}.gf-clipcard__body{padding:10px 12px 12px}.gf-clipcard__title{font-size:var(--fs-sm);font-weight:600;color:var(--text-primary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.gf-clipcard__meta{display:flex;gap:10px;margin-top:6px;font-family:var(--font-mono);font-size:var(--fs-2xs);color:var(--text-muted);font-variant-numeric:tabular-nums}.gf-input{width:100%;height:var(--control-md);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-sm);padding:0 12px}.gf-input::placeholder{color:var(--text-muted)}.gf-input:focus{outline:none;border-color:var(--accent-line)}.gf-select{width:100%;height:var(--control-md);background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font-sans);font-size:var(--fs-sm);padding:0 12px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' stroke='%236B7597' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m4 6 4 4 4-4'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;cursor:pointer}.gf-select:focus{border-color:var(--accent-line)}.gf-switch{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary)}.gf-switch input{position:absolute;opacity:0;pointer-events:none}.gf-switch__track{width:36px;height:20px;border-radius:var(--radius-pill);background:var(--bg-raised);border:1px solid var(--border-default);position:relative;transition:all var(--dur-base) var(--ease-standard);flex-shrink:0}.gf-switch__track:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--text-muted);transition:all var(--dur-base) var(--ease-standard)}.gf-switch input:checked+.gf-switch__track{background:var(--accent-quiet);border-color:var(--accent-line)}.gf-switch input:checked+.gf-switch__track:after{left:18px;background:var(--accent)}.gf-checkbox{display:flex;align-items:center;gap:10px;cursor:pointer;font-size:var(--fs-sm);color:var(--text-primary);white-space:nowrap}.gf-checkbox input{position:absolute;opacity:0;pointer-events:none}.gf-checkbox__box{width:18px;height:18px;border-radius:var(--radius-xs);border:1px solid var(--border-strong);background:var(--bg-inset);display:inline-flex;align-items:center;justify-content:center;color:transparent;transition:all var(--dur-fast) var(--ease-standard);flex-shrink:0}.gf-checkbox input:checked+.gf-checkbox__box{background:var(--accent);border-color:var(--accent);color:#06251f}.gf-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--bg-scrim);z-index:40;animation:gf-fade-in var(--dur-base) var(--ease-standard)}.gf-drawer{position:fixed;top:0;right:0;bottom:0;width:380px;max-width:92vw;background:var(--bg-surface);border-left:1px solid var(--border-default);box-shadow:var(--shadow-xl);z-index:41;display:flex;flex-direction:column;animation:gf-slide-in var(--dur-base) var(--ease-emphasized)}.gf-drawer__body{flex:1;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:22px}.gf-drawer__footer{display:flex;gap:10px;padding:16px 20px;border-top:1px solid var(--border-subtle)}.gf-timeline{background:var(--bg-surface);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:16px;-webkit-user-select:none;user-select:none}.gf-timeline svg{display:block;width:100%}.gf-timeline__lane-label{font-family:var(--font-display);font-size:10px;font-weight:600;letter-spacing:var(--ls-wider);text-transform:uppercase;fill:var(--text-muted)}.gf-timeline__tick{font-family:var(--font-mono);font-size:9px;fill:var(--text-muted)}.gf-timeline__tooltip{position:fixed;z-index:70;pointer-events:none;background:var(--bg-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:8px 10px;font-size:var(--fs-xs);color:var(--text-primary);max-width:320px;box-shadow:var(--shadow-xl)}.gf-signal{display:flex;flex-direction:column;gap:6px;flex-shrink:0;background:var(--bg-inset);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:7px 6px}.gf-signal__lamp{width:13px;height:13px;border-radius:50%;background:var(--lamp);opacity:.18;transition:opacity var(--dur-base) var(--ease-standard)}.gf-signal__lamp--on{opacity:1;box-shadow:0 0 8px var(--lamp)}.gf-signal--checking{animation:gf-pulse 1.4s ease-in-out infinite}@keyframes gf-dot{0%,to{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}@keyframes gf-pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes gf-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}@keyframes gf-fade-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
