
/* Site update notification */
.cw-update-notice{
  position:relative; display:flex; align-items:center; gap:12px;
  margin:0 auto 14px; max-width:1180px; padding:11px 14px;
  border:1px solid var(--border); border-radius:10px;
  background:var(--panel); color:var(--text); box-shadow:0 2px 10px rgba(0,0,0,.05);
}
.cw-update-icon{display:grid; place-items:center; width:30px; height:30px; flex:0 0 30px;
  border-radius:50%; background:var(--accent); color:#fff; font-weight:700; font-size:17px;}
.cw-update-copy{display:flex; flex-direction:column; gap:2px; min-width:0; font-size:.9rem;}
.cw-update-copy strong{font-size:.78rem; text-transform:uppercase; letter-spacing:.08em;}
.cw-update-copy span{color:var(--muted);}
.cw-update-close{margin-left:auto; border:0; background:transparent; color:var(--muted);
  font-size:24px; line-height:1; cursor:pointer; padding:4px 6px; border-radius:6px;}
.cw-update-close:hover,.cw-update-close:focus{background:var(--border); color:var(--text);}
.cw-update-notice.is-dismissed{display:none;}
@media (max-width:650px){.cw-update-notice{margin:0 10px 12px; align-items:flex-start}.cw-update-copy span{font-size:.84rem}.cw-update-close{font-size:22px;}}

:root{--blue:#2f6f9f;--blue-dark:#245675;--ink:#25323b;--muted:#68757e;--line:#d9e0e5;--panel:#fff;--bg:#eef2f5;--soft:#f5f7f9;--warning:#fff7df;--shadow:0 1px 3px rgba(22,34,44,.08)}
*{box-sizing:border-box}html{font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--ink)}body{margin:0;background:var(--bg);font-size:14px;line-height:1.45}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}.cw-wrap{max-width:1120px;margin:0 auto;background:#fff;min-height:100vh;box-shadow:0 0 24px rgba(30,45,55,.08)}
.cw-top{background:#fff;border-bottom:1px solid var(--line)}.cw-brand{display:flex;align-items:center;gap:18px;padding:18px 24px 14px}.cw-logo{width:82px;height:56px;object-fit:cover;border-radius:5px}.cw-title{font-size:27px;font-weight:700;letter-spacing:.1px}.cw-sub{color:var(--muted);margin-top:2px}.cw-now{margin-left:auto;text-align:right}.cw-now .temp{font-size:30px;font-weight:700}.cw-now .desc{color:var(--muted)}
.cw-nav{display:flex;flex-wrap:wrap;gap:0;border-top:1px solid var(--line);background:#f7f9fa}.cw-nav a{padding:10px 14px;border-right:1px solid var(--line);font-weight:600;color:#394c58}.cw-nav a:hover{background:#e9f0f5;text-decoration:none}.cw-main{padding:18px 22px 30px}.cw-alert{margin-bottom:16px}.cw-section{margin-top:18px}.cw-section h2{font-size:18px;margin:0;padding:9px 12px;background:#f3f6f8;border:1px solid var(--line);border-bottom:3px solid #aebfca;color:#344a57}.cw-grid{display:grid;gap:14px}.cw-grid.two{grid-template-columns:1.15fr .85fr}.cw-grid.three{grid-template-columns:repeat(3,1fr)}
.cw-panel{background:var(--panel);border:1px solid var(--line);box-shadow:var(--shadow)}.cw-panel-pad{padding:14px}.cw-current{display:grid;grid-template-columns:1.15fr 1fr 1fr;gap:0}.cw-current-main{padding:18px;border-right:1px solid var(--line)}.cw-current-temp{font-size:56px;line-height:1;font-weight:700;color:#263d4c}.cw-current-cond{font-size:18px;margin-top:7px;text-transform:capitalize}.cw-current-meta{color:var(--muted);margin-top:4px}.cw-statbox{padding:13px 15px;border-right:1px solid var(--line)}.cw-statbox:last-child{border-right:0}.cw-stat{display:flex;justify-content:space-between;padding:7px 0;border-bottom:1px dotted #d9e0e5}.cw-stat:last-child{border-bottom:0}.cw-stat span:first-child{color:var(--muted)}.cw-stat strong{font-weight:700}.cw-links{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.cw-link{display:block;padding:11px 12px;border:1px solid var(--line);background:#fbfcfd;font-weight:600}.cw-link:hover{background:#f0f5f8;text-decoration:none}
.cw-forecast{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line);background:#fff}.cw-fc{min-width:0;padding:13px 9px;border-right:1px solid var(--line);text-align:center}.cw-fc:last-child{border-right:0}.cw-fc-title{font-weight:700;font-size:13px;min-height:38px}.cw-fc-icon img{max-width:80px;height:auto;margin:4px auto}.cw-fc-temp{font-weight:700;margin:3px 0}.cw-fc-text{font-size:12px;color:#5e6b74;line-height:1.35}
.cw-image{width:100%;height:auto;display:block}.cw-caption{padding:8px 10px;background:#f5f7f9;border-top:1px solid var(--line);font-weight:700;color:#40515c}.cw-data-table{width:100%;border-collapse:collapse}.cw-data-table td{padding:8px 10px;border-bottom:1px solid #e5eaed}.cw-data-table td:first-child{color:var(--muted);width:48%}.cw-data-table tr:last-child td{border-bottom:0}.cw-note{font-size:12px;color:var(--muted);margin-top:8px}.cw-footer{border-top:1px solid var(--line);background:#2f3e48;color:#e8eef2;padding:20px 24px;font-size:12px}.cw-footer a{color:#dbeaf3}.cw-footer p{margin:8px 0 0}.cw-small{font-size:12px;color:var(--muted)}.cw-radar-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.cw-radar-grid img{width:100%;height:235px;object-fit:cover;background:#eef2f5}.cw-alertbox{border:1px solid #e4cf91;background:var(--warning);padding:12px}.cw-alertbox a{font-weight:600}.cw-error{padding:12px;color:#7b3f00;background:#fff7e8;border:1px solid #eed9a9}
@media(max-width:850px){.cw-brand{align-items:flex-start}.cw-now{display:none}.cw-grid.two,.cw-grid.three,.cw-current{grid-template-columns:1fr}.cw-current-main,.cw-statbox{border-right:0;border-bottom:1px solid var(--line)}.cw-forecast{grid-template-columns:1fr 1fr}.cw-fc:nth-child(2n){border-right:0}.cw-fc:nth-last-child(-n+1){border-bottom:0}.cw-radar-grid{grid-template-columns:1fr}.cw-links{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.cw-brand{padding:14px}.cw-title{font-size:21px}.cw-logo{width:64px;height:46px}.cw-nav a{flex:1 0 33.333%;text-align:center;font-size:12px;padding:9px 5px}.cw-main{padding:12px}.cw-forecast{grid-template-columns:1fr}.cw-fc{border-right:0;border-bottom:1px solid var(--line)}.cw-links{grid-template-columns:1fr}.cw-current-temp{font-size:48px}}

/* Dark mode — Colorado Springs Weather */
html[data-theme="dark"]{color-scheme:dark;background:#0f1419;color:#e8edf2}
html[data-theme="dark"] body{background:#0f1419;color:#e8edf2}
html[data-theme="dark"] .cw-wrap{background:#151b22;box-shadow:0 0 30px rgba(0,0,0,.35)}
html[data-theme="dark"] .cw-top{background:#151b22;border-color:#303b46}
html[data-theme="dark"] .cw-nav{background:#1b242d;border-color:#303b46}
html[data-theme="dark"] .cw-nav a{color:#dbe6ee;border-color:#303b46}
html[data-theme="dark"] .cw-nav a:hover{background:#273541}
html[data-theme="dark"] .cw-sub,html[data-theme="dark"] .cw-current-meta,html[data-theme="dark"] .cw-small,html[data-theme="dark"] .cw-note,html[data-theme="dark"] .cw-stat span:first-child,html[data-theme="dark"] .cw-fc-text{color:#aebbc6}
html[data-theme="dark"] .cw-title,html[data-theme="dark"] .cw-now .temp,html[data-theme="dark"] .cw-current-temp,html[data-theme="dark"] .cw-current-cond{color:#f3f7fa}
html[data-theme="dark"] .cw-section h2{background:#202a34;border-color:#34414d;color:#eaf0f4}
html[data-theme="dark"] .cw-panel,html[data-theme="dark"] .cw-forecast{background:#171f27;border-color:#303b46}
html[data-theme="dark"] .cw-current-main,html[data-theme="dark"] .cw-statbox,html[data-theme="dark"] .cw-fc{border-color:#303b46}
html[data-theme="dark"] .cw-stat{border-color:#303b46}
html[data-theme="dark"] .cw-link{background:#1c252e;border-color:#35424d;color:#dce9f2}
html[data-theme="dark"] .cw-link:hover{background:#26343f}
html[data-theme="dark"] .cw-caption{background:#202a34;border-color:#34414d;color:#e4edf3}
html[data-theme="dark"] .cw-data-table td{border-color:#303b46}
html[data-theme="dark"] .cw-alertbox{background:#352f20;border-color:#66582f;color:#f3e8c4}
html[data-theme="dark"] .cw-alertbox a{color:#ffd77a}
html[data-theme="dark"] .cw-footer{background:#0b1015;color:#b8c4cd;border-color:#303b46}
html[data-theme="dark"] .cw-radar-grid img{background:#11181f}
.cw-theme-toggle{margin-left:auto;border:1px solid var(--line);background:#f7f9fa;color:#394c58;border-radius:5px;padding:7px 11px;font-weight:600;cursor:pointer;white-space:nowrap}
.cw-theme-toggle:hover{background:#e9f0f5}
html[data-theme="dark"] .cw-theme-toggle{background:#202b35;color:#edf4f8;border-color:#465461}
html[data-theme="dark"] .cw-theme-toggle:hover{background:#2a3945}
@media(max-width:850px){.cw-theme-toggle{margin-left:0}.cw-brand{flex-wrap:wrap}}


/* Live Weather-Display AJAX status */
.cw-ajax-status{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin:0 auto 10px;max-width:1200px;padding:9px 14px;border:1px solid rgba(59,130,246,.25);border-radius:8px;background:rgba(59,130,246,.07);font-size:.82rem;color:var(--cw-muted,#64748b)}
.cw-ajax-status strong{font-size:.76rem;letter-spacing:.06em;color:var(--cw-text,#0f172a)}
.cw-ajax-dot{width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 3px rgba(34,197,94,.15);flex:0 0 auto}
.cw-ajax-sep{opacity:.5}
.cw-ajax-time{font-variant-numeric:tabular-nums}
.cw-ajax-status.is-waiting .cw-ajax-dot{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.cw-ajax-status.is-stale{border-color:rgba(245,158,11,.35);background:rgba(245,158,11,.08)}
.cw-ajax-status.is-stale .cw-ajax-dot{background:#f59e0b;box-shadow:0 0 0 3px rgba(245,158,11,.15)}
.cw-ajax-source{display:none!important}
@media (max-width:640px){.cw-ajax-status{font-size:.76rem;margin-left:10px;margin-right:10px}.cw-ajax-time{width:100%;margin-left:1rem}}
