/* v2 city page overrides — /weather/{slug}; base: weather-template.css */

body.weather-v2-lab {
  --wx-sun-disk: 110px;
  --wx-sun-lift: calc(var(--wx-sun-disk) / 3);
  --wx-v2-metric-mono: 600 20px/1 var(--wx-mono);
  --wx-v2-metric-meta: 600 12px/1 Manrope, system-ui, sans-serif;
  --wx-v2-metric-col-narrow: 220px;
  --wx-v2-nav-bg-sky: #d7ebf2; /* верх градиента wxSky в daybreak */
  --wx-daypart-night: rgba(31, 95, 138, 0.09);
  --wx-daypart-morning: rgba(255, 238, 115, 0.12);
  --wx-daypart-day: rgba(228, 152, 132, 0.1);
  --wx-daypart-evening: rgba(42, 143, 154, 0.1);
  --wx-tone-cool: #3a8db8;
  --wx-v2-grid-line: rgba(24, 61, 82, 0.22);
  --wx-v2-temp-track-bg: #e8eef2;
}

body.weather-v2-lab .daybreak__sun {
  top: calc(var(--wx-sun-disk) - var(--wx-sun-lift));
}

body.weather-v2-lab .wx-content {
  margin-top: calc(-4 * clamp(40px, 4.4vw, 58px) / 3 - var(--wx-sun-lift));
}

body.weather-v2-lab .rail-v2-sidecard {
  display: none;
}

body.weather-v2-lab .rail-v2-mobile-nav {
  display: none;
}

body.weather-v2-lab .rail-v2-tablet-nav {
  display: none;
}

