.st-fig { margin: 2.2rem 0; }
.st-fig a { overflow-wrap: anywhere; }
.st-fig .cap { font-size: .8rem; color: var(--ink-soft); margin: .6rem 0 0; }
.st-fig .cap.src { margin-top: .35rem; }
.st-tab-head { font-family: var(--font-display); font-weight: 620; font-size: 1.15rem; margin: 0 0 .8rem; }
.en-foot { margin: 1.1rem 0 0; padding: .75rem .9rem; font-size: .9rem; line-height: 1.4; background: var(--paper-shade); border-radius: 6px; }
.hw-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.article .foot-refs a, .article p a { overflow-wrap: anywhere; }
.article .pic { margin: 0 0 2.2rem; }
.article .pic img { width: 100%; height: auto; }
.hw-strip + .hw-strip { margin-top: 1.4rem; }
.hw-sh { font-family: var(--font-display); font-weight: 620; font-size: 1.05rem; margin: 0 0 .5rem; }
.hw-panels { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 3px; border-radius: 8px; overflow: hidden; }
.hw-p { margin: 0; padding: .55rem .2rem .6rem; text-align: center; --dx: 1.4rem; }
.hw-p--day { background: #F2C98F; color: var(--ink); }
.hw-p--night-hot { background: #C98A5A; color: var(--ink); }
.hw-p--night-cool { background: #4F6880; color: #fff; }
.hw-ico { position: relative; display: block; height: 2.3rem; }
.hw-x, .hw-y { position: absolute; left: 50%; top: .15rem; display: block; }
.hw-y { left: 0; top: 0; }
.hw-sun, .hw-moon { display: block; width: 1.15rem; height: 1.15rem; margin-left: -.575rem; border-radius: 50%; }
.hw-sun { background: #E8B04A; box-shadow: 0 0 0 3px rgb(255 255 255 / .45); }
.hw-moon { background: transparent; box-shadow: inset -.32rem -.12rem 0 0 #F9F5EE; transform: rotate(-20deg); }
.hw-p--night-hot .hw-moon { box-shadow: inset -.32rem -.12rem 0 0 #FCEFD6; }
.hw-pl { display: block; font-weight: 700; font-size: .85rem; line-height: 1.2; }
.hw-sc { margin: .45rem 0 0; font-size: .88rem; color: var(--ink-soft); }
@media (max-width: 560px) { .hw-p { --dx: .8rem; } .hw-pl { font-size: .72rem; } .hw-sun, .hw-moon { width: .95rem; height: .95rem; margin-left: -.475rem; } }
@keyframes hw-x {
0% { transform: translateX(calc(var(--dx) * -1)); opacity: 0; }
10% { opacity: 1; }
78% { transform: translateX(var(--dx)); opacity: 1; }
86% { transform: translateX(var(--dx)); opacity: 0; }
87% { transform: translateX(0); opacity: 0; }
100% { transform: translateX(0); opacity: 1; }
}
@keyframes hw-y {
0% { transform: translateY(1rem); animation-timing-function: cubic-bezier(.2, .7, .4, 1); }
39% { transform: translateY(0); animation-timing-function: cubic-bezier(.6, 0, .8, .3); }
78% { transform: translateY(1rem); }
87% { transform: translateY(0); }
100% { transform: translateY(0); }
}
.hw-tl.pending.in .hw-x { animation: hw-x 1.5s linear both; animation-delay: calc(var(--i) * .45s + .5s); }
.hw-tl.pending.in .hw-y { animation: hw-y 1.5s both; animation-delay: calc(var(--i) * .45s + .5s); }
@media (prefers-reduced-motion: reduce) { .hw-x, .hw-y { animation: none !important; } }
.hw-key { display: flex; flex-wrap: wrap; gap: .4rem 1.2rem; margin: 0 0 .9rem; font-size: .85rem; font-weight: 700; }
.hw-k::before { content: ""; display: inline-block; width: .8rem; height: .8rem; margin-right: .4rem; border-radius: 50%; vertical-align: -.05rem; }
.hw-k--min::before { background: #4F6880; }
.hw-k--max::before { background: #B8743F; }
.hw-db { list-style: none; margin: 0; padding: 0; display: grid; gap: .3rem; }
.hw-db li, .hw-axis { display: grid; grid-template-columns: 5.6rem minmax(0, 1fr); align-items: center; gap: .6rem; margin: 0; }
.hw-m { font-weight: 700; font-size: .92rem; }
.hw-tr { position: relative; display: block; height: 2.6rem; background: linear-gradient(to right, var(--hairline) 0 0) left 50% / 100% 1px no-repeat; }
.hw-bar { position: absolute; top: calc(50% - 3px); height: 6px; border-radius: 3px; background: linear-gradient(90deg, #4F6880, #B8743F); }
.hw-dot { position: absolute; top: 50%; width: 1rem; height: 1rem; margin: -.5rem 0 0 -.5rem; border-radius: 50%; border: 2px solid var(--paper); }
.hw-dot--min { background: #4F6880; }
.hw-dot--max { background: #B8743F; }
.hw-v { position: absolute; top: 50%; transform: translateY(-50%); white-space: nowrap; font-weight: 700; font-size: .86rem; }
.hw-dot--min .hw-v { right: calc(100% + .35rem); color: #3E5368; }
.hw-dot--max .hw-v { left: calc(100% + .35rem); color: var(--accent-ink); }
.hw-axis { margin: .1rem 0 0; }
.hw-ticks { position: relative; display: block; height: 1.1rem; border-top: 1px solid var(--hairline); }
.hw-ticks span { position: absolute; top: .15rem; transform: translateX(-50%); font-size: .72rem; color: var(--ink-soft); }
.hw-ticks span.hw-tlast { transform: translateX(-100%); white-space: nowrap; }
@media (max-width: 560px) { .hw-db li, .hw-axis { grid-template-columns: 4.4rem minmax(0, 1fr); gap: .4rem; } .hw-m { font-size: .82rem; } .hw-v { font-size: .78rem; } .hw-ticks .hw-odd { display: none; } }
.table-fig .spec-table { margin: .6rem 0 0; }
.table-fig .spec-table th[scope="row"] { vertical-align: top; font-weight: 700; font-size: .95rem; letter-spacing: 0; text-transform: none; color: var(--ink); border-bottom: 1px solid var(--hairline); padding: .7rem .8rem; white-space: nowrap; }
.hw-pips { display: inline-flex; gap: 2px; margin-right: .5rem; vertical-align: .05rem; }
.hw-pips i { display: block; width: .42rem; height: .9rem; border-radius: 1px; background: var(--hairline); }
.hw-pips i.on { background: var(--accent-ink); }
.hw-lv--3 .hw-pips i.on { background: var(--primary); }
.hw-levels td.hw-wy { font-weight: 700; color: var(--primary); }
.hw-levels td.hw-wn { color: var(--ink-soft); }
@media (max-width: 640px) {
.spec-table.stack thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.spec-table.stack, .spec-table.stack tbody, .spec-table.stack tr, .spec-table.stack th, .spec-table.stack td { display: block; width: 100%; }
.spec-table.stack tr { padding: .6rem 0; border-bottom: 1px solid var(--hairline); }
.spec-table.stack th[scope="row"], .spec-table.stack td { border: 0; padding: .15rem 0; }
.spec-table.stack td[data-label]::before { content: attr(data-label); display: block; font-size: .72rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--ink-soft); margin-top: .35rem; }
}
.hw-tool { padding: 1.3rem 1.3rem 1rem; background: var(--light-wash); border-left: 4px solid var(--accent-ink); border-radius: 0 var(--radius) var(--radius) 0; }
.hw-f { display: block; max-width: 18rem; }
.hw-f span { display: block; font-weight: 700; font-size: .9rem; margin-bottom: .35rem; }
.hw-f select { width: 100%; font: inherit; font-size: 1rem; padding: .55rem .7rem; border: 1px solid var(--hairline); border-radius: 6px; background: var(--paper); color: var(--ink); }
.hw-f select:focus-visible { outline: 2px solid var(--primary); outline-offset: 2px; }
.hw-out { margin-top: 1rem; }
.hw-out p { margin: 0 0 .5rem; line-height: 1.45; }
.hw-out .hw-q { font-size: .76rem; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--ink-soft); }
.hw-out .hw-r { font-family: var(--font-display); font-weight: 620; font-size: 1.2rem; line-height: 1.3; color: var(--ink); }
.hw-days { list-style: none; margin: .8rem 0 .9rem; padding: 0; display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 4px; }
.hw-c { margin: 0; padding: .5rem .3rem; min-height: 4.2rem; background: var(--paper); border-radius: 6px; text-align: center; }
.hw-cd { display: block; font-weight: 700; font-size: 1rem; }
.hw-cn { display: block; margin-top: .2rem; font-size: .72rem; line-height: 1.25; }
.hw-c--issue { background: var(--primary-deep); color: var(--paper); }
.hw-c--last { background: var(--accent-ink); color: var(--paper); }
.hw-out .hw-end { margin: 0; padding-top: .6rem; border-top: 1px solid var(--hairline); font-size: .88rem; color: var(--ink-soft); }