.wn {
    --wn-primary: #0172a8;
    --wn-primary-ink: #015b86;
    --wn-accent: #f59e0b;
    --wn-water: #0085d8;

    --wn-fg: #0f172a;

    --wn-fg-muted: #475569;

    --wn-icon: #7d9cb2;

    --wn-surface: #fff;
    --wn-border: #e2ecf3;
    --wn-border-soft: #edf3f7;

    --wn-sky-1: #eaf5fd;
    --wn-sky-2: #f8fcff;

    --wn-s1: 4px;
    --wn-s2: 8px;
    --wn-s3: 12px;
    --wn-s4: 16px;

    --wn-radius: 14px;
    --wn-radius-sm: 9px;
    --wn-ease: 180ms cubic-bezier(.2, 0, .2, 1);
    --wn-open: 260ms cubic-bezier(.2, 0, .2, 1);
}

.weather-now.wn {
    box-sizing: border-box;
    inline-size: 100%;
    max-inline-size: min(100%, calc(100vw - 24px));
    margin-inline: 0;
    overflow: hidden;
    line-height: 1.4;
    margin-bottom: 10px;
}

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

.wn .tooltip {
    top: 0;
}

.wn__grid {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
    align-items: start;
    gap: 20px;
    min-width: 726px;
}

.wn__panel {
    padding: 0;
    margin-left: 0;
}

.wn :focus-visible {
    outline: 2px solid var(--wn-primary);
    outline-offset: 2px;
    border-radius: var(--wn-radius-sm);
}

.wn__panel--stats {
    grid-area: 1 / 2 / 2 / 3;
}

.wn__panel--astro {
    grid-area: 1 / 3 / 2 / 4;
}

.wn__hero {
    grid-area: 1 / 1 / 2 / 2;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0;
    padding: 15px 0 0 0;
    /* border: 1px solid #eaeaea; */
    border-radius: 2px;
}

.wn__meta {
    display: flex;
    align-items: center;
    gap: 4px;
    flex-wrap: wrap;
    transform: translate(0, -13px);
    background-color: #fff5e6;
    width: calc(100%);
    padding: 4px 10px;
    border-radius: 2px;
    box-sizing: border-box;
    /* height: 21px; */
}

.wn__clock {
    display: inline-flex;

}

.wn__clock svg {
    inline-size: 13px;
    block-size: 13px;
}

.wn__time {
    font-size: 12px;
    font-weight: 400;
    white-space: nowrap;
}

.wn .water-now {
    position: static;
    display: inline-flex;
    align-items: center;
    gap: 3px;
    inline-size: auto;
    block-size: auto;
    min-block-size: 20px;
    margin-inline-start: auto;

    overflow: visible;
    border-radius: 999px;

    color: var(--wn-water);
    font-size: 12px;

    line-height: 1.3;
    text-indent: 0;
    white-space: nowrap;
    cursor: pointer;

}

.wn .water-now svg {
    position: static;

    width: 13px;
    margin-right: 1px;
}

.wn .water-now:hover svg {
    fill: var(--wn-water);
}

.wn__reading {
    display: flex;
    align-items: center;
    gap: 0;
    transform: translateY(-4px);
}

.wn__temp {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    gap: 1px;
    min-inline-size: 0;
}

.wn__temp-line {
    display: flex;
    align-items: center;
    gap: 6px;
    /* background-color: #fafafa; */
    flex-wrap: nowrap;
    padding-top: 15px;
    transform: translateY(-10px);
    /* border: 1px solid #f1f1f1; */
    /* border-top: none; */
    padding-left: 15px;
    /* padding-bottom: 8px; */
}

.wn #weather-now-number {
    position: static;
    display: flex;
    float: none;
    align-items: flex-start;
    gap: 1px;
    inset: auto;
    inline-size: auto;
    margin: 0;
    overflow: visible;
    font-size: 40px;
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.02em;
}

.wn #weather-now-number .deg {
    position: relative;
    inset: auto;
    font-size: 18px;
    line-height: 1;
    top: 3px;
    left: 0px;
}

.wn__feels {font-size: 14px;white-space: nowrap;color: #616161;display: flex;}

.wn__feels b {
    color: #000;
    font-weight: 400;
}

.wn__condition {
    font-size: 14px;
    line-height: 17px;
}

.wn #weather-now-icon {
    position: static;
    flex: 0 0 auto;
    float: none;
    display: block;
    inline-size: 48px;
    block-size: 48px;
    /* margin: 0 2px; */
    transform: scale(1) translateY(3px);
}

.weather-now.horizon.wn #weather-now-description {
    float: none;
    inline-size: auto;
    margin: 0;
    overflow: visible;
    margin-left: 0 !important;
    width: auto;
}

.wn #weather-now-description dl {
    display: grid;
    grid-template-columns: 1fr;
    block-size: auto;
    margin: 0;
    overflow: visible;
    transform: translateY(2px);
}

.wn .wn__row {
    display: flex;
    align-items: center;
    gap: var(--wn-s2);
    padding: 5px 6px;

    height: 21px;
    overflow: hidden;
    transition:
        height var(--wn-open),
        padding-block var(--wn-open),
        border-block-end-width var(--wn-open),
        opacity 160ms linear,
        content-visibility var(--wn-open);

    transition-behavior: allow-discrete;
}

.wn .wn__row[hidden] {
    height: 0;
    padding-block: 0;
    border-block-end-width: 0;
    opacity: 0;
}

