.metric-item{position:relative}.metric-info-btn{padding:.375rem;background:transparent;border:1px solid var(--border-color);border-radius:50%;color:var(--text-muted);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;margin-left:auto}.metric-info-btn:hover{background:var(--primary);border-color:var(--primary);color:#fff;transform:scale(1.15) rotate(90deg)}.metric-info-btn svg{width:14px;height:14px}.metric-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);z-index:9998;opacity:0;pointer-events:none;transition:opacity .4s cubic-bezier(.32,.72,0,1)}body.dark-mode .metric-modal-backdrop{background:#0009}.metric-modal-backdrop.active{opacity:1;pointer-events:all}.metric-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.9);background:var(--card-bg);border-radius:24px;box-shadow:0 20px 60px #0000004d,0 0 1px #0000000d;max-width:480px;width:calc(100% - 2rem);max-height:80vh;overflow:hidden;z-index:9999;opacity:0;pointer-events:none;transition:all .5s cubic-bezier(.32,.72,0,1)}body.dark-mode .metric-modal{background:#1c1c1ef2;backdrop-filter:blur(40px);-webkit-backdrop-filter:blur(40px);border:1px solid rgba(255,255,255,.1)}.metric-modal.active{opacity:1;pointer-events:all;transform:translate(-50%,-50%) scale(1)}.metric-modal-header{padding:1.5rem 1.5rem 0;position:relative}.metric-modal-close{position:absolute;top:1rem;right:1rem;width:30px;height:30px;border-radius:50%;background:#78788029;border:none;color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s cubic-bezier(.4,0,.2,1);padding:0}.metric-modal-close:hover{background:#7878803d;transform:scale(1.1)}body.dark-mode .metric-modal-close{background:#7878803d}body.dark-mode .metric-modal-close:hover{background:#7878805c}.metric-modal-close svg{width:16px;height:16px}.metric-modal-title{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0 0 .5rem;letter-spacing:-.02em;padding-right:2rem}.metric-modal-subtitle{font-size:.9375rem;line-height:1.6;color:var(--text-muted);margin:0;padding-right:2rem}.metric-modal-content{padding:1.5rem;overflow-y:auto;max-height:calc(80vh - 6rem)}.metric-modal-section{margin-bottom:1.5rem}.metric-modal-section:last-child{margin-bottom:0}.metric-modal-section-title{font-size:.875rem;font-weight:600;color:var(--text-color);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;opacity:.8}.metric-ranges{display:flex;flex-direction:column;gap:.625rem}.range-item{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1rem;border-radius:12px;font-size:.875rem;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.range-item:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;transition:width .3s cubic-bezier(.4,0,.2,1)}.range-item.range-good{background:#34c7591f;color:var(--aqi-good)}.range-item.range-good:before{background:var(--aqi-good)}.range-item.range-moderate{background:#ff95001f;color:var(--aqi-moderate)}.range-item.range-moderate:before{background:var(--aqi-moderate)}.range-item.range-poor{background:#ff3b301f;color:var(--aqi-unhealthy)}.range-item.range-poor:before{background:var(--aqi-unhealthy)}.range-item.current{transform:scale(1.02);box-shadow:0 4px 12px #0000001f,0 0 0 2px var(--card-bg);font-weight:600}.range-item.current:before{width:100%;opacity:.08}.current-status-badge{background:var(--bg-color);padding:1rem 1.25rem;border-radius:14px;border:1px solid var(--border-color)}.current-status-label{font-size:.8125rem;color:var(--text-muted);font-weight:500;margin:0 0 .375rem}.current-status-value{font-size:1.5rem;font-weight:600;color:var(--text-color);margin:0}.current-status-value strong{color:var(--primary)}.metric-modal-content::-webkit-scrollbar{width:8px}.metric-modal-content::-webkit-scrollbar-track{background:transparent}.metric-modal-content::-webkit-scrollbar-thumb{background:#78788033;border-radius:10px}.metric-modal-content::-webkit-scrollbar-thumb:hover{background:#7878804d}@keyframes modalSlideIn{0%{opacity:0;transform:translate(-50%,-45%) scale(.95)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media (max-width: 768px){.metric-modal{max-width:calc(100% - 2rem);max-height:85vh}.metric-modal-title{font-size:1.25rem}}:root{--bg-color: #f5f5f7;--text-color: #1d1d1f;--text-muted: #86868b;--card-bg: #ffffff;--border-color: #d2d2d7;--primary: #0071e3;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .04);--shadow-md: 0 4px 16px rgba(0, 0, 0, .08);--aqi-good: #34c759;--aqi-moderate: #ff9500;--aqi-unhealthy-sensitive: #ff6b00;--aqi-unhealthy: #ff3b30;--aqi-very-unhealthy: #af52de;--aqi-hazardous: #8e0000;font-family:-apple-system,BlinkMacSystemFont,SF Pro Display,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body.dark-mode{--bg-color: #000000;--text-color: #f5f5f7;--text-muted: #98989d;--card-bg: #1c1c1e;--border-color: #38383a;--shadow-sm: 0 2px 8px rgba(0, 0, 0, .3);--shadow-md: 0 4px 16px rgba(0, 0, 0, .4)}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg-color);color:var(--text-color);min-height:100vh;transition:background .3s ease,color .3s ease;overflow-x:hidden;display:flex;flex-direction:column}#app{flex:1;width:100%;max-width:1600px;margin:0 auto;padding:0;min-height:100vh;display:flex;flex-direction:column}.app-nav{width:100%;background:var(--card-bg);border-bottom:1px solid var(--border-color);position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2}body.dark-mode .app-nav{background:#1c1c1ef2}.nav-container{max-width:1600px;margin:0 auto;padding:.75rem 2rem;display:flex;justify-content:space-between;align-items:center}.nav-logo{display:flex;align-items:center;gap:.625rem;font-size:1.375rem;font-weight:600;color:var(--text-color);text-decoration:none;letter-spacing:-.02em;transition:all .3s ease}.nav-logo:hover{color:var(--primary)}.nav-logo:hover .logo-svg{transform:scale(1.05)}.logo-svg{flex-shrink:0;transition:transform .3s ease}.logo-text{font-size:1.5rem;font-weight:600}.wind-line{stroke-dasharray:30;stroke-dashoffset:30;animation:windFlow 3s ease-in-out infinite;opacity:.8}.wind-1{animation-delay:0s}.wind-2{animation-delay:.3s;opacity:.6}.wind-3{animation-delay:.6s;opacity:.4}@keyframes windFlow{0%,to{stroke-dashoffset:30;opacity:0}50%{stroke-dashoffset:0;opacity:1}}.nav-logo:hover .wind-line{animation-duration:1s}.nav-links{display:flex;align-items:center;gap:2rem}.nav-links a{font-size:.9375rem;font-weight:500;color:var(--text-muted);text-decoration:none;transition:color .2s ease;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--text-color)}.nav-links a.active:after{content:"";position:absolute;bottom:-.5rem;left:0;right:0;height:2px;background:var(--primary);border-radius:2px}.nav-toggle{margin:0}.nav-toggle .toggle-label{display:none}@media (max-width: 768px){.nav-container{padding:1rem 1.5rem}.nav-links{gap:1.5rem}.nav-logo{font-size:1.25rem}}.landing-container{flex:1;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:3rem 2rem;transition:all .5s cubic-bezier(.28,0,.63,1)}#app.has-results .landing-container{flex:0;padding:0 2rem 1.5rem}main{padding:0 2rem;width:100%;max-width:100%}header{text-align:center;margin-bottom:2.5rem;transition:all .5s cubic-bezier(.28,0,.63,1);animation:headerFadeIn 1s ease-out}@keyframes headerFadeIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}#app.has-results header{margin-bottom:1.5rem}header h1{font-size:4rem;font-weight:600;letter-spacing:-.02em;margin-bottom:.5rem;background:linear-gradient(135deg,var(--text-color),var(--text-muted));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}#app.has-results header h1{font-size:2.5rem}header p{font-size:1.5rem;font-weight:400;color:var(--text-muted)}#app.has-results header p{display:none}.top-controls{display:flex;justify-content:flex-end;padding-bottom:1rem;transition:all .5s cubic-bezier(.28,0,.63,1)}#app.has-results .top-controls{padding-bottom:.5rem}.toggle-switch{position:relative;display:flex;align-items:center;gap:.75rem;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-switch input{position:absolute;opacity:0;width:0;height:0}.toggle-slider{position:relative;width:51px;height:31px;background:#39393d99;backdrop-filter:blur(10px) saturate(180%);-webkit-backdrop-filter:blur(10px) saturate(180%);border:1px solid rgba(255,255,255,.1);border-radius:31px;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #00000026,inset 0 1px 2px #ffffff1a}body.dark-mode .toggle-slider{background:#34c7594d;border:1px solid rgba(52,199,89,.3);box-shadow:0 4px 16px #34c7594d,inset 0 1px 2px #fff3}.toggle-slider:before{content:"";position:absolute;height:27px;width:27px;left:2px;top:2px;background:linear-gradient(135deg,#fffffff2,#ffffffd9);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border-radius:50%;transition:all .4s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0003,0 2px 4px #0000001a,inset 0 1px 1px #fffc}.toggle-switch input:checked+.toggle-slider:before{transform:translate(20px)}.toggle-icon{position:absolute;top:50%;transform:translateY(-50%);transition:opacity .3s ease;pointer-events:none}.sun-icon{left:8px;color:#fbbf24;opacity:1}.moon-icon{right:8px;color:#60a5fa;opacity:0}body.dark-mode .sun-icon{opacity:0}body.dark-mode .moon-icon{opacity:1}.toggle-label{font-size:.9375rem;font-weight:500;color:var(--text-color)}.search-section{width:100%;max-width:600px;margin:0 auto;transition:all .4s cubic-bezier(.28,0,.63,1);position:relative;z-index:200}#app.has-results .search-section{max-width:500px}.search-container{display:flex;align-items:center;background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:.5rem 1.25rem;box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.34,1.56,.64,1);position:relative;z-index:10;animation:scaleIn .5s cubic-bezier(.34,1.56,.64,1) .3s backwards}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}#app.has-results .search-container{padding:.375rem 1rem;border-radius:14px}.search-container:focus-within{border-color:var(--primary);box-shadow:0 0 0 4px #0071e31a,0 8px 24px #0071e326;transform:translateY(-2px)}.search-icon-wrapper{color:var(--text-muted);display:flex;margin-right:1rem;transition:all .3s ease}.search-icon-wrapper svg{width:24px;height:24px}#app.has-results .search-icon-wrapper{margin-right:.875rem}#app.has-results .search-icon-wrapper svg{width:20px;height:20px}input{flex:1;border:none;background:transparent;color:var(--text-color);font-size:1.125rem;outline:none;font-weight:400;transition:font-size .3s ease}#app.has-results input{font-size:1.125rem}input::placeholder{color:var(--text-muted)}button{padding:.5rem;border:none;background:transparent;color:var(--text-muted);cursor:pointer;border-radius:8px;transition:all .3s cubic-bezier(.34,1.56,.64,1);display:flex}#locate-btn{animation:gentlePulse 3s ease-in-out infinite}#locate-btn:hover{transform:scale(1.2) rotate(15deg);background:var(--primary);color:#fff}@keyframes gentlePulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}#app.has-results button{padding:.375rem}#app.has-results button svg{width:16px;height:16px}button:hover{background:#0000000d;color:var(--primary);transform:scale(1.1)}body.dark-mode button:hover{background:#ffffff1a}.suggestions-dropdown{position:absolute;top:calc(100% + .5rem);left:0;width:100%;background:var(--card-bg);border:1px solid var(--border-color);border-radius:12px;box-shadow:0 8px 32px #00000026;max-height:280px;overflow-y:auto;z-index:1000}.suggestion-item{padding:.875rem 1.25rem;cursor:pointer;transition:background .15s ease;border-left:3px solid transparent}.suggestion-item:hover,.suggestion-item.keyboard-selected{background:#0071e314;border-left-color:var(--primary)}body.dark-mode .suggestion-item:hover,body.dark-mode .suggestion-item.keyboard-selected{background:#0071e326}.suggestion-primary{display:block;font-weight:500;font-size:1rem;margin-bottom:.125rem}.suggestion-secondary{display:block;font-size:.875rem;color:var(--text-muted)}.dashboard-controls{display:flex;justify-content:flex-end;gap:.625rem;margin-bottom:1.5rem}.control-btn{padding:.75rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-sm);cursor:pointer;transition:all .3s cubic-bezier(.34,1.56,.64,1);color:var(--text-color);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden}.control-btn:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:var(--primary);opacity:0;transition:opacity .3s ease;z-index:0}.control-btn:hover:before{opacity:1}.control-btn:hover{transform:translateY(-4px) scale(1.1);box-shadow:0 8px 24px #0071e34d;border-color:var(--primary)}.control-btn:hover svg{transform:rotate(5deg) scale(1.1);color:#fff}.control-btn:active{transform:translateY(-2px) scale(1.05)}.control-btn svg{display:block;position:relative;z-index:1;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.ticker-section{width:100%;max-width:1000px;margin:2rem auto;transition:all .5s cubic-bezier(.28,0,.63,1)}#app.has-results .ticker-section{display:none}.ticker-container{background:var(--card-bg);border:1px solid var(--border-color);border-radius:18px;padding:2rem;box-shadow:var(--shadow-md)}.ticker-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.ticker-title{font-size:1.25rem;font-weight:600;color:var(--text-color);margin:0;display:flex;align-items:center;gap:.625rem}.ticker-title i{width:24px;height:24px;color:var(--primary)}.ticker-controls{display:flex;gap:.5rem;opacity:.5;transition:opacity .3s ease}.ticker-controls:hover{opacity:1}.ticker-control-btn{padding:.5rem;background:transparent;border:1px solid var(--border-color);border-radius:6px;color:var(--text-muted);cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center}.ticker-control-btn:hover{background:var(--bg-color);color:var(--primary);border-color:var(--primary);transform:scale(1.1)}.ticker-control-btn svg{display:block}.ticker-control-btn .play-icon,.ticker-control-btn .pause-icon{transition:opacity .2s ease}.cities-ticker{background:var(--bg-color);border-radius:14px;padding:1.25rem;overflow:hidden}.ticker-track{display:flex;width:max-content;will-change:transform}.ticker-loading{color:var(--text-muted);font-size:.9375rem;padding:1rem;text-align:center}.ticker-item{display:flex;align-items:center;gap:.875rem;white-space:nowrap;padding:.875rem 1.25rem;background:var(--card-bg);border-radius:12px;border:1px solid var(--border-color);box-shadow:var(--shadow-sm);transition:all .3s cubic-bezier(.34,1.56,.64,1);cursor:pointer;margin-right:1rem}.ticker-item:hover{transform:scale(1.1) translateY(-4px);box-shadow:0 8px 32px #0071e333;border-color:var(--primary);z-index:10}.ticker-item:active{transform:scale(1.05) translateY(-2px)}.ticker-city{font-weight:500;font-size:.9375rem}.ticker-aqi{font-size:.875rem;font-weight:600;padding:.375rem .75rem;border-radius:8px}.ticker-aqi.good{color:var(--aqi-good);background:#34c7591a}.ticker-aqi.moderate{color:var(--aqi-moderate);background:#ff95001a}.ticker-aqi.unhealthy{color:var(--aqi-unhealthy);background:#ff3b301a}.ticker-aqi.hazardous{color:var(--aqi-hazardous);background:#8e000026}.ticker-aqi.neutral{color:var(--text-muted);background:#0000000d}@keyframes scroll{0%{transform:translate(0)}to{transform:translate(-50%)}}.ticker-track:hover{animation-play-state:paused}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.location-info h2{font-size:1.75rem;font-weight:600;margin-bottom:.25rem;letter-spacing:-.02em}.timestamp{font-size:.875rem;color:var(--text-muted);font-weight:400}.dashboard-controls{display:flex;gap:.625rem}.aqi-hero-card{display:none}.dashboard-content{display:grid;grid-template-columns:1fr 2fr 1fr;gap:1.5rem;align-items:start}.section-card:first-child{order:-1}.aqi-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem 1.5rem;box-shadow:var(--shadow-md);text-align:center;transition:all .4s cubic-bezier(.34,1.56,.64,1);animation:bounceIn .6s cubic-bezier(.68,-.55,.265,1.55)}.aqi-section:hover{transform:translateY(-8px) scale(1.02);box-shadow:0 12px 40px #0000001f;border-color:var(--primary)}.aqi-hero-inline{margin-bottom:1.5rem}.aqi-number-inline{font-size:5.5rem;font-weight:700;line-height:1;letter-spacing:-.03em;margin-bottom:.5rem;animation:numberPop .5s cubic-bezier(.68,-.55,.265,1.55) .2s backwards;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}.aqi-number-inline:hover{transform:scale(1.1) rotate(-2deg)}@keyframes bounceIn{0%{opacity:0;transform:scale(.3) translateY(50px)}50%{opacity:1;transform:scale(1.05)}70%{transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes numberPop{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:scale(1)}}.aqi-label-inline{font-size:.8125rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-weight:500;display:block;margin-bottom:1.5rem}.aqi-status-inline{padding:1.25rem;background:var(--bg-color);border-radius:12px;text-align:left}.status-badge{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem}.status-indicator{width:12px;height:12px;border-radius:50%;flex-shrink:0;animation:pulse 2s ease-in-out infinite;position:relative}.status-indicator:before{content:"";position:absolute;top:-4px;right:-4px;bottom:-4px;left:-4px;border-radius:50%;border:2px solid currentColor;opacity:0;animation:ring 2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.3)}}@keyframes ring{0%{opacity:.8;transform:scale(.8)}50%{opacity:0;transform:scale(1.5)}to{opacity:0;transform:scale(1.5)}}.status-badge h4{font-size:1.125rem;font-weight:600;letter-spacing:-.01em}.aqi-status-inline p{font-size:.875rem;color:var(--text-muted);line-height:1.5}.section-card{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:1.5rem;box-shadow:var(--shadow-md);height:100%;animation:fadeInUp .6s cubic-bezier(.34,1.56,.64,1) backwards;transition:all .3s cubic-bezier(.34,1.56,.64,1)}.dashboard-content .section-card:nth-child(1){animation-delay:.1s}.dashboard-content .section-card:nth-child(2){animation-delay:.2s}.dashboard-content .section-card:nth-child(3){animation-delay:.3s}.section-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001a}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.section-title{font-size:1rem;font-weight:600;margin-bottom:1.25rem;display:flex;align-items:center;gap:.5rem;color:var(--text-color)}.section-title svg{width:18px;height:18px;color:var(--primary)}.metrics-grid-compact{display:grid;grid-template-columns:repeat(2,1fr);gap:.875rem}.metric-item{display:flex;align-items:center;gap:.875rem;padding:1rem;background:var(--bg-color);border:1px solid var(--border-color);border-radius:12px;transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:slideUp .5s cubic-bezier(.34,1.56,.64,1) backwards}.metric-item:nth-child(1){animation-delay:.1s}.metric-item:nth-child(2){animation-delay:.15s}.metric-item:nth-child(3){animation-delay:.2s}.metric-item:nth-child(4){animation-delay:.25s}.metric-item:nth-child(5){animation-delay:.3s}.metric-item:nth-child(6){animation-delay:.35s}.metric-item:hover{transform:translateY(-5px) scale(1.05);box-shadow:0 8px 24px #0071e326;border-color:var(--primary)}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.metric-item svg{width:24px;height:24px;color:var(--text-muted);flex-shrink:0}.metric-item.status-good svg{color:var(--aqi-good)}.metric-item.status-moderate svg{color:var(--aqi-moderate)}.metric-item.status-poor svg{color:var(--aqi-unhealthy)}.metric-data{flex:1;min-width:0}.metric-name{display:block;font-size:.6875rem;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.25rem}.metric-val{display:block;font-size:1.375rem;font-weight:700;letter-spacing:-.01em;color:var(--text-color)}.health-tips-list{list-style:none;padding:0;margin:0}.health-tips-list li{padding:.875rem;background:var(--bg-color);border-radius:10px;margin-bottom:.625rem;font-size:.875rem;line-height:1.5;color:var(--text-color);border:1px solid var(--border-color);transition:all .3s cubic-bezier(.34,1.56,.64,1);animation:slideInRight .5s cubic-bezier(.34,1.56,.64,1) backwards}.health-tips-list li:nth-child(1){animation-delay:.4s}.health-tips-list li:nth-child(2){animation-delay:.5s}.health-tips-list li:nth-child(3){animation-delay:.6s}.health-tips-list li:nth-child(4){animation-delay:.7s}.health-tips-list li:hover{transform:translate(8px);background:var(--card-bg);box-shadow:var(--shadow-sm);border-color:var(--primary)}.health-tips-list li:last-child{margin-bottom:0}@keyframes slideInRight{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@media (max-width: 1400px){.dashboard-content{grid-template-columns:320px 1fr 360px}}@media (max-width: 1200px){.dashboard-content{grid-template-columns:1fr}.metrics-grid-compact{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){.dashboard-header{flex-direction:column;gap:.75rem}.dashboard-controls{width:100%;justify-content:center}.aqi-number-inline{font-size:4.5rem}.metrics-grid-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){.metrics-grid-compact{grid-template-columns:1fr}}.app-footer{margin-top:auto;padding:2rem 0;border-top:1px solid var(--border-color);text-align:center}.footer-links{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.75rem}.footer-links a{font-size:.875rem;color:var(--text-muted);text-decoration:none;transition:color .2s ease}.footer-links a:hover{color:var(--primary)}.footer-divider{color:var(--border-color);font-size:.875rem}.footer-copyright{font-size:.8125rem;color:var(--text-muted);margin:0}.powered-by-dropdown{position:relative;display:inline-block}.powered-by-trigger{font-size:.875rem;color:var(--text-muted);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color .2s ease}.powered-by-trigger:hover{color:var(--primary)}.powered-by-menu{position:absolute;bottom:100%;left:50%;transform:translate(-50%);margin-bottom:.5rem;background:var(--card-bg);border:1px solid var(--border-color);border-radius:10px;box-shadow:var(--shadow-md);padding:.5rem;min-width:200px;opacity:0;visibility:hidden;transition:all .2s ease;z-index:10}.powered-by-dropdown:hover .powered-by-menu{opacity:1;visibility:visible}.powered-by-menu a{display:block;padding:.625rem .875rem;color:var(--text-muted);text-decoration:none;border-radius:6px;transition:all .2s ease;font-size:.875rem}.powered-by-menu a:hover{background:var(--bg-color);color:var(--primary)}@media (max-width: 640px){.footer-links{flex-direction:column;gap:.5rem}.footer-divider{display:none}.powered-by-menu{left:0;transform:none}}.page-container{max-width:900px;margin:0 auto;padding:2rem;flex:1;display:flex;flex-direction:column}.page-header{margin-bottom:3rem;text-align:center}.back-link{display:inline-flex;align-items:center;gap:.5rem;color:var(--text-muted);text-decoration:none;font-size:.875rem;margin-bottom:2rem;transition:color .2s ease}.back-link:hover{color:var(--primary)}.page-header h1{font-size:3rem;font-weight:600;letter-spacing:-.02em;margin:0}.page-content{margin-bottom:4rem}.content-section{background:var(--card-bg);border:1px solid var(--border-color);border-radius:16px;padding:2rem;margin-bottom:1.5rem;box-shadow:var(--shadow-md)}.content-section h2{font-size:1.75rem;font-weight:600;margin-bottom:1rem;letter-spacing:-.01em}.content-section h3{font-size:1.25rem;font-weight:600;margin:1.5rem 0 .75rem}.content-section p{font-size:1rem;line-height:1.7;color:var(--text-muted);margin-bottom:1rem}.content-section ul{margin:1rem 0;padding-left:1.5rem}.content-section li{font-size:1rem;line-height:1.7;color:var(--text-muted);margin-bottom:.5rem}.content-section a{color:var(--primary);text-decoration:none;font-weight:500}.content-section a:hover{text-decoration:underline}.contact-method{display:flex;gap:1.5rem;padding:1.5rem 0;border-bottom:1px solid var(--border-color)}.contact-method:last-of-type{border-bottom:none}.contact-icon{width:48px;height:48px;background:var(--bg-color);border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--primary)}.contact-info h3{margin:0 0 .5rem;font-size:1.125rem}.contact-info p{margin:.25rem 0}.contact-description{font-size:.875rem!important;color:var(--text-muted)!important}.faq-item{padding:1.5rem 0;border-bottom:1px solid var(--border-color)}.faq-item:last-child{border-bottom:none}.faq-item h3{margin:0 0 .75rem;font-size:1.125rem;color:var(--text-color)}.faq-item p{margin:0}@media (max-width: 768px){.page-header h1{font-size:2.5rem}.contact-method{flex-direction:column}}.hidden{display:none!important}.spinner{width:48px;height:48px;border:4px solid var(--border-color);border-top-color:var(--primary);border-radius:50%;animation:spin .8s cubic-bezier(.68,-.55,.265,1.55) infinite,pulse 1.6s ease-in-out infinite;margin:0 auto 1rem;position:relative}.spinner:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px;border:2px solid var(--primary);border-radius:50%;opacity:.2;animation:spinReverse 1.2s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@keyframes spinReverse{to{transform:rotate(-360deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}@media (max-width: 1024px){.single-view-grid{grid-template-columns:1fr}.metrics-compact{grid-template-columns:repeat(3,1fr)}}@media (max-width: 768px){header h1{font-size:3rem}.metrics-compact{grid-template-columns:repeat(2,1fr)}}@media (max-width: 480px){header h1{font-size:2.5rem}.metrics-compact{grid-template-columns:1fr}}
