*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;min-height:100dvh;background:linear-gradient(180deg,#0b4f6c,#1a8fbf 45%,#ade8f4 80%,#fff8dc);color:#fff;transition:background 1.5s ease;display:flex;flex-direction:column;overflow-x:hidden}body.theme-sunny{color:#0d3349}body.theme-rainy{background:linear-gradient(180deg,#1a1a2e,#16213e 45%,#455a64 80%,#607d8b)}#app{display:flex;flex-direction:column;min-height:100dvh}.search-header{padding:1.5rem 1rem;position:relative;z-index:100}.search-container{display:flex;gap:.5rem;max-width:500px;margin:0 auto;background:#ffffff1f;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:50px;padding:.4rem .4rem .4rem 1.25rem}#location-input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:1rem;min-width:0}#location-input::placeholder{color:#ffffff8c}#search-btn,#gps-btn{background:#ffffff26;border:none;border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;padding:.5rem 1.1rem;transition:background .2s;white-space:nowrap}#gps-btn{padding:.5rem .8rem;font-size:1.05rem}#search-btn:hover,#gps-btn:hover{background:#ffffff47}.suggestions{position:absolute;top:calc(100% - .75rem);left:50%;transform:translate(-50%);width:min(500px,calc(100% - 2rem));background:#081c37f5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;z-index:200}.suggestions.hidden{display:none}.suggestion-item{padding:.85rem 1.25rem;cursor:pointer;font-size:.95rem;color:#ffffffe0;transition:background .15s}.suggestion-item:hover{background:#ffffff1a}main{flex:1;display:flex;align-items:center;justify-content:center;padding:1rem 1rem 3rem}.hidden{display:none!important}#loading{display:flex;flex-direction:column;align-items:center;gap:1.25rem;font-size:1.1rem;opacity:.8}.spinner{width:48px;height:48px;border:3px solid rgba(255,255,255,.2);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#error{text-align:center;font-size:1.1rem;opacity:.85;max-width:360px;line-height:1.6}#result{text-align:center;display:flex;flex-direction:column;align-items:center;gap:.25rem;animation:fadeUp .5s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}.metrics{display:flex;flex-wrap:wrap;gap:18px;justify-content:center;width:100%;max-width:920px}.metric{flex:1;min-width:300px;display:flex;flex-direction:column;align-items:center;gap:.2rem;background:#ffffff14;border:1px solid rgba(255,255,255,.22);border-radius:24px;padding:1.6rem 1.1rem 1.5rem}body.theme-sunny .metric{background:#0d334912;border-color:#0d33492e}.metric-eyebrow{font-size:.72rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;opacity:.55;margin-bottom:.2rem}.metric-sub{font-size:clamp(.75rem,1.8vw,.9rem);opacity:.6;margin-top:.35rem;text-align:center;line-height:1.4}#weather-icon,#next-rain-icon{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);pointer-events:none;z-index:0;display:flex;align-items:center;justify-content:center}.sun-wrapper .sun{width:200px;height:200px;border-radius:50%;position:relative;background:radial-gradient(circle,rgba(245,239,168,.5) 0%,transparent 48%)}.sun-wrapper .sun:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:repeating-conic-gradient(from 6deg,rgba(243,236,150,.7) 0deg 5deg,transparent 5deg 30deg);mask-image:radial-gradient(circle,transparent 30%,#000 36%,rgba(0,0,0,.3) 46%,transparent 52%);-webkit-mask-image:radial-gradient(circle,transparent 30%,#000 36%,rgba(0,0,0,.3) 46%,transparent 52%);animation:sunPulse 5s ease-in-out infinite}.sun-wrapper .sun:after{content:none}@keyframes sunPulse{0%,to{opacity:.8;transform:scale(1)}50%{opacity:1;transform:scale(1.04)}}#weather-icon.cloud-wrapper{flex-direction:column;gap:.75rem;opacity:.45}.cloud{width:140px;height:56px;background:#90a4ae;border-radius:60px;position:relative;filter:drop-shadow(0 6px 16px rgba(0,0,0,.35))}.cloud:before,.cloud:after{content:"";position:absolute;background:#90a4ae;border-radius:50%}.cloud:before{width:64px;height:64px;top:-28px;left:18px}.cloud:after{width:44px;height:44px;top:-16px;left:70px}.rain-drops{display:flex;gap:14px}.drop{width:3px;height:18px;background:linear-gradient(to bottom,rgba(100,181,246,.9),transparent);border-radius:2px;animation:rainFall 1.3s ease-in infinite}.drop:nth-child(1){animation-delay:0s}.drop:nth-child(2){animation-delay:.28s}.drop:nth-child(3){animation-delay:.55s}.drop:nth-child(4){animation-delay:.12s}.drop:nth-child(5){animation-delay:.78s}@keyframes rainFall{0%{transform:translateY(-8px);opacity:0}15%{opacity:1}to{transform:translateY(18px);opacity:0}}#next-rain-icon{align-items:flex-start;padding-top:1.4rem;opacity:.45}#next-rain-icon .drop{background:linear-gradient(to bottom,rgba(43,134,187,.9),transparent)}.days-display{position:relative;display:flex;align-items:center;justify-content:center;min-height:160px;width:100%}#days-number{font-size:clamp(3.5rem,14vw,8rem);font-weight:900;line-height:1;background:linear-gradient(180deg,#fff 20%,#ffffffb3);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 14px rgba(0,0,0,.25));font-variant-numeric:tabular-nums;position:relative;z-index:1}body.theme-sunny #days-number{background:linear-gradient(180deg,#0d3349 20%,#0d3349bf);-webkit-background-clip:text;background-clip:text}#next-rain-number{font-size:clamp(3.5rem,14vw,8rem);font-weight:900;line-height:1;background:linear-gradient(180deg,#0d3349 20%,#0d3349bf);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;filter:drop-shadow(0 4px 14px rgba(0,0,0,.15));font-variant-numeric:tabular-nums;position:relative;z-index:1}.days-label{font-size:clamp(.85rem,2.5vw,1.2rem);font-weight:300;opacity:.82;letter-spacing:.06em;text-transform:uppercase}.location-row{display:flex;align-items:center;gap:.75rem;margin-top:1.5rem}.share-btn{display:inline-flex;align-items:center;gap:.4rem;background:#ffffff26;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.25);border-radius:50px;color:#fff;cursor:pointer;font-size:.82rem;font-weight:500;letter-spacing:.03em;padding:.35rem .85rem .35rem .65rem;transition:background .2s,transform .15s;white-space:nowrap}.share-btn:hover{background:#ffffff47;transform:translateY(-1px)}.share-btn:active{transform:translateY(0)}body.theme-sunny .share-btn{background:#0d33491f;border-color:#0d334940;color:#0d3349}body.theme-sunny .share-btn:hover{background:#0d334938}.last-rain{font-size:clamp(.8rem,2vw,.95rem);opacity:.6;margin-top:.35rem}.lang-switcher{display:flex;justify-content:flex-end;gap:.25rem;max-width:500px;margin:.4rem auto 0;padding-right:.25rem}.lang-btn{background:none;border:none;cursor:pointer;font-size:1.35rem;line-height:1;padding:.2rem;opacity:.4;transition:opacity .2s,transform .15s;border-radius:4px}.lang-btn:hover{opacity:.75;transform:scale(1.15)}.lang-btn.active{opacity:1}.filter-toggle-row{display:flex;justify-content:center;padding:.5rem 1rem 1rem}.filter-toggle{display:flex;align-items:center;gap:.6rem;cursor:pointer;-webkit-user-select:none;user-select:none}.filter-toggle input[type=checkbox]{position:absolute;opacity:0;width:0;height:0}.toggle-track{position:relative;width:40px;height:22px;background:#fff3;border-radius:50px;transition:background .25s;flex-shrink:0}.toggle-track:after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;background:#fff;border-radius:50%;transition:transform .25s}.filter-toggle input:checked+.toggle-track{background:#4fc3f7}.filter-toggle input:checked+.toggle-track:after{transform:translate(18px)}.toggle-label{font-size:.85rem;opacity:.75;color:#fff}body.theme-sunny .toggle-label{color:#0d3349}body.theme-sunny .toggle-track{background:#0d334933}body.theme-sunny .filter-toggle input:checked+.toggle-track{background:#0d7bb3}body.theme-sunny .filter-toggle input:checked+.toggle-track:after{background:#fff}.footer{text-align:center;padding:1.25rem;font-size:1.0625rem;opacity:.85;color:#0d3349}body.theme-rainy .footer{color:#fff}.footer a{color:inherit;text-decoration:underline;text-underline-offset:3px;transition:opacity .2s}.footer a:hover{opacity:.9}.ios-prompt-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-end;justify-content:center;padding:1rem;z-index:1000;animation:promptFadeIn .25s ease}.ios-prompt-overlay.ios-prompt-hiding{animation:promptFadeOut .25s ease forwards}@keyframes promptFadeIn{0%{opacity:0}to{opacity:1}}@keyframes promptFadeOut{0%{opacity:1}to{opacity:0}}.ios-prompt{background:#0a1e3cf5;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.15);border-radius:20px;padding:1.5rem 1.5rem 1.25rem;max-width:420px;width:100%;display:flex;flex-direction:column;gap:.65rem;animation:promptSlideUp .3s cubic-bezier(.34,1.56,.64,1)}@keyframes promptSlideUp{0%{transform:translateY(40px);opacity:0}to{transform:translateY(0);opacity:1}}.ios-prompt-title{font-size:1.1rem;font-weight:700;color:#fff}.ios-prompt-body{font-size:.95rem;color:#ffffffd9;line-height:1.5}.ios-prompt-steps{font-size:.9rem;color:#7ec8f0;font-weight:500;line-height:1.5}.ios-prompt-btn{align-self:flex-end;margin-top:.25rem;background:#ffffff26;border:1px solid rgba(255,255,255,.25);border-radius:50px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:600;padding:.5rem 1.4rem;transition:background .2s}.ios-prompt-btn:hover{background:#ffffff47}