.wn #weather-now-description .wn__row dt {
    display: flex;
    flex: 1 1 auto;
    float: none;
    align-items: center;
    gap: var(--wn-s2);
    inline-size: auto;
    min-inline-size: 0;
    block-size: auto;
    overflow: visible;
    background: none;
    color: #616161;
    font-size: 13px;
    line-height: 1.3;
}

.wn #weather-now-description .wn__row dt span {
    padding: 0;
    background: none;
}

.wn #weather-now-description .wn__row dd {
    position: static;
    inline-size: auto;
    block-size: auto;
    margin: 0 0 0 auto;
    padding: 0;
    overflow: visible;

    font-size: 13px;

    line-height: 1.3;
    text-align: end;
    white-space: nowrap;
}

.wn__ico {
    flex: 0 0 17px;
    inline-size: 15px;
    block-size: 15px;
    color: #616161;
}

.wn__ico.pressure_icon {
    height: 13px;
    fill: #616161;
    transform: translateY(0);
}
.wn__ico.humidity_icon {
    height: 13px;
    fill: #616161;
}
.wn__ico.temperature_icon {
    block-size: 14px;
}

.weather-now.wn .wwi {
    position: relative;
    top: 2px;
    display: inline-block;
    margin: 0 0 0 4px;
}

.wn__panel--stats:not(:has(.wn__row--more)) .wn__more {
    display: none;
}

.wn__more {
    display: inline-flex;
    align-items: center;
    gap: 0;
    margin: 0;
    padding: 1px 3px;
    border: 0;
    background: none;
    cursor: pointer;
    transform: translate(6px, 5px);
}

.wn__more-ico {

    flex-shrink: 0;
    transition: transform var(--wn-ease);
    width: 18px;
    position: relative;
    top: 1px;
}

.wn__more[aria-expanded='true'] .wn__more-ico {

    transform: rotate(180deg);
    top: 0;
}

.wn .wn__astro {
    display: grid;
    grid-template-columns: 1fr;
    margin: 0;
    list-style: none;
    overflow: visible;
    transform: translateY(2px);
}

.wn .wn__astro li {
    display: flex;
    align-items: center;
    gap: var(--wn-s2);
    block-size: auto;
    margin: 0;
    padding: 5px 6px;

    font-size: 13px;
    line-height: 1.3;
    white-space: normal;
    height: 21px;
}

.wn__astro li:nth-child(odd), .wn .wn__row:nth-child(odd) {
  background: #FAFAFA;
  border-radius: 2px;
}

.wn .wn__astro li span {
    margin: 0;
    color: #616161;
    font-size: 13px;
    white-space: nowrap;
}

.wn .wn__astro .wn__val {
    margin-inline-start: auto;
    padding-inline-start: var(--wn-s2);
    font-style: normal;
    font-weight: 400;
    text-align: end;
    white-space: nowrap;
    text-overflow: ellipsis;
    color: #000;
}

.wn .wn__astro b.wn__val {
    white-space: nowrap;
}

.wn .wn__astro .wn__ico {
    flex-basis: 18px;
    inline-size: 15px;
    block-size: 17px;
}
.wn .wn__astro .wn__ico.day-light-i {
    height: 15px;
}

/* .hourly-item:after {
    content: none;
} */

.hourly-item--pop .hourly-item-icon {
    flex-shrink: 0;
    transform: translateY(-9px) scale(.8);
}
.hourly-item-temp {
    transform: translateY(1px);
}
.hourly-item-pop {
    display: inline-flex;
    flex-shrink: 0;
    align-items: center;
    height: 14px;
    margin-top: -14px;
    font-size: 11px;
    line-height: 14px;
    color: #1976D2;
    transform: translateY(-1px);
}

.wn #weather-now-icon.d000, 
.wn #weather-now-icon.n000, 
.wn #weather-now-icon.d100, 
.wn #weather-now-icon.n100 {
    transform: none;
}

.hourly-box {
    margin-top: 10px;
    border: none;
    border-top: 1px solid #f1f1f1;
    border-radius: 0;
    margin-bottom: -10px;
    /* border-bottom: 1px solid #f1f1f1; */
}

.hourly-summary {
    padding: 5px 10px;
    margin-top: 10px;
    background-color: #fafafa;
    border-radius: 0 0 2px 2px;
    font-size: 13px;
    text-align: center;
    line-height: 16px;
    min-height: 16px;
    margin-bottom: 25px;
    border: none;
    transform: translateY(0);
}

body:not(:has(.warning)) .hourly-summary {
    margin-bottom: 25px;
}

body:has(.ww-city-metar-info) .hourly-summary {
    margin-bottom: 45px;
}
body:has(.hourly-summary) .ww-city-metar-info {
    margin-top: -20px;
    margin-bottom: 25px;
}
.forecast-updated.cls {
    transform: translateY(2px);
}
@media (prefers-reduced-motion: reduce) {

    .wn *,
    .wn *::before,
    .wn *::after {
        animation: none !important;
        transition: none !important;
    }
}

@media (forced-colors: active) {
    .wn {
        border: 1px solid CanvasText;
    }

    .wn .wn__row,
    .wn .wn__astro li {
        border-block-end: 1px solid CanvasText;
    }

    .wn__ico {
        color: CanvasText;
    }

}

@media print {
    .wn {
        box-shadow: none;
    }

    .wn__more {
        display: none;
    }
}