/* /Components/Layout/MainLayout.razor.rz.scp.css */
.site-shell[b-6advf2t4zn] {
    min-height: 100dvh;
}

.site-header[b-6advf2t4zn] {
    position: relative;
    z-index: 10;
    display: flex;
    width: min(1240px, calc(100% - 32px));
    min-height: 76px;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    border-bottom: 1px solid var(--line-soft);
}

.brand-lockup[b-6advf2t4zn] {
    display: inline-flex;
    min-height: 48px;
    align-items: center;
    gap: 11px;
    color: var(--text-strong);
    text-decoration: none;
}

.site-header-actions[b-6advf2t4zn] {
    display: flex;
    align-items: center;
    gap: 8px;
}

.mobile-place-pill[b-6advf2t4zn] {
    display: none;
}

.mobile-product-nav[b-6advf2t4zn] {
    display: none;
}

.warning-shortcut[b-6advf2t4zn] {
    position: relative;
    color: var(--text-strong);
    text-decoration: none;
}

.warning-indicator[b-6advf2t4zn] {
    position: absolute;
    top: 7px;
    right: 6px;
    width: 7px;
    height: 7px;
    border: 1px solid var(--page);
    border-radius: 50%;
    background: var(--accent);
}

.brand-mark[b-6advf2t4zn] {
    position: relative;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--accent) 48%, var(--line));
    border-radius: 12px 12px 12px 4px;
    background: var(--accent-soft);
    color: var(--accent-ink);
    font-weight: 850;
}

.site-navigation[b-6advf2t4zn] {
    display: flex;
    min-height: 44px;
    align-items: center;
    gap: 4px;
    padding: 4px;
    border: 1px solid var(--line-soft);
    border-radius: 999px;
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.site-navigation a[b-6advf2t4zn] {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 11px;
    border-radius: 999px;
    color: var(--text);
    font-size: .8rem;
    font-weight: 750;
    text-decoration: none;
}

.site-navigation a:hover[b-6advf2t4zn],
.site-navigation a[aria-current="page"][b-6advf2t4zn] {
    background: var(--accent-soft);
    color: var(--accent-ink);
}

.brand-copy[b-6advf2t4zn] {
    display: grid;
    gap: 1px;
}

.brand-copy strong[b-6advf2t4zn] {
    font-size: .95rem;
    letter-spacing: -.01em;
}

.brand-copy small[b-6advf2t4zn] {
    color: var(--text-muted);
    font-size: .7rem;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.theme-toggle[b-6advf2t4zn] {
    flex: 0 0 auto;
}

.site-footer[b-6advf2t4zn] {
    display: grid;
    width: min(1240px, calc(100% - 32px));
    margin: 56px auto 0;
    padding: 28px 0 calc(28px + env(safe-area-inset-bottom));
    gap: 12px;
    border-top: 1px solid var(--line-soft);
    color: var(--text-muted);
    font-size: .86rem;
}

.site-footer p[b-6advf2t4zn] {
    margin: 0;
}

.site-footer nav[b-6advf2t4zn] {
    display: flex;
    flex-wrap: wrap;
    gap: 10px 20px;
}

.site-footer a[b-6advf2t4zn] {
    color: var(--text);
    text-underline-offset: 3px;
}

.footer-note[b-6advf2t4zn] {
    font-size: .78rem;
}

@media (max-width: 920px) {
    .site-header[b-6advf2t4zn],
    .site-footer[b-6advf2t4zn] {
        width: min(100% - 24px, 1180px);
    }

    .site-header[b-6advf2t4zn] {
        min-height: 76px;
        border-bottom: 0;
    }

    .site-header-subpage[b-6advf2t4zn] {
        display: none;
    }

    .site-navigation[b-6advf2t4zn] {
        display: none;
    }

    .brand-lockup[b-6advf2t4zn] {
        min-width: 0;
    }

    .brand-mark[b-6advf2t4zn] {
        width: 38px;
        height: 38px;
    }

    .brand-copy strong[b-6advf2t4zn] {
        font-size: .9rem;
        white-space: nowrap;
    }

    .brand-copy small[b-6advf2t4zn] {
        display: none;
    }

    .brand-copy[b-6advf2t4zn] {
        display: none;
    }

    .mobile-place-pill[b-6advf2t4zn] {
        display: inline-flex;
        min-width: 0;
        min-height: 44px;
        align-items: center;
        justify-content: center;
        gap: 7px;
        padding: 0 13px;
        border: 1px solid var(--line-soft);
        border-radius: 999px;
        color: var(--text-strong);
        font-size: .85rem;
        font-weight: 700;
        text-decoration: none;
    }

    .mobile-place-pill span[b-6advf2t4zn] {
        overflow: hidden;
        text-overflow: ellipsis;
        white-space: nowrap;
    }

    .site-header-actions[b-6advf2t4zn] {
        gap: 6px;
    }

    .site-shell[b-6advf2t4zn] {
        padding-bottom: calc(76px + env(safe-area-inset-bottom));
    }

    .mobile-product-nav[b-6advf2t4zn] {
        position: fixed;
        z-index: 30;
        right: 10px;
        bottom: max(8px, env(safe-area-inset-bottom));
        left: 10px;
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        min-height: 62px;
        padding: 5px;
        border: 1px solid var(--line-soft);
        border-radius: 20px;
        background: color-mix(in srgb, var(--surface) 92%, transparent);
        box-shadow: var(--shadow-elevated);
        backdrop-filter: blur(18px);
    }

    .mobile-product-nav a[b-6advf2t4zn] {
        display: grid;
        min-width: 0;
        min-height: 52px;
        place-items: center;
        align-content: center;
        gap: 3px;
        border-radius: 15px;
        color: var(--text-muted);
        font-size: .68rem;
        font-weight: 750;
        text-decoration: none;
    }

    .mobile-product-nav a[aria-current="page"][b-6advf2t4zn] {
        background: var(--accent-soft);
        color: var(--accent-ink);
    }

    .mobile-product-nav .ui-icon[b-6advf2t4zn] {
        width: 20px;
        height: 20px;
    }

    .site-footer[b-6advf2t4zn] {
        padding-bottom: 20px;
    }
}

@media (max-width: 390px) {
    .site-header[b-6advf2t4zn],
    .site-footer[b-6advf2t4zn] {
        width: min(100% - 20px, 1240px);
    }

    .brand-copy strong[b-6advf2t4zn] {
        font-size: .82rem;
    }

    .mobile-place-pill[b-6advf2t4zn] {
        padding: 0 9px;
        font-size: .78rem;
    }
}

@media (max-width: 350px) {
    .brand-copy[b-6advf2t4zn] {
        display: none;
    }
}
/* /Components/Pages/Forecast.razor.rz.scp.css */
.forecast-page[b-95qxr0ksm6] {
    width: min(1180px, calc(100% - 32px));
    margin: 0 auto;
    padding-top: 20px;
}

.forecast-page[b-95qxr0ksm6]  .page-header {
    margin-bottom: 14px;
}

.forecast-switcher[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: min(100%, 430px);
    min-height: 52px;
    margin: 0 auto 24px;
    padding: 3px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--surface) 74%, transparent);
}

.forecast-switcher a[b-95qxr0ksm6] {
    display: grid;
    min-width: 0;
    min-height: 44px;
    place-items: center;
    border-radius: var(--radius-control);
    color: var(--text-muted);
    font-weight: 720;
    text-decoration: none;
}

.forecast-switcher a:hover[b-95qxr0ksm6],
.forecast-switcher a[aria-current="location"][b-95qxr0ksm6] {
    background: linear-gradient(120deg, color-mix(in srgb, var(--accent) 60%, var(--surface)), var(--accent-soft));
    color: var(--text-strong);
}

.forecast-card[b-95qxr0ksm6],
.insight-card[b-95qxr0ksm6],
.forecast-empty[b-95qxr0ksm6] {
    border: 1px solid var(--line-soft);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--surface-soft) 92%, transparent), color-mix(in srgb, var(--surface) 97%, transparent));
    box-shadow: var(--shadow);
}

.forecast-card[b-95qxr0ksm6] {
    padding: clamp(16px, 3vw, 28px);
    border-radius: var(--radius);
}

.forecast-card + .forecast-card[b-95qxr0ksm6],
.forecast-insights[b-95qxr0ksm6] {
    margin-top: 16px;
}

.forecast-section-heading[b-95qxr0ksm6] {
    display: flex;
    margin-bottom: 14px;
    align-items: end;
    justify-content: space-between;
    gap: 18px;
}

.forecast-section-heading h2[b-95qxr0ksm6] {
    margin: 4px 0 0;
    font-size: clamp(1.15rem, 2.5vw, 1.5rem);
    letter-spacing: -.03em;
}

.forecast-section-heading > p[b-95qxr0ksm6] {
    margin: 0;
    color: var(--text-muted);
    font-size: .78rem;
    text-align: right;
}

.forecast-hour-strip[b-95qxr0ksm6] {
    display: grid;
    grid-auto-columns: minmax(86px, 1fr);
    grid-auto-flow: column;
    gap: 6px;
    padding: 2px 2px 9px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}

.forecast-hour[b-95qxr0ksm6] {
    display: flex;
    min-height: 166px;
    padding: 11px 8px;
    align-items: center;
    flex-direction: column;
    scroll-snap-align: start;
    border: 1px solid transparent;
    border-radius: var(--radius-inner);
    color: var(--text-muted);
    text-align: center;
}

.forecast-hour.is-current[b-95qxr0ksm6] {
    border-color: color-mix(in srgb, var(--accent) 44%, var(--line));
    background: linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 95%, transparent), transparent);
}

.forecast-hour time[b-95qxr0ksm6] {
    color: var(--text);
    font-size: .83rem;
    font-weight: 700;
}

.forecast-hour.is-current time[b-95qxr0ksm6] {
    color: var(--text-strong);
}

.forecast-hour[b-95qxr0ksm6]  .weather-glyph {
    width: 46px;
    height: 46px;
    margin: 9px 0 2px;
}

.hour-condition[b-95qxr0ksm6] {
    max-width: 100%;
    min-height: 2.3em;
    color: var(--text-muted);
    font-size: .65rem;
    line-height: 1.15;
}

.missing-glyph[b-95qxr0ksm6] {
    display: grid;
    width: 46px;
    height: 46px;
    margin: 9px 0 2px;
    place-items: center;
    color: var(--text-faint);
    font-size: 1.5rem;
}

.hour-temperature[b-95qxr0ksm6] {
    margin-top: auto;
    color: var(--text-strong);
    font-size: 1.42rem;
    letter-spacing: -.04em;
}

.hour-rain[b-95qxr0ksm6] {
    display: inline-flex;
    margin-top: 5px;
    align-items: center;
    gap: 4px;
    color: var(--sky);
    font-size: .75rem;
    white-space: nowrap;
}

.temperature-chart-scroll[b-95qxr0ksm6] {
    margin-top: 7px;
    overflow-x: auto;
    overscroll-behavior-inline: contain;
}

.temperature-chart[b-95qxr0ksm6] {
    display: block;
    width: max(100%, 660px);
    height: 140px;
    overflow: visible;
}

.chart-baseline[b-95qxr0ksm6] {
    stroke: var(--line-soft);
    stroke-width: 1;
}

.chart-area[b-95qxr0ksm6] {
    fill: url(#hourly-temperature-fill);
}

.chart-line[b-95qxr0ksm6],
.trend-line[b-95qxr0ksm6] {
    fill: none;
    stroke: var(--accent);
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 3;
}

.chart-point[b-95qxr0ksm6],
.trend-point[b-95qxr0ksm6] {
    fill: var(--surface);
    stroke: var(--accent);
    stroke-width: 3;
}

.temperature-chart-labels[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(var(--chart-columns), minmax(0, 1fr));
    width: max(100%, 660px);
    padding: 0 17px 7px;
}

.temperature-chart-labels span[b-95qxr0ksm6],
.trend-labels span[b-95qxr0ksm6] {
    display: grid;
    min-width: 0;
    gap: 2px;
    text-align: center;
}

.temperature-chart-labels strong[b-95qxr0ksm6],
.trend-labels strong[b-95qxr0ksm6] {
    color: var(--text-strong);
    font-size: .72rem;
}

.temperature-chart-labels small[b-95qxr0ksm6],
.trend-labels small[b-95qxr0ksm6] {
    color: var(--text-muted);
    font-size: .66rem;
}

.hourly-summaries[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 7px;
    gap: 10px;
}

.hourly-summaries article[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 78px;
    padding: 14px 16px;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: color-mix(in srgb, var(--surface) 58%, transparent);
}

.summary-icon[b-95qxr0ksm6] {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: var(--sky);
}

.hourly-summaries article:last-child .summary-icon[b-95qxr0ksm6] {
    color: var(--text);
}

.hourly-summaries span:not(.summary-icon)[b-95qxr0ksm6] {
    display: block;
    color: var(--text-muted);
    font-size: .75rem;
}

.hourly-summaries strong[b-95qxr0ksm6] {
    display: block;
    margin-top: 3px;
    color: var(--text-strong);
    font-size: .88rem;
    line-height: 1.35;
}

.forecast-table-alternative[b-95qxr0ksm6] {
    margin-top: 10px;
    border-top: 1px solid var(--line-soft);
}

.forecast-table-alternative summary[b-95qxr0ksm6] {
    min-height: 44px;
    padding: 12px 2px 8px;
    color: var(--text);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 700;
}

.forecast-table-scroll[b-95qxr0ksm6] {
    overflow-x: auto;
}

.forecast-table-alternative table[b-95qxr0ksm6] {
    width: 100%;
    min-width: 590px;
    border-collapse: collapse;
    font-size: .78rem;
}

.forecast-table-alternative caption[b-95qxr0ksm6] {
    padding: 8px 0;
    color: var(--text-muted);
    text-align: left;
}

.forecast-table-alternative th[b-95qxr0ksm6],
.forecast-table-alternative td[b-95qxr0ksm6] {
    padding: 9px;
    border-bottom: 1px solid var(--line-soft);
    text-align: left;
}

.forecast-table-alternative th[b-95qxr0ksm6] {
    color: var(--text-strong);
}

.forecast-day-list[b-95qxr0ksm6] {
    margin: 0;
    padding: 0;
    list-style: none;
}

.forecast-day-list > li + li[b-95qxr0ksm6] {
    border-top: 1px solid var(--line-soft);
}

.forecast-day summary[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: 68px 38px 42px minmax(70px, 1fr) 42px 62px 24px;
    min-height: 50px;
    padding: 4px 2px;
    align-items: center;
    gap: 8px;
    cursor: pointer;
    list-style: none;
}

.forecast-day summary[b-95qxr0ksm6]::-webkit-details-marker {
    display: none;
}

.forecast-day summary > time[b-95qxr0ksm6] {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 5px;
}

.forecast-day time strong[b-95qxr0ksm6] {
    color: var(--text-strong);
    font-size: .85rem;
}

.forecast-day time span[b-95qxr0ksm6] {
    color: var(--text-muted);
    font-size: .75rem;
}

.day-glyph[b-95qxr0ksm6] {
    display: grid;
    width: 36px;
    height: 36px;
    place-items: center;
}

.day-glyph[b-95qxr0ksm6]  .weather-glyph {
    width: 36px;
    height: 36px;
}

.day-min[b-95qxr0ksm6],
.day-max[b-95qxr0ksm6],
.day-rain[b-95qxr0ksm6] {
    font-size: .82rem;
    font-weight: 700;
    white-space: nowrap;
}

.day-min[b-95qxr0ksm6] {
    color: var(--sky);
    text-align: right;
}

.day-max[b-95qxr0ksm6] {
    color: var(--sun);
}

.day-rain[b-95qxr0ksm6] {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 4px;
    color: var(--sky);
}

.temperature-range[b-95qxr0ksm6] {
    position: relative;
    height: 5px;
    overflow: hidden;
    border-radius: 999px;
    background: var(--surface-strong);
}

.temperature-range i[b-95qxr0ksm6] {
    position: absolute;
    top: 0;
    bottom: 0;
    left: var(--range-start);
    width: var(--range-size);
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent), var(--sun));
}

