html{min-width:320px;min-height:100%}body{min-width:320px;min-height:100vh;margin:0}#root{min-height:100vh}:root{color:#edf3ef;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-optical-sizing:auto;background:#101713;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:radial-gradient(at 50% 0,#1b3529 0%,#0000 42%),#101713;min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}button:disabled{cursor:wait;opacity:.7}.app{width:min(100% - 32px,680px);margin:0 auto;padding:48px 0 28px}.hero{text-align:center;margin-bottom:32px}.brand-mark{color:#80e0aa;background:#1a3527;border:1px solid #3a7357;border-radius:15px;place-items:center;width:46px;height:46px;margin:0 auto 16px;font-size:27px;display:grid}.eyebrow{color:#8dc5a1;letter-spacing:.14em;margin:0 0 10px;font-size:.72rem;font-weight:750}.hero h1{letter-spacing:-.055em;margin:0;font-size:clamp(2.3rem,7vw,3.7rem);line-height:1.08}.hero h1 span{color:#78d59d}.subtitle{color:#a5b4aa;margin:14px 0 0;font-size:1rem;line-height:1.6}.input-card,.result-card,.loading-card{background:#18221c;border:1px solid #304238;border-radius:22px;box-shadow:0 16px 44px #00000024}.input-card{padding:clamp(20px,5vw,32px)}.input-card label{margin-bottom:12px;font-size:.95rem;font-weight:650;display:block}.input-card input{color:#f1f6f2;background:#101713;border:1px solid #40584a;border-radius:12px;outline:none;width:100%;min-height:54px;padding:14px 16px;transition:border-color .16s,box-shadow .16s}.input-card input::placeholder{color:#75857a}.input-card input:focus{border-color:#78d59d;box-shadow:0 0 0 3px #78d59d1f}.location-button,.assess-button{border-radius:12px;justify-content:center;align-items:center;gap:10px;width:100%;min-height:52px;font-weight:700;transition:transform .16s,background .16s;display:flex}.location-button{color:#c9f0d5;background:#223a2b;border:1px solid #456a52;margin-top:14px}.location-button:hover{background:#294832}.location-button span{font-size:1.25rem}.location-status{color:#a6c9b0;justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-size:.84rem;display:flex}.status-dot{background:#77dda0;border-radius:50%;width:7px;height:7px}.assess-button{color:#fff;background:#198252;border:0;margin-top:20px}.assess-button:hover:not(:disabled){background:#219461;transform:translateY(-1px)}.assess-button span{font-size:1.15rem}.error-message{color:#ffaaa4;margin:12px 0 0;font-size:.9rem;line-height:1.5}.results{gap:14px;margin-top:30px;display:grid}.section-heading{justify-content:space-between;align-items:end;gap:12px;padding:0 2px 4px;display:flex}.section-heading h2{letter-spacing:-.035em;margin:0;font-size:1.55rem}.live-indicator{color:#8ed7a7;letter-spacing:.06em;white-space:nowrap;font-size:.63rem;font-weight:800}.result-card{padding:22px}.card-label{color:#9cad9f;letter-spacing:.12em;margin:0 0 16px;font-size:.7rem;font-weight:800}.aqi-value-row{justify-content:space-between;align-items:center;gap:16px;display:flex}.aqi-value-row h3,.pending-result h3{letter-spacing:-.06em;margin:0;font-size:3.5rem;line-height:1}.aqi-value-row p{color:#aab9ae;margin:8px 0 0;font-size:.9rem}.aqi-badge,.pending-label{color:#f1cf88;text-align:center;background:#332b1c;border:1px solid #766139;border-radius:999px;align-items:center;padding:9px 12px;font-size:.76rem;font-weight:700;display:inline-flex}.pending-result h3{color:#9cafa1}.pending-result p{color:#b0bdb3;max-width:430px;margin:12px 0 0;line-height:1.65}.pending-result code{color:#9be6b5}.recommendation-card{background:linear-gradient(145deg,#1b2c21,#18221c);border-color:#3b5544}.recommendation-card h3,.window-card h3{letter-spacing:-.025em;margin:0;font-size:1.35rem}.recommendation-card>p:not(.card-label),.window-card>p:not(.card-label){color:#b6c4b9;margin:12px 0 0;font-size:.93rem;line-height:1.7}.pending-label{color:#a9dfba;background:#22372a;border-color:#3b5746;margin-top:18px}.window-card h3{color:#91d9a9}.window-card>p strong{color:#f1f6f2}.window-card .muted-note{color:#8fa095;font-size:.8rem}.pollutant-details{background:#18221c;border:1px solid #304238;border-radius:16px;overflow:hidden}.pollutant-details summary{color:#cfe0d3;cursor:pointer;padding:17px 20px;font-size:.9rem;font-weight:650}.pollutant-list{padding:0 20px 10px}.pollutant-row{border-top:1px solid #2d3b31;justify-content:space-between;gap:16px;padding:13px 0;font-size:.85rem;display:flex}.pollutant-row span{color:#a6b6a9}.pollutant-row strong{color:#e9f3eb}.loading-card{justify-content:center;align-items:center;gap:14px;margin-top:24px;padding:22px;display:flex}.loading-card strong{font-size:.95rem}.loading-card p{color:#9eafa3;margin:5px 0 0;font-size:.85rem}.spinner{border:2px solid #446d51;border-top-color:#8de5aa;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin;display:inline-block}.footer{color:#829587;text-align:center;justify-content:center;align-items:center;gap:8px;margin-top:36px;font-size:.8rem;display:flex}.footer span{color:#8cdbab}@keyframes spin{to{transform:rotate(360deg)}}@media (width<=480px){.app{width:min(100% - 24px,680px);padding-top:32px}.hero{margin-bottom:24px}.result-card{padding:19px}.section-heading,.aqi-value-row{flex-direction:column;align-items:start}}
