@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/inter-latin-variable.woff2") format("woff2");
}

@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 400 900;
  font-display: swap;
  src: url("../fonts/inter-latin-variable-italic.woff2") format("woff2");
}

:root {
  /* Google Fonts: Inter, self-hosted for the local/PWA runtime. */
  --font-family-sans: "Inter", sans-serif;
  --font-weight-regular: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --font-weight-extrabold: 800;
  --font-weight-black: 900;

  /* Central palette: component rules below only consume semantic tokens. */
  --palette-light-canvas: #f4f7f5;
  --palette-light-canvas-muted: #e8eeea;
  --palette-light-surface-1: #ffffff;
  --palette-light-surface-2: #eef3ef;
  --palette-light-surface-3: #dfe8e2;
  --palette-light-text: #0b1710;
  --palette-light-text-rgb: 11, 23, 16;
  --palette-light-text-secondary: rgba(11, 23, 16, 0.76);
  --palette-light-text-muted: rgba(11, 23, 16, 0.60);
  --palette-light-accent: #147a2f;
  --palette-light-accent-rgb: 20, 122, 47;
  --palette-light-highlight: #765700;
  --palette-light-highlight-rgb: 118, 87, 0;
  --palette-light-info: #176eb5;
  --palette-light-info-rgb: 23, 110, 181;
  --palette-light-danger: #b42318;
  --palette-light-danger-rgb: 180, 35, 24;
  --palette-light-on-accent: #ffffff;
  --palette-light-surface-deep-rgb: 255, 255, 255;
  --palette-light-surface-1-rgb: 255, 255, 255;
  --palette-light-surface-2-rgb: 238, 243, 239;
  --palette-light-surface-3-rgb: 223, 232, 226;
  --palette-light-shadow-rgb: 11, 23, 16;

  --palette-dark-canvas: #040507;
  --palette-dark-canvas-muted: #080a0e;
  --palette-dark-surface-1: #0d0e11;
  --palette-dark-surface-2: #16171b;
  --palette-dark-surface-3: #1e1f24;
  --palette-dark-text: #ffffff;
  --palette-dark-text-rgb: 255, 255, 255;
  --palette-dark-text-secondary: rgba(255, 255, 255, 0.78);
  --palette-dark-text-muted: rgba(255, 255, 255, 0.62);
  --palette-dark-accent: #42ff3b;
  --palette-dark-accent-rgb: 66, 255, 59;
  --palette-dark-highlight: #ffd51d;
  --palette-dark-highlight-rgb: 255, 213, 29;
  --palette-dark-info: #5fd2ff;
  --palette-dark-info-rgb: 95, 210, 255;
  --palette-dark-danger: #ff7369;
  --palette-dark-danger-rgb: 255, 115, 105;
  --palette-dark-on-accent: #041106;
  --palette-dark-surface-deep-rgb: 5, 7, 10;
  --palette-dark-surface-1-rgb: 13, 14, 17;
  --palette-dark-surface-2-rgb: 22, 23, 27;
  --palette-dark-surface-3-rgb: 30, 31, 36;
  --palette-dark-shadow-rgb: 0, 0, 0;
  --palette-overlay-rgb: 0, 0, 0;
  --palette-media-text: #ffffff;
  --palette-media-text-rgb: 255, 255, 255;
  --color-transparent: transparent;
  --skate-live-logo-image: url("../img/brand/skate-live-mark-on-light-20260711-v2.png");
  --skate-live-logo-matte: var(--palette-light-canvas);

  color-scheme: light;
  --theme-color: var(--palette-light-canvas);
  --bg-canvas: var(--palette-light-canvas);
  --bg-canvas-muted: var(--palette-light-canvas-muted);
  --surface-1: var(--palette-light-surface-1);
  --surface-2: var(--palette-light-surface-2);
  --surface-3: var(--palette-light-surface-3);
  --surface-deep-rgb: var(--palette-light-surface-deep-rgb);
  --surface-1-rgb: var(--palette-light-surface-1-rgb);
  --surface-2-rgb: var(--palette-light-surface-2-rgb);
  --surface-3-rgb: var(--palette-light-surface-3-rgb);
  --theme-contrast-rgb: var(--palette-light-text-rgb);
  --shadow-color-rgb: var(--palette-light-shadow-rgb);
  --text-primary: var(--palette-light-text);
  --text-secondary: var(--palette-light-text-secondary);
  --text-muted: var(--palette-light-text-muted);
  --text-on-accent: var(--palette-light-on-accent);
  --text-on-media: var(--palette-media-text);
  --text-on-media-rgb: var(--palette-media-text-rgb);
  --color-accent: var(--palette-light-accent);
  --color-accent-rgb: var(--palette-light-accent-rgb);
  --color-highlight: var(--palette-light-highlight);
  --color-highlight-rgb: var(--palette-light-highlight-rgb);
  --color-info: var(--palette-light-info);
  --color-info-rgb: var(--palette-light-info-rgb);
  --color-danger: var(--palette-light-danger);
  --color-danger-rgb: var(--palette-light-danger-rgb);

  --border-subtle: rgba(var(--theme-contrast-rgb), 0.12);
  --border-strong: rgba(var(--theme-contrast-rgb), 0.22);
  --border-accent: rgba(var(--color-accent-rgb), 0.48);
  --border-highlight: rgba(var(--color-highlight-rgb), 0.50);

  --button-primary-bg: var(--color-accent);
  --button-primary-text: var(--text-on-accent);
  --button-primary-border: var(--border-accent);
  --button-secondary-bg: rgba(var(--theme-contrast-rgb), 0.06);
  --button-secondary-text: var(--text-primary);
  --button-secondary-border: var(--border-subtle);
  --button-disabled-bg: rgba(var(--theme-contrast-rgb), 0.04);
  --button-disabled-text: var(--text-muted);

  --card-bg: rgba(var(--surface-2-rgb), 0.88);
  --card-bg-strong: rgba(var(--surface-3-rgb), 0.96);
  --card-border: var(--border-subtle);
  --modal-bg: var(--surface-2);
  --modal-border: var(--border-accent);
  --modal-backdrop: rgba(var(--palette-overlay-rgb), 0.72);
  --icon-color: var(--text-secondary);
  --icon-color-active: var(--color-accent);
  --svg-color: currentColor;
  --loader-track: rgba(var(--theme-contrast-rgb), 0.12);
  --loader-indicator: var(--color-accent);

  --space-1: 0.25rem;
  --space-2: 0.5rem;
  --space-3: 0.75rem;
  --space-4: 1rem;
  --space-5: 1.25rem;
  --space-6: 1.5rem;
  --space-7: 2rem;
  --space-8: 2.5rem;
  --space-9: 3rem;
  --radius-sm: 0.625rem;
  --radius-md: 1rem;
  --radius-lg: 1.5rem;
  --radius-xl: 1.875rem;
  --radius-pill: 999px;
  --shadow-soft: 0 12px 36px rgba(var(--shadow-color-rgb), 0.18);
  --shadow-card: 0 22px 70px rgba(var(--shadow-color-rgb), 0.28);
  --shadow-floating: 0 28px 90px rgba(var(--shadow-color-rgb), 0.45);
  --ease-standard: cubic-bezier(0.2, 0, 0, 1);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --duration-fast: 160ms;
  --duration-standard: 220ms;
  --duration-drawer: 320ms;

  --skate-live-text: var(--text-primary);
  --skate-live-text-soft: var(--text-secondary);
  --skate-live-muted: var(--text-muted);
  --skate-live-green: var(--color-accent);
  --skate-live-green-rgb: var(--color-accent-rgb);
  --skate-live-yellow: var(--color-highlight);
  --skate-live-yellow-rgb: var(--color-highlight-rgb);
  --skate-live-border: var(--border-subtle);
  --skate-live-surface: var(--card-bg-strong);
  --skate-live-z-sticky: 700;
  --skate-live-z-bottom-nav: 760;
  --skate-live-z-drawer: 900;
  --app-bottom-safe-space: 112px;
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --theme-color: var(--palette-dark-canvas);
  --bg-canvas: var(--palette-dark-canvas);
  --bg-canvas-muted: var(--palette-dark-canvas-muted);
  --surface-1: var(--palette-dark-surface-1);
  --surface-2: var(--palette-dark-surface-2);
  --surface-3: var(--palette-dark-surface-3);
  --surface-deep-rgb: var(--palette-dark-surface-deep-rgb);
  --surface-1-rgb: var(--palette-dark-surface-1-rgb);
  --surface-2-rgb: var(--palette-dark-surface-2-rgb);
  --surface-3-rgb: var(--palette-dark-surface-3-rgb);
  --theme-contrast-rgb: var(--palette-dark-text-rgb);
  --shadow-color-rgb: var(--palette-dark-shadow-rgb);
  --text-primary: var(--palette-dark-text);
  --text-secondary: var(--palette-dark-text-secondary);
  --text-muted: var(--palette-dark-text-muted);
  --text-on-accent: var(--palette-dark-on-accent);
  --color-accent: var(--palette-dark-accent);
  --color-accent-rgb: var(--palette-dark-accent-rgb);
  --color-highlight: var(--palette-dark-highlight);
  --color-highlight-rgb: var(--palette-dark-highlight-rgb);
  --color-info: var(--palette-dark-info);
  --color-info-rgb: var(--palette-dark-info-rgb);
  --color-danger: var(--palette-dark-danger);
  --color-danger-rgb: var(--palette-dark-danger-rgb);
  --skate-live-logo-image: url("../img/brand/skate-live-mark-on-dark-20260711-v2.png");
  --skate-live-logo-matte: var(--palette-dark-canvas);
}

@media (prefers-color-scheme: dark) {
  :root[data-theme="auto"] {
    color-scheme: dark;
    --theme-color: var(--palette-dark-canvas);
    --bg-canvas: var(--palette-dark-canvas);
    --bg-canvas-muted: var(--palette-dark-canvas-muted);
    --surface-1: var(--palette-dark-surface-1);
    --surface-2: var(--palette-dark-surface-2);
    --surface-3: var(--palette-dark-surface-3);
    --surface-deep-rgb: var(--palette-dark-surface-deep-rgb);
    --surface-1-rgb: var(--palette-dark-surface-1-rgb);
    --surface-2-rgb: var(--palette-dark-surface-2-rgb);
    --surface-3-rgb: var(--palette-dark-surface-3-rgb);
    --theme-contrast-rgb: var(--palette-dark-text-rgb);
    --shadow-color-rgb: var(--palette-dark-shadow-rgb);
    --text-primary: var(--palette-dark-text);
    --text-secondary: var(--palette-dark-text-secondary);
    --text-muted: var(--palette-dark-text-muted);
    --text-on-accent: var(--palette-dark-on-accent);
    --color-accent: var(--palette-dark-accent);
    --color-accent-rgb: var(--palette-dark-accent-rgb);
    --color-highlight: var(--palette-dark-highlight);
    --color-highlight-rgb: var(--palette-dark-highlight-rgb);
    --color-info: var(--palette-dark-info);
    --color-info-rgb: var(--palette-dark-info-rgb);
    --color-danger: var(--palette-dark-danger);
    --color-danger-rgb: var(--palette-dark-danger-rgb);
    --skate-live-logo-image: url("../img/brand/skate-live-mark-on-dark-20260711-v2.png");
    --skate-live-logo-matte: var(--palette-dark-canvas);
  }
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--bg-canvas);
  font-family: var(--font-family-sans);
  scroll-behavior: smooth;
}

body {
  min-width: 320px;
  min-height: 100%;
  margin: 0;
  background: var(--bg-canvas);
  color: var(--text-primary);
  font-family: var(--font-family-sans);
  line-height: 1.5;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body,
button,
input,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
}

button,
input,
select,
textarea {
  color: inherit;
}

button {
  cursor: pointer;
}

a {
  color: inherit;
}

img,
svg {
  display: block;
  max-width: 100%;
}

svg {
  color: var(--svg-color);
}

.svg-icon {
  color: inherit;
}

[hidden] {
  display: none !important;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

:focus-visible {
  outline: 3px solid rgba(var(--color-accent-rgb), 0.62);
  outline-offset: 3px;
}

.skip-link {
  position: fixed;
  top: var(--space-2);
  left: var(--space-3);
  z-index: 2000;
  padding: var(--space-2) var(--space-4);
  border-radius: var(--radius-sm);
  background: var(--text-primary);
  color: var(--bg-canvas);
  font-weight: var(--font-weight-extrabold);
  text-decoration: none;
  transform: translateY(-160%);
  transition: transform var(--duration-fast) var(--ease-standard);
}

.skip-link:focus {
  transform: translateY(0);
}

.eyebrow {
  margin: 0;
  color: var(--color-accent);
  font-size: 0.76rem;
  font-weight: var(--font-weight-black);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.skate-live-logo {
  display: block;
  background-color: var(--skate-live-logo-matte);
  background-image: var(--skate-live-logo-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.drawer__icon,
.quickbar__icon-image,
.skate-live-guide-icon {
  width: 21px;
  height: 21px;
  color: currentColor;
}

.has-drawer-open,
.has-fisr-live-guide-open {
  overflow: hidden;
}

.drawer {
  --drawer-drag-x: 0px;
  --drawer-overlay-opacity: 1;
  position: fixed;
  inset: 0;
  z-index: var(--skate-live-z-drawer);
  visibility: hidden;
  pointer-events: none;
  transition: visibility 0s linear var(--duration-drawer);
}

.drawer.is-open {
  visibility: visible;
  pointer-events: auto;
  transition-delay: 0s;
}

.drawer__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--modal-backdrop);
  opacity: 0;
  backdrop-filter: blur(5px);
  transition: opacity var(--duration-drawer) var(--ease-standard);
}

.drawer.is-open .drawer__backdrop {
  opacity: var(--drawer-overlay-opacity);
}

.drawer__panel {
  position: absolute;
  top: max(var(--space-2), env(safe-area-inset-top));
  bottom: max(var(--space-2), env(safe-area-inset-bottom));
  left: max(var(--space-2), env(safe-area-inset-left));
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  width: min(85vw, 420px);
  max-width: calc(100vw - 56px);
  overflow: hidden;
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: linear-gradient(180deg, var(--surface-2), var(--surface-1));
  box-shadow: var(--shadow-floating);
  touch-action: pan-y;
  transform: translate3d(calc(-100% - var(--space-4)), 0, 0);
  transition:
    transform var(--duration-drawer) var(--ease-out),
    box-shadow var(--duration-drawer) var(--ease-standard),
    background-color var(--duration-standard) var(--ease-standard),
    border-color var(--duration-standard) var(--ease-standard),
    color var(--duration-standard) var(--ease-standard);
  will-change: transform;
}

.drawer.is-open .drawer__panel {
  transform: translate3d(var(--drawer-drag-x), 0, 0);
}

.drawer.is-swiping .drawer__panel,
.drawer.is-swiping .drawer__backdrop {
  transition: none;
}

.drawer__brand {
  display: grid;
  grid-template-columns: 54px minmax(0, 1fr) 40px;
  align-items: center;
  gap: var(--space-3);
  padding: var(--space-4);
  border-bottom: 1px solid var(--border-subtle);
}

.drawer__brand strong,
.drawer__header strong {
  display: block;
  color: var(--text-primary);
}

.drawer__brand > div > span {
  display: block;
  color: var(--text-muted);
  font-size: 0.84rem;
}

.drawer__close {
  display: inline-grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--radius-pill);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-size: 1.45rem;
  line-height: 1;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard);
}

.drawer__body {
  position: relative;
  min-height: 0;
  overflow: hidden;
}

.drawer__pane {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  height: 100%;
  min-height: 0;
  padding: var(--space-4);
  overflow-y: auto;
  overscroll-behavior: contain;
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--space-5));
  transition:
    opacity var(--duration-fast) var(--ease-standard),
    transform var(--duration-fast) var(--ease-standard);
  -webkit-overflow-scrolling: touch;
}

.drawer__pane.is-active {
  position: relative;
  opacity: 1;
  pointer-events: auto;
  transform: translateX(0);
}

.drawer__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
}

.drawer__header--stack {
  align-items: flex-start;
  flex-direction: column;
}

.drawer__nav {
  display: grid;
  gap: var(--space-2);
}

.drawer__group-label {
  display: block;
  padding: var(--space-3) var(--space-1) var(--space-1);
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-black);
  text-transform: uppercase;
}

.drawer__section-button,
.drawer__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--space-3);
  width: 100%;
  min-height: 50px;
  padding: 10px var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: rgba(var(--theme-contrast-rgb), 0.045);
  color: var(--text-secondary);
  text-align: left;
  text-decoration: none;
  transition:
    border-color var(--duration-fast) var(--ease-standard),
    background var(--duration-fast) var(--ease-standard),
    color var(--duration-fast) var(--ease-standard);
}

.drawer__section-button:hover,
.drawer__section-button:focus-visible,
.drawer__section-button.is-active,
.drawer__item:hover,
.drawer__item:focus-visible,
.drawer__item.is-active {
  border-color: var(--border-accent);
  background: rgba(var(--color-accent-rgb), 0.10);
  color: var(--text-primary);
}

.drawer__section-button.has-live,
.drawer__item--live {
  border-color: rgba(var(--color-accent-rgb), 0.46);
  background: rgba(var(--color-accent-rgb), 0.09);
}

.drawer__submenu {
  display: grid;
  gap: var(--space-1);
  padding: 0 0 var(--space-1) 1.15rem;
}

.drawer__submenu[hidden] {
  display: none !important;
}

.drawer__submenu .drawer__item {
  min-height: 44px;
  padding-inline: var(--space-3);
  border-color: rgba(var(--theme-contrast-rgb), 0.08);
  background: rgba(var(--theme-contrast-rgb), 0.028);
  font-size: 0.88rem;
}

.drawer__section-main {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.drawer__live-badge {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 6px;
  min-height: 25px;
  margin-left: auto;
  padding: 5px 9px;
  border: 1px solid rgba(var(--color-accent-rgb), 0.52);
  border-radius: var(--radius-pill);
  background: rgba(var(--color-accent-rgb), 0.14);
  color: var(--color-accent);
  font-size: 0.68rem;
  font-weight: var(--font-weight-black);
  line-height: 1;
  text-transform: uppercase;
}

.drawer__live-badge::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: var(--radius-pill);
  background: currentColor;
  animation: skate-live-pulse 1.25s ease-out infinite;
}

.drawer__arrow,
.drawer__back-icon {
  position: relative;
  flex: 0 0 auto;
  width: 18px;
  height: 18px;
}

