*{--font-size:1.175rem;--border-color:#94a3b833;--spacing:.5rem;--mobile-font-size:1.1rem;--mobile-spacing:.75rem}html{scroll-behavior:smooth}@keyframes slideDown{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}body{font-optical-sizing:auto;color:#374151;box-sizing:border-box;background-color:#0093e9;background-image:linear-gradient(160deg,#0093e9 0%,#80d0c7 100%);flex-direction:column;min-height:100vh;margin:0;padding:1rem 1rem 0;font-family:Open Sans,sans-serif;font-size:16px;display:flex}@media (width<=480px){body{padding:.5rem;font-size:16px}.site-footer{display:none}.weather-educational-content,.weather-safety-section,.weather-tools-section{margin-bottom:1rem}.weather-educational-content .content-wrapper,.weather-safety-section .content-wrapper,.weather-tools-section .content-wrapper{padding:1rem}.left-panel{max-height:40vh;padding:var(--mobile-spacing);order:1;overflow-y:auto;border-right:none!important;border-bottom:1px solid var(--border-color)!important}.left-panel .controls{flex-direction:column;height:100%;display:flex}.left-panel .controls #cities{flex:1;min-height:0}.left-panel .controls #cities.active{z-index:1000;background:#fffffffa;margin:0;padding:4rem 1rem 1rem;animation:.2s ease-out slideDown;display:block;inset:0;overflow-y:auto;box-shadow:0 0 20px #0000001a;position:fixed!important}.left-panel .controls #cities.active:before{content:"Search Results";border-bottom:2px solid var(--border-color);z-index:1001;background:#fff;padding:1rem;font-size:1.1rem;font-weight:600;display:block;position:fixed;top:0;left:0;right:0}.left-panel .controls #cities.active:after{content:"×";color:#6b7280;cursor:pointer;z-index:1002;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:2rem;font-weight:300;display:flex;position:fixed;top:.5rem;right:1rem}.left-panel .controls #cities.active li{border:1px solid var(--border-color)!important;background:#f8fafc!important;border-radius:.5rem!important;margin-bottom:.5rem!important;padding:1rem!important;box-shadow:0 1px 3px #0000001a!important}.left-panel .controls #cities.active li .city-name{color:#1f2937!important;font-size:1.1rem!important;font-weight:500!important}.left-panel .controls #cities.active li .city-coords{color:#6b7280!important;margin-top:.25rem!important;font-size:.85rem!important}.weather{border-bottom:1px solid var(--border-color);order:2}.right-panel{max-height:15vh;padding:var(--mobile-spacing);background:#f8fafccc;order:3;border-left:none!important;border-top:1px solid var(--border-color)!important}.right-panel .controls{gap:calc(var(--mobile-spacing)*.75)}.right-panel .controls h2{margin-bottom:calc(var(--mobile-spacing)*.5);font-size:1rem}.right-panel .controls .temp-unit-toggle{margin-bottom:calc(var(--mobile-spacing)*.75)}.right-panel .controls .unit-toggle-btn{min-height:36px;padding:2px}.right-panel .controls .unit-toggle-btn .unit-option{padding:calc(var(--mobile-spacing)*.8);font-size:.9rem}.right-panel .controls .search-input-container{position:relative}.right-panel .controls input{padding:calc(var(--mobile-spacing)*1.2);box-sizing:border-box;min-height:44px;padding-right:1rem;font-size:16px}.right-panel .controls #cities{flex:1;min-height:100px;max-height:calc(40vh - 100px);margin:.5rem 0 0;overflow-y:auto}.right-panel .controls #cities li{padding:var(--mobile-spacing);margin-bottom:calc(var(--mobile-spacing)*.5);border-radius:calc(var(--mobile-spacing)*.5);border:1px solid var(--border-color);background:#fffffff2}.right-panel .controls #cities li .city-name{font-size:1rem;font-weight:500}.right-panel .controls #cities li .city-coords{color:#6b7280;font-size:.8rem}.right-panel .controls #cities li .star-btn{min-width:36px;min-height:36px;padding:8px;font-size:20px}.weather{padding:var(--mobile-spacing);font-size:var(--mobile-font-size)}.weather .current-weather{padding-bottom:var(--mobile-spacing);margin-bottom:1.5rem}.weather .current-weather h2{margin-bottom:.75rem;font-size:clamp(1.3rem,5vw,1.8rem)}.weather .current-weather .current-temp{margin:.75rem 0;font-size:clamp(2.5rem,8vw,3.5rem)}.weather .current-weather p{margin:.5rem 0;font-size:clamp(.95rem,3vw,1.1rem)}.weather .forecast-container h3{margin-bottom:.75rem;font-size:clamp(1.1rem,4vw,1.3rem)}.weather .forecast-container .forecast-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.weather .forecast-container .forecast-day{min-height:140px;padding:.5rem}.weather .forecast-container .forecast-day .forecast-date{margin-bottom:.25rem;font-size:clamp(.75rem,2.5vw,.85rem)}.weather .forecast-container .forecast-day .weather-icon{margin:.25rem 0;font-size:clamp(1.2rem,5vw,1.8rem)}.weather .forecast-container .forecast-day .weather-desc{margin-bottom:.25rem;font-size:clamp(.65rem,2vw,.75rem)}.weather .forecast-container .forecast-day .temp-range{margin:.25rem 0;font-size:clamp(.75rem,2.5vw,.85rem)}.weather .forecast-container .forecast-day .precipitation{font-size:clamp(.65rem,2vw,.75rem)}.left-panel #favorites h3{margin-bottom:.5rem;padding-bottom:.3rem;font-size:.85rem}.left-panel #favorites .favorites-grid{gap:calc(var(--mobile-spacing)*.3);margin-top:.5rem}.left-panel #favorites .favorite-item{padding:calc(var(--mobile-spacing)*.5)calc(var(--mobile-spacing)*.7)}.left-panel #favorites .favorite-item .favorite-name{max-width:140px;margin-right:calc(var(--mobile-spacing)*.5);font-size:.75rem;line-height:1.1}.left-panel #favorites .favorite-item .remove-favorite{width:18px;min-width:18px;height:18px;min-height:18px;padding:2px}.left-panel #favorites .favorite-item .remove-favorite svg{width:10px;height:10px}.left-panel #favorites .no-favorites{margin-top:.5rem;padding:.75rem .5rem;font-size:.7rem}}.loading-content{text-align:center;flex-direction:column;justify-content:center;align-items:center;height:100%;display:flex}.loading-content .loading-spinner{border:3px solid #e5e7eb;border-top-color:#80d0c7;border-radius:50%;width:40px;height:40px;margin-bottom:1rem;animation:1s linear infinite spin}.loading-content h2{color:#1f2937;margin-bottom:.5rem;font-size:1.4rem}.loading-content p{color:#6b7280;margin:0;font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (width>=481px) and (width<=768px){body{padding:.75rem}main{min-height:80vh;max-height:90vh;font-size:calc(var(--font-size)*.95);grid-template-rows:auto 1fr auto;grid-template-columns:1fr;margin-bottom:0}.site-footer{display:none}.left-panel{order:1;max-height:40vh;padding:1.25rem;overflow-y:auto;border-right:none!important;border-bottom:1px solid var(--border-color)!important}.weather{border-bottom:1px solid var(--border-color);order:2}.right-panel{background:#f8fafccc;order:3;max-height:30vh;padding:1.25rem;border-left:none!important;border-top:1px solid var(--border-color)!important}.right-panel #favorites h3{margin-bottom:.5rem;font-size:.9rem}.right-panel #favorites .favorites-grid{gap:calc(var(--spacing)*.4)}.right-panel #favorites .favorites-grid .favorite-item:nth-child(n+4){display:none}.right-panel #favorites .favorite-item{padding:calc(var(--spacing)*.7)}.right-panel #favorites .favorite-item .favorite-name{font-size:.8rem}.right-panel #favorites .favorite-item .remove-favorite{width:20px;min-width:20px;height:20px;min-height:20px}.right-panel #favorites .favorite-item .remove-favorite svg{width:9px;height:9px}.right-panel #favorites .favorites-overflow{text-align:center;color:#9ca3af;margin-top:.25rem;font-size:.7rem;font-style:italic}.right-panel .controls .search-input-container{position:relative}.right-panel .controls select,.right-panel .controls input{padding:calc(var(--spacing)*1.4);min-height:44px;font-size:16px}.right-panel .controls input{padding-right:1rem}.right-panel #cities{max-height:calc(45vh - 160px);overflow-y:auto}.right-panel #cities li{border-radius:calc(var(--spacing)*.5);border:1px solid var(--border-color);margin-bottom:calc(var(--spacing)*.5);background:#fffffff2}.right-panel #cities li .star-btn{padding:6px 10px;font-size:18px}.weather{padding:1.25rem}.weather .forecast-container .forecast-grid{grid-template-columns:repeat(3,1fr);gap:.75rem}.weather .forecast-container .forecast-day{padding:.6rem}}@media (width>=769px){main{grid-template-rows:none;grid-template-columns:320px 1fr}.left-panel{order:1;max-height:none;border-right:1px solid var(--border-color)!important;border-bottom:none!important}.weather{border-bottom:none;order:2}}@media (width>=1200px){main{grid-template-columns:340px 1fr}}.left-panel{border-right:1px solid var(--border-color);flex-direction:column;gap:1rem;min-height:0;padding:1.5rem 1rem 1.5rem 1.5rem;display:flex;position:relative;overflow:visible auto}.left-panel .controls{flex-direction:column;flex:1;gap:1rem;min-height:0;display:flex;overflow:visible}.left-panel .controls .header-row{justify-content:space-between;align-items:center;margin-bottom:.5rem;display:flex}.left-panel .controls h2{color:#374151;flex:1;margin:0;font-weight:600}.left-panel .controls .search-input-container{align-items:center;display:flex;position:relative}.left-panel .controls .temp-unit-toggle{flex-shrink:0}.left-panel .controls .unit-toggle-btn{border:1px solid var(--border-color);border-radius:calc(var(--spacing)*1.5);cursor:pointer;box-sizing:border-box;background-color:#fff;width:60px;height:28px;padding:2px;transition:all .2s;display:flex}.left-panel .controls .unit-toggle-btn:hover{border-color:#80d0c7}.left-panel .controls .unit-toggle-btn .unit-option{text-align:center;border-radius:calc(var(--spacing)*1);flex:1;justify-content:center;align-items:center;padding:0;font-size:.8rem;font-weight:500;transition:all .2s;display:flex}.left-panel .controls .unit-toggle-btn .unit-option.active{color:#fff;background:#0093e9;box-shadow:0 1px 2px #0000001a}.left-panel .controls .unit-toggle-btn .unit-option:not(.active){color:#6b7280}.left-panel .controls input{border:1px solid var(--border-color);width:100%;font-size:var(--font-size);border-radius:var(--spacing);padding:calc(var(--spacing)*1.5);box-sizing:border-box;background-color:#fff;min-height:42px;font-family:inherit;transition:all .2s}.left-panel .controls input:focus{border-color:#80d0c7;outline:none;box-shadow:0 0 0 3px #80d0c71a}.left-panel .controls input:hover{border-color:#80d0c7}.left-panel .controls input{padding-right:3rem}.left-panel .controls input::placeholder{color:#9ca3af}.left-panel .controls select{cursor:pointer}.left-panel .controls .clear-btn{color:#9ca3af;cursor:pointer;opacity:0;visibility:hidden;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;min-height:auto;padding:.5rem;transition:all .2s;display:flex;position:absolute;right:.75rem}.left-panel .controls .clear-btn:hover{color:#ef4444;background-color:#ef44441a}.left-panel .controls .clear-btn:active{transform:scale(.95)}.left-panel .controls .clear-btn.visible{opacity:1;visibility:visible}.left-panel .controls .clear-btn svg{width:16px;height:16px}.left-panel #cities{flex:1;min-height:0;max-height:calc(100vh - 300px);margin:0;padding:0 .5rem 0 0;list-style:none;overflow:visible auto}.left-panel #cities li{padding:calc(var(--spacing)*1.5);cursor:pointer;border-radius:var(--spacing);margin-bottom:calc(var(--spacing)/2);background:#ffffffe6;border:1px solid #0000;margin-right:.5rem;transition:all .2s;position:relative;box-shadow:0 1px 3px #0000001a}.left-panel #cities li .city-name{color:#1f2937;font-weight:500}.left-panel #cities li .city-coords{color:#6b7280;margin-top:.25rem;font-size:.85rem}.left-panel #cities li:hover{color:#fff;z-index:10;background:linear-gradient(135deg,#80d0c7,#6bb6b0);margin-right:0;transform:translate(5px);box-shadow:0 4px 12px #80d0c74d}.left-panel #cities li:hover .city-name{color:#fff;font-weight:600}.left-panel #cities li:hover .city-coords{color:#ffffffe6}.left-panel #cities li:last-child{margin-bottom:0}.right-panel{border-left:1px solid var(--border-color);background:#f8fafc80;flex-direction:column;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.weather{font-size:var(--font-size);background-color:#f8fafc4d;flex-direction:column;min-height:0;padding:1.5rem;display:flex;overflow-y:auto}.weather .current-weather{text-align:center;border-bottom:2px solid var(--border-color);flex-shrink:0;margin-bottom:1.5rem;padding-bottom:1rem}.weather .current-weather h2{color:#1f2937;word-break:break-word;margin:0 0 1rem;font-size:clamp(1.3rem,3vw,1.8rem);line-height:1.2}.weather .current-weather .weather-overview{flex-direction:column;align-items:center;margin-bottom:1rem;display:flex}.weather .current-weather .weather-overview .current-temp{color:#0093e9;margin:.5rem 0;font-size:clamp(2.5rem,6vw,3.5rem);font-weight:700}.weather .current-weather .weather-overview .weather-icon{margin:.25rem 0;font-size:clamp(1.5rem,4vw,2.5rem)}.weather .current-weather .weather-overview .weather-description{color:#374151;margin-bottom:.75rem;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:500}.weather .current-weather .weather-details-text{border-radius:var(--spacing);text-align:left;background:#fffc;margin-bottom:1rem;padding:.75rem}.weather .current-weather .weather-details-text p{color:#4b5563;margin:.5rem 0;font-size:clamp(.85rem,2vw,.95rem);line-height:1.5}.weather .current-weather .weather-details-text p:last-child{margin-bottom:0}.weather .current-weather .current-stats{grid-template-columns:repeat(3,1fr);gap:.75rem;margin-top:.75rem;display:grid}.weather .current-weather .current-stats .stat-item{border-radius:var(--spacing);text-align:center;background:#80d0c71a;padding:.75rem}.weather .current-weather .current-stats .stat-item .stat-label{color:#6b7280;margin-bottom:.25rem;font-size:.8rem;display:block}.weather .current-weather .current-stats .stat-item .stat-value{color:#1f2937;font-size:1rem;font-weight:600;display:block}.weather .forecast-container .forecast-description{border-radius:var(--spacing);color:#4b5563;text-align:center;background:#fffc;margin-bottom:1rem;padding:.75rem;font-size:.85rem;line-height:1.4}.weather .forecast-container .forecast-grid{grid-template-columns:repeat(5,1fr);gap:.5rem;margin-bottom:1rem;display:grid}@media (width<=768px){.weather .forecast-container .forecast-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (width>=769px) and (width<=1024px){.weather .forecast-container .forecast-grid{gap:.4rem}}.weather .forecast-container .forecast-day .weather-desc{color:#6b7280;margin-bottom:.25rem;font-size:clamp(.6rem,1.5vw,.7rem);line-height:1.1}.weather .forecast-container .forecast-explanation{border-radius:var(--spacing);background:#fffc;margin-top:1rem;padding:1rem}.weather .forecast-container .forecast-explanation h4{color:#1f2937;margin-bottom:.75rem;font-size:1rem}.weather .forecast-container .forecast-explanation p{color:#4b5563;font-size:.85rem;line-height:1.5}.weather .forecast-container{flex:1;min-height:0}.weather .forecast-container h3{color:#374151;text-align:center;margin:0 0 1rem;font-size:clamp(1.2rem,3vw,1.5rem)}.weather .forecast-container .forecast-grid{grid-template-columns:repeat(5,1fr);gap:.75rem;display:grid}@media (width<=768px){.weather .forecast-container .forecast-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}}@media (width>=769px) and (width<=1024px){.weather .forecast-container .forecast-grid{gap:.5rem}}.weather .forecast-container .forecast-day{border-radius:var(--spacing);text-align:center;border:1px solid var(--border-color);background:#fff;min-height:0;padding:.75rem;transition:all .3s;position:relative;overflow:hidden}.weather .forecast-container .forecast-day:hover{transform:translateY(-5px);box-shadow:0 8px 25px #00000026}.weather .forecast-container .forecast-day .forecast-date{color:#374151;margin-bottom:.5rem;font-size:clamp(.8rem,2vw,.9rem);font-weight:600}.weather .forecast-container .forecast-day .weather-icon{margin:.5rem 0;font-size:clamp(1.5rem,4vw,2rem);animation:3s ease-in-out infinite float}.weather .forecast-container .forecast-day .weather-desc{color:#6b7280;margin-bottom:.5rem;font-size:clamp(.7rem,1.8vw,.8rem)}.weather .forecast-container .forecast-day .temp-range{margin:.5rem 0;font-size:clamp(.8rem,2vw,.9rem)}.weather .forecast-container .forecast-day .temp-range .temp-max{color:#dc2626;margin-right:.5rem;font-weight:700}.weather .forecast-container .forecast-day .temp-range .temp-min{color:#2563eb}.weather .forecast-container .forecast-day .precipitation{color:#059669;font-size:clamp(.7rem,1.8vw,.8rem)}.weather .forecast-container .forecast-day.sunny{background:linear-gradient(135deg,#fef3c7 0%,#fde68a 100%)}.weather .forecast-container .forecast-day.sunny .weather-icon{animation:8s linear infinite rotate}.weather .forecast-container .forecast-day.partly-cloudy{background:linear-gradient(135deg,#e0f2fe 0%,#b3e5fc 100%)}.weather .forecast-container .forecast-day.cloudy{background:linear-gradient(135deg,#f1f5f9 0%,#e2e8f0 100%)}.weather .forecast-container .forecast-day.rainy{background:linear-gradient(135deg,#dbeafe 0%,#bfdbfe 100%)}.weather .forecast-container .forecast-day.rainy:before{content:"💧";opacity:.7;font-size:12px;animation:2s linear infinite rainDrop1;position:absolute;top:-20px;left:20%}.weather .forecast-container .forecast-day.rainy:after{content:"💧";opacity:.5;font-size:10px;animation:2.5s linear infinite rainDrop2;position:absolute;top:-20px;left:70%}.weather .forecast-container .forecast-day.stormy{color:#fff;background:linear-gradient(135deg,#1e293b 0%,#475569 100%)}.weather .forecast-container .forecast-day.stormy .forecast-date,.weather .forecast-container .forecast-day.stormy .weather-desc,.weather .forecast-container .forecast-day.stormy .temp-range,.weather .forecast-container .forecast-day.stormy .precipitation{color:#fff}.weather .forecast-container .forecast-day.stormy .weather-icon{animation:.5s ease-in-out infinite alternate shake}.weather .forecast-container .forecast-day.snowy{background:linear-gradient(135deg,#f8fafc 0%,#f1f5f9 100%)}.weather .forecast-container .forecast-day.snowy:after{content:"";background-image:radial-gradient(circle,#fff 1px,#0000 1px);background-size:20px 20px;height:200%;animation:3s linear infinite snow;position:absolute;top:-100%;left:0;right:0}.weather .forecast-container .forecast-day.foggy{background:linear-gradient(135deg,#f9fafb 0%,#f3f4f6 100%)}.weather .forecast-container .forecast-day.foggy:before{content:"";background:linear-gradient(90deg,#0000,#9ca3af4d,#0000);height:100%;animation:4s ease-in-out infinite fog;position:absolute;top:0;left:-100%;right:-100%}.weather>p{color:#9ca3af;text-align:center;margin:.5rem 0;font-size:1.1rem;font-style:italic;line-height:1.6}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rainDrop1{0%{opacity:0;transform:translateY(-20px)}10%{opacity:.7}90%{opacity:.7}to{opacity:0;transform:translateY(140px)}}@keyframes rainDrop2{0%{opacity:0;transform:translateY(-20px)}15%{opacity:.5}85%{opacity:.5}to{opacity:0;transform:translateY(140px)}}@keyframes shake{0%{transform:translate(0)}to{transform:translate(5px)}}@keyframes snow{0%{transform:translateY(-100%)}to{transform:translateY(100%)}}@keyframes fog{0%,to{transform:translate(-100%)}50%{transform:translate(100%)}}#favorites{flex-shrink:0;margin-bottom:1rem}#favorites h3{color:#374151;text-align:left;border-bottom:1px solid var(--border-color);margin:0 0 .75rem;padding-bottom:.5rem;font-size:1rem;font-weight:600}#favorites .no-favorites{color:#9ca3af;text-align:center;border-radius:var(--spacing);background:#f9fafbcc;margin-top:1rem;padding:2rem 1rem;font-size:.9rem;font-style:italic;line-height:1.4}#favorites .favorites-grid{gap:calc(var(--spacing)*.4);flex-wrap:wrap;margin-top:.75rem;display:flex}#favorites .favorite-item{padding:calc(var(--spacing)*.6)calc(var(--spacing)*.8);border-radius:calc(var(--spacing)*1.2);cursor:pointer;justify-content:space-between;align-items:center;gap:calc(var(--spacing)*.5);background:#80d0c71a;border:1px solid #80d0c733;flex:auto;min-width:120px;transition:all .3s;display:flex;position:relative;overflow:hidden}#favorites .favorite-item:before{content:"";background:linear-gradient(90deg,#0000,#fff3,#0000);width:100%;height:100%;transition:left .5s;position:absolute;top:0;left:-100%}#favorites .favorite-item:hover{color:#fff;background:linear-gradient(135deg,#80d0c7,#6bb6b0);transform:translateY(-2px);box-shadow:0 8px 25px #80d0c74d}#favorites .favorite-item:hover:before{left:100%}#favorites .favorite-item .favorite-name{color:#374151;text-align:left;margin-right:calc(var(--spacing)*.75);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:.8rem;font-weight:500;line-height:1.2;overflow:hidden}#favorites .favorite-item:hover .favorite-name{color:#fff}#favorites .favorite-item .remove-favorite{color:#ef4444;cursor:pointer;opacity:.7;z-index:1;background:0 0;border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;min-width:20px;height:20px;min-height:20px;padding:4px;transition:all .2s;display:flex}#favorites .favorite-item .remove-favorite svg{width:12px;height:12px;transition:transform .2s}#favorites .favorite-item .remove-favorite:hover{opacity:1;background:#ef44441a;transform:scale(1.1)}#favorites .favorite-item .remove-favorite:hover svg{transform:rotate(90deg)}#favorites .favorite-item .remove-favorite:active{transform:scale(.95)}#favorites .favorite-item:hover .remove-favorite{color:#ffffffe6}#favorites .favorite-item:hover .remove-favorite:hover{color:#fff;background:#fff3}#favorites .favorite-item .favorite-number{color:#fff;text-align:center;background:#80d0c7cc;border-radius:12px;flex-shrink:0;min-width:18px;padding:2px 6px;font-size:.7rem;font-weight:600}#favorites .favorite-item .drag-handle{color:#9ca3af;cursor:grab;-webkit-user-select:none;user-select:none;flex-shrink:0;padding:2px;font-size:12px;line-height:1;transition:color .2s}#favorites .favorite-item .drag-handle:hover{color:#6b7280}#favorites .favorite-item .drag-handle:active{cursor:grabbing}#favorites .favorite-item.dragging{opacity:.5;z-index:1000;transform:rotate(5deg);box-shadow:0 8px 25px #0003}#favorites .favorite-item.drag-over{background:#80d0c733;border-color:#80d0c7;transform:scale(1.02)}#favorites .favorite-item:hover .favorite-number{color:#80d0c7;background:#ffffffe6}#favorites .favorite-item:hover .drag-handle{color:#fffc}.controls #cities li{justify-content:space-between;align-items:center;display:flex}.controls #cities li .city-info{flex:1}.controls #cities li .star-btn{cursor:pointer;color:#d1d5db;border-radius:var(--spacing);background:0 0;border:none;justify-content:center;align-items:center;min-width:28px;min-height:28px;margin-left:8px;padding:4px 6px;font-size:16px;transition:all .2s;display:flex}.controls #cities li .star-btn:hover{color:#fbbf24;background:#fbbf241a}.controls #cities li .star-btn.favorited{color:#fbbf24}.controls #cities li:hover .star-btn{color:#fffc}.controls #cities li:hover .star-btn:hover{color:#fbbf24;background:#fbbf2433}.controls #cities li:hover .star-btn.favorited{color:#fbbf24}.weather{font-size:var(--font-size);background-color:#f8fafc80;flex-direction:column;padding:2rem;transition:opacity .3s;display:flex;overflow-y:auto}.weather .default-content h2{color:#1f2937;text-align:center;margin-bottom:.75rem;font-size:1.6rem}.weather .default-content>p{color:#4b5563;text-align:center;margin-bottom:1rem;font-size:.95rem;line-height:1.4}.weather .default-content .weather-education h3{color:#1f2937;border-bottom:2px solid #80d0c7;margin:1rem 0 .5rem;padding-bottom:.25rem;font-size:1.2rem}.weather .default-content .weather-education>p{color:#4b5563;margin-bottom:1rem;font-size:.9rem;line-height:1.4}.weather .default-content .weather-education .weather-tips,.weather .default-content .weather-education .weather-terms{border-radius:var(--spacing);background:#fffc;border-left:4px solid #80d0c7;margin-bottom:1rem;padding:.75rem}.weather .default-content .weather-education .weather-tips h4,.weather .default-content .weather-education .weather-terms h4{color:#1f2937;margin-bottom:.5rem;font-size:1rem}.weather .default-content .weather-education .weather-tips ul,.weather .default-content .weather-education .weather-terms ul{padding:0;list-style:none}.weather .default-content .weather-education .weather-tips ul li,.weather .default-content .weather-education .weather-terms ul li{border-bottom:1px solid #e5e7eb;padding:.3rem 0;font-size:.85rem}.weather .default-content .weather-education .weather-tips ul li:last-child,.weather .default-content .weather-education .weather-terms ul li:last-child{border-bottom:none}.weather .default-content .weather-education .weather-tips ul li strong,.weather .default-content .weather-education .weather-terms ul li strong{color:#0093e9}.weather .default-content .weather-education .weather-tips dl dt,.weather .default-content .weather-education .weather-terms dl dt{color:#1f2937;margin-top:.5rem;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.weather .default-content .weather-education .weather-tips dl dt:first-child,.weather .default-content .weather-education .weather-terms dl dt:first-child{margin-top:0}.weather .default-content .weather-education .weather-tips dl dd,.weather .default-content .weather-education .weather-terms dl dd{color:#4b5563;margin-bottom:.5rem;margin-left:0;font-size:.85rem;line-height:1.3}.site-header{color:#fff;text-align:center;border-radius:calc(var(--spacing)*2);background:linear-gradient(135deg,#1f2937 0%,#374151 100%);margin-bottom:2rem;padding:2rem 1rem;box-shadow:0 4px 12px #0000001a}.site-header .header-content{max-width:1400px;margin:0 auto}.site-header .header-content h1{color:#80d0c7;margin:0 0 .5rem;font-size:clamp(1.8rem,4vw,2.5rem);font-weight:700}.site-header .header-content .header-subtitle{color:#d1d5db;margin:0 0 1.5rem;font-size:clamp(1rem,2.5vw,1.2rem);font-weight:300}.site-header .header-content .main-nav{flex-wrap:wrap;justify-content:center;gap:1.5rem;display:flex}.site-header .header-content .main-nav .nav-link{color:#d1d5db;border-radius:var(--spacing);padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .3s}.site-header .header-content .main-nav .nav-link:hover{color:#80d0c7;background:#80d0c733;transform:translateY(-2px)}.site-header .header-content .main-nav .nav-link .nav-short{display:none}@media (width<=768px){.site-header{margin-bottom:1rem;padding:1rem .5rem}.site-header .header-content h1{font-size:clamp(1.3rem,5vw,1.8rem)}.site-header .header-content .header-subtitle{margin-bottom:1rem;font-size:clamp(.9rem,3vw,1rem)}.site-header .header-content .main-nav{flex-wrap:nowrap;justify-content:center;gap:.2rem;width:100%;max-width:100%}.site-header .header-content .main-nav .nav-link{white-space:nowrap;text-align:center;background:#ffffff1a;border:1px solid #fff3;flex:1;min-width:0;padding:.4rem .6rem;font-size:.75rem}.site-header .header-content .main-nav .nav-link .nav-full{display:none}.site-header .header-content .main-nav .nav-link .nav-short{display:inline}.site-header .header-content .main-nav .nav-link:hover,.site-header .header-content .main-nav .nav-link:active{background:#80d0c74d;border-color:#80d0c7}}.weather-app-intro{border-radius:calc(var(--spacing)*2);background:#fffffff2;margin-bottom:2rem;padding:2rem;box-shadow:0 4px 12px #0000001a}.weather-app-intro .intro-content{text-align:center;max-width:1400px;margin:0 auto}.weather-app-intro .intro-content h2{color:#1f2937;margin-bottom:1rem;font-size:clamp(1.5rem,3.5vw,2rem);font-weight:600}.weather-app-intro .intro-content>p{color:#4b5563;max-width:800px;margin-bottom:2rem;margin-left:auto;margin-right:auto;font-size:clamp(1rem,2.5vw,1.1rem);line-height:1.6}.weather-app-intro .intro-content .app-features{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-top:2rem;display:grid}.weather-app-intro .intro-content .app-features .feature{border-radius:calc(var(--spacing)*1.5);background:#80d0c71a;border:1px solid #80d0c733;padding:1.5rem;transition:all .3s}.weather-app-intro .intro-content .app-features .feature:hover{transform:translateY(-5px);box-shadow:0 8px 25px #80d0c74d}.weather-app-intro .intro-content .app-features .feature h3{color:#1f2937;margin-bottom:.75rem;font-size:clamp(1.1rem,2.5vw,1.2rem);font-weight:600}.weather-app-intro .intro-content .app-features .feature p{color:#4b5563;margin:0;font-size:clamp(.9rem,2vw,1rem);line-height:1.5}@media (width<=768px){.weather-app-intro{margin-bottom:1rem;padding:1.5rem}.weather-app-intro .intro-content .app-features{grid-template-columns:1fr;gap:1rem}.weather-app-intro .intro-content .app-features .feature{padding:1rem}}.weather-educational-content,.weather-safety-section,.weather-tools-section{border-radius:calc(var(--spacing)*2);background:#fffffff2;margin-bottom:2rem;overflow:hidden;box-shadow:0 4px 12px #0000001a}.weather-educational-content .content-wrapper,.weather-safety-section .content-wrapper,.weather-tools-section .content-wrapper{max-width:1400px;margin:0 auto;padding:2rem}.weather-educational-content .content-wrapper h2,.weather-safety-section .content-wrapper h2,.weather-tools-section .content-wrapper h2{color:#1f2937;text-align:center;border-bottom:3px solid #80d0c7;margin-bottom:2rem;padding-bottom:.75rem;font-size:clamp(1.8rem,4vw,2.2rem);font-weight:700}.weather-educational-content .content-wrapper .weather-guide,.weather-educational-content .content-wrapper .safety-guide,.weather-educational-content .content-wrapper .tools-guide,.weather-safety-section .content-wrapper .weather-guide,.weather-safety-section .content-wrapper .safety-guide,.weather-safety-section .content-wrapper .tools-guide,.weather-tools-section .content-wrapper .weather-guide,.weather-tools-section .content-wrapper .safety-guide,.weather-tools-section .content-wrapper .tools-guide{margin-bottom:3rem}.weather-educational-content .content-wrapper .weather-guide:last-child,.weather-educational-content .content-wrapper .safety-guide:last-child,.weather-educational-content .content-wrapper .tools-guide:last-child,.weather-safety-section .content-wrapper .weather-guide:last-child,.weather-safety-section .content-wrapper .safety-guide:last-child,.weather-safety-section .content-wrapper .tools-guide:last-child,.weather-tools-section .content-wrapper .weather-guide:last-child,.weather-tools-section .content-wrapper .safety-guide:last-child,.weather-tools-section .content-wrapper .tools-guide:last-child{margin-bottom:0}.weather-educational-content .content-wrapper .weather-guide h3,.weather-educational-content .content-wrapper .safety-guide h3,.weather-educational-content .content-wrapper .tools-guide h3,.weather-safety-section .content-wrapper .weather-guide h3,.weather-safety-section .content-wrapper .safety-guide h3,.weather-safety-section .content-wrapper .tools-guide h3,.weather-tools-section .content-wrapper .weather-guide h3,.weather-tools-section .content-wrapper .safety-guide h3,.weather-tools-section .content-wrapper .tools-guide h3{color:#0093e9;border-left:4px solid #80d0c7;margin-bottom:1rem;padding-left:1rem;font-size:clamp(1.3rem,3vw,1.5rem);font-weight:600}.weather-educational-content .content-wrapper .weather-guide>p,.weather-educational-content .content-wrapper .safety-guide>p,.weather-educational-content .content-wrapper .tools-guide>p,.weather-safety-section .content-wrapper .weather-guide>p,.weather-safety-section .content-wrapper .safety-guide>p,.weather-safety-section .content-wrapper .tools-guide>p,.weather-tools-section .content-wrapper .weather-guide>p,.weather-tools-section .content-wrapper .safety-guide>p,.weather-tools-section .content-wrapper .tools-guide>p{color:#4b5563;margin-bottom:1.5rem;font-size:clamp(1rem,2.2vw,1.1rem);line-height:1.7}.weather-educational-content .content-wrapper .weather-guide h4,.weather-educational-content .content-wrapper .safety-guide h4,.weather-educational-content .content-wrapper .tools-guide h4,.weather-safety-section .content-wrapper .weather-guide h4,.weather-safety-section .content-wrapper .safety-guide h4,.weather-safety-section .content-wrapper .tools-guide h4,.weather-tools-section .content-wrapper .weather-guide h4,.weather-tools-section .content-wrapper .safety-guide h4,.weather-tools-section .content-wrapper .tools-guide h4{color:#1f2937;margin:1.5rem 0 .75rem;font-size:clamp(1.1rem,2.5vw,1.2rem);font-weight:600}.weather-educational-content .content-wrapper .weather-guide h5,.weather-educational-content .content-wrapper .safety-guide h5,.weather-educational-content .content-wrapper .tools-guide h5,.weather-safety-section .content-wrapper .weather-guide h5,.weather-safety-section .content-wrapper .safety-guide h5,.weather-safety-section .content-wrapper .tools-guide h5,.weather-tools-section .content-wrapper .weather-guide h5,.weather-tools-section .content-wrapper .safety-guide h5,.weather-tools-section .content-wrapper .tools-guide h5{color:#374151;margin:1rem 0 .5rem;font-size:clamp(1rem,2.2vw,1.1rem);font-weight:600}.weather-educational-content .content-wrapper .weather-guide ul,.weather-educational-content .content-wrapper .safety-guide ul,.weather-educational-content .content-wrapper .tools-guide ul,.weather-safety-section .content-wrapper .weather-guide ul,.weather-safety-section .content-wrapper .safety-guide ul,.weather-safety-section .content-wrapper .tools-guide ul,.weather-tools-section .content-wrapper .weather-guide ul,.weather-tools-section .content-wrapper .safety-guide ul,.weather-tools-section .content-wrapper .tools-guide ul{margin-bottom:1.5rem;padding:0;list-style:none}.weather-educational-content .content-wrapper .weather-guide ul li,.weather-educational-content .content-wrapper .safety-guide ul li,.weather-educational-content .content-wrapper .tools-guide ul li,.weather-safety-section .content-wrapper .weather-guide ul li,.weather-safety-section .content-wrapper .safety-guide ul li,.weather-safety-section .content-wrapper .tools-guide ul li,.weather-tools-section .content-wrapper .weather-guide ul li,.weather-tools-section .content-wrapper .safety-guide ul li,.weather-tools-section .content-wrapper .tools-guide ul li{color:#4b5563;border-bottom:1px solid #80d0c71a;padding:.5rem 0 .5rem 1.5rem;line-height:1.6;position:relative}.weather-educational-content .content-wrapper .weather-guide ul li:last-child,.weather-educational-content .content-wrapper .safety-guide ul li:last-child,.weather-educational-content .content-wrapper .tools-guide ul li:last-child,.weather-safety-section .content-wrapper .weather-guide ul li:last-child,.weather-safety-section .content-wrapper .safety-guide ul li:last-child,.weather-safety-section .content-wrapper .tools-guide ul li:last-child,.weather-tools-section .content-wrapper .weather-guide ul li:last-child,.weather-tools-section .content-wrapper .safety-guide ul li:last-child,.weather-tools-section .content-wrapper .tools-guide ul li:last-child{border-bottom:none}.weather-educational-content .content-wrapper .weather-guide ul li:before,.weather-educational-content .content-wrapper .safety-guide ul li:before,.weather-educational-content .content-wrapper .tools-guide ul li:before,.weather-safety-section .content-wrapper .weather-guide ul li:before,.weather-safety-section .content-wrapper .safety-guide ul li:before,.weather-safety-section .content-wrapper .tools-guide ul li:before,.weather-tools-section .content-wrapper .weather-guide ul li:before,.weather-tools-section .content-wrapper .safety-guide ul li:before,.weather-tools-section .content-wrapper .tools-guide ul li:before{content:"→";color:#80d0c7;font-weight:700;position:absolute;left:0}.weather-educational-content .content-wrapper .weather-guide ul li strong,.weather-educational-content .content-wrapper .safety-guide ul li strong,.weather-educational-content .content-wrapper .tools-guide ul li strong,.weather-safety-section .content-wrapper .weather-guide ul li strong,.weather-safety-section .content-wrapper .safety-guide ul li strong,.weather-safety-section .content-wrapper .tools-guide ul li strong,.weather-tools-section .content-wrapper .weather-guide ul li strong,.weather-tools-section .content-wrapper .safety-guide ul li strong,.weather-tools-section .content-wrapper .tools-guide ul li strong{color:#0093e9;font-weight:600}@media (width<=768px){.weather-educational-content,.weather-safety-section,.weather-tools-section{margin-bottom:1rem}.weather-educational-content .content-wrapper,.weather-safety-section .content-wrapper,.weather-tools-section .content-wrapper{padding:1.5rem}.weather-educational-content .content-wrapper h2,.weather-safety-section .content-wrapper h2,.weather-tools-section .content-wrapper h2{margin-bottom:1.5rem}.weather-educational-content .content-wrapper .weather-guide,.weather-educational-content .content-wrapper .safety-guide,.weather-educational-content .content-wrapper .tools-guide,.weather-safety-section .content-wrapper .weather-guide,.weather-safety-section .content-wrapper .safety-guide,.weather-safety-section .content-wrapper .tools-guide,.weather-tools-section .content-wrapper .weather-guide,.weather-tools-section .content-wrapper .safety-guide,.weather-tools-section .content-wrapper .tools-guide{margin-bottom:2rem}.weather-educational-content .content-wrapper .weather-guide h3,.weather-educational-content .content-wrapper .safety-guide h3,.weather-educational-content .content-wrapper .tools-guide h3,.weather-safety-section .content-wrapper .weather-guide h3,.weather-safety-section .content-wrapper .safety-guide h3,.weather-safety-section .content-wrapper .tools-guide h3,.weather-tools-section .content-wrapper .weather-guide h3,.weather-tools-section .content-wrapper .safety-guide h3,.weather-tools-section .content-wrapper .tools-guide h3{padding-left:.75rem}.weather-educational-content .content-wrapper .weather-guide ul li,.weather-educational-content .content-wrapper .safety-guide ul li,.weather-educational-content .content-wrapper .tools-guide ul li,.weather-safety-section .content-wrapper .weather-guide ul li,.weather-safety-section .content-wrapper .safety-guide ul li,.weather-safety-section .content-wrapper .tools-guide ul li,.weather-tools-section .content-wrapper .weather-guide ul li,.weather-tools-section .content-wrapper .safety-guide ul li,.weather-tools-section .content-wrapper .tools-guide ul li{padding:.4rem 0 .4rem 1.2rem;font-size:.95rem}}.weather-parameters,.weather-instruments,.weather-phenomena,.climate-weather-comparison,.alert-types{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin:1.5rem 0;display:grid}.weather-parameters .parameter,.weather-parameters .instrument,.weather-parameters .phenomenon,.weather-parameters .comparison-item,.weather-parameters .alert-type,.weather-instruments .parameter,.weather-instruments .instrument,.weather-instruments .phenomenon,.weather-instruments .comparison-item,.weather-instruments .alert-type,.weather-phenomena .parameter,.weather-phenomena .instrument,.weather-phenomena .phenomenon,.weather-phenomena .comparison-item,.weather-phenomena .alert-type,.climate-weather-comparison .parameter,.climate-weather-comparison .instrument,.climate-weather-comparison .phenomenon,.climate-weather-comparison .comparison-item,.climate-weather-comparison .alert-type,.alert-types .parameter,.alert-types .instrument,.alert-types .phenomenon,.alert-types .comparison-item,.alert-types .alert-type{border-radius:calc(var(--spacing)*1.5);background:#f8fafccc;border:1px solid #80d0c733;padding:1.5rem;transition:all .3s}.weather-parameters .parameter:hover,.weather-parameters .instrument:hover,.weather-parameters .phenomenon:hover,.weather-parameters .comparison-item:hover,.weather-parameters .alert-type:hover,.weather-instruments .parameter:hover,.weather-instruments .instrument:hover,.weather-instruments .phenomenon:hover,.weather-instruments .comparison-item:hover,.weather-instruments .alert-type:hover,.weather-phenomena .parameter:hover,.weather-phenomena .instrument:hover,.weather-phenomena .phenomenon:hover,.weather-phenomena .comparison-item:hover,.weather-phenomena .alert-type:hover,.climate-weather-comparison .parameter:hover,.climate-weather-comparison .instrument:hover,.climate-weather-comparison .phenomenon:hover,.climate-weather-comparison .comparison-item:hover,.climate-weather-comparison .alert-type:hover,.alert-types .parameter:hover,.alert-types .instrument:hover,.alert-types .phenomenon:hover,.alert-types .comparison-item:hover,.alert-types .alert-type:hover{border-color:#80d0c7;transform:translateY(-3px);box-shadow:0 6px 20px #0000001a}.weather-parameters .parameter h4,.weather-parameters .instrument h4,.weather-parameters .phenomenon h4,.weather-parameters .comparison-item h4,.weather-parameters .alert-type h4,.weather-instruments .parameter h4,.weather-instruments .instrument h4,.weather-instruments .phenomenon h4,.weather-instruments .comparison-item h4,.weather-instruments .alert-type h4,.weather-phenomena .parameter h4,.weather-phenomena .instrument h4,.weather-phenomena .phenomenon h4,.weather-phenomena .comparison-item h4,.weather-phenomena .alert-type h4,.climate-weather-comparison .parameter h4,.climate-weather-comparison .instrument h4,.climate-weather-comparison .phenomenon h4,.climate-weather-comparison .comparison-item h4,.climate-weather-comparison .alert-type h4,.alert-types .parameter h4,.alert-types .instrument h4,.alert-types .phenomenon h4,.alert-types .comparison-item h4,.alert-types .alert-type h4{color:#0093e9;border-bottom:2px solid #80d0c7;margin-bottom:.75rem;padding-bottom:.25rem;font-size:clamp(1.1rem,2.5vw,1.2rem);font-weight:600}.weather-parameters .parameter>p,.weather-parameters .instrument>p,.weather-parameters .phenomenon>p,.weather-parameters .comparison-item>p,.weather-parameters .alert-type>p,.weather-instruments .parameter>p,.weather-instruments .instrument>p,.weather-instruments .phenomenon>p,.weather-instruments .comparison-item>p,.weather-instruments .alert-type>p,.weather-phenomena .parameter>p,.weather-phenomena .instrument>p,.weather-phenomena .phenomenon>p,.weather-phenomena .comparison-item>p,.weather-phenomena .alert-type>p,.climate-weather-comparison .parameter>p,.climate-weather-comparison .instrument>p,.climate-weather-comparison .phenomenon>p,.climate-weather-comparison .comparison-item>p,.climate-weather-comparison .alert-type>p,.alert-types .parameter>p,.alert-types .instrument>p,.alert-types .phenomenon>p,.alert-types .comparison-item>p,.alert-types .alert-type>p{color:#4b5563;margin-bottom:1rem;font-size:clamp(.95rem,2vw,1rem);line-height:1.6}.weather-parameters .parameter ul,.weather-parameters .instrument ul,.weather-parameters .phenomenon ul,.weather-parameters .comparison-item ul,.weather-parameters .alert-type ul,.weather-instruments .parameter ul,.weather-instruments .instrument ul,.weather-instruments .phenomenon ul,.weather-instruments .comparison-item ul,.weather-instruments .alert-type ul,.weather-phenomena .parameter ul,.weather-phenomena .instrument ul,.weather-phenomena .phenomenon ul,.weather-phenomena .comparison-item ul,.weather-phenomena .alert-type ul,.climate-weather-comparison .parameter ul,.climate-weather-comparison .instrument ul,.climate-weather-comparison .phenomenon ul,.climate-weather-comparison .comparison-item ul,.climate-weather-comparison .alert-type ul,.alert-types .parameter ul,.alert-types .instrument ul,.alert-types .phenomenon ul,.alert-types .comparison-item ul,.alert-types .alert-type ul{margin-top:1rem}@media (width<=768px){.weather-parameters,.weather-instruments,.weather-phenomena,.climate-weather-comparison,.alert-types{grid-template-columns:1fr;gap:1rem}.weather-parameters .parameter,.weather-parameters .instrument,.weather-parameters .phenomenon,.weather-parameters .comparison-item,.weather-parameters .alert-type,.weather-instruments .parameter,.weather-instruments .instrument,.weather-instruments .phenomenon,.weather-instruments .comparison-item,.weather-instruments .alert-type,.weather-phenomena .parameter,.weather-phenomena .instrument,.weather-phenomena .phenomenon,.weather-phenomena .comparison-item,.weather-phenomena .alert-type,.climate-weather-comparison .parameter,.climate-weather-comparison .instrument,.climate-weather-comparison .phenomenon,.climate-weather-comparison .comparison-item,.climate-weather-comparison .alert-type,.alert-types .parameter,.alert-types .instrument,.alert-types .phenomenon,.alert-types .comparison-item,.alert-types .alert-type{padding:1rem}}.seasonal-guide{border-radius:calc(var(--spacing)*1.5);background:#f8fafc99;border-left:4px solid #80d0c7;margin-bottom:1.5rem;padding:1.5rem}.seasonal-guide:last-child{margin-bottom:0}.seasonal-guide h4{color:#0093e9;margin-bottom:.75rem;font-size:clamp(1.2rem,2.8vw,1.3rem);font-weight:600}.seasonal-guide>p{color:#4b5563;margin-bottom:1rem;font-size:clamp(1rem,2.2vw,1.1rem);line-height:1.6}.seasonal-guide h5{color:#374151;margin:1rem 0 .5rem;font-size:clamp(1rem,2.2vw,1.1rem);font-weight:600}@media (width<=768px){.seasonal-guide{margin-bottom:1rem;padding:1rem}}.emergency-kit,.health-impacts,.remote-sensing{border-radius:calc(var(--spacing)*1.5);background:#f8fafc99;border:1px solid #80d0c733;margin:1.5rem 0;padding:1.5rem}.emergency-kit h4,.health-impacts h4,.remote-sensing h4{color:#0093e9;border-bottom:2px solid #80d0c7;margin-bottom:1rem;padding-bottom:.25rem;font-size:clamp(1.1rem,2.5vw,1.2rem);font-weight:600}.emergency-kit>p,.health-impacts>p,.remote-sensing>p{color:#4b5563;margin-bottom:1rem;font-size:clamp(1rem,2.2vw,1.1rem);line-height:1.6}@media (width<=768px){.emergency-kit,.health-impacts,.remote-sensing{margin:1rem 0;padding:1rem}}.weather-app-container{border:1px solid var(--border-color);border-radius:calc(var(--spacing)*2);max-width:1400px;min-height:70vh;font-size:var(--font-size);background-color:#ffffffe6;flex-shrink:0;grid-template-columns:320px 1fr;gap:0;margin:0 auto 2rem;display:grid;box-shadow:0 10px 25px #0000001a}@media (width<=480px){.weather-app-container{border-radius:var(--mobile-spacing);min-height:auto;font-size:var(--mobile-font-size);grid-template-rows:auto auto;grid-template-columns:1fr;gap:0;margin-bottom:1rem}}@media (width>=481px) and (width<=768px){.weather-app-container{min-height:auto;font-size:calc(var(--font-size)*.95);grid-template-rows:auto auto;grid-template-columns:1fr;margin-bottom:1rem}}@media (width>=769px){.weather-app-container{grid-template-rows:none;grid-template-columns:320px 1fr}}@media (width>=1200px){.weather-app-container{grid-template-columns:340px 1fr}}.site-footer{color:#fff;background:linear-gradient(135deg,#1f2937 0%,#374151 100%);flex-shrink:0;margin-top:auto;padding:2rem 1rem 1rem}.site-footer .footer-content{grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:2rem;max-width:1400px;margin:0 auto;display:grid}.site-footer .footer-section h3{color:#80d0c7;border-bottom:1px solid #4b5563;margin-bottom:1rem;padding-bottom:.5rem;font-size:1.2rem}.site-footer .footer-section p{color:#d1d5db;margin-bottom:1rem;line-height:1.6}.site-footer .footer-section p a{color:#80d0c7;font-weight:500;text-decoration:none;transition:all .2s}.site-footer .footer-section p a:hover{color:#93e6d8;text-decoration:underline}.site-footer .footer-section .city-links{grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.5rem;margin-bottom:1rem;display:grid}.site-footer .footer-section .city-links a{color:#d1d5db;padding:.3rem 0;font-size:.9rem;text-decoration:none;transition:color .2s}.site-footer .footer-section .city-links a:hover{color:#80d0c7;text-decoration:underline}.site-footer .footer-section .city-links a.current{color:#fbbf24;font-weight:600}.site-footer .footer-section ul{padding:0;list-style:none}.site-footer .footer-section ul li{color:#d1d5db;padding:.3rem 0}.site-footer .footer-section ul li:before{content:"→";color:#80d0c7;margin-right:.5rem}.site-footer .footer-section ol{padding-left:1rem}.site-footer .footer-section ol li{color:#d1d5db;padding:.5rem 0;line-height:1.5}.site-footer .footer-section ol li strong{color:#80d0c7}.site-footer .footer-section .seasonal-info h4{color:#80d0c7;margin:1.5rem 0 .5rem;font-size:1rem}.site-footer .footer-section .seasonal-info h4:first-child{margin-top:0}.site-footer .footer-section .seasonal-info p{margin-bottom:1rem;font-size:.9rem}.site-footer .footer-bottom{text-align:center;color:#9ca3af;border-top:1px solid #4b5563;margin-top:2rem;padding-top:2rem;font-size:.9rem}@media (width<=768px){.site-footer{padding:1.5rem 1rem 1rem}.site-footer .footer-content{grid-template-columns:1fr;gap:1rem}.site-footer .footer-section h3{margin-bottom:.75rem;font-size:1rem}.site-footer .footer-section p{margin-bottom:.75rem;font-size:.9rem}.site-footer .footer-section .seasonal-info h4{margin:1rem 0 .5rem;font-size:.9rem}.site-footer .footer-section .seasonal-info p{font-size:.85rem}.site-footer .footer-section ul li,.site-footer .footer-section ol li{padding:.25rem 0;font-size:.9rem}.site-footer .footer-bottom{margin-top:1.5rem;padding-top:1.5rem;font-size:.8rem}}.outfit-action{border-top:1px solid var(--border-color);margin-top:1.5rem;padding-top:1.5rem}.what-to-wear-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:.5rem;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:1rem;font-weight:600;transition:all .3s;display:flex;box-shadow:0 4px 6px #0000001a}.what-to-wear-btn:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.what-to-wear-btn:active{transform:translateY(0)}.outfit-recommendations{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border:1px solid #e2e8f0;border-radius:.75rem;margin-top:1rem;padding:1.5rem;animation:.3s ease-out slideIn}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.outfit-recommendation h4{color:#374151;margin:0 0 1rem;font-size:1.25rem;font-weight:700}.outfit-overview{margin-bottom:1.5rem}.outfit-overview .outfit-summary{color:#4b5563;margin-bottom:.75rem;font-size:1rem;line-height:1.6}.comfort-level{text-transform:uppercase;letter-spacing:.05em;border-radius:1rem;padding:.375rem .75rem;font-size:.75rem;font-weight:600;display:inline-block}.comfort-level.comfort-very_comfortable{color:#166534;background-color:#dcfce7}.comfort-level.comfort-comfortable{color:#1e40af;background-color:#dbeafe}.comfort-level.comfort-manageable{color:#92400e;background-color:#fef3c7}.comfort-level.comfort-challenging{color:#dc2626;background-color:#fee2e2}.outfit-categories{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem;margin-bottom:1.5rem;display:grid}.outfit-category{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.outfit-category h5{color:#374151;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid #e5e7eb;margin:0 0 .75rem;padding-bottom:.5rem;font-size:.9rem;font-weight:600}.outfit-item{border-left:3px solid #e5e7eb;border-radius:.375rem;margin-bottom:.75rem;padding:.75rem}.outfit-item.essential{background-color:#fffbeb;border-left-color:#f59e0b}.outfit-item.optional{background-color:#f9fafb;border-left-color:#6b7280}.outfit-item .item-name{color:#374151;margin-bottom:.25rem;font-size:.9rem;font-weight:600}.outfit-item .item-reason{color:#6b7280;font-size:.8rem;line-height:1.4}.outfit-tips{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;padding:1rem}.outfit-tips h5{color:#374151;margin:0 0 .75rem;font-size:.9rem;font-weight:600}.outfit-tips ul{margin:0;padding-left:1.25rem}.outfit-tips ul li{color:#4b5563;margin-bottom:.5rem;font-size:.85rem;line-height:1.5}.outfit-tips ul li:last-child{margin-bottom:0}.product-suggestions-placeholder{margin-top:1rem}.product-suggestions-placeholder .loading-products{text-align:center;color:#6b7280;background:#f3f4f6cc;border:1px dashed #d1d5db;border-radius:.375rem;padding:1rem;font-size:.85rem;animation:2s ease-in-out infinite pulse}.product-suggestions-placeholder .no-products{text-align:center;color:#9ca3af;padding:.75rem;font-size:.8rem;font-style:italic}.product-suggestions-placeholder .product-error{text-align:center;color:#ef4444;background:#fef2f2cc;border:1px solid #fecaca;border-radius:.375rem;padding:.75rem;font-size:.8rem}@keyframes pulse{0%,to{opacity:1}50%{opacity:.7}}.product-suggestions{background:#f5f7facc;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:1rem}.product-suggestions h6{color:#374151;text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem;font-size:.85rem;font-weight:600}.product-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.75rem;display:grid}@media (width<=768px){.product-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.5rem}}.product-card{background:#fff;border:1px solid #e5e7eb;border-radius:.5rem;transition:all .3s;overflow:hidden;box-shadow:0 1px 3px #0000001a}.product-card:hover{border-color:#80d0c7;transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.product-link{color:inherit;height:100%;text-decoration:none;display:block}.product-link:hover{text-decoration:none}.product-image{object-fit:cover;border-bottom:1px solid #e5e7eb;width:100%;height:120px}@media (width<=768px){.product-image{height:100px}}.product-info{padding:.75rem}@media (width<=768px){.product-info{padding:.5rem}}.product-title{color:#374151;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin-bottom:.5rem;font-size:.8rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}@media (width<=768px){.product-title{-webkit-line-clamp:2;font-size:.75rem}}.product-price{color:#dc2626;margin-bottom:.5rem;font-size:.9rem;font-weight:700}@media (width<=768px){.product-price{font-size:.8rem}}.product-rating{color:#f59e0b;margin-bottom:.25rem;font-size:.7rem}@media (width<=768px){.product-rating{font-size:.65rem}}.product-brand{color:#6b7280;text-transform:uppercase;letter-spacing:.05em;font-size:.7rem}@media (width<=768px){.product-brand{font-size:.65rem}}.affiliate-disclaimer{background:#f9fafbcc;border:1px solid #e5e7eb;border-radius:.375rem;margin-top:1rem;padding:.75rem}.affiliate-disclaimer p{color:#6b7280;text-align:center;margin:0;font-size:.75rem;line-height:1.4}@media (width<=768px){.affiliate-disclaimer{padding:.5rem}.affiliate-disclaimer p{font-size:.7rem}.outfit-categories{grid-template-columns:1fr;gap:.75rem}.outfit-recommendations{padding:1rem}.what-to-wear-btn{justify-content:center;width:100%}.outfit-item{padding:.5rem}.outfit-item .item-name{font-size:.85rem}.outfit-item .item-reason{font-size:.75rem}}.weather-faq-section{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);padding:3rem 0}.weather-faq-section .content-wrapper{max-width:800px;margin:0 auto;padding:0 1rem}.weather-faq-section h2{text-align:center;color:#1e293b;margin-bottom:2rem;font-size:2rem;font-weight:600}.weather-faq-section .faq-container{flex-direction:column;gap:1rem;display:flex}.weather-faq-section .faq-item{background:#fff;border-radius:8px;transition:box-shadow .2s;overflow:hidden;box-shadow:0 2px 4px #0000001a}.weather-faq-section .faq-item:hover{box-shadow:0 4px 8px #00000026}.weather-faq-section .faq-question{text-align:left;cursor:pointer;color:#1e293b;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:1.25rem;font-size:1.1rem;font-weight:600;transition:background-color .2s;display:flex}.weather-faq-section .faq-question:hover{background-color:#f8fafc}.weather-faq-section .faq-question[aria-expanded=true]{background-color:#e0f2fe}.weather-faq-section .faq-question[aria-expanded=true] .faq-toggle{color:#0369a1;transform:rotate(45deg)}.weather-faq-section .faq-toggle{color:#64748b;flex-shrink:0;margin-left:1rem;font-size:1.5rem;font-weight:300;transition:transform .2s,color .2s}.weather-faq-section .faq-answer{background-color:#f8fafc;max-height:0;transition:max-height .3s,padding .3s;overflow:hidden}.weather-faq-section .faq-answer p{color:#475569;margin:0;font-size:1rem;line-height:1.6}.weather-faq-section .faq-answer.active{max-height:500px;padding:1.25rem}@media (width<=768px){.weather-faq-section{padding:2rem 0}.weather-faq-section h2{margin-bottom:1.5rem;font-size:1.75rem}.weather-faq-section .faq-question{padding:1rem;font-size:1rem}.weather-faq-section .faq-answer.active{padding:1rem}.weather-faq-section .faq-toggle{font-size:1.25rem}}