/* —— Планшет 661–991: логотип на daybreak + строка меню —— */
@media (min-width: 661px) and (max-width: 991.98px) {
  body.weather-v2-lab .layout {
    position: relative;
  }

  body.weather-v2-lab .rail {
    position: absolute;
    z-index: 10;
    left: 0;
    right: 0;
    top: 0;
    height: 220px;
    min-height: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    pointer-events: none;
  }

  body.weather-v2-lab .rail__inner {
    position: static;
    display: block;
    padding: 0;
  }

  body.weather-v2-lab .rail-brand {
    position: absolute;
    z-index: 2;
    left: clamp(12px, 1.1vw + 4.5px, 20px);
    top: 14px;
    padding: 0;
    pointer-events: auto;
  }

  body.weather-v2-lab .rail-brand .weather-logo {
    width: 207px;
    max-width: none;
  }

  body.weather-v2-lab .forecast-nav-slot {
    display: none !important;
  }

  body.weather-v2-lab .daybreak {
    width: 100%;
    margin-left: 0;
    /* 207px логотип + отступ — птицы не заезжают под него */
    --birds-pad: 240px;
  }

  body.weather-v2-lab .main {
    position: relative;
  }

  body.weather-v2-lab .rail-v2-tablet-nav {
    display: flex;
    align-items: center;
    position: absolute;
    z-index: 5;
    left: 0;
    right: 0;
    top: 180px;
    box-sizing: border-box;
    min-height: 36px;
    padding: 0 clamp(10px, 1vw + 6px, 14px);
    background: #fff;
    border-top: 1px solid rgba(24, 61, 82, 0.14);
    border-bottom: 1px solid rgba(24, 61, 82, 0.14);
  }

  body.weather-v2-lab .rail-v2-tablet-nav__list {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.weather-v2-lab .rail-v2-tablet-nav__list::-webkit-scrollbar {
    display: none;
  }

  body.weather-v2-lab .rail-v2-tablet-nav__list > li {
    display: flex;
    align-items: center;
    flex: 0 0 auto;
  }

  body.weather-v2-lab .rail-v2-tablet-nav__list > li + li::before {
    content: "";
    width: 1px;
    height: 0.9em;
    margin: 0 clamp(7px, 0.55vw + 4px, 11px);
    background: rgba(24, 61, 82, 0.18);
    flex-shrink: 0;
  }

  body.weather-v2-lab .rail-v2-tablet-nav a {
    color: var(--wx-ink);
    text-decoration: none;
    font: 700 15px/1.2 Manrope, system-ui, sans-serif;
    letter-spacing: 0.01em;
    white-space: nowrap;
    padding: 6px 0;
    border-bottom: 1px solid transparent;
    transition: color 0.15s ease, border-color 0.15s ease;
  }

  body.weather-v2-lab .rail-v2-tablet-nav a:hover {
    color: var(--wx-blue);
    border-bottom-color: rgba(42, 143, 154, 0.4);
  }

  body.weather-v2-lab .rail-v2-tablet-nav a.is-active {
    color: var(--wx-blue);
    border-bottom-color: rgba(42, 143, 154, 0.55);
  }

  body.weather-v2-lab .wx-content {
    margin-top: 0;
    padding-top: 16px;
  }
}

/*
 * —— 5. Desktop rail (trial) ——
 * Карточка меню в стиле wx-card. Откат: убрать class rail--v2 с <aside> в show-v2.blade.php
 * или удалить блок @media (min-width: 992px) ниже.
 */
@media (min-width: 992px) {
  body.weather-v2-lab .rail--v2 {
    border-right: 1px solid var(--wx-card-border);
    background: #fff;
  }

  body.weather-v2-lab .rail--v2 .rail__inner {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: var(--wx-rail-pad-top) 18px 22px 22px;
  }

  body.weather-v2-lab .rail--v2 .rail-brand {
    flex: 0 0 auto;
    box-sizing: border-box;
    padding: 10px 12px 10px;
    border: 1px solid var(--wx-card-border);
    border-radius: var(--wx-radius);
    background: var(--wx-card);
  }

  body.weather-v2-lab .rail--v2 .rail-brand .weather-logo {
    width: 100%;
    max-width: 207px;
  }

  body.weather-v2-lab .rail--v2 .rail-motto {
    display: none;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav-slot {
    display: block;
    flex: 1 1 auto;
    min-width: 0;
    margin-top: 10px;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav-slot__legacy {
    display: block;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav-slot__legacy .forecast-nav {
    margin: 0;
    padding: 10px 12px 10px;
    border: 1px solid var(--wx-card-border);
    border-radius: var(--wx-radius);
    background: var(--wx-card);
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__label {
    display: flex;
    align-items: center;
    gap: 7px;
    margin: 0 0 8px;
    padding: 0 2px 7px;
    border-bottom: 1px solid var(--wx-card-border);
    color: var(--wx-ink);
    font: 600 12px/1.2 Manrope, system-ui, sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard__ico {
    display: block;
    width: 22px;
    height: 22px;
    flex: 0 0 22px;
    color: #2a8f9a;
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard__ico--favicon {
    color: var(--wx-ink);
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard {
    display: block;
    box-sizing: border-box;
    margin-top: 8px;
    padding: 10px 12px 10px;
    border: 1px solid var(--wx-card-border);
    border-radius: var(--wx-radius);
    background: var(--wx-card);
    color: var(--wx-ink);
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease;
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard:hover {
    border-color: rgba(36, 127, 159, 0.42);
    color: var(--wx-blue);
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard__head {
    display: flex;
    align-items: center;
    gap: 7px;
    font: 600 12px/1.2 Manrope, system-ui, sans-serif;
    letter-spacing: 0.14em;
    text-transform: uppercase;
  }

  body.weather-v2-lab .rail--v2 .rail-v2-sidecard:focus-visible {
    outline: 2px solid rgba(36, 127, 159, 0.42);
    outline-offset: 2px;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__sheet {
    display: flex;
    flex-direction: column;
    gap: 5px;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__menu {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav li + li {
    margin-top: 0;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__menu a {
    display: block;
    box-sizing: border-box;
    width: 100%;
    padding: 8px 12px;
    border: 1px solid rgba(213, 230, 236, 0.95);
    border-radius: 10px;
    background: #fff;
    color: var(--wx-ink);
    font: 600 15px/1.25 Manrope, system-ui, sans-serif;
    letter-spacing: 0.01em;
    text-align: left;
    text-decoration: none;
    transition: border-color 0.15s ease, color 0.15s ease, box-shadow 0.15s ease;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__menu a:hover {
    border-color: rgba(36, 127, 159, 0.42);
    color: var(--wx-blue);
    background: #fff;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__menu a.is-active {
    border-color: rgba(36, 127, 159, 0.38);
    background: #fff;
    color: var(--wx-ink);
    box-shadow: inset 3px 0 0 var(--wx-aqua);
  }

  body.weather-v2-lab .rail--v2 .forecast-nav a.is-active::before {
    display: none;
  }

  body.weather-v2-lab .rail--v2 .forecast-nav__menu a:focus-visible {
    outline: 2px solid rgba(36, 127, 159, 0.42);
    outline-offset: 1px;
  }
}

/* —— 1. Title —— */
body.weather-v2-lab .wx-title__place {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;
  overflow-wrap: anywhere;
  line-height: 1.22;
  padding-bottom: 0.06em;
}

@media (max-width: 660.98px) {
  body.weather-v2-lab .wx-title__place {
    font-size: clamp(28px, 7vw, 36px);
    font-weight: 400;
  }
}

/* —— 2. Breadcrumbs —— */
body.weather-v2-lab .wx-crumbs-row {
  min-width: 0;
  max-width: 100%;
}

body.weather-v2-lab .wx-crumbs-row .wx-breadcrumbs {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  max-width: 100%;
}

body.weather-v2-lab .wx-breadcrumbs {
  flex-wrap: nowrap;
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  max-width: 100%;
}

body.weather-v2-lab .wx-crumbs-row .wx-breadcrumbs::-webkit-scrollbar,
body.weather-v2-lab .wx-breadcrumbs::-webkit-scrollbar {
  display: none;
}

body.weather-v2-lab .wx-breadcrumbs__link,
body.weather-v2-lab .wx-breadcrumbs__current {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* —— 3. Strip (clock · date | coords) —— */
body.weather-v2-lab .wx-strip {
  grid-template-columns: minmax(0, 1fr) auto;
}

body.weather-v2-lab .wx-strip__time {
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: baseline;
  justify-content: flex-start;
  gap: 0;
  text-align: left;
}

body.weather-v2-lab .wx-strip__date::before {
  content: "·";
  margin: 0 0.45em;
  color: #9eb4bf;
  font-weight: 500;
}

@media (max-width: 660.98px) {
  body.weather-v2-lab .wx-strip__clock {
    font: 500 19px/1.1 var(--wx-mono);
    letter-spacing: .02em;
    font-variant-numeric: tabular-nums;
  }
}

/* —— 4. Now strip (одинаковый UI для «3 часа» и суточных) —— */
body.weather-v2-lab .wx-now.wx-now--v2-strip {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 4px;
  padding: 3px 16px 2px;
  grid-template-columns: none;
}

body.weather-v2-lab .wx-today-alerts {
  gap: 6px;
  padding-bottom: 8px;
}

body.weather-v2-lab .wx-today-alerts__list {
  list-style: none;
  margin: 0;
  padding: 0 0 2px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.weather-v2-lab .wx-today-alerts__item {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  min-width: 0;
}

body.weather-v2-lab .wx-today-alerts__icon {
  flex: 0 0 auto;
  display: inline-flex;
  width: 22px;
  height: 22px;
  margin-top: 1px;
  color: inherit;
  text-decoration: none;
}

body.weather-v2-lab .wx-today-alerts__icon svg {
  display: block;
  width: 22px;
  height: 22px;
}

body.weather-v2-lab .wx-today-alerts__icon:hover,
body.weather-v2-lab .wx-today-alerts__icon:focus-visible {
  opacity: 0.85;
}

body.weather-v2-lab .wx-today-alerts__icon:focus-visible {
  outline: 2px solid rgba(36, 127, 159, 0.42);
  outline-offset: 2px;
  border-radius: 4px;
}

body.weather-v2-lab .wx-today-alerts__text {
  flex: 1 1 auto;
  min-width: 0;
  color: var(--wx-ink);
  font: 500 14px/1.35 Manrope, system-ui, sans-serif;
}

/* Tablet + mobile: длинные алерты — горизонтальный скролл, без переноса строк */
@media (max-width: 991.98px) {
  body.weather-v2-lab .wx-today-alerts__list {
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  body.weather-v2-lab .wx-today-alerts__item {
    width: max-content;
    min-width: 100%;
    flex-shrink: 0;
  }

  body.weather-v2-lab .wx-today-alerts__text {
    flex: 0 0 auto;
    white-space: nowrap;
  }
}

body.weather-v2-lab .wx-now-strip__title {
  margin: 0;
  color: var(--wx-muted);
  font-size: 14px;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.2;
  white-space: nowrap;
}

body.weather-v2-lab .wx-now-strip__row {
  display: flex;
  align-items: center;
  gap: 10px 14px;
  min-height: 0;
  min-width: 0;
  margin: 0;
}

body.weather-v2-lab .wx-now-strip__row > div {
  margin: 0;
}

body.weather-v2-lab .wx-now-strip__row dt,
body.weather-v2-lab .wx-now-strip__row dd {
  margin: 0;
  padding: 0;
}

body.weather-v2-lab .wx-now-strip__temp {
  flex: 0 0 auto;
  align-self: center;
  display: inline-flex;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  padding: 0;
  color: var(--wx-ink);
  font: 300 34px/1 Manrope, system-ui, sans-serif;
  letter-spacing: -.06em;
  white-space: nowrap;
  width: max-content;
  text-box: trim-both cap alphabetic;
  text-box-trim: trim-both;
  text-box-edge: cap alphabetic;
}

@supports not (text-box-trim: trim-both) {
  body.weather-v2-lab .wx-now-strip__temp {
    line-height: 0.72;
    margin: -0.22em 0 -0.26em;
  }
}

body.weather-v2-lab .wx-now-strip__temp dd {
  display: inline-flex;
  align-items: flex-start;
  gap: 2px;
  margin: 0;
  color: inherit;
  font: inherit;
  letter-spacing: inherit;
}

body.weather-v2-lab .wx-now-strip__temp-unit {
  margin-top: .18em;
  padding: 0;
  font-size: .32em;
  font-weight: 500;
  letter-spacing: -.02em;
  line-height: 1;
  color: inherit;
}

body.weather-v2-lab .wx-now-strip__sky {
  flex: 0 0 auto;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 34px;
  height: 30px;
  overflow: hidden;
}

body.weather-v2-lab .wx-now-strip__sky dd {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  width: 34px;
  height: 30px;
  margin: 0;
  overflow: hidden;
}

body.weather-v2-lab .wx-now-strip__icon {
  display: block;
  width: 34px;
  height: 34px;
  flex: 0 0 auto;
  margin-top: -1px;
}

/* Текст неба/осадков — в DOM для SEO, визуально как у иконки (только SVG). */
body.weather-v2-lab .wx-now-strip__sky-text {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.weather-v2-lab .wx-now-strip__metrics {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 14px;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric {
  display: grid;
  grid-template-columns: 22px auto 1fr;
  align-items: center;
  align-self: center;
  column-gap: 8px;
  box-sizing: border-box;
  flex: 0 0 var(--wx-v2-metric-col-narrow);
  width: var(--wx-v2-metric-col-narrow);
  min-width: var(--wx-v2-metric-col-narrow);
  max-width: var(--wx-v2-metric-col-narrow);
  padding: 4px 12px 4px 14px;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind {
  grid-template-columns: 22px auto 1fr auto;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric__name {
  display: block;
  color: var(--wx-muted);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric__ico {
  grid-column: 1;
  grid-row: 1;
  width: 22px;
  height: 22px;
  color: #2a8f9a;
  align-self: center;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric__value {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
  align-self: center;
  min-width: 0;
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--wx-ink);
  font: var(--wx-v2-metric-mono);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric__unit {
  color: var(--wx-muted);
  font: var(--wx-v2-metric-meta);
}

/* Полное направление — в тексте для SEO; на экране остаётся краткая стрелка+буква. */
body.weather-v2-lab .wx-now--v2-strip .wx-metric__wind-full {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--pressure.is-pressure-high .wx-metric__pressure-val {
  color: #b04068;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--pressure.is-pressure-low .wx-metric__pressure-val {
  color: #3a8db8;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind {
  grid-column: 4;
  grid-row: 1;
  justify-self: end;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: var(--wx-ink);
  font: 600 18px/1 var(--wx-mono);
  letter-spacing: -.02em;
  white-space: nowrap;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind svg {
  display: block;
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  transform: rotate(var(--wind-deg, 0deg));
  transform-origin: center;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind.is-wind-s {
  color: #b86a2e;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind.is-wind-n {
  color: #3a8db8;
}

body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind.is-wind-ew {
  color: var(--wx-ink);
}

@media (max-width: 660.98px) {
  body.weather-v2-lab .wx-now--v2-strip .wx-metric__name {
    display: none;
  }

  body.weather-v2-lab .wx-now--v2-strip .wx-metric {
    flex: 1 1 0;
    width: auto;
    min-width: 0;
    max-width: none;
  }

  body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind {
    min-width: 9.5rem;
  }

  body.weather-v2-lab .wx-now--v2-strip .wx-metric--wind .wx-metric__wind svg {
    width: 1em;
    height: 1em;
    flex: 0 0 1em;
  }
}

@media (max-width: 460.98px) {
  body.weather-v2-lab .wx-now--v2-strip .wx-metric--pressure {
    display: none;
  }
}

/* v2 table: цвета влажности (как раньше в now-card) */
body.weather-v2-lab .wx-htable__hum.is-dry .wx-htable__hum-val { color: #b86a2e; }
body.weather-v2-lab .wx-htable__hum.is-humid .wx-htable__hum-val { color: #3a8db8; }
body.weather-v2-lab .wx-htable__hum.is-wet .wx-htable__hum-val { color: #1f5f8a; }

body.weather-v2-lab .wx-htable__pres-val,
body.weather-v2-lab .wx-htable__wind-val {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--wx-ink);
  font: var(--wx-v2-metric-mono);
  letter-spacing: -.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.weather-v2-lab .wx-htable__sky-dd,
body.weather-v2-lab .wx-htable__pres-dd,
body.weather-v2-lab .wx-htable__wind-dd {
  display: flex;
  align-items: center;
  gap: 6px;
  min-width: 0;
  margin: 0;
}

body.weather-v2-lab .wx-htable__sky-precip {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  color: var(--wx-muted);
  font: 600 15px/1 var(--wx-mono);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
}

body.weather-v2-lab .wx-htable__pres-val .wx-metric__unit,
body.weather-v2-lab .wx-htable__wind-val .wx-metric__unit,
body.weather-v2-lab .wx-htable__sky-precip .wx-metric__unit {
  color: var(--wx-muted);
  font: var(--wx-v2-metric-meta);
}

/* Intensity lives on sky icons (.wx-sky-ico--*); precip mm amount stays near-norm muted */
body.weather-v2-lab .wx-htable__icon.wx-sky-ico--lite,
body.weather-v2-lab .wx-hstrip__ico.wx-sky-ico--lite,
body.weather-v2-lab .wx-cgrid__ico.wx-sky-ico--lite,
body.wx-help-page .wx-help__card-ico.wx-sky-ico--lite {
  filter: saturate(0.85) brightness(1.08);
  opacity: 1;
}

body.weather-v2-lab .wx-htable__icon.wx-sky-ico--mid,
body.weather-v2-lab .wx-hstrip__ico.wx-sky-ico--mid,
body.weather-v2-lab .wx-cgrid__ico.wx-sky-ico--mid,
body.wx-help-page .wx-help__card-ico.wx-sky-ico--mid {
  filter: saturate(1.55) brightness(0.88) hue-rotate(10deg);
}

body.weather-v2-lab .wx-htable__icon.wx-sky-ico--heavy,
body.weather-v2-lab .wx-hstrip__ico.wx-sky-ico--heavy,
body.weather-v2-lab .wx-cgrid__ico.wx-sky-ico--heavy,
body.wx-help-page .wx-help__card-ico.wx-sky-ico--heavy {
  filter: brightness(0.62) saturate(1.2) hue-rotate(-6deg);
}

body.weather-v2-lab .wx-htable__icon.wx-sky-ico--extreme,
body.weather-v2-lab .wx-hstrip__ico.wx-sky-ico--extreme,
body.weather-v2-lab .wx-cgrid__ico.wx-sky-ico--extreme,
body.wx-help-page .wx-help__card-ico.wx-sky-ico--extreme {
  filter: brightness(0.36) saturate(1.05) contrast(1.1);
}

body.weather-v2-lab .wx-htable__pres.is-pressure-high .wx-metric__pressure-val { color: #b04068; }
body.weather-v2-lab .wx-htable__pres.is-pressure-low .wx-metric__pressure-val { color: var(--wx-tone-cool); }

/* Temperature digits: sign tones (bars keep continuous --temp scale). */
body.weather-v2-lab .wx-htable__temp-val.is-temp-pos,
body.weather-v2-lab .wx-hstrip__t.is-temp-pos { color: #b04068; }
body.weather-v2-lab .wx-htable__temp-val.is-temp-neg,
body.weather-v2-lab .wx-hstrip__t.is-temp-neg { color: var(--wx-tone-cool); }
body.weather-v2-lab .wx-htable__temp-val.is-temp-zero,
body.weather-v2-lab .wx-hstrip__t.is-temp-zero { color: #8aa3b0; }

/* v2 table: collapsible «Детальный прогноз» */
body.weather-v2-lab .wx-htable--collapsible .wx-card__head {
  margin-bottom: 0;
}

body.weather-v2-lab .wx-htable--collapsible.is-expanded .wx-card__head {
  margin-bottom: 14px;
}

body.weather-v2-lab .wx-htable__toggle {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
  text-align: left;
  font: inherit;
}

body.weather-v2-lab .wx-htable__toggle-label {
  color: var(--wx-ink);
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.01em;
}

body.weather-v2-lab .wx-htable__toggle-chevron {
  flex: 0 0 auto;
  width: 0;
  height: 0;
  margin-top: 1px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-left: 7px solid var(--wx-muted);
  transform: rotate(0deg);
  transition: transform 0.15s ease, border-left-color 0.15s ease;
}

body.weather-v2-lab .wx-htable--collapsible.is-expanded .wx-htable__toggle-chevron {
  transform: rotate(90deg);
}

body.weather-v2-lab .wx-astro-unified--collapsible.is-expanded .wx-htable__toggle-chevron {
  transform: rotate(90deg);
}

body.weather-v2-lab .wx-htable__toggle:hover .wx-htable__toggle-label,
body.weather-v2-lab .wx-htable__toggle:focus-visible .wx-htable__toggle-label {
  color: var(--wx-blue);
}

body.weather-v2-lab .wx-htable__toggle:hover .wx-htable__toggle-chevron,
body.weather-v2-lab .wx-htable__toggle:focus-visible .wx-htable__toggle-chevron {
  border-left-color: var(--wx-blue);
}

body.weather-v2-lab .wx-htable__toggle:focus-visible {
  outline: 2px solid rgba(42, 143, 154, 0.45);
  outline-offset: 3px;
  border-radius: 4px;
}

/* v2 table — band | temp | Δ | sky | hum | pres | wind */
body.weather-v2-lab .wx-htable {
  max-width: 100%;
  min-width: 0;
}

body.weather-v2-lab .wx-htable__board {
  --wx-htable-band-w: 32px;
  --wx-htable-col-pad: 2px;
  --wx-htable-col-gap: 4px;
  --wx-htable-temp-val-w: 44px;
  --wx-htable-col-delta-w: 28px;
  --wx-htable-col-temp-min: 168px;
  --wx-htable-col-sky-min: 117px;
  --wx-htable-col-hum-min: 67px;
  --wx-htable-col-pres-min: 104px;
  --wx-htable-col-wind-min: 91px;
  --wx-htable-min-w: calc(
    var(--wx-htable-band-w)
    + var(--wx-htable-col-temp-min)
    + var(--wx-htable-col-delta-w)
    + var(--wx-htable-col-sky-min)
    + var(--wx-htable-col-hum-min)
    + var(--wx-htable-col-pres-min)
    + var(--wx-htable-col-wind-min)
    + 6 * var(--wx-htable-col-gap)
  );
  --wx-htable-grid:
    var(--wx-htable-band-w)
    minmax(var(--wx-htable-col-temp-min), 2fr)
    var(--wx-htable-col-delta-w)
    minmax(var(--wx-htable-col-sky-min), 1fr)
    minmax(var(--wx-htable-col-hum-min), 1fr)
    minmax(var(--wx-htable-col-pres-min), 1fr)
    minmax(var(--wx-htable-col-wind-min), 1fr);
  display: grid;
  grid-template-columns: var(--wx-htable-grid);
  width: 100%;
  max-width: 100%;
  min-width: 0;
  column-gap: var(--wx-htable-col-gap);
  overflow-x: auto;
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

body.weather-v2-lab .wx-htable__head,
body.weather-v2-lab .wx-htable__row {
  display: grid;
  grid-template-columns: subgrid;
  grid-column: 1 / -1;
  gap: 0;
  column-gap: var(--wx-htable-col-gap);
  row-gap: 0;
  width: max(100%, var(--wx-htable-min-w));
  min-width: var(--wx-htable-min-w);
  align-items: stretch;
  padding: 0;
  margin: 0;
}

body.weather-v2-lab .wx-htable__row {
  overflow: visible;
  min-height: 0;
  border-bottom: 0;
}

body.weather-v2-lab .wx-htable__row > div {
  margin: 0;
}

body.weather-v2-lab .wx-htable__row dt,
body.weather-v2-lab .wx-htable__row dd {
  margin: 0;
  padding: 0;
}

body.weather-v2-lab .wx-htable__head > div,
body.weather-v2-lab .wx-htable__row > * {
  padding-inline: var(--wx-htable-col-pad);
}

body.weather-v2-lab .wx-htable__date,
body.weather-v2-lab .wx-htable__daypart,
body.weather-v2-lab .wx-htable__datebreak {
  grid-column: 1 / -1;
}

body.weather-v2-lab .wx-htable__date {
  margin: 0;
  font: inherit;
  font-weight: inherit;
  color: inherit;
}

body.weather-v2-lab .wx-htable__head {
  position: static;
  top: auto;
  z-index: auto;
  font-size: calc(var(--wx-htable-head) + 2px);
}

body.weather-v2-lab .wx-htable__date,
body.weather-v2-lab .wx-htable__datebreak span {
  position: static;
  left: auto;
}

body.weather-v2-lab .wx-htable__head-band,
body.weather-v2-lab .wx-htable__head > div,
body.weather-v2-lab .wx-htable__head > div:nth-child(n) {
  background: transparent;
}

body.weather-v2-lab .wx-htable__time-tick-dash {
  flex: 1 1 0;
  min-width: 2px;
  height: 0;
  border-top: 1px dashed var(--wx-v2-grid-line);
}

body.weather-v2-lab .wx-htable__time-tick-label {
  flex: 0 0 auto;
  pointer-events: auto;
  color: rgba(96, 125, 140, 0.68);
  font: 500 13px/1 var(--wx-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.01em;
  white-space: nowrap;
  padding: 0 2px;
  background: transparent;
  box-shadow: none;
}

@media (min-width: 661px) and (max-width: 991.98px) {
  body.weather-v2-lab .wx-htable__board {
    --wx-htable-col-temp-min: 180px;
  }
}

body.weather-v2-lab .wx-htable__row--daypart-night {
  --wx-htable-row-fill: var(--wx-daypart-night);
}

body.weather-v2-lab .wx-htable__row--daypart-morning {
  --wx-htable-row-fill: var(--wx-daypart-morning);
}

body.weather-v2-lab .wx-htable__row--daypart-day {
  --wx-htable-row-fill: var(--wx-daypart-day);
}

body.weather-v2-lab .wx-htable__row--daypart-evening {
  --wx-htable-row-fill: var(--wx-daypart-evening);
}

body.weather-v2-lab .wx-htable__row[class*="wx-htable__row--daypart-"] > * {
  background: var(--wx-htable-row-fill);
}

body.weather-v2-lab .wx-htable__time-band {
  display: flex;
  align-items: center;
  justify-content: center;
  align-self: stretch;
  min-height: 100%;
  padding: 0;
}

body.weather-v2-lab .wx-htable__time-band--lead {
  position: relative;
  overflow: visible;
  z-index: 2;
}

body.weather-v2-lab .wx-htable__time-band-label {
  display: inline-block;
  color: rgba(96, 125, 140, 0.68);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  white-space: nowrap;
  line-height: 1;
  transform: rotate(-90deg);
  transform-origin: center center;
}

body.weather-v2-lab .wx-htable__time-band--lead .wx-htable__time-band-label {
  position: absolute;
  left: 50%;
  top: calc(var(--band-span, 1) * 50%);
  transform: translate(-50%, -50%) rotate(-90deg);
  pointer-events: none;
}

/* temp — bar | colored T; time tick overlays bar */
body.weather-v2-lab .wx-htable__temp {
  position: relative;
  overflow: visible;
  display: grid;
  grid-template-columns: minmax(0, 1fr) var(--wx-htable-temp-val-w);
  align-items: center;
  column-gap: 4px;
  width: 100%;
  min-width: 0;
  padding-left: var(--wx-htable-col-pad, 2px);
  padding-right: 2px;
}

body.weather-v2-lab .wx-htable__time:not(.visually-hidden) {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  z-index: 3;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  min-width: 0;
  pointer-events: none;
}

body.weather-v2-lab .wx-htable__temp-bar {
  grid-column: 1;
  grid-row: 1;
  position: relative;
  align-self: stretch;
  overflow: visible;
  min-width: 0;
  width: 100%;
  display: flex;
  align-items: center;
}

body.weather-v2-lab .wx-htable__temp-val {
  grid-column: 2;
  grid-row: 1;
  align-self: center;
  box-sizing: border-box;
  justify-self: stretch;
  min-width: 0;
  text-align: left;
  color: #8aa3b0;
  font: 700 17px/1 Manrope, sans-serif;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

body.weather-v2-lab .wx-htable__time .wx-htable__time-tick {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  transform: translateY(-50%);
  z-index: 3;
  display: flex;
  align-items: center;
  pointer-events: none;
}

/* Δ column — narrow, muted; white gap via board column-gap */
body.weather-v2-lab .wx-htable__head-delta {
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 700;
  letter-spacing: 0;
}

body.weather-v2-lab .wx-htable__delta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding-inline: 0;
}

body.weather-v2-lab .wx-htable__norm {
  margin: 0;
  color: rgba(70, 92, 104, 0.72);
  font: 500 14px/1 var(--wx-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  text-align: center;
  white-space: nowrap;
}

body.weather-v2-lab .wx-htable__norm.is-none {
  color: transparent;
}

/* Pressure row reuses these tones; Δ uses .is-muted only. */
body.weather-v2-lab .wx-hstrip__norm-cell.is-warm {
  color: #a33a2b;
}

body.weather-v2-lab .wx-hstrip__norm-cell.is-cold {
  color: var(--wx-tone-cool);
}

body.weather-v2-lab .wx-hstrip__norm-cell.is-near {
  color: var(--wx-muted);
}

body.weather-v2-lab .wx-hstrip__norm-cell.is-none {
  color: rgba(96, 125, 140, 0.55);
}

body.weather-v2-lab .wx-hstrip__norm-cell.is-muted {
  color: rgba(70, 92, 104, 0.72);
  font-weight: 500;
  font-size: 14px;
}

body.weather-v2-lab .wx-htable__temp-track {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  height: calc(28px * 2 / 3);
  border: 1px solid var(--wx-v2-grid-line);
  border-radius: 0;
  background: var(--wx-v2-temp-track-bg);
  overflow: hidden;
}

body.weather-v2-lab .wx-htable__temp-track i {
  display: block;
  width: var(--temp-w, 0%);
  height: 100%;
  border-radius: 0;
  background: var(--temp, #c5d5de);
}

/* —— Mobile: меню в 2 ряда (стиль планшетной строки) —— */
@media (max-width: 660.98px) {
  /* как на планшете: не 100vw — иначе полоса справа */
  body.weather-v2-lab .daybreak {
    width: 100%;
    margin-left: 0;
  }

  body.weather-v2-lab .rail {
    background: var(--wx-v2-nav-bg-sky);
    box-shadow: none;
    border-bottom: 0;
    transition: background-color 0.22s ease;
  }

  body.weather-v2-lab.rail-nav--card .rail {
    background: var(--wx-card);
  }

  body.weather-v2-lab .rail::before,
  body.weather-v2-lab .rail::after {
    display: none;
  }

  body.weather-v2-lab .rail-brand {
    display: none;
  }

  body.weather-v2-lab .rail__inner {
    display: block;
    padding: 0;
  }

  body.weather-v2-lab .forecast-nav-slot {
    padding-left: 0;
  }

  body.weather-v2-lab .forecast-nav-slot::before {
    display: none;
  }

  body.weather-v2-lab .forecast-nav-slot__legacy {
    display: none;
  }

  body.weather-v2-lab .rail-v2-mobile-nav {
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
    background: var(--wx-v2-nav-bg-sky);
    border-top: 1px solid rgba(24, 61, 82, 0.1);
    border-bottom: 1px solid rgba(24, 61, 82, 0.1);
    transition: background-color 0.22s ease, border-color 0.22s ease;
  }

  body.weather-v2-lab.rail-nav--card .rail-v2-mobile-nav {
    background: var(--wx-card);
    border-top-color: rgba(24, 61, 82, 0.14);
    border-bottom-color: rgba(24, 61, 82, 0.14);
  }

  body.weather-v2-lab .rail-v2-mobile-nav__row {
    display: flex;
    align-items: center;
    margin: 0;
    padding: 0 10px;
    list-style: none;
    min-height: 36px;
  }

  body.weather-v2-lab .rail-v2-mobile-nav__row + .rail-v2-mobile-nav__row {
    border-top: 1px solid rgba(24, 61, 82, 0.1);
  }

  body.weather-v2-lab.rail-nav--card .rail-v2-mobile-nav__row + .rail-v2-mobile-nav__row {
    border-top-color: rgba(24, 61, 82, 0.14);
  }

  /* Ряды независимы: ширина от текста, не общая сетка 4 колонок */
  body.weather-v2-lab .rail-v2-mobile-nav__row > li {
    display: flex;
    align-items: center;
    flex: 1 1 auto;
    width: auto;
    min-width: 0;
    justify-content: center;
  }

  body.weather-v2-lab .rail-v2-mobile-nav__row > li + li::before {
    content: "";
    width: 1px;
    height: 0.9em;
    margin: 0 4px;
    background: rgba(24, 61, 82, 0.18);
    flex-shrink: 0;
  }

  body.weather-v2-lab .rail-v2-mobile-nav a {
    display: block;
    box-sizing: border-box;
    width: auto;
    max-width: 100%;
    color: var(--wx-ink);
    text-decoration: none;
    font: 700 15px/1.2 Manrope, system-ui, sans-serif;
    letter-spacing: 0.01em;
    white-space: nowrap;
    padding: 6px 2px;
    border-bottom: 1px solid transparent;
    text-align: center;
    overflow: visible;
    text-overflow: clip;
    transition: color 0.15s ease, border-color 0.15s ease;
    -webkit-tap-highlight-color: transparent;
  }

  body.weather-v2-lab .rail-v2-mobile-nav a:hover {
    color: var(--wx-blue);
    border-bottom-color: rgba(42, 143, 154, 0.4);
  }

  body.weather-v2-lab .rail-v2-mobile-nav a.is-active {
    color: var(--wx-blue);
    border-bottom-color: rgba(42, 143, 154, 0.55);
  }

  body.weather-v2-lab .rail-v2-mobile-nav a:focus-visible {
    outline: 2px solid rgba(36, 127, 159, 0.4);
    outline-offset: 1px;
  }
}

/* —— 5. Горизонтальный «Прогноз» (3 ч × 8, today/tomorrow) —— */
body.weather-v2-lab .wx-hstrip__chart {
  width: max-content;
  --wx-hstrip-pitch: 75px;
  --wx-hstrip-col-w: 38px;
  --wx-hstrip-chart-min-w: calc(
    var(--wx-hstrip-slots, 8) * var(--wx-hstrip-pitch) - (var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w))
  );
  min-width: var(--wx-hstrip-chart-min-w);
  max-width: none;
  flex-shrink: 0;
}

/* Compact strip (3-day / weekend): clamp(min, available, max); card hugs chart like today/tomorrow. */
body.weather-v2-lab .wx-stack:has(.wx-hstrip__chart--compact) {
  container-type: inline-size;
  min-width: 0;
  max-width: 100%;
}

body.weather-v2-lab .wx-hstrip:has(.wx-hstrip__chart--compact) {
  width: max-content;
  max-width: 100%;
  min-width: 0;
  align-self: flex-start;
  overflow-x: auto;
  overflow-y: visible;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
}

body.weather-v2-lab .wx-hstrip__chart--compact {
  --wx-hstrip-pitch-min: 52px;
  --wx-hstrip-col-w-min: 29px;
  --wx-hstrip-pitch-max: 75px;
  --wx-hstrip-col-w-max: 38px;
  --wx-hstrip-head-half: 17px;
  --wx-hstrip-chart-min-w: calc(
    var(--wx-hstrip-slots, 12) * var(--wx-hstrip-pitch-min) - (var(--wx-hstrip-pitch-min) - var(--wx-hstrip-col-w-min))
  );
  --wx-hstrip-chart-max-w: calc(
    var(--wx-hstrip-slots, 12) * var(--wx-hstrip-pitch-max) - (var(--wx-hstrip-pitch-max) - var(--wx-hstrip-col-w-max))
  );
  --wx-hstrip-inner-w: clamp(
    var(--wx-hstrip-chart-min-w),
    100cqw - 40px,
    var(--wx-hstrip-chart-max-w)
  );
  --wx-hstrip-grow: clamp(
    0,
    (var(--wx-hstrip-inner-w) - var(--wx-hstrip-chart-min-w))
      / (var(--wx-hstrip-chart-max-w) - var(--wx-hstrip-chart-min-w)),
    1
  );
  --wx-hstrip-pitch: calc(
    var(--wx-hstrip-pitch-min)
    + var(--wx-hstrip-grow) * (var(--wx-hstrip-pitch-max) - var(--wx-hstrip-pitch-min))
  );
  --wx-hstrip-col-w: calc(
    var(--wx-hstrip-col-w-min)
    + var(--wx-hstrip-grow) * (var(--wx-hstrip-col-w-max) - var(--wx-hstrip-col-w-min))
  );
  width: var(--wx-hstrip-inner-w);
  max-width: var(--wx-hstrip-chart-max-w);
  flex-shrink: 0;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split {
  display: flex;
  flex-direction: column;
  margin-bottom: 0;
  gap: 8px;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__day-row,
body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split .wx-hstrip__band-row--dayparts {
  display: flex;
  align-items: stretch;
  overflow: visible;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__day-row .wx-hstrip__sep {
  background: transparent;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__day-cap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: var(--wx-hstrip-head-half, 17px);
  width: calc(
    var(--day-cols, 4) * var(--wx-hstrip-col-w)
    + (var(--day-cols, 4) - 1) * (var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w))
  );
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__day-label {
  color: var(--wx-ink);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.03em;
  text-transform: lowercase;
  white-space: nowrap;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split .wx-hstrip__band {
  min-height: var(--wx-hstrip-head-half, 17px);
  background: transparent;
  border-radius: 0;
  justify-content: flex-end;
  overflow: visible;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split .wx-hstrip__band-track {
  flex: 0 0 auto;
  position: relative;
  height: var(--wx-hstrip-head-half, 17px);
  min-height: 14px;
  align-items: stretch;
  overflow: visible;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split .wx-hstrip__band-part-label {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0 1px;
  color: rgba(96, 125, 140, 0.68);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1;
  text-transform: lowercase;
  white-space: nowrap;
  overflow: visible;
  pointer-events: none;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__head--split .wx-hstrip__band-slot {
  height: 100%;
}

/* 3-day split head: vertical rules between days */
body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__head--split {
  position: relative;
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__head-day-breaks {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 2;
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__head-day-break {
  position: absolute;
  top: 0;
  bottom: 0;
  width: 3px;
  left: calc(
    (var(--day-break-i) - 1) * var(--wx-hstrip-pitch)
    + var(--wx-hstrip-col-w)
    + (var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w) - 3px) / 2
  );
  background: rgba(24, 61, 82, 0.42);
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__head--split .wx-hstrip__sep--day-break {
  visibility: hidden;
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__sep--day-break {
  width: 3px;
  margin-left: calc((var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w) - 3px) / 2);
  margin-right: calc((var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w) - 3px) / 2);
  background: rgba(24, 61, 82, 0.42);
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks
  .wx-hstrip__cols > .wx-hstrip__sep--day-break.wx-hstrip__sep--vtick {
  background: rgba(24, 61, 82, 0.42);
}

body.weather-v2-lab .wx-hstrip__chart--day-breaks .wx-hstrip__sep--day-break .wx-hstrip__sep-vtick-dash {
  border-color: transparent;
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__col {
  gap: calc(6px + var(--wx-hstrip-grow, 0) * 2px);
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__icon-wrap {
  min-height: calc(33px + var(--wx-hstrip-grow, 0) * 11px);
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__ico {
  width: calc(30px + var(--wx-hstrip-grow, 0) * 10px);
  height: calc(30px + var(--wx-hstrip-grow, 0) * 10px);
}

body.weather-v2-lab .wx-hstrip__chart--compact .wx-hstrip__bar {
  width: calc(21px + var(--wx-hstrip-grow, 0) * 7px);
}

body.weather-v2-lab .wx-stack > .wx-hstrip {
  flex-shrink: 0;
  align-self: flex-start;
}

body.weather-v2-lab .wx-hstrip {
  width: max-content;
  min-width: calc(var(--wx-hstrip-chart-min-w, 563px) + 40px);
  max-width: none;
  box-sizing: border-box;
  padding: 16px 20px 14px;
  flex-shrink: 0;
}

body.weather-v2-lab .wx-hstrip__band-row,
body.weather-v2-lab .wx-hstrip__day-row,
body.weather-v2-lab .wx-hstrip__day-cap,
body.weather-v2-lab .wx-hstrip__cols,
body.weather-v2-lab .wx-hstrip__norm-cols,
body.weather-v2-lab .wx-hstrip__col,
body.weather-v2-lab .wx-hstrip__sep,
body.weather-v2-lab .wx-hstrip__norm-cell,
body.weather-v2-lab .wx-hstrip__band-slot {
  flex-shrink: 0;
}

body.weather-v2-lab .wx-hstrip__band-row {
  display: flex;
  align-items: flex-end;
  margin-bottom: 0;
}

body.weather-v2-lab .wx-hstrip__band {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  min-height: 34px;
  border-radius: 8px 8px 0 0;
  overflow: hidden;
}

body.weather-v2-lab .wx-hstrip__band-label {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 4px 6px 2px;
  color: rgba(96, 125, 140, 0.68);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: lowercase;
  white-space: nowrap;
}

body.weather-v2-lab .wx-hstrip__band-track {
  display: flex;
  align-items: stretch;
}

body.weather-v2-lab .wx-hstrip__band-slot {
  width: var(--wx-hstrip-col-w);
  height: 6px;
}

body.weather-v2-lab .wx-hstrip__band--night { background: var(--wx-daypart-night); }
body.weather-v2-lab .wx-hstrip__band--morning { background: var(--wx-daypart-morning); }
body.weather-v2-lab .wx-hstrip__band--day { background: var(--wx-daypart-day); }
body.weather-v2-lab .wx-hstrip__band--evening { background: var(--wx-daypart-evening); }

body.weather-v2-lab .wx-hstrip__cols {
  display: flex;
  align-items: flex-end;
}

body.weather-v2-lab .wx-hstrip__cols > .wx-hstrip__sep--vtick {
  position: relative;
  background: transparent;
  overflow: visible;
}

body.weather-v2-lab .wx-hstrip__sep-vtick {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 0;
  pointer-events: none;
}

body.weather-v2-lab .wx-hstrip__sep-vtick-dash {
  flex: 1 1 0;
  width: 0;
  min-height: 4px;
  border-left: 1px dashed var(--wx-v2-grid-line);
}

body.weather-v2-lab .wx-hstrip__sep-vtick-label {
  position: absolute;
  left: 50%;
  bottom: 18px;
  z-index: 1;
  flex: 0 0 auto;
  color: var(--wx-muted);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  transform: translateX(-50%) rotate(-90deg);
  transform-origin: center center;
  line-height: 1;
  padding: 3px 4px;
  background: var(--wx-card, #fff);
  border-radius: 2px;
  box-shadow: 0 0 0 2px var(--wx-card, #fff);
}

body.weather-v2-lab .wx-hstrip__sep {
  align-self: stretch;
  width: 1px;
  margin: 0 calc((var(--wx-hstrip-pitch) - var(--wx-hstrip-col-w) - 1px) / 2);
  background: var(--wx-v2-grid-line);
}

body.weather-v2-lab .wx-hstrip__col {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  width: var(--wx-hstrip-col-w);
}

body.weather-v2-lab .wx-hstrip__icon-wrap {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
}

body.weather-v2-lab .wx-hstrip__ico {
  display: block;
  width: 40px;
  height: 40px;
}

body.weather-v2-lab .wx-hstrip__bar-wrap {
  display: flex;
  align-items: flex-end;
  height: 72px;
}

body.weather-v2-lab .wx-hstrip__bar {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  width: 28px;
  height: 72px;
  background: var(--wx-v2-temp-track-bg);
  border: 1px solid var(--wx-v2-grid-line);
  border-radius: 0;
  overflow: hidden;
}

body.weather-v2-lab .wx-hstrip__bar i {
  display: block;
  width: 100%;
  height: var(--h, 20%);
  border-radius: 0;
  background: var(--c, #c5d5de);
}

body.weather-v2-lab .wx-hstrip__t {
  color: #8aa3b0;
  font: 700 17px/1.1 var(--wx-mono);
  letter-spacing: -0.02em;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  text-align: center;
}

body.weather-v2-lab .wx-hstrip__past-dash {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 35px;
  color: var(--wx-muted, #6b8294);
  font: 600 22px/1 Georgia, "Times New Roman", serif;
  letter-spacing: 0.04em;
  opacity: 0.55;
  user-select: none;
}

body.weather-v2-lab .wx-hstrip__col--past .wx-hstrip__t--empty {
  visibility: hidden;
}

body.weather-v2-lab .wx-hstrip__bar-wrap--empty {
  min-height: 72px;
}

body.weather-v2-lab .wx-hstrip__norm {
  width: 100%;
  margin-top: 4px;
}

body.weather-v2-lab .wx-hstrip__norm + .wx-hstrip__norm {
  margin-top: 2px;
}

body.weather-v2-lab .wx-hstrip__norm-head {
  display: flex;
  align-items: center;
  gap: 8px;
  min-height: 0;
  margin-bottom: 2px;
}

body.weather-v2-lab .wx-hstrip__norm-title {
  flex: 0 0 auto;
  color: var(--wx-muted);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  white-space: nowrap;
}

body.weather-v2-lab .wx-hstrip__norm-dash {
  flex: 1 1 auto;
  min-width: 24px;
  height: 0;
  border-top: 1px dashed var(--wx-v2-grid-line);
}

body.weather-v2-lab .wx-hstrip__norm-cols {
  display: flex;
  align-items: center;
}

body.weather-v2-lab .wx-hstrip__norm-cell {
  width: var(--wx-hstrip-col-w, 38px);
  color: var(--wx-muted);
  font: 700 15px/1.1 var(--wx-mono);
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.02em;
  text-align: center;
  white-space: nowrap;
}

@media (max-width: 660.98px) {
  /* Strip: keep desktop column pitch/width; scroll horizontally inside the card */
  body.weather-v2-lab .wx-stack {
    max-width: 100%;
    min-width: 0;
  }

  body.weather-v2-lab .wx-stack > .wx-hstrip,
  body.weather-v2-lab .wx-hstrip {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    align-self: stretch;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  body.weather-v2-lab .wx-hstrip__chart {
    width: max-content;
    min-width: var(--wx-hstrip-chart-min-w, 563px);
    max-width: none;
    flex-shrink: 0;
  }

  body.weather-v2-lab .wx-hstrip__chart--compact {
    --wx-hstrip-pitch: var(--wx-hstrip-pitch-max, 75px);
    --wx-hstrip-col-w: var(--wx-hstrip-col-w-max, 38px);
    --wx-hstrip-grow: 1;
    width: var(--wx-hstrip-chart-max-w);
    min-width: var(--wx-hstrip-chart-max-w);
    max-width: none;
  }

  body.weather-v2-lab .wx-hstrip__ico {
    width: 36px;
    height: 36px;
  }

  body.weather-v2-lab .wx-hstrip__t {
    font-size: 16px;
  }
}

/* ── Two-week calendar grid ── */

body.weather-v2-lab .wx-cgrid {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  padding: 16px 20px 22px;
  background:
    linear-gradient(165deg, rgba(232, 244, 248, 0.9) 0%, rgba(248, 250, 246, 0.95) 48%, rgba(255, 248, 236, 0.55) 100%);
}

body.weather-v2-lab .wx-cgrid__month {
  margin-left: 0.35em;
  color: var(--wx-muted);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 15px;
  font-weight: 600;
}

body.weather-v2-lab .wx-cgrid__weekhead,
body.weather-v2-lab .wx-cgrid__cells {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
}

body.weather-v2-lab .wx-cgrid__weekhead {
  margin-bottom: 0;
}

body.weather-v2-lab .wx-cgrid__weekday {
  padding: 0 0 8px;
  color: rgba(96, 125, 140, 0.78);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-align: center;
  text-transform: uppercase;
}

body.weather-v2-lab .wx-cgrid__weekday.is-weekend {
  color: rgba(180, 110, 28, 0.88);
}

body.weather-v2-lab .wx-cgrid__cell {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  min-height: 108px;
  padding: 8px 8px 10px;
  box-sizing: border-box;
  overflow: hidden;
}

body.weather-v2-lab .wx-cgrid__cell--pad {
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  pointer-events: none;
}

body.weather-v2-lab .wx-cgrid__cell--missing {
  opacity: 0.45;
}

body.weather-v2-lab .wx-cgrid__day-num {
  color: rgba(96, 125, 140, 0.78);
  font-family: Manrope, system-ui, sans-serif;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.15;
  letter-spacing: 0.01em;
  font-variant-numeric: tabular-nums;
}

body.weather-v2-lab .wx-cgrid__temps {
  display: flex;
  flex-direction: column;
  gap: 3px;
  margin-top: auto;
}

body.weather-v2-lab .wx-cgrid__temp {
  display: inline-flex;
  align-items: baseline;
  gap: 5px;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body.weather-v2-lab .wx-cgrid__val {
  font: 800 18px/1 var(--wx-mono);
  letter-spacing: -0.03em;
}

body.weather-v2-lab .wx-cgrid__temp--day {
  color: rgba(24, 61, 82, 0.95);
}

body.weather-v2-lab .wx-cgrid__temp--night {
  color: rgba(45, 78, 110, 0.78);
}

body.weather-v2-lab .wx-cgrid__temp--night .wx-cgrid__val {
  font-size: 15px;
  font-weight: 700;
}

body.weather-v2-lab .wx-cgrid__missing {
  margin-top: auto;
  color: rgba(96, 125, 140, 0.5);
  font: 700 18px/1 var(--wx-mono);
  text-align: center;
}

body.weather-v2-lab .wx-cgrid__board {
  --wx-cgrid-gap: 6px;
  --wx-cgrid-col-min: 104px;
  --wx-cgrid-min-w: calc(
    7 * var(--wx-cgrid-col-min) + 6 * var(--wx-cgrid-gap)
  );
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__weekhead,
body.weather-v2-lab .wx-cgrid__board .wx-cgrid__cells {
  gap: var(--wx-cgrid-gap);
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__cell {
  min-height: 148px;
  padding: 6px 8px 0;
  border-radius: 14px;
  border: 0;
  background:
    linear-gradient(
      165deg,
      color-mix(in srgb, var(--day-c, #67c8ce) 42%, #f7fbfc) 0%,
      color-mix(in srgb, var(--day-c, #67c8ce) 18%, #f4f8fa) 58%,
      color-mix(in srgb, var(--night-c, #3d6a8a) 22%, #e8eef4) 100%
    );
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, 0.45),
    0 1px 2px rgba(24, 61, 82, 0.06);
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__cell--pad {
  min-height: 148px;
  padding: 0;
  border: 1px solid rgba(24, 61, 82, 0.14);
  background: transparent;
  box-shadow: none;
  pointer-events: none;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__day-num {
  font-size: 12px;
  margin-top: 2px;
  margin-bottom: 0;
}

body.weather-v2-lab .wx-cgrid__arc {
  /* Shared % space with icons: centers 14/75, 50/25, 86/75; path hugs inner edges */
  --wx-cgrid-arc-h: 64px;
  position: relative;
  flex: 0 0 auto;
  width: 100%;
  height: var(--wx-cgrid-arc-h);
  margin: 1px 0 0;
}

body.weather-v2-lab .wx-cgrid__arc-path {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 0;
  overflow: visible;
}

body.weather-v2-lab .wx-cgrid__arc-path-line {
  stroke: color-mix(in srgb, #d4840a 55%, rgba(24, 61, 82, 0.35));
  stroke-width: 1.35;
  stroke-linecap: round;
  stroke-dasharray: 2.5 3.5;
  opacity: 0.78;
}

body.weather-v2-lab .wx-cgrid__arc-slot {
  position: absolute;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  transform: translate(-50%, -50%);
}

body.weather-v2-lab .wx-cgrid__arc-slot--morning {
  left: 14%;
  top: 75%;
}

body.weather-v2-lab .wx-cgrid__arc-slot--day {
  left: 50%;
  top: 25%;
}

body.weather-v2-lab .wx-cgrid__arc-slot--evening {
  left: 86%;
  top: 75%;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__ico {
  width: 32px;
  height: 32px;
  box-sizing: border-box;
  display: block;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__ico--apex {
  width: 36px;
  height: 36px;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__temps {
  gap: 0;
  margin: 0 -8px;
  margin-top: 0;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__temp {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 4px 8px 5px;
  text-align: center;
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__temp--day {
  background: rgba(255, 255, 255, 0.28);
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__temp--night {
  background: color-mix(in srgb, #1c3348 28%, transparent);
  color: rgba(236, 244, 250, 0.92);
}

body.weather-v2-lab .wx-cgrid__board .wx-cgrid__temp--night .wx-cgrid__val {
  color: #f3f8fc;
}

@media (max-width: 660.98px) {
  /* Calendar: keep desktop column width; scroll horizontally inside the card */
  body.weather-v2-lab .wx-cgrid {
    max-width: 100%;
    min-width: 0;
  }

  body.weather-v2-lab .wx-cgrid__month {
    display: none;
  }

  body.weather-v2-lab .wx-cgrid__board {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
    overflow-y: visible;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  body.weather-v2-lab .wx-cgrid__board .wx-cgrid__weekhead,
  body.weather-v2-lab .wx-cgrid__board .wx-cgrid__cells {
    width: max(100%, var(--wx-cgrid-min-w));
    min-width: var(--wx-cgrid-min-w);
    grid-template-columns: repeat(7, minmax(var(--wx-cgrid-col-min), 1fr));
  }

  body.weather-v2-lab .wx-cgrid__board .wx-cgrid__cell--pad {
    min-height: 148px;
  }
}


/* —— /weather/help —— */
body.wx-help-page {
  --wx-help-border: rgba(40, 70, 90, 0.12);
  --wx-help-surface: #f7fafc;
}

body.wx-help-page .wx-help {
  max-width: 920px;
  margin: 0 auto;
  padding: 28px 20px 64px;
}

body.wx-help-page .wx-help__intro,
body.wx-help-page .wx-help__lead,
body.wx-help-page .wx-help__note,
body.wx-help-page .wx-help__footer,
body.wx-help-page .wx-help__list {
  color: var(--wx-muted, #5a7380);
  font: 400 15px/1.55 Manrope, system-ui, sans-serif;
}

body.wx-help-page .wx-help__intro {
  margin: 8px 0 20px;
  max-width: 62ch;
}

body.wx-help-page .wx-help__toc {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 16px;
  margin: 0 0 28px;
  padding: 0;
}

body.wx-help-page .wx-help__toc a {
  color: #1f6f8a;
  font: 600 14px/1.2 Manrope, system-ui, sans-serif;
  text-decoration: none;
  border-bottom: 1px solid rgba(31, 111, 138, 0.35);
}

body.wx-help-page .wx-help__section {
  margin: 0 0 36px;
}

body.wx-help-page .wx-help__h2 {
  margin: 0 0 8px;
  font: 700 22px/1.25 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__h3 {
  margin: 20px 0 10px;
  font: 700 18px/1.3 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__h4 {
  margin: 0;
  font: 700 16px/1.3 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__list {
  margin: 0;
  padding-left: 1.2em;
}

body.wx-help-page .wx-help__list li + li {
  margin-top: 6px;
}

body.wx-help-page .wx-help__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 14px;
  margin-top: 14px;
}

body.wx-help-page .wx-help__card,
body.wx-help-page .wx-help__interval {
  border: 1px solid var(--wx-help-border);
  background: var(--wx-help-surface);
  border-radius: 12px;
  padding: 16px 16px 14px;
}

body.wx-help-page .wx-help__interval {
  margin-top: 14px;
}

body.wx-help-page .wx-help__interval-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
}

body.wx-help-page .wx-help__badge {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: rgba(31, 111, 138, 0.1);
  color: #1f6f8a;
  font: 600 12px/1.2 Manrope, system-ui, sans-serif;
}

body.wx-help-page .wx-help__card-ico {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  margin-bottom: 10px;
}

body.wx-help-page .wx-help__card-ico--sm {
  width: 36px;
  height: 36px;
  margin: 0;
}

body.wx-help-page .wx-help__svg {
  width: 100%;
  height: 100%;
  display: block;
}

body.wx-help-page .wx-help__card-title {
  margin: 0 0 6px;
  font: 700 16px/1.25 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__card-rule {
  margin: 0 0 10px;
  font: 500 14px/1.4 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__meta {
  display: grid;
  gap: 4px;
  margin: 0;
  font: 400 13px/1.35 Manrope, system-ui, sans-serif;
  color: var(--wx-muted, #5a7380);
}

body.wx-help-page .wx-help__meta > div {
  display: grid;
  grid-template-columns: 64px 1fr;
  gap: 8px;
}

body.wx-help-page .wx-help__meta dt {
  margin: 0;
  color: #8aa0ab;
}

body.wx-help-page .wx-help__meta dd {
  margin: 0;
}

body.wx-help-page .wx-help__examples {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 10px;
  margin-top: 12px;
}

body.wx-help-page .wx-help__example {
  display: grid;
  grid-template-columns: 36px 1fr;
  gap: 10px;
  align-items: start;
  padding: 10px;
  border-radius: 10px;
  background: #fff;
  border: 1px solid rgba(40, 70, 90, 0.08);
}

body.wx-help-page .wx-help__example-mm {
  font: 700 14px/1.2 Manrope, system-ui, sans-serif;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__example-status,
body.wx-help-page .wx-help__example-icon {
  font: 400 12px/1.35 Manrope, system-ui, sans-serif;
  color: var(--wx-muted, #5a7380);
}

body.wx-help-page .wx-help__footer {
  margin-top: 28px;
  font-size: 13px;
}

body.wx-help-page .wx-help__card-ico.wx-sky-ico--lite {
  filter: none;
  opacity: 1;
}

body.wx-help-page .wx-help__card-ico.wx-sky-ico--heavy {
  filter: brightness(0.72) saturate(1.15);
}

body.wx-help-page .wx-help__card-ico.wx-sky-ico--extreme {
  filter: brightness(0.45) saturate(1.05);
}

body.wx-help-page code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 0.92em;
}


body.wx-help-page .wx-help__matrix-wrap {
  margin-top: 14px;
  overflow-x: auto;
  border: 1px solid rgba(40, 70, 90, 0.12);
  border-radius: 12px;
  background: #f7fafc;
}

body.wx-help-page .wx-help__matrix {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
  font: 500 16px/1.4 Manrope, system-ui, sans-serif;
}

body.wx-help-page .wx-help__matrix th,
body.wx-help-page .wx-help__matrix td {
  padding: 14px 12px;
  border-top: 1px solid rgba(40, 70, 90, 0.1);
  text-align: center;
  vertical-align: middle;
  color: var(--wx-ink, #16323f);
}

body.wx-help-page .wx-help__matrix thead th {
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .02em;
  text-transform: uppercase;
  color: #8aa0ab;
  border-top: 0;
  background: rgba(255, 255, 255, 0.65);
}

body.wx-help-page #precip > .wx-help__h2 {
  color: #000;
  font: 700 24px/1.25 Manrope, system-ui, sans-serif;
}

body.wx-help-page #precip .wx-help__matrix thead th {
  color: #000;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: none;
}

body.wx-help-page .wx-help__matrix th.wx-help__matrix-cat-h,
body.wx-help-page .wx-help__matrix td.wx-help__matrix-cat {
  text-align: left;
  padding-left: 14px;
  padding-right: 10px;
}

body.wx-help-page .wx-help__matrix-cat-inner {
  display: inline-flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
}

body.wx-help-page .wx-help__matrix-cat-sep {
  color: #8aa0ab;
  font-weight: 500;
}

body.wx-help-page .wx-help__matrix-label {
  font-weight: 600;
  white-space: nowrap;
}

body.wx-help-page .wx-help__matrix-range {
  font-family: Manrope, system-ui, sans-serif;
  font-weight: 500;
  white-space: nowrap;
}

body.wx-help-page .wx-help__matrix-cat .wx-help__card-ico--sm {
  display: grid;
  place-items: center;
  margin: 0;
  flex: 0 0 auto;
}

body.wx-help-page .wx-help__matrix--climate th:first-child,
body.wx-help-page .wx-help__matrix--climate td:first-child {
  text-align: left;
}

body.wx-help-page .wx-help__climate-short {
  font-weight: 750;
}

body.wx-help-page .wx-help__climate-full {
  color: rgba(24, 61, 82, 0.82);
  font-weight: 500;
}

body.wx-help-page .wx-help__matrix--climate tr.is-near .wx-help__climate-short { color: #2a7a5a; }
body.wx-help-page .wx-help__matrix--climate tr.is-mild_warmer .wx-help__climate-short { color: #b8683a; }
body.wx-help-page .wx-help__matrix--climate tr.is-warmer .wx-help__climate-short,
body.wx-help-page .wx-help__matrix--climate tr.is-much_warmer .wx-help__climate-short { color: #a33a2b; }
body.wx-help-page .wx-help__matrix--climate tr.is-mild_cooler .wx-help__climate-short { color: #3a7a9a; }
body.wx-help-page .wx-help__matrix--climate tr.is-cooler .wx-help__climate-short,
body.wx-help-page .wx-help__matrix--climate tr.is-much_cooler .wx-help__climate-short { color: #1f5f8a; }

/* v2: link card → full-screen /weather/map */
body.weather-v2-lab a.wx-map-link {
  display: block;
  padding: 8px 18px;
  text-decoration: none;
  color: inherit;
  cursor: pointer;
  transition: border-color .15s ease, box-shadow .15s ease;
}

body.weather-v2-lab a.wx-map-link:hover {
  border-color: rgba(36, 127, 159, 0.38);
  box-shadow: 0 4px 16px rgba(24, 61, 82, 0.08);
}

body.weather-v2-lab a.wx-map-link:focus-visible {
  outline: 2px solid rgba(36, 127, 159, 0.42);
  outline-offset: 2px;
}

body.weather-v2-lab .wx-map-link__head {
  margin-bottom: 12px;
}

body.weather-v2-lab .wx-map-link__row {
  display: flex;
  align-items: center;
  gap: 14px;
  min-width: 0;
}

body.weather-v2-lab .wx-map-link__icon {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  width: 56px;
  height: 56px;
  color: var(--wx-blue);
}

body.weather-v2-lab .wx-map-link__globe {
  display: block;
  width: 46px;
  height: 46px;
}

body.weather-v2-lab .wx-map-link__cloudy,
body.weather-v2-lab .wx-map-link__clear {
  pointer-events: none;
}

body.weather-v2-lab .wx-map-link__desc {
  font: 500 17px/1.35 Manrope, sans-serif;
  color: var(--wx-muted);
}

/* —— City info: plain reading prose (not v2 card/bubble style) —— */
body.weather-v2-lab .wx-info-prose {
  max-width: 42rem;
  margin: 8px 0 0;
  color: var(--wx-ink);
  font: 400 17px/1.65 Manrope, sans-serif;
}

body.weather-v2-lab .wx-info-prose p {
  margin: 0 0 1em;
}

body.weather-v2-lab .wx-info-prose p:last-child {
  margin-bottom: 0;
}

body.weather-v2-lab .wx-info-prose__empty {
  color: var(--wx-muted);
}

body.weather-v2-lab .wx-site-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 16px;
  margin: 8px 10px 12px;
  padding: 0;
  font: 500 14px/1.3 Manrope, system-ui, sans-serif;
}

body.weather-v2-lab .wx-site-links a {
  color: var(--wx-muted);
  text-decoration: none;
}

body.weather-v2-lab .wx-site-links a:hover {
  color: var(--wx-blue);
  text-decoration: underline;
}

body.weather-v2-lab .wx-forecast-empty {
  margin: 0 0 16px;
  padding: 14px 16px;
  border: 1px solid var(--wx-card-border);
  border-radius: var(--wx-radius);
  background: var(--wx-card);
  color: var(--wx-muted);
  font: 500 16px/1.4 Manrope, system-ui, sans-serif;
}

