/* Approved AirPredict concept #3; retain map concept #2, and never fabricate forecast values. */
:root{--bg:#0a0918;--panel:#211e38;--panel2:#27223e;--stroke:#504667;--violet:#aa8bff;--yellow:#ffcf35;--green:#57dca0;--red:#f5798b}
body{background:#0a0918}
.app-shell{max-width:560px;background:radial-gradient(ellipse 95% 24% at 55% -6%,#30204666,transparent 80%),linear-gradient(180deg,#0f0d20,#0b0a1a 320px);border-color:#40355e}
.topbar{padding:14px 20px 12px}
.brand-mark{width:37px;height:37px}
.brand-title{font-size:21px;letter-spacing:-.65px}
.brand-beta{font-size:11px;border-radius:9px;padding:7px 10px;background:linear-gradient(135deg,#7250ee,#5033a0);box-shadow:0 0 16px #8356eb55}
.scroll-area{padding:0 19px 25px}
.location-row{position:relative;display:block;margin:0 0 8px}
.region-selector{width:100%;min-height:44px;font-size:15px;padding:10px 130px 10px 13px;border:1px solid #504868;border-radius:14px;background:linear-gradient(120deg,#28253f,#212039)}
.region-selector .chevron{position:absolute;right:120px;top:11px}
.source-pill{position:absolute;right:9px;top:10px;max-width:102px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:5px 7px;font-size:9px;line-height:1.2;border-radius:7px;background:transparent;border:1px solid #4d4561}
.source-pill.healthy{color:#75d9ae;border-color:#28664d;background:#18352a}
.source-pill.warn{color:#ffcd86;border-color:#775335;background:#473324}
.top-tabs{margin:8px 0 10px;padding:3px;border-radius:15px;background:#1c1933;border-color:#514668}
.top-tabs button{padding:10px 2px;font-size:12px;border-radius:12px}
.top-tabs button.selected{background:linear-gradient(125deg,#7b58ef,#6141c4);box-shadow:0 1px 10px #8563f966}
.card{background:linear-gradient(145deg,#28233f,#1e1c33);border:1px solid #4a425f;box-shadow:none;border-radius:16px;margin:9px 0;padding:14px}
.forecast-card{background:linear-gradient(145deg,#28243f,#1b1a31);margin:0 0 10px;padding:13px 12px 12px;border-radius:16px}
.gauge-row{min-height:126px;gap:8px}
.gauge{flex:0 0 126px;width:126px;height:126px}
.gauge svg{width:126px;height:126px}
.gauge-track,.gauge-value{stroke-width:12}
.gauge-side strong{font-size:15.5px;line-height:1.3}
.gauge-side p{font-size:11.5px;margin:7px 0 9px}
.gauge-label{font-size:33px}
.level-tag{padding:7px 9px;font-size:10.5px}
.horizon-grid{margin-top:6px;gap:7px}
.horizon{min-height:75px;padding:9px 2px 7px;background:linear-gradient(145deg,#2e2b43,#23243a);border-color:#59506a;border-radius:12px}
.horizon span{font-size:11.5px}
.horizon strong{font-size:23px;margin-top:5px}
.horizon.active{border-color:#f5c933;background:linear-gradient(145deg,#413c31,#2f2a38);box-shadow:0 0 0 1px #e6c14466,0 0 12px #e6c14422}
.horizon.active.unknown strong{color:#f0db91}
.models-card{margin:9px 0;padding:12px 14px 11px}
.models-card .section-head{margin-bottom:6px}
.section-head h2{font-size:14.5px}
.model-row{margin-top:7px;gap:9px}
.model-icon{width:36px;height:36px;border-radius:9px}
.model-details strong{font-size:11.5px}
.model-details small{font-size:10px;margin-top:2px}
.model-progress{height:6px;margin-top:5px}
.model-caption{margin-top:8px;line-height:1.35;font-size:9px;color:#9389ab}
.accuracy-card{padding:12px 14px;margin:9px 0 8px}
.accuracy-card .section-head{margin-bottom:8px}
.acc-main strong{font-size:37px}
.acc-main>span{font-size:10.5px}
.acc-main small{font-size:9px}
.acc-stats{padding:4px 8px}
.acc-stats>div{padding:4px 0}
.details-link{padding-top:6px}
.status-band{margin:10px 0;padding:10px 12px}
.info-soft{margin-top:8px;padding:10px 11px}
.bottom-nav{max-width:560px;background:#17142adf;border-color:#574574;padding:6px 8px calc(5px + env(safe-area-inset-bottom));border-radius:17px 17px 0 0}
.nav-item{padding:5px 0;gap:3px}
.nav-item.active{background:linear-gradient(150deg,#6745ae,#392d64);color:#d8bdff}
.nav-icon{width:22px;height:22px}
@media(max-width:374px){.topbar{padding:12px 13px 10px}.scroll-area{padding:0 12px 20px}.gauge{flex:0 0 108px;width:108px;height:108px}.gauge svg{width:108px;height:108px}.gauge-side strong{font-size:14px}.region-selector{padding-right:118px}.region-selector .chevron{right:113px}.source-pill{max-width:96px}.horizon strong{font-size:19px}}
@media(min-width:650px){.app-shell{max-width:960px}.topbar{padding:24px 32px 17px}.scroll-area{padding:0 32px 35px}.gauge{width:160px;height:160px;flex-basis:160px}.gauge svg{width:160px;height:160px}.gauge-row{min-height:160px}.card{padding:18px}.forecast-card{padding:18px}.models-card,.accuracy-card{padding:18px}.bottom-nav{max-width:960px}}


.history-card{padding:17px}
.history-source{display:inline-block;font-weight:800;letter-spacing:1.1px;font-size:10px;color:#bfa4ff}
.history-total{font-size:36px;font-weight:850;letter-spacing:-1px;margin:10px 0 0}
.history-total small{font-size:13px;font-weight:550;color:#bbb2cf;letter-spacing:0}
.history-range{font-size:11px;color:#aba4bf;margin:4px 0 17px}
.history-year{display:grid;grid-template-columns:39px 1fr 50px;gap:10px;align-items:center;margin:12px 0}
.history-year span,.history-year strong{font-size:12px;font-weight:750}
.history-year strong{text-align:right;font-variant-numeric:tabular-nums}
.history-bar{height:9px;background:#39334c;border-radius:15px;overflow:hidden}
.history-bar>div{height:100%;background:linear-gradient(90deg,#7861f4,#bd92ff);border-radius:15px}
.history-note{border-top:1px solid #504761;padding-top:12px;font-size:10.5px;line-height:1.5;color:#bdb2cf}
.history-source-link{display:inline-block;margin-top:10px;font-size:12px;color:#d0baff;font-weight:750}
