/* Crossville-first weather dashboard. No external fonts, images or libraries. */
.weather-dashboard{padding:28px;color:#283324;font:16px/1.6 Arial,Helvetica,sans-serif;overflow-wrap:anywhere}
.weather-dashboard *{box-sizing:border-box}.weather-dashboard [hidden]{display:none!important}
.weather-dashboard a{color:#3d572d;text-underline-offset:3px}.weather-dashboard a:hover{color:#25391c}.weather-dashboard a:focus-visible,.weather-dashboard summary:focus-visible{outline:3px solid #9b7826;outline-offset:3px}
.weather-dashboard h1,.weather-dashboard h2,.weather-dashboard h3{font-family:Georgia,"Times New Roman",serif;color:#3d572d;line-height:1.25}
.weather-dashboard h1{font-size:clamp(30px,4vw,42px);margin:0 0 14px}.weather-dashboard h2{font-size:25px;margin:0 0 14px}.weather-dashboard h3{font-size:20px;margin:0 0 8px}.weather-dashboard p{margin:0 0 12px}.weather-dashboard p:last-child{margin-bottom:0}
.weather-dashboard .wx-eyebrow{font:bold 12px/1.5 Arial,Helvetica,sans-serif;letter-spacing:.07em;color:#71643a;margin:0 0 8px}.wx-page-heading{margin-bottom:24px}.wx-page-lead{max-width:70ch;color:#4d5844}.wx-page-jump,.weather-dashboard .wx-resource-link{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 14px;border:1px solid #71805d;border-radius:999px;background:#fffdf7;text-decoration:none;font-size:14px;font-weight:700}
.wx-refresh-note{font-size:13px;color:#59634e;min-height:21px}.wx-refresh-note.is-stale{color:#815522}.wx-noscript{padding:12px 15px;border-left:3px solid #aa8b43;background:#f0eddf;font-size:14px}
.wx-section-heading{display:flex;align-items:baseline;justify-content:space-between;gap:10px 18px;flex-wrap:wrap}.weather-dashboard .wx-small-link{font-size:14px;font-weight:700;min-height:44px;display:inline-flex;align-items:center}
.wx-alerts{padding:17px 20px;margin:0 0 20px;border:1px solid #d4d6c7;border-radius:10px;background:#f1f2e7}.wx-alerts.has-alerts{border-left:5px solid #b68623;background:#fff5db}.weather-dashboard .wx-alerts h2{font-size:20px;margin:0}.wx-alert-summary,.wx-alert-stale{font-size:14px}.wx-alert-stale{color:#76521e;font-weight:700}.wx-alert-card{margin:14px 0;padding:16px;border:1px solid #d8bc73;border-left:4px solid #ae7b21;border-radius:6px;background:#fffdf7}.wx-alert-card.wx-alert-critical{border-left-color:#a84432}.weather-dashboard .wx-alert-card h3{font-size:21px;margin:5px 0 9px}.wx-alert-source,.wx-alert-meta{font-size:12px;color:#665b42}.wx-alert-message{white-space:pre-line}.wx-alert-instructions{font-weight:700}.weather-dashboard .wx-alert-card summary{cursor:pointer;min-height:44px;padding:9px 0;font-weight:700;color:#3d572d}.wx-alert-card details[open] summary{margin-bottom:8px}
.wx-now{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(150px,1fr);gap:16px 24px;padding:24px;margin:0 0 28px;border:1px solid #c9cbb8;border-top:4px solid #c9a96a;border-radius:10px;background:#eeeee0}.wx-current-main{display:grid;grid-template-columns:72px minmax(0,1fr);gap:16px;align-items:center;min-width:0}.weather-dashboard .wx-now h2{font-size:19px;margin:0 0 6px}.weather-dashboard .wx-temperature{font:bold 68px/1 Georgia,"Times New Roman",serif;margin:0 0 8px;color:#354a29;white-space:nowrap}.wx-temperature span{font:24px/1 Arial,Helvetica,sans-serif;margin-left:3px}.wx-condition{font-size:18px;color:#3d4b34}.wx-weather-icon{display:block;width:48px;height:48px;color:#667a50;flex-shrink:0}.wx-current-main>.wx-weather-icon{width:72px;height:72px;color:#9a7b26}.wx-icon-clear,.wx-icon-partly-cloudy{color:#a17b1f}.wx-icon-rain,.wx-icon-snow{color:#486e86}.wx-icon-storm{color:#83603e}
/* Shape colors follow the condition classes supplied by the live NWS forecast. */
.wx-icon-clear>circle,.wx-icon-partly-cloudy>circle{fill:#ffd15c;stroke:#b87510}
.wx-icon-clear>path:not(:only-child),.wx-icon-partly-cloudy>path:nth-child(2):not(:last-child){fill:none;stroke:#b87510}
.wx-icon-clear>path:only-child,.wx-icon-partly-cloudy>path:first-child:not(:last-child){fill:#f4e3aa;stroke:#9c7c32}
.wx-icon-cloudy>path,.wx-icon-partly-cloudy>path:last-child{fill:#dce8ee;stroke:#617d91}
.wx-icon-rain>path:first-child{fill:#c6d9e7;stroke:#55758e}
.wx-icon-rain>path:last-child{fill:none;stroke:#2878a5;stroke-width:3}
.wx-icon-storm>path:first-child{fill:#8ea3b7;stroke:#465f77}
.wx-icon-storm>path:last-child{fill:#ffd15c;stroke:#a96d12}
.wx-icon-snow>path:first-child{fill:#edf5fa;stroke:#61849b}
.wx-icon-snow>path:last-child{fill:none;stroke:#4082a5;stroke-width:2.8}
.wx-icon-fog>path:first-child{fill:#e2e9ea;stroke:#748a95}
.wx-icon-fog>path:last-child{fill:none;stroke:#748a95}
.wx-icon-wind>path{fill:none;stroke:#4d8495}
.wx-icon-unknown>path:first-child{fill:#e6e8e5;stroke:#7f8c83}
.wx-icon-unknown>path:last-child{fill:none;stroke:#66756a}
.wx-observation-details{display:flex;flex-wrap:wrap;gap:16px 24px;align-content:center;margin:0;min-width:0}.wx-observation-details>div{min-width:95px}.wx-observation-details dt{font-size:13px;color:#59654e;margin-bottom:3px}.wx-observation-details dd{margin:0;font-weight:700;font-size:18px}.wx-observation-time,.wx-observation-stale{grid-column:1/-1;font-size:13px;color:#58634e}.wx-observation-stale{color:#805b25;font-weight:700}.wx-now.is-stale{border-top-color:#a69b7c}
.wx-outlook,.wx-hourly,.wx-seven-day{margin:28px 0}.wx-next-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.wx-next-card{padding:20px;background:#fffdf7;border:1px solid #d4d6c7;border-radius:10px;min-width:0}.wx-period-heading{display:flex;align-items:center;gap:15px;margin-bottom:14px}.weather-dashboard .wx-period-heading h3{margin-bottom:4px}.wx-period-temperature{font-weight:700;font-size:23px;color:#354a29}.wx-period-meta{font-size:13px;color:#59634e}.wx-source-time{font-size:12px;color:#637058;margin-top:12px!important}.wx-source-time.is-stale{color:#815522}.wx-empty{padding:18px;border:1px dashed #b8bda9;border-radius:8px;background:#fffdf7;color:#55604b}
.wx-hour-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.wx-hour{min-width:0;padding:13px 10px;border:1px solid #d4d6c7;border-radius:8px;background:#fffdf7;text-align:center}.weather-dashboard .wx-hour h3{font:700 14px/1.4 Arial,Helvetica,sans-serif;margin:0 0 8px}.wx-hour .wx-weather-icon{width:34px;height:34px;margin:0 auto 7px}.weather-dashboard .wx-hour-temperature{font-size:21px;font-weight:700;margin:0 0 6px}.weather-dashboard .wx-hour-condition{font-size:13px;line-height:1.4;margin-bottom:7px}.wx-hour-rain{font-size:12px;line-height:1.4;color:#59634e}
.wx-day-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.wx-day{min-width:0;padding:16px;background:#fffdf7;border:1px solid #d4d6c7;border-radius:9px}.weather-dashboard .wx-day h3{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:5px;margin-bottom:12px;font-size:19px}.wx-day h3>.wx-day-date{font:12px/1.4 Arial,Helvetica,sans-serif;color:#66715c}.wx-day-periods{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.wx-day-period{min-width:0;font-size:13px;line-height:1.45}.wx-day-period+.wx-day-period{border-left:1px solid #e0e0d4;padding-left:12px}.weather-dashboard .wx-day-label{font-weight:700;color:#637058;margin-bottom:7px}.wx-day .wx-weather-icon{width:32px;height:32px;margin:0 0 7px}.weather-dashboard .wx-day-temperature{font-size:20px;font-weight:700;margin-bottom:7px}.weather-dashboard .wx-day-period .wx-period-meta{font-size:12px;margin-top:8px}.wx-data-credit{border-top:1px solid #d4d6c7;padding-top:18px;font-size:13px;color:#5a6651}
.weather-dashboard .wx-alert-message{white-space:pre-line!important}
.weather-resources{border-top:1px solid #d4d6c7;margin-top:28px;padding-top:25px}.wx-resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px}.wx-resource-card{display:flex;flex-direction:column;min-width:0;padding:18px;background:#fffdf7;border:1px solid #d4d6c7;border-radius:9px}.wx-resource-heading{display:grid;grid-template-columns:80px minmax(0,1fr);gap:12px;align-items:center;margin-bottom:12px}.weather-dashboard .wx-resource-heading h3{font-size:19px;margin:0}.wx-resource-logo{display:block;width:80px!important;height:48px!important;object-fit:contain;background:#fff;border-radius:4px}.wx-resource-logo-dark{background:#182848;padding:5px 0}.wx-resource-card>p{flex:1;font-size:14px;color:#55604b}.weather-dashboard .wx-resource-link{align-self:flex-start;margin-top:4px}
@media(max-width:1000px){.wx-day-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wx-now{grid-template-columns:1fr}.wx-observation-details{gap:14px 25px}}
@media(max-width:760px){.weather-dashboard{padding:22px 16px}.weather-dashboard h2{font-size:24px}}
@media(max-width:600px){.wx-next-grid,.wx-resource-grid{grid-template-columns:1fr}.wx-hour-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.wx-now{padding:20px}.wx-current-main{grid-template-columns:60px minmax(0,1fr);gap:12px}.wx-current-main>.wx-weather-icon{width:60px;height:60px}.weather-dashboard .wx-temperature{font-size:62px}.wx-alerts{padding:15px}.weather-dashboard .wx-alerts h2{font-size:19px}.wx-next-card{padding:17px}.wx-section-heading{gap:0 12px}}
@media(max-width:540px){.wx-day-grid{grid-template-columns:1fr}.wx-day{padding:17px}.wx-day-periods{gap:16px}.wx-day-period+.wx-day-period{padding-left:16px}.weather-dashboard .wx-day h3{font-size:21px}.wx-day-period{font-size:14px}}
@media(max-width:380px){.wx-hour-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.wx-observation-details>div{min-width:85px}.wx-resource-heading{grid-template-columns:68px minmax(0,1fr);gap:10px}.wx-resource-logo{width:68px!important}.weather-dashboard .wx-temperature{font-size:56px}}
