@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--atm-top:#1a6fc4;--atm-bot:#f4a736;--glass:#ffffff14;--glass-border:#ffffff24;--glass-hi:#ffffff2e;--text-1:#fffffff2;--text-2:#fff9;--text-3:#ffffff61;--accent:#60a5fa;--space:8px;--r-sm:12px;--r-md:18px;--r-lg:24px;-webkit-font-smoothing:antialiased;font-family:Inter,system-ui,sans-serif}html,body,#root{height:100%}body{background:linear-gradient(160deg, var(--atm-top), var(--atm-bot));min-height:100vh;transition:background .6s;overflow-x:hidden}.atm-canvas{pointer-events:none;z-index:0;width:100%;height:100%;position:fixed;inset:0}.atm-scrim{pointer-events:none;z-index:1;background:linear-gradient(#00000040 0%,#0000001a 40%,#00000059 100%);position:fixed;inset:0}.app{min-height:100vh;position:relative}.shell{z-index:2;max-width:900px;padding:calc(var(--space)*3) calc(var(--space)*2.5) calc(var(--space)*6);margin:0 auto;position:relative}.topbar{margin-bottom:calc(var(--space)*3);justify-content:space-between;align-items:center;display:flex}.brand{color:var(--text-1);letter-spacing:-.3px;align-items:center;gap:8px;font-size:1.1rem;font-weight:600;display:flex}.topbar-actions{align-items:center;gap:8px;display:flex}.pill-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-1);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50px;padding:6px 14px;font-size:.82rem;font-weight:600;transition:background .2s,transform .15s}.pill-btn:hover{background:var(--glass-hi);transform:scale(1.04)}.icon-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-1);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:1rem;transition:background .2s,transform .15s;display:flex}.icon-btn:hover{background:var(--glass-hi);transform:scale(1.08)}.icon-btn.active{color:#fbbf24;border-color:#fbbf24}.search-row{margin-bottom:calc(var(--space)*1.5);gap:10px;display:flex}.search-glass{background:var(--glass);border:1px solid var(--glass-border);border-top:1px solid var(--glass-hi);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50px;flex:1;align-items:center;gap:10px;padding:0 6px 0 16px;transition:border-color .2s;display:flex}.search-glass:focus-within{border-color:var(--accent)}.search-icon-svg{color:var(--text-2);flex-shrink:0}.search-glass input{color:var(--text-1);background:0 0;border:none;outline:none;flex:1;padding:13px 0;font-family:inherit;font-size:.95rem}.search-glass input::placeholder{color:var(--text-3)}.search-submit{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:50px;flex-shrink:0;padding:8px 18px;font-size:.85rem;font-weight:600;transition:opacity .2s,transform .15s}.search-submit:hover{opacity:.85;transform:scale(1.03)}.loc-btn{background:var(--glass);border:1px solid var(--glass-border);width:48px;height:48px;color:var(--text-1);cursor:pointer;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;transition:background .2s,transform .15s;display:flex}.loc-btn:hover{background:var(--glass-hi);transform:scale(1.06)}.chips-row{margin-bottom:calc(var(--space)*2);flex-wrap:wrap;gap:6px;display:flex}.chip{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-2);cursor:pointer;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:50px;padding:4px 12px;font-size:.78rem;transition:all .2s}.chip:hover{color:var(--text-1);background:var(--glass-hi)}.chip-fav{color:#fbbf24;border-color:#fbbf244d}.chip-fav:hover{background:#fbbf2426}.state-card{text-align:center;padding:calc(var(--space)*8) var(--space)*2;color:var(--text-1);flex-direction:column;align-items:center;animation:.5s both fadeUp;display:flex}.welcome-card{padding-top:calc(var(--space)*10);gap:16px}.welcome-orb{border:1px solid var(--glass-border);background:radial-gradient(circle,#60a5fa66,#a78bfa26);border-radius:50%;width:80px;height:80px;animation:3s ease-in-out infinite pulse-orb}@keyframes pulse-orb{0%,to{transform:scale(1);box-shadow:0 0 #60a5fa4d}50%{transform:scale(1.06);box-shadow:0 0 30px 10px #60a5fa26}}.welcome-card h2{color:var(--text-1);font-size:clamp(1.4rem,4vw,2rem);font-weight:300;line-height:1.3}.welcome-card p{color:var(--text-2);font-size:.95rem}.error-card{text-align:left;border-radius:var(--r-md);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fca5a5;background:#ef44441a;border:1px solid #ef444440;flex-direction:row;gap:16px;margin-bottom:20px;padding:20px}.error-card strong{margin-bottom:4px;display:block}.error-card p{opacity:.8;font-size:.88rem}.state-icon{font-size:1.6rem}@keyframes shimmer{to{background-position:-200% 0}}.skel{border-radius:var(--r-md);background:linear-gradient(90deg,#ffffff0f 0%,#ffffff1f 50%,#ffffff0f 100%) 0 0/800px 100%;animation:1.5s infinite shimmer}.skeleton-wrap{flex-direction:column;gap:14px;margin-top:8px;display:flex}.skel-hero{height:200px}.skel-row{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.skel-tile{height:110px}.skel-chart{height:160px}.content{flex-direction:column;gap:14px;animation:.5s both fadeUp;display:flex}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}.hero{background:var(--glass);border:1px solid var(--glass-border);border-top:1px solid var(--glass-hi);border-radius:var(--r-lg);padding:calc(var(--space)*3.5) calc(var(--space)*4);-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);box-shadow:0 8px 40px #00000040, inset 0 1px 0 var(--glass-hi);justify-content:space-between;align-items:center;gap:16px;display:flex}.hero-left{flex:1}.hero-location{color:var(--text-2);letter-spacing:.2px;align-items:center;gap:5px;margin-bottom:4px;font-size:.88rem;font-weight:500;display:flex}.hero-date{color:var(--text-3);margin-bottom:12px;font-size:.82rem}.hero-temp{color:var(--text-1);letter-spacing:-3px;margin-bottom:10px;font-size:clamp(4rem,10vw,7rem);font-weight:200;line-height:.95}.hero-unit{letter-spacing:0;opacity:.8;font-size:.35em;font-weight:300}.hero-desc{color:var(--text-2);text-transform:capitalize;margin-bottom:8px;font-size:1rem;font-weight:400}.hero-meta{color:var(--text-3);align-items:center;gap:6px;font-size:.82rem;display:flex}.dot{opacity:.4}.hero-icon-wrap{filter:drop-shadow(0 0 24px #60a5fa59);flex-shrink:0}.hero-weather-icon{display:block}.section-glass{background:var(--glass);border:1px solid var(--glass-border);border-top:1px solid var(--glass-hi);border-radius:var(--r-lg);padding:calc(var(--space)*2.5) calc(var(--space)*3);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 24px #0000002e, inset 0 1px 0 var(--glass-hi)}.section-head{color:var(--text-3);text-transform:uppercase;letter-spacing:1.2px;margin-bottom:16px;font-size:.72rem;font-weight:600}.hourly-chart{margin:0 -8px}.range-bars{flex-direction:column;gap:12px;display:flex}.range-row{align-items:center;gap:10px;display:flex}.range-day{width:32px;color:var(--text-2);flex-shrink:0;font-size:.82rem;font-weight:500}.range-icon{flex-shrink:0}.range-lo,.range-hi{width:34px;color:var(--text-2);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:.82rem}.range-lo{text-align:right}.range-hi{text-align:left}.range-track{background:#ffffff1a;border-radius:3px;flex:1;height:6px;position:relative;overflow:visible}.range-fill{background:linear-gradient(90deg,#60a5fa,#a78bfa);border-radius:3px;min-width:8%;height:100%;position:absolute;top:0}.tiles-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.glass-tile{background:var(--glass);border:1px solid var(--glass-border);border-top:1px solid var(--glass-hi);border-radius:var(--r-md);padding:calc(var(--space)*2) calc(var(--space)*2.5);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);box-shadow:0 4px 20px #00000026, inset 0 1px 0 var(--glass-hi);flex-direction:column;gap:8px;transition:transform .2s,box-shadow .2s;display:flex}.glass-tile:hover{box-shadow:0 8px 32px #00000040, inset 0 1px 0 var(--glass-hi);transform:translateY(-3px)}.tile-wide{grid-column:span 2}.tile-label{color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;font-size:.7rem;font-weight:600}.tile-body{flex-direction:column;align-items:center;gap:4px;display:flex}.tile-big{color:var(--text-1);font-size:2.2rem;font-weight:200;line-height:1}.tile-sub{color:var(--text-3);font-size:.75rem}.tile-stat{color:var(--text-2);font-size:.9rem;font-weight:500}.tile-stat span{color:var(--text-3);font-size:.7rem}.aqi-row{align-items:center;gap:12px;width:100%;display:flex}.aqi-track{flex:1;gap:3px;display:flex}.aqi-seg{border-radius:3px;flex:1;height:6px;transition:opacity .3s}.aqi-label{min-width:60px;font-size:.88rem;font-weight:600}.aqi-components{flex-wrap:wrap;gap:16px;margin-top:4px;display:flex}.aqi-cmp{flex-direction:column;align-items:center;gap:2px;display:flex}.aqi-cmp span{color:var(--text-3);font-size:.7rem}.aqi-cmp strong{color:var(--text-2);font-size:.88rem;font-weight:500}.glass-tile{animation:.4s both fadeUp}.glass-tile:first-child{animation-delay:50ms}.glass-tile:nth-child(2){animation-delay:.1s}.glass-tile:nth-child(3){animation-delay:.15s}.glass-tile:nth-child(4){animation-delay:.2s}.glass-tile:nth-child(5){animation-delay:.25s}.glass-tile:nth-child(6){animation-delay:.3s}.glass-tile:nth-child(7){animation-delay:.35s}@media (width>=768px){.shell{padding:calc(var(--space)*4) calc(var(--space)*4) calc(var(--space)*8)}.tiles-grid{grid-template-columns:repeat(4,1fr)}.tile-wide{grid-column:span 2}}@media (width<=600px){.shell{padding:calc(var(--space)*2) var(--space)*2 calc(var(--space)*6)}.hero{text-align:center;flex-direction:column;padding:24px 20px}.hero-location{justify-content:center}.hero-meta{flex-wrap:wrap;justify-content:center}.hero-icon-wrap{order:-1}.tiles-grid{grid-template-columns:repeat(2,1fr)}.tile-wide{grid-column:span 2}.skel-row{grid-template-columns:repeat(2,1fr)}.search-submit{padding:8px 12px;font-size:.8rem}}@media (width<=380px){.hero-temp{font-size:3.5rem}.tiles-grid{grid-template-columns:repeat(2,1fr);gap:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#fff3;border-radius:3px}.globe-screen{background:#020818;width:100vw;height:100vh;position:relative;overflow:hidden}.globe-space{z-index:0;background:radial-gradient(#0d1b3e 0%,#020818 70%);position:absolute;inset:0}.globe-container{z-index:1;position:absolute;inset:0}.globe-overlay{z-index:10;pointer-events:none;flex-direction:column;max-width:900px;margin:0 auto;padding:24px 24px 0;display:flex;position:absolute;inset:0}.globe-overlay>*{pointer-events:auto}.globe-overlay .topbar{margin-bottom:16px}.globe-overlay .search-row{margin-bottom:10px}.globe-overlay .chips-row{margin-bottom:0}.globe-headline{text-align:center;pointer-events:none;animation:.8s .3s both fadeUp;position:absolute;bottom:60px;left:0;right:0}.globe-headline h1{color:#ffffffe6;letter-spacing:-1px;text-shadow:0 2px 20px #00000080;margin-bottom:8px;font-size:clamp(1.6rem,4vw,2.8rem);font-weight:200;line-height:1.2}.globe-headline p{color:#fff6;letter-spacing:.5px;font-size:.9rem}.globe-loading{z-index:5;color:#ffffff80;background:#020818;flex-direction:column;justify-content:center;align-items:center;gap:20px;display:flex;position:absolute;inset:0}.globe-shimmer{background:linear-gradient(135deg,#1e40af33,#0d1b3e66);border:1px solid #60a5fa26;border-radius:50%;width:min(400px,70vw);height:min(400px,70vw);animation:1.5s infinite shimmer,3s ease-in-out infinite pulse-orb}.globe-shimmer-big{background:#020818;width:100vw;height:100vh;animation:1.5s infinite shimmer}.globe-fallback{background:#020818;width:100vw;height:100vh}.globe-loading-bar{z-index:20;pointer-events:none;background:#ffffff0d;height:2px;position:absolute;bottom:0;left:0;right:0}.globe-loading-fill{background:linear-gradient(90deg,#0000,#60a5fa,#0000);height:100%;animation:1.5s ease-in-out infinite loadbar}@keyframes loadbar{0%{transform:translate(-100%)}to{transform:translate(200%)}}.globe-error{color:#fca5a5;z-index:20;background:#ef444426;border:1px solid #ef44444d;border-radius:8px;padding:8px 16px;font-size:.82rem;position:absolute;bottom:16px;left:50%;transform:translate(-50%)}.globe-tooltip-float{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);color:#fff;pointer-events:none;z-index:20;background:#0a0f23e6;border:1px solid #ffffff24;border-radius:10px;align-items:center;gap:10px;padding:8px 16px;font-size:.88rem;animation:.2s fadeUp;display:flex;position:absolute;top:120px;left:50%;transform:translate(-50%)}.globe-tooltip-float strong{font-weight:600}.globe-tooltip-float span{color:#fff9}.globe-tooltip{color:#fff;background:#0a0f23eb;border:1px solid #ffffff1f;border-radius:8px;padding:6px 12px;font-family:Inter,sans-serif;font-size:12px}.globe-legend{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;pointer-events:none;background:#0a0f23cc;border:1px solid #ffffff1f;border-radius:12px;min-width:160px;padding:10px 14px;position:absolute;bottom:24px;right:24px}.legend-bar{border-radius:3px;height:6px;margin-bottom:6px}.legend-ticks{color:#ffffff80;justify-content:space-between;font-size:9px;display:flex}.back-btn{background:var(--glass);border:1px solid var(--glass-border);color:var(--text-2);cursor:pointer;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:50px;padding:6px 14px;font-size:.82rem;font-weight:500;transition:all .2s}.back-btn:hover{color:var(--text-1);background:var(--glass-hi)}.tile-clickable{cursor:pointer}.tile-clickable:hover{border-color:#60a5fa66}.tile-clickable:focus{outline:2px solid var(--accent);outline-offset:2px}.tile-expand-hint{color:var(--text-3);margin-left:auto;font-size:.7rem;transition:color .2s}.tile-clickable:hover .tile-expand-hint{color:var(--accent)}.drawer-overlay{z-index:100;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.drawer-panel{-webkit-backdrop-filter:blur(30px);backdrop-filter:blur(30px);background:#0a0f28f2;border:1px solid #ffffff1f;border-top-color:#fff3;border-bottom:none;border-radius:24px 24px 0 0;outline:none;width:100%;max-width:700px;max-height:85vh;margin:0 auto;padding:24px;animation:.35s cubic-bezier(.16,1,.3,1) slideUp;overflow-y:auto;box-shadow:0 -8px 40px #0006}@keyframes slideUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}.drawer-header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.drawer-title{color:var(--text-1);font-size:1.1rem;font-weight:600}.drawer-close{color:var(--text-2);cursor:pointer;background:#ffffff14;border:1px solid #ffffff1f;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-size:.9rem;transition:all .2s;display:flex}.drawer-close:hover{color:var(--text-1);background:#ffffff26}.drawer-content{flex-direction:column;gap:16px;display:flex}.drawer-stats-row{flex-wrap:wrap;gap:16px;display:flex}.dstat{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;flex-direction:column;flex:1;gap:4px;min-width:100px;padding:12px 16px;display:flex}.dstat span{color:var(--text-3);text-transform:uppercase;letter-spacing:.5px;font-size:.72rem}.dstat strong{color:var(--text-1);font-size:1rem;font-weight:600}.drawer-chart-title{color:var(--text-3);text-transform:uppercase;letter-spacing:.8px;font-size:.72rem}.aqi-big-label{flex-direction:column;gap:4px;font-size:1.5rem;font-weight:700;display:flex}.aqi-note{color:var(--text-2);font-size:.85rem;font-weight:400}.aqi-full-track{border-radius:8px;gap:2px;height:36px;display:flex;overflow:hidden}.aqi-full-seg{color:#0009;flex:1;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;transition:opacity .3s;display:flex}.aqi-comps-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.aqi-comp-card{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.aqi-comp-name{color:var(--text-3);font-size:.7rem}.aqi-comp-val{color:var(--text-1);font-size:1rem;font-weight:600}.aqi-comp-unit{color:var(--text-3);font-size:.65rem}@media (width<=600px){.drawer-panel{border-radius:20px 20px 0 0;padding:20px 16px}.aqi-comps-grid{grid-template-columns:repeat(2,1fr)}.globe-legend{min-width:130px;bottom:16px;right:16px}.globe-headline{bottom:40px}}.ai-badge{color:#fff;letter-spacing:.04em;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:99px;flex-shrink:0;align-items:center;padding:2px 7px;font-size:10px;font-weight:700;display:inline-flex}.ai-disclaimer{color:#ffffff59;text-align:center;margin:0;padding-top:8px;font-size:10px}.ai-briefing{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#7c3aed1a;border:1px solid #7c3aed40;border-radius:16px;margin-bottom:16px;padding:16px}.ai-briefing--loading{min-height:80px}.ai-briefing-shimmer{background:linear-gradient(90deg,#ffffff0d 0%,#ffffff1f 50%,#ffffff0d 100%) 0 0/200% 100%;border-radius:7px;height:14px;margin-bottom:10px;animation:1.5s infinite shimmer}.ai-briefing-shimmer--short{width:60%}.ai-briefing-header{align-items:center;gap:8px;margin-bottom:8px;display:flex}.ai-briefing-headline{color:#fff;font-size:15px;font-weight:600}.ai-briefing-summary{color:#ffffffbf;margin:0 0 12px;font-size:13px;line-height:1.55}.ai-briefing-pills{flex-wrap:wrap;gap:8px;margin-bottom:10px;display:flex}.ai-pill{color:#ffffffd9;background:#ffffff12;border:1px solid #ffffff1a;border-radius:99px;align-items:center;gap:6px;padding:4px 12px;font-size:12px;display:flex}.ai-pill--alert{color:#fbbf24;background:#fbbf241f;border-color:#fbbf244d}.ai-pill-icon{font-size:14px}.ai-advisories{color:#fca5a5;flex-direction:column;gap:4px;margin:0 0 8px;padding:0;font-size:12px;list-style:none;display:flex}.ai-fab-group{z-index:200;flex-direction:column;align-items:flex-end;gap:10px;display:flex;position:fixed;bottom:24px;right:20px}.ai-fab{cursor:pointer;border:none;justify-content:center;align-items:center;font-weight:700;transition:transform .15s;display:flex}.ai-fab:hover{transform:translateY(-2px)}.ai-fab--chat{color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:99px;gap:6px;padding:10px 18px;font-size:13px;box-shadow:0 4px 20px #7c3aed80}.ai-fab--plan{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);color:#fff;background:#ffffff1a;border:1px solid #ffffff26;border-radius:50%;width:40px;height:40px;font-size:18px}.chat-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:flex-end;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.chat-drawer{background:#0a0c1ef7;border:1px solid #ffffff1a;border-radius:20px 20px 0 0;flex-direction:column;width:100%;max-width:520px;min-height:320px;max-height:80vh;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex}.chat-header{border-bottom:1px solid #ffffff14;justify-content:space-between;align-items:center;padding:14px 16px 12px;display:flex}.chat-title{color:#fff;align-items:center;gap:8px;font-size:14px;font-weight:600;display:flex}.chat-close{cursor:pointer;color:#ffffff80;background:0 0;border:none;padding:4px;font-size:16px}.chat-close:hover{color:#fff}.chat-messages{scroll-behavior:smooth;flex-direction:column;flex:1;gap:12px;padding:14px 16px;display:flex;overflow-y:auto}.chat-empty{text-align:center;color:#ffffff80;padding:16px 0;font-size:13px}.chat-empty-icon{margin-bottom:8px;font-size:36px}.chat-empty p{margin:0 0 14px}.chat-starters{flex-wrap:wrap;justify-content:center;gap:6px;display:flex}.chat-starter{color:#fffc;cursor:pointer;background:#7c3aed26;border:1px solid #7c3aed4d;border-radius:99px;padding:5px 12px;font-size:11px;transition:background .15s}.chat-starter:hover{background:#7c3aed4d}.chat-msg{align-items:flex-start;gap:8px;display:flex}.chat-msg--user{flex-direction:row-reverse}.chat-msg-badge{color:#7c3aed;flex-shrink:0;margin-top:2px;font-size:12px}.chat-msg-body{color:#ffffffe6;background:#ffffff12;border-radius:12px 12px 12px 3px;max-width:84%;padding:9px 12px;font-size:13px;line-height:1.55}.chat-msg--user .chat-msg-body{color:#fff;background:#7c3aed40;border-radius:12px 12px 3px}.chat-cursor{vertical-align:text-bottom;background:#7c3aed;width:2px;height:14px;margin-left:2px;animation:.7s step-end infinite blink;display:inline-block}@keyframes blink{50%{opacity:0}}.chat-error{color:#f87171;background:#f871711a;border-radius:8px;padding:8px 12px;font-size:12px}.chat-input-row{border-top:1px solid #ffffff12;gap:8px;padding:10px 12px 12px;display:flex}.chat-input{color:#fff;background:#ffffff12;border:1px solid #ffffff1f;border-radius:10px;outline:none;flex:1;padding:9px 12px;font-size:13px}.chat-input:focus{border-color:#7c3aed80}.chat-input::placeholder{color:#ffffff59}.chat-send{color:#fff;cursor:pointer;background:linear-gradient(135deg,#7c3aed,#4f46e5);border:none;border-radius:10px;width:38px;font-size:16px;font-weight:700;transition:opacity .15s}.chat-send:disabled{opacity:.4;cursor:default}.chat-stop{color:#f87171;cursor:pointer;background:#f8717126;border:1px solid #f871714d;border-radius:10px;width:100%;padding:9px;font-size:13px}.chat-disclaimer{padding:4px 16px 12px}.md-text{flex-direction:column;gap:3px;display:flex}.md-line{display:block}.md-bullet{padding-left:4px}.md-code{background:#ffffff1a;border-radius:4px;padding:1px 5px;font-family:monospace;font-size:12px}.planner-overlay{z-index:300;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0006;justify-content:center;align-items:center;padding:20px;animation:.2s fadeIn;display:flex;position:fixed;inset:0}.planner-panel{background:#0a0c1ef7;border:1px solid #ffffff1a;border-radius:20px;flex-direction:column;width:100%;max-width:480px;max-height:90vh;padding:0 0 4px;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;display:flex;overflow:hidden}.planner-header{border-bottom:1px solid #ffffff14;align-items:center;gap:8px;padding:14px 16px 12px;display:flex}.planner-title{color:#fff;flex:1;font-size:14px;font-weight:600}.planner-chips{flex-wrap:wrap;gap:6px;padding:12px 16px 8px;display:flex}.planner-chip{color:#ffffffb3;cursor:pointer;background:#ffffff12;border:1px solid #ffffff1f;border-radius:99px;padding:4px 11px;font-size:11px}.planner-chip--active{color:#fff;background:#7c3aed4d;border-color:#7c3aed80}.planner-custom-row{gap:8px;padding:4px 16px 12px;display:flex}.planner-go{flex-shrink:0;width:38px}.planner-loading{color:#fff9;align-items:center;gap:10px;padding:20px 16px;font-size:13px;display:flex}.planner-spinner{border:2px solid #7c3aed4d;border-top-color:#7c3aed;border-radius:50%;flex-shrink:0;width:18px;height:18px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.planner-results{flex-direction:column;flex:1;gap:8px;padding:8px 16px 4px;display:flex;overflow-y:auto}.planner-day{background:#ffffff0d;border:1px solid #ffffff14;border-radius:12px;align-items:center;gap:10px;padding:10px 12px;display:flex}.planner-day--best{background:#7c3aed26;border-color:#7c3aed4d}.planner-rank{text-align:center;min-width:28px;font-size:18px;font-weight:800}.planner-day-icon{flex-shrink:0}.planner-day-info{flex:1;min-width:0}.planner-day-name{color:#fff;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.planner-best-badge{color:#fff;background:linear-gradient(135deg,#7c3aed,#4f46e5);border-radius:99px;padding:2px 7px;font-size:9px;font-weight:700}.planner-day-reason{color:#fff9;margin-top:2px;font-size:11px}.planner-day-meta{color:#ffffff73;margin-top:2px;font-size:11px}.planner-score-bar{background:#ffffff14;border-radius:2px;flex-direction:column;justify-content:flex-end;width:4px;height:40px;display:flex;overflow:hidden}.planner-score-bar>div{border-radius:2px;width:100%}.cesium-widget-credits,.cesium-credit-lightbox-overlay{display:none!important}.cesium-layer-panel{flex-direction:column;align-items:flex-end;gap:8px;display:flex}.layer-toggle-btn{color:#fff;cursor:pointer;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#0f0f1ed9;border:1px solid #ffffff2e;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;transition:background .2s,transform .15s;display:flex}.layer-toggle-btn:hover{background:#ffffff26;transform:scale(1.06)}.layer-list{-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#0a0a19e6;border:1px solid #ffffff24;border-radius:16px;flex-direction:column;gap:8px;min-width:180px;padding:10px;display:flex}.layer-row{flex-direction:column;gap:4px;display:flex}.layer-chip{color:var(--text-2);cursor:pointer;text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:99px;align-items:center;gap:8px;width:100%;padding:7px 12px;font-size:.82rem;font-weight:500;transition:all .2s;display:flex}.layer-chip:hover{color:var(--text-1);background:#ffffff1f}.layer-chip.active{color:#60a5fa;background:#60a5fa33;border-color:#60a5fa80}.layer-opacity{appearance:none;cursor:pointer;background:#ffffff26;border-radius:2px;outline:none;width:100%;height:3px;margin:0 4px}.layer-opacity::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#60a5fa;border-radius:50%;width:12px;height:12px}.radar-timeline{background:#ffffff0d;border:1px solid #ffffff14;border-radius:10px;justify-content:space-between;align-items:center;padding:4px 8px;display:flex}.radar-timeline button{color:var(--text-2);cursor:pointer;background:0 0;border:none;align-items:center;padding:2px;display:flex}.radar-timeline button:hover{color:var(--text-1)}.radar-time{color:var(--text-2);font-size:.78rem}.globe-click-hint{color:#fff9;pointer-events:none;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);white-space:nowrap;z-index:5;background:#0f0f1ebf;border:1px solid #ffffff1f;border-radius:99px;padding:6px 16px;font-size:.78rem;position:absolute;bottom:24px;left:50%;transform:translate(-50%)}.suggestions-dropdown{border-radius:var(--r-md);z-index:100;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);background:#0f0f1ef5;border:1px solid #ffffff24;position:absolute;top:calc(100% + 4px);left:0;right:48px;overflow:hidden;box-shadow:0 8px 32px #00000080}.suggestion-item{width:100%;color:var(--text-1);cursor:pointer;text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:10px 16px;font-size:.9rem;transition:background .15s;display:flex}.suggestion-item:hover{background:#ffffff12}.suggestion-item+.suggestion-item{border-top:1px solid #ffffff0f}.golden-hour-row{color:var(--text-2);flex-wrap:wrap;gap:12px;margin-top:6px;font-size:.72rem;display:flex}.golden-hour-row span{white-space:nowrap;align-items:center;gap:4px;display:flex}[data-color-scheme=light]{--glass:#ffffff8c;--glass-border:#ffffffbf;--glass-hi:#ffffffeb;--text-1:#0a0a19eb;--text-2:#0a0a1999;--text-3:#0a0a1961;--accent:#1d4ed8}[data-color-scheme=light] .hero,[data-color-scheme=light] .section-glass,[data-color-scheme=light] .glass-tile{box-shadow:0 4px 24px #00000014,inset 0 1px #ffffffd9}[data-color-scheme=light] .back-btn,[data-color-scheme=light] .pill-btn,[data-color-scheme=light] .icon-btn{background:#fff9}[data-color-scheme=light] .search-glass{background:#ffffffa6}[data-color-scheme=light] .chip{color:var(--text-2);background:#ffffff8c}@media (prefers-color-scheme:light){[data-color-scheme=auto]{--glass:#ffffff8c;--glass-border:#ffffffbf;--glass-hi:#ffffffeb;--text-1:#0a0a19eb;--text-2:#0a0a1999;--text-3:#0a0a1961;--accent:#1d4ed8}}.alert-banner{border-radius:var(--r-sm);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:10px;padding:11px 16px;font-size:.85rem;font-weight:500;animation:.3s both fadeUp;display:flex}.alert-banner--warn{color:#fcd34d;background:#fbbf2421;border:1px solid #fbbf2459}.alert-banner--alert{color:#fca5a5;background:#ef444421;border:1px solid #ef444459}.alert-banner-msg{flex:1}.alert-banner-close{cursor:pointer;color:currentColor;opacity:.6;background:0 0;border:none;align-items:center;padding:2px;transition:opacity .15s;display:flex}.alert-banner-close:hover{opacity:1}.nowcast-strip{background:var(--glass);border:1px solid var(--glass-border);border-radius:var(--r-sm);color:var(--text-2);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:9px;padding:10px 16px;font-size:.84rem;animation:.4s .1s both fadeUp;display:flex}.wind-unit-btn{color:var(--text-2);cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:4px;padding:2px 6px;font-family:inherit;font-size:.9rem;font-weight:500;transition:background .15s,color .15s;display:flex}.wind-unit-btn:hover{color:var(--text-1);background:#ffffff1a}.wind-unit-btn span{color:var(--text-3);font-size:.7rem}.temp-compare{color:var(--accent);opacity:.9;font-size:.8rem;font-weight:500}.fav-cards-scroll{scroll-snap-type:x mandatory;scrollbar-width:none;gap:10px;margin:0 -4px;padding-bottom:4px;padding-left:4px;display:flex;overflow-x:auto}.fav-cards-scroll::-webkit-scrollbar{display:none}.fav-card{scroll-snap-align:start;border-radius:var(--r-sm);cursor:pointer;text-align:left;background:#ffffff0f;border:1px solid #ffffff1a;flex-direction:column;flex-shrink:0;gap:3px;width:130px;padding:12px 14px;transition:background .2s,transform .15s,border-color .2s;display:flex}.fav-card:hover{background:#ffffff1a;transform:translateY(-2px)}.fav-card--active{background:#60a5fa1f;border-color:#60a5fa80}.fav-card-loc{color:var(--text-1);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;font-weight:600;overflow:hidden}.fav-card-country{color:var(--text-3);margin-bottom:6px;font-size:.7rem}.fav-card-icon{margin:2px 0}.fav-card-temp{color:var(--text-1);font-size:1.25rem;font-weight:300;line-height:1}.fav-card-desc{color:var(--text-3);text-transform:capitalize;white-space:nowrap;text-overflow:ellipsis;margin-top:1px;font-size:.68rem;overflow:hidden}.fav-card-skel{background:linear-gradient(90deg,#ffffff0d 0%,#ffffff1a 50%,#ffffff0d 100%) 0 0/200% 100%;border-radius:8px;height:50px;margin-top:4px;animation:1.5s infinite shimmer}.space-view-btn{z-index:10;-webkit-backdrop-filter:blur(10px);color:#fffc;letter-spacing:.02em;cursor:pointer;white-space:nowrap;background:#0a0e1aa6;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:6px;padding:7px 14px 7px 10px;font-size:.78rem;font-weight:500;transition:background .2s,border-color .2s,transform .15s,box-shadow .2s;display:flex;position:absolute;bottom:36px;left:50%;transform:translate(-50%);box-shadow:0 2px 12px #00000059}.space-view-btn:hover{background:#1e2846cc;border-color:#60a5fa66;transform:translate(-50%)translateY(-1px);box-shadow:0 4px 18px #60a5fa2e}.space-view-btn--active{color:#93c5fd;background:#142850bf;border-color:#60a5fa80}.space-view-btn--active:hover{border-color:#60a5fab3}@media (prefers-reduced-motion:reduce){.space-view-btn{transition:none}}