.drawer__arrow::before,
.drawer__back-icon::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 9px;
  height: 9px;
  border-top: 2px solid var(--color-accent);
  border-right: 2px solid var(--color-accent);
}

.drawer__arrow::before {
  transform: translate(-70%, -50%) rotate(45deg);
}

.drawer__section-button[aria-expanded="true"] .drawer__arrow::before {
  transform: translate(-55%, -70%) rotate(135deg);
}

.drawer__back {
  display: inline-flex;
  align-items: center;
  gap: var(--space-2);
  min-height: 40px;
  padding: var(--space-2) 13px;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--radius-pill);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
}

.drawer__back-icon::before {
  transform: translate(-30%, -50%) rotate(-135deg);
}

.drawer__back-label {
  white-space: nowrap;
}

.drawer-theme {
  display: grid;
  gap: var(--space-2);
  margin-top: auto;
  padding-top: var(--space-3);
  border-top: 1px solid var(--border-subtle);
}

.drawer-theme__head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
}

.drawer-theme__head strong {
  color: var(--text-primary);
  font-size: 0.88rem;
}

.drawer-theme__head span {
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: var(--font-weight-semibold);
}

.drawer-theme__options {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--space-1);
  padding: var(--space-1);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: rgba(var(--theme-contrast-rgb), 0.04);
}

.drawer-theme__options button {
  min-height: 38px;
  padding: var(--space-2);
  border: 1px solid var(--color-transparent);
  border-radius: calc(var(--radius-md) - var(--space-1));
  background: var(--color-transparent);
  color: var(--text-muted);
  font-size: 0.76rem;
  font-weight: var(--font-weight-bold);
}

.drawer-theme__options button[aria-pressed="true"] {
  border-color: var(--border-accent);
  background: rgba(var(--color-accent-rgb), 0.13);
  color: var(--color-accent);
  box-shadow: var(--shadow-soft);
}

.quickbar {
  position: fixed;
  left: 50%;
  bottom: max(10px, env(safe-area-inset-bottom));
  z-index: var(--skate-live-z-bottom-nav);
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  width: min(560px, calc(100% - 24px));
  min-height: 72px;
  padding: var(--space-2);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-lg);
  background: rgba(var(--surface-1-rgb), 0.92);
  box-shadow: var(--shadow-floating);
  backdrop-filter: blur(18px);
  transform: translateX(-50%);
}

.quickbar__item {
  display: flex;
  min-width: 0;
  min-height: 56px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: var(--space-1);
  padding: 6px;
  border: 1px solid var(--color-transparent);
  border-radius: var(--radius-md);
  background: var(--color-transparent);
  color: var(--text-muted);
  font-size: 0.73rem;
  font-weight: var(--font-weight-bold);
  text-align: center;
  text-decoration: none;
}

.quickbar__item:hover,
.quickbar__item:focus-visible,
.quickbar__item.is-active {
  border-color: rgba(var(--color-accent-rgb), 0.34);
  background: rgba(var(--color-accent-rgb), 0.10);
  color: var(--color-accent);
}

.quickbar__icon {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.fisr-live-guide-modal[hidden] {
  display: none !important;
}

.fisr-live-guide-modal {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: grid;
  place-items: center;
  padding: calc(14px + env(safe-area-inset-top)) calc(14px + env(safe-area-inset-right)) calc(14px + env(safe-area-inset-bottom)) calc(14px + env(safe-area-inset-left));
}

.fisr-live-guide-modal__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: var(--modal-backdrop);
  backdrop-filter: blur(12px);
}

.fisr-live-guide-modal__panel {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr) auto;
  width: min(100%, 980px);
  max-height: min(92dvh, 940px);
  overflow: hidden;
  border: 1px solid var(--modal-border);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 92% 0%, rgba(var(--color-accent-rgb), 0.12), var(--color-transparent) 34%),
    linear-gradient(180deg, var(--surface-2), var(--surface-1));
  box-shadow: var(--shadow-floating);
}

.fisr-live-guide-modal__panel:focus {
  outline: none;
}

.fisr-live-guide-modal__head {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 40px;
  align-items: start;
  gap: 14px;
  padding: clamp(18px, 3vw, 26px);
  border-bottom: 1px solid var(--border-subtle);
}

.fisr-live-guide-modal__mark,
.fisr-live-guide-symbol {
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--color-accent-rgb), 0.50);
  border-radius: var(--radius-pill);
  background: rgba(var(--color-accent-rgb), 0.10);
  color: var(--color-accent);
}

.fisr-live-guide-modal__mark {
  width: 42px;
  height: 42px;
  font-size: 1.1rem;
  font-weight: var(--font-weight-black);
}

.fisr-live-guide-modal__head .eyebrow,
.fisr-live-guide-modal__head h2,
.fisr-live-guide-modal__head p,
.fisr-live-guide-section h3,
.fisr-live-guide-section p {
  margin: 0;
}

.fisr-live-guide-modal__head h2 {
  margin-top: 6px;
  color: var(--text-primary);
  font-size: 1.72rem;
  line-height: 1.05;
}

.fisr-live-guide-modal__head p {
  margin-top: var(--space-2);
  color: var(--text-secondary);
  font-size: 0.96rem;
  line-height: 1.42;
}

.fisr-live-guide-modal__close {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  padding: 0;
  border: 1px solid var(--button-secondary-border);
  border-radius: var(--radius-pill);
  background: var(--button-secondary-bg);
  color: var(--button-secondary-text);
  font-size: 1.35rem;
}

.fisr-live-guide-modal__body {
  display: grid;
  gap: 18px;
  overflow: auto;
  padding: clamp(16px, 3vw, 24px);
  overscroll-behavior: contain;
}

.fisr-live-guide-section {
  display: grid;
  gap: 13px;
  padding: clamp(14px, 2.6vw, 20px);
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  background: var(--card-bg);
}

.fisr-live-guide-section--notice {
  border-color: rgba(var(--color-accent-rgb), 0.26);
  background: rgba(var(--color-accent-rgb), 0.055);
}

.fisr-live-guide-section h3 {
  color: var(--text-primary);
  font-size: 1.18rem;
  line-height: 1.12;
}

.fisr-live-guide-section p,
.fisr-live-guide-section li {
  color: var(--text-secondary);
  font-size: 0.94rem;
  line-height: 1.44;
}

.fisr-live-guide-section strong {
  color: var(--text-primary);
}

.fisr-live-guide-steps {
  display: grid;
  gap: var(--space-2);
  margin: 0;
  padding-left: 22px;
}

.fisr-live-guide-grid,
.fisr-live-guide-symbols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 220px), 1fr));
  gap: 10px;
}

.fisr-live-guide-grid article,
.fisr-live-guide-symbols article {
  display: grid;
  gap: 6px;
  min-width: 0;
  padding: var(--space-3);
  border: 1px solid var(--border-subtle);
  border-radius: var(--radius-md);
  background: rgba(var(--surface-deep-rgb), 0.18);
}

.fisr-live-guide-symbols article {
  grid-template-columns: 42px minmax(0, 1fr);
  align-items: center;
}

.fisr-live-guide-symbols article p {
  grid-column: 1 / -1;
}

.fisr-live-guide-symbol {
  width: 40px;
  height: 40px;
}

.fisr-live-guide-symbol svg,
.fisr-live-guide-symbol .skate-live-guide-icon {
  width: 22px;
  height: 22px;
}

.fisr-live-guide-symbols article:nth-of-type(2) .skate-live-guide-icon :is(path, circle, rect, line, polyline, polygon, ellipse),
.fisr-live-guide-symbols article:nth-of-type(4) .skate-live-guide-icon :is(path, circle, rect, line, polyline, polygon, ellipse) {
  fill: currentColor !important;
  stroke: none !important;
}

.fisr-live-guide-list,
.fisr-live-guide-faq {
  display: grid;
  gap: 9px;
}

.fisr-live-guide-note {
  padding: var(--space-3);
  border: 1px solid rgba(var(--color-info-rgb), 0.28);
  border-radius: var(--radius-md);
  background: rgba(var(--color-info-rgb), 0.08);
}

.fisr-live-guide-faq details {
  overflow: hidden;
  border: 1px solid var(--card-border);
  border-radius: var(--radius-md);
  background: rgba(var(--surface-deep-rgb), 0.18);
}

.fisr-live-guide-faq summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 30px;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 11px 13px;
  color: var(--text-primary);
  cursor: pointer;
  font-weight: var(--font-weight-extrabold);
  list-style: none;
}

.fisr-live-guide-faq summary::-webkit-details-marker {
  display: none;
}

.fisr-live-guide-faq summary::after {
  content: "+";
  display: grid;
  width: 30px;
  height: 30px;
  place-items: center;
  border: 1px solid rgba(var(--color-accent-rgb), 0.40);
  border-radius: var(--radius-pill);
  color: var(--color-accent);
}

.fisr-live-guide-faq details[open] summary::after {
  content: "−";
}

.fisr-live-guide-faq details p {
  padding: 0 13px 13px;
}

.fisr-live-guide-modal__footer {
  display: flex;
  justify-content: flex-end;
  padding: 14px clamp(16px, 3vw, 24px);
  border-top: 1px solid var(--border-subtle);
}

.fisr-live-guide-modal__action {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0 18px;
  border: 1px solid var(--button-primary-border);
  border-radius: var(--radius-md);
  background: var(--button-primary-bg);
  color: var(--button-primary-text);
  font-weight: var(--font-weight-black);
}

.skate-live-loader {
  width: 28px;
  height: 28px;
  border: 3px solid var(--loader-track);
  border-top-color: var(--loader-indicator);
  border-radius: var(--radius-pill);
  animation: skate-live-spin 0.8s linear infinite;
}

@keyframes skate-live-spin {
  to {
    transform: rotate(1turn);
  }
}

@keyframes skate-live-pulse {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0.55);
  }
  70% {
    box-shadow: 0 0 0 9px rgba(var(--color-accent-rgb), 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--color-accent-rgb), 0);
  }
}

@media (min-width: 768px) {
  .drawer__panel {
    left: max(var(--space-3), env(safe-area-inset-left));
  }
}

@media (max-width: 640px) {
  .fisr-live-guide-modal {
    place-items: stretch;
    padding: calc(8px + env(safe-area-inset-top)) calc(8px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(8px + env(safe-area-inset-left));
  }

  .fisr-live-guide-modal__panel {
    width: 100%;
    max-height: calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom));
  }

  .fisr-live-guide-modal__head {
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    gap: 10px;
    padding: 14px;
  }

  .fisr-live-guide-modal__mark,
  .fisr-live-guide-modal__close {
    width: 34px;
    height: 34px;
  }

  .fisr-live-guide-modal__head h2 {
    font-size: 1.3rem;
  }

  .fisr-live-guide-modal__head p,
  .fisr-live-guide-section p,
  .fisr-live-guide-section li {
    font-size: 0.86rem;
  }

  .fisr-live-guide-modal__body {
    gap: var(--space-3);
    padding: var(--space-3);
  }

  .fisr-live-guide-section {
    padding: var(--space-3);
  }

  .fisr-live-guide-grid,
  .fisr-live-guide-symbols {
    grid-template-columns: minmax(0, 1fr);
  }

  .fisr-live-guide-modal__footer {
    padding: var(--space-3);
  }

  .fisr-live-guide-modal__action {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Skate Live application screens */
body.race-live-app-screen {
  --race-live-green: var(--color-accent);
  --race-live-green-rgb: var(--color-accent-rgb);
  --race-live-panel: rgba(var(--surface-2-rgb), 0.92);
  --race-live-panel-strong: rgba(var(--surface-3-rgb), 0.98);
  --race-live-border: rgba(var(--theme-contrast-rgb), 0.12);
  --race-live-muted: rgba(var(--theme-contrast-rgb), 0.66);
  min-height: 100svh;
  padding: calc(88px + env(safe-area-inset-top)) 16px calc(var(--app-bottom-safe-space, 112px) + 24px);
  background:
    radial-gradient(circle at 18% 8%, rgba(var(--race-live-green-rgb), 0.18), var(--color-transparent) 28%),
    linear-gradient(180deg, var(--bg-canvas-muted) 0%, var(--surface-2) 48%, var(--bg-canvas) 100%);
  color: var(--skate-live-text, var(--text-primary));
}

.race-live-topbar {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: var(--skate-live-z-sticky, 700);
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: calc(10px + env(safe-area-inset-top)) 16px 10px;
  border-bottom: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  background: rgba(var(--surface-deep-rgb), 0.92);
  backdrop-filter: blur(18px);
}

.race-live-icon-button,
.race-live-topbar__status {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  min-height: 44px;
  border: 1px solid var(--race-live-border);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: var(--text-primary);
  text-decoration: none;
}

.race-live-icon {
  width: 22px;
  height: 22px;
}

.race-live-brand {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
  color: var(--text-primary);
  text-decoration: none;
}

.race-live-brand__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  flex: 0 0 42px;
  border: 1px solid rgba(var(--race-live-green-rgb), 0.58);
  border-radius: 14px;
  background: linear-gradient(135deg, rgba(var(--race-live-green-rgb), 0.18), rgba(var(--theme-contrast-rgb), 0.08));
  color: var(--race-live-green);
  font-size: 0.9rem;
  font-weight: 900;
}

.race-live-brand__mark--drawer {
  width: 54px;
  height: 54px;
  flex-basis: 54px;
  border-radius: 18px;
}

.race-live-brand__text {
  display: grid;
  gap: 2px;
  min-width: 0;
}

.race-live-brand__text strong {
  overflow: hidden;
  font-size: 1rem;
  line-height: 1.1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race-live-brand__text small {
  color: var(--race-live-muted);
  font-size: 0.76rem;
}

.race-live-topbar__status {
  gap: 7px;
  padding: 0 13px;
  font-size: 0.78rem;
  font-weight: 900;
}

.race-live-topbar__status span,
.race-live-hero__signal span {
  width: 9px;
  height: 9px;
  border-radius: 999px;
  background: currentColor;
}

.race-live-topbar__status.is-live,
.race-live-hero__signal.is-live,
.race-live-event-card__status {
  color: var(--race-live-green);
}

.race-live-main {
  width: min(100%, 680px);
  margin: 0 auto;
}

.race-live-hero {
  display: grid;
  gap: 14px;
}

.race-live-hero__signal {
  justify-self: start;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 9px 13px;
  border: 1px solid var(--race-live-border);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: rgba(var(--theme-contrast-rgb), 0.72);
  font-size: 0.8rem;
  font-weight: 900;
}

.race-live-hero__panel,
.race-live-empty,
.race-live-event-card,
.race-live-feature-grid article,
.race-live-event-row,
.race-live-contact-grid article {
  border: 1px solid var(--race-live-border);
  border-radius: 24px;
  background: var(--race-live-panel);
  box-shadow: 0 22px 70px rgba(var(--shadow-color-rgb), 0.28);
}

.race-live-hero__panel {
  position: relative;
  overflow: hidden;
  display: grid;
  gap: 16px;
  padding: 22px;
}

.race-live-hero__panel::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(135deg, rgba(var(--race-live-green-rgb), 0.16), var(--color-transparent) 42%);
}

.race-live-hero__panel > * {
  position: relative;
}

.race-live-hero__mark {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 88px;
  padding: 16px;
  border: 1px solid rgba(var(--race-live-green-rgb), 0.28);
  border-radius: 20px;
  background: rgba(var(--shadow-color-rgb), 0.25);
}

.race-live-hero__mark span {
  color: var(--race-live-green);
  font-size: clamp(2.1rem, 11vw, 4rem);
  font-style: italic;
  font-weight: 1000;
  line-height: 0.9;
}

.race-live-hero__mark i {
  display: block;
  width: min(38%, 150px);
  height: 44px;
  border-right: 4px solid var(--race-live-green);
  border-bottom: 4px solid var(--race-live-green);
  transform: skewX(-18deg);
  opacity: 0.75;
}

.race-live-hero h1,
.race-live-page-head h1 {
  margin: 0;
  font-size: clamp(2.15rem, 10vw, 4.6rem);
  line-height: 0.95;
}

.race-live-hero p,
.race-live-page-head span {
  margin: 0;
  color: rgba(var(--theme-contrast-rgb), 0.78);
  font-size: 1.04rem;
  line-height: 1.5;
}

.race-live-hero__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 10px;
}

.race-live-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-height: 48px;
  padding: 11px 13px;
  border: 1px solid var(--race-live-border);
  border-radius: 16px;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 900;
}

.race-live-button--primary {
  background: rgba(var(--race-live-green-rgb), 0.14);
  border-color: rgba(var(--race-live-green-rgb), 0.48);
  color: var(--race-live-green);
}

.race-live-button--ghost {
  background: rgba(var(--theme-contrast-rgb), 0.06);
}

.race-live-button__icon {
  width: 20px;
  height: 20px;
}

.race-live-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 14px 0 24px;
}

.race-live-strip article {
  display: grid;
  gap: 2px;
  min-width: 0;
  padding: 13px;
  border: 1px solid var(--race-live-border);
  border-radius: 18px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
}

.race-live-strip strong {
  color: var(--text-primary);
  font-size: 1.25rem;
}

.race-live-strip span,
.race-live-section__head p,
.race-live-page-head p,
.race-live-empty span,
.race-live-feature-grid span,
.race-live-contact-grid span,
.race-live-event-row small,
.race-live-event-row p {
  color: var(--race-live-muted);
}

.race-live-section,
.race-live-feature-grid,
.race-live-events-list,
.race-live-contact-grid {
  display: grid;
  gap: 14px;
  margin-top: 22px;
}

.race-live-section__head,
.race-live-page-head {
  display: grid;
  gap: 8px;
}

.race-live-section__head p,
.race-live-page-head p {
  margin: 0;
  color: var(--race-live-green);
  font-size: 0.78rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-live-section__head h2 {
  margin: 0;
  font-size: 1.55rem;
}

.race-live-card-list {
  display: grid;
  gap: 12px;
}

.race-live-event-card a,
.race-live-event-row a {
  display: grid;
  color: var(--text-primary);
  text-decoration: none;
}

.race-live-event-card a {
  gap: 8px;
  padding: 18px;
}

.race-live-event-card strong,
.race-live-empty strong,
.race-live-feature-grid strong,
.race-live-contact-grid strong,
.race-live-event-row strong {
  color: var(--text-primary);
}

.race-live-event-card small,
.race-live-event-card em {
  color: var(--race-live-muted);
  font-style: normal;
}

.race-live-empty {
  display: grid;
  gap: 6px;
  padding: 18px;
}

.race-live-feature-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.race-live-feature-grid article,
.race-live-contact-grid article {
  display: grid;
  align-content: start;
  gap: 9px;
  padding: 18px;
}

.race-live-feature-grid__icon,
.race-live-contact-grid__icon {
  width: 28px;
  height: 28px;
  color: var(--race-live-green);
}

.race-live-page-head {
  margin-bottom: 8px;
}

.race-live-events-list {
  margin-top: 16px;
}

.race-live-event-row {
  overflow: hidden;
}

.race-live-event-row a {
  grid-template-columns: 46px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 15px;
}

.race-live-event-row__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 15px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
}

