.dw-hero { margin: 0 0 1.6rem; }
.dw-hero img { width: 100%; max-width: 720px; border-radius: var(--radius); }
.dw-fig { margin: 2rem 0; font-family: var(--font-body); max-width: 68ch; }
.dw-fig figcaption { font-size: .84rem; color: var(--ink-soft); padding-top: .6rem; }
.dw-fig svg { display: block; width: 100%; height: auto; }
.dw-title { font-family: var(--font-display); font-size: 1.12rem; font-weight: 500; margin: 0 0 .7rem; color: var(--ink); }
.dw-src { font-size: .8rem; white-space: nowrap; }
.dw-chart svg { max-width: 460px; }
.dw-timeline svg { max-width: 500px; }
.dw-plan svg { max-width: 480px; }
.dw-power svg { max-width: 540px; }
.dw-pic img { width: 100%; max-width: 640px; border-radius: var(--radius); }
.dw-walk svg { max-width: 600px; border-radius: var(--radius); }
.dw-legend { list-style: none; margin: 1rem 0 0; padding: 0; display: grid; gap: .55rem; font-size: .95rem; line-height: 1.5; }
.dw-legend li { display: flex; gap: .7rem; align-items: baseline; }
.dw-n { flex: none; display: inline-grid; place-items: center; width: 1.45rem; height: 1.45rem; border-radius: 50%; background: var(--gum); color: var(--paper); font-weight: 700; font-size: .8rem; transform: translateY(.1rem); }
@supports (stroke-dashoffset: 0) {
.dw-wind path { stroke-dasharray: 3 7; animation: dw-gust 6s linear infinite; }
.dw-overflow { animation: dw-pulse 3.2s var(--ease) infinite; }
}
@keyframes dw-gust { to { stroke-dashoffset: -60; } }
@keyframes dw-pulse { 0%, 100% { opacity: 1; } 50% { opacity: .45; } }
@media (prefers-reduced-motion: reduce) {
.dw-wind path { animation: none !important; stroke-dasharray: none; }
.dw-overflow { animation: none !important; opacity: 1; }
}
.dw-checklist ul { list-style: none; margin: 0; padding: 1.1rem 1.3rem; background: var(--sage-tint); border-left: 3px solid var(--sage); border-radius: 0 var(--radius) var(--radius) 0; }
.dw-checklist li { display: flex; flex-wrap: wrap; align-items: baseline; gap: .2rem .6rem; padding: .35rem 0; font-size: .97rem; }
.dw-checklist label { display: flex; gap: .6rem; align-items: baseline; cursor: pointer; flex: 1 1 14rem; }
.dw-checklist input { width: 1.05rem; height: 1.05rem; accent-color: var(--gum); flex: none; transform: translateY(.15rem); }
.dw-checklist input:checked + span { color: var(--ink-soft); text-decoration: line-through; text-decoration-color: var(--sage); }
.dw-warn-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1rem; align-items: end; }
.dw-ladder { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .4rem; align-items: end; }
.dw-ladder li { display: flex; flex-direction: column; justify-content: flex-start; gap: .5rem; padding: .7rem .65rem; border-radius: var(--radius) var(--radius) 0 0; background: #fff; border: 1px solid var(--hairline); border-bottom: 0; font-weight: 600; font-size: .92rem; line-height: 1.25; }
.dw-ladder .dw-l1 { min-height: 5.2rem; }
.dw-ladder .dw-l2 { min-height: 7.4rem; }
.dw-ladder .dw-l3 { min-height: 9.6rem; }
.dw-chip { display: block; width: 100%; height: .55rem; border-radius: 3px; }
.dw-l1 .dw-chip { background: #F2C200; }
.dw-l2 .dw-chip { background: #E8822A; }
.dw-l3 .dw-chip { background: #C8262F; }
.dw-side { margin: 0; padding: .8rem .95rem; background: var(--morning); border-radius: var(--radius); font-size: .93rem; line-height: 1.5; }
.dw-bar { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: .6rem; margin-top: .6rem; padding: .8rem .95rem; background: var(--gum-deep); color: var(--paper); border-radius: var(--radius); font-size: .9rem; }
.dw-bar p { margin: 0; }
.dw-bar span { display: block; font-size: .78rem; opacity: .85; }
.dw-bar strong { font-family: var(--font-display); font-size: 1.35rem; font-weight: 500; letter-spacing: .02em; }
@media (max-width: 640px) {
.dw-warn-grid { grid-template-columns: 1fr; }
.dw-bar { grid-template-columns: 1fr 1fr; }
.dw-bar p:first-child { grid-column: 1 / -1; }
}
.dw-card { background: #fff; border: 1px solid var(--hairline); border-top: 3px solid var(--gum); border-radius: var(--radius); padding: 1.1rem 1.2rem 1rem; max-width: 72ch; }
.dw-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.2rem; }
.dw-cols h3 { margin: 0 0 .5rem; font-size: 1.15rem; color: var(--gum-deep); }
.dw-cols ul { list-style: none; margin: 0; padding: 0; }
.dw-cols li { padding: .4rem 0; border-top: 1px solid var(--hairline); font-size: .9rem; line-height: 1.45; }
.dw-cols li .dw-src { display: block; margin-top: .15rem; white-space: normal; }
.dw-foot { margin: 1rem 0 0; padding-top: .8rem; border-top: 1px solid var(--hairline); font-family: var(--font-display); font-size: 1.05rem; }
.dw-foot .dw-src { font-family: var(--font-body); margin-left: .4rem; }
@media (max-width: 700px) { .dw-cols { grid-template-columns: 1fr; } }
.refs a { overflow-wrap: anywhere; }
@media print {
.dw-card { border-color: #999; }
.dw-wind path, .dw-overflow { animation: none !important; }
}