body[data-view="weather"] .heading-actions,body[data-view="webcams"] .heading-actions,body[data-view="weather"] #error,body[data-view="weather"] #stale,body[data-view="webcams"] #error,body[data-view="webcams"] #stale{display:none!important}
.weather-page,.webcams-page{padding-bottom:12px}.weather-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:6px 0 16px}.weather-toolbar .icon{width:15px;height:15px;vertical-align:middle}.weather-status{font-size:12px;line-height:1.7;color:#70838b;margin:0 0 18px}.weather-status.bad{color:#9b603f}
.weather-top{display:grid;grid-template-columns:1.4fr 1fr;gap:20px;margin-bottom:20px}.weather-page>.panel,.weather-detail-grid{margin-bottom:20px}.weather-page .panel-heading>.icon,.webcams-page .panel-heading>.icon{width:26px;height:26px;color:#b19555;flex-shrink:0}.weather-page .panel h3{font-size:26px}.weather-now-body{display:flex;justify-content:space-between;gap:20px;padding:10px 28px 24px}.weather-temperature{font:64px Georgia,serif;color:#14384e;letter-spacing:-3px;line-height:1.1}.weather-now h4{font-size:17px;font-weight:500;margin:13px 0 5px;color:#23465b}.weather-now p{font-size:12px;color:#758690}.weather-sun{display:flex;flex-direction:column;gap:7px;padding-top:10px}.weather-sun span{font-size:8px;letter-spacing:.15em;color:#a2864f}.weather-sun strong{font:24px Georgia,serif;color:#26475a;margin-bottom:10px}
.weather-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0 18px;padding:0 28px 10px}.weather-small-stat{padding:14px 0;border-top:1px solid #e9e5dc;min-width:0}.weather-small-stat span{display:block;font-size:10px;line-height:1.5;color:#819096}.weather-small-stat strong{display:block;color:#244a60;font-size:16px;font-weight:500;margin-top:5px}.weather-source{display:block;font-size:11px!important;line-height:1.8!important;color:#819096!important;padding:14px 24px 20px;margin:0;text-decoration:none}.weather-source a{color:inherit}.weather-source.is-stale{color:#a36a44!important}
.weather-alert-list{padding:0 25px;min-height:190px}.weather-alert-list>p{font-size:13px;line-height:1.9;color:#6a8089}.weather-alert{padding:15px;border:1px solid #d8b96d6b;border-left:3px solid #bd954d;background:#fbf8ee;border-radius:9px;margin:14px 0}.weather-alert[data-level="Severe"],.weather-alert[data-level="Extreme"]{background:#fff3ee;border-color:#d07c67}.weather-alert h4{font-size:14px;color:#614d35;line-height:1.5;margin:0 0 8px}.weather-alert p{font-size:12px;line-height:1.8;color:#6b7374;margin:5px 0}.weather-alert summary{font-size:12px;color:#576f7e;cursor:pointer}.weather-alert small{font-size:11px;color:#8a7c66}.weather-empty-alert{padding:20px 16px;border:1px solid #86a19240;border-radius:10px;background:#eef5ee55}.weather-empty-alert strong{font:22px Georgia,serif;display:block;color:#587663;margin-bottom:10px}.weather-empty-alert p{margin:0;color:#6c8277;font-size:12px;line-height:1.8}
.weather-days{display:grid;grid-template-columns:repeat(14,minmax(118px,1fr));overflow-x:auto;gap:10px;padding:8px 24px 20px;scroll-snap-type:x proximity}.weather-day{scroll-snap-align:start;padding:18px 12px;border-radius:12px;border:1px solid #e9e2d4;background:#fcfbf7;text-align:center}.weather-day:first-child{background:#f5f0e4;border-color:#d1bb89}.weather-day h4{margin:0;font-size:12px;font-weight:500;color:#526c7b}.weather-day .wx-symbol{font-size:27px;line-height:1.4;display:block;margin:10px 0}.weather-day strong{font:23px Georgia,serif;color:#21455b;display:block;margin-bottom:12px}.weather-day strong small{font:14px 'Segoe UI',sans-serif;color:#95a1a3;margin-left:4px}.weather-day p{font-size:10px;line-height:1.8;margin:4px 0;color:#71868e;white-space:nowrap}
.weather-selects,.weather-detail-controls{display:flex;flex-wrap:wrap;gap:12px}.weather-selects select,.weather-detail-controls select{background:#f7f6f0;border:1px solid #e1ddcf;border-radius:8px;padding:10px;color:#365769;font:12px 'Segoe UI',sans-serif;max-width:100%}.weather-chart{padding:10px 24px 0;min-height:260px}.weather-chart svg{display:block;width:100%;height:auto;min-height:230px;max-height:350px}.weather-chart .wx-chart-empty{padding:60px 0;text-align:center;color:#8b9392;font-size:13px}.weather-chart-readout{display:block;min-height:30px;font-size:12px;color:#526d7a;padding:10px 0}
.weather-map-tabs,.webcam-mode{display:flex;flex-wrap:wrap;gap:8px;padding:0 24px 17px}.weather-map-tabs button,.webcam-mode button{border:1px solid #ded8c8;color:#6d7e86;background:transparent;border-radius:8px;padding:10px 15px;font:12px 'Segoe UI',sans-serif;cursor:pointer}.weather-map-tabs button.active,.webcam-mode button.active{background:#153c53;border-color:#153c53;color:#fff}.weather-maps iframe{display:block;width:calc(100% - 48px);height:490px;border:0;border-radius:12px;margin:0 24px;background:#e9ece9}.weather-links{display:flex;flex-wrap:wrap;gap:18px;padding:0 24px 22px}.weather-links a{font-size:12px;color:#6c8190;text-decoration:none;line-height:1.7}.weather-links a:hover{text-decoration:underline}.weather-source-links{padding:5px 0 0;gap:12px 24px}
.weather-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.weather-metrics{margin:0!important;padding:0 24px!important}.weather-metrics>div{display:flex;justify-content:space-between;gap:20px;align-items:baseline;font-size:12px!important;line-height:1.6;padding:10px 0}.weather-metrics dt{color:#768a94;max-width:65%}.weather-metrics dd{color:#244d63;text-align:right;margin:0;white-space:nowrap}.weather-raw{padding:0 24px 22px}.weather-raw summary{cursor:pointer;color:#82939b;font-size:11px}.weather-raw code{display:block;overflow-wrap:anywhere;margin-top:12px;color:#687b84;font-size:11px;line-height:1.8}.weather-detail-controls{padding:4px 24px 18px;gap:18px}.weather-detail-controls label{display:flex;flex-direction:column;gap:9px;font-size:11px;color:#7e9199}.weather-table-wrap{overflow-x:auto;max-height:540px}.weather-table-wrap table{width:100%}.weather-table-wrap th{position:sticky;top:0;background:#f5f3eb;z-index:1}.weather-table-wrap td{font-size:12px;padding:12px 24px}.weather-table-wrap td:first-child{min-width:220px}.weather-detail-controls select{min-width:200px}
.webcam-intro{font-size:13px;color:#80939c;line-height:1.8;padding:0 24px 20px;margin:0}.webcam-screen{margin:0 24px;position:relative;min-height:260px;background:#122f42;border-radius:13px;overflow:hidden;color:#cfdbde;display:flex;flex-direction:column;align-items:center;justify-content:center}.webcam-screen img,.webcam-screen video{display:block;max-width:100%;width:100%;height:auto;max-height:75vh;object-fit:contain}.webcam-screen p{font-size:12px;line-height:1.7;text-align:center;padding:15px 25px;margin:0}.webcam-screen:fullscreen{border-radius:0;display:flex;align-items:center;justify-content:center;background:#07121c}.webcam-screen:fullscreen img,.webcam-screen:fullscreen video{max-height:100vh;max-width:100vw;width:auto;height:100%;object-fit:contain}.webcam-actions{display:flex;flex-wrap:wrap;gap:14px 24px;padding:8px 24px 14px}.webcam-mode .icon{width:14px;height:14px;vertical-align:middle}.webcam-card .panel-heading h3{font-size:30px}
@media(max-width:1100px){.weather-top{grid-template-columns:1fr}.weather-detail-grid{gap:15px}.weather-page .panel h3{font-size:24px}.weather-kpi-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.weather-selects{margin-top:12px}.weather-chart-panel .panel-heading{align-items:flex-start;flex-wrap:wrap}.weather-alert-list{min-height:0;padding-bottom:10px}}
@media(max-width:760px){.weather-toolbar{align-items:flex-start;gap:10px}.weather-toolbar .text-button{font-size:10px}.weather-toolbar .section-kicker{font-size:7px;line-height:1.8;max-width:170px}.weather-top{gap:14px;margin-bottom:14px}.weather-page>.panel,.weather-detail-grid{margin-bottom:14px}.weather-now-body{padding:7px 20px 18px;gap:15px}.weather-temperature{font-size:53px}.weather-now h4{font-size:16px}.weather-sun strong{font-size:21px}.weather-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding:0 20px;gap:0 20px}.weather-small-stat strong{font-size:16px}.weather-detail-grid{grid-template-columns:1fr;gap:14px}.weather-page .panel-heading{padding:20px 20px 14px;gap:12px}.weather-page .panel h3{font-size:24px}.weather-source{padding:14px 20px 18px;font-size:10px!important}.weather-alert-list{padding:0 20px}.weather-days{padding-left:20px;padding-right:20px}.weather-metrics{padding:0 20px!important}.weather-metrics>div{font-size:11px!important}.weather-maps .panel-heading{flex-wrap:wrap}.weather-map-tabs,.webcam-mode{padding-left:20px;padding-right:20px;gap:6px}.weather-map-tabs button,.webcam-mode button{font-size:11px;padding:9px 11px}.weather-maps iframe{height:460px;width:calc(100% - 24px);margin:0 12px}.weather-chart{padding:0 12px}.weather-selects{width:100%;gap:7px}.weather-selects label{flex:1}.weather-selects select{width:100%;font-size:11px}.weather-detail-controls{padding:4px 20px 18px;display:grid;grid-template-columns:1fr}.weather-detail-controls select{width:100%;min-width:0}.weather-table-wrap td{padding:12px 20px;font-size:11px}.weather-table-wrap td:first-child{min-width:180px}.weather-forecast .panel-heading{align-items:flex-start}.weather-forecast .small-pill{font-size:8px;padding:6px}.weather-status{font-size:11px}.weather-links{gap:10px 18px;padding-left:20px;padding-right:20px}.weather-links a{font-size:11px}.weather-source-links{padding:0}.webcam-card .panel-heading h3{font-size:27px}.webcam-card .panel-heading{padding:20px}.webcam-intro{padding:0 20px 18px;font-size:12px}.webcam-screen{margin:0 12px;min-height:180px}.webcam-actions{padding:6px 20px 10px;gap:15px}.webcam-actions .text-button{font-size:11px;text-align:left;line-height:1.7}.weather-page .panel-heading .text-button{font-size:10px}}
.weather-raw code{white-space:pre-wrap}