.race-live-event-row.is-live .race-live-event-row__icon {
  color: var(--race-live-green);
  background: rgba(var(--race-live-green-rgb), 0.14);
}

.race-live-event-row__svg {
  width: 22px;
  height: 22px;
}

.race-live-event-row__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.race-live-event-row__body em {
  color: var(--race-live-green);
  font-size: 0.72rem;
  font-style: normal;
  font-weight: 900;
  text-transform: uppercase;
}

.race-live-event-row.is-idle .race-live-event-row__body em {
  color: rgba(var(--theme-contrast-rgb), 0.58);
}

.race-live-event-row__stats {
  display: grid;
  justify-items: center;
  min-width: 48px;
}

.race-live-event-row p {
  margin: 0;
  padding: 0 15px 15px 73px;
  font-size: 0.82rem;
}

.race-live-contact-grid a,
.race-live-contact-grid button {
  justify-self: start;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--race-live-green-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--race-live-green-rgb), 0.10);
  color: var(--race-live-green);
  font-weight: 900;
  text-decoration: none;
}

.race-live-contact-grid button:disabled {
  border-color: var(--race-live-border);
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: rgba(var(--theme-contrast-rgb), 0.54);
}

.race-live-contact-grid__featured {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.36) !important;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.14), var(--color-transparent) 34%),
    rgba(var(--skate-live-yellow-rgb), 0.06) !important;
}

.race-live-contact-grid__featured small {
  color: var(--skate-live-yellow);
  font-weight: 850;
}

.race-live-contact-grid__support {
  border-color: rgba(var(--skate-live-green-rgb), 0.34) !important;
  background:
    radial-gradient(circle at 0% 0%, rgba(var(--skate-live-green-rgb), 0.12), var(--color-transparent) 36%),
    var(--race-live-panel) !important;
}

.skate-live-profile-request-form,
.skate-live-profile-form {
  display: grid;
  gap: 12px;
  width: 100%;
  margin-top: 6px;
}

.skate-live-profile-request-form .skate-live-button,
.skate-live-profile-form .skate-live-button {
  justify-self: stretch;
}

.skate-live-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-profile-request-form label,
.skate-live-profile-form label {
  display: grid;
  gap: 7px;
  color: var(--text-primary);
  font-weight: 850;
}

.skate-live-profile-request-form label > span,
.skate-live-profile-form label > span {
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-profile-request-form input,
.skate-live-profile-request-form select,
.skate-live-profile-request-form textarea,
.skate-live-profile-form input,
.skate-live-profile-form select,
.skate-live-profile-form textarea {
  width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 16px;
  background: rgba(var(--shadow-color-rgb), 0.24);
  color: var(--text-primary);
  font: inherit;
  font-weight: 850;
}

.skate-live-profile-request-form textarea,
.skate-live-profile-form textarea {
  min-height: 124px;
  resize: vertical;
  line-height: 1.45;
}

.skate-live-profile-request-form input:focus,
.skate-live-profile-request-form select:focus,
.skate-live-profile-request-form textarea:focus,
.skate-live-profile-form input:focus,
.skate-live-profile-form select:focus,
.skate-live-profile-form textarea:focus {
  outline: 2px solid rgba(var(--skate-live-green-rgb), 0.34);
  border-color: rgba(var(--skate-live-green-rgb), 0.54);
}

.skate-live-support-form .skate-live-button {
  min-height: 54px;
  border-radius: 18px;
}

.skate-live-honeypot {
  position: absolute !important;
  left: -10000px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.race-live-contact-alert {
  display: grid;
  gap: 4px;
  padding: 12px 14px;
  border-radius: 16px;
  font-weight: 800;
  line-height: 1.35;
}

.race-live-contact-alert span {
  color: inherit !important;
}

.race-live-contact-alert--success {
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.38);
  background: rgba(var(--skate-live-green-rgb), 0.12);
  color: var(--skate-live-green);
}

.race-live-contact-alert--error {
  border: 1px solid rgba(var(--color-highlight-rgb), 0.45);
  background: rgba(var(--color-highlight-rgb), 0.12);
  color: var(--skate-live-yellow);
}

.skate-live-profile-request-form small,
.skate-live-profile-form small {
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-profile-consent {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  padding: 12px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.18);
  border-radius: 16px;
  background: rgba(var(--skate-live-green-rgb), 0.06);
}

.skate-live-profile-consent input {
  width: 22px;
  min-height: 22px;
  margin-top: 2px;
  accent-color: var(--skate-live-green);
}

.skate-live-profile-consent span {
  color: var(--skate-live-muted) !important;
  font-size: 0.88rem !important;
  font-weight: 750 !important;
  text-transform: none !important;
}

.skate-live-profile-consent a,
.skate-live-profile-legal-links a {
  color: var(--skate-live-green);
  font-weight: 900;
}

.skate-live-profile-legal-links {
  margin: 0;
  color: var(--skate-live-muted);
  font-size: 0.86rem;
  line-height: 1.5;
  text-align: center;
}

.skate-live-legal-menu {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--skate-live-line);
}

.skate-live-legal-menu .drawer__group-label {
  padding-top: 0;
}

.race-live-drawer .drawer__panel {
  background: rgba(var(--surface-1-rgb), 0.98);
}

.race-live-drawer__brand .race-live-brand__mark {
  margin-right: 0;
}

.race-live-event-menu .drawer__item > span {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.race-live-event-menu .drawer__item strong {
  overflow: hidden;
  color: inherit;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race-live-event-menu .drawer__item small {
  overflow: hidden;
  color: rgba(var(--theme-contrast-rgb), 0.58);
  font-size: 0.78rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.race-live-quickbar .quickbar__item.has-live {
  color: var(--race-live-green);
}

.race-live-quickbar .quickbar__item.has-live.is-active,
.race-live-quickbar .quickbar__item.has-live:hover {
  background: rgba(var(--race-live-green-rgb), 0.18);
}

.race-live-notification[hidden] {
  display: none;
}

.race-live-notification {
  position: fixed;
  inset: 0;
  z-index: calc(var(--skate-live-z-drawer, 900) + 20);
  display: grid;
  align-items: end;
  padding: 18px;
}

.race-live-notification__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--shadow-color-rgb), 0.66);
  backdrop-filter: blur(10px);
}

.race-live-notification__panel {
  position: relative;
  display: grid;
  gap: 12px;
  width: min(100%, 440px);
  margin: 0 auto;
  padding: 22px;
  border: 1px solid rgba(var(--race-live-green-rgb), 0.28);
  border-radius: 26px;
  background: rgba(var(--surface-1-rgb), 0.98);
  box-shadow: 0 30px 90px rgba(var(--shadow-color-rgb), 0.5);
}

.race-live-notification__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  border: 1px solid var(--race-live-border);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: var(--text-primary);
  font-size: 1.5rem;
  line-height: 1;
}

.race-live-notification__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border: 1px solid rgba(var(--race-live-green-rgb), 0.42);
  border-radius: 18px;
  background: rgba(var(--race-live-green-rgb), 0.14);
  color: var(--race-live-green);
}

.race-live-notification__icon-svg {
  width: 27px;
  height: 27px;
}

.race-live-notification__icon-svg path {
  fill: currentColor;
}

.race-live-notification p,
.race-live-notification h2,
.race-live-notification__copy {
  margin: 0;
}

.race-live-notification p {
  color: var(--race-live-green);
  font-size: 0.76rem;
  font-weight: 900;
  text-transform: uppercase;
}

.race-live-notification h2 {
  padding-right: 34px;
  color: var(--text-primary);
  font-size: 1.55rem;
  line-height: 1.08;
}

.race-live-notification__copy {
  color: rgba(var(--theme-contrast-rgb), 0.74);
  line-height: 1.45;
}

.race-live-notification__choices {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.race-live-notification__choices label {
  position: relative;
  display: flex;
  align-items: center;
  min-width: 0;
  min-height: 46px;
  padding: 11px 12px;
  border: 1px solid var(--race-live-border);
  border-radius: 16px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: var(--text-primary);
  font-weight: 800;
}

.race-live-notification__choices input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  min-height: 18px;
  margin: 0 9px 0 0;
  accent-color: var(--race-live-green);
}

.race-live-notification__status {
  min-height: 20px;
  color: rgba(var(--theme-contrast-rgb), 0.66);
  font-size: 0.9rem;
  line-height: 1.35;
}

.race-live-notification__status[data-tone="success"] {
  color: var(--race-live-green);
}

.race-live-notification__status[data-tone="warning"] {
  color: var(--color-highlight);
}

.race-live-notification__actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.race-live-notification__primary,
.race-live-notification__secondary {
  min-height: 46px;
  padding: 10px 14px;
  border-radius: 16px;
  font-weight: 900;
}

.race-live-notification__primary {
  border: 1px solid rgba(var(--race-live-green-rgb), 0.54);
  background: rgba(var(--race-live-green-rgb), 0.18);
  color: var(--race-live-green);
}

.race-live-notification__primary:disabled {
  border-color: var(--race-live-border);
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: rgba(var(--theme-contrast-rgb), 0.46);
}

.race-live-notification__secondary {
  border: 1px solid var(--race-live-border);
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: rgba(var(--theme-contrast-rgb), 0.78);
}

@media (max-width: 560px) {
  body.race-live-app-screen {
    padding-inline: 14px;
  }

  .race-live-topbar {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding-inline: 14px;
  }

  .race-live-brand__text small {
    display: none;
  }

  .race-live-hero__actions,
  .race-live-feature-grid,
  .race-live-contact-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .race-live-strip {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .race-live-strip article {
    padding: 11px 8px;
  }

  .race-live-strip span {
    font-size: 0.76rem;
  }

  .race-live-event-row a {
    grid-template-columns: 42px minmax(0, 1fr) auto;
  }

  .race-live-event-row p {
    padding-left: 69px;
  }

  .race-live-notification {
    padding: 12px;
  }

  .race-live-notification__panel {
    padding: 20px;
  }

  .race-live-notification__choices,
  .race-live-notification__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

body.race-live-app-screen.skate-live-app {
  --skate-live-green: var(--color-accent);
  --skate-live-green-rgb: var(--color-accent-rgb);
  --skate-live-yellow: var(--color-highlight);
  --skate-live-yellow-rgb: var(--color-highlight-rgb);
  --skate-live-ink: var(--bg-canvas);
  --skate-live-card: rgba(var(--surface-2-rgb), 0.88);
  --skate-live-card-strong: rgba(var(--surface-2-rgb), 0.96);
  --skate-live-line: rgba(var(--theme-contrast-rgb), 0.13);
  --skate-live-muted: rgba(var(--theme-contrast-rgb), 0.68);
  padding: calc(92px + env(safe-area-inset-top)) 16px calc(var(--app-bottom-safe-space, 112px) + 26px);
  background:
    radial-gradient(circle at 18% 12%, rgba(var(--skate-live-green-rgb), 0.16), var(--color-transparent) 29%),
    radial-gradient(circle at 86% 5%, rgba(var(--color-info-rgb), 0.14), var(--color-transparent) 30%),
    linear-gradient(180deg, var(--bg-canvas) 0%, var(--bg-canvas-muted) 44%, var(--bg-canvas) 100%);
}

.skate-live-app .race-live-topbar {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  padding: calc(12px + env(safe-area-inset-top)) 16px 12px;
  border-bottom: 0;
  background: rgba(var(--surface-deep-rgb), 0.92);
  box-shadow: 0 16px 42px rgba(var(--shadow-color-rgb), 0.28);
}

.skate-live-app .race-live-brand {
  gap: 12px;
}

.skate-live-app .race-live-brand__mark.skate-live-logo {
  position: relative;
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.72);
  border-radius: 17px;
  background-color: var(--skate-live-logo-matte);
  background-image: var(--skate-live-logo-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  box-shadow: 0 0 22px rgba(var(--skate-live-yellow-rgb), 0.12);
}

.skate-live-app .race-live-brand__mark.skate-live-logo::before {
  display: none;
}

.skate-live-app .race-live-brand__text strong {
  font-size: 1.2rem;
  font-style: italic;
  font-weight: 950;
  letter-spacing: 0;
}

.skate-live-app .race-live-brand__text strong em {
  color: var(--skate-live-green);
  font-style: italic;
}

.skate-live-app .race-live-topbar__status {
  min-height: 44px;
  padding: 0 16px;
  border-color: rgba(var(--theme-contrast-rgb), 0.12);
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: rgba(var(--theme-contrast-rgb), 0.72);
}

.skate-live-app .race-live-topbar__status.is-live {
  color: var(--skate-live-green);
  box-shadow: inset 0 0 0 1px rgba(var(--skate-live-green-rgb), 0.10), 0 0 24px rgba(var(--skate-live-green-rgb), 0.12);
}

.skate-live-app .race-live-main {
  width: min(100%, 690px);
}

.skate-live-home,
.skate-live-actions,
.skate-live-stat-grid,
.skate-live-events,
.skate-live-event-grid {
  display: grid;
}

.skate-live-home {
  gap: 16px;
}

.skate-live-independent-note {
  margin: 0;
  padding: 10px 14px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.12);
  border-radius: 16px;
  background: rgba(var(--theme-contrast-rgb), 0.04);
  color: rgba(var(--theme-contrast-rgb), 0.72);
  font-size: 0.82rem;
  line-height: 1.45;
  text-align: center;
}

.skate-live-support-guide {
  display: grid;
  gap: 16px;
  margin-bottom: 20px;
  padding: clamp(18px, 3vw, 28px);
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background: rgba(var(--theme-contrast-rgb), 0.04);
}

.skate-live-support-guide header p,
.skate-live-support-guide header h2,
.skate-live-support-guide article h3,
.skate-live-support-guide article p,
.skate-live-support-guide__legal {
  margin: 0;
}

.skate-live-support-guide header p {
  color: var(--skate-live-yellow);
  font-size: 0.76rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.skate-live-support-guide header h2 {
  margin-top: 4px;
}

.skate-live-support-guide__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.skate-live-support-guide article {
  display: grid;
  gap: 7px;
  padding: 16px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.11);
  border-radius: 18px;
  background: rgba(var(--surface-deep-rgb), 0.58);
}

.skate-live-support-guide article p,
.skate-live-support-guide__legal {
  color: var(--text-secondary);
  line-height: 1.55;
}

.skate-live-support-guide a {
  color: var(--skate-live-yellow);
  font-weight: 700;
}

@media (max-width: 680px) {
  .skate-live-support-guide__grid {
    grid-template-columns: 1fr;
  }
}

.skate-live-sr {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.skate-live-hero-card {
  position: relative;
  overflow: hidden;
  min-height: 204px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.16);
  border-radius: 26px;
  background:
    linear-gradient(180deg, rgba(var(--shadow-color-rgb), 0.02), rgba(var(--shadow-color-rgb), 0.10)),
    url("../img/live-app/skate-live-hero.jpg") center / cover no-repeat;
  box-shadow:
    0 22px 70px rgba(var(--shadow-color-rgb), 0.42),
    0 0 34px rgba(var(--skate-live-green-rgb), 0.11);
  aspect-ratio: 880 / 460;
}

.skate-live-hero-card::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(var(--skate-live-green-rgb), 0.08);
}

.skate-live-actions {
  grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
  gap: 12px;
}

.skate-live-action {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  min-height: 70px;
  padding: 12px 15px;
  border-radius: 24px;
  color: var(--text-primary);
  font: inherit;
  text-align: left;
  text-decoration: none;
}

.skate-live-action--primary {
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.42);
  background: linear-gradient(135deg, var(--skate-live-green) 0%, var(--skate-live-yellow) 78%);
  color: var(--text-on-accent);
  box-shadow: 0 16px 42px rgba(var(--skate-live-green-rgb), 0.18);
}

.skate-live-action--primary.is-disabled {
  opacity: 0.62;
}

.skate-live-action--guide {
  border: 1px solid var(--skate-live-line);
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-action--guide .skate-live-action__text strong {
  overflow: visible;
  text-overflow: clip;
}

.skate-live-action__round,
.skate-live-action__info {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border-radius: 999px;
}

.skate-live-action__round {
  background: var(--surface-2);
  color: var(--skate-live-green);
}

.skate-live-action__info {
  border: 2px solid var(--skate-live-yellow);
  color: var(--skate-live-yellow);
}

.skate-live-action__icon {
  width: 21px;
  height: 21px;
}

.skate-live-action__text {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.skate-live-action__text strong,
.skate-live-action__text small {
  overflow: hidden;
  text-overflow: ellipsis;
}

.skate-live-action__text strong {
  font-size: 1rem;
  font-weight: 950;
  line-height: 1.1;
  white-space: normal;
}

.skate-live-action__text small {
  font-size: 0.78rem;
  font-weight: 800;
  white-space: nowrap;
}

.skate-live-action--guide .skate-live-action__text small {
  display: none;
}

.skate-live-action__arrow {
  width: 20px;
  height: 20px;
}

.skate-live-stat-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-stat-card {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: start;
  min-width: 0;
  min-height: 138px;
  padding: 16px 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 20px;
  background: var(--skate-live-card);
  box-shadow: inset 0 1px 0 rgba(var(--theme-contrast-rgb), 0.05);
}

.skate-live-stat-card::after {
  content: "";
  position: absolute;
  right: -18px;
  top: -18px;
  width: 70px;
  height: 70px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.08);
  filter: blur(12px);
}

.skate-live-stat-card__icon {
  width: 28px;
  height: 28px;
  color: var(--skate-live-yellow);
}

.skate-live-stat-card.is-live .skate-live-stat-card__icon,
.skate-live-stat-card.is-ok .skate-live-stat-card__icon {
  color: var(--skate-live-green);
}

.skate-live-stat-card strong {
  margin-top: 10px;
  color: var(--text-primary);
  font-size: clamp(1.35rem, 7vw, 1.9rem);
  line-height: 1;
}

.skate-live-stat-card span,
.skate-live-stat-card small {
  min-width: 0;
  color: rgba(var(--theme-contrast-rgb), 0.78);
  line-height: 1.25;
}

.skate-live-stat-card span {
  margin-top: 8px;
  font-size: 0.92rem;
  font-weight: 850;
}

.skate-live-stat-card small {
  margin-top: 2px;
  color: var(--skate-live-muted);
  font-size: 0.78rem;
}

.skate-live-stat-card.is-live small,
.skate-live-stat-card.is-ok small {
  color: var(--skate-live-green);
}

.skate-live-events {
  gap: 12px;
  padding: 14px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  border-radius: 22px;
  background: rgba(var(--surface-1-rgb), 0.68);
}

.skate-live-section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.skate-live-section-head h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: 1.08rem;
  line-height: 1.1;
}