.temperature-range.is-missing[b-95qxr0ksm6] {
    background: repeating-linear-gradient(135deg, var(--surface-strong) 0 4px, transparent 4px 7px);
    outline: 1px dashed var(--line-soft);
}

.day-chevron[b-95qxr0ksm6] {
    display: grid;
    place-items: center;
    color: var(--text-muted);
    transition: transform .16s ease;
}

.forecast-day[open] .day-chevron[b-95qxr0ksm6] {
    transform: rotate(90deg);
}

.day-details[b-95qxr0ksm6] {
    padding: 2px 8px 14px 114px;
}

.day-details > p[b-95qxr0ksm6] {
    margin: 0 0 8px;
    color: var(--text);
    font-size: .82rem;
    font-weight: 700;
}

.day-details dl[b-95qxr0ksm6] {
    display: flex;
    margin: 0;
    flex-wrap: wrap;
    gap: 7px 18px;
}

.day-details dl div[b-95qxr0ksm6] {
    display: flex;
    gap: 5px;
    font-size: .74rem;
}

.day-details dt[b-95qxr0ksm6] {
    color: var(--text-muted);
}

.day-details dd[b-95qxr0ksm6] {
    margin: 0;
    color: var(--text-strong);
    font-weight: 680;
}

.daily-coverage-note[b-95qxr0ksm6] {
    margin: 12px 0 0;
    padding-top: 11px;
    border-top: 1px solid var(--line-soft);
    color: var(--text-muted);
    font-size: .75rem;
    line-height: 1.45;
}

.forecast-insights[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.insight-card[b-95qxr0ksm6] {
    min-width: 0;
    min-height: 210px;
    padding: 18px 20px;
    border-radius: var(--radius);
}

.insight-card .section-label[b-95qxr0ksm6] {
    display: flex;
    align-items: center;
    gap: 5px;
}

.trend-chart[b-95qxr0ksm6] {
    display: block;
    width: 100%;
    height: 132px;
    margin-top: 2px;
}

.trend-line[b-95qxr0ksm6] {
    stroke: var(--accent);
}

.trend-labels[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(var(--trend-columns), minmax(0, 1fr));
    padding: 0 12px 2px;
}

.precipitation-card-content[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: minmax(126px, .65fr) minmax(0, 1fr);
    min-height: 158px;
    align-items: center;
    gap: 18px;
}

.precipitation-card-content > div strong[b-95qxr0ksm6] {
    display: block;
    color: var(--text-strong);
    font-size: clamp(1.8rem, 5vw, 2.4rem);
    font-weight: 560;
    letter-spacing: -.04em;
}

.precipitation-card-content > div span[b-95qxr0ksm6] {
    display: block;
    margin-top: 5px;
    color: var(--text-muted);
    font-size: .75rem;
    line-height: 1.35;
}

.precipitation-bars[b-95qxr0ksm6] {
    display: flex;
    height: 126px;
    margin: 0;
    padding: 8px 0 0;
    align-items: end;
    justify-content: space-between;
    gap: 6px;
    list-style: none;
}

.precipitation-bars li[b-95qxr0ksm6] {
    display: grid;
    min-width: 0;
    height: 100%;
    flex: 1;
    grid-template-rows: minmax(0, 1fr) 18px;
    align-items: end;
    gap: 5px;
}

.precipitation-bars i[b-95qxr0ksm6] {
    display: block;
    width: min(100%, 16px);
    height: var(--rain-height);
    margin: 0 auto;
    border-radius: 5px 5px 2px 2px;
    background: linear-gradient(180deg, var(--sky), color-mix(in srgb, var(--sky) 45%, var(--surface)));
}

.precipitation-bars i.is-missing[b-95qxr0ksm6] {
    height: 4px;
    border: 1px dashed var(--line);
    background: transparent;
}

.precipitation-bars span[b-95qxr0ksm6] {
    overflow: hidden;
    color: var(--text-muted);
    font-size: .62rem;
    text-align: center;
    text-overflow: clip;
}

.sun-times[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-height: 166px;
    align-items: center;
    gap: 10px;
}

.sun-times > div[b-95qxr0ksm6] {
    display: flex;
    min-width: 0;
    align-items: center;
    flex-direction: column;
    gap: 6px;
    color: var(--sun);
    text-align: center;
}

.sun-times > div + div[b-95qxr0ksm6] {
    border-left: 1px solid var(--line-soft);
}

.sun-times strong[b-95qxr0ksm6] {
    color: var(--text-strong);
    font-size: clamp(1.55rem, 4vw, 2rem);
    font-weight: 540;
}

.sun-times span[b-95qxr0ksm6] {
    color: var(--text-muted);
    font-size: .75rem;
}

.night-content[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: 76px minmax(80px, .8fr) minmax(120px, 1fr);
    min-height: 166px;
    align-items: center;
    gap: 12px;
}

.night-content[b-95qxr0ksm6]  .weather-glyph {
    width: 70px;
    height: 70px;
}

.night-primary strong[b-95qxr0ksm6] {
    display: block;
    color: var(--text-strong);
    font-size: 2rem;
    letter-spacing: -.05em;
}

.night-primary span[b-95qxr0ksm6] {
    display: block;
    margin-top: 3px;
    color: var(--text-muted);
    font-size: .78rem;
}

.night-content dl[b-95qxr0ksm6] {
    display: grid;
    margin: 0;
    gap: 10px;
}

.night-content dl div[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--line-soft);
    font-size: .75rem;
}

.night-content dt[b-95qxr0ksm6] {
    color: var(--text-muted);
}

.night-content dd[b-95qxr0ksm6] {
    margin: 0;
    color: var(--text-strong);
    font-weight: 720;
}

.forecast-data-notice[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    margin-bottom: 14px;
    padding: 12px 14px;
    align-items: start;
    gap: 10px;
    border: 1px solid var(--line);
    border-left: 4px solid var(--unknown);
    border-radius: var(--radius-small);
    background: var(--unknown-soft);
}

.forecast-data-notice.is-stale[b-95qxr0ksm6] {
    border-left-color: var(--caution);
    background: var(--caution-soft);
}

.forecast-data-notice > .ui-icon[b-95qxr0ksm6] {
    margin-top: 1px;
}

.forecast-data-notice strong[b-95qxr0ksm6] {
    color: var(--text-strong);
    font-size: .84rem;
}

.forecast-data-notice p[b-95qxr0ksm6] {
    margin: 3px 0 0;
    color: var(--text);
    font-size: .78rem;
    line-height: 1.45;
}

.forecast-block-unavailable[b-95qxr0ksm6] {
    margin: 4px 0 0;
    padding: 22px 16px;
    border: 1px dashed var(--line);
    border-radius: var(--radius-inner);
    color: var(--text-muted);
    font-size: .83rem;
    text-align: center;
}

.forecast-block-unavailable.compact[b-95qxr0ksm6] {
    margin-top: 12px;
    padding: 12px;
}

.forecast-empty[b-95qxr0ksm6] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    min-height: 250px;
    padding: clamp(24px, 6vw, 52px);
    align-items: center;
    gap: 20px;
    border-radius: var(--radius);
}

.empty-symbol[b-95qxr0ksm6] {
    display: grid;
    width: 66px;
    height: 66px;
    place-items: center;
    border-radius: 50%;
    background: var(--unknown-soft);
    color: var(--unknown);
}

.forecast-empty h2[b-95qxr0ksm6] {
    margin: 5px 0 0;
    font-size: clamp(1.3rem, 4vw, 1.8rem);
}

.forecast-empty p:not(.section-label)[b-95qxr0ksm6] {
    max-width: 660px;
    margin: 9px 0 0;
    color: var(--text-muted);
    line-height: 1.55;
}

.empty-actions[b-95qxr0ksm6] {
    display: flex;
    margin-top: 18px;
    flex-wrap: wrap;
    gap: 8px;
}

.forecast-source[b-95qxr0ksm6] {
    display: flex;
    padding: 18px 4px 0;
    justify-content: space-between;
    gap: 12px 24px;
    color: var(--text-muted);
    font-size: .75rem;
}

@media (min-width: 980px) {
    .hourly-forecast[b-95qxr0ksm6] {
        padding-bottom: 20px;
    }

    .forecast-hour-strip[b-95qxr0ksm6] {
        grid-auto-columns: minmax(92px, 1fr);
    }

    .forecast-insights[b-95qxr0ksm6] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 720px) {
    .forecast-page[b-95qxr0ksm6] {
        width: min(100% - 24px, 1180px);
        padding-top: 6px;
    }

    .forecast-switcher[b-95qxr0ksm6] {
        margin-bottom: 16px;
    }

    .forecast-card[b-95qxr0ksm6] {
        padding: 15px 13px;
    }

    .forecast-section-heading[b-95qxr0ksm6] {
        align-items: start;
        flex-direction: column;
        gap: 4px;
    }

    .forecast-section-heading > p[b-95qxr0ksm6] {
        text-align: left;
    }

    .hourly-summaries[b-95qxr0ksm6],
    .forecast-insights[b-95qxr0ksm6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .forecast-day summary[b-95qxr0ksm6] {
        grid-template-columns: 58px 32px 36px minmax(42px, 1fr) 36px 52px 18px;
        gap: 4px;
    }

    .forecast-day summary > time[b-95qxr0ksm6] {
        align-items: flex-start;
        flex-direction: column;
        gap: 0;
    }

    .day-glyph[b-95qxr0ksm6],
    .day-glyph[b-95qxr0ksm6]  .weather-glyph {
        width: 30px;
        height: 30px;
    }

    .day-details[b-95qxr0ksm6] {
        padding-left: 64px;
    }

    .forecast-source[b-95qxr0ksm6] {
        align-items: flex-start;
        flex-direction: column;
    }
}

@media (max-width: 540px) {
    .forecast-page[b-95qxr0ksm6] {
        width: min(100% - 20px, 1180px);
    }

    .forecast-page[b-95qxr0ksm6]  .page-header {
        grid-template-columns: 44px minmax(0, 1fr) 44px;
        gap: 8px;
    }

    .forecast-page[b-95qxr0ksm6]  .page-header-action {
        width: 44px;
        height: 44px;
    }

    .forecast-hour-strip[b-95qxr0ksm6] {
        grid-auto-columns: 64px;
    }

    .forecast-day time strong[b-95qxr0ksm6],
    .day-min[b-95qxr0ksm6],
    .day-max[b-95qxr0ksm6],
    .day-rain[b-95qxr0ksm6] {
        font-size: .75rem;
    }

    .forecast-day time span[b-95qxr0ksm6] {
        font-size: .67rem;
    }

    .insight-card[b-95qxr0ksm6] {
        min-height: 0;
        padding: 17px 16px;
    }

    .precipitation-card-content[b-95qxr0ksm6] {
        grid-template-columns: minmax(108px, .55fr) minmax(0, 1fr);
        gap: 10px;
    }

    .night-content[b-95qxr0ksm6] {
        grid-template-columns: 62px minmax(64px, .65fr) minmax(102px, 1fr);
        gap: 8px;
    }

    .night-content[b-95qxr0ksm6]  .weather-glyph {
        width: 58px;
        height: 58px;
    }

    .night-primary strong[b-95qxr0ksm6] {
        font-size: 1.7rem;
    }

    .forecast-empty[b-95qxr0ksm6] {
        grid-template-columns: minmax(0, 1fr);
        text-align: center;
    }

    .empty-symbol[b-95qxr0ksm6] {
        margin: 0 auto;
    }

    .empty-actions[b-95qxr0ksm6] {
        justify-content: center;
    }
}

@media (max-width: 350px) {
    .forecast-card[b-95qxr0ksm6] {
        padding-right: 10px;
        padding-left: 10px;
    }

    .forecast-day summary[b-95qxr0ksm6] {
        grid-template-columns: 52px 28px 32px minmax(36px, 1fr) 32px 46px 16px;
        gap: 3px;
    }

    .day-glyph[b-95qxr0ksm6],
    .day-glyph[b-95qxr0ksm6]  .weather-glyph {
        width: 27px;
        height: 27px;
    }

    .day-details[b-95qxr0ksm6] {
        padding-left: 55px;
    }

    .precipitation-card-content[b-95qxr0ksm6] {
        grid-template-columns: minmax(0, 1fr);
    }

    .precipitation-bars[b-95qxr0ksm6] {
        height: 112px;
    }

    .night-content[b-95qxr0ksm6] {
        grid-template-columns: 54px minmax(0, 1fr);
    }

    .night-content dl[b-95qxr0ksm6] {
        grid-column: 1 / -1;
    }
}

@media (prefers-reduced-motion: reduce) {
    .day-chevron[b-95qxr0ksm6] {
        transition: none;
    }
}
/* /Components/Pages/Home.razor.rz.scp.css */
.weather-page[b-o2yx4maslm] {
    padding-top: 10px;
}

.breadcrumbs[b-o2yx4maslm],
.legacy-location-tools:not(.is-searching)[b-o2yx4maslm],
.legacy-home-warning[b-o2yx4maslm],
.legacy-home[b-o2yx4maslm] {
    display: none !important;
}

.legacy-location-tools.is-searching[b-o2yx4maslm] {
    margin: 0 0 18px;
    padding: 16px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    background: var(--surface);
}

.premium-home[b-o2yx4maslm] {
    display: grid;
    gap: 18px;
}

.premium-hero[b-o2yx4maslm] {
    order: 0;
}

.premium-warning-row[b-o2yx4maslm] {
    order: 1;
}

.premium-change[b-o2yx4maslm] {
    order: 2;
}

.premium-activities[b-o2yx4maslm] {
    order: 3;
}

.premium-strip[b-o2yx4maslm] {
    order: 4;
}

.premium-plan[b-o2yx4maslm] {
    order: 5;
}

.premium-radar[b-o2yx4maslm] {
    order: 6;
}

.premium-days[b-o2yx4maslm] {
    order: 7;
}

.premium-detail-strip[b-o2yx4maslm] {
    order: 8;
}

.premium-install[b-o2yx4maslm] {
    order: 9;
}

.premium-data-note[b-o2yx4maslm] {
    order: 10;
}

.premium-hero[b-o2yx4maslm] {
    position: relative;
    display: grid;
    min-height: 340px;
    overflow: hidden;
    background:
        radial-gradient(circle at 78% 33%, var(--hero-sun-glow) 0 5%, transparent 19%),
        radial-gradient(ellipse at 78% 38%, var(--hero-cloud-glow) 0 9%, transparent 29%),
        radial-gradient(ellipse at 88% 46%, var(--hero-sky-glow) 0, transparent 40%),
        linear-gradient(118deg, var(--hero-start) 0 46%, var(--hero-middle) 72%, var(--hero-end) 100%);
    isolation: isolate;
}

.premium-hero .premium-place[b-o2yx4maslm],
.premium-hero .premium-temperature[b-o2yx4maslm],
.premium-hero .premium-condition[b-o2yx4maslm],
.premium-hero .premium-hero-copy h2[b-o2yx4maslm],
.premium-hero .premium-hero-facts strong[b-o2yx4maslm] {
    color: var(--hero-strong);
}

.premium-hero .premium-summary[b-o2yx4maslm],
.premium-hero .premium-hero-facts span[b-o2yx4maslm],
.premium-hero .premium-hero-facts .ui-icon[b-o2yx4maslm] {
    color: var(--hero-muted);
}

.premium-hero .section-label[b-o2yx4maslm] {
    color: var(--hero-label);
}

.premium-hero[b-o2yx4maslm]::after {
    position: absolute;
    z-index: -1;
    right: -8%;
    bottom: -34%;
    width: 62%;
    height: 68%;
    border-radius: 50% 50% 0 0;
    background:
        linear-gradient(165deg, transparent 0 42%, var(--hero-decoration) 43% 100%);
    content: "";
    filter: blur(1px);
}

.premium-hero-copy[b-o2yx4maslm] {
    display: grid;
    width: min(62%, 620px);
    padding: 28px 30px 18px;
    align-content: start;
}

.premium-place[b-o2yx4maslm] {
    display: inline-flex;
    width: max-content;
    max-width: 100%;
    min-height: 40px;
    margin-bottom: 20px;
    align-items: center;
    gap: 7px;
    color: var(--text-strong);
    font-size: clamp(1.1rem, 2.5vw, 1.42rem);
    font-weight: 750;
    text-decoration: none;
}

.premium-place span[b-o2yx4maslm] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.premium-temperature-row[b-o2yx4maslm] {
    display: flex;
    align-items: center;
    gap: 20px;
}

.premium-temperature[b-o2yx4maslm] {
    margin: 7px 0 0;
    color: var(--text-strong);
    font-size: clamp(4.4rem, 11vw, 7.2rem);
    font-weight: 700;
    letter-spacing: -.085em;
    line-height: .9;
}

.premium-temperature-row[b-o2yx4maslm]  .weather-glyph {
    display: none;
    width: 116px;
    height: 116px;
    color: var(--sun);
    filter: var(--hero-glyph-shadow);
}

.premium-condition[b-o2yx4maslm] {
    margin: 13px 0 0;
    color: var(--text-strong);
    font-size: 1.22rem;
    font-weight: 650;
}

.premium-hero-copy h2[b-o2yx4maslm] {
    max-width: 44ch;
    margin: 15px 0 0;
    font-size: clamp(1.12rem, 2.4vw, 1.52rem);
    line-height: 1.25;
}

.premium-summary[b-o2yx4maslm] {
    max-width: 54ch;
    margin: 7px 0 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.premium-trust[b-o2yx4maslm] {
    display: flex;
    margin: 10px 0 0;
    flex-wrap: wrap;
    gap: 4px 12px;
    color: var(--hero-trust);
    font-size: .72rem;
}

.premium-share[b-o2yx4maslm] {
    display: inline-flex;
    width: max-content;
    min-height: 40px;
    margin-top: 14px;
    padding: 0 14px;
    align-items: center;
    gap: 7px;
    border: 1px solid var(--hero-share-line);
    border-radius: 999px;
    background: var(--hero-share-bg);
    color: var(--hero-strong);
    cursor: pointer;
    font: inherit;
    font-size: .76rem;
    font-weight: 750;
}

.premium-hero-facts[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: min(720px, calc(100% - 60px));
    margin: auto 30px 20px;
    border: 1px solid var(--hero-facts-line);
    border-radius: var(--radius-inner);
    background: var(--hero-facts-bg);
    backdrop-filter: blur(12px);
}

.premium-hero-facts > div[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: 28px minmax(0, 1fr);
    padding: 13px 16px;
    align-items: center;
    column-gap: 9px;
}

.premium-hero-facts > div + div[b-o2yx4maslm] {
    border-left: 1px solid var(--hero-facts-line);
}

.premium-hero-facts .ui-icon[b-o2yx4maslm] {
    grid-row: span 2;
    color: var(--text-muted);
}

.premium-hero-facts span[b-o2yx4maslm] {
    color: var(--text-muted);
    font-size: .74rem;
}

.premium-hero-facts strong[b-o2yx4maslm] {
    color: var(--text-strong);
    font-size: .92rem;
    line-height: 1.25;
}

.premium-radar[b-o2yx4maslm] {
    position: relative;
    display: grid;
    grid-template-columns: minmax(270px, .72fr) minmax(0, 1.28fr);
    min-height: 310px;
    overflow: hidden;
}

.premium-radar-copy[b-o2yx4maslm] {
    position: relative;
    z-index: 3;
    display: flex;
    padding: 24px 26px;
    flex-direction: column;
    align-items: flex-start;
    background: linear-gradient(90deg, var(--surface) 0 72%, color-mix(in srgb, var(--surface) 82%, transparent) 100%);
}

.premium-radar-status[b-o2yx4maslm] {
    display: flex;
    margin-bottom: 12px;
    align-items: center;
    gap: 7px;
    color: var(--text-muted);
    font-size: .75rem;
}

.premium-radar-status .status-dot[b-o2yx4maslm] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
}

.premium-radar-copy h2[b-o2yx4maslm] {
    margin: 9px 0 0;
    font-size: clamp(1.35rem, 3vw, 2rem);
    letter-spacing: -.035em;
}

.premium-radar-copy > p:not(.section-label)[b-o2yx4maslm] {
    margin: 9px 0 0;
    color: var(--text-muted);
    line-height: 1.45;
}

.premium-radar-meta[b-o2yx4maslm] {
    display: flex;
    margin-top: 12px;
    gap: 8px 14px;
    color: var(--text-muted);
    font-size: .78rem;
}

.premium-radar-meta strong[b-o2yx4maslm] {
    color: var(--text-strong);
}

.premium-nowcast[b-o2yx4maslm] {
    padding: 7px 10px;
    border: 1px solid var(--line-soft);
    border-radius: 10px;
    background: color-mix(in srgb, var(--accent-soft) 55%, transparent);
    font-size: .72rem;
}

.premium-radar-actions[b-o2yx4maslm] {
    display: flex;
    margin-top: auto;
    padding-top: 18px;
    flex-wrap: wrap;
    gap: 8px;
}

.premium-radar-map[b-o2yx4maslm] {
    position: relative;
    display: block;
    min-height: 310px;
    overflow: hidden;
    background: var(--radar-preview-bg);
}

.premium-radar-geo[b-o2yx4maslm] {
    position: absolute;
    inset: 0;
    transform: scale(1.75) translate(7%, 3%);
    transform-origin: center;
}

.premium-radar-map .map-basemap[b-o2yx4maslm],
.premium-radar-map .map-weather-layer[b-o2yx4maslm] {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: fill;
}

.premium-radar-map .map-basemap[b-o2yx4maslm] {
    filter: var(--radar-basemap-filter);
}

.premium-radar-map .map-weather-layer[b-o2yx4maslm] {
    z-index: 1;
    opacity: .93;
}

.premium-radar-map .map-location-marker[b-o2yx4maslm] {
    z-index: 2;
}

.premium-expand[b-o2yx4maslm] {
    position: absolute;
    z-index: 4;
    top: 16px;
    right: 16px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--radar-control-line);
    border-radius: 50%;
    background: var(--radar-control-bg);
    color: var(--radar-control-text);
}

