/* Website-only dashboard finish. Not loaded by any graphic renderer. */
body{background:#f3f6f8;color:#1c384c}
.graphics-shortcut{display:flex;align-items:center;justify-content:space-between;gap:22px;margin:42px 0;padding:23px 26px;background:#fff;border:1px solid #d4e1e8;border-radius:10px;scroll-margin-top:100px}.graphics-shortcut h2{font-size:22px;font-weight:650;letter-spacing:-.03em;margin:0 0 7px}.graphics-shortcut p{font-size:12px;color:#627e90;line-height:1.7;max-width:670px;margin:0}.graphics-shortcut>a{display:inline-flex;align-items:center;justify-content:center;gap:14px;min-height:44px;flex-shrink:0;padding:10px 15px;border-radius:7px;background:#17394e;color:#fff;font-size:12px;font-weight:550}
@media(max-width:600px){.graphics-shortcut{margin:30px 0;padding:21px;align-items:flex-start;flex-direction:column;gap:16px}.graphics-shortcut h2{font-size:21px}.graphics-shortcut p{font-size:12px}.graphics-shortcut>a{width:100%;justify-content:space-between}}
.site-header{height:80px;background:#fff;backdrop-filter:none;border-bottom-color:#dce5eb;box-shadow:none}
.site-header .brand img{width:170px;height:62px}
.site-header nav{gap:28px}.site-header nav a{font-size:13px;font-weight:550;color:#587082}.site-header nav a.active{color:#146f7c}
.header-actions .app-button{border-radius:7px;background:#17394e;min-height:44px;font-size:12px;box-shadow:none}
.header-actions .app-button:hover{background:#24566b}
.page{--card-gap:18px;--section-gap:42px}
.page .welcome{padding:26px 0 18px;gap:20px;align-items:center}
.page .welcome h1{font-size:32px;font-weight:700;letter-spacing:-.04em}
.welcome-tools{display:flex;align-items:center;gap:18px}.date-label{font-size:12px;color:#657e8f}
.location-button{background:#fff;border-color:#d2e0e7;border-radius:8px;min-height:44px;font-weight:550;box-shadow:none}
.location-button:hover{border-color:#8cb9c4;box-shadow:none}.location-tools{gap:8px}
.location-status{font-size:12px;color:#5d788a;overflow-wrap:anywhere}
/* Successful refresh announcements remain available to screen readers. Only
   the redundant visual confirmation is removed; failures stay on the page. */
.location-status:is([data-state=ready],[data-state=refreshing]){position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.location-status[data-state=error]{padding:12px 14px;background:#fff8ee;border:1px solid #e8d5b5;border-radius:8px;color:#775522}
.page .weather-shortcuts{display:none}
.weather-grid{align-items:start}
.conditions-card,.briefing-card,.hourly-card,.detail-card,.map-workspace{box-shadow:0 2px 8px #17394e04;border-color:#d5e1e8;border-radius:12px}
.conditions-hero{padding:22px 26px;background:#17394e}
.conditions-card .conditions-main{margin-top:16px;row-gap:8px}
.conditions-card .conditions-main h2{font-size:25px;letter-spacing:-.03em}
.conditions-card .conditions-metrics{padding:4px 26px}.conditions-card .conditions-metrics>div{padding-top:14px;padding-bottom:14px}
.conditions-card .conditions-metrics dd{font-size:18px;font-weight:600}.conditions-card .conditions-metrics dt{font-size:11px}
.conditions-card .conditions-next{padding:12px 26px;background:#f5f9fb}.conditions-card .conditions-bottom{padding:14px 26px;margin-top:0}
.conditions-card .unit-toggle button,.conditions-card .conditions-bottom button{min-height:44px}
.briefing-heading{padding:20px 22px 17px}.briefing-heading h2{font-size:19px;font-weight:650}
.briefing-body{padding:19px 22px 22px}.briefing-body h3{font-size:19px;font-weight:650}.briefing-body p{font-size:13px;line-height:1.65;margin:9px 0 12px}
.briefing-body .text-link{min-height:44px;display:inline-flex;align-items:center;font-size:12px}.source-chip{font-size:9px;border-radius:4px;letter-spacing:.03em}
.detail-card{padding:20px 22px}.detail-card-heading{margin-bottom:15px}.detail-values strong{font-weight:600}
.page>:is(.forecast-section,.graphics-section,.maps-section,.learn-section)>.section-heading:first-child{margin-bottom:18px}
.section-heading h2{font-size:26px;font-weight:700;letter-spacing:-.035em}.section-subtitle{margin-top:5px;color:#60798b}
.daily-heading{margin:28px 0 16px}.hourly-card{padding:22px 24px 16px}.hourly-navigation button{width:44px;height:44px}
.day-card{border-radius:9px}.day-card:first-child{background:#f0f7f9}.day-card:hover{transform:none;box-shadow:none}
.graphic-filters{background:#fff;border-color:#d6e2e9;border-radius:8px;gap:2px;padding:3px}
.graphic-filters button{border-radius:5px;font-weight:550;color:#526e80}
.graphic-filters button.selected{background:#17394e;color:#fff;box-shadow:none}
.graphic-filter-count{background:#eef3f6;color:#5f7a8b;border-radius:4px}.selected .graphic-filter-count{background:#ffffff1c;color:#ecf6fa}
.graphics-selection select,.tropical-filters select,.regional-product-label select{border-color:#cedee6;border-radius:6px;background:#fff}
.graphic-group-heading{border-bottom-color:#cfdde5}.graphic-group-heading h3{font-size:18px;font-weight:650}
.graphic-group-count{border:0;border-radius:4px;background:#e7eef3;font-size:10px;padding:5px 8px;color:#526f82}
.graphic-card{border-color:#d5e1e8;border-radius:9px;box-shadow:none;transition:border-color .15s}
.graphic-card:hover{transform:none;border-color:#8caebf;box-shadow:none}
.graphic-card-body{padding:12px 14px}.graphic-card-title{font-weight:650}.graphic-card-actions{margin-top:auto;gap:8px}
.graphic-view{font-weight:600;color:#216b7d}.graphic-download{background:#f1f6f8;border-color:#d5e3ea;color:#36677d}
.graphic-download:hover{background:#e6f0f4}.graphic-subgroup-name{font-weight:650}.graphic-regional-group{margin-top:24px}
.graphic-dialog[open]{box-shadow:0 16px 64px #061e4150}.tropical-advisory-details{border-color:#d5e1e8;border-radius:9px}
.graphics-note{font-size:11px;line-height:1.7;margin-top:24px}.graphics-note summary{display:flex;align-items:center;gap:8px;min-height:44px;width:fit-content;cursor:pointer;font-weight:550;color:#466b80}
.graphics-note p{margin:6px 0 10px;max-width:850px}.graphics-note .guidance-note{margin:0;color:#657e8f}
.map-sidebar{background:#f7fafb;padding:20px 16px}.collection-tabs{gap:6px}
.collection-tabs button{min-height:58px;border-color:transparent;background:transparent;border-radius:7px;box-shadow:none}
.collection-tabs button:hover{background:#edf3f6}.collection-tabs button.selected{background:#e8f2f5;border-color:#bfd5df;color:#216278}
.collection-tabs .collection-icon{color:#487990}.map-panel-head{min-height:78px;padding:17px 22px}.map-panel-head h3{font-size:19px;font-weight:650}
.map-quick-controls{border-radius:7px;padding:3px}.map-quick-controls button{min-height:44px;border-radius:4px;padding:9px 12px}
.map-day-tabs,.product-options{gap:5px}.map-day-tabs button,.product-options button{border-radius:5px;font-weight:550}
.map-risk-area{border-radius:6px;box-shadow:none}.map-description summary{min-height:44px}
.app-section{border-radius:12px;background:#eaf2f5;border-color:#cddfe7;box-shadow:none}.app-icon-wrap{box-shadow:none}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-header{display:grid;grid-template-columns:22px minmax(0,1fr) auto;gap:12px;padding:10px 18px}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-mark{margin:0;align-self:center}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-mark svg{width:21px;height:21px}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-heading{flex-basis:auto}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-status{font-size:13px;font-weight:550}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-heading p{font-size:10px;margin-top:2px}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-actions{width:auto;margin:0;gap:14px}
.local-alert-actions>a{min-height:44px;display:inline-flex;align-items:center}
.local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .alert-refresh{font-weight:500}
:is(a,button,input,select,summary):focus-visible{outline:2px solid #167a8d;outline-offset:3px}
@media(max-width:1150px){.site-header nav{gap:20px}.site-header .brand img{width:155px}.welcome-tools{gap:12px}.date-label{font-size:11px}.page{--section-gap:38px}}
@media(max-width:850px){
  .site-header{height:72px}.site-header .brand img{width:150px;height:58px}.page{--card-gap:16px;--section-gap:34px}
  .page .welcome{padding:22px 0 16px}.page .welcome h1{font-size:29px}
  .page .weather-shortcuts{display:flex;gap:22px;margin:0 0 12px;border-bottom:1px solid #d9e4eb;padding-bottom:5px}
  .page .weather-shortcuts a{padding:4px 0;min-height:44px;border:0;border-radius:0;background:none;font-size:12px;box-shadow:none;color:#476d82}
  .page .weather-shortcuts a:hover{transform:none;background:none;color:#176d81}
  .map-sidebar{padding:14px}.collection-tabs button{background:#fff;border-color:#d7e3ea}.map-panel-head{padding:16px 18px}
  .mobile-nav{background:#fff;border-color:#d3e2e9;box-shadow:0 -2px 10px #17394e08}.mobile-nav a{border-radius:5px}.mobile-nav a.active{background:#edf5f7;color:#1b6c80}
}
@media(max-width:600px){
  .site-header{height:68px}.site-header .brand img{width:140px;height:54px}.header-actions .app-button{font-size:11px;padding:9px 11px}
  .page .welcome{display:flex;flex-wrap:wrap;gap:12px;padding:20px 0 12px}.page .welcome h1{font-size:27px}.welcome-tools{margin:0;width:100%;display:block}.location-tools{justify-content:flex-start}
  .conditions-hero{padding:20px 22px}.conditions-card .conditions-main{margin-top:16px}.conditions-card .conditions-main h2{font-size:24px}
  .conditions-card .conditions-metrics{padding:4px 22px}.conditions-card .conditions-metrics dd{font-size:15px}.conditions-card .conditions-next{padding:12px 22px}.conditions-card .conditions-bottom{padding:13px 22px}
  .briefing-heading{padding:18px 20px}.briefing-body{padding:17px 20px 19px}.briefing-heading h2,.briefing-body h3{font-size:18px}
  .section-heading h2{font-size:24px}.section-subtitle{font-size:12px}.section-heading{gap:12px}.hourly-card{padding:18px 16px 14px}
  .graphic-group-heading h3{font-size:17px}.graphic-card-body{padding:10px}.graphic-card-title{font-size:13px}.graphic-card-actions{gap:3px}
  .graphics-update{font-size:10px;margin-top:7px}.graphics-note{font-size:10px}.graphic-group-heading p{line-height:1.5}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-header{grid-template-columns:20px minmax(0,1fr) 86px;gap:8px;padding:10px 12px}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-status{font-size:12px}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-actions{gap:3px}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-actions>a{width:39px;min-height:44px;font-size:0;justify-content:center}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .local-alert-actions>a::before{content:'NWS ↗';font-size:9px;white-space:nowrap}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .alert-refresh{width:44px;height:44px;padding:0;font-size:0}
  .local-alerts:not(.has-alerts):not(.alerts-unavailable):not(.alerts-pending) .alert-refresh::before{content:'↻';font-size:21px;font-weight:400}
  .map-panel-head h3{font-size:17px}.map-quick-controls{top:10px;left:10px}.map-quick-controls button{min-height:44px;font-size:10px;padding:9px 10px}
  .app-section{padding:24px 22px}.day-card{border-radius:0}.detail-card{padding:20px}
}
@container conditions (max-width:330px){.conditions-hero{padding:20px}.conditions-card .conditions-metrics{padding:4px 20px}.conditions-card .conditions-metrics dd{font-size:16px}.conditions-card .conditions-next,.conditions-card .conditions-bottom{padding-left:20px;padding-right:20px}}
@media(prefers-reduced-motion:reduce){.graphic-card{transition:none}}
