*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;font-family:DM Sans,sans-serif}body{transition:background-color .3s ease,color .3s ease}:root{--neutral-900: hsl(243, 96%, 9%);--neutral-700: hsl(243, 23%, 24%);--neutral-600: hsl(243, 23%, 30%);--neutral-500: hsl(243, 23%, 30%);--neutral-400: hsl(240, 9%, 44%);--neutral-200: hsl(250, 6%, 84%);--neutral-0: hsl(0, 0%, 100%);--orange-500: hsl(28, 100%, 52%);--blue-500: hsl(233, 67%, 56%);--main-text: var(--neutral-200);--border-color: var(--neutral-400);--glass-hover: var(--neutral-500);--glass-bg: var(--neutral-700);--radius-xs: .25rem;--radius-sm: .5rem;--radius-md: .75rem;--radius-lg: 1rem;--radius-xl: 1.5rem;--font-xs: clamp(.875rem, .5vw + .75rem, 2rem);--font-sm: clamp(1rem, .8vw + .8rem, 2.5rem);--font-md: clamp(1.25rem, 1vw + 1rem, 3rem);--font-lg: clamp(1.5rem, 2vw + 1rem, 4rem);--font-xl: clamp(2rem, 4vw + 1rem, 5rem);margin:0 auto;text-align:center;display:flex;flex-direction:column;width:100%;overflow-y:scroll;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--main-text);background-color:var(--neutral-900);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}:root h1,:root h2,:root h3,:root h4,:root h5,:root h6{font-weight:500;line-height:1.2}:root h1{font-size:var(--font-xl);font-family:Bricolage Grotesque,sans-serif}:root h2{font-size:var(--font-lg)}:root h3{font-size:var(--font-md);font-weight:600}:root h4{font-size:var(--font-sm)}:root h5{font-size:var(--font-xs);font-weight:400}:root h6{font-size:var(--font-xs)}:root p{font-size:var(--font-md);line-height:1.5}:root input{background-color:var(--neutral-600)}:root.light-theme{--neutral-900: hsl(229, 88%, 86%);--neutral-700: hsl(229, 82%, 89%);--neutral-600: hsl(240, 17%, 92%);--neutral-500: hsl(229 82.5% 92%);--neutral-400: hsl(240, 10%, 85%);--neutral-200: hsl(243, 27%, 15%);--neutral-0: hsl(243, 96%, 5%);--orange-500: hsl(28, 95%, 45%);--blue-500: hsl(233, 75%, 45%);--main-text: #472121;--border-color: var(--neutral-600);--glass-hover: var(--neutral-500)}:root.light-theme .temperature-card:before{filter:hue-rotate(319deg) brightness(1.5) opacity(.6)}:root.light-theme input{background-color:var(--neutral-600)}@media(prefers-color-scheme:light){:root:not(.dark-theme){--neutral-900: hsl(229, 88%, 86%);--neutral-700: hsl(229, 82%, 89%);--neutral-600: hsl(240, 17%, 92%);--neutral-500: hsl(229 82.5% 92%);--neutral-400: hsl(240, 10%, 85%);--neutral-200: hsl(243, 27%, 15%);--neutral-0: hsl(243, 96%, 5%);--blue-500: hsl(233, 75%, 45%);--main-text: #472121;--border-color: var(--neutral-600);--glass-hover: var(--neutral-600);--glass-bg: var(--neutral-700)}:root:not(.dark-theme) .temperature-card:before{filter:hue-rotate(319deg) brightness(1.5) opacity(.6)}:root:not(.dark-theme) input{background-color:var(--neutral-600)}}header{display:flex;justify-content:space-between;align-items:center;height:10vh;width:100%;padding:0 2rem}.footer{height:10vh;display:flex;justify-content:center;align-items:center;background-color:var(--neutral-800);color:var(--neutral-200)}main{padding:2rem;display:grid;grid-template-rows:15vh 10vh 50vh minmax(10vh,180px);grid-template-columns:2fr 1fr;grid-template-areas:"title title" "search search" "today hourly" "daily hourly";gap:2rem}main>h1{grid-area:title;align-self:center;justify-self:center}.glass-card{background-color:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color)}@media(max-width:48em){main{grid-template-rows:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:"title" "search" "today" "daily" "hourly"}}.dropdown-menu.units-dropdown{width:200px}.toggle-button{width:100%;text-align:left;background-color:var(--neutral-500);border:1px solid var(--border-color);border-radius:var(--radius-sm);color:var(--main-text);padding:12px;font-size:1rem;cursor:pointer;margin-bottom:8px;font-weight:800}.toggle-button:hover{background-color:var(--glass-hover)}.units-group label{font-size:.85rem;padding:8px 12px;margin:0}.units-group ul li{display:flex;justify-content:space-between;cursor:initial}.units-group{border-bottom:.5px solid var(--border-color);padding-bottom:8px;margin-bottom:8px}.units-group:last-child{border-bottom:none}.theme-toggle{background-color:var(--glass-bg);border:1px solid var(--border-color);color:var(--neutral-200);width:40px;height:40px;border-radius:var(--radius-md, 10px);display:flex;align-items:center;justify-content:center;transition:all .2s ease;cursor:pointer}.theme-toggle:hover{background:var(--neutral-700);transform:scale(1.05)}.theme-toggle:active{transform:scale(.95)}.logo{width:180px;height:auto}@media(max-width:48em){.logo{width:140px}}.search-bar{grid-area:search;display:grid;grid-template-columns:2fr 1fr;gap:1rem;min-height:50px;height:7vh;max-height:8vw}.input-container{margin:auto 0 auto auto;width:70%;height:100%;position:relative}.input-container input{border:none;border-radius:var(--radius-md);padding:0 15px;font-size:var(--font-sm);width:100%;height:100%}.search-bar button{background-color:var(--blue-500);border:none;border-radius:var(--radius-md);height:100%;width:min-content;padding:0 15px;font-size:var(--font-sm);margin:auto auto auto 0;cursor:pointer;color:#e7e7ee}.results-list{list-style:none;z-index:10;position:absolute;margin-top:.5rem;right:0;z-index:2;background-color:var(--glass-bg);border-radius:var(--radius-md);border:1px solid var(--border-color);width:100%;animation:slideDown .2s ease-out}.results-list li{padding:.5rem 1rem;cursor:pointer;margin:8px;text-align:start;font-size:var(--font-sm)}.results-list li:hover{border-radius:var(--radius-sm);border:.5px solid var(--border-color);background-color:var(--glass-hover)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:48em){.search-bar{grid-template-columns:1fr auto}.search-bar button{height:50px}.input-container{width:100%}.input-container input{height:50px}}@media(max-width:26em){.search-bar{grid-template-columns:auto;min-height:fit-content}.search-bar button{width:100%}}.skeleton-pulse{background:var(--neutral-700);background-image:linear-gradient(90deg,var(--neutral-700) 0px,var(--neutral-600) 40px,var(--neutral-700) 80px);background-size:200% 100%;animation:skeleton-loading 1.5s infinite linear;border-radius:var(--radius-sm)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.current-weather{grid-area:today;width:100%;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:2fr 1fr;grid-template-areas:"temp temp temp temp" "details details details details";row-gap:2rem;column-gap:1rem}.temperature-card{grid-area:temp;display:flex;align-items:center;justify-content:space-between;padding:2rem;border-radius:var(--radius-lg);position:relative;overflow:hidden;color:#e7e7ee}.temperature-card:before{content:"";position:absolute;inset:0;background-image:url(/assets/bg-today-large-CqYszFxp.svg);background-size:cover;background-position:center;z-index:0}.temperature-card>*{position:relative;z-index:1}.current-details{display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:.5rem;padding:.7rem}.location-info{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.weather-info{display:flex;align-items:center}img.weather-icon{width:100px;height:100px}h3.current-temp{font-size:5rem;font-weight:600}@media(max-width:48em){.current-weather{grid-template-columns:repeat(2,1fr);grid-template-rows:auto 1fr 1fr;grid-template-areas:"temp temp" "details details" "details details"}}@media(max-width:26em){.temperature-card{aspect-ratio:6/5;flex-direction:column}}.daily-forecast{grid-area:daily;display:flex;flex-direction:column;gap:1rem}.daily-forecast h4{text-align:left}.glass-card h4{margin-top:.7rem;text-align:center}.daily-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:.7rem;height:100%}.weather-icon-daily{width:48px;height:48px;flex:1;min-height:0;object-fit:contain}.daily-temp{display:flex;justify-content:space-between;padding:.7rem .5rem;width:100%}.daily-grid .glass-card{display:flex;flex-direction:column;align-items:center;justify-content:space-between}@media(max-width:48em){.daily-grid{grid-template-columns:repeat(3,1fr)}}.dropdown-container{position:relative}.dropdown-button{display:flex;align-items:center;justify-content:space-between;background-color:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.3rem .7rem;width:100%;gap:.7rem;cursor:pointer;color:var(--main-text);font-size:var(--font-xs)}.dropdown-button img.dropdown-icon{width:13px;height:13px}.dropdown-menu{position:absolute;margin-top:.5rem;right:0;width:150px;z-index:2;background-color:var(--glass-bg);border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:.3rem .5rem;align-items:start}.dropdown-menu ul{list-style:none;margin:0;padding:0}.dropdown-menu li{padding:.3rem .5rem;cursor:pointer;text-align:left;transition:background .2s ease}.dropdown-menu li:hover{background-color:var(--glass-hover)}.dd-selected{background-color:var(--glass-hover);border-radius:var(--radius-xs)}.hourly-forecast{grid-area:hourly;border-radius:var(--radius-lg);display:flex;flex-direction:column;padding-top:1rem;justify-content:space-between}.hourly-header{display:flex;justify-content:space-between;align-items:baseline;padding:0 1rem;gap:1rem}.hourly-grid{display:flex;flex-direction:column;gap:.7rem;overflow-y:scroll;padding:1rem}.hourly-grid::-webkit-scrollbar{width:3px}.hourly-grid::-webkit-scrollbar-track{background:transparent}.hourly-grid::-webkit-scrollbar-thumb{background-color:var(--neutral-400);border-radius:10px}.hourly-grid .glass-card{display:flex;justify-content:space-between;align-items:center;padding:.2rem 1rem;background-color:var(--neutral-500)}.hourly-card-left{display:flex;gap:.2rem;align-items:center}.hourly-forecast img{width:40px;height:40px}.footer{height:10vh;background-color:var(--neutral-800);border-top:1px solid var(--neutral-700);font-size:var(--font-xs)}.footer-content{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:0 2rem;height:100%;gap:1rem}.footer a{color:var(--blue-500);transition:color .2s}.footer-links a{margin-left:1.5rem}.footer a:hover{color:var(--orange-500)}.footer-section p{margin:0;font-size:var(--font-xs)}