.premium-radar-map .map-attribution[b-o2yx4maslm] {
    z-index: 4;
}

.premium-radar-map .radar-preview-loader[b-o2yx4maslm] {
    z-index: 4;
}

.premium-radar > .radar-preview-fallback[b-o2yx4maslm] {
    position: absolute;
    z-index: 8;
    inset: auto 18px 18px;
}

.premium-strip[b-o2yx4maslm],
.premium-activities[b-o2yx4maslm],
.premium-days[b-o2yx4maslm] {
    padding: 18px 20px 14px;
    overflow: hidden;
}

.premium-strip > header[b-o2yx4maslm],
.premium-activities > header[b-o2yx4maslm],
.premium-days > header[b-o2yx4maslm] {
    display: flex;
    margin-bottom: 13px;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.premium-strip header a[b-o2yx4maslm],
.premium-days header a[b-o2yx4maslm] {
    display: inline-flex;
    min-height: 40px;
    align-items: center;
    gap: 3px;
    color: var(--accent);
    font-size: .78rem;
    font-weight: 700;
    text-decoration: none;
}

.premium-hour-list[b-o2yx4maslm],
.premium-day-list[b-o2yx4maslm] {
    display: grid;
    grid-auto-columns: minmax(88px, 1fr);
    grid-auto-flow: column;
    overflow-x: auto;
    scroll-snap-type: x proximity;
}

.premium-hour[b-o2yx4maslm],
.premium-day[b-o2yx4maslm] {
    position: relative;
    display: grid;
    min-height: 116px;
    padding: 8px 12px 10px;
    place-items: center;
    border-left: 1px solid var(--line-soft);
    scroll-snap-align: start;
}

.premium-hour:first-child[b-o2yx4maslm],
.premium-day:first-child[b-o2yx4maslm] {
    border-left: 0;
}

.premium-hour.is-current[b-o2yx4maslm] {
    border: 1px solid color-mix(in srgb, var(--accent) 45%, transparent);
    border-radius: var(--radius-inner);
    background: linear-gradient(180deg, color-mix(in srgb, var(--accent-soft) 80%, transparent), transparent);
}

.premium-hour.is-current[b-o2yx4maslm]::after {
    position: absolute;
    right: 14px;
    bottom: 0;
    left: 14px;
    height: 3px;
    border-radius: 999px;
    background: var(--accent);
    content: "";
}

.premium-hour time[b-o2yx4maslm],
.premium-day time[b-o2yx4maslm] {
    color: var(--text-muted);
    font-size: .79rem;
}

.premium-hour[b-o2yx4maslm]  .weather-glyph,
.premium-day[b-o2yx4maslm]  .weather-glyph {
    width: 36px;
    height: 36px;
    color: var(--sun);
}

.premium-hour strong[b-o2yx4maslm],
.premium-day strong[b-o2yx4maslm] {
    color: var(--text-strong);
    font-size: 1.05rem;
}

.premium-hour span[b-o2yx4maslm],
.premium-day span[b-o2yx4maslm] {
    display: inline-flex;
    align-items: center;
    gap: 3px;
    color: var(--sky);
    font-size: .7rem;
}

.premium-day-list[b-o2yx4maslm] {
    grid-auto-columns: minmax(92px, 1fr);
}

.premium-day span[b-o2yx4maslm] {
    color: var(--text-muted);
}

.premium-activities > header > span[b-o2yx4maslm] {
    color: var(--text-faint);
    font-size: .72rem;
}

.premium-activity-list[b-o2yx4maslm] {
    display: grid;
    grid-auto-columns: minmax(260px, 1fr);
    grid-auto-flow: column;
    gap: 12px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
}

.premium-activity[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: 50px minmax(0, 1fr);
    min-height: 98px;
    padding: 13px 14px;
    align-items: center;
    gap: 12px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: color-mix(in srgb, var(--surface-soft) 58%, transparent);
    scroll-snap-align: start;
}

.premium-activity-icon[b-o2yx4maslm],
.premium-warning-icon[b-o2yx4maslm] {
    display: grid;
    width: 48px;
    height: 48px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent);
}

.premium-activity h3[b-o2yx4maslm],
.premium-activity p[b-o2yx4maslm] {
    margin: 0;
}

.premium-activity h3[b-o2yx4maslm] {
    font-size: .95rem;
}

.premium-activity strong[b-o2yx4maslm] {
    display: block;
    margin-top: 2px;
    color: var(--good);
    font-size: .82rem;
}

.premium-activity.status-yellow strong[b-o2yx4maslm],
.premium-activity.status-orange strong[b-o2yx4maslm] {
    color: var(--caution);
}

.premium-activity.status-red strong[b-o2yx4maslm] {
    color: var(--danger);
}

.premium-activity p[b-o2yx4maslm] {
    margin-top: 3px;
    color: var(--text-muted);
    font-size: .7rem;
    line-height: 1.35;
}

.premium-warning-row[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr) 28px;
    min-height: 86px;
    padding: 14px 20px;
    align-items: center;
    gap: 12px;
    color: var(--text-strong);
    text-decoration: none;
}

.premium-warning-row > span:nth-child(2)[b-o2yx4maslm] {
    display: grid;
    gap: 3px;
}

.premium-warning-row small[b-o2yx4maslm] {
    color: var(--text-muted);
    font-size: .78rem;
}

.premium-warning-row.has-warning .premium-warning-icon[b-o2yx4maslm] {
    background: var(--danger-soft);
    color: var(--danger);
}

.premium-warning-row.is-stale .premium-warning-icon[b-o2yx4maslm],
.premium-warning-row.is-unavailable .premium-warning-icon[b-o2yx4maslm],
.premium-warning-row.is-unknown .premium-warning-icon[b-o2yx4maslm] {
    background: var(--caution-soft);
    color: var(--caution);
}

.premium-change[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr);
    padding: 16px 20px;
    align-items: center;
    gap: 13px;
}

.premium-change .change-mark[b-o2yx4maslm] {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent-ink);
    font-size: 1.25rem;
    font-weight: 800;
}

.premium-change strong[b-o2yx4maslm] {
    color: var(--text-strong);
}

.premium-change p[b-o2yx4maslm] {
    margin: 3px 0 0;
    color: var(--text-muted);
    font-size: .78rem;
    line-height: 1.45;
}

.premium-plan[b-o2yx4maslm] {
    padding: 20px;
}

.premium-plan > header[b-o2yx4maslm] {
    display: flex;
    align-items: start;
    justify-content: space-between;
    gap: 12px;
}

.premium-plan h2[b-o2yx4maslm] {
    margin: 4px 0 0;
    font-size: 1.3rem;
}

.premium-plan > header > span[b-o2yx4maslm] {
    color: var(--text-faint);
    font-size: .72rem;
}

.premium-plan-controls[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: minmax(150px, 1fr) minmax(130px, .65fr) auto;
    margin-top: 15px;
    align-items: end;
    gap: 10px;
}

.premium-plan-controls label[b-o2yx4maslm] {
    display: grid;
    gap: 6px;
    color: var(--text-muted);
    font-size: .72rem;
    font-weight: 700;
}

.premium-plan-controls select[b-o2yx4maslm],
.premium-plan-controls input[b-o2yx4maslm] {
    width: 100%;
    min-height: 44px;
    padding: 0 12px;
    border: 1px solid var(--line-soft);
    border-radius: 12px;
    background: var(--surface-soft);
    color: var(--text-strong);
    font: inherit;
}

.premium-plan-result[b-o2yx4maslm] {
    margin: 13px 0 0;
    padding: 12px 14px;
    border-radius: 12px;
    background: var(--surface-soft);
    color: var(--text);
    line-height: 1.45;
}

