:root {
  --font-base: "M PLUS Rounded 1c", "Rounded Mplus 1c", sans-serif;
  --font-display: "M PLUS Rounded 1c", "Rounded Mplus 1c", sans-serif;
  --ink: #212529;
  --ink-soft: #46535F;
  --muted: #4D5964;
  --brand: #1F7EC1;
  --primary: #135CA9;
  --primary-dark: #0F4B8C;
  --primary-hover: #0F4B8C;
  --sub: #20B7E0;
  --soft: #EEF7FC;
  --card-muted: #F3F6F8;
  --border-muted: #6B7780;
  --focus: #FFD54A;
  --viewer-bg: #135CA9;
}

body {
  font-family: var(--font-base) !important;
  font-weight: 400 !important;
}

body :where(h1, h2, h3, strong, b, .panel-title, .language-button, .show-button, .back-button, .back-btn, #lang-label, .txt, .play) {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
}

body :where(p, small, .panel-desc, .time, .schedule-label, .schedule-chip, footer) {
  font-weight: 400 !important;
}

.language-button,
.show-button.calendar-event,
.show-calendar {
  border-color: var(--primary);
}

.language-button:hover,
.show-button.calendar-event:hover,
.show-button.calendar-event:focus-visible,
.calendar-event.live,
.calendar-event.selected {
  border-color: var(--sub);
}

.language-button,
.show-button,
.back-button,
.back-btn,
.play,
.alert-sound-toggle {
  min-height: 56px;
}

.sub.latest {
  border-left-color: var(--sub);
}

.play,
.primary-button {
  border-color: var(--primary-dark);
  background: var(--primary);
}

button:focus-visible,
a:focus-visible {
  outline: 4px solid var(--focus) !important;
  outline-offset: 3px !important;
  box-shadow: 0 0 0 2px var(--primary-dark) !important;
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
    animation-iteration-count: 1 !important;
  }
}

@media (forced-colors: active) {
  .language-button,
  .show-button,
  .back-button,
  .back-btn,
  .play,
  .sub {
    border: 2px solid CanvasText;
  }
}
