:root{color-scheme:dark;--bg:#071522;--panel:#102437;--panel2:#132c42;--line:rgba(180,211,231,.14);--text:#edf6fb;--muted:#9cb4c5;--cyan:#6ee7e8;--blue:#59aef5;--amber:#f6c879;--radius:20px;--shadow:0 18px 50px rgba(0,0,0,.2)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(ellipse at 85% 0%,#15334b 0%,transparent 38%),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;line-height:1.5}
.app-shell{max-width:1100px;margin:auto;padding:0 22px}.topbar{height:76px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}
.brand{display:flex;gap:11px;align-items:center;color:var(--text);text-decoration:none}.brand strong{display:block;font-size:14px}.brand small{display:block;color:var(--cyan);font-size:9px;letter-spacing:.2em;font-weight:800}.brand-mark{width:40px;height:40px;border-radius:13px;display:grid;place-items:center;background:linear-gradient(145deg,#65d9db,#418fbb);color:#062033;font-size:27px}
.top-actions{display:flex;gap:13px;align-items:center}.live-pill{font-size:10px;letter-spacing:.12em;color:#a7e9d5;background:#153a3c;padding:7px 10px;border-radius:30px}.live-pill i{display:inline-block;width:6px;height:6px;background:#71e1b2;border-radius:50%;margin-right:6px}.icon-btn{border:1px solid var(--line);background:var(--panel);color:var(--text);width:38px;height:38px;border-radius:12px;font-size:22px}
.hero{display:flex;min-height:230px;align-items:center;justify-content:space-between;position:relative;overflow:hidden;padding:32px 4px}.eyebrow{font-size:9px;letter-spacing:.18em;font-weight:800;color:var(--cyan)}h1{font-size:clamp(34px,6vw,58px);line-height:1.04;letter-spacing:-.045em;margin:13px 0}.hero h1 em{font-style:normal;color:var(--cyan)}.hero p{color:var(--muted);font-size:14px;margin:0;max-width:480px}.hero-orbit{width:180px;height:180px;position:relative;margin-right:45px;flex-shrink:0}.orbit{position:absolute;border:1px solid #6ee7e833;border-radius:50%;inset:15px}.orbit-a{transform:scaleX(.42) rotate(35deg)}.orbit-b{transform:scaleY(.42) rotate(-35deg)}.sun-core{position:absolute;inset:52px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,#ffeab1,#e8a64b 62%,#a65d36);box-shadow:0 0 45px #ffc56b77;font-size:48px;color:#fff1cc}.orbit-dot{position:absolute;width:11px;height:11px;border-radius:50%;background:var(--cyan);top:18px;left:39px}
.panel{background:linear-gradient(145deg,rgba(19,44,66,.94),rgba(13,34,52,.95));border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.location-panel{padding:20px;margin-bottom:34px}.location-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.location-name{font-size:21px;font-weight:750;margin-top:4px}.muted{color:var(--muted)}.small{font-size:11px}
.secondary-btn,.primary-btn{border:0;border-radius:11px;padding:11px 15px;font-size:12px;font-weight:750;cursor:pointer}.secondary-btn{background:#203e54;color:#d9eff8;border:1px solid #a0d0e826}.primary-btn{background:linear-gradient(120deg,#69d8d4,#62aef1);color:#082033}.location-controls{margin:17px 0 12px}.search-wrap{display:flex;gap:8px;position:relative}.search-wrap input{flex:1}.coord-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:9px}
input,select,textarea{width:100%;border:1px solid var(--line);background:#091c2a;color:var(--text);border-radius:10px;padding:11px 12px;font:inherit;font-size:12px;outline:none}input:focus,select:focus,textarea:focus{border-color:#5ecacc;box-shadow:0 0 0 3px #5ecacc20}.search-results{position:absolute;top:48px;left:0;right:75px;background:#10283a;border:1px solid var(--line);border-radius:12px;z-index:1000;overflow:hidden;box-shadow:var(--shadow)}.search-results button{display:block;width:100%;text-align:left;padding:11px 13px;border:0;background:transparent;color:var(--text);font-size:12px}.search-results button+button{border-top:1px solid var(--line)}.hidden{display:none!important}.map{height:230px;border-radius:15px;overflow:hidden;border:1px solid var(--line);z-index:1}.map-foot{font-size:10px;margin-top:8px}
.section-head{display:flex;align-items:end;justify-content:space-between;margin:20px 0 14px;gap:10px}.section-head h2{font-size:22px;margin:3px 0 0;letter-spacing:-.03em}.updated{font-size:10px;color:var(--muted)}.status-box{display:none;background:#3a2e1b;border:1px solid #a47c3c60;color:#ffdaa0;border-radius:12px;padding:10px 13px;font-size:12px;margin-bottom:15px}.status-box.show{display:block}
.overview-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:12px}.current-card,.metric-card{padding:17px;min-height:148px}.card-top{display:flex;justify-content:space-between;align-items:center;font-size:9px;letter-spacing:.09em}.weather-glyph{font-size:22px;color:var(--amber)}.big-temp{font-size:43px;font-weight:760;letter-spacing:-.06em;line-height:1.2;margin:8px 0}.big-temp small{font-size:15px;color:var(--muted);letter-spacing:0}.condition{font-size:12px;color:#c1d8e6}.card-foot{display:flex;justify-content:space-between;gap:5px;font-size:10px;color:var(--muted);border-top:1px solid var(--line);margin-top:13px;padding-top:10px}.metric-icon{color:var(--cyan);font-size:22px}.metric-label{font-size:10px;color:var(--muted);margin-top:7px}.metric-value{font-weight:750;font-size:25px;margin-top:2px}.metric-note{font-size:9px;color:var(--muted)}
.summary-card{padding:19px 21px;margin-top:14px}.summary-title{display:flex;gap:11px;align-items:center}.summary-spark{width:35px;height:35px;border-radius:12px;background:#164b52;display:grid;place-items:center;color:var(--cyan);font-size:18px}.summary-title h3{font-size:16px;margin:2px 0}.summary-card p{font-size:13px;line-height:1.7;color:#d8e7ef;margin:13px 0}.confidence-note{font-size:10px;color:#b2cfdd;border-top:1px solid var(--line);padding-top:10px}
.tabs{display:flex;gap:7px;overflow-x:auto;padding:24px 0 12px;scrollbar-width:none}.tabs::-webkit-scrollbar{display:none}.tab{flex-shrink:0;border:1px solid var(--line);border-radius:10px;padding:10px 13px;background:transparent;color:var(--muted);font-size:11px;font-weight:700}.tab.active{background:#1a4657;color:var(--cyan);border-color:#398f9a}.tab-panel{display:none;padding-bottom:28px}.tab-panel.active{display:block}.compact{margin-top:12px}
.hourly-list{display:grid;gap:7px}.hour-row{display:grid;grid-template-columns:90px 1fr 85px 75px 75px;align-items:center;gap:10px;background:#10263a;border:1px solid var(--line);border-radius:12px;padding:11px 13px;font-size:11px}.hour-time{font-weight:700}.hour-rain{color:#91d9ef}.hour-cloud{color:#b4cad7}.hour-wind{color:#dfc48a;text-align:right}
.model-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.model-card{background:#10263a;border:1px solid var(--line);border-radius:15px;padding:16px}.model-card h3{font-size:14px;margin:0 0 4px}.model-tag{font-size:9px;color:var(--cyan);letter-spacing:.1em}.model-stats{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:15px}.model-stats div{border-top:1px solid var(--line);padding-top:8px}.model-stats b{display:block;font-size:17px}.model-stats span{font-size:9px;color:var(--muted)}.notice{margin-top:12px;padding:13px;border:1px solid #8f77454a;background:#352e1e;border-radius:12px;font-size:10px;color:#e6d1a7;line-height:1.6}
.advanced-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.advanced-item{background:#10263a;border:1px solid var(--line);border-radius:13px;padding:13px}.advanced-item span{font-size:10px;color:var(--muted)}.advanced-item b{display:block;font-size:19px;margin:3px 0}.advanced-item small{font-size:9px;color:#78c9d5}
.report-form{padding:18px;display:grid;gap:13px}.report-form label{display:grid;gap:6px;font-size:11px;color:#c6dce8}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.full{width:100%}.saved-reports{display:grid;gap:8px;margin-top:12px}.saved-item{background:#10263a;border:1px solid var(--line);border-radius:12px;padding:12px;font-size:11px}.empty-state{padding:22px;text-align:center;color:var(--muted);background:#10263a;border:1px dashed var(--line);border-radius:13px;font-size:11px}
.days-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:8px}.day-card{background:#10263a;border:1px solid var(--line);border-radius:13px;padding:12px 9px;min-width:0}.day-card b{display:block;font-size:10px;color:var(--muted)}.day-card strong{display:block;font-size:17px;margin:8px 0 2px}.day-card span{font-size:10px;color:#91d9ef}.day-card small{display:block;font-size:9px;color:var(--muted);margin-top:8px;line-height:1.5}
footer{border-top:1px solid var(--line);padding:24px 0 35px;text-align:center;color:var(--muted);font-size:10px}.footer-brand{font-weight:800;color:#bfe8ed;font-size:13px}footer p{margin:4px 0}footer a{color:var(--cyan)}.leaflet-container{background:#d5e4e9}.leaflet-control-attribution{font-size:8px!important}
@media(max-width:760px){.app-shell{padding:0 14px}.hero{min-height:210px}.hero-orbit{width:110px;height:110px;margin-right:0}.sun-core{inset:32px;font-size:30px}.orbit{inset:5px}.orbit-dot{top:5px;left:27px}.hero p{font-size:12px}.overview-grid{grid-template-columns:1fr 1fr}.current-card{grid-column:span 2}.metric-card{min-height:125px}.hour-row{grid-template-columns:66px 1fr 70px 55px;gap:6px}.hour-row span:nth-child(4){display:none}.model-grid{grid-template-columns:1fr}.advanced-grid{grid-template-columns:1fr 1fr}.location-panel{padding:15px}.coord-row{grid-template-columns:1fr 1fr}.coord-row button{grid-column:span 2}.location-head{align-items:flex-start}.location-head .secondary-btn{font-size:10px;padding:9px}.updated{max-width:110px;text-align:right}.big-temp{font-size:38px}.days-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:390px){.hero-orbit{display:none}.advanced-grid{grid-template-columns:1fr 1fr}.hour-row{grid-template-columns:57px 1fr 60px 48px;font-size:10px}.tab{padding:9px 10px}.days-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