.premium-install[b-o2yx4maslm] {
    display: flex;
    padding: 16px 18px;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.premium-install > div[b-o2yx4maslm] {
    display: grid;
    gap: 3px;
}

.premium-install span[b-o2yx4maslm] {
    color: var(--text-muted);
    font-size: .78rem;
}

.premium-detail-strip[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    overflow: hidden;
}

.premium-detail-strip a[b-o2yx4maslm] {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    min-height: 96px;
    padding: 16px 18px;
    align-content: center;
    column-gap: 10px;
    color: var(--text);
    text-decoration: none;
}

.premium-detail-strip a + a[b-o2yx4maslm] {
    border-left: 1px solid var(--line-soft);
}

.premium-detail-strip .ui-icon[b-o2yx4maslm] {
    grid-row: span 3;
    color: var(--text-muted);
}

.premium-detail-strip span[b-o2yx4maslm],
.premium-detail-strip small[b-o2yx4maslm] {
    color: var(--text-muted);
    font-size: .7rem;
}

.premium-detail-strip strong[b-o2yx4maslm] {
    color: var(--text-strong);
    font-size: .92rem;
    line-height: 1.25;
}

.premium-data-note[b-o2yx4maslm] {
    display: flex;
    padding: 0 4px;
    justify-content: center;
    flex-wrap: wrap;
    gap: 5px 13px;
    color: var(--text-faint);
    font-size: .72rem;
}

.premium-missing[b-o2yx4maslm] {
    margin: 8px 0;
    color: var(--text-muted);
}

@media (min-width: 900px) {
    .premium-hero-copy[b-o2yx4maslm] {
        width: 58%;
    }

    .premium-temperature-row[b-o2yx4maslm]  .weather-glyph {
        display: block;
    }

    .premium-home[b-o2yx4maslm] {
        grid-template-columns: minmax(0, 1fr);
    }

    .premium-hero[b-o2yx4maslm],
    .premium-radar[b-o2yx4maslm],
    .premium-warning-row[b-o2yx4maslm],
    .premium-change[b-o2yx4maslm],
    .premium-plan[b-o2yx4maslm],
    .premium-install[b-o2yx4maslm],
    .premium-detail-strip[b-o2yx4maslm],
    .premium-data-note[b-o2yx4maslm] {
        grid-column: 1 / -1;
    }

    .premium-strip[b-o2yx4maslm],
    .premium-activities[b-o2yx4maslm],
    .premium-days[b-o2yx4maslm] {
        grid-column: 1 / -1;
    }

    .premium-activity-list[b-o2yx4maslm] {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        grid-auto-flow: row;
        overflow-x: visible;
    }

}

@media (min-width: 900px) and (max-width: 1120px) {
    .premium-activity-list[b-o2yx4maslm] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .premium-hero[b-o2yx4maslm] {
        min-height: 450px;
    }

    .premium-hero-copy[b-o2yx4maslm] {
        width: 100%;
        padding: 22px 20px 12px;
        background: var(--hero-mobile-copy);
    }

    .premium-hero[b-o2yx4maslm]::after {
        right: -24%;
        bottom: -20%;
        width: 100%;
    }

    .premium-temperature-row[b-o2yx4maslm]  .weather-glyph {
        display: block;
        width: 94px;
        height: 94px;
        margin-left: auto;
    }

    .premium-hero-copy h2[b-o2yx4maslm],
    .premium-summary[b-o2yx4maslm] {
        max-width: 34ch;
    }

    .premium-hero-facts[b-o2yx4maslm] {
        width: calc(100% - 32px);
        margin: auto 16px 16px;
    }

    .premium-hero-facts > div[b-o2yx4maslm] {
        padding: 12px 10px;
        column-gap: 5px;
    }

    .premium-hero-facts .ui-icon[b-o2yx4maslm] {
        width: 21px;
    }

    .premium-radar[b-o2yx4maslm] {
        grid-template-columns: 1fr;
    }

    .premium-radar-copy[b-o2yx4maslm] {
        position: absolute;
        inset: 0 38% 0 0;
        z-index: 5;
        padding: 19px 18px;
        background: var(--radar-mobile-copy);
        pointer-events: none;
        color: var(--radar-mobile-muted);
    }

    .premium-radar-copy > *[b-o2yx4maslm] {
        pointer-events: auto;
    }

    .premium-radar-copy h2[b-o2yx4maslm],
    .premium-radar-copy .premium-radar-meta strong[b-o2yx4maslm] {
        color: var(--radar-mobile-strong);
    }

    .premium-radar-copy > p:not(.section-label)[b-o2yx4maslm],
    .premium-radar-copy .premium-radar-meta[b-o2yx4maslm],
    .premium-radar-copy .premium-radar-status[b-o2yx4maslm] {
        color: var(--radar-mobile-muted);
    }

    .premium-radar-copy .section-label[b-o2yx4maslm] {
        color: var(--radar-mobile-label);
    }

    .premium-radar-copy .premium-nowcast[b-o2yx4maslm] {
        border-color: var(--radar-mobile-line);
        background: var(--radar-mobile-nowcast-bg);
        color: var(--radar-mobile-muted);
    }

    .premium-radar-map[b-o2yx4maslm] {
        min-height: 320px;
    }

    .premium-radar-actions .button:not(.button-primary)[b-o2yx4maslm],
    .premium-radar-meta strong[b-o2yx4maslm] {
        display: none;
    }
}

@media (max-width: 520px) {
    .weather-page[b-o2yx4maslm] {
        width: min(100% - 20px, var(--content));
        padding-top: 0;
    }

    .premium-home[b-o2yx4maslm] {
        gap: 12px;
    }

    .premium-hero[b-o2yx4maslm] {
        min-height: 400px;
        border-radius: 18px;
    }

    .premium-place[b-o2yx4maslm] {
        min-height: 36px;
        margin-bottom: 12px;
        font-size: 1.05rem;
    }

    .premium-temperature[b-o2yx4maslm] {
        font-size: clamp(4.15rem, 20vw, 5.35rem);
    }

    .premium-temperature-row[b-o2yx4maslm]  .weather-glyph {
        width: 82px;
        height: 82px;
    }

    .premium-condition[b-o2yx4maslm] {
        margin-top: 8px;
        font-size: 1.05rem;
    }

    .premium-hero-copy h2[b-o2yx4maslm] {
        margin-top: 12px;
        font-size: 1.03rem;
    }

    .premium-summary[b-o2yx4maslm] {
        font-size: .84rem;
        line-height: 1.4;
    }

    .premium-hero-facts[b-o2yx4maslm] {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .premium-hero-facts > div[b-o2yx4maslm] {
        display: flex;
        min-width: 0;
        flex-direction: column;
        align-items: flex-start;
        gap: 2px;
    }

    .premium-hero-facts .ui-icon[b-o2yx4maslm] {
        width: 20px;
        height: 20px;
        margin-bottom: 4px;
    }

    .premium-hero-facts span[b-o2yx4maslm] {
        font-size: .62rem;
    }

    .premium-hero-facts strong[b-o2yx4maslm] {
        width: 100%;
        font-size: .78rem;
    }

    .premium-radar-copy[b-o2yx4maslm] {
        inset: 0 25% 0 0;
        padding: 16px;
    }

    .premium-radar-status[b-o2yx4maslm] {
        display: none;
    }

    .premium-radar-copy h2[b-o2yx4maslm] {
        max-width: 18ch;
        font-size: 1.18rem;
    }

    .premium-radar-copy > p:not(.section-label):not(.premium-nowcast)[b-o2yx4maslm] {
        display: -webkit-box;
        max-width: 22ch;
        overflow: hidden;
        font-size: .78rem;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .premium-radar[b-o2yx4maslm] {
        min-height: 340px;
    }

    .premium-radar-map[b-o2yx4maslm] {
        min-height: 340px;
    }

    .premium-radar-actions .button[b-o2yx4maslm] {
        min-height: 40px;
        padding: 0 12px;
        font-size: .76rem;
    }

    .premium-radar-meta[b-o2yx4maslm] {
        display: none;
    }

    .premium-radar-copy .premium-nowcast[b-o2yx4maslm] {
        max-width: 100%;
        font-size: .68rem;
        line-height: 1.35;
    }

    .premium-expand[b-o2yx4maslm] {
        top: 12px;
        right: 12px;
    }

    .premium-strip[b-o2yx4maslm],
    .premium-activities[b-o2yx4maslm],
    .premium-days[b-o2yx4maslm],
    .premium-plan[b-o2yx4maslm] {
        padding: 15px 12px 11px;
    }

    .premium-hour-list[b-o2yx4maslm],
    .premium-day-list[b-o2yx4maslm] {
        margin-right: -12px;
    }

    .premium-activity-list[b-o2yx4maslm] {
        grid-auto-columns: minmax(250px, calc(100% - 28px));
        margin-right: -12px;
    }

    .premium-warning-row[b-o2yx4maslm] {
        grid-template-columns: 50px minmax(0, 1fr) 22px;
        min-height: 82px;
        padding: 12px 14px;
    }

    .premium-warning-row small[b-o2yx4maslm] {
        display: -webkit-box;
        overflow: hidden;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
    }

    .premium-detail-strip[b-o2yx4maslm] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .premium-detail-strip a:nth-child(3)[b-o2yx4maslm] {
        border-top: 1px solid var(--line-soft);
        border-left: 0;
    }

    .premium-detail-strip a:nth-child(4)[b-o2yx4maslm] {
        border-top: 1px solid var(--line-soft);
    }

    .premium-plan-controls[b-o2yx4maslm] {
        grid-template-columns: 1fr 1fr;
    }

    .premium-plan-controls .button[b-o2yx4maslm] {
        grid-column: 1 / -1;
    }

    .premium-install[b-o2yx4maslm] {
        align-items: stretch;
        flex-direction: column;
    }
}

@media (max-width: 350px) {
    .premium-temperature-row[b-o2yx4maslm]  .weather-glyph {
        width: 68px;
        height: 68px;
    }

    .premium-hero-facts strong[b-o2yx4maslm] {
        font-size: .7rem;
    }

    .premium-radar-copy[b-o2yx4maslm] {
        right: 16%;
    }
}

@media (prefers-reduced-motion: reduce) {
    .premium-home *[b-o2yx4maslm] {
        scroll-behavior: auto;
    }
}
/* /Components/Pages/Locations.razor.rz.scp.css */
.locations-page[b-v3n42tz4l3] {
    width: min(1040px, calc(100% - 32px));
    margin: 0 auto;
    padding-top: var(--space-5);
}

.location-search-section[b-v3n42tz4l3],
.search-result-section[b-v3n42tz4l3],
.geolocation-section[b-v3n42tz4l3],
.my-places-section[b-v3n42tz4l3],
.local-collection-section[b-v3n42tz4l3] {
    margin-top: var(--space-5);
}

.location-search-form[b-v3n42tz4l3] {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 68px;
    padding: 8px 10px 8px 20px;
    align-items: center;
    gap: var(--space-3);
    color: var(--text-muted);
}

.location-search-form input[type="search"][b-v3n42tz4l3] {
    width: 100%;
    min-width: 0;
    min-height: 48px;
    padding: 0;
    border: 0;
    outline: 0;
    background: transparent;
    color: var(--text-strong);
    font-size: clamp(1rem, 3vw, 1.15rem);
}

.location-search-form input[b-v3n42tz4l3]::placeholder {
    color: var(--text-faint);
}

.location-search-form:focus-within[b-v3n42tz4l3] {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--accent) 22%, transparent), var(--shadow);
}

.location-search-form button[b-v3n42tz4l3] {
    display: inline-flex;
    min-height: 46px;
    align-items: center;
    gap: 6px;
    padding: 0 15px;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    background: var(--accent-soft);
    color: var(--accent-ink);
    cursor: pointer;
    font-weight: 800;
}

.search-help[b-v3n42tz4l3],
.location-status[b-v3n42tz4l3],
.local-storage-status[b-v3n42tz4l3] {
    margin: var(--space-2) var(--space-3) 0;
    color: var(--text-muted);
    font-size: .76rem;
    line-height: 1.45;
}

.search-result-section[b-v3n42tz4l3],
.local-collection-section[b-v3n42tz4l3] {
    padding: clamp(20px, 3vw, 30px);
}

.section-heading[b-v3n42tz4l3] {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

.section-heading h2[b-v3n42tz4l3] {
    margin: var(--space-1) 0 0;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    letter-spacing: -.035em;
}

.section-heading > div > p:last-child:not(.section-label)[b-v3n42tz4l3] {
    max-width: 690px;
    margin: var(--space-2) 0 0;
    color: var(--text-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.count-chip[b-v3n42tz4l3],
.local-chip[b-v3n42tz4l3],
.current-badge[b-v3n42tz4l3] {
    display: inline-flex;
    min-height: 31px;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 0 10px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-control);
    background: var(--surface-soft);
    color: var(--accent-ink);
    font-size: .7rem;
    font-weight: 800;
    white-space: nowrap;
}

.search-results[b-v3n42tz4l3] {
    display: grid;
    margin: var(--space-4) 0 0;
    padding: 0;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--line-soft);
    list-style: none;
}

.search-results li[b-v3n42tz4l3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    align-items: stretch;
    background: var(--surface);
}

.search-result-link[b-v3n42tz4l3] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-width: 0;
    min-height: 78px;
    padding: var(--space-3) var(--space-4);
    align-items: center;
    gap: var(--space-3);
    color: var(--text-strong);
    text-decoration: none;
}

.search-result-link:hover[b-v3n42tz4l3] {
    background: var(--surface-soft);
}

.result-icon[b-v3n42tz4l3] {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--accent);
}

.result-copy[b-v3n42tz4l3] {
    display: grid;
    min-width: 0;
    gap: 2px;
}

.result-copy strong[b-v3n42tz4l3],
.result-copy span[b-v3n42tz4l3],
.result-copy small[b-v3n42tz4l3] {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.result-copy span[b-v3n42tz4l3] {
    color: var(--text-muted);
    font-size: .8rem;
}

.result-copy small[b-v3n42tz4l3] {
    color: var(--text-faint);
    font-size: .69rem;
}

.result-favorite[b-v3n42tz4l3] {
    display: grid;
    min-width: 84px;
    min-height: 100%;
    padding: var(--space-2);
    place-content: center;
    justify-items: center;
    gap: 4px;
    border: 0;
    border-left: 1px solid var(--line-soft);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-size: .7rem;
    font-weight: 750;
}

.result-favorite[aria-pressed="true"][b-v3n42tz4l3] {
    background: var(--accent-soft);
    color: var(--accent-ink);
}

.search-state[b-v3n42tz4l3] {
    display: flex;
    min-height: 104px;
    margin-top: var(--space-4);
    padding: var(--space-4);
    align-items: center;
    gap: var(--space-4);
    border: 1px dashed var(--line);
    border-radius: var(--radius-inner);
    color: var(--unknown);
}

.search-state.is-error[b-v3n42tz4l3] {
    border-color: var(--attention);
    background: color-mix(in srgb, var(--attention-soft) 52%, transparent);
    color: var(--attention);
}

.search-state strong[b-v3n42tz4l3] {
    color: var(--text-strong);
}

.search-state p[b-v3n42tz4l3] {
    margin: var(--space-1) 0 0;
    color: var(--text-muted);
    font-size: .82rem;
}

.geolocation-action[b-v3n42tz4l3] {
    display: grid;
    width: 100%;
    min-height: 112px;
    grid-template-columns: 68px minmax(0, 1fr) auto;
    padding: var(--space-4) clamp(18px, 3vw, 26px);
    align-items: center;
    gap: var(--space-5);
    border: 1px solid var(--line-soft);
    color: var(--text-strong);
    cursor: pointer;
    text-align: left;
}

.geolocation-action:hover[b-v3n42tz4l3] {
    border-color: var(--accent);
    background: var(--surface-soft);
}

.geolocation-action:disabled[b-v3n42tz4l3] {
    cursor: progress;
    opacity: .7;
}

.geolocation-icon[b-v3n42tz4l3] {
    display: grid;
    width: 68px;
    height: 68px;
    place-items: center;
    border: 1px solid var(--accent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--accent-soft) 76%, transparent);
    color: var(--accent);
    box-shadow: 0 0 28px color-mix(in srgb, var(--accent) 14%, transparent);
}

.geolocation-copy[b-v3n42tz4l3] {
    display: grid;
    min-width: 0;
    gap: 5px;
}

.geolocation-copy strong[b-v3n42tz4l3] {
    font-size: clamp(1.05rem, 3vw, 1.3rem);
}

.geolocation-copy span[b-v3n42tz4l3] {
    color: var(--text-muted);
    font-size: .86rem;
}

.current-place-card[b-v3n42tz4l3] {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    margin-top: var(--space-4);
    overflow: hidden;
    border-color: color-mix(in srgb, var(--accent) 62%, var(--line-soft));
    background:
        radial-gradient(circle at 72% 18%, color-mix(in srgb, var(--sky) 13%, transparent), transparent 18rem),
        linear-gradient(125deg, color-mix(in srgb, var(--accent-soft) 45%, var(--surface)), var(--surface));
}

.current-place-card.is-stale[b-v3n42tz4l3] {
    border-color: var(--caution);
    background: linear-gradient(125deg, color-mix(in srgb, var(--caution-soft) 45%, var(--surface)), var(--surface));
}

.current-place-main[b-v3n42tz4l3] {
    display: grid;
    grid-template-columns: minmax(190px, 1fr) 112px minmax(135px, auto) auto;
    min-width: 0;
    min-height: 178px;
    padding: clamp(20px, 4vw, 34px);
    align-items: center;
    gap: clamp(16px, 3vw, 30px);
    color: var(--text-strong);
    text-decoration: none;
}

.current-place-main:hover[b-v3n42tz4l3] {
    background: color-mix(in srgb, var(--accent-soft) 18%, transparent);
}

.current-place-copy[b-v3n42tz4l3],
.current-temperature[b-v3n42tz4l3] {
    display: grid;
    min-width: 0;
    align-content: center;
}

.current-place-copy > strong[b-v3n42tz4l3] {
    margin-top: var(--space-3);
    font-size: clamp(1.55rem, 4vw, 2.25rem);
    letter-spacing: -.045em;
}

.current-place-copy > span:not(.current-badge)[b-v3n42tz4l3] {
    margin-top: 5px;
    color: var(--text);
}

.current-place-copy small[b-v3n42tz4l3] {
    margin-top: var(--space-2);
    color: var(--text-muted);
    font-size: .72rem;
    line-height: 1.4;
}

.current-badge[b-v3n42tz4l3] {
    justify-self: start;
}

.current-badge i[b-v3n42tz4l3] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.current-badge.is-unknown[b-v3n42tz4l3] {
    color: var(--unknown);
}

