:root{--ink:#f4f7f6;--muted:#9eabb2;--bg:#07121c;--panel:#0d1d29;--line:rgba(255,255,255,.09);--mint:#9af1ca;--orange:#ffb86c;--radius:24px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:radial-gradient(circle at 70% 5%,#173143 0,transparent 33%),var(--bg);color:var(--ink);font-family:"DM Sans",sans-serif;min-height:100vh}.ambient{position:fixed;border-radius:50%;filter:blur(90px);opacity:.1;pointer-events:none}.ambient-one{width:420px;height:420px;background:#67ddae;right:-150px;top:180px}.ambient-two{width:300px;height:300px;background:#eb954d;left:-150px;top:650px}.shell{width:min(1180px,calc(100% - 40px));margin-inline:auto}.nav{height:88px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{color:var(--ink);text-decoration:none;display:flex;gap:12px;align-items:center;font:700 19px Manrope}.brand-mark{width:34px;height:34px;display:grid;place-items:center;border:1px solid #649985;border-radius:50%;font-style:italic;color:var(--mint)}.nav-meta,.updated{color:var(--muted);font-size:13px}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--mint);margin-right:8px;box-shadow:0 0 12px var(--mint)}.hero{padding:92px 0 110px;max-width:800px}.eyebrow{font:700 11px Manrope;letter-spacing:.2em;color:var(--mint);margin:0 0 16px}.hero h1{font:700 clamp(48px,8vw,94px)/.98 Manrope;margin:0;letter-spacing:-.055em}.hero h1 em{font-family:Georgia,serif;font-weight:400;color:var(--mint)}.hero-copy{font-size:18px;line-height:1.65;color:var(--muted);max-width:620px;margin:28px 0 35px}.search{position:relative;display:flex;align-items:center;background:#f4f6f2;border-radius:18px;padding:7px;max-width:720px;box-shadow:0 18px 60px rgba(0,0,0,.28)}.search>svg{width:23px;margin:0 12px;stroke:#40515a;fill:none;stroke-width:2}.search input{min-width:0;flex:1;border:0;outline:0;background:transparent;font:500 16px "DM Sans";color:#15232a;padding:14px 0}.search button{border:0;border-radius:13px;background:#102a26;color:#fff;padding:16px 22px;font:700 14px "DM Sans";cursor:pointer}.search button span{color:var(--mint);font-size:18px;margin-left:8px}.suggestions{position:absolute;z-index:1000;top:calc(100% + 8px);left:0;right:0;background:#f4f6f2;border-radius:14px;padding:7px;box-shadow:0 18px 50px #0008;color:#13252b}.suggestions button{display:block;width:100%;text-align:left;background:transparent;color:#13252b;padding:12px;border-radius:9px;font-weight:600}.suggestions button:hover{background:#dae8df}.locate{border:0;background:transparent;color:var(--muted);padding:17px 4px;cursor:pointer;font:600 13px "DM Sans"}.locate:hover{color:var(--mint)}.locate span{color:var(--mint);font-size:19px;margin-right:5px}.status{color:#ffb0a3;min-height:20px}.dashboard{padding-bottom:80px}.section-heading,.panel-title{display:flex;align-items:end;justify-content:space-between;gap:24px}.section-heading{padding:0 0 28px}.section-heading h2,.panel-title h3{font:700 30px Manrope;margin:0;letter-spacing:-.03em}.card{background:linear-gradient(145deg,rgba(18,40,53,.96),rgba(10,27,38,.96));border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 20px 55px rgba(0,0,0,.17)}.current-grid{display:grid;grid-template-columns:1.15fr 1.85fr;gap:18px}.current-card{padding:30px}.current-top{display:flex;align-items:center;justify-content:space-between}.current-top img{width:105px;height:105px;filter:drop-shadow(0 10px 18px #0005)}.temperature{font:700 92px/1 Manrope;letter-spacing:-.08em}.degree{font:400 40px Manrope;color:var(--mint);vertical-align:top}.condition{font:700 22px Manrope;margin:15px 0 5px;text-transform:capitalize}.muted{color:var(--muted);margin:0}.sun-track{display:flex;gap:12px;align-items:center;margin-top:35px;color:var(--orange)}.sun-track div{height:3px;background:#283b46;flex:1;border-radius:4px;overflow:hidden}.sun-track i{display:block;background:linear-gradient(90deg,var(--orange),var(--mint));height:100%;width:50%}.sun-times{display:flex;justify-content:space-between;margin:8px 27px 0;color:var(--muted);font-size:12px}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.metric{padding:24px;min-height:145px}.metric-icon{font-size:22px;color:var(--mint)}.metric p{color:var(--muted);font-size:12px;margin:25px 0 5px}.metric strong{font:700 23px Manrope}.panel{padding:28px;margin-top:18px}.panel-title{align-items:center}.panel-title>p{font-size:12px;color:var(--muted)}.hourly{display:flex;overflow:auto;padding-top:24px;scrollbar-color:#41535d transparent}.hour{min-width:112px;border-right:1px solid var(--line);text-align:center;padding:5px 14px}.hour:last-child{border:0}.hour time,.hour small{font-size:12px;color:var(--muted)}.hour img{display:block;width:55px;margin:10px auto}.hour strong{display:block;font:700 20px Manrope;margin-bottom:6px}.outside{margin:60px 0 20px}.daily{display:grid;grid-template-columns:repeat(5,1fr);gap:12px}.day{padding:23px}.day time{font-size:13px;color:var(--muted);text-transform:capitalize}.day img{width:62px;display:block;margin:22px 0 10px}.day strong{font:700 21px Manrope}.day p{color:var(--muted);font-size:12px;text-transform:capitalize;min-height:30px}.rain{color:#85d5ff!important}.split{display:grid;grid-template-columns:.95fr 1.35fr;gap:18px;margin-top:60px}.air,.map-panel{padding:28px}.pill{border:1px solid #63d19f;color:var(--mint);padding:7px 12px;border-radius:99px;font-size:11px}.aqi-main{display:flex;gap:20px;align-items:center;margin:28px 0}.aqi-main>span{font:800 64px Manrope;color:var(--mint)}.aqi-main strong{font:700 20px Manrope}.aqi-main p{font-size:11px;color:var(--muted);margin:5px 0}.pollutants{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.pollutant{border-top:1px solid var(--line);padding-top:12px}.pollutant small{display:block;color:var(--muted);font-size:10px}.pollutant strong{font-size:14px}.air-chart{display:flex;align-items:end;gap:4px;height:60px;margin-top:25px}.air-chart i{flex:1;background:var(--mint);opacity:.55;border-radius:3px 3px 0 0;min-height:8px}.layer-tabs{display:flex;gap:5px;margin:22px 0 12px;overflow:auto}.layer-tabs button{border:1px solid var(--line);background:transparent;color:var(--muted);border-radius:20px;padding:8px 12px;cursor:pointer;white-space:nowrap}.layer-tabs button.active{background:var(--mint);color:#092019;border-color:var(--mint)}#map{height:390px;border-radius:17px;background:#142733}.leaflet-control-attribution{font-size:9px!important}.footer{border-top:1px solid var(--line);padding:35px 0 45px;display:flex;justify-content:space-between;color:var(--muted);font-size:12px}.footer>span{font:700 16px Manrope;color:var(--ink)}.footer p{margin:0}.footer a{color:var(--mint)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@media(max-width:900px){.current-grid,.split{grid-template-columns:1fr}.daily{grid-template-columns:repeat(3,1fr)}}@media(max-width:620px){.shell{width:min(100% - 24px,1180px)}.nav{height:70px}.nav-meta{display:none}.hero{padding:65px 0 75px}.hero-copy{font-size:15px}.search{display:grid;grid-template-columns:auto 1fr}.search button{grid-column:1/-1}.current-grid{display:block}.metrics{grid-template-columns:repeat(2,1fr);margin-top:12px}.metric{min-height:125px}.daily{display:flex;overflow:auto}.day{min-width:150px}.section-heading{align-items:start;flex-direction:column}.temperature{font-size:74px}.panel,.air,.map-panel,.current-card{padding:20px}.pollutants{grid-template-columns:repeat(2,1fr)}.footer{flex-direction:column;gap:13px}.footer p:last-child{display:none}}
.privacy{padding-bottom:45px;color:var(--muted);font-size:13px}.privacy details{border:1px solid var(--line);border-radius:14px;background:rgba(13,29,41,.55);padding:0 18px}.privacy summary{padding:15px 0;cursor:pointer;color:var(--ink);font:700 14px Manrope}.privacy-content{border-top:1px solid var(--line);padding:5px 0 10px;line-height:1.6}.privacy-content p{margin:12px 0}.privacy a{color:var(--mint)}
