.dota-result{display:flex;flex-direction:column;gap:12px}.source-badge{font-size:var(--vl-text-size-technical);font-weight:700;letter-spacing:.06em;padding:1px 5px;border-radius:var(--vl-radius)}.source-badge.gsi{background:color-mix(in srgb,var(--vl-accent) 10%,transparent);color:var(--vl-text-primary);border:1px solid color-mix(in srgb,var(--vl-accent) 22%,transparent)}.dota-tower-bar{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--vl-surface-1);border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);font-size:var(--vl-text-size-metadata);flex-wrap:wrap}.tower-label{font-size:var(--vl-text-size-metadata);font-weight:600;white-space:nowrap}.tower-label--radiant{color:var(--vl-team-radiant)}.tower-label--dire{color:var(--vl-team-dire)}.tower-pips{display:flex;flex-wrap:wrap;gap:3px}.tower-pip{width:10px;height:10px;border-radius:var(--vl-radius)}.tower-pip--radiant.tower-pip--alive{background:var(--vl-team-radiant)}.tower-pip--radiant.tower-pip--alive-mid{background:color-mix(in srgb,var(--vl-team-radiant) 60%,transparent)}.tower-pip--radiant.tower-pip--alive-low{background:color-mix(in srgb,var(--vl-team-radiant) 30%,transparent)}.tower-pip--radiant.tower-pip--dead{background:color-mix(in srgb,var(--vl-team-radiant) 12%,transparent);border:1px solid color-mix(in srgb,var(--vl-team-radiant) 20%,transparent)}.tower-pip--dire.tower-pip--alive{background:var(--vl-team-dire)}.tower-pip--dire.tower-pip--alive-mid{background:color-mix(in srgb,var(--vl-team-dire) 60%,transparent)}.tower-pip--dire.tower-pip--alive-low{background:color-mix(in srgb,var(--vl-team-dire) 30%,transparent)}.tower-pip--dire.tower-pip--dead{background:color-mix(in srgb,var(--vl-team-dire) 12%,transparent);border:1px solid color-mix(in srgb,var(--vl-team-dire) 20%,transparent)}.tower-divider{color:var(--vl-text-disabled);font-size:var(--vl-text-size-metadata);padding:0 4px}.dota-rune-events__title{margin-bottom:8px;color:var(--vl-text-secondary);font-size:var(--vl-text-size-technical);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.dota-stat-tooltip-anchor{display:inline-flex;align-items:center;max-width:100%;cursor:help;outline:none}.dota-stat-tooltip-anchor:focus-visible{color:var(--vl-text-primary)}.dota-stat-tooltip{position:fixed;z-index:10000;max-width:280px;padding:8px 10px;border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:var(--vl-surface-2);box-shadow:var(--vl-shadow-overlay);color:var(--vl-text-primary);pointer-events:none;text-align:left;text-transform:none;transform:translate(-50%,calc(-100% - 9px))}.dota-stat-tooltip:after{position:absolute;bottom:-5px;left:50%;width:8px;height:8px;border-right:1px solid var(--vl-border-default);border-bottom:1px solid var(--vl-border-default);background:var(--vl-surface-2);content:"";transform:translate(-50%) rotate(45deg)}.dota-stat-tooltip__label{margin-bottom:4px;color:var(--vl-text-primary);font-size:var(--vl-text-size-metadata);font-weight:800;letter-spacing:0;line-height:1.25}.dota-stat-tooltip__body{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata);font-weight:600;letter-spacing:0;line-height:1.35}.dota-stat-tooltip__formula{margin-top:6px;padding-top:6px;border-top:1px solid var(--vl-border-subtle);color:var(--vl-text-primary);font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:var(--vl-text-size-technical);font-weight:700;letter-spacing:0;line-height:1.35}.dota-rune-events{padding:10px 12px}.dota-rune-events__list{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}.dota-rune-event{min-width:0;display:grid;grid-template-columns:26px auto minmax(0,1fr);gap:2px 7px;padding:7px 8px;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-2)}.dota-rune-event__icon{grid-row:1 / 3;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-2);color:var(--vl-text-secondary);font-size:var(--vl-text-size-technical);font-weight:800;overflow:hidden}.dota-rune-event__icon img{width:22px;height:22px;object-fit:contain;display:block}.dota-rune-event__time{color:var(--vl-text-primary);font-size:var(--vl-text-size-metadata);font-weight:800;font-variant-numeric:tabular-nums}.dota-rune-event__side,.dota-rune-event__rune{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dota-rune-event__side{font-size:var(--vl-text-size-metadata);font-weight:700}.dota-rune-event__side--radiant{color:var(--vl-team-radiant)}.dota-rune-event__side--dire{color:var(--vl-team-dire)}.dota-rune-event__rune{grid-column:2 / -1;color:var(--vl-text-disabled);font-size:var(--vl-text-size-technical)}.dota-hero-icon{display:inline-flex;width:32px;height:24px;flex:0 0 32px;align-items:center;justify-content:center;overflow:hidden;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-2)}.dota-hero-icon img,.dota-item--icon img{display:block;width:100%;height:100%;object-fit:cover}.dota-item--icon{display:inline-flex;align-items:center;justify-content:center;width:31px;height:23px;padding:0;overflow:hidden;vertical-align:middle}.dota-player-save{width:22px;height:22px;flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-2);color:var(--vl-text-secondary);cursor:pointer;transition:border-color var(--vl-motion-fast),color var(--vl-motion-fast),background var(--vl-motion-fast),opacity var(--vl-motion-fast)}.dota-player-save:hover:not(:disabled){border-color:var(--vl-border-default);color:var(--vl-text-primary);background:color-mix(in srgb,var(--vl-surface-2) 92%,white 8%)}.dota-player-save:disabled{opacity:.45;cursor:default}.dota-player-save--saving,.dota-player-save--saved{border-color:color-mix(in srgb,var(--vl-accent) 24%,transparent);color:var(--vl-text-primary);background:color-mix(in srgb,var(--vl-surface-3) 46%,var(--vl-surface-2) 54%)}.dota-item{display:inline-block;font-size:var(--vl-text-size-technical);padding:1px 5px;border-radius:var(--vl-radius);background:var(--vl-surface-2);border:1px solid var(--vl-border-subtle);color:var(--vl-text-secondary);margin:1px;white-space:nowrap;max-width:80px;overflow:hidden;text-overflow:ellipsis}.dota-item--shard{border-color:color-mix(in srgb,var(--vl-accent) 30%,transparent);background:color-mix(in srgb,var(--vl-accent) 12%,transparent);color:var(--vl-text-primary);font-weight:600}.dota-item--backpack{opacity:.72}.dota-item--neutral{border-color:var(--vl-border-strong);background:var(--vl-surface-3);color:var(--vl-text-primary)}.dota-abil{display:inline-flex;align-items:center;gap:2px;font-size:var(--vl-text-size-metadata);padding:1px 4px;border-radius:var(--vl-radius);background:var(--vl-surface-2);border:1px solid var(--vl-border-subtle);color:var(--vl-text-secondary);margin:1px}.dota-abil--cd{opacity:.4;border-color:color-mix(in srgb,var(--vl-team-dire) 30%,transparent)}.dota-abil__lvl{font-size:var(--vl-text-size-technical);color:var(--vl-text-disabled)}@media (max-width: 980px){.dota-gsi-metrics__grid{grid-template-columns:1fr}.dota-gsi-team--radiant{border-right:none;border-bottom:1px solid var(--vl-border-subtle)}.dota-gsi-team__stats,.dota-impact__grid,.dota-rune-events__list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 680px){.dota-impact__grid,.dota-rune-events__list{grid-template-columns:1fr}.dota-impact-card{border-right:none;border-bottom:1px solid var(--vl-border-subtle)}.dota-impact-card:last-child{border-bottom:none}}.dota-tech{font-size:var(--vl-text-size-technical);letter-spacing:var(--vl-tracking-technical);text-transform:uppercase;color:var(--vl-text-tertiary)}.dota-tech--num{font-family:var(--vl-font-mono);font-variant-numeric:tabular-nums;text-transform:none;letter-spacing:0;color:var(--vl-text-secondary)}.dota-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--vl-space-8);padding:var(--vl-space-7) var(--vl-space-8);background:var(--vl-surface-1);border-bottom:1px solid var(--vl-border-subtle)}.dota-head__team{display:flex;align-items:center;gap:var(--vl-space-5);min-width:0}.dota-head__team--away{flex-direction:row-reverse;text-align:right}.dota-head__logo{width:34px;height:34px;flex:0 0 34px;background:var(--vl-surface-2);border:1px solid var(--vl-border-subtle);object-fit:contain}.dota-head__name{font-size:var(--vl-text-size-screen-title);font-weight:var(--vl-weight-semibold);letter-spacing:var(--vl-tracking-screen-title);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dota-head__center{display:flex;flex-direction:column;align-items:center;gap:var(--vl-space-3)}.dota-head__score{font-family:var(--vl-font-mono);font-size:var(--vl-text-size-score);font-weight:var(--vl-weight-semibold);letter-spacing:var(--vl-tracking-score);line-height:1;font-variant-numeric:tabular-nums}.dota-head__sep{color:var(--vl-text-tertiary);margin:0 10px}.dota-head__meta{display:flex;align-items:center;gap:var(--vl-space-4);flex-wrap:wrap;justify-content:center}.dota-head__status{padding:3px var(--vl-space-3);background:var(--vl-accent-soft);border:1px solid var(--vl-accent-border);color:var(--vl-accent-text);font-size:var(--vl-text-size-technical);font-weight:var(--vl-weight-semibold);letter-spacing:var(--vl-tracking-technical);text-transform:uppercase}.dota-gap{padding:var(--vl-space-7) var(--vl-space-8) var(--vl-space-5);background:var(--vl-surface-1);border-bottom:1px solid var(--vl-border-subtle)}.dota-gap__head,.dota-gap__axis{display:flex;align-items:baseline;justify-content:space-between}.dota-gap__head{margin-bottom:var(--vl-space-5)}.dota-gap__axis{margin-top:var(--vl-space-3)}.dota-gap__chart{display:block;width:100%;height:150px}.dota-gap__area--radiant{fill:color-mix(in srgb,var(--vl-team-radiant) 30%,transparent)}.dota-gap__area--dire{fill:color-mix(in srgb,var(--vl-team-dire) 30%,transparent)}.dota-gap__zero{stroke:var(--vl-border-strong)}.dota-gap__line{fill:none;stroke:var(--vl-text-primary);stroke-width:1.5}.dota-gap__dot{fill:var(--vl-text-primary)}.dota-gap__tick{stroke:var(--vl-border-subtle)}.dota-gap__empty{padding:var(--vl-space-8) 0;text-align:center;color:var(--vl-text-disabled)}.dota-compare{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));background:var(--vl-surface-1);border-bottom:1px solid var(--vl-border-subtle)}.dota-compare__cell{display:flex;flex-direction:column;gap:var(--vl-space-3);padding:var(--vl-space-5) var(--vl-space-7);border-right:1px solid var(--vl-border-subtle);min-width:0}.dota-compare__cell:last-child{border-right:0}.dota-compare__row{display:flex;align-items:center;gap:var(--vl-space-4)}.dota-compare__value{font-family:var(--vl-font-mono);font-size:var(--vl-text-size-table);font-variant-numeric:tabular-nums;color:var(--vl-text-tertiary)}.dota-compare__value--lead{color:var(--vl-text-primary);font-weight:var(--vl-weight-semibold)}.dota-compare__track{display:flex;flex:1;height:3px;background:var(--vl-surface-3);min-width:0}.dota-compare__track i{height:3px;background:var(--vl-text-disabled)}.dota-compare__track i.is-lead{background:var(--vl-text-primary)}.dota-draftboard{display:grid;grid-template-columns:1fr 1fr;background:var(--vl-surface-1);border-bottom:1px solid var(--vl-border-subtle)}.dota-draftboard__half{min-width:0;padding:var(--vl-space-5) var(--vl-space-7);border-right:1px solid var(--vl-border-default)}.dota-draftboard__half:last-child{border-right:0}.dota-draftboard__head{display:flex;align-items:center;gap:var(--vl-space-4);margin-bottom:var(--vl-space-4)}.dota-draftboard__half--away .dota-draftboard__head{flex-direction:row-reverse}.dota-draftboard__count{margin-left:auto}.dota-draftboard__half--away .dota-draftboard__count{margin-left:0;margin-right:auto}.dota-draftboard__label{display:block;margin-bottom:var(--vl-space-2)}.dota-draftboard__row{display:flex;gap:var(--vl-space-3);flex-wrap:wrap;margin-bottom:var(--vl-space-5)}.dota-draftboard__row--bans{gap:var(--vl-space-2);margin-bottom:0}.dota-draftboard__half--away .dota-draftboard__label{text-align:right}.dota-draftboard__half--away .dota-draftboard__row{justify-content:flex-end}.dota-tile{flex:0 0 88px;width:88px}.dota-tile--ban{flex-basis:56px;width:56px;opacity:.45}.dota-tile__art{position:relative;width:88px;height:48px;background:var(--vl-surface-2);border:1px solid var(--vl-border-subtle);overflow:hidden}.dota-tile--ban .dota-tile__art{width:56px;height:31px}.dota-tile__art img{display:block;width:100%;height:100%;object-fit:cover}.dota-tile__order{position:absolute;top:2px;left:3px;font-family:var(--vl-font-mono);font-size:var(--vl-text-size-technical);line-height:1;color:var(--vl-text-tertiary)}.dota-tile__name,.dota-tile__who{display:block;width:88px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dota-tile--ban .dota-tile__name{width:56px}.dota-tile__name{margin-top:3px;font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-semibold);color:var(--vl-text-primary)}.dota-tile__who{font-size:var(--vl-text-size-technical);color:var(--vl-text-tertiary)}.dota-draftboard__half--away .dota-tile__name,.dota-draftboard__half--away .dota-tile__who{text-align:right}.dota-matrix{display:grid;grid-template-columns:1fr 1fr;background:var(--vl-surface-1);border-bottom:1px solid var(--vl-border-subtle)}.dota-matrix__half{min-width:0;border-right:1px solid var(--vl-border-default)}.dota-matrix__half:last-child{border-right:0}.dota-matrix__head{display:flex;align-items:center;gap:var(--vl-space-4);padding:var(--vl-space-4) var(--vl-space-7);border-bottom:1px solid var(--vl-border-subtle)}.dota-matrix__scroll{overflow-x:auto;scrollbar-gutter:stable}.dota-matrix table{width:100%;border-collapse:collapse}.dota-matrix th,.dota-matrix td{border-bottom:1px solid var(--vl-border-subtle)}.dota-matrix__corner{padding:var(--vl-space-3) var(--vl-space-5);text-align:left;background:var(--vl-surface-1)}.dota-matrix__player{padding:var(--vl-space-3) var(--vl-space-2);text-align:center;border-left:1px solid var(--vl-border-subtle);min-width:104px}.dota-matrix__hero{display:block;font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-semibold);color:var(--vl-text-primary);white-space:nowrap}.dota-matrix__nick{display:block;margin-top:1px;font-size:var(--vl-text-size-technical);color:var(--vl-text-tertiary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dota-matrix__group td{padding:var(--vl-space-3) var(--vl-space-5);font-weight:var(--vl-weight-bold);color:var(--vl-text-secondary);background:var(--vl-surface-2)}.dota-matrix__group--next td{border-top:1px solid var(--vl-border-default)}.dota-matrix__label{padding:var(--vl-space-3) var(--vl-space-5) var(--vl-space-3) 22px;text-align:left;font-size:var(--vl-text-size-metadata);color:var(--vl-text-secondary);white-space:nowrap}.dota-matrix__value{padding:var(--vl-space-3) var(--vl-space-2);border-left:1px solid var(--vl-border-subtle);vertical-align:top}.dota-matrix__num{font-family:var(--vl-font-mono);font-size:var(--vl-text-size-table);font-variant-numeric:tabular-nums;text-align:center;color:var(--vl-text-secondary)}.dota-matrix__num--best{color:var(--vl-text-primary);font-weight:var(--vl-weight-semibold)}.dota-matrix__pct{margin-top:4px;height:2px;background:var(--vl-surface-3)}.dota-matrix__pct i{display:block;height:2px;background:var(--vl-text-disabled)}.dota-matrix__pct i.is-high{background:var(--vl-text-primary)}.dota-matrix__pct i.is-mid{background:var(--vl-text-secondary)}.dota-cards__team{display:flex;align-items:center;gap:var(--vl-space-4);padding:var(--vl-space-4) var(--vl-space-7);background:var(--vl-surface-2);border-bottom:1px solid var(--vl-border-subtle)}.dota-cards__grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.dota-card{min-width:0;padding:var(--vl-space-5);border-right:1px solid var(--vl-border-subtle);border-bottom:1px solid var(--vl-border-subtle)}.dota-card--leader{background:var(--vl-accent-soft);box-shadow:inset 3px 0 0 var(--vl-accent)}.dota-card__head{display:flex;align-items:center;gap:var(--vl-space-3);margin-bottom:var(--vl-space-4);min-width:0}.dota-card__copy{display:flex;flex-direction:column;min-width:0}.dota-card__hero,.dota-card__nick{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dota-card__hero{font-size:var(--vl-text-size-table);font-weight:var(--vl-weight-semibold)}.dota-card__nick{font-size:var(--vl-text-size-technical);color:var(--vl-text-tertiary)}.dota-card__tail{margin-left:auto;display:flex;align-items:center;gap:var(--vl-space-2)}.dota-card__badge{padding:2px var(--vl-space-2);background:var(--vl-accent-soft);border:1px solid var(--vl-accent-border);color:var(--vl-accent-text)}.dota-card__metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--vl-space-4);margin-bottom:var(--vl-space-4)}.dota-card__metric{display:flex;flex-direction:column;gap:2px;min-width:0}.dota-card__metric-label{font-size:var(--vl-text-size-technical)}.dota-card__metric-value{font-family:var(--vl-font-mono);font-size:var(--vl-text-size-table);font-variant-numeric:tabular-nums;color:var(--vl-text-primary)}.dota-card__section{display:block;margin-bottom:4px;font-size:var(--vl-text-size-technical)}.dota-card__items,.dota-card__abils{display:flex;flex-wrap:wrap}.dota-card__abils{align-items:center;gap:var(--vl-space-2);margin-top:var(--vl-space-3)}.dota-card__summon{display:flex;align-items:center;gap:var(--vl-space-3);margin-top:var(--vl-space-3);padding-top:var(--vl-space-3);border-top:1px solid var(--vl-border-subtle)}.dota-card__summon-art{width:26px;height:18px;flex:0 0 26px;background:var(--vl-surface-2);border:1px solid var(--vl-border-subtle)}.dota-card__summon-name{font-size:var(--vl-text-size-metadata);color:var(--vl-text-secondary)}.dota-card__respawn{display:inline-block;margin-top:2px;padding:1px 4px;font-size:var(--vl-text-size-technical);background:color-mix(in srgb,var(--vl-team-dire) 15%,transparent);color:var(--vl-team-dire)}@container vl-panel (max-width: 899px){.dota-head{grid-template-areas:"home score away" "meta meta meta";gap:var(--vl-space-4) var(--vl-space-5);padding:var(--vl-space-5)}.dota-head__team{grid-area:home}.dota-head__team--away{grid-area:away}.dota-head__center{display:contents}.dota-head__score{grid-area:score}.dota-head__meta{grid-area:meta}.dota-matrix,.dota-draftboard{grid-template-columns:1fr}.dota-matrix__half,.dota-draftboard__half{border-right:0;border-bottom:1px solid var(--vl-border-default)}.dota-cards__grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dota-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.dota-compare{grid-template-columns:1fr}.dota-compare__cell{border-right:0;border-bottom:1px solid var(--vl-border-subtle)}.dota-rune-events__list{grid-template-columns:repeat(2,minmax(0,1fr))}}.dota-side--radiant{color:var(--vl-team-radiant)}.dota-side--dire{color:var(--vl-team-dire)}.dota-cards__name{font-size:var(--vl-text-size-ui);font-weight:var(--vl-weight-semibold)}@layer base{:root{color-scheme:dark;--vl-canvas: #1d1d1d;--vl-surface-1: #242424;--vl-surface-2: #2c2c2c;--vl-surface-3: #34383a;--vl-surface-4: #3a3a3a;--vl-border-subtle: #f5f5f514;--vl-border-default: #f5f5f52e;--vl-border-strong: #f5f5f54a;--vl-text-primary: #f5f5f5;--vl-text-secondary: #b8b8b8;--vl-text-tertiary: #8a8a8a;--vl-text-disabled: #666666;--vl-accent: #5d3fd3;--vl-accent-hover: #6b4fdc;--vl-accent-text: #f5f5f5;--vl-accent-soft: #5d3fd31f;--vl-accent-border: #806ee073;--vl-accent-ink: #f7fafc;--vl-focus: #8e7be8;--vl-button-neutral-hover: #3f4548;--vl-team-ct: #4cb8ff;--vl-team-t: #ff9938;--vl-team-radiant: #4ade80;--vl-team-dire: #f87171;--vl-success: #4fa56f;--vl-info: #5a8dc3;--vl-warning: #d19a43;--vl-danger: #d46666;--vl-radius: 0px;--vl-radius-switch-thumb: 2px;--vl-control-h-compact: 28px;--vl-control-h: 32px;--vl-control-h-primary: 34px;--vl-topbar-h: 48px;--vl-tabbar-h: 36px;--vl-rail-w: 56px;--vl-sidebar-w: 240px;--vl-sidebar-min-w: 220px;--vl-sidebar-max-w: 420px;--vl-console-h: 220px;--vl-space-1: 4px;--vl-space-2: 6px;--vl-space-3: 8px;--vl-space-4: 10px;--vl-space-5: 12px;--vl-space-6: 14px;--vl-space-7: 16px;--vl-space-8: 20px;--vl-space-9: 24px;--vl-font-display: "Onest", "Segoe UI Variable Display", "Segoe UI", system-ui, sans-serif;--vl-font-sans: "Onest", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;--vl-font-mono: "Cascadia Code", "JetBrains Mono", "SFMono-Regular", Consolas, monospace;--vl-text-size-technical: 10px;--vl-text-size-metadata: 11px;--vl-text-size-table: 12px;--vl-text-size-ui: 13px;--vl-text-size-panel-title: 15px;--vl-text-size-body: 16px;--vl-text-size-screen-title: 20px;--vl-text-size-score: 32px;--vl-text-size-display: 52px;--vl-tracking-score: -.035em;--vl-tracking-screen-title: -.025em;--vl-tracking-panel-title: -.015em;--vl-tracking-metadata: .01em;--vl-tracking-technical: .08em;--vl-leading-tight: 1.25;--vl-leading-base: 1.5;--vl-leading-loose: 1.65;--vl-weight-medium: 500;--vl-weight-semibold: 600;--vl-weight-bold: 700;--vl-ease-standard: cubic-bezier(.22, 1, .36, 1);--vl-motion-fast: .12s var(--vl-ease-standard);--vl-motion-base: .2s var(--vl-ease-standard);--vl-motion-panel: .26s var(--vl-ease-standard);--vl-motion-slow: .32s var(--vl-ease-standard);--vl-motion-progress: .16s linear;--vl-shadow-inset: inset 0 1px 0 rgba(255, 255, 255, .06);--vl-shadow-overlay: 0 10px 30px rgba(0, 0, 0, .22);--vl-shadow-floating: 0 18px 42px rgba(0, 0, 0, .28);--vl-shadow-focus: none;--vl-z-base: 1;--vl-z-overlay: 10;--vl-z-floating: 20;--vl-scrollbar-size: 10px;--vl-scrollbar-radius: 999px;--vl-scrollbar-track: #00000000;--vl-scrollbar-thumb: #f5f5f511;--vl-scrollbar-thumb-hover: #f5f5f51e;--vl-scrollbar-thumb-active: #f5f5f530;--ds-color-bg-canvas: var(--vl-canvas);--ds-color-bg-app: var(--vl-canvas);--ds-color-surface-1: var(--vl-surface-1);--ds-color-surface-2: var(--vl-surface-2);--ds-color-surface-3: var(--vl-surface-3);--ds-color-surface-4: var(--vl-surface-4);--ds-color-border-subtle: var(--vl-border-subtle);--ds-color-border-default: var(--vl-border-default);--ds-color-border-strong: var(--vl-border-strong);--ds-color-text-primary: var(--vl-text-primary);--ds-color-text-secondary: var(--vl-text-secondary);--ds-color-text-tertiary: var(--vl-text-tertiary);--ds-color-text-disabled: var(--vl-text-disabled);--ds-color-accent-primary: var(--vl-accent);--ds-color-accent-hover: var(--vl-accent-hover);--ds-color-accent-soft: var(--vl-accent-soft);--ds-color-accent-soft-strong: var(--vl-accent-border);--ds-color-accent-secondary: var(--vl-accent-hover);--ds-color-accent-text: var(--vl-accent-text);--ds-color-success: var(--vl-success);--ds-color-warning: var(--vl-warning);--ds-color-danger: var(--vl-danger);--ds-color-info: var(--vl-info);--ds-color-feedback-error: var(--vl-danger);--ds-color-feedback-warning: var(--vl-warning);--ds-color-feedback-success: var(--vl-success);--ds-color-feedback-info: var(--vl-info);--ds-font-family-display: var(--vl-font-display);--ds-font-family-sans: var(--vl-font-sans);--ds-font-family-mono: var(--vl-font-mono);--ds-font-size-2xs: var(--vl-text-size-technical);--ds-font-size-xs: var(--vl-text-size-metadata);--ds-font-size-sm: var(--vl-text-size-table);--ds-font-size-md: var(--vl-text-size-ui);--ds-font-size-lg: var(--vl-text-size-body);--ds-line-height-tight: var(--vl-leading-tight);--ds-line-height-base: var(--vl-leading-base);--ds-line-height-loose: var(--vl-leading-loose);--ds-font-weight-medium: var(--vl-weight-medium);--ds-font-weight-semibold: var(--vl-weight-semibold);--ds-font-weight-bold: var(--vl-weight-bold);--ds-space-1: var(--vl-space-1);--ds-space-2: var(--vl-space-2);--ds-space-3: var(--vl-space-3);--ds-space-4: var(--vl-space-4);--ds-space-5: var(--vl-space-5);--ds-space-6: var(--vl-space-6);--ds-space-7: var(--vl-space-7);--ds-space-8: var(--vl-space-8);--ds-space-9: var(--vl-space-9);--ds-radius-xs: var(--vl-radius);--ds-radius-sm: var(--vl-radius);--ds-radius-md: var(--vl-radius);--ds-radius-lg: var(--vl-radius);--ds-radius-xl: var(--vl-radius);--ds-radius-pill: var(--vl-radius);--ds-shadow-inset: var(--vl-shadow-inset);--ds-shadow-soft: var(--vl-shadow-overlay);--ds-shadow-focus: var(--vl-shadow-focus);--ds-motion-fast: var(--vl-motion-fast);--ds-motion-base: var(--vl-motion-base);--ds-motion-slow: var(--vl-motion-slow);--ds-z-base: var(--vl-z-base);--ds-z-overlay: var(--vl-z-overlay);--ds-z-floating: var(--vl-z-floating);--ds-density-default-control-h: var(--vl-control-h-compact);--ds-density-default-rail: var(--vl-rail-w);--ds-control-h: var(--vl-control-h-compact);--ds-rail-w: var(--vl-rail-w);--color-bg: var(--vl-canvas);--color-surface: var(--vl-surface-1);--color-surface-2: var(--vl-surface-2);--color-surface-3: var(--vl-surface-3);--color-border: var(--vl-border-subtle);--color-border-2: var(--vl-border-default);--color-text: var(--vl-text-primary);--color-text-muted: var(--vl-text-secondary);--color-text-dim: var(--vl-text-disabled);--color-accent: var(--vl-accent);--color-accent-hover: var(--vl-accent-hover);--color-accent-2: var(--vl-accent-hover);--color-accent-dim: var(--vl-surface-3);--color-success: var(--vl-success);--color-error: var(--vl-danger);--color-warn: var(--vl-warning);--topbar-h: var(--vl-topbar-h);--tabbar-h: var(--vl-tabbar-h);--sidebar-w: var(--vl-sidebar-w);--console-h: var(--vl-console-h);--radius-sm: var(--vl-radius);--radius-md: var(--vl-radius);--radius-lg: var(--vl-radius);--radius-xl: var(--vl-radius);--t-fast: var(--vl-motion-fast);--t-base: var(--vl-motion-base);--t-slow: var(--vl-motion-slow);--scrollbar-size: var(--vl-scrollbar-size);--scrollbar-radius: var(--vl-scrollbar-radius);--scrollbar-track: var(--vl-scrollbar-track);--scrollbar-track-hover: var(--vl-scrollbar-track);--scrollbar-thumb: var(--vl-scrollbar-thumb);--scrollbar-thumb-hover: var(--vl-scrollbar-thumb-hover);--scrollbar-thumb-active: var(--vl-scrollbar-thumb-active)}}:root{color-scheme:dark;font-family:var(--vl-font-sans);font-size:var(--vl-text-size-ui);background:var(--vl-canvas);color:var(--vl-text-primary);-webkit-font-smoothing:antialiased}*,*:before,*:after{box-sizing:border-box}html,body,#root{min-height:100%}body{margin:0;background:var(--vl-canvas)}button,input,select,textarea{font:inherit}::selection{background:var(--vl-accent-soft);color:var(--vl-text-primary)}.app-shell{min-height:100vh;color:var(--vl-text-primary)}.site-header{position:sticky;top:0;z-index:var(--vl-z-floating);display:flex;align-items:center;justify-content:space-between;height:48px;padding:0 clamp(14px,3vw,32px);background:#141414db;border-bottom:1px solid var(--vl-border-subtle);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.brand-button,.ghost-button,.icon-text-button,.match-card{border:0;color:inherit;font:inherit}.brand-button{display:inline-flex;align-items:center;gap:10px;padding:0;background:transparent;color:var(--vl-text-primary);font-weight:var(--vl-weight-semibold);cursor:pointer}.brand-mark{display:grid;width:28px;height:28px;place-items:center;font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-bold)}.powered{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.page{width:min(1320px,100%);margin:0 auto;padding:clamp(18px,4vw,34px)}.page--match{width:min(1480px,100%)}.page-head,.match-topbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:18px}.match-topbar{align-items:stretch;flex-direction:column;gap:10px}.match-topbar__nav{display:flex;align-items:flex-end;justify-content:space-between}.match-topbar__main{display:flex;align-items:center;justify-content:space-between;gap:16px}.match-topbar__title{min-width:0;flex:1}h1,h2,p{margin-top:0}h1{margin-bottom:0;font-size:clamp(28px,4vw,44px);line-height:1.04;letter-spacing:0}h2{margin-bottom:6px;font-size:var(--vl-text-size-screen-title);letter-spacing:0}.ghost-button,.icon-text-button{min-height:32px;padding:0 12px;border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:var(--vl-surface-2);cursor:pointer}.ghost-button{background:transparent}.ghost-button--danger{border-color:color-mix(in srgb,var(--vl-danger) 42%,transparent);color:var(--vl-danger)}.icon-text-button:disabled{cursor:default;opacity:.6}.notice,.empty-state{border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-1)}.notice{margin-bottom:16px;padding:12px 14px;color:var(--vl-text-secondary)}.notice--error{border-color:#ffffff38}.empty-state{padding:28px;color:var(--vl-text-secondary)}.empty-state h2{color:var(--vl-text-primary)}.empty-state p{max-width:560px;margin-bottom:0}.filter-bar{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.filter-chip{display:inline-flex;align-items:center;gap:8px;min-height:32px;padding:0 12px;border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:transparent;color:var(--vl-text-secondary);cursor:pointer;font:inherit;font-size:var(--vl-text-size-table)}.filter-chip span{color:var(--vl-text-disabled);font-family:var(--vl-font-mono);font-size:var(--vl-text-size-metadata)}.filter-chip--active{border-color:var(--vl-accent-border);background:var(--vl-surface-2);color:var(--vl-text-primary)}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}.match-card{display:grid;min-height:188px;padding:16px;text-align:left;background:var(--vl-surface-1);border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);box-shadow:var(--vl-shadow-inset);cursor:pointer;transition:border-color var(--vl-motion-fast),background var(--vl-motion-fast)}.match-card:hover{background:var(--vl-surface-2);border-color:var(--vl-accent-border)}.match-card__title{align-self:end;margin-top:18px;font-size:var(--vl-text-size-body);font-weight:var(--vl-weight-semibold)}.match-card__teams,.match-card__meta,.match-card__updated{color:var(--vl-text-secondary);font-size:var(--vl-text-size-table)}.match-card__score{font-family:var(--vl-font-mono);font-size:var(--vl-text-size-score);font-weight:var(--vl-weight-bold)}.match-card__updated.stale,.stale-text{color:var(--vl-warning)}.status-pill{justify-self:start;padding:4px 8px;border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-semibold);text-transform:uppercase}.status-pill--live{color:var(--vl-text-primary);background:#ffffff14}.status-pill--stale{background:#ffffff0a}.match-meta-strip{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:14px;color:var(--vl-text-secondary);font-size:var(--vl-text-size-table)}.page--admin{width:min(1520px,100%)}.admin-topbar{display:flex;flex-direction:column;gap:10px;margin-bottom:18px}.admin-topbar__actions{display:flex;align-items:center;justify-content:space-between;gap:12px}.admin-topbar__actions-left,.admin-login,.admin-actions{display:flex;align-items:center;gap:8px}.admin-login{width:min(520px,100%);margin:0 auto;align-items:stretch;flex-direction:column}.admin-filter{width:100%;margin-bottom:18px}.admin-input{width:100%;min-height:36px;padding:0 10px;border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:var(--vl-surface-1);color:var(--vl-text-primary);font:inherit}.admin-input--compact{width:min(360px,100%)}.admin-section{margin-top:18px}.admin-section__head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.admin-section__head h2{margin-bottom:0}.admin-section-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px;width:100%;margin-bottom:10px}.admin-section-actions .admin-input--compact{width:auto;min-width:0;flex:1 1 auto}.admin-section-actions .ghost-button{flex:0 0 auto;white-space:nowrap}.admin-table-wrap{overflow-x:auto;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-1)}.admin-table{width:100%;min-width:780px;border-collapse:collapse;font-size:var(--vl-text-size-table)}.admin-table th,.admin-table td{padding:10px 12px;border-bottom:1px solid var(--vl-border-subtle);text-align:left;vertical-align:middle}.admin-table th{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-semibold);text-transform:uppercase}.admin-table tr:last-child td{border-bottom:0}.admin-row--selected{background:#ffffff09}.admin-checkbox-cell{width:40px;text-align:center!important}.admin-checkbox{width:16px;height:16px;margin:0;accent-color:var(--vl-accent);vertical-align:middle}.admin-row-actions{display:flex;flex-wrap:wrap;gap:6px}.admin-match-title{font-weight:var(--vl-weight-semibold)}.admin-match-subtitle{margin-top:3px;color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}@media (max-width: 720px){.site-header{height:44px}.powered{display:none}.page{padding:16px 12px 24px}.page-head,.match-topbar,.match-topbar__main{align-items:stretch;flex-direction:column}.match-topbar .ghost-button,.match-topbar .icon-text-button{width:100%}.match-grid{grid-template-columns:1fr}.admin-actions,.admin-topbar__actions,.admin-topbar__actions-left,.admin-row-actions{align-items:stretch;flex-direction:column}.admin-section-actions{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:flex-start;gap:8px}.admin-topbar{display:flex;flex-direction:row;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}}.cs2-scoreline{display:flex;flex-wrap:wrap;align-items:baseline;gap:clamp(16px,4vw,44px);margin-bottom:var(--vl-space-4);padding:var(--vl-space-4);border:1px solid var(--vl-border-subtle);background:var(--vl-surface-1)}.cs2-scoreline .cs2-scoreline__team{display:grid;grid-template-columns:auto auto;grid-template-rows:auto auto;column-gap:var(--vl-space-3);align-items:baseline}.cs2-scoreline .cs2-scoreline__name{font-weight:var(--vl-weight-semibold)}.cs2-scoreline .cs2-scoreline__score{grid-row:span 2;font-size:var(--vl-text-size-score);font-weight:var(--vl-weight-bold);letter-spacing:var(--vl-tracking-score);color:var(--vl-text-secondary)}.cs2-scoreline .cs2-scoreline__score--won{color:var(--vl-text-primary)}.cs2-scoreline .cs2-scoreline__sides,.cs2-scoreline .cs2-scoreline__rounds{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata);letter-spacing:var(--vl-tracking-metadata)}.cs2-scoreline .cs2-scoreline__rounds{margin-left:auto}.cs2-timeline{display:flex;flex-wrap:wrap;gap:2px;margin-bottom:var(--vl-space-4)}.cs2-timeline .cs2-timeline__round{display:grid;place-items:center;min-width:30px;padding:var(--vl-space-2) var(--vl-space-1);border:1px solid var(--vl-border-subtle);background:color-mix(in srgb,var(--vl-surface-1) 92%,transparent);color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.cs2-timeline .cs2-timeline__round--leader{background:color-mix(in srgb,var(--vl-accent) 26%,var(--vl-surface-2));border-color:var(--vl-accent-border);color:var(--vl-text-primary)}.cs2-timeline .cs2-timeline__mark{min-height:1em;line-height:1}.cs2-board{margin-bottom:var(--vl-space-5);border:1px solid var(--vl-border-subtle);background:var(--vl-surface-1)}.cs2-board .cs2-board__header{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:var(--vl-space-3);padding:var(--vl-space-3) var(--vl-space-4);border-bottom:1px solid var(--vl-border-subtle)}.cs2-board .cs2-board__header h2{margin:0;font-size:var(--vl-text-size-body);letter-spacing:var(--vl-tracking-panel-title)}.cs2-board .cs2-board__meta{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.cs2-board .cs2-board__scroll{overflow-x:auto}.cs2-board .cs2-board__table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}.cs2-board th,.cs2-board td{padding:var(--vl-space-2) var(--vl-space-4);text-align:right;white-space:nowrap}.cs2-board thead th{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata);font-weight:var(--vl-weight-medium);letter-spacing:var(--vl-tracking-metadata)}.cs2-board tbody th{text-align:left;font-weight:var(--vl-weight-semibold)}.cs2-board thead th:first-child,.cs2-board tbody th:first-child{text-align:left}.cs2-board tbody tr+tr{border-top:1px solid color-mix(in srgb,var(--vl-border-subtle) 60%,transparent)}.cs2-footnote{max-width:78ch;color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.site-nav{display:flex;align-items:center;gap:var(--vl-space-3)}.site-nav--sections{margin-right:auto;margin-left:var(--vl-space-4)}.site-nav--sections .site-nav__link[aria-current=page]{background:var(--vl-surface-2);color:var(--vl-text-primary)}.site-lang{display:inline-flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius)}.site-lang__option{height:22px;padding:0 var(--vl-space-2);border:0;border-radius:calc(var(--vl-radius) - 2px);background:transparent;color:var(--vl-text-tertiary);font:inherit;font-size:var(--vl-text-size-metadata);letter-spacing:.04em;cursor:pointer}.site-lang__option:hover{color:var(--vl-text-secondary)}.site-lang__option[aria-pressed=true]{background:var(--vl-surface-2);color:var(--vl-text-primary)}.site-nav__user{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.site-nav__link,.site-nav__cta{height:var(--vl-control-h-compact);padding:0 var(--vl-space-4);border:1px solid transparent;border-radius:var(--vl-radius);background:transparent;color:var(--vl-text-secondary);font:inherit;font-size:var(--vl-text-size-table);cursor:pointer;transition:color var(--vl-motion-fast),background var(--vl-motion-fast),border-color var(--vl-motion-fast)}.site-nav__link:hover{background:var(--vl-surface-2);color:var(--vl-text-primary)}.site-nav__cta{border-color:var(--vl-accent-border);background:var(--vl-accent);color:var(--vl-accent-text)}.site-nav__cta:hover{background:var(--vl-accent-hover)}.page--settling{min-height:60vh}.page--auth{display:flex;justify-content:center;padding-top:clamp(32px,8vh,96px)}.auth-card{display:flex;flex-direction:column;gap:var(--vl-space-5);width:min(420px,100%);padding:clamp(20px,4vw,32px);border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-1)}.auth-card__head{display:flex;flex-direction:column;gap:var(--vl-space-2)}.auth-card__title{margin:0;font-size:var(--vl-text-size-screen-title);font-weight:var(--vl-weight-semibold);letter-spacing:-.01em;line-height:var(--vl-leading-tight)}.auth-card__lede{margin:0;color:var(--vl-text-secondary);font-size:var(--vl-text-size-table)}.auth-form{display:flex;flex-direction:column;gap:var(--vl-space-4)}.field{display:flex;flex-direction:column;gap:var(--vl-space-2)}.field__label{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.field__input{height:var(--vl-control-h-primary);padding:0 var(--vl-space-4);border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:var(--vl-canvas);color:var(--vl-text-primary);font:inherit;font-size:var(--vl-text-size-ui)}.field__input:focus{border-color:var(--vl-accent-border);box-shadow:var(--vl-shadow-focus);outline:none}.field__hint{color:var(--vl-text-tertiary);font-size:var(--vl-text-size-metadata)}.field__error{margin:0;color:var(--vl-danger);font-size:var(--vl-text-size-table)}.auth-form__actions{display:flex;align-items:center;gap:var(--vl-space-3)}.auth-form__submit{height:var(--vl-control-h-primary);padding:0 var(--vl-space-5);border:1px solid var(--vl-accent-border);border-radius:var(--vl-radius);background:var(--vl-accent);color:var(--vl-accent-text);font:inherit;font-size:var(--vl-text-size-ui);font-weight:var(--vl-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--vl-motion-fast)}.auth-form__submit:hover:not(:disabled){background:var(--vl-accent-hover)}.auth-form__submit:disabled{opacity:.6;cursor:default}.auth-form__back{height:var(--vl-control-h-primary);padding:0 var(--vl-space-4);border:1px solid var(--vl-border-default);border-radius:var(--vl-radius);background:transparent;color:var(--vl-text-secondary);font:inherit;font-size:var(--vl-text-size-table);white-space:nowrap;cursor:pointer}.auth-form__back:hover:not(:disabled){background:var(--vl-surface-2);color:var(--vl-text-primary)}.landing{width:min(1320px,100%);margin:0 auto;padding:clamp(18px,4vw,34px)}.landing-hero{display:grid;align-items:center;gap:clamp(24px,5vw,64px);padding-block:clamp(32px,9vh,88px)}.landing-hero__copy{display:flex;flex-direction:column;gap:var(--vl-space-5);max-width:46ch}.landing-hero__title{margin:0;font-size:clamp(var(--vl-text-size-screen-title),5vw,var(--vl-text-size-display));font-weight:var(--vl-weight-semibold);letter-spacing:-.02em;line-height:1.05;text-wrap:balance}.landing-hero__lede{max-width:52ch;margin:0;color:var(--vl-text-secondary);font-size:var(--vl-text-size-body);line-height:var(--vl-leading-base)}.landing-hero__actions{display:flex;flex-wrap:wrap;gap:var(--vl-space-3)}.landing-cta{height:var(--vl-control-h-primary);padding:0 var(--vl-space-5);border:1px solid var(--vl-accent-border);border-radius:var(--vl-radius);background:var(--vl-accent);color:var(--vl-accent-text);font:inherit;font-size:var(--vl-text-size-ui);font-weight:var(--vl-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--vl-motion-fast)}.landing-cta:hover{background:var(--vl-accent-hover)}.landing-cta--quiet{border-color:var(--vl-border-default);background:transparent;color:var(--vl-text-primary)}.landing-cta--quiet:hover{background:var(--vl-surface-2)}.landing-hero{grid-template-columns:minmax(0,5fr) minmax(0,7fr)}.landing-hero__shot img,.landing-centre__shot img{display:block;width:100%;height:auto;border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius)}.landing-hero__shot,.landing-centre__shot{margin:0}.landing-steps{display:flex;flex-direction:column;gap:var(--vl-space-5);padding-block:clamp(28px,6vh,64px);border-top:1px solid var(--vl-border-subtle)}.landing-steps__title,.landing-signals__head h2,.landing-centre__copy h2,.landing-close__title{margin:0;font-size:clamp(var(--vl-text-size-body),2.6vw,var(--vl-text-size-score));font-weight:var(--vl-weight-semibold);letter-spacing:-.015em;line-height:var(--vl-leading-tight);text-wrap:balance}.landing-steps__list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:0;padding:0;list-style:none}.landing-step{display:flex;flex-direction:column;gap:var(--vl-space-2);padding:0 var(--vl-space-5);border-left:1px solid var(--vl-border-subtle)}.landing-step:first-child{padding-left:0;border-left:0}.landing-step__what{color:var(--vl-text-primary);font-size:var(--vl-text-size-ui);font-weight:var(--vl-weight-medium)}.landing-step__how{color:var(--vl-text-secondary);font-size:var(--vl-text-size-table);line-height:var(--vl-leading-base)}.landing-signals{display:flex;flex-direction:column;gap:var(--vl-space-5);padding-block:clamp(28px,6vh,64px);border-top:1px solid var(--vl-border-subtle)}.landing-signals__head{display:flex;flex-direction:column;gap:var(--vl-space-3);max-width:60ch}.landing-signals__head p{margin:0;color:var(--vl-text-secondary);line-height:var(--vl-leading-base)}.landing-signals__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--vl-space-5)}.landing-signal{display:flex;flex-direction:column;gap:var(--vl-space-2);padding:var(--vl-space-5);border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-1)}.landing-signal__title{margin:0;font-size:var(--vl-text-size-ui);font-weight:var(--vl-weight-medium)}.landing-signal__body{margin:0;color:var(--vl-text-secondary);font-size:var(--vl-text-size-table);line-height:var(--vl-leading-base)}.landing-centre{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:center;gap:clamp(24px,5vw,56px);padding-block:clamp(28px,6vh,64px);border-top:1px solid var(--vl-border-subtle)}.landing-centre__copy{display:flex;flex-direction:column;gap:var(--vl-space-3)}.landing-centre__copy p{margin:0;color:var(--vl-text-secondary);line-height:var(--vl-leading-base)}.landing-close{display:flex;flex-direction:column;align-items:flex-start;gap:var(--vl-space-4);padding-block:clamp(32px,7vh,72px);border-top:1px solid var(--vl-border-subtle)}.landing-close__body{max-width:52ch;margin:0;color:var(--vl-text-secondary);line-height:var(--vl-leading-base)}.landing-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--vl-space-4);padding-block:var(--vl-space-5);border-top:1px solid var(--vl-border-subtle);color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.landing-footer__note{color:var(--vl-text-tertiary)}@media (width < 900px){.landing-hero,.landing-centre{grid-template-columns:minmax(0,1fr)}.landing-centre__shot{order:2}.landing-steps__list,.landing-signals__grid{grid-template-columns:minmax(0,1fr);gap:var(--vl-space-5)}.landing-step{padding:0 0 0 var(--vl-space-4)}.landing-step:first-child{padding-left:var(--vl-space-4);border-left:1px solid var(--vl-border-subtle)}}.cs2-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--vl-space-3)}.cs2-card{display:grid;grid-template-columns:1fr auto;gap:var(--vl-space-2) var(--vl-space-4);padding:var(--vl-space-4);border:1px solid var(--vl-border-subtle);background:var(--vl-surface-1);text-align:left;cursor:pointer}.cs2-card:hover{border-color:var(--vl-border-default);background:var(--vl-surface-2)}.cs2-card .cs2-card__title{font-weight:var(--vl-weight-semibold)}.cs2-card .cs2-card__score{grid-row:1 / span 2;grid-column:2;align-self:center;font-variant-numeric:tabular-nums;letter-spacing:var(--vl-tracking-score)}.cs2-card .cs2-card__meta,.cs2-card .cs2-card__flags{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.cs2-card .cs2-card__flags{grid-column:1 / -1;display:flex;gap:var(--vl-space-2)}.cs2-card .cs2-card__flags:empty{display:none}.cs2-flag{padding:0 var(--vl-space-2);border:1px solid var(--vl-border-subtle);color:var(--vl-text-secondary)}.cs2-form{display:flex;flex-direction:column;align-items:flex-start;gap:var(--vl-space-3);max-width:62ch}.cs2-replay-link{display:grid;gap:.35rem;justify-items:start;padding:var(--vl-space-4);border:1px solid var(--vl-border-subtle);border-radius:var(--vl-radius);background:var(--vl-surface-2);color:var(--vl-text-primary);text-decoration:none}.cs2-replay-link small{color:var(--vl-text-secondary);font-size:var(--vl-text-size-metadata)}.cs2-replay-link:hover{border-color:var(--vl-accent-border)}.cs2-replay-page__note{padding:var(--vl-space-5);color:var(--vl-text-secondary)}