.current-weather-icon[b-v3n42tz4l3] {
    display: grid;
    width: 104px;
    height: 104px;
    place-items: center;
    color: var(--sky);
}

.current-weather-icon[b-v3n42tz4l3]  .weather-glyph {
    width: 104px;
    height: 104px;
}

.current-temperature[b-v3n42tz4l3] {
    justify-items: end;
    text-align: right;
}

.current-temperature > strong[b-v3n42tz4l3] {
    font-size: clamp(2.7rem, 7vw, 4.35rem);
    font-weight: 720;
    letter-spacing: -.07em;
    line-height: .9;
}

.current-temperature span[b-v3n42tz4l3],
.current-temperature small[b-v3n42tz4l3] {
    margin-top: var(--space-2);
    color: var(--text-muted);
    font-size: .8rem;
}

.current-temperature small[b-v3n42tz4l3] {
    color: var(--accent-ink);
}

.current-place-open[b-v3n42tz4l3] {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    color: var(--accent-ink);
    font-size: .78rem;
    font-weight: 800;
    white-space: nowrap;
}

.current-place-actions[b-v3n42tz4l3] {
    display: grid;
    min-width: 164px;
}

.current-favorite-action[b-v3n42tz4l3],
.current-start-action[b-v3n42tz4l3] {
    display: grid;
    padding: var(--space-4);
    place-content: center;
    justify-items: center;
    gap: var(--space-2);
    border: 0;
    border-left: 1px solid var(--line-soft);
    background: color-mix(in srgb, var(--surface) 45%, transparent);
    color: var(--text-muted);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 800;
    text-align: center;
}

.current-start-action[b-v3n42tz4l3] {
    border-top: 1px solid var(--line-soft);
}

.current-favorite-action[aria-pressed="true"][b-v3n42tz4l3],
.current-start-action[aria-pressed="true"][b-v3n42tz4l3] {
    background: var(--accent-soft);
    color: var(--accent-ink);
}

.current-place-unavailable .current-place-main[b-v3n42tz4l3] {
    grid-template-columns: auto minmax(0, 1fr) auto;
}

.local-collection-section[b-v3n42tz4l3] {
    min-width: 0;
}

.collection-empty[b-v3n42tz4l3] {
    margin: var(--space-4) 0 0;
    padding: var(--space-4);
    border: 1px dashed var(--line);
    border-radius: var(--radius-inner);
    color: var(--text-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.local-list-host[b-v3n42tz4l3] {
    min-width: 0;
}

.local-place-list[b-v3n42tz4l3],
.recent-place-list[b-v3n42tz4l3] {
    margin: var(--space-4) 0 0;
    padding: 0;
    list-style: none;
}

.local-place-list[b-v3n42tz4l3] {
    display: grid;
    grid-auto-columns: minmax(230px, 280px);
    grid-auto-flow: column;
    gap: var(--space-3);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}

.local-list-host[b-v3n42tz4l3]  .local-place-card {
    display: grid;
    grid-template-rows: minmax(0, 1fr) auto;
    min-height: 154px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--surface);
    scroll-snap-align: start;
}

.local-list-host[b-v3n42tz4l3]  .local-place-link {
    display: grid;
    min-width: 0;
    padding: var(--space-4);
    align-content: start;
    gap: var(--space-2);
    color: var(--text-strong);
    text-decoration: none;
}

.local-list-host[b-v3n42tz4l3]  .local-place-link:hover {
    background: var(--surface-soft);
}

.local-list-host[b-v3n42tz4l3]  .local-place-avatar {
    display: grid;
    width: 42px;
    height: 42px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    color: var(--accent);
    font-size: 1rem;
    font-weight: 850;
    text-transform: uppercase;
}

.local-list-host[b-v3n42tz4l3]  .local-place-name {
    overflow: hidden;
    color: var(--text-strong);
    font-weight: 800;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.local-list-host[b-v3n42tz4l3]  .local-place-meta {
    color: var(--text-muted);
    font-size: .76rem;
    line-height: 1.4;
}

.local-list-host[b-v3n42tz4l3]  .local-place-remove {
    min-height: 44px;
    border: 0;
    border-top: 1px solid var(--line-soft);
    background: transparent;
    color: var(--text-muted);
    cursor: pointer;
    font-size: .72rem;
    font-weight: 750;
}

.local-list-host[b-v3n42tz4l3]  .local-place-remove:hover {
    background: var(--danger-soft);
    color: var(--danger);
}

.recent-place-list[b-v3n42tz4l3] {
    display: grid;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--line-soft);
}

.local-list-host[b-v3n42tz4l3]  .recent-place-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    min-width: 0;
    background: var(--surface);
}

.local-list-host[b-v3n42tz4l3]  .recent-place-card .local-place-link {
    grid-template-columns: 42px minmax(0, 1fr);
    min-height: 72px;
    align-items: center;
    align-content: center;
}

.local-list-host[b-v3n42tz4l3]  .recent-place-copy {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.local-list-host[b-v3n42tz4l3]  .recent-place-card .local-place-remove {
    min-width: 88px;
    border-top: 0;
    border-left: 1px solid var(--line-soft);
}

.clear-recents[b-v3n42tz4l3] {
    min-height: 44px;
    padding: 0 12px;
    border: 0;
    background: transparent;
    color: var(--accent-ink);
    cursor: pointer;
    font-size: .8rem;
    font-weight: 800;
}

.local-storage-status:empty[b-v3n42tz4l3] {
    display: none;
}

@media (max-width: 780px) {
    .current-place-main[b-v3n42tz4l3] {
        grid-template-columns: minmax(0, 1fr) 88px minmax(110px, auto);
    }

    .current-weather-icon[b-v3n42tz4l3] {
        width: 82px;
        height: 82px;
    }

    .current-weather-icon[b-v3n42tz4l3]  .weather-glyph {
        width: 82px;
        height: 82px;
    }

    .current-place-open[b-v3n42tz4l3] {
        display: none;
    }
}

@media (max-width: 620px) {
    .locations-page[b-v3n42tz4l3] {
        width: min(100% - 24px, 1040px);
        padding-top: var(--space-3);
    }

    .location-search-section[b-v3n42tz4l3],
    .search-result-section[b-v3n42tz4l3],
    .geolocation-section[b-v3n42tz4l3],
    .my-places-section[b-v3n42tz4l3],
    .local-collection-section[b-v3n42tz4l3] {
        margin-top: var(--space-4);
    }

    .location-search-form[b-v3n42tz4l3] {
        min-height: 62px;
        padding-left: var(--space-4);
    }

    .location-search-form button[b-v3n42tz4l3] {
        min-width: 46px;
        padding: 0 12px;
    }

    .location-search-form button span[b-v3n42tz4l3] {
        display: none;
    }

    .search-result-section[b-v3n42tz4l3],
    .local-collection-section[b-v3n42tz4l3] {
        padding: var(--space-4);
    }

    .section-heading[b-v3n42tz4l3] {
        display: grid;
    }

    .count-chip[b-v3n42tz4l3],
    .local-chip[b-v3n42tz4l3] {
        justify-self: start;
    }

    .geolocation-action[b-v3n42tz4l3] {
        min-height: 98px;
        grid-template-columns: 58px minmax(0, 1fr) auto;
        padding: var(--space-4);
        gap: var(--space-3);
    }

    .geolocation-icon[b-v3n42tz4l3] {
        width: 58px;
        height: 58px;
    }

    .current-place-card[b-v3n42tz4l3] {
        grid-template-columns: 1fr;
    }

    .current-place-main[b-v3n42tz4l3] {
        grid-template-columns: minmax(0, 1fr) 76px;
        min-height: 210px;
        padding: var(--space-5);
        align-items: start;
    }

    .current-place-copy[b-v3n42tz4l3] {
        align-self: stretch;
    }

    .current-weather-icon[b-v3n42tz4l3] {
        width: 72px;
        height: 72px;
    }

    .current-weather-icon[b-v3n42tz4l3]  .weather-glyph {
        width: 72px;
        height: 72px;
    }

    .current-temperature[b-v3n42tz4l3] {
        grid-column: 1 / -1;
        justify-items: start;
        align-self: end;
        text-align: left;
    }

    .current-temperature > strong[b-v3n42tz4l3] {
        font-size: 3.3rem;
    }

    .current-place-actions[b-v3n42tz4l3] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .current-favorite-action[b-v3n42tz4l3],
    .current-start-action[b-v3n42tz4l3] {
        min-height: 54px;
        grid-auto-flow: column;
        border-top: 1px solid var(--line-soft);
        border-left: 0;
    }

    .current-start-action[b-v3n42tz4l3] {
        border-left: 1px solid var(--line-soft);
    }

    .current-place-unavailable .current-place-main[b-v3n42tz4l3] {
        grid-template-columns: auto minmax(0, 1fr);
        min-height: 164px;
    }

    .current-place-unavailable .current-place-open[b-v3n42tz4l3] {
        display: none;
    }
}

@media (max-width: 430px) {
    .search-results li[b-v3n42tz4l3] {
        grid-template-columns: 1fr;
    }

    .search-result-link[b-v3n42tz4l3] {
        padding-inline: var(--space-3);
    }

    .result-favorite[b-v3n42tz4l3] {
        min-height: 46px;
        grid-auto-flow: column;
        border-top: 1px solid var(--line-soft);
        border-left: 0;
    }

    .geolocation-copy span[b-v3n42tz4l3] {
        font-size: .76rem;
    }

    .local-place-list[b-v3n42tz4l3] {
        grid-auto-columns: minmax(210px, 82vw);
    }

    .local-list-host[b-v3n42tz4l3]  .recent-place-card .local-place-remove {
        min-width: 72px;
    }
}

@media (forced-colors: active) {
    .current-badge i[b-v3n42tz4l3] {
        background: CanvasText;
    }
}
/* /Components/Pages/Measurements.razor.rz.scp.css */
.measurements-page[b-ojovdn1cfx] {
    width: min(var(--content), calc(100% - 32px));
    margin: 0 auto;
    padding-top: var(--space-5);
}

.measurements-page[b-ojovdn1cfx]  .page-header {
    width: 100%;
    max-width: none;
}

.unavailable-panel[b-ojovdn1cfx],
.measurement-hero[b-ojovdn1cfx],
.metric-card[b-ojovdn1cfx],
.chart-card[b-ojovdn1cfx],
.measurement-summary[b-ojovdn1cfx],
.source-note[b-ojovdn1cfx] {
    border: 1px solid var(--line-soft);
    box-shadow: var(--shadow);
}

.unavailable-panel[b-ojovdn1cfx] {
    display: grid;
    min-height: 320px;
    padding: clamp(24px, 6vw, 58px);
    grid-template-columns: auto minmax(0, 620px);
    place-content: center;
    align-items: start;
    gap: var(--space-5);
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 18% 18%, color-mix(in srgb, var(--unknown) 15%, transparent), transparent 18rem),
        var(--surface);
}

.unavailable-icon[b-ojovdn1cfx] {
    display: grid;
    width: 58px;
    height: 58px;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--unknown-soft);
    color: var(--unknown);
}

.unavailable-panel h2[b-ojovdn1cfx] {
    margin: 7px 0 9px;
    font-size: clamp(1.5rem, 4vw, 2.35rem);
}

.unavailable-panel p:not(.section-label)[b-ojovdn1cfx] {
    max-width: 58ch;
    margin: 0;
    color: var(--text-muted);
    line-height: 1.65;
}

.unavailable-actions[b-ojovdn1cfx] {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-3);
    margin-top: var(--space-5);
}

.unavailable-actions a[b-ojovdn1cfx] {
    display: inline-flex;
    min-height: var(--touch);
    padding: 0 16px;
    align-items: center;
    justify-content: center;
    border: 1px solid var(--line);
    border-radius: var(--radius-control);
    color: var(--text-strong);
    font-weight: 750;
    text-decoration: none;
}

.unavailable-actions .retry-link[b-ojovdn1cfx] {
    border-color: var(--accent);
    background: var(--accent);
    color: var(--warning-badge-ink);
}

.freshness-notice[b-ojovdn1cfx] {
    display: flex;
    margin-bottom: var(--space-4);
    padding: 14px 16px;
    align-items: flex-start;
    gap: 11px;
    border: 1px solid color-mix(in srgb, var(--caution) 62%, var(--line));
    border-radius: var(--radius-inner);
    background: var(--caution-soft);
    color: var(--caution);
}

.freshness-notice.is-stale[b-ojovdn1cfx] {
    border-color: color-mix(in srgb, var(--attention) 62%, var(--line));
    background: var(--attention-soft);
    color: var(--attention);
}

.freshness-notice div[b-ojovdn1cfx] {
    min-width: 0;
}

.freshness-notice strong[b-ojovdn1cfx] {
    display: block;
    color: var(--text-strong);
}

.freshness-notice p[b-ojovdn1cfx] {
    margin: 3px 0 0;
    color: var(--text);
    line-height: 1.45;
}

.measurement-hero[b-ojovdn1cfx] {
    position: relative;
    isolation: isolate;
    display: grid;
    overflow: hidden;
    padding: clamp(20px, 4vw, 40px);
    grid-template-columns: minmax(90px, .42fr) minmax(0, 1fr) minmax(250px, .9fr);
    grid-template-areas:
        "glyph place range"
        "glyph reading range"
        "fresh fresh fresh"
        "truth truth truth";
    align-items: center;
    gap: 10px clamp(18px, 4vw, 44px);
    border-radius: 26px 26px 26px 10px;
    background:
        radial-gradient(circle at 14% 22%, color-mix(in srgb, var(--sky) 18%, transparent), transparent 18rem),
        radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 22rem),
        linear-gradient(145deg, var(--surface-soft), var(--surface));
}

.measurement-hero[b-ojovdn1cfx]::after {
    position: absolute;
    z-index: -1;
    right: -70px;
    bottom: -95px;
    width: 280px;
    height: 280px;
    border: 1px solid color-mix(in srgb, var(--accent) 13%, transparent);
    border-radius: 50%;
    content: "";
}

.measurement-hero[data-condition="klar"][b-ojovdn1cfx] {
    background:
        radial-gradient(circle at 14% 22%, var(--sun-soft), transparent 18rem),
        radial-gradient(circle at 92% 4%, color-mix(in srgb, var(--accent) 11%, transparent), transparent 22rem),
        linear-gradient(145deg, var(--surface-soft), var(--surface));
}

.hero-glyph[b-ojovdn1cfx] {
    display: grid;
    grid-area: glyph;
    place-items: center;
    color: var(--sky);
}

.hero-glyph[b-ojovdn1cfx]  .weather-glyph {
    width: clamp(92px, 12vw, 148px);
    height: clamp(92px, 12vw, 148px);
}

.hero-glyph[b-ojovdn1cfx]  .weather-glyph.klar {
    color: var(--sun);
}

.hero-glyph[b-ojovdn1cfx]  .weather-glyph.gewitter {
    color: var(--attention);
}

.hero-place[b-ojovdn1cfx] {
    grid-area: place;
    min-width: 0;
}

.hero-kicker[b-ojovdn1cfx] {
    margin: 0 0 6px;
    color: var(--accent-ink);
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.hero-place h2[b-ojovdn1cfx] {
    margin: 0;
    font-size: clamp(1.65rem, 4vw, 3rem);
    letter-spacing: -.045em;
    line-height: 1;
}

.hero-time[b-ojovdn1cfx] {
    display: flex;
    margin: 9px 0 0;
    align-items: center;
    gap: 7px;
    color: var(--text-muted);
    font-size: .95rem;
}

.hero-reading[b-ojovdn1cfx] {
    display: flex;
    grid-area: reading;
    min-width: 0;
    align-items: center;
    gap: 22px;
}

.hero-temperature[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text-strong);
    font-size: clamp(4rem, 9vw, 7.2rem);
    font-weight: 530;
    letter-spacing: -.08em;
    line-height: .88;
}

.hero-condition[b-ojovdn1cfx] {
    display: grid;
    min-width: 0;
    padding-left: 20px;
    gap: 6px;
    border-left: 1px solid var(--line-soft);
}

.hero-condition strong[b-ojovdn1cfx] {
    color: var(--text-strong);
    font-size: clamp(1.1rem, 2vw, 1.45rem);
    font-weight: 660;
}