.skate-live-section-head a {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  color: var(--skate-live-yellow);
  font-size: 0.88rem;
  font-weight: 850;
  text-decoration: none;
  white-space: nowrap;
}

.skate-live-section-head__icon {
  width: 16px;
  height: 16px;
}

.skate-live-event-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-event-card {
  position: relative;
  overflow: hidden;
  display: grid;
  min-width: 0;
  min-height: 158px;
  align-content: start;
  gap: 7px;
  padding: 13px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.13);
  border-radius: 16px;
  background:
    linear-gradient(180deg, rgba(var(--surface-deep-rgb), 0.52), rgba(var(--surface-deep-rgb), 0.93)),
    url("../img/live-app/skate-live-hero.jpg") center / cover no-repeat;
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-event-card:nth-child(2) {
  background-position: 58% center;
}

.skate-live-event-card:nth-child(3) {
  background-position: right center;
}

.skate-live-event-card__badge {
  justify-self: start;
  padding: 4px 7px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.16);
  color: var(--skate-live-yellow);
  font-size: 0.7rem;
  font-weight: 950;
  line-height: 1;
}

.skate-live-event-card.is-live .skate-live-event-card__badge {
  background: var(--skate-live-green);
  color: var(--text-on-accent);
}

.skate-live-event-card strong,
.skate-live-event-card small,
.skate-live-event-card__place,
.skate-live-event-card em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.skate-live-event-card strong {
  display: -webkit-box;
  color: var(--text-primary);
  font-size: 0.9rem;
  line-height: 1.18;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.skate-live-event-card small,
.skate-live-event-card__place {
  color: rgba(var(--theme-contrast-rgb), 0.74);
  font-size: 0.76rem;
  line-height: 1.25;
  white-space: nowrap;
}

.skate-live-event-card__place {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}

.skate-live-event-card__place-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.skate-live-event-card em {
  align-self: end;
  margin-top: auto;
  color: var(--skate-live-yellow);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 900;
}

.skate-live-event-card.is-live em {
  color: var(--skate-live-green);
}

.skate-live-empty {
  display: grid;
  gap: 4px;
  padding: 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: var(--skate-live-card);
}

.skate-live-empty strong {
  color: var(--text-primary);
}

.skate-live-empty span {
  color: var(--skate-live-muted);
}

.skate-live-teams-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) 110px auto;
  align-items: center;
  gap: 14px;
  min-height: 94px;
  padding: 17px 16px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.26);
  border-radius: 22px;
  background: linear-gradient(90deg, rgba(var(--theme-contrast-rgb), 0.055), rgba(var(--skate-live-yellow-rgb), 0.06));
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-teams-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  color: var(--skate-live-yellow);
}

.skate-live-teams-card__svg {
  width: 44px;
  height: 44px;
}

.skate-live-teams-card__body {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.skate-live-teams-card__body strong {
  overflow: hidden;
  color: var(--text-primary);
  font-size: 1.14rem;
  line-height: 1.1;
  text-overflow: ellipsis;
}

.skate-live-teams-card__body small {
  overflow: hidden;
  color: var(--skate-live-muted);
  font-size: 0.9rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skate-live-teams-map {
  display: block;
  justify-self: end;
  width: 92px;
  height: 66px;
  object-fit: contain;
  opacity: 0.70;
  filter: drop-shadow(0 0 16px rgba(var(--skate-live-green-rgb), 0.28));
}

.skate-live-teams-card__arrow {
  width: 22px;
  height: 22px;
  color: var(--skate-live-yellow);
}

.skate-live-page-head {
  margin-bottom: 16px;
}

.skate-live-event-summary {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

.skate-live-event-summary article {
  display: grid;
  gap: 5px;
  min-width: 0;
  padding: 15px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: var(--skate-live-card);
}

.skate-live-event-summary__icon {
  width: 24px;
  height: 24px;
  color: var(--skate-live-yellow);
}

.skate-live-event-summary strong {
  color: var(--text-primary);
  font-size: 1.55rem;
  line-height: 1;
}

.skate-live-event-summary span,
.skate-live-sync-note {
  color: var(--skate-live-muted);
}

.skate-live-sync-note {
  margin: 0 0 14px;
  font-size: 0.82rem;
}

.skate-live-calendar-list,
.skate-live-team-directory {
  display: grid;
  gap: 12px;
}

.skate-live-calendar-card,
.skate-live-region-group,
.skate-live-team-filter {
  border: 1px solid var(--skate-live-line);
  border-radius: 20px;
  background: var(--skate-live-card);
}

.skate-live-calendar-card {
  overflow: hidden;
}

.skate-live-calendar-card a {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 13px;
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-calendar-card__date {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 7px;
  border-radius: 15px;
  background: rgba(var(--skate-live-yellow-rgb), 0.14);
  color: var(--skate-live-yellow);
  font-size: 0.82rem;
  font-weight: 950;
  text-align: center;
}

.skate-live-calendar-card.is-live .skate-live-calendar-card__date {
  background: rgba(var(--skate-live-green-rgb), 0.18);
  color: var(--skate-live-green);
}

.skate-live-calendar-card__body {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.skate-live-calendar-card__body strong,
.skate-live-calendar-card__body small,
.skate-live-calendar-card__body em {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.skate-live-calendar-card__body strong {
  color: var(--text-primary);
  line-height: 1.15;
}

.skate-live-calendar-card__body small,
.skate-live-calendar-card__body em {
  color: var(--skate-live-muted);
  font-size: 0.82rem;
  font-style: normal;
  white-space: nowrap;
}

.skate-live-calendar-card__body em {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}

.skate-live-calendar-card__meta-icon {
  width: 14px;
  height: 14px;
  flex: 0 0 14px;
}

.skate-live-calendar-card__state {
  align-self: center;
  justify-self: end;
  padding: 6px 9px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.14);
  color: var(--skate-live-yellow);
  font-size: 0.76rem;
  font-weight: 900;
  white-space: nowrap;
}

.skate-live-calendar-card.is-live .skate-live-calendar-card__state {
  background: rgba(var(--skate-live-green-rgb), 0.16);
  color: var(--skate-live-green);
}

.skate-live-team-filter {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr) auto;
  align-items: end;
  gap: 10px;
  margin: 0 0 14px;
  padding: 12px;
}

.skate-live-team-filter label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.skate-live-team-filter span {
  color: var(--skate-live-muted);
  font-size: 0.76rem;
  font-weight: 850;
}

.skate-live-team-filter input,
.skate-live-team-filter select {
  min-width: 0;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid var(--skate-live-line);
  border-radius: 14px;
  background: rgba(var(--shadow-color-rgb), 0.26);
  color: var(--text-primary);
  font: inherit;
}

.skate-live-team-filter button {
  min-height: 44px;
  padding: 10px 14px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.45);
  border-radius: 14px;
  background: rgba(var(--skate-live-yellow-rgb), 0.16);
  color: var(--skate-live-yellow);
  font-weight: 900;
}

.skate-live-region-group {
  overflow: hidden;
}

.skate-live-region-group header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 15px;
  border-bottom: 1px solid var(--skate-live-line);
}

.skate-live-region-group header strong {
  color: var(--text-primary);
}

.skate-live-region-group header span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  min-height: 30px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.14);
  color: var(--skate-live-yellow);
  font-size: 0.82rem;
  font-weight: 950;
}

.skate-live-team-list {
  display: grid;
}

.skate-live-team-row {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  align-items: center;
  gap: 11px;
  min-width: 0;
  padding: 12px 15px;
  border-bottom: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-team-row:last-child {
  border-bottom: 0;
}

.skate-live-team-row__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 42px;
  border-radius: 14px;
  background: rgba(var(--skate-live-yellow-rgb), 0.13);
  color: var(--skate-live-yellow);
  font-size: 0.74rem;
  font-weight: 950;
}

.skate-live-team-row__body {
  display: grid;
  min-width: 0;
  gap: 3px;
}

.skate-live-team-row__body strong,
.skate-live-team-row__body small {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.skate-live-team-row__body strong {
  color: var(--text-primary);
  line-height: 1.15;
}

.skate-live-team-row__body small {
  color: var(--skate-live-muted);
  font-size: 0.82rem;
  white-space: nowrap;
}

.skate-live-team-row__icon {
  width: 18px;
  height: 18px;
  color: var(--skate-live-yellow);
}

.skate-live-pagination {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 14px;
}

.skate-live-pagination a,
.skate-live-pagination span {
  padding: 9px 11px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: var(--text-primary);
  font-size: 0.84rem;
  text-decoration: none;
}

.skate-live-page {
  display: grid;
  gap: 16px;
}

.skate-live-page-hero,
.skate-live-event-detail-hero,
.skate-live-team-hero {
  position: relative;
  overflow: hidden;
  min-height: 220px;
  display: grid;
  align-items: end;
  padding: 24px 20px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.13);
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(var(--surface-deep-rgb), 0.96) 0%, rgba(var(--surface-deep-rgb), 0.76) 48%, rgba(var(--surface-deep-rgb), 0.26) 100%),
    url("../img/live-app/skate-live-hero.jpg") center / cover no-repeat;
  box-shadow: 0 26px 80px rgba(var(--shadow-color-rgb), 0.34), inset 0 0 0 1px rgba(var(--skate-live-green-rgb), 0.06);
}

.skate-live-page-hero--events {
  background-position: 64% center;
}

.skate-live-page-hero--rules {
  min-height: 230px;
  background:
    radial-gradient(circle at 88% 22%, rgba(var(--skate-live-yellow-rgb), 0.16), var(--color-transparent) 26%),
    radial-gradient(circle at 70% 65%, rgba(var(--skate-live-green-rgb), 0.18), var(--color-transparent) 32%),
    linear-gradient(90deg, rgba(var(--surface-deep-rgb), 0.98) 0%, rgba(var(--surface-1-rgb), 0.86) 58%, rgba(var(--surface-1-rgb), 0.62) 100%);
}

.skate-live-page-hero--teams {
  min-height: 245px;
  grid-template-columns: minmax(0, 1fr) 160px;
  align-items: center;
  background:
    radial-gradient(circle at 82% 34%, rgba(var(--skate-live-green-rgb), 0.18), var(--color-transparent) 28%),
    linear-gradient(90deg, rgba(var(--surface-deep-rgb), 0.98) 0%, rgba(var(--surface-deep-rgb), 0.78) 62%, rgba(var(--surface-deep-rgb), 0.42) 100%);
}

.skate-live-page-hero p,
.skate-live-page-hero h1,
.skate-live-page-hero span,
.skate-live-event-detail-hero h1,
.skate-live-event-detail-hero p,
.skate-live-team-hero h1,
.skate-live-team-hero p {
  margin: 0;
}

.skate-live-page-hero p {
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-page-hero h1,
.skate-live-event-detail-hero h1,
.skate-live-team-hero h1 {
  margin-top: 10px;
  color: var(--text-primary);
  font-size: clamp(2.8rem, 12vw, 4.9rem);
  line-height: 0.94;
}

.skate-live-event-detail-hero h1,
.skate-live-team-hero h1 {
  font-size: clamp(2rem, 8vw, 3.5rem);
}

.skate-live-team-hero h1 {
  max-width: 100%;
  font-size: clamp(1.75rem, 5.1vw, 2.95rem);
  line-height: 0.98;
  overflow-wrap: anywhere;
}

.skate-live-page-hero span {
  display: block;
  max-width: 440px;
  margin-top: 12px;
  color: rgba(var(--theme-contrast-rgb), 0.80);
  font-size: 1.08rem;
  line-height: 1.45;
}

.skate-live-italy-map {
  display: block;
  width: 150px;
  height: 180px;
  object-fit: contain;
  opacity: 0.82;
  filter: drop-shadow(0 0 24px rgba(var(--skate-live-green-rgb), 0.36));
}

.skate-live-data-card,
.skate-live-privacy-card,
.skate-live-app-note,
.skate-live-privacy-note {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 14px;
  min-height: 72px;
  padding: 15px 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 20px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-data-card__icon,
.skate-live-privacy-card__icon,
.skate-live-app-note__icon,
.skate-live-privacy-note__icon {
  width: 30px;
  height: 30px;
  color: var(--skate-live-green);
}

.skate-live-data-card strong,
.skate-live-data-card small,
.skate-live-privacy-card span,
.skate-live-app-note span,
.skate-live-privacy-note span {
  display: block;
  min-width: 0;
}

.skate-live-data-card strong {
  color: var(--text-primary);
  font-size: 1rem;
}

.skate-live-data-card small,
.skate-live-privacy-card span,
.skate-live-app-note span,
.skate-live-privacy-note span {
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-app-note strong {
  color: var(--skate-live-green);
}

.skate-live-event-filters,
.skate-live-team-search {
  display: grid;
  gap: 10px;
}

.skate-live-search-field,
.skate-live-filter-grid label,
.skate-live-region-select {
  display: grid;
  align-items: center;
  min-width: 0;
  min-height: 58px;
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-search-field {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  padding: 0 16px;
}

.skate-live-search-field__icon,
.skate-live-filter-grid__icon {
  width: 26px;
  height: 26px;
  color: rgba(var(--theme-contrast-rgb), 0.68);
}

.skate-live-search-field input,
.skate-live-filter-grid input,
.skate-live-filter-grid select,
.skate-live-region-select select {
  width: 100%;
  min-width: 0;
  min-height: 56px;
  border: 0;
  background: var(--color-transparent);
  color: var(--text-primary);
  font: inherit;
  font-size: 1rem;
  outline: 0;
}

.skate-live-filter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.skate-live-filter-grid label,
.skate-live-region-select {
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  padding: 0 14px;
}

.skate-live-filter-grid label span,
.skate-live-region-select span {
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 900;
}

.skate-live-filter-grid button,
.skate-live-team-search button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 58px;
  padding: 0 18px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.52);
  border-radius: 22px;
  background: rgba(var(--skate-live-yellow-rgb), 0.14);
  color: var(--skate-live-yellow);
  font: inherit;
  font-weight: 950;
}

.skate-live-filter-grid__button-icon {
  width: 22px;
  height: 22px;
}

.skate-live-clear-filters {
  justify-self: start;
  color: var(--skate-live-yellow);
  font-weight: 850;
  text-decoration: none;
}

.skate-live-section-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.13);
  color: var(--skate-live-green);
  font-weight: 950;
}

.skate-live-event-list {
  display: grid;
  gap: 12px;
}

.skate-live-event-list-card {
  position: relative;
  display: grid;
  grid-template-columns: 154px minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  min-height: 150px;
  padding: 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background: rgba(var(--surface-1-rgb), 0.88);
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-event-list-card__date {
  display: grid;
  justify-items: center;
  align-content: center;
  min-height: 122px;
  padding: 14px 10px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  border-radius: 20px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-event-list-card__date strong {
  color: var(--skate-live-yellow);
  font-size: 1.8rem;
  line-height: 1;
  white-space: nowrap;
}

.skate-live-event-list-card__date small,
.skate-live-event-list-card__date em {
  color: var(--text-primary);
  font-style: normal;
  font-weight: 900;
}

.skate-live-event-list-card__date em {
  color: rgba(var(--theme-contrast-rgb), 0.58);
  font-size: 1rem;
}

.skate-live-event-list-card__date-icon {
  width: 30px;
  height: 30px;
  margin-top: 10px;
  color: var(--skate-live-yellow);
}

.skate-live-event-list-card__body {
  display: grid;
  min-width: 0;
  gap: 7px;
}

.skate-live-event-list-card__body > strong {
  color: var(--text-primary);
  font-size: clamp(1.24rem, 5vw, 1.9rem);
  line-height: 1.1;
}

.skate-live-event-list-card__body small {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-width: 0;
  color: var(--skate-live-muted);
  font-size: 0.98rem;
  line-height: 1.25;
}

.skate-live-event-list-card__meta-icon {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  color: var(--skate-live-green);
}

.skate-live-event-list-card__arrow {
  width: 28px;
  height: 28px;
  color: var(--skate-live-yellow);
}

.skate-live-badge-row {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.skate-live-badge-row em {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 6px 12px;
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.08);
  color: rgba(var(--theme-contrast-rgb), 0.76);
  font-size: 0.84rem;
  font-style: normal;
  font-weight: 900;
}

.skate-live-badge-row em.is-program {
  background: linear-gradient(135deg, var(--skate-live-green), var(--color-accent));
  color: var(--text-on-accent);
}

.skate-live-badge-row em.is-live {
  background: rgba(var(--skate-live-green-rgb), 0.16);
  color: var(--skate-live-green);
}

.skate-live-team-stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.skate-live-team-stats article {
  display: grid;
  gap: 6px;
  min-height: 112px;
  padding: 17px;
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-team-stats__icon {
  width: 34px;
  height: 34px;
  color: var(--skate-live-green);
}

.skate-live-team-stats strong {
  color: var(--skate-live-green);
  font-size: 2rem;
  line-height: 1;
}

.skate-live-team-stats span {
  color: rgba(var(--theme-contrast-rgb), 0.78);
  font-size: 1rem;
}

.skate-live-rule-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.skate-live-rule-stats article {
  display: grid;
  gap: 7px;
  min-height: 118px;
  padding: 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.12), var(--color-transparent) 40%),
    rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-rule-stats__icon {
  width: 30px;
  height: 30px;
  color: var(--skate-live-yellow);
}

.skate-live-rule-stats strong {
  color: var(--text-primary);
  font-size: 2rem;
  line-height: 1;
}

.skate-live-rule-stats span {
  color: var(--skate-live-muted);
  font-size: 0.95rem;
  line-height: 1.15;
}

.skate-live-rule-family-strip {
  display: flex;
  gap: 9px;
  overflow-x: auto;
  padding: 2px 0 8px;
  scrollbar-width: none;
}

.skate-live-rule-family-strip::-webkit-scrollbar {
  display: none;
}

.skate-live-rule-family-strip span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 38px;
  padding: 8px 13px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: var(--text-primary);
  font-weight: 850;
  white-space: nowrap;
}

.skate-live-rule-family-strip em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 24px;
  min-height: 24px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.14);
  color: var(--skate-live-green);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 950;
}