.hero-condition span[b-ojovdn1cfx] {
    color: var(--accent-ink);
}

.hero-day-range[b-ojovdn1cfx] {
    display: grid;
    grid-area: range;
    margin: 0;
    padding: clamp(18px, 3vw, 28px);
    gap: 1px;
    align-self: stretch;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--surface) 68%, transparent);
}

.hero-day-range div[b-ojovdn1cfx] {
    display: flex;
    min-width: 0;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
    padding: 14px 0;
}

.hero-day-range div + div[b-ojovdn1cfx] {
    border-top: 1px solid var(--line-soft);
}

.hero-day-range dt[b-ojovdn1cfx] {
    color: var(--text-muted);
    font-size: .84rem;
}

.hero-day-range dd[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text-strong);
    font-size: clamp(1.2rem, 3vw, 1.8rem);
    font-weight: 720;
    white-space: nowrap;
}

.hero-day-range div:first-child dd span[b-ojovdn1cfx] {
    color: var(--sun);
}

.hero-day-range div:nth-child(2) dd span[b-ojovdn1cfx] {
    color: var(--sky);
}

.hero-day-range .range-missing[b-ojovdn1cfx] {
    display: grid;
    align-content: center;
}

.hero-day-range .range-missing dd[b-ojovdn1cfx] {
    font-size: 1rem;
    white-space: normal;
}

.hero-freshness[b-ojovdn1cfx] {
    display: flex;
    grid-area: fresh;
    margin-top: 18px;
    padding-top: 17px;
    align-items: center;
    gap: 10px;
    border-top: 1px solid var(--line-soft);
}

.freshness-dot[b-ojovdn1cfx] {
    width: 10px;
    height: 10px;
    flex: 0 0 auto;
    border-radius: 50%;
    background: var(--unknown);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--unknown) 13%, transparent);
}

.freshness-dot.is-fresh[b-ojovdn1cfx] {
    background: var(--good);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--good) 13%, transparent);
}

.freshness-dot.is-stale[b-ojovdn1cfx] {
    background: var(--attention);
    box-shadow: 0 0 0 5px color-mix(in srgb, var(--attention) 13%, transparent);
}

.hero-freshness div[b-ojovdn1cfx] {
    display: flex;
    min-width: 0;
    flex-wrap: wrap;
    align-items: baseline;
    gap: 4px 9px;
}

.hero-freshness strong[b-ojovdn1cfx] {
    color: var(--text-strong);
    font-size: .89rem;
}

.hero-freshness span:not(.freshness-dot)[b-ojovdn1cfx] {
    color: var(--text-muted);
    font-size: .84rem;
}

.hero-truth-note[b-ojovdn1cfx] {
    display: flex;
    grid-area: truth;
    margin: 9px 0 0;
    align-items: flex-start;
    gap: 8px;
    color: var(--text-muted);
    font-size: .82rem;
    line-height: 1.5;
}

.hero-truth-note[b-ojovdn1cfx]  .ui-icon {
    margin-top: 1px;
    flex: 0 0 auto;
    color: var(--accent);
}

.hero-truth-note code[b-ojovdn1cfx],
.source-note code[b-ojovdn1cfx] {
    color: var(--text);
    font: inherit;
    font-weight: 730;
}

.metrics-section[b-ojovdn1cfx],
.chart-section[b-ojovdn1cfx] {
    margin-top: clamp(30px, 6vw, 54px);
}

.section-heading[b-ojovdn1cfx] {
    display: flex;
    margin-bottom: 16px;
    align-items: end;
    justify-content: space-between;
    gap: 16px;
}

.section-heading h2[b-ojovdn1cfx] {
    margin: 5px 0 0;
    font-size: clamp(1.45rem, 3.2vw, 2.25rem);
    letter-spacing: -.035em;
}

.section-heading > p[b-ojovdn1cfx] {
    max-width: 44ch;
    margin: 0;
    color: var(--text-muted);
    font-size: .86rem;
    text-align: right;
}

.metric-grid[b-ojovdn1cfx] {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-4);
}

.metric-card[b-ojovdn1cfx] {
    position: relative;
    isolation: isolate;
    display: flex;
    min-width: 0;
    min-height: 210px;
    overflow: hidden;
    padding: clamp(18px, 2.8vw, 25px);
    flex-direction: column;
    border-radius: var(--radius);
    background:
        linear-gradient(145deg, color-mix(in srgb, var(--surface-soft) 96%, transparent), color-mix(in srgb, var(--surface) 98%, transparent));
}

.metric-card[b-ojovdn1cfx]::before {
    position: absolute;
    z-index: -1;
    top: -72px;
    right: -65px;
    width: 160px;
    height: 160px;
    border-radius: 50%;
    background: color-mix(in srgb, currentColor 7%, transparent);
    content: "";
}

.metric-card header[b-ojovdn1cfx] {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 10px;
    color: var(--accent);
}

.metric-card h3[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text);
    font-size: 1rem;
    font-weight: 650;
}

.metric-value[b-ojovdn1cfx] {
    margin: auto 0 9px;
    color: var(--text-strong);
    font-size: clamp(2rem, 5vw, 3.15rem);
    font-weight: 570;
    letter-spacing: -.055em;
    line-height: 1;
}

.metric-value span[b-ojovdn1cfx] {
    color: var(--text-muted);
    font-size: .48em;
    font-weight: 520;
    letter-spacing: -.01em;
}

.metric-card dl[b-ojovdn1cfx] {
    display: grid;
    margin: 0;
    gap: 6px;
}

.metric-card dl div[b-ojovdn1cfx] {
    display: flex;
    min-width: 0;
    justify-content: space-between;
    gap: 12px;
}

.metric-card dt[b-ojovdn1cfx],
.metric-card dd[b-ojovdn1cfx],
.metric-secondary[b-ojovdn1cfx] {
    color: var(--text-muted);
    font-size: .88rem;
}

.metric-card dd[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text);
    text-align: right;
}

.metric-secondary[b-ojovdn1cfx] {
    margin: auto 0 0;
    line-height: 1.45;
}

.metric-uv header[b-ojovdn1cfx],
.metric-sun header[b-ojovdn1cfx],
.metric-sun .sun-times[b-ojovdn1cfx]  .ui-icon {
    color: var(--sun);
}

.metric-rain header[b-ojovdn1cfx],
.metric-visibility header[b-ojovdn1cfx] {
    color: var(--sky);
}

.metric-pressure header[b-ojovdn1cfx] {
    color: color-mix(in srgb, var(--accent) 72%, var(--sky));
}

.metric-sun .sun-times[b-ojovdn1cfx] {
    margin-top: auto;
    gap: 9px;
}

.metric-sun .sun-times div[b-ojovdn1cfx] {
    padding-top: 10px;
    align-items: center;
    border-top: 1px solid var(--line-soft);
}

.metric-sun .sun-times dt[b-ojovdn1cfx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.metric-sun .sun-times dd[b-ojovdn1cfx] {
    color: var(--text-strong);
    font-size: 1.12rem;
    font-weight: 700;
}

.metric-unavailable[b-ojovdn1cfx] {
    border-style: dashed;
    background:
        repeating-linear-gradient(135deg, transparent 0 10px, color-mix(in srgb, var(--unknown) 3%, transparent) 10px 20px),
        var(--surface);
}

.metric-unavailable header[b-ojovdn1cfx] {
    color: var(--unknown);
}

.metric-unavailable-value[b-ojovdn1cfx] {
    margin: auto 0 8px;
    color: var(--text-strong);
    font-size: clamp(1.25rem, 3vw, 1.7rem);
    font-weight: 680;
    line-height: 1.15;
}

.chart-grid[b-ojovdn1cfx] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-4);
}

.chart-card[b-ojovdn1cfx] {
    min-width: 0;
    overflow: hidden;
    border-radius: var(--radius);
    background:
        radial-gradient(circle at 88% 5%, color-mix(in srgb, var(--accent) 8%, transparent), transparent 17rem),
        var(--surface);
}

.chart-card-heading[b-ojovdn1cfx] {
    display: flex;
    padding: clamp(18px, 3vw, 25px) clamp(18px, 3vw, 27px) 4px;
    align-items: flex-start;
    gap: 12px;
}

.chart-icon[b-ojovdn1cfx] {
    display: grid;
    width: 42px;
    height: 42px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--line);
    border-radius: 50%;
    background: var(--accent-soft);
    color: var(--accent);
}

.chart-card-heading h3[b-ojovdn1cfx] {
    margin: 1px 0 4px;
    font-size: clamp(1.1rem, 2vw, 1.4rem);
}

.chart-card-heading p[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text-muted);
    font-size: .84rem;
    line-height: 1.45;
}

.chart-card figure[b-ojovdn1cfx] {
    margin: 0;
    padding: 12px clamp(10px, 2vw, 20px) 7px;
}

.forecast-chart[b-ojovdn1cfx] {
    display: block;
    width: 100%;
    height: auto;
    overflow: visible;
}