.skate-live-rule-list {
  display: grid;
  gap: 13px;
}

.skate-live-rule-card {
  display: grid;
  gap: 14px;
  padding: 17px;
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.10), var(--color-transparent) 36%),
    rgba(var(--surface-1-rgb), 0.88);
}

.skate-live-rule-card.is-to-check {
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-yellow-rgb), 0.11), var(--color-transparent) 34%),
    rgba(var(--surface-1-rgb), 0.88);
}

.skate-live-rule-card header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
}

.skate-live-rule-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  border-radius: 16px;
  background: rgba(var(--skate-live-yellow-rgb), 0.13);
  color: var(--skate-live-yellow);
}

.skate-live-rule-card__icon .svg-icon {
  width: 24px;
  height: 24px;
}

.skate-live-rule-card header strong,
.skate-live-rule-card header small {
  display: block;
  min-width: 0;
}

.skate-live-rule-card header strong {
  color: var(--text-primary);
  font-size: clamp(1.18rem, 4.7vw, 1.65rem);
  line-height: 1.08;
}

.skate-live-rule-card header small {
  margin-top: 3px;
  color: var(--skate-live-muted);
  font-size: 0.9rem;
}

.skate-live-rule-card header em {
  align-self: start;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.14);
  color: var(--skate-live-green);
  font-size: 0.76rem;
  font-style: normal;
  font-weight: 950;
  white-space: nowrap;
}

.skate-live-rule-card.is-to-check header em {
  background: rgba(var(--skate-live-yellow-rgb), 0.15);
  color: var(--skate-live-yellow);
}

.skate-live-rule-card > p,
.skate-live-rule-details p,
.skate-live-rule-details small {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.43;
}

.skate-live-rule-chip-row,
.skate-live-rule-type-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.skate-live-rule-chip-row span,
.skate-live-rule-type-grid span {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.20);
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.07);
  color: rgba(var(--theme-contrast-rgb), 0.86);
  font-size: 0.84rem;
  font-weight: 850;
}

.skate-live-rule-type-grid span {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.20);
  background: rgba(var(--skate-live-yellow-rgb), 0.07);
}

.skate-live-rule-details {
  display: grid;
  gap: 10px;
  padding: 12px 13px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  border-radius: 18px;
  background: rgba(var(--theme-contrast-rgb), 0.045);
}

.skate-live-rule-details summary {
  color: var(--text-primary);
  cursor: pointer;
  font-weight: 950;
}

.skate-live-rule-details[open] summary {
  color: var(--skate-live-yellow);
}

.skate-live-rule-details a {
  color: var(--skate-live-green);
  font-weight: 850;
  text-decoration: none;
}

.skate-live-team-search {
  grid-template-columns: minmax(0, 1fr) minmax(180px, 0.38fr) auto;
}

.skate-live-view-toggle {
  display: grid;
  gap: 8px;
}

.skate-live-view-toggle a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 10px 12px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: rgba(var(--theme-contrast-rgb), 0.76);
  font-weight: 850;
  text-decoration: none;
}

.skate-live-view-toggle a.is-active {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.56);
  color: var(--skate-live-yellow);
  box-shadow: inset 0 0 0 1px rgba(var(--skate-live-yellow-rgb), 0.05);
}

.skate-live-view-toggle {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  padding: 4px;
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background: rgba(var(--theme-contrast-rgb), 0.04);
}

.skate-live-view-toggle__icon {
  width: 20px;
  height: 20px;
  margin-right: 8px;
}

.skate-live-map-panel {
  display: grid;
  grid-template-columns: minmax(190px, 0.65fr) minmax(0, 1fr);
  gap: 14px;
  padding: 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-map-panel__visual {
  position: relative;
  display: grid;
  place-items: center;
  align-content: center;
  gap: 8px;
  min-height: 270px;
  overflow: hidden;
  padding: 18px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 50% 42%, rgba(var(--skate-live-green-rgb), 0.16), var(--color-transparent) 46%),
    rgba(var(--shadow-color-rgb), 0.20);
}

.skate-live-map-panel__italy {
  position: absolute;
  left: 50%;
  top: 48%;
  display: block;
  width: 170px;
  height: 220px;
  transform: translate(-50%, -50%);
  background-image: radial-gradient(circle, rgba(var(--skate-live-green-rgb), 0.94) 2px, var(--color-transparent) 2.5px);
  background-size: 10px 10px;
  clip-path: polygon(28% 2%, 68% 8%, 78% 24%, 61% 35%, 72% 48%, 61% 64%, 78% 86%, 58% 100%, 44% 78%, 30% 88%, 18% 70%, 31% 52%, 19% 36%);
  filter: drop-shadow(0 0 28px rgba(var(--skate-live-green-rgb), 0.34));
}

.skate-live-map-panel__pins {
  position: absolute;
  inset: 14px;
  z-index: 2;
}

.skate-live-map-pin {
  position: absolute;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.60);
  border-radius: 999px;
  background: rgba(var(--surface-1-rgb), 0.86);
  color: var(--skate-live-yellow);
  font-size: 0.82rem;
  font-weight: 950;
  text-decoration: none;
  transform: translate(-50%, -50%);
  box-shadow: 0 0 18px rgba(var(--skate-live-yellow-rgb), 0.22);
}

.skate-live-map-pin::before {
  content: "";
  position: absolute;
  inset: -6px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.25);
  border-radius: inherit;
}

.skate-live-map-pin.is-active {
  background: var(--skate-live-green);
  color: var(--text-on-accent);
  box-shadow: 0 0 26px rgba(var(--skate-live-green-rgb), 0.38);
}

.skate-live-map-pin--valle-aosta { left: 31%; top: 18%; }
.skate-live-map-pin--piemonte { left: 36%; top: 24%; }
.skate-live-map-pin--lombardia { left: 47%; top: 21%; }
.skate-live-map-pin--trentino-alto-adige { left: 57%; top: 16%; }
.skate-live-map-pin--veneto { left: 64%; top: 24%; }
.skate-live-map-pin--friuli-venezia-giulia { left: 73%; top: 21%; }
.skate-live-map-pin--liguria { left: 40%; top: 36%; }
.skate-live-map-pin--emilia-romagna { left: 54%; top: 36%; }
.skate-live-map-pin--toscana { left: 48%; top: 48%; }
.skate-live-map-pin--umbria { left: 55%; top: 55%; }
.skate-live-map-pin--marche { left: 64%; top: 51%; }
.skate-live-map-pin--lazio { left: 56%; top: 65%; }
.skate-live-map-pin--abruzzo { left: 66%; top: 61%; }
.skate-live-map-pin--molise { left: 68%; top: 69%; }
.skate-live-map-pin--campania { left: 63%; top: 77%; }
.skate-live-map-pin--puglia { left: 79%; top: 78%; }
.skate-live-map-pin--basilicata { left: 71%; top: 84%; }
.skate-live-map-pin--calabria { left: 70%; top: 93%; }
.skate-live-map-pin--sicilia { left: 54%; top: 95%; }
.skate-live-map-pin--sardegna { left: 27%; top: 76%; }
.skate-live-map-pin--unknown { left: 50%; top: 50%; }

.skate-live-map-panel__visual strong {
  position: relative;
  z-index: 3;
  margin-top: auto;
  color: var(--text-primary);
  font-size: 1.2rem;
}

.skate-live-map-panel__visual small {
  position: relative;
  z-index: 3;
  max-width: 220px;
  color: var(--skate-live-muted);
  text-align: center;
  line-height: 1.35;
}

.skate-live-map-panel__regions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  align-content: start;
}

.skate-live-map-panel__regions a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 58px;
  gap: 10px;
  padding: 12px 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.16);
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-map-panel__regions a.is-active {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.54);
}

.skate-live-map-panel__regions span {
  overflow: hidden;
  color: rgba(var(--theme-contrast-rgb), 0.84);
  font-weight: 850;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.skate-live-map-panel__regions strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  min-height: 34px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.13);
  color: var(--skate-live-green);
}

.skate-live-map-panel--real {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
}

.skate-live-map-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.skate-live-map-head div {
  display: grid;
  gap: 3px;
}

.skate-live-map-head strong {
  color: var(--text-primary);
  font-size: 1.18rem;
}

.skate-live-map-head span {
  color: var(--skate-live-muted);
  font-size: 0.9rem;
  line-height: 1.25;
}

.skate-live-map-head em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 38px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.24);
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.12);
  color: var(--skate-live-green);
  font-style: normal;
  font-weight: 950;
}

.skate-live-real-map {
  position: relative;
  z-index: 1;
  height: 560px;
  min-height: 560px;
  overflow: hidden;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.22);
  border-radius: 22px;
  background: var(--surface-1);
  box-shadow: inset 0 0 0 1px rgba(var(--theme-contrast-rgb), 0.04), 0 0 28px rgba(var(--skate-live-green-rgb), 0.10);
}

.skate-live-real-map .leaflet-container,
.skate-live-real-map.leaflet-container {
  width: 100%;
  height: 560px;
  min-height: 560px;
  background: var(--surface-1);
  color: var(--text-primary);
  font: inherit;
}

.skate-live-real-map .leaflet-tile {
  filter: saturate(0.72) brightness(0.72) contrast(1.12);
}

.skate-live-real-map .leaflet-control-zoom a {
  border-color: rgba(var(--theme-contrast-rgb), 0.10);
  background: rgba(var(--surface-1-rgb), 0.94);
  color: var(--skate-live-yellow);
}

.skate-live-real-map .leaflet-control-attribution {
  background: rgba(var(--surface-1-rgb), 0.74);
  color: rgba(var(--theme-contrast-rgb), 0.62);
}

.skate-live-real-map .leaflet-control-attribution a {
  color: var(--skate-live-green);
}

.skate-live-map-marker {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border: 2px solid rgba(var(--skate-live-yellow-rgb), 0.88);
  border-radius: 999px;
  background: rgba(var(--surface-1-rgb), 0.92);
  color: var(--skate-live-yellow);
  font-size: 0.78rem;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 0 18px rgba(var(--skate-live-yellow-rgb), 0.26);
}

.skate-live-map-marker.is-many {
  border-color: rgba(var(--skate-live-green-rgb), 0.88);
  color: var(--text-on-accent);
  background: var(--skate-live-green);
  box-shadow: 0 0 22px rgba(var(--skate-live-green-rgb), 0.34);
}

.skate-live-real-map .leaflet-popup-content-wrapper,
.skate-live-real-map .leaflet-popup-tip,
.directory-leaflet-map .leaflet-popup-content-wrapper,
.directory-leaflet-map .leaflet-popup-tip {
  background: rgba(var(--surface-1-rgb), 0.98);
  color: var(--text-primary);
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  box-shadow: 0 18px 38px rgba(var(--shadow-color-rgb), 0.42);
}

.directory-leaflet-map .leaflet-popup-content-wrapper,
.directory-leaflet-map .leaflet-popup-tip {
  background: #101916;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.10);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.42);
}

.directory-leaflet-map .leaflet-skateLiveRegions-pane svg {
  max-width: none !important;
  max-height: none !important;
}

.directory-leaflet-map .leaflet-skateLiveRegions-pane path {
  transition: stroke-width 180ms ease, stroke-opacity 180ms ease, fill-opacity 180ms ease, filter 180ms ease;
}

.directory-leaflet-map .leaflet-skateLiveRegions-pane path.skate-live-region-selected {
  filter: drop-shadow(0 1px 0 rgba(5, 10, 8, 0.96)) drop-shadow(0 0 7px rgba(186, 255, 0, 0.72));
  paint-order: stroke fill;
}

.directory-leaflet-map .leaflet-skateLiveRegions-pane path.skate-live-region-muted {
  filter: none;
}

.skate-live-real-map .leaflet-popup-content,
.directory-leaflet-map .leaflet-popup-content {
  min-width: 210px;
  margin: 14px;
}

.directory-leaflet-map .leaflet-popup-close-button {
  color: rgba(255, 255, 255, 0.72) !important;
}

.directory-leaflet-map .leaflet-popup-close-button:hover,
.directory-leaflet-map .leaflet-popup-close-button:focus-visible {
  color: #baff00 !important;
}

.skate-live-map-popup,
.directory-map-popup {
  display: grid;
  gap: 10px;
  min-width: min(230px, 64vw);
}

.skate-live-map-popup > strong,
.directory-map-popup > strong {
  color: var(--text-primary);
  font-size: 1rem;
  line-height: 1.16;
  overflow-wrap: anywhere;
}

.skate-live-map-popup > span,
.skate-live-map-popup small,
.directory-map-popup > span,
.directory-map-popup small {
  color: var(--skate-live-muted);
  line-height: 1.25;
}

.directory-leaflet-map .skate-live-map-popup > strong,
.directory-leaflet-map .directory-map-popup > strong {
  color: #fff;
}

.directory-leaflet-map .skate-live-map-popup > span,
.directory-leaflet-map .skate-live-map-popup small,
.directory-leaflet-map .directory-map-popup > span,
.directory-leaflet-map .directory-map-popup small {
  color: rgba(255, 255, 255, 0.72);
}

.skate-live-map-popup a,
.directory-map-popup a {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.34);
  border-radius: 12px;
  color: var(--skate-live-yellow);
  text-decoration: none;
  font-weight: 850;
}

.directory-leaflet-map .skate-live-map-popup a,
.directory-leaflet-map .directory-map-popup a {
  width: fit-content;
  max-width: 100%;
  border-color: rgba(186, 255, 0, 0.32);
  color: #baff00;
  overflow-wrap: anywhere;
}

.skate-live-region-group--app header {
  min-height: 62px;
  background: rgba(var(--theme-contrast-rgb), 0.035);
}

.skate-live-region-group--app header strong {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  font-size: 1.42rem;
}

.skate-live-region-group--app header strong span {
  width: 12px;
  height: 12px;
  min-width: 12px;
  min-height: 12px;
  background: var(--skate-live-green);
}

.skate-live-region-group--app header em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.13);
  color: var(--skate-live-green);
  font-style: normal;
  font-weight: 950;
}

.skate-live-team-row--app {
  min-height: 74px;
  grid-template-columns: 74px minmax(0, 1fr) auto;
}

.skate-live-team-row--app .skate-live-team-row__mark {
  width: 58px;
  height: 58px;
  font-size: 1.08rem;
}

.skate-live-team-row--app .skate-live-team-row__body strong {
  font-size: 1.1rem;
}

.skate-live-team-row--app .skate-live-team-row__icon {
  width: 28px;
  height: 28px;
}

.skate-live-back-link,
.skate-live-secondary-link {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  min-height: 42px;
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 850;
}

.skate-live-back-link__icon,
.skate-live-secondary-link__icon {
  width: 20px;
  height: 20px;
}

.skate-live-detail-date {
  display: inline-flex;
  margin-bottom: 10px;
  color: var(--skate-live-yellow);
  font-weight: 950;
}

.skate-live-detail-meta-icon {
  width: 18px;
  height: 18px;
  margin-right: 6px;
  color: var(--skate-live-green);
  vertical-align: -3px;
}

.skate-live-detail-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.skate-live-detail-actions--single {
  grid-template-columns: minmax(0, 1fr);
}

.skate-live-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 54px;
  width: 100%;
  padding: 13px 18px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  font: inherit;
  font-weight: 950;
  line-height: 1.12;
  text-align: center;
  text-decoration: none;
  white-space: normal;
  cursor: pointer;
}

.skate-live-button--yellow {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.58);
  background:
    linear-gradient(135deg, var(--color-highlight) 0%, var(--skate-live-yellow) 45%, var(--color-highlight) 100%);
  color: var(--text-on-accent);
  box-shadow: 0 0 22px rgba(var(--skate-live-yellow-rgb), 0.16);
}

.skate-live-button--dark {
  border-color: var(--skate-live-line);
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: var(--skate-live-green);
}

.skate-live-detail-section,
.skate-live-detail-grid article,
.skate-live-public-stats,
.skate-live-claim-card,
.skate-live-detail-split article {
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-detail-section {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.skate-live-program-list,
.skate-live-info-list,
.skate-live-program-text,
.skate-live-mini-event-list {
  display: grid;
  gap: 10px;
}

.skate-live-program-list article,
.skate-live-program-text p,
.skate-live-info-list p,
.skate-live-mini-event-list a {
  margin: 0;
  padding: 12px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  border-radius: 16px;
  background: rgba(var(--shadow-color-rgb), 0.18);
}

.skate-live-program-list strong,
.skate-live-mini-event-list strong {
  display: block;
  color: var(--text-primary);
  line-height: 1.2;
}

.skate-live-program-list span,
.skate-live-info-list p,
.skate-live-program-text p,
.skate-live-mini-event-list small,
.skate-live-mini-event-list span,
.skate-live-muted-copy {
  color: var(--skate-live-muted);
  line-height: 1.4;
}

.skate-live-mini-event-list a {
  color: inherit;
  text-decoration: none;
}

.skate-live-detail-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-detail-grid--four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.skate-live-detail-grid article {
  display: grid;
  align-content: start;
  gap: 8px;
  min-width: 0;
  min-height: 126px;
  padding: 15px;
}

.skate-live-detail-grid__icon {
  width: 28px;
  height: 28px;
  color: var(--skate-live-yellow);
}

.skate-live-detail-grid span {
  color: var(--skate-live-muted);
}

.skate-live-detail-grid strong {
  color: var(--text-primary);
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.skate-live-detail-grid__compact {
  display: -webkit-box;
  max-height: 3.7em;
  overflow: hidden;
  font-size: clamp(0.9rem, 2.6vw, 1.02rem);
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.skate-live-event-document {
  gap: 14px;
}

.skate-live-event-doc-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: end;
  min-height: 270px;
  padding: 22px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.14);
  border-radius: 26px;
  background:
    linear-gradient(90deg, rgba(var(--surface-deep-rgb), 0.98) 0%, rgba(var(--surface-1-rgb), 0.82) 52%, rgba(var(--surface-deep-rgb), 0.38) 100%),
    url("../img/live-app/skate-live-hero.jpg") 76% center / cover no-repeat;
  box-shadow: 0 26px 76px rgba(var(--shadow-color-rgb), 0.34);
}

.skate-live-event-doc-hero::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background:
    radial-gradient(circle at 14% 94%, rgba(var(--skate-live-green-rgb), 0.20), var(--color-transparent) 32%),
    radial-gradient(circle at 86% 8%, rgba(var(--skate-live-yellow-rgb), 0.10), var(--color-transparent) 30%);
}

.skate-live-event-doc-hero__content {
  display: grid;
  gap: 12px;
  min-width: 0;
  max-width: 620px;
}

.skate-live-event-doc-hero__badges,
.skate-live-event-doc-hero__meta,
.skate-live-event-doc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
}

.skate-live-event-doc-hero__badges span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.08);
  color: rgba(var(--theme-contrast-rgb), 0.82);
  font-size: 0.82rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-event-doc-hero__badges span.is-ready {
  color: var(--skate-live-green);
}

.skate-live-event-doc-hero__badges i {
  width: 10px;
  height: 10px;
  border-radius: 999px;
  background: var(--skate-live-green);
  box-shadow: 0 0 14px rgba(var(--skate-live-green-rgb), 0.5);
}

.skate-live-event-doc-hero h1 {
  max-width: 760px;
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 7vw, 3.7rem);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.skate-live-event-doc-hero p,
.skate-live-event-doc-hero__meta span,
.skate-live-event-doc-hero__status span {
  margin: 0;
  color: rgba(var(--theme-contrast-rgb), 0.80);
  font-size: 1rem;
  line-height: 1.32;
}

.skate-live-event-doc-hero__map-link {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  width: fit-content;
  max-width: min(100%, 680px);
  min-height: 42px;
  padding: 8px 11px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.22);
  border-radius: 15px;
  background: rgba(var(--shadow-color-rgb), 0.28);
  color: rgba(var(--theme-contrast-rgb), 0.84);
  text-decoration: none;
  line-height: 1.3;
}

.skate-live-event-doc-hero__map-link span {
  min-width: 0;
}

.skate-live-event-doc-hero__map-link strong {
  color: var(--skate-live-yellow);
  font-size: 0.84rem;
  white-space: nowrap;
}

.skate-live-event-doc-hero__map-link:focus-visible,
.skate-live-event-doc-hero__map-link:hover {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.45);
  background: rgba(var(--skate-live-yellow-rgb), 0.10);
  outline: 0;
}

.skate-live-event-doc-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-weight: 850;
}

.skate-live-event-doc-hero__meta-icon {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  color: var(--skate-live-yellow);
}

.skate-live-event-doc-hero__actions .skate-live-button {
  width: auto;
  min-width: 210px;
}

.skate-live-event-doc-hero__status {
  align-self: start;
  display: grid;
  gap: 4px;
  min-width: 150px;
  padding: 14px 15px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.12);
  border-radius: 18px;
  background: rgba(var(--surface-1-rgb), 0.74);
  backdrop-filter: blur(16px);
}

.skate-live-event-doc-hero__status strong {
  color: var(--skate-live-yellow);
  font-size: 0.82rem;
  text-transform: uppercase;
}

.skate-live-event-tabs {
  position: sticky;
  top: 0;
  z-index: 8;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 2px;
  overflow-x: auto;
  padding: 8px 0 10px;
  border-bottom: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  background: rgba(var(--surface-deep-rgb), 0.88);
  backdrop-filter: blur(18px);
}

.skate-live-event-tabs a {
  display: grid;
  justify-items: center;
  align-content: center;
  gap: 6px;
  min-height: 66px;
  padding: 8px 6px;
  border-radius: 16px;
  color: rgba(var(--theme-contrast-rgb), 0.68);
  text-align: center;
  text-decoration: none;
  font-size: 0.88rem;
  font-weight: 850;
}

.skate-live-event-tabs a:focus-visible,
.skate-live-event-tabs a:hover {
  color: var(--skate-live-yellow);
  background: rgba(var(--skate-live-yellow-rgb), 0.08);
  outline: 0;
}

.skate-live-event-tabs__icon {
  width: 24px;
  height: 24px;
  color: currentColor;
}

.skate-live-event-panel {
  scroll-margin-top: 92px;
}

.skate-live-event-overview-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-event-overview-grid article {
  display: grid;
  align-content: start;
  gap: 7px;
  min-height: 118px;
  padding: 14px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
}

.skate-live-event-overview-grid__icon {
  width: 26px;
  height: 26px;
  color: var(--skate-live-yellow);
}

.skate-live-event-overview-grid span,
.skate-live-event-info-sections span {
  color: var(--skate-live-muted);
  line-height: 1.25;
}

.skate-live-event-overview-grid strong,
.skate-live-event-info-sections strong {
  color: var(--text-primary);
  line-height: 1.22;
  overflow-wrap: anywhere;
}

.skate-live-event-info-map-link {
  display: grid;
  gap: 6px;
  color: inherit;
  text-decoration: none;
}

.skate-live-event-info-map-link em {
  justify-self: start;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.28);
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.10);
  color: var(--skate-live-green);
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 900;
}

.skate-live-event-info-map-link:focus-visible em,
.skate-live-event-info-map-link:hover em {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.42);
  color: var(--skate-live-yellow);
  outline: 0;
}

.skate-live-event-note-list {
  display: grid;
  gap: 9px;
}

.skate-live-event-note-list p {
  margin: 0;
  padding: 12px 13px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.16);
  border-radius: 16px;
  background: rgba(var(--skate-live-green-rgb), 0.06);
  color: rgba(var(--theme-contrast-rgb), 0.78);
  line-height: 1.42;
}

.skate-live-event-race-groups,
.skate-live-event-article-list,
.skate-live-event-info-sections {
  display: grid;
  gap: 10px;
}

.skate-live-event-nav-list {
  display: grid;
  gap: 10px;
}

.skate-live-event-nav-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  min-height: 72px;
  padding: 16px 18px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.09);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
  color: inherit;
  text-decoration: none;
}

.skate-live-event-nav-card:focus-visible,
.skate-live-event-nav-card:hover {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.34);
  background: rgba(var(--skate-live-yellow-rgb), 0.06);
  outline: 0;
}

.skate-live-event-nav-card > div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.skate-live-event-nav-card strong {
  color: var(--text-primary);
  font-size: 1.08rem;
  line-height: 1.16;
}

.skate-live-event-nav-card span {
  color: var(--skate-live-muted);
  font-weight: 850;
}

.skate-live-event-nav-card--article strong {
  color: var(--skate-live-yellow);
}

.skate-live-event-nav-card--article > div {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  column-gap: 12px;
}

.skate-live-event-nav-card__arrow {
  color: var(--skate-live-yellow) !important;
  font-size: 2.1rem;
  line-height: 1;
}

.skate-live-event-subdetail {
  display: none;
  gap: 14px;
  margin-top: 14px;
  padding: 16px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.18);
  border-radius: 22px;
  background: linear-gradient(145deg, rgba(var(--skate-live-green-rgb), 0.10), rgba(var(--shadow-color-rgb), 0.22));
  scroll-margin-top: 94px;
}

.skate-live-event-subdetail:target {
  display: grid;
}

.skate-live-event-subback {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  justify-self: start;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.10);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.06);
  color: var(--text-primary);
  text-decoration: none;
  font-weight: 900;
}

.skate-live-event-subback__icon {
  width: 18px;
  height: 18px;
}

.skate-live-event-subhead {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 12px;
}

.skate-live-event-subhead span {
  display: block;
  margin-bottom: 4px;
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-event-subhead h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.55rem, 4vw, 2.1rem);
  line-height: 1.05;
}

.skate-live-event-subhead strong {
  align-self: center;
  padding: 8px 13px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.12);
  color: var(--skate-live-yellow);
  white-space: nowrap;
}

.skate-live-event-rule-link {
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.48);
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.12);
  color: var(--skate-live-yellow);
  text-decoration: none;
  font-size: 1.1rem;
  font-weight: 950;
}

.skate-live-event-rule-link:focus-visible,
.skate-live-event-rule-link:hover {
  background: var(--skate-live-yellow);
  color: var(--text-on-accent);
  outline: 0;
}

.skate-live-event-rule-detail p,
.skate-live-event-article-detail p {
  margin: 0;
  color: rgba(var(--theme-contrast-rgb), 0.78);
  font-size: 1rem;
  line-height: 1.48;
}

.skate-live-event-race-group,
.skate-live-event-article-list details,
.skate-live-event-info-sections article {
  overflow: hidden;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.09);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
}

.skate-live-event-race-group > summary,
.skate-live-event-article-list summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 64px;
  padding: 14px 16px;
  cursor: pointer;
  list-style: none;
}

.skate-live-event-race-group > summary::-webkit-details-marker,
.skate-live-event-article-list summary::-webkit-details-marker,
.skate-live-event-rule-pop summary::-webkit-details-marker {
  display: none;
}

.skate-live-event-race-group > summary strong,
.skate-live-event-article-list summary strong,
.skate-live-event-info-sections h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: 1.08rem;
}

.skate-live-event-race-group > summary span {
  color: var(--skate-live-muted);
  white-space: nowrap;
}

.skate-live-event-race-list {
  display: grid;
  border-top: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
}

.skate-live-event-race-row {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 66px;
  padding: 12px 14px;
  border-bottom: 1px solid rgba(var(--theme-contrast-rgb), 0.075);
}

.skate-live-event-race-row:last-child {
  border-bottom: 0;
}

.skate-live-event-race-row > div {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  min-width: 0;
}

.skate-live-event-race-row strong {
  color: var(--text-primary);
  font-size: 1rem;
  line-height: 1.22;
}

.skate-live-event-race-row span {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.07);
  color: rgba(var(--theme-contrast-rgb), 0.72);
  font-size: 0.82rem;
  font-weight: 900;
}

.skate-live-event-route-page {
  gap: 16px;
}

.skate-live-event-route-head {
  display: grid;
  gap: 8px;
  padding: 18px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.18);
  border-radius: 22px;
  background:
    radial-gradient(circle at 82% 12%, rgba(var(--skate-live-green-rgb), 0.16), var(--color-transparent) 30%),
    linear-gradient(135deg, rgba(var(--skate-live-green-rgb), 0.12), rgba(var(--shadow-color-rgb), 0.22));
}

.skate-live-event-route-head span {
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 950;
  letter-spacing: 0;
  text-transform: uppercase;
}

.skate-live-event-route-head h1 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 7vw, 3.35rem);
  line-height: 1.02;
}

.skate-live-event-route-head p {
  margin: 0;
  color: var(--skate-live-muted);
  font-weight: 800;
  line-height: 1.35;
}

.skate-live-event-race-list--route {
  border-top: 0;
}

.skate-live-event-race-list--route .skate-live-event-race-row {
  min-height: 76px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
}

.skate-live-event-race-list--route .skate-live-event-race-row + .skate-live-event-race-row {
  margin-top: 10px;
}

.skate-live-event-rule-card {
  display: grid;
  gap: 7px;
  padding: 14px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
}

.skate-live-event-rule-card h3 {
  margin: 0;
  color: var(--skate-live-green);
  font-size: 0.92rem;
}

.skate-live-event-rule-card p,
.skate-live-event-article-route p,
.skate-live-event-source-note {
  margin: 0;
  color: rgba(var(--theme-contrast-rgb), 0.78);
  line-height: 1.5;
}

.skate-live-event-source-note {
  padding-inline: 3px;
  font-size: 0.9rem;
  font-weight: 800;
}

.skate-live-event-rule-pop {
  position: relative;
}

.skate-live-event-rule-pop summary {
  display: inline-grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.42);
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.12);
  color: var(--skate-live-yellow);
  cursor: pointer;
  font-size: 1.05rem;
  font-weight: 950;
  list-style: none;
}

.skate-live-event-rule-pop[open] summary {
  background: var(--skate-live-yellow);
  color: var(--text-on-accent);
}

.skate-live-event-rule-pop div {
  position: absolute;
  right: 0;
  top: 46px;
  z-index: 6;
  display: grid;
  gap: 7px;
  width: min(320px, calc(100vw - 52px));
  padding: 14px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.24);
  border-radius: 16px;
  background: rgba(var(--surface-1-rgb), 0.98);
  box-shadow: 0 18px 40px rgba(var(--shadow-color-rgb), 0.48);
}

.skate-live-event-rule-pop div strong {
  color: var(--text-primary);
}

.skate-live-event-rule-pop div small {
  color: var(--skate-live-yellow);
  font-weight: 900;
}

.skate-live-event-rule-pop div p {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.38;
}

.skate-live-event-article-list summary {
  grid-template-columns: auto minmax(0, 1fr);
}

.skate-live-event-article-list summary strong {
  color: var(--skate-live-yellow);
  white-space: nowrap;
}

.skate-live-event-article-list summary span {
  color: var(--text-primary);
  font-weight: 900;
}

.skate-live-event-article-list p {
  margin: 0;
  padding: 0 16px 16px;
  color: var(--skate-live-muted);
  line-height: 1.45;
}

.skate-live-event-info-sections {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.skate-live-event-info-sections article {
  display: grid;
  gap: 12px;
  align-content: start;
  padding: 16px;
}

.skate-live-event-info-sections div {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.skate-live-chip-list {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.skate-live-chip-list span {
  min-height: 34px;
  padding: 8px 13px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.24);
  border-radius: 999px;
  color: rgba(var(--theme-contrast-rgb), 0.82);
}

.skate-live-secondary-link {
  padding: 10px 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
  color: var(--skate-live-muted);
}

.skate-live-team-hero {
  grid-template-columns: 148px minmax(0, 1fr);
  align-items: center;
  min-height: 220px;
  background:
    linear-gradient(90deg, rgba(var(--surface-deep-rgb), 0.98), rgba(var(--surface-deep-rgb), 0.76)),
    url("../img/live-app/skate-live-hero.jpg") right center / cover no-repeat;
}

.skate-live-team-hero > div {
  min-width: 0;
  max-width: 100%;
}

.skate-live-team-logo {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  place-items: center;
  width: 132px;
  height: 132px;
  border: 2px solid rgba(var(--skate-live-green-rgb), 0.38);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.055);
  box-shadow: 0 0 32px rgba(var(--skate-live-green-rgb), 0.14);
}

.skate-live-team-logo--placeholder {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.72);
  background:
    radial-gradient(circle at 50% 48%, rgba(var(--theme-contrast-rgb), 0.14), rgba(var(--surface-1-rgb), 0.92) 72%);
  box-shadow:
    0 0 0 1px rgba(var(--skate-live-green-rgb), 0.35),
    0 0 30px rgba(var(--skate-live-yellow-rgb), 0.22),
    0 0 38px rgba(var(--skate-live-green-rgb), 0.16);
}

.skate-live-team-logo__placeholder {
  position: relative;
  z-index: 1;
  width: 92%;
  height: 92%;
  object-fit: contain;
  filter: drop-shadow(0 3px 9px rgba(var(--shadow-color-rgb), 0.32));
}

.skate-live-team-logo i {
  color: var(--skate-live-yellow);
  font-size: 1.6rem;
  font-style: normal;
  font-weight: 950;
}

.skate-live-team-logo small {
  color: var(--skate-live-muted);
  font-size: 0.74rem;
  font-weight: 850;
  line-height: 1.15;
  text-align: center;
}

.skate-live-title-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.skate-live-title-row > span {
  width: 12px;
  height: 12px;
  border-radius: 999px;
  background: var(--skate-live-green);
}

.skate-live-title-row h2,
.skate-live-claim-card h2 {
  margin: 0;
  color: var(--text-primary);
}

.skate-live-title-row small {
  color: var(--skate-live-muted);
}

.skate-live-title-row__icon {
  width: 22px;
  height: 22px;
  color: var(--skate-live-green);
}

.skate-live-public-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.skate-live-public-stats article {
  display: grid;
  gap: 5px;
  padding: 15px;
  border-right: 1px solid var(--skate-live-line);
}

.skate-live-public-stats article:last-child {
  border-right: 0;
}

.skate-live-public-stats__icon {
  width: 26px;
  height: 26px;
  color: var(--skate-live-green);
}

.skate-live-public-stats span,
.skate-live-public-stats small {
  color: var(--skate-live-muted);
}

.skate-live-public-stats strong {
  color: var(--text-primary);
  font-size: 1.8rem;
  line-height: 1;
}

.skate-live-official-stats {
  display: grid;
  gap: 14px;
  padding: 18px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.22);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.14), var(--color-transparent) 34%),
    rgba(var(--theme-contrast-rgb), 0.052);
}

.skate-live-official-stats .skate-live-section-head {
  align-items: start;
}

.skate-live-official-stats .skate-live-section-head p {
  margin: 4px 0 0;
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-official-stats .skate-live-section-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 38px;
  padding: 7px 13px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.28);
  border-radius: 999px;
  color: var(--skate-live-yellow);
  font-weight: 900;
}

.skate-live-official-score-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-official-score-grid article,
.skate-live-official-mini-grid article,
.skate-live-official-team-results,
.skate-live-official-source {
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.2);
}

.skate-live-official-score-grid article {
  display: grid;
  gap: 8px;
  min-height: 142px;
  padding: 14px;
}

.skate-live-official-score-card__icon {
  width: 28px;
  height: 28px;
  color: var(--skate-live-yellow);
}

.skate-live-official-score-grid span {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--skate-live-muted);
  font-weight: 800;
  line-height: 1.2;
}

.skate-live-official-score-grid strong {
  color: var(--text-primary);
  font-size: clamp(1.8rem, 4vw, 2.45rem);
  line-height: 1;
}

.skate-live-official-score-grid small {
  color: rgba(var(--skate-live-green-rgb), 0.86);
  font-weight: 800;
}

.skate-live-info-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: 36px;
  height: 36px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.32);
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.12);
  color: var(--skate-live-green);
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1;
}

.skate-live-info-button__icon {
  width: 18px;
  height: 18px;
}

.skate-live-official-mini-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-official-mini-grid article {
  display: grid;
  gap: 12px;
  padding: 15px;
}

.skate-live-official-athletes-card {
  align-content: start;
}

.skate-live-official-mini-grid h3 {
  margin: 0;
  color: var(--text-primary);
  font-size: 1.05rem;
}

.skate-live-official-list-note {
  margin: -4px 0 2px;
  color: var(--skate-live-muted);
  font-size: 0.82rem;
  line-height: 1.35;
}

.skate-live-official-list {
  display: grid;
  gap: 8px;
}

.skate-live-official-list--scroll {
  max-height: 390px;
  overflow-x: hidden;
  overflow-y: auto;
  padding-right: 6px;
  padding-bottom: 10px;
  overscroll-behavior: contain;
  scrollbar-gutter: stable;
  -webkit-overflow-scrolling: touch;
}

.skate-live-official-list a,
.skate-live-official-list div {
  position: relative;
  display: grid;
  gap: 3px;
  min-height: 74px;
  padding: 11px 34px 11px 0;
  border-top: 1px solid rgba(var(--theme-contrast-rgb), 0.07);
  color: inherit;
  text-decoration: none;
}