.chart-grid-lines line[b-ojovdn1cfx] {
    stroke: var(--line-soft);
    stroke-dasharray: 3 4;
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.chart-y-labels[b-ojovdn1cfx],
.chart-x-labels[b-ojovdn1cfx] {
    fill: var(--text-faint);
    font-size: 9px;
}

.chart-line[b-ojovdn1cfx] {
    fill: none;
    stroke-linecap: round;
    stroke-linejoin: round;
    stroke-width: 2.6;
    vector-effect: non-scaling-stroke;
}

.temperature-line[b-ojovdn1cfx],
.wind-line[b-ojovdn1cfx] {
    stroke: var(--accent);
}

.apparent-line[b-ojovdn1cfx] {
    stroke: var(--sky);
    stroke-dasharray: 5 5;
    opacity: .75;
}

.gust-line[b-ojovdn1cfx] {
    stroke: var(--sun);
    stroke-dasharray: 5 5;
    opacity: .82;
}

.temperature-point[b-ojovdn1cfx],
.wind-point[b-ojovdn1cfx] {
    fill: var(--surface);
    stroke: var(--accent);
    stroke-width: 1.4;
    vector-effect: non-scaling-stroke;
}

.chart-card figcaption[b-ojovdn1cfx] {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    padding: 0 7px;
    color: var(--text-muted);
    font-size: .77rem;
}

.chart-card figcaption span[b-ojovdn1cfx] {
    display: inline-flex;
    align-items: center;
    gap: 6px;
}

.legend-line[b-ojovdn1cfx] {
    display: inline-block;
    width: 21px;
    border-top: 2px solid var(--accent);
}

.apparent-legend[b-ojovdn1cfx],
.gust-legend[b-ojovdn1cfx] {
    border-top-style: dashed;
}

.apparent-legend[b-ojovdn1cfx] {
    border-color: var(--sky);
}

.gust-legend[b-ojovdn1cfx] {
    border-color: var(--sun);
}

.chart-empty[b-ojovdn1cfx] {
    display: flex;
    min-height: 175px;
    margin: 12px 20px;
    padding: 20px;
    align-items: center;
    justify-content: center;
    gap: 9px;
    border: 1px dashed var(--line);
    border-radius: var(--radius-inner);
    background: var(--unknown-soft);
    color: var(--text-muted);
    text-align: center;
}

.chart-data[b-ojovdn1cfx] {
    border-top: 1px solid var(--line-soft);
}

.chart-data summary[b-ojovdn1cfx] {
    min-height: var(--touch);
    padding: 13px clamp(18px, 3vw, 27px);
    cursor: pointer;
    color: var(--text);
    font-size: .85rem;
    font-weight: 720;
}

.table-scroll[b-ojovdn1cfx] {
    max-width: 100%;
    max-height: 330px;
    overflow: auto;
    border-top: 1px solid var(--line-soft);
    scrollbar-color: color-mix(in srgb, var(--accent) 50%, transparent) transparent;
}

.chart-data table[b-ojovdn1cfx] {
    width: 100%;
    min-width: 430px;
    border-collapse: collapse;
    font-size: .8rem;
}

.chart-data caption[b-ojovdn1cfx] {
    padding: 11px 15px;
    color: var(--text-muted);
    text-align: left;
}

.chart-data th[b-ojovdn1cfx],
.chart-data td[b-ojovdn1cfx] {
    padding: 9px 15px;
    border-top: 1px solid var(--line-soft);
    text-align: left;
    white-space: nowrap;
}

.chart-data thead th[b-ojovdn1cfx] {
    position: sticky;
    z-index: 1;
    top: 0;
    background: var(--surface-soft);
    color: var(--text-muted);
    font-size: .7rem;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.chart-data tbody th[b-ojovdn1cfx] {
    color: var(--text);
    font-weight: 650;
}

.measurement-summary[b-ojovdn1cfx] {
    display: flex;
    margin-top: var(--space-4);
    padding: clamp(18px, 3vw, 25px);
    align-items: flex-start;
    gap: 14px;
    border-radius: var(--radius);
    background:
        linear-gradient(100deg, color-mix(in srgb, var(--accent-soft) 86%, var(--surface)), var(--surface));
}

.measurement-summary > span[b-ojovdn1cfx] {
    display: grid;
    width: 46px;
    height: 46px;
    flex: 0 0 auto;
    place-items: center;
    border: 1px solid var(--accent);
    border-radius: 50%;
    color: var(--accent);
}

.measurement-summary h2[b-ojovdn1cfx] {
    margin: 0 0 5px;
    font-size: 1rem;
}

.measurement-summary p[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text);
    line-height: 1.55;
}

.source-note[b-ojovdn1cfx] {
    display: grid;
    margin-top: var(--space-4);
    padding: clamp(18px, 3vw, 25px);
    grid-template-columns: minmax(220px, .58fr) minmax(0, 1.42fr);
    align-items: start;
    gap: 18px 30px;
    border-radius: var(--radius);
    background: color-mix(in srgb, var(--surface) 88%, transparent);
}

.source-note h2[b-ojovdn1cfx] {
    margin: 5px 0 0;
    font-size: 1.15rem;
}

.source-note > p[b-ojovdn1cfx] {
    margin: 0;
    color: var(--text-muted);
    font-size: .86rem;
    line-height: 1.62;
}

.source-note a[b-ojovdn1cfx] {
    display: inline-block;
    margin-left: 4px;
    font-weight: 730;
}

@media (max-width: 980px) {
    .measurement-hero[b-ojovdn1cfx] {
        grid-template-columns: 112px minmax(0, 1fr) minmax(210px, .75fr);
    }

    .metric-grid[b-ojovdn1cfx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chart-grid[b-ojovdn1cfx] {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 720px) {
    .measurement-hero[b-ojovdn1cfx] {
        grid-template-columns: 92px minmax(0, 1fr);
        grid-template-areas:
            "glyph place"
            "reading reading"
            "range range"
            "fresh fresh"
            "truth truth";
    }

    .hero-reading[b-ojovdn1cfx] {
        margin-top: 10px;
    }

    .hero-day-range[b-ojovdn1cfx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 8px 17px;
    }

    .hero-day-range div[b-ojovdn1cfx] {
        display: grid;
        justify-content: start;
        gap: 3px;
        padding: 11px 0;
    }

    .hero-day-range div + div[b-ojovdn1cfx] {
        padding-left: 17px;
        border-top: 0;
        border-left: 1px solid var(--line-soft);
    }

    .hero-freshness[b-ojovdn1cfx] {
        margin-top: 8px;
    }

    .section-heading[b-ojovdn1cfx],
    .source-note[b-ojovdn1cfx] {
        display: grid;
        grid-template-columns: minmax(0, 1fr);
    }

    .section-heading > p[b-ojovdn1cfx] {
        text-align: left;
    }
}

@media (max-width: 500px) {
    .measurements-page[b-ojovdn1cfx] {
        width: min(100% - 24px, var(--content));
        padding-top: 8px;
    }

    .measurements-page[b-ojovdn1cfx]  .page-header {
        margin-bottom: 12px;
    }

    .measurement-hero[b-ojovdn1cfx] {
        padding: 18px;
        grid-template-columns: 72px minmax(0, 1fr);
        gap: 9px 14px;
        border-radius: var(--radius);
    }

    .hero-glyph[b-ojovdn1cfx]  .weather-glyph {
        width: 74px;
        height: 74px;
    }

    .hero-kicker[b-ojovdn1cfx] {
        font-size: .63rem;
        letter-spacing: .08em;
    }

    .hero-place h2[b-ojovdn1cfx] {
        font-size: 1.55rem;
    }

    .hero-time[b-ojovdn1cfx] {
        margin-top: 6px;
        font-size: .78rem;
    }

    .hero-reading[b-ojovdn1cfx] {
        gap: 13px;
    }

    .hero-temperature[b-ojovdn1cfx] {
        font-size: clamp(3.8rem, 21vw, 5.2rem);
    }

    .hero-condition[b-ojovdn1cfx] {
        padding-left: 13px;
        gap: 4px;
    }

    .hero-condition strong[b-ojovdn1cfx] {
        font-size: 1rem;
    }

    .hero-condition span[b-ojovdn1cfx] {
        font-size: .84rem;
    }

    .hero-day-range dd[b-ojovdn1cfx] {
        font-size: 1.2rem;
    }

    .hero-truth-note[b-ojovdn1cfx] {
        font-size: .77rem;
    }

    .metric-grid[b-ojovdn1cfx] {
        gap: 12px;
    }

    .metric-card[b-ojovdn1cfx] {
        min-height: 180px;
        padding: 16px;
    }

    .metric-card header[b-ojovdn1cfx] {
        align-items: flex-start;
        gap: 7px;
    }

    .metric-card header[b-ojovdn1cfx]  .ui-icon {
        width: 21px;
        height: 21px;
    }

    .metric-card h3[b-ojovdn1cfx] {
        font-size: .86rem;
    }

    .metric-value[b-ojovdn1cfx] {
        font-size: clamp(1.75rem, 10vw, 2.5rem);
    }

    .metric-card dl div[b-ojovdn1cfx] {
        display: grid;
        gap: 1px;
    }

    .metric-card dd[b-ojovdn1cfx] {
        text-align: left;
    }

    .metric-card dt[b-ojovdn1cfx],
    .metric-card dd[b-ojovdn1cfx],
    .metric-secondary[b-ojovdn1cfx] {
        font-size: .76rem;
    }

    .metric-sun .sun-times dd[b-ojovdn1cfx] {
        font-size: .95rem;
    }

    .metric-unavailable-value[b-ojovdn1cfx] {
        font-size: 1.1rem;
    }

    .chart-card-heading[b-ojovdn1cfx] {
        padding-right: 18px;
        padding-left: 18px;
    }

    .chart-card figure[b-ojovdn1cfx] {
        padding-right: 7px;
        padding-left: 7px;
    }

    .measurement-summary[b-ojovdn1cfx] {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }
}

@media (max-width: 350px) {
    .measurements-page[b-ojovdn1cfx] {
        width: min(100% - 20px, var(--content));
    }

    .measurement-hero[b-ojovdn1cfx] {
        grid-template-columns: 62px minmax(0, 1fr);
        padding: 15px;
    }

    .hero-glyph[b-ojovdn1cfx]  .weather-glyph {
        width: 64px;
        height: 64px;
    }

    .hero-place h2[b-ojovdn1cfx] {
        font-size: 1.38rem;
    }

    .hero-reading[b-ojovdn1cfx] {
        display: grid;
        grid-template-columns: auto minmax(0, 1fr);
    }

    .hero-temperature[b-ojovdn1cfx] {
        font-size: 3.55rem;
    }

    .metric-grid[b-ojovdn1cfx] {
        grid-template-columns: minmax(0, 1fr);
    }

    .metric-card[b-ojovdn1cfx] {
        min-height: 164px;
    }
}

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

@media print {
    .measurements-page[b-ojovdn1cfx] {
        width: 100%;
    }

    .metric-grid[b-ojovdn1cfx],
    .chart-grid[b-ojovdn1cfx] {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .chart-data[b-ojovdn1cfx] {
        break-inside: avoid;
    }
}
/* /Components/Pages/Warnings.razor.rz.scp.css */
.warnings-page[b-xlkhtgc9aj] {
    width: min(1120px, calc(100% - 32px));
    margin: 0 auto;
    padding-top: var(--space-5);
}

.warning-hero[b-xlkhtgc9aj],
.risk-section[b-xlkhtgc9aj],
.hourly-risk-section[b-xlkhtgc9aj],
.recommendation-section[b-xlkhtgc9aj],
.source-section[b-xlkhtgc9aj] {
    margin-top: var(--space-5);
}

.warning-hero[b-xlkhtgc9aj] {
    position: relative;
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    min-height: 190px;
    padding: clamp(24px, 4vw, 38px);
    align-items: center;
    gap: clamp(20px, 3vw, 34px);
    overflow: hidden;
    border-color: color-mix(in srgb, var(--unknown) 50%, var(--line-soft));
    background:
        radial-gradient(circle at 90% 20%, color-mix(in srgb, var(--unknown-soft) 86%, transparent), transparent 27rem),
        linear-gradient(135deg, var(--surface), color-mix(in srgb, var(--unknown-soft) 68%, var(--surface)));
}

.warning-hero[b-xlkhtgc9aj]::after {
    position: absolute;
    width: 260px;
    height: 260px;
    right: -110px;
    bottom: -180px;
    border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
    border-radius: 50%;
    content: "";
    pointer-events: none;
}

.warning-hero.state-clear[b-xlkhtgc9aj] {
    border-color: color-mix(in srgb, var(--good) 62%, var(--line-soft));
    background:
        radial-gradient(circle at 88% 8%, color-mix(in srgb, var(--sky-soft) 82%, transparent), transparent 25rem),
        linear-gradient(120deg, color-mix(in srgb, var(--good-soft) 76%, var(--surface)), var(--surface));
}

.warning-hero.state-active.severity-minor[b-xlkhtgc9aj] {
    border-color: var(--caution);
    background: linear-gradient(120deg, var(--caution-soft), var(--surface));
}

.warning-hero.state-active.severity-moderate[b-xlkhtgc9aj] {
    border-color: var(--attention);
    background: linear-gradient(120deg, var(--attention-soft), var(--surface));
}

.warning-hero.state-active.severity-severe[b-xlkhtgc9aj] {
    border-color: var(--danger);
    background: linear-gradient(120deg, var(--danger-soft), var(--surface));
}

.warning-hero.state-active.severity-extreme[b-xlkhtgc9aj] {
    border-color: var(--extreme);
    background: linear-gradient(120deg, var(--extreme-soft), var(--surface));
}

.warning-hero.state-stale[b-xlkhtgc9aj] {
    border-color: var(--caution);
    background: linear-gradient(120deg, var(--caution-soft), var(--surface));
}

.warning-hero.state-not-applicable[b-xlkhtgc9aj] {
    border-color: color-mix(in srgb, var(--sky) 55%, var(--line-soft));
    background: linear-gradient(120deg, var(--sky-soft), var(--surface));
}

.warning-hero-icon[b-xlkhtgc9aj] {
    position: relative;
    z-index: 1;
    display: grid;
    width: clamp(76px, 9vw, 96px);
    height: clamp(76px, 9vw, 96px);
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--unknown) 72%, transparent);
    border-radius: 50%;
    background: color-mix(in srgb, var(--unknown-soft) 74%, transparent);
    color: var(--unknown);
}

.state-clear .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--good);
    background: color-mix(in srgb, var(--good-soft) 84%, transparent);
    color: var(--good);
    box-shadow: 0 0 36px color-mix(in srgb, var(--good) 20%, transparent);
}

.state-active.severity-minor .warning-hero-icon[b-xlkhtgc9aj],
.state-stale .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--caution);
    background: var(--caution-soft);
    color: var(--caution);
}

.state-active.severity-moderate .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--attention);
    background: var(--attention-soft);
    color: var(--attention);
}

.state-active.severity-severe .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--danger);
    background: var(--danger-soft);
    color: var(--danger);
}

.state-active.severity-extreme .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--extreme);
    background: var(--extreme-soft);
    color: var(--extreme);
}

.state-not-applicable .warning-hero-icon[b-xlkhtgc9aj] {
    border-color: var(--sky);
    background: var(--sky-soft);
    color: var(--sky);
}

.warning-hero-copy[b-xlkhtgc9aj],
.warning-hero-meta[b-xlkhtgc9aj] {
    position: relative;
    z-index: 1;
}

.status-kicker[b-xlkhtgc9aj] {
    margin: 0 0 var(--space-2);
    color: var(--text-muted);
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.warning-hero-copy h2[b-xlkhtgc9aj] {
    margin: 0;
    font-size: clamp(1.65rem, 4vw, 2.7rem);
    letter-spacing: -.045em;
    line-height: 1.03;
}

.warning-hero-copy > p:last-child[b-xlkhtgc9aj] {
    max-width: 720px;
    margin: var(--space-3) 0 0;
    color: var(--text);
    line-height: 1.55;
}

.warning-hero-meta[b-xlkhtgc9aj] {
    display: grid;
    max-width: 220px;
    justify-items: start;
    gap: var(--space-2);
    color: var(--text-muted);
    font-size: .82rem;
}

.warning-hero-meta a[b-xlkhtgc9aj],
.coverage-copy a[b-xlkhtgc9aj] {
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    font-weight: 750;
    text-underline-offset: 3px;
}

.status-pill[b-xlkhtgc9aj],
.source-chip[b-xlkhtgc9aj] {
    display: inline-flex;
    min-height: 32px;
    align-items: center;
    gap: 7px;
    padding: 0 11px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--surface) 74%, transparent);
    color: var(--text-strong);
    font-size: .74rem;
    font-weight: 800;
    white-space: nowrap;
}

.status-pill i[b-xlkhtgc9aj] {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    background: currentColor;
}

.state-clear .status-pill[b-xlkhtgc9aj] { color: var(--good); }
.state-stale .status-pill[b-xlkhtgc9aj],
.state-active.severity-minor .status-pill[b-xlkhtgc9aj] { color: var(--caution); }
.state-active.severity-moderate .status-pill[b-xlkhtgc9aj] { color: var(--attention); }
.state-active.severity-severe .status-pill[b-xlkhtgc9aj] { color: var(--danger); }
.state-active.severity-extreme .status-pill[b-xlkhtgc9aj] { color: var(--extreme); }

.official-section[b-xlkhtgc9aj] {
    margin-top: clamp(28px, 4vw, 44px);
}

.section-heading[b-xlkhtgc9aj] {
    display: flex;
    min-width: 0;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
}

.section-heading h2[b-xlkhtgc9aj] {
    margin: var(--space-1) 0 0;
    font-size: clamp(1.35rem, 3vw, 1.8rem);
    letter-spacing: -.035em;
}

.section-heading > div > p:last-child:not(.section-label)[b-xlkhtgc9aj] {
    max-width: 700px;
    margin: var(--space-2) 0 0;
    color: var(--text-muted);
    font-size: .88rem;
    line-height: 1.5;
}

.source-chip[b-xlkhtgc9aj] {
    flex: 0 0 auto;
    color: var(--accent-ink);
}

.model-chip[b-xlkhtgc9aj] {
    color: var(--sky);
}

.official-warning-list[b-xlkhtgc9aj] {
    display: grid;
    margin-top: var(--space-4);
    gap: var(--space-4);
}

.official-warning-card[b-xlkhtgc9aj] {
    --warning-tone: var(--unknown);
    padding: clamp(20px, 3vw, 30px);
    border: 1px solid color-mix(in srgb, var(--warning-tone) 56%, var(--line-soft));
    border-left: 5px solid var(--warning-tone);
    border-radius: var(--radius);
    background: linear-gradient(130deg, color-mix(in srgb, var(--warning-tone) 10%, var(--surface)), var(--surface));
    box-shadow: var(--shadow);
}

.official-warning-card.severity-minor[b-xlkhtgc9aj] { --warning-tone: var(--caution); }
.official-warning-card.severity-moderate[b-xlkhtgc9aj] { --warning-tone: var(--attention); }
.official-warning-card.severity-severe[b-xlkhtgc9aj] { --warning-tone: var(--danger); }
.official-warning-card.severity-extreme[b-xlkhtgc9aj] { --warning-tone: var(--extreme); }

.official-warning-heading[b-xlkhtgc9aj] {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: var(--space-4);
    color: var(--warning-tone);
}

.official-warning-heading h3[b-xlkhtgc9aj] {
    margin: var(--space-2) 0 0;
    color: var(--text-strong);
    font-size: clamp(1.28rem, 3vw, 1.75rem);
    letter-spacing: -.035em;
}

.warning-badges[b-xlkhtgc9aj] {
    display: flex;
    margin: 0;
    flex-wrap: wrap;
    gap: 6px;
}

.warning-badges span[b-xlkhtgc9aj] {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid color-mix(in srgb, var(--warning-tone) 56%, transparent);
    border-radius: var(--radius-control);
    background: color-mix(in srgb, var(--warning-tone) 13%, transparent);
    color: var(--warning-tone);
    font-size: .7rem;
    font-weight: 800;
}

.warning-badges .stale-badge[b-xlkhtgc9aj] {
    border-color: var(--caution);
    color: var(--caution);
}

.official-headline[b-xlkhtgc9aj] {
    margin: var(--space-2) 0 0;
    color: var(--text);
    line-height: 1.45;
}

.warning-facts[b-xlkhtgc9aj] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: var(--space-5) 0 0;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--line-soft);
}

.warning-facts > div[b-xlkhtgc9aj] {
    min-width: 0;
    padding: var(--space-3) var(--space-4);
    background: color-mix(in srgb, var(--surface) 96%, transparent);
}

.warning-facts dt[b-xlkhtgc9aj],
.source-ledger dt[b-xlkhtgc9aj] {
    color: var(--text-muted);
    font-size: .7rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.warning-facts dd[b-xlkhtgc9aj] {
    margin: 5px 0 0;
    color: var(--text-strong);
    font-size: .88rem;
    line-height: 1.4;
}

.official-copy[b-xlkhtgc9aj],
.official-instruction[b-xlkhtgc9aj] {
    margin-top: var(--space-5);
}

.official-copy strong[b-xlkhtgc9aj],
.official-instruction strong[b-xlkhtgc9aj] {
    color: var(--text-strong);
    font-size: .86rem;
}

.official-copy p[b-xlkhtgc9aj],
.official-instruction p[b-xlkhtgc9aj] {
    margin: var(--space-2) 0 0;
    white-space: pre-line;
    line-height: 1.6;
}

.official-instruction[b-xlkhtgc9aj] {
    padding: var(--space-4);
    border: 1px solid color-mix(in srgb, var(--warning-tone) 42%, var(--line-soft));
    border-radius: var(--radius-inner);
    background: color-mix(in srgb, var(--warning-tone) 9%, transparent);
}

.official-warning-footer[b-xlkhtgc9aj] {
    display: flex;
    margin-top: var(--space-5);
    padding-top: var(--space-3);
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-2) var(--space-5);
    border-top: 1px solid var(--line-soft);
    color: var(--text-muted);
    font-size: .76rem;
}

.official-warning-footer a[b-xlkhtgc9aj] {
    margin-left: auto;
    color: var(--warning-tone);
    font-weight: 800;
}

.risk-section[b-xlkhtgc9aj],
.hourly-risk-section[b-xlkhtgc9aj],
.recommendation-section[b-xlkhtgc9aj],
.source-section[b-xlkhtgc9aj] {
    padding: clamp(20px, 3vw, 30px);
}

.risk-layout[b-xlkhtgc9aj] {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(300px, .85fr);
    margin-top: var(--space-5);
    gap: var(--space-5);
}

.risk-list[b-xlkhtgc9aj] {
    display: grid;
    align-content: start;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--line-soft);
}

.risk-row[b-xlkhtgc9aj] {
    --risk-tone: var(--unknown);
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) minmax(112px, auto);
    min-width: 0;
    padding: var(--space-3) var(--space-4);
    align-items: center;
    gap: var(--space-3);
    background: color-mix(in srgb, var(--surface) 96%, transparent);
}