.skate-live-official-list div.skate-live-official-list__item--static {
  padding-right: 0;
  cursor: default;
}

.skate-live-official-list a:first-child,
.skate-live-official-list div:first-child {
  border-top: 0;
  padding-top: 0;
}

.skate-live-official-list strong {
  display: block;
  color: var(--text-primary);
  line-height: 1.24;
  overflow-wrap: anywhere;
}

.skate-live-official-list span {
  display: block;
  color: var(--skate-live-muted);
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.skate-live-official-list__chevron {
  position: absolute;
  right: 0;
  top: 50%;
  width: 22px;
  height: 22px;
  transform: translateY(-50%);
  color: var(--skate-live-yellow);
}

.skate-live-official-athlete-link {
  grid-template-columns: 42px minmax(0, 1fr) 24px;
  align-items: center;
  gap: 12px;
  padding-right: 0 !important;
}

.skate-live-official-athlete-avatar {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.34);
  border-radius: 999px;
  background: rgba(var(--skate-live-green-rgb), 0.09);
  box-shadow: 0 0 16px rgba(var(--skate-live-green-rgb), 0.12);
}

.skate-live-official-athlete-avatar img {
  width: 30px;
  height: 30px;
  object-fit: contain;
}

.skate-live-official-athlete-avatar.is-approved img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.skate-live-official-athlete-link .skate-live-official-list__chevron {
  position: static;
  justify-self: end;
  transform: none;
}

.skate-live-official-team-results {
  display: grid;
  gap: 10px;
  padding: 15px;
}

.skate-live-official-team-results h3,
.skate-live-official-detail-card h2,
.skate-live-official-detail-card h3 {
  margin: 0;
  color: var(--text-primary);
}

.skate-live-official-team-results p {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-official-source {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 50px;
  padding: 12px 16px;
  color: var(--skate-live-muted);
  text-decoration: none;
}

.skate-live-official-source__icon {
  width: 20px;
  height: 20px;
  color: var(--skate-live-green);
}

.skate-live-official-detail-hero,
.skate-live-official-detail-card {
  border: 1px solid var(--skate-live-line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.14), var(--color-transparent) 36%),
    rgba(var(--theme-contrast-rgb), 0.055);
}

.skate-live-official-detail-hero {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 18px;
}

.skate-live-official-detail-hero__body {
  display: grid;
  gap: 12px;
  min-width: 0;
}

.skate-live-athlete-avatar {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 108px;
  height: 108px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.42);
  border-radius: 999px;
  background:
    radial-gradient(circle at 50% 40%, rgba(var(--skate-live-green-rgb), 0.16), rgba(var(--theme-contrast-rgb), 0.04) 62%),
    rgba(var(--shadow-color-rgb), 0.22);
  color: var(--skate-live-green);
  cursor: pointer;
  box-shadow: 0 0 26px rgba(var(--skate-live-green-rgb), 0.16);
}

.skate-live-athlete-avatar img {
  width: 78px;
  height: 78px;
  object-fit: contain;
  opacity: 0.94;
}

.skate-live-athlete-avatar.is-approved img {
  width: 100%;
  height: 100%;
  border-radius: inherit;
  object-fit: cover;
}

.skate-live-athlete-avatar__plus {
  position: absolute;
  right: 4px;
  bottom: 6px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 2px solid var(--surface-2);
  border-radius: 999px;
  background: var(--skate-live-yellow);
  color: var(--text-on-accent);
  font-size: 1.45rem;
  font-weight: 950;
  line-height: 1;
  box-shadow: 0 0 18px rgba(var(--skate-live-yellow-rgb), 0.28);
  opacity: 0;
  transform: scale(0.86);
  transition: opacity 160ms ease, transform 160ms ease;
}

.skate-live-athlete-avatar__hint {
  position: absolute;
  left: 50%;
  bottom: calc(100% + 10px);
  z-index: 2;
  width: max-content;
  max-width: 210px;
  padding: 8px 10px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.38);
  border-radius: 12px;
  background: rgba(var(--surface-1-rgb), 0.96);
  color: var(--text-primary);
  font-size: 0.78rem;
  font-weight: 850;
  line-height: 1.25;
  text-align: center;
  transform: translate(-50%, 6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 160ms ease, transform 160ms ease;
}

.skate-live-athlete-avatar:hover .skate-live-athlete-avatar__hint,
.skate-live-athlete-avatar:focus-visible .skate-live-athlete-avatar__hint {
  transform: translate(-50%, 0);
  opacity: 1;
}

.skate-live-athlete-avatar:hover .skate-live-athlete-avatar__plus,
.skate-live-athlete-avatar:focus-visible .skate-live-athlete-avatar__plus {
  opacity: 1;
  transform: scale(1);
}

.skate-live-official-detail-hero h1 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2rem, 6vw, 3.4rem);
  line-height: 0.98;
}

.skate-live-official-detail-hero p {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.38;
}

.skate-live-official-detail-card {
  display: grid;
  gap: 12px;
  padding: 16px;
}

.skate-live-official-result-list {
  display: grid;
  gap: 10px;
}

.skate-live-official-result-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  min-height: 72px;
  padding: 12px;
  border: 1px solid var(--skate-live-line);
  border-radius: 16px;
  background: rgba(var(--shadow-color-rgb), 0.18);
  color: inherit;
  text-decoration: none;
}

.skate-live-official-result-row strong {
  display: block;
  color: var(--text-primary);
  line-height: 1.22;
}

.skate-live-official-result-row span,
.skate-live-official-result-row small {
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-official-result-row em {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 46px;
  min-height: 36px;
  padding: 7px 10px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.12);
  color: var(--skate-live-yellow);
  font-style: normal;
  font-weight: 900;
}

.skate-live-athlete-history-loader,
.skate-live-athlete-history-error {
  display: grid;
  justify-items: center;
  gap: 10px;
  padding: 26px 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.18);
  text-align: center;
}

.skate-live-athlete-history-loader[hidden],
.skate-live-athlete-history-error[hidden],
.skate-live-athlete-history-content[hidden] {
  display: none;
}

.skate-live-loading-spinner {
  width: 44px;
  height: 44px;
  border: 4px solid rgba(var(--theme-contrast-rgb), 0.12);
  border-top-color: var(--skate-live-green);
  border-radius: 999px;
  animation: skate-live-spin 0.8s linear infinite;
}

.skate-live-athlete-history-loader strong,
.skate-live-athlete-history-error strong {
  color: var(--text-primary);
  font-size: 1.05rem;
}

.skate-live-athlete-history-loader p,
.skate-live-athlete-history-error p,
.skate-live-athlete-cache-note {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.45;
}

.skate-live-athlete-history-content,
.skate-live-athlete-history-year {
  display: grid;
  gap: 14px;
}

.skate-live-athlete-history-year h2 {
  margin: 4px 0 0;
  color: var(--skate-live-yellow);
  font-size: 1.55rem;
}

.skate-live-athlete-history-event {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.16);
}

.skate-live-athlete-history-event header {
  display: grid;
  gap: 4px;
}

.skate-live-athlete-history-event header span {
  color: var(--skate-live-green);
  font-weight: 900;
}

.skate-live-athlete-history-event h3 {
  margin: 0;
  color: var(--text-primary);
  line-height: 1.15;
}

.skate-live-athlete-history-event p {
  margin: 0;
  color: var(--skate-live-muted);
}

@keyframes skate-live-spin {
  to {
    transform: rotate(360deg);
  }
}

.skate-live-info-sheet[hidden] {
  display: none;
}

.skate-live-info-sheet {
  position: fixed;
  inset: 0;
  z-index: 80;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: 18px;
}

.skate-live-info-sheet__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(var(--shadow-color-rgb), 0.64);
  backdrop-filter: blur(8px);
}

.skate-live-info-sheet__panel {
  position: relative;
  display: grid;
  gap: 16px;
  width: min(94vw, 640px);
  max-height: min(82vh, 620px);
  margin: 0;
  padding: 24px 20px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.24);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.12), var(--color-transparent) 34%),
    var(--surface-2);
  box-shadow: 0 24px 80px rgba(var(--shadow-color-rgb), 0.55);
  overflow: auto;
}

.skate-live-info-sheet__close {
  position: absolute;
  top: 14px;
  right: 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.07);
  color: var(--text-primary);
  font-size: 1.4rem;
}

.skate-live-info-sheet__content {
  display: grid;
  gap: 10px;
  padding-right: 42px;
}

.skate-live-info-sheet__content[hidden] {
  display: none;
}

.skate-live-info-sheet__content span {
  color: var(--skate-live-green);
  font-weight: 900;
}

.skate-live-info-sheet__content h2 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.45rem, 5vw, 2rem);
  line-height: 1.08;
}

.skate-live-info-sheet__content p,
.skate-live-info-sheet__content small {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.45;
}

.skate-live-info-sheet__content small {
  color: rgba(var(--skate-live-green-rgb), 0.86);
}

.skate-live-info-sheet__actions {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(0, 0.9fr);
  gap: 10px;
}

.skate-live-claim-card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 14px 18px;
  align-items: center;
  padding: 18px;
  border-color: rgba(var(--skate-live-yellow-rgb), 0.36);
}

.skate-live-claim-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 68px;
  height: 68px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.48);
  border-radius: 999px;
  color: var(--skate-live-yellow);
}

.skate-live-claim-card__svg {
  width: 34px;
  height: 34px;
}

.skate-live-claim-card p {
  margin: 6px 0 0;
  color: var(--skate-live-muted);
  line-height: 1.4;
}

.skate-live-claim-card__actions {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  align-items: stretch;
}

.skate-live-claim-card .skate-live-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 62px;
  width: 100%;
  border-radius: 18px;
  font-weight: 950;
  line-height: 1.12;
  text-align: center;
  white-space: normal;
}

.skate-live-claim-card__primary {
  justify-content: center;
  padding-inline: 18px;
  font-size: 1.02rem;
}

.skate-live-claim-card__follow {
  justify-content: center;
  padding-inline: 18px;
  font-size: 1.02rem;
}

.skate-live-profile-page {
  max-width: 720px;
  margin-inline: auto;
}

.skate-live-legal-page {
  display: grid;
  gap: 18px;
  max-width: 920px;
  margin-inline: auto;
}

.skate-live-legal-language {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}

.skate-live-legal-language a {
  padding: 8px 12px;
  border: 1px solid var(--skate-live-line);
  border-radius: 999px;
  color: var(--skate-live-muted);
  font-weight: 850;
  text-decoration: none;
}

.skate-live-legal-language a[aria-current="page"] {
  border-color: rgba(var(--skate-live-green-rgb), 0.42);
  background: rgba(var(--skate-live-green-rgb), 0.1);
  color: var(--skate-live-green);
}

.skate-live-legal-draft {
  display: grid;
  gap: 5px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--color-danger-rgb), 0.55);
  border-radius: 16px;
  background: rgba(var(--color-danger-rgb), 0.1);
  color: var(--color-danger);
  line-height: 1.4;
}

.skate-live-legal-content {
  display: grid;
  gap: 14px;
}

.skate-live-legal-content > p,
.skate-live-legal-content > section {
  margin: 0;
  padding: 18px;
  border: 1px solid var(--skate-live-line);
  border-radius: 20px;
  background: rgba(var(--theme-contrast-rgb), 0.045);
}

.skate-live-legal-content section {
  display: grid;
  gap: 10px;
}

.skate-live-legal-content h2,
.skate-live-legal-content p,
.skate-live-legal-content ul,
.skate-live-legal-content ol {
  margin: 0;
}

.skate-live-legal-content h2 {
  color: var(--text-primary);
  font-size: 1.22rem;
}

.skate-live-legal-content p,
.skate-live-legal-content li {
  color: var(--skate-live-muted);
  line-height: 1.58;
}

.skate-live-legal-content ul,
.skate-live-legal-content ol {
  display: grid;
  gap: 7px;
  padding-left: 1.25rem;
}

.skate-live-legal-content a {
  color: var(--skate-live-green);
  font-weight: 850;
}

.skate-live-legal-content mark {
  padding: 2px 5px;
  border-radius: 5px;
  background: rgba(var(--color-danger-rgb), 0.14);
  color: var(--color-danger);
  font-weight: 900;
}

.skate-live-profile-status,
.skate-live-profile-activate-card,
.skate-live-profile-dashboard {
  display: grid;
  gap: 14px;
  padding: 22px;
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%, rgba(var(--skate-live-green-rgb), 0.14), var(--color-transparent) 36%),
    rgba(var(--theme-contrast-rgb), 0.055);
  box-shadow: 0 24px 70px rgba(var(--shadow-color-rgb), 0.28);
}

.skate-live-profile-delete-summary {
  display: grid;
  gap: 8px;
  padding: 15px;
  border: 1px solid rgba(var(--color-danger-rgb), 0.42);
  border-radius: 18px;
  background: rgba(var(--color-danger-rgb), 0.08);
}

.skate-live-profile-delete-summary strong {
  color: var(--color-danger);
}

.skate-live-profile-delete-summary p {
  color: var(--skate-live-muted);
  line-height: 1.45;
}

.skate-live-button--danger {
  border-color: rgba(var(--color-danger-rgb), 0.62);
  background: var(--color-danger);
  color: var(--surface-1);
}

.skate-live-profile-delete-consent {
  border-color: rgba(var(--color-danger-rgb), 0.3);
  background: rgba(var(--color-danger-rgb), 0.07);
}

.skate-live-profile-status.is-ok {
  border-color: rgba(var(--skate-live-green-rgb), 0.36);
}

.skate-live-profile-status.is-error {
  border-color: rgba(var(--color-highlight-rgb), 0.44);
}

.skate-live-profile-status__icon,
.skate-live-profile-activate-card__icon {
  width: 34px;
  height: 34px;
  color: var(--skate-live-green);
}

.skate-live-profile-status > span,
.skate-live-profile-activate-card > p {
  margin: 0;
  color: var(--skate-live-green);
  font-size: 0.8rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-profile-status h1,
.skate-live-profile-activate-card h1 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.8rem, 7vw, 3rem);
  line-height: 1.02;
}

.skate-live-profile-status p,
.skate-live-profile-activate-card p {
  margin: 0;
  color: var(--skate-live-muted);
  line-height: 1.45;
}

.skate-live-profile-actions,
.skate-live-profile-debug-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-profile-debug-link,
.skate-live-profile-debug-grid a {
  color: var(--skate-live-yellow);
  font-weight: 950;
}

.skate-live-profile-debug-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.skate-live-profile-athlete-summary,
.skate-live-form-alert {
  display: grid;
  gap: 4px;
  padding: 14px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.18);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.2);
}

.skate-live-form-alert {
  border-color: rgba(var(--color-highlight-rgb), 0.38);
  color: var(--skate-live-yellow);
  font-weight: 900;
}

.skate-live-profile-athlete-summary strong {
  color: var(--text-primary);
  font-size: 1.1rem;
}

.skate-live-profile-athlete-summary span {
  color: var(--skate-live-muted);
}

.skate-live-profile-dashboard__head {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 16px;
  align-items: center;
}

.skate-live-profile-dashboard__head p {
  margin: 0 0 8px;
  color: var(--skate-live-green);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-profile-dashboard__head h1 {
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(1.7rem, 6vw, 3rem);
  line-height: 1.02;
}

.skate-live-profile-dashboard__head div > span {
  display: block;
  margin-top: 7px;
  color: var(--skate-live-muted);
  font-weight: 800;
}

.skate-live-profile-dashboard__status {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.2);
  border-radius: 18px;
  background: rgba(var(--skate-live-green-rgb), 0.07);
}

.skate-live-profile-dashboard__status-icon {
  width: 30px;
  height: 30px;
  color: var(--skate-live-green);
}

.skate-live-profile-dashboard__status strong {
  display: block;
  color: var(--text-primary);
}

.skate-live-profile-dashboard__status span {
  display: block;
  margin-top: 3px;
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-form-alert.is-success {
  border-color: rgba(var(--skate-live-green-rgb), 0.34);
  color: var(--skate-live-green);
}

.skate-live-detail-split {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 12px;
}

.skate-live-detail-split article {
  display: grid;
  align-content: start;
  gap: 12px;
  padding: 15px;
}

.skate-live-muted-copy {
  margin: 0;
}

.skate-live-live-page {
  display: grid;
  gap: 16px;
}

.skate-live-live-empty {
  max-width: 760px;
  margin-inline: auto;
}

.skate-live-live-hero {
  display: grid;
  gap: 14px;
  padding: clamp(20px, 5vw, 34px);
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.22);
  border-radius: 28px;
  background:
    linear-gradient(90deg, rgba(var(--shadow-color-rgb), 0.78), rgba(var(--shadow-color-rgb), 0.32)),
    radial-gradient(circle at 88% 12%, rgba(var(--skate-live-green-rgb), 0.18), var(--color-transparent) 34%),
    url("../img/live-app/skate-live-hero.jpg") center / cover,
    var(--surface-2);
  box-shadow: 0 24px 90px rgba(var(--shadow-color-rgb), 0.42);
  overflow: hidden;
}

.skate-live-live-hero__badges,
.skate-live-live-hero__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.skate-live-live-hero__badges span {
  display: inline-flex;
  align-items: center;
  min-height: 36px;
  padding: 8px 12px;
  border: 1px solid rgba(var(--theme-contrast-rgb), 0.12);
  border-radius: 999px;
  background: rgba(var(--theme-contrast-rgb), 0.08);
  color: rgba(var(--theme-contrast-rgb), 0.78);
  font-size: 0.78rem;
  font-weight: 950;
  text-transform: uppercase;
}

.skate-live-live-hero__badges span.is-live {
  border-color: rgba(var(--skate-live-green-rgb), 0.46);
  background: rgba(var(--skate-live-green-rgb), 0.16);
  color: var(--skate-live-green);
}

.skate-live-live-hero h1 {
  width: min(780px, 100%);
  margin: 0;
  color: var(--text-primary);
  font-size: clamp(2.1rem, 8vw, 4.4rem);
  line-height: 0.98;
}

.skate-live-live-hero__meta span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: rgba(var(--theme-contrast-rgb), 0.80);
  font-weight: 850;
}

.skate-live-live-hero__meta-icon {
  width: 20px;
  height: 20px;
  color: var(--skate-live-yellow);
}

.skate-live-live-status {
  display: grid;
  gap: 4px;
  max-width: 680px;
  padding: 14px 16px;
  border: 1px solid rgba(var(--skate-live-green-rgb), 0.24);
  border-radius: 20px;
  background: rgba(var(--shadow-color-rgb), 0.36);
}

.skate-live-live-status strong {
  color: var(--skate-live-green);
}

.skate-live-live-status span {
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-live-nav {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  gap: 8px;
  padding: 8px;
  border: 1px solid var(--skate-live-line);
  border-radius: 24px;
  background: rgba(var(--shadow-color-rgb), 0.32);
}

.skate-live-live-nav a {
  display: grid;
  justify-items: center;
  gap: 7px;
  min-height: 72px;
  padding: 10px 6px;
  border: 1px solid var(--color-transparent);
  border-radius: 18px;
  color: rgba(var(--theme-contrast-rgb), 0.68);
  font-size: 0.78rem;
  font-weight: 900;
  text-decoration: none;
}

.skate-live-live-nav a.is-active {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.5);
  background: rgba(var(--skate-live-yellow-rgb), 0.14);
  color: var(--skate-live-yellow);
}

.skate-live-live-nav__icon {
  width: 24px;
  height: 24px;
}

.skate-live-live-section {
  gap: 14px;
}

.skate-live-live-summary-grid,
.skate-live-live-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.skate-live-live-summary-grid article,
.skate-live-live-action-grid a,
.skate-live-live-doc-card,
.skate-live-live-row-card,
.skate-live-live-program-card,
.skate-live-live-team-list article,
.skate-live-live-notification-card {
  display: grid;
  gap: 6px;
  padding: 16px;
  border: 1px solid var(--skate-live-line);
  border-radius: 20px;
  background: rgba(var(--shadow-color-rgb), 0.22);
  color: var(--text-primary);
  text-decoration: none;
}

.skate-live-live-summary-grid strong {
  color: var(--text-primary);
  font-size: 1.5rem;
  line-height: 1;
}

.skate-live-live-summary-grid span,
.skate-live-live-action-grid span,
.skate-live-live-doc-card span,
.skate-live-live-row-card small,
.skate-live-live-program-card span,
.skate-live-live-team-list span,
.skate-live-live-notification-card span {
  color: var(--skate-live-muted);
  line-height: 1.35;
}

.skate-live-live-action-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.skate-live-live-action-grid a {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
}

.skate-live-live-action-grid a span {
  grid-column: 2;
}

.skate-live-live-action-grid__icon {
  grid-row: span 2;
  width: 30px;
  height: 30px;
  color: var(--skate-live-yellow);
}

.skate-live-live-doc-list,
.skate-live-live-row-list,
.skate-live-live-team-list,
.skate-live-live-classification {
  display: grid;
  gap: 10px;
}

.skate-live-live-doc-card,
.skate-live-live-row-card {
  position: relative;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-height: 74px;
}

.skate-live-live-doc-card strong,
.skate-live-live-row-card strong,
.skate-live-live-team-list strong {
  overflow-wrap: anywhere;
}

.skate-live-live-doc-card__arrow,
.skate-live-live-row-card__arrow {
  width: 24px;
  height: 24px;
  color: var(--skate-live-yellow);
}

.skate-live-live-search {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.skate-live-live-search label {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding-inline: 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.24);
}

.skate-live-live-search input {
  width: 100%;
  border: 0;
  outline: none;
  background: var(--color-transparent);
  color: var(--text-primary);
  font: inherit;
  font-weight: 850;
}

.skate-live-live-search button,
.skate-live-live-source {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 58px;
  padding: 12px 18px;
  border: 1px solid rgba(var(--skate-live-yellow-rgb), 0.36);
  border-radius: 18px;
  background: rgba(var(--skate-live-yellow-rgb), 0.18);
  color: var(--skate-live-yellow);
  font-weight: 950;
  text-decoration: none;
}

.skate-live-live-classification article {
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.22);
}

.skate-live-live-classification article > strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  border-radius: 999px;
  background: rgba(var(--skate-live-yellow-rgb), 0.18);
  color: var(--skate-live-yellow);
}

.skate-live-live-classification b,
.skate-live-live-classification small {
  display: block;
}

.skate-live-live-classification em {
  color: var(--skate-live-green);
  font-style: normal;
  font-weight: 950;
}

.skate-live-live-detail-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.skate-live-live-detail-list div {
  padding: 14px;
  border: 1px solid var(--skate-live-line);
  border-radius: 18px;
  background: rgba(var(--shadow-color-rgb), 0.2);
}

.skate-live-live-detail-list dt {
  color: var(--skate-live-muted);
  font-weight: 800;
}

.skate-live-live-detail-list dd {
  margin: 5px 0 0;
  color: var(--text-primary);
  font-weight: 950;
}

.skate-live-live-subtitle {
  margin: 8px 0 0;
  color: var(--text-primary);
}

.skate-live-live-program-card span {
  display: block;
  padding-top: 7px;
  border-top: 1px solid rgba(var(--theme-contrast-rgb), 0.08);
}

.skate-live-live-notification-card {
  align-items: start;
}

.skate-live-live-notification-card__icon {
  width: 36px;
  height: 36px;
  color: var(--skate-live-green);
}

.skate-live-back-link--inline {
  justify-self: start;
}

.skate-live-app .race-live-quickbar {
  border-top-color: rgba(var(--theme-contrast-rgb), 0.10);
  background: rgba(var(--surface-deep-rgb), 0.94);
}

.skate-live-app .race-live-quickbar .quickbar__item {
  color: rgba(var(--theme-contrast-rgb), 0.70);
}

.skate-live-app .race-live-quickbar .quickbar__item.is-active {
  border-color: rgba(var(--skate-live-yellow-rgb), 0.56);
  background: rgba(var(--skate-live-yellow-rgb), 0.17);
  color: var(--skate-live-yellow);
  box-shadow: 0 0 26px rgba(var(--skate-live-yellow-rgb), 0.26);
}

.skate-live-app .race-live-quickbar .quickbar__item.has-live {
  color: var(--skate-live-green);
}

.skate-live-app .race-live-quickbar .quickbar__item.has-live.is-active {
  border-color: rgba(var(--skate-live-green-rgb), 0.50);
  background: rgba(var(--skate-live-green-rgb), 0.16);
}

@media (min-width: 760px) {
  .skate-live-home {
    gap: 18px;
  }

  .skate-live-event-card {
    min-height: 188px;
  }
}

@media (max-width: 560px) {
  body.race-live-app-screen.skate-live-app {
    padding-inline: 14px;
  }

  .skate-live-home {
    gap: 12px;
  }

  .skate-live-app .race-live-topbar {
    grid-template-columns: minmax(0, 1fr) auto;
    padding-inline: 14px;
  }

  .skate-live-live-nav {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .skate-live-live-nav a {
    min-height: 64px;
    font-size: 0.72rem;
  }

  .skate-live-live-summary-grid,
  .skate-live-live-action-grid,
  .skate-live-live-detail-list {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-live-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-live-classification article {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .skate-live-live-classification em {
    grid-column: 2;
  }

  .skate-live-hero-card {
    min-height: 184px;
    border-radius: 24px;
  }

  .skate-live-actions {
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
    gap: 10px;
  }

  .skate-live-action {
    min-height: 68px;
    padding: 11px 12px;
    border-radius: 22px;
  }

  .skate-live-action__round,
  .skate-live-action__info {
    width: 38px;
    height: 38px;
  }

  .skate-live-action__text strong {
    font-size: 0.9rem;
  }

  .skate-live-action__text small {
    font-size: 0.72rem;
  }

  .skate-live-action--primary.is-disabled .skate-live-action__text small {
    display: none;
  }

  .skate-live-action--guide .skate-live-action__text strong {
    font-size: 0.84rem;
    line-height: 1.05;
  }

  .skate-live-stat-grid {
    gap: 8px;
  }

  .skate-live-stat-card {
    min-height: 118px;
    padding: 12px 10px;
    border-radius: 18px;
  }

  .skate-live-stat-card__icon {
    width: 24px;
    height: 24px;
  }

  .skate-live-stat-card span {
    font-size: 0.78rem;
  }

  .skate-live-stat-card small {
    font-size: 0.68rem;
  }

  .skate-live-events {
    gap: 10px;
    padding: 10px;
  }

  .skate-live-empty {
    padding: 13px;
  }

  .skate-live-event-grid {
    gap: 8px;
  }

  .skate-live-event-card {
    min-height: 146px;
    padding: 11px 9px;
  }

  .skate-live-event-card strong {
    font-size: 0.78rem;
  }

  .skate-live-event-card small,
  .skate-live-event-card__place,
  .skate-live-event-card em {
    font-size: 0.66rem;
  }

  .skate-live-teams-card {
    grid-template-columns: auto minmax(0, 1fr) 54px auto;
    min-height: 86px;
    gap: 10px;
  }

  .skate-live-teams-card__icon {
    width: 46px;
    height: 46px;
  }

  .skate-live-teams-card__svg {
    width: 38px;
    height: 38px;
  }

  .skate-live-teams-card__body small {
    font-size: 0.82rem;
    line-height: 1.15;
    white-space: normal;
  }

  .skate-live-teams-map {
    height: 46px;
  }

  .skate-live-calendar-card a {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .skate-live-calendar-card__date {
    min-height: 44px;
    font-size: 0.72rem;
  }

  .skate-live-calendar-card__state {
    grid-column: 2;
    justify-self: start;
    margin-top: -2px;
  }

  .skate-live-team-filter {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-team-row {
    grid-template-columns: 44px minmax(0, 1fr) auto;
    padding-inline: 12px;
  }

  .skate-live-team-row__mark {
    width: 44px;
  }

  .skate-live-page-hero,
  .skate-live-event-detail-hero,
  .skate-live-team-hero {
    border-radius: 24px;
    padding: 22px 18px;
  }

  .skate-live-page-hero {
    min-height: 240px;
  }

  .skate-live-page-hero--teams {
    grid-template-columns: minmax(0, 1fr) 112px;
  }

  .skate-live-italy-map {
    width: 108px;
    height: 142px;
  }

  .skate-live-filter-grid,
  .skate-live-team-search {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-event-list-card {
    grid-template-columns: 104px minmax(0, 1fr) 28px;
    min-height: 152px;
    gap: 12px;
    padding: 12px;
  }

  .skate-live-event-list-card__date {
    min-height: 128px;
  }

  .skate-live-event-list-card__date strong {
    font-size: 1.48rem;
  }

  .skate-live-event-list-card__body > strong {
    font-size: 1.22rem;
  }

  .skate-live-event-list-card__body small {
    font-size: 0.88rem;
  }

  .skate-live-team-row--app {
    grid-template-columns: 62px minmax(0, 1fr) auto;
    min-height: 76px;
  }

  .skate-live-team-row--app .skate-live-team-row__mark {
    width: 54px;
    height: 54px;
  }

  .skate-live-map-panel {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-map-panel__visual {
    min-height: 220px;
  }

  .skate-live-map-head {
    align-items: flex-start;
  }

  .skate-live-map-head span {
    max-width: 230px;
  }

  .skate-live-real-map {
    height: 470px;
    min-height: 470px;
    border-radius: 20px;
  }

  .skate-live-real-map .leaflet-container,
  .skate-live-real-map.leaflet-container {
    height: 470px;
    min-height: 470px;
  }

  .skate-live-map-pin {
    width: 30px;
    height: 30px;
    font-size: 0.76rem;
  }

  .skate-live-map-panel__regions {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-detail-actions,
  .skate-live-detail-grid,
  .skate-live-detail-grid--four,
  .skate-live-detail-split,
  .skate-live-official-score-grid,
  .skate-live-official-mini-grid,
  .skate-live-public-stats {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-official-detail-hero {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-athlete-avatar {
    width: 94px;
    height: 94px;
  }

  .skate-live-athlete-avatar img {
    width: 68px;
    height: 68px;
  }

  .skate-live-public-stats article,
  .skate-live-public-stats article:last-child {
    border-right: 0;
    border-bottom: 1px solid var(--skate-live-line);
  }

  .skate-live-public-stats article:last-child {
    border-bottom: 0;
  }

  .skate-live-team-hero {
    grid-template-columns: 108px minmax(0, 1fr);
    min-height: 210px;
  }

  .skate-live-team-logo {
    width: 96px;
    height: 96px;
  }

  .skate-live-claim-card {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-claim-card__actions {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-official-stats {
    padding: 15px;
    border-radius: 20px;
  }

  .skate-live-official-score-grid article {
    min-height: 126px;
  }

  .skate-live-rule-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 9px;
  }

  .skate-live-rule-stats article {
    min-height: 104px;
    padding: 13px 10px;
  }

  .skate-live-rule-stats__icon {
    width: 25px;
    height: 25px;
  }

  .skate-live-rule-stats strong {
    font-size: 1.42rem;
  }

  .skate-live-rule-stats span {
    font-size: 0.78rem;
  }

  .skate-live-rule-card {
    padding: 15px;
    border-radius: 21px;
  }

  .skate-live-rule-card header {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .skate-live-rule-card header em {
    grid-column: 2;
    justify-self: start;
  }

  .skate-live-rule-card__icon {
    width: 42px;
    height: 42px;
    border-radius: 15px;
  }

  .skate-live-event-doc-hero {
    grid-template-columns: minmax(0, 1fr);
    min-height: 250px;
    padding: 18px;
    border-radius: 24px;
    background:
      linear-gradient(180deg, rgba(var(--surface-deep-rgb), 0.96) 0%, rgba(var(--surface-1-rgb), 0.88) 62%, rgba(var(--surface-deep-rgb), 0.72) 100%),
      url("../img/live-app/skate-live-hero.jpg") 70% center / cover no-repeat;
  }

  .skate-live-event-doc-hero h1 {
    font-size: clamp(1.82rem, 9vw, 2.55rem);
  }

  .skate-live-event-doc-hero__meta {
    gap: 8px 12px;
  }

  .skate-live-event-doc-hero__actions .skate-live-button {
    width: 100%;
    min-width: 0;
  }

  .skate-live-event-doc-hero__status {
    justify-self: start;
    width: 100%;
    min-width: 0;
  }

  .skate-live-event-tabs {
    grid-template-columns: repeat(4, minmax(78px, 1fr));
    margin-inline: -14px;
    padding-inline: 10px;
    scrollbar-width: none;
  }

  .skate-live-event-tabs::-webkit-scrollbar {
    display: none;
  }

  .skate-live-event-tabs a {
    min-height: 58px;
    font-size: 0.78rem;
  }

  .skate-live-event-tabs__icon {
    width: 21px;
    height: 21px;
  }

  .skate-live-event-overview-grid,
  .skate-live-event-info-sections {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-event-overview-grid article {
    min-height: 92px;
  }

  .skate-live-event-nav-card {
    min-height: 68px;
    padding: 14px;
    border-radius: 17px;
  }

  .skate-live-event-nav-card strong {
    font-size: 1rem;
  }

  .skate-live-event-nav-card__arrow {
    font-size: 2rem;
  }

  .skate-live-event-subdetail {
    padding: 14px;
    border-radius: 20px;
    scroll-margin-top: 82px;
  }

  .skate-live-event-subhead {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-event-subhead h3 {
    font-size: clamp(1.45rem, 7vw, 1.9rem);
  }

  .skate-live-event-race-group > summary,
  .skate-live-event-article-list summary {
    min-height: 60px;
    padding: 13px 14px;
  }

  .skate-live-event-race-row {
    min-height: 64px;
    padding: 12px;
  }

  .skate-live-event-rule-pop div {
    position: fixed;
    left: 18px;
    right: 18px;
    top: auto;
    bottom: calc(96px + env(safe-area-inset-bottom));
    width: auto;
    max-height: 48vh;
    overflow: auto;
  }

  .skate-live-info-sheet__panel {
    max-height: 82vh;
    padding-inline: 18px;
  }

  .skate-live-info-sheet__actions {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 390px) {
  .skate-live-action {
    gap: 8px;
    padding-inline: 10px;
  }

  .skate-live-action__round,
  .skate-live-action__info {
    width: 34px;
    height: 34px;
  }

  .skate-live-action__icon {
    width: 18px;
    height: 18px;
  }

  .skate-live-action__text strong {
    font-size: 0.82rem;
  }

  .skate-live-action--guide .skate-live-action__text strong {
    font-size: 0.78rem;
  }

  .skate-live-action__text small {
    font-size: 0.66rem;
  }

  .skate-live-teams-card {
    grid-template-columns: auto minmax(0, 1fr) 44px auto;
  }

  .skate-live-page-hero--teams {
    grid-template-columns: minmax(0, 1fr) 70px;
    align-items: center;
  }

  .skate-live-teams-map {
    display: block;
    width: 44px;
    height: 44px;
  }

  .skate-live-italy-map {
    display: block;
    width: 70px;
    height: 90px;
  }

  .skate-live-event-list-card {
    grid-template-columns: 88px minmax(0, 1fr);
  }

  .skate-live-event-list-card__arrow {
    grid-column: 2;
    justify-self: end;
  }

  .skate-live-team-hero {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 640px) {
  .skate-live-form-grid,
  .skate-live-profile-actions,
  .skate-live-profile-debug-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .skate-live-profile-status,
  .skate-live-profile-activate-card,
  .skate-live-profile-dashboard {
    padding: 18px;
    border-radius: 22px;
  }

  .skate-live-profile-dashboard__head {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* Semantic contrast for the live hero, which always keeps a dark media scrim. */
.skate-live-live-hero,
.skate-live-live-hero h1,
.skate-live-live-hero__meta span,
.skate-live-live-status span {
  color: var(--text-on-media);
}

.skate-live-live-hero__badges span {
  border-color: rgba(var(--text-on-media-rgb), 0.16);
  background: rgba(var(--text-on-media-rgb), 0.08);
  color: rgba(var(--text-on-media-rgb), 0.82);
}

body,
.race-live-topbar,
.quickbar,
.fisr-live-guide-modal__panel {
  transition:
    background-color var(--duration-standard) var(--ease-standard),
    border-color var(--duration-standard) var(--ease-standard),
    color var(--duration-standard) var(--ease-standard);
}
.skate-live-portal-header { display:flex; align-items:center; justify-content:space-between; gap:1rem; max-width:72rem; margin:0 auto; padding:1.1rem 1.4rem; border-bottom:1px solid var(--race-live-border, #dbe4de); }
.skate-live-portal-header strong { font-size:1.35rem; font-weight:900; }
.skate-live-portal-header em { color:#24c943; font-style:normal; }
.skate-live-portal-header span { color:var(--race-live-muted, #637169); font-size:.85rem; font-weight:800; text-transform:uppercase; letter-spacing:.06em; }