.risk-row.risk-low[b-xlkhtgc9aj] { --risk-tone: var(--good); }
.risk-row.risk-watch[b-xlkhtgc9aj] { --risk-tone: var(--caution); }
.risk-row.risk-elevated[b-xlkhtgc9aj] { --risk-tone: var(--attention); }
.risk-row.risk-high[b-xlkhtgc9aj] { --risk-tone: var(--danger); }

.risk-icon[b-xlkhtgc9aj],
.recommendation-icon[b-xlkhtgc9aj] {
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid color-mix(in srgb, var(--risk-tone, var(--accent)) 62%, var(--line-soft));
    border-radius: 50%;
    background: color-mix(in srgb, var(--risk-tone, var(--accent)) 10%, var(--surface));
    color: var(--risk-tone, var(--accent));
}

.risk-copy[b-xlkhtgc9aj] {
    min-width: 0;
}

.risk-copy h3[b-xlkhtgc9aj] {
    margin: 0;
    font-size: .96rem;
}

.risk-copy p[b-xlkhtgc9aj] {
    margin: 4px 0 0;
    color: var(--text-muted);
    font-size: .75rem;
    line-height: 1.35;
}

.risk-level[b-xlkhtgc9aj] {
    display: grid;
    min-width: 108px;
    gap: 7px;
    color: var(--risk-tone);
    font-size: .78rem;
}

.risk-meter[b-xlkhtgc9aj] {
    display: grid;
    grid-template-columns: repeat(4, minmax(12px, 1fr));
    gap: 3px;
}

.risk-meter span[b-xlkhtgc9aj] {
    height: 7px;
    border-radius: 999px;
    background: var(--surface-strong);
}

.risk-meter span.is-active[b-xlkhtgc9aj] {
    background: var(--risk-tone);
}

.risk-unknown .risk-meter span[b-xlkhtgc9aj] {
    background: repeating-linear-gradient(135deg, var(--unknown-soft) 0 3px, transparent 3px 6px);
}

.coverage-card[b-xlkhtgc9aj] {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--surface);
}

.coverage-visual[b-xlkhtgc9aj] {
    position: relative;
    display: grid;
    min-height: 190px;
    padding: var(--space-5);
    place-items: end start;
    overflow: hidden;
    background:
        radial-gradient(circle at 62% 46%, color-mix(in srgb, var(--accent) 17%, transparent) 0 4px, transparent 5px),
        radial-gradient(circle at 30% 28%, color-mix(in srgb, var(--sky) 15%, transparent), transparent 42%),
        linear-gradient(145deg, var(--surface-strong), var(--page-raised));
}

.coverage-visual[b-xlkhtgc9aj]::before,
.coverage-visual[b-xlkhtgc9aj]::after {
    position: absolute;
    inset: 18px;
    border: 1px solid color-mix(in srgb, var(--sky) 18%, transparent);
    border-radius: 45% 55% 62% 38% / 48% 40% 60% 52%;
    content: "";
    transform: rotate(-8deg);
}

.coverage-visual[b-xlkhtgc9aj]::after {
    inset: 42px 30px 28px 54px;
    border-color: color-mix(in srgb, var(--accent) 22%, transparent);
    transform: rotate(12deg);
}

.coverage-shape[b-xlkhtgc9aj] {
    position: absolute;
    width: 58%;
    height: 62%;
    top: 16%;
    left: 20%;
    border: 1px solid color-mix(in srgb, var(--accent) 68%, transparent);
    border-radius: 42% 58% 33% 67% / 55% 35% 65% 45%;
    background: color-mix(in srgb, var(--accent) 14%, transparent);
    box-shadow: inset 0 0 36px color-mix(in srgb, var(--accent) 10%, transparent);
    transform: rotate(-5deg);
}

.coverage-ring[b-xlkhtgc9aj],
.coverage-marker[b-xlkhtgc9aj] {
    position: absolute;
    z-index: 2;
    top: 45%;
    left: 56%;
    border-radius: 50%;
    transform: translate(-50%, -50%);
}

.coverage-ring[b-xlkhtgc9aj] {
    width: 54px;
    height: 54px;
    border: 1px solid color-mix(in srgb, var(--accent) 48%, transparent);
}

.coverage-marker[b-xlkhtgc9aj] {
    display: grid;
    width: 25px;
    height: 25px;
    place-items: center;
    border: 3px solid var(--text-strong);
    background: var(--accent);
    box-shadow: 0 0 24px color-mix(in srgb, var(--accent) 58%, transparent);
}

.coverage-marker i[b-xlkhtgc9aj] {
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: var(--page);
}

.coverage-visual > strong[b-xlkhtgc9aj] {
    position: relative;
    z-index: 3;
    padding: 5px 9px;
    border-radius: var(--radius-small);
    background: color-mix(in srgb, var(--page) 76%, transparent);
    color: var(--text-strong);
    font-size: .9rem;
}

.coverage-copy[b-xlkhtgc9aj] {
    padding: var(--space-4);
}

.coverage-copy h3[b-xlkhtgc9aj] {
    margin: var(--space-1) 0 0;
    font-size: 1.08rem;
}

.coverage-copy > p:not(.section-label)[b-xlkhtgc9aj] {
    margin: var(--space-2) 0 0;
    color: var(--text-muted);
    font-size: .8rem;
    line-height: 1.5;
}

.coverage-copy a[b-xlkhtgc9aj] {
    margin-top: var(--space-2);
    font-size: .78rem;
}

.hourly-risk-strip[b-xlkhtgc9aj] {
    display: grid;
    grid-auto-columns: 112px;
    grid-auto-flow: column;
    margin-top: var(--space-5);
    padding: 2px 2px var(--space-3);
    gap: var(--space-2);
    overflow-x: auto;
    overscroll-behavior-inline: contain;
    scroll-snap-type: inline proximity;
}

.hour-risk-tile[b-xlkhtgc9aj] {
    --risk-tone: var(--unknown);
    display: grid;
    min-height: 192px;
    padding: var(--space-3);
    justify-items: center;
    align-content: start;
    gap: 4px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: color-mix(in srgb, var(--surface) 94%, transparent);
    scroll-snap-align: start;
    text-align: center;
}

.hour-risk-tile.risk-low[b-xlkhtgc9aj] { --risk-tone: var(--good); }
.hour-risk-tile.risk-watch[b-xlkhtgc9aj] { --risk-tone: var(--caution); }
.hour-risk-tile.risk-elevated[b-xlkhtgc9aj] { --risk-tone: var(--attention); }
.hour-risk-tile.risk-high[b-xlkhtgc9aj] { --risk-tone: var(--danger); }

.hour-risk-tile time[b-xlkhtgc9aj] {
    color: var(--text-strong);
    font-size: .85rem;
    font-weight: 800;
}

.hour-context[b-xlkhtgc9aj],
.hour-risk-tile > span:last-child[b-xlkhtgc9aj] {
    color: var(--text-muted);
    font-size: .72rem;
}

.hour-glyph[b-xlkhtgc9aj] {
    display: grid;
    width: 58px;
    height: 58px;
    margin: var(--space-1) 0;
    place-items: center;
}

.hour-glyph[b-xlkhtgc9aj]  .weather-glyph {
    width: 58px;
    height: 58px;
}

.hour-risk-bar[b-xlkhtgc9aj] {
    width: 100%;
    height: 7px;
    margin: var(--space-1) 0;
    border-radius: var(--radius-control);
    background: var(--risk-tone);
}

.hour-risk-tile.risk-unknown .hour-risk-bar[b-xlkhtgc9aj] {
    background: repeating-linear-gradient(135deg, var(--unknown) 0 3px, var(--unknown-soft) 3px 7px);
}

.hour-risk-tile strong[b-xlkhtgc9aj] {
    color: var(--risk-tone);
    font-size: .76rem;
}

.hourly-table-details[b-xlkhtgc9aj] {
    margin-top: var(--space-3);
    border-top: 1px solid var(--line-soft);
}

.hourly-table-details summary[b-xlkhtgc9aj] {
    display: flex;
    min-height: 44px;
    align-items: center;
    color: var(--text);
    cursor: pointer;
    font-size: .82rem;
    font-weight: 750;
}

.table-scroll[b-xlkhtgc9aj] {
    overflow-x: auto;
}

.table-scroll table[b-xlkhtgc9aj] {
    width: 100%;
    min-width: 650px;
    border-collapse: collapse;
    font-size: .78rem;
}

.table-scroll caption[b-xlkhtgc9aj] {
    padding: var(--space-2) 0;
    color: var(--text-muted);
    text-align: left;
}

.table-scroll th[b-xlkhtgc9aj],
.table-scroll td[b-xlkhtgc9aj] {
    padding: 10px 12px;
    border-bottom: 1px solid var(--line-soft);
    text-align: left;
}

.table-scroll th[b-xlkhtgc9aj] {
    color: var(--text-strong);
}

.hourly-unavailable[b-xlkhtgc9aj] {
    display: flex;
    min-height: 116px;
    margin-top: var(--space-5);
    padding: var(--space-4);
    align-items: center;
    gap: var(--space-4);
    border: 1px dashed var(--line);
    border-radius: var(--radius-inner);
    color: var(--unknown);
}

.hourly-unavailable strong[b-xlkhtgc9aj] {
    color: var(--text-strong);
}

.hourly-unavailable p[b-xlkhtgc9aj] {
    margin: var(--space-1) 0 0;
    color: var(--text-muted);
    font-size: .82rem;
}

.recommendation-list[b-xlkhtgc9aj] {
    margin-top: var(--space-4);
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
}

.recommendation-row[b-xlkhtgc9aj] {
    display: grid;
    grid-template-columns: 44px minmax(0, 1fr) auto;
    min-height: 72px;
    padding: var(--space-3) var(--space-4);
    align-items: center;
    gap: var(--space-4);
    border-bottom: 1px solid var(--line-soft);
    color: var(--text-strong);
    text-decoration: none;
}

.recommendation-row:last-child[b-xlkhtgc9aj] {
    border-bottom: 0;
}

a.recommendation-row:hover[b-xlkhtgc9aj] {
    background: var(--surface-soft);
}

.recommendation-icon[b-xlkhtgc9aj] {
    --risk-tone: var(--accent);
}

.recommendation-copy[b-xlkhtgc9aj] {
    display: grid;
    min-width: 0;
    gap: 3px;
}

.recommendation-copy strong[b-xlkhtgc9aj] {
    font-size: .95rem;
}

.recommendation-copy span[b-xlkhtgc9aj] {
    color: var(--text-muted);
    font-size: .8rem;
    line-height: 1.35;
}

.recommendation-row.is-unavailable[b-xlkhtgc9aj] {
    background: color-mix(in srgb, var(--unknown-soft) 35%, transparent);
    color: var(--text-muted);
}

.unavailable-label[b-xlkhtgc9aj] {
    padding: 5px 8px;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-control);
    color: var(--unknown);
    font-size: .68rem;
    font-weight: 800;
    white-space: nowrap;
}

.source-ledger[b-xlkhtgc9aj] {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin: var(--space-4) 0 0;
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--line-soft);
    border-radius: var(--radius-inner);
    background: var(--line-soft);
}

.source-ledger > div[b-xlkhtgc9aj] {
    display: grid;
    padding: var(--space-4);
    align-content: start;
    gap: var(--space-2);
    background: var(--surface);
}

.source-ledger dd[b-xlkhtgc9aj] {
    margin: 0;
    color: var(--text-muted);
    font-size: .78rem;
    line-height: 1.4;
}

.source-ledger dd:first-of-type[b-xlkhtgc9aj] {
    color: var(--text-strong);
    font-size: .9rem;
    font-weight: 750;
}

.source-ledger a[b-xlkhtgc9aj] {
    text-underline-offset: 3px;
}

.source-boundary[b-xlkhtgc9aj] {
    margin: var(--space-4) 0 0;
    padding-top: var(--space-3);
    border-top: 1px solid var(--line-soft);
    color: var(--text-muted);
    font-size: .76rem;
    line-height: 1.5;
}

@media (max-width: 820px) {
    .warning-hero[b-xlkhtgc9aj] {
        grid-template-columns: auto minmax(0, 1fr);
    }

    .warning-hero-meta[b-xlkhtgc9aj] {
        grid-column: 2;
        max-width: none;
        grid-template-columns: repeat(3, max-content);
        align-items: center;
    }

    .risk-layout[b-xlkhtgc9aj] {
        grid-template-columns: 1fr;
    }

    .coverage-card[b-xlkhtgc9aj] {
        display: grid;
        grid-template-columns: minmax(240px, .85fr) minmax(0, 1.15fr);
    }
}

@media (max-width: 620px) {
    .warnings-page[b-xlkhtgc9aj] {
        width: min(100% - 24px, 1120px);
        padding-top: var(--space-3);
    }

    .warning-hero[b-xlkhtgc9aj],
    .risk-section[b-xlkhtgc9aj],
    .hourly-risk-section[b-xlkhtgc9aj],
    .recommendation-section[b-xlkhtgc9aj],
    .source-section[b-xlkhtgc9aj] {
        margin-top: var(--space-4);
    }

    .warning-hero[b-xlkhtgc9aj] {
        grid-template-columns: 64px minmax(0, 1fr);
        min-height: 0;
        padding: var(--space-5);
        gap: var(--space-4);
    }

    .warning-hero-icon[b-xlkhtgc9aj] {
        width: 64px;
        height: 64px;
    }

    .warning-hero-copy h2[b-xlkhtgc9aj] {
        font-size: 1.55rem;
    }

    .warning-hero-meta[b-xlkhtgc9aj] {
        grid-column: 1 / -1;
        grid-template-columns: 1fr;
        gap: 6px;
    }

    .section-heading[b-xlkhtgc9aj] {
        display: grid;
    }

    .source-chip[b-xlkhtgc9aj] {
        justify-self: start;
    }

    .warning-facts[b-xlkhtgc9aj],
    .source-ledger[b-xlkhtgc9aj] {
        grid-template-columns: 1fr;
    }

    .official-warning-footer a[b-xlkhtgc9aj] {
        width: 100%;
        margin-left: 0;
    }

    .risk-section[b-xlkhtgc9aj],
    .hourly-risk-section[b-xlkhtgc9aj],
    .recommendation-section[b-xlkhtgc9aj],
    .source-section[b-xlkhtgc9aj] {
        padding: var(--space-4);
    }

    .coverage-card[b-xlkhtgc9aj] {
        display: block;
    }

    .coverage-visual[b-xlkhtgc9aj] {
        min-height: 170px;
    }

    .recommendation-row[b-xlkhtgc9aj] {
        padding-inline: var(--space-3);
        gap: var(--space-3);
    }
}

@media (max-width: 430px) {
    .warning-hero[b-xlkhtgc9aj] {
        grid-template-columns: 54px minmax(0, 1fr);
        padding: var(--space-4);
        gap: var(--space-3);
    }

    .warning-hero-icon[b-xlkhtgc9aj] {
        width: 54px;
        height: 54px;
    }

    .warning-hero-icon[b-xlkhtgc9aj]  .ui-icon {
        width: 34px;
        height: 34px;
    }

    .status-kicker[b-xlkhtgc9aj] {
        letter-spacing: .07em;
    }

    .warning-facts > div[b-xlkhtgc9aj] {
        padding: var(--space-3);
    }

    .risk-row[b-xlkhtgc9aj] {
        grid-template-columns: 44px minmax(0, 1fr);
        padding: var(--space-3);
    }

    .risk-level[b-xlkhtgc9aj] {
        grid-column: 2;
        width: 100%;
    }

    .recommendation-row[b-xlkhtgc9aj] {
        grid-template-columns: 44px minmax(0, 1fr);
    }

    .recommendation-row > :last-child[b-xlkhtgc9aj] {
        grid-column: 2;
        justify-self: start;
    }

    a.recommendation-row > :last-child[b-xlkhtgc9aj] {
        display: none;
    }
}

@media (forced-colors: active) {
    .risk-meter span.is-active[b-xlkhtgc9aj],
    .hour-risk-bar[b-xlkhtgc9aj],
    .status-pill i[b-xlkhtgc9aj] {
        background: CanvasText;
    }

    .coverage-shape[b-xlkhtgc9aj],
    .coverage-marker[b-xlkhtgc9aj] {
        forced-color-adjust: none;
    }
}
