*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}html{height:100%;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{min-height:100%;line-height:1.6;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;font-size:16px;font-weight:400;color:#fff;background-color:#17243d;text-rendering:optimizeLegibility}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.25}h1{font-size:2.25rem}h2{font-size:1.75rem}h3{font-size:1.4rem}h4{font-size:1.2rem}h5{font-size:1rem}h6{font-size:.875rem}p{margin-bottom:1rem}strong,b{font-weight:600}em,i{font-style:italic}ul,ol{list-style:none}a{color:inherit;text-decoration:none}a:focus-visible{outline:2px solid currentColor;outline-offset:2px}img,picture,video,canvas,svg{display:block;max-width:100%;height:auto}table{border-collapse:collapse;border-spacing:0}input,button,textarea,select{font:inherit;color:inherit;background:none;border-radius:0}button{cursor:pointer;border:none}button:disabled{cursor:default}textarea{resize:vertical}hr{border:none;border-top:1px solid #ddd;margin:2rem 0}blockquote{margin:0}pre,code{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:.95em}[hidden]{display:none !important}#app,.app{min-height:100vh;display:flex;flex-direction:column}#hero{display:flex;min-height:100vh}#hero .sidebar{display:flex;flex-direction:column;justify-content:center;width:400px;min-width:400px;background:#0f0f0f;padding:2.5rem;gap:3rem}#hero .sidebar .section-title{text-transform:uppercase;margin-bottom:1rem}#hero .sidebar .current .row{display:flex;justify-content:space-between;margin-bottom:.75rem}#hero .sidebar .current .row .value{font-weight:500}#hero .sidebar .forecast{display:flex;flex-direction:column;gap:1.25rem}#hero .sidebar .forecast .forecast-day{padding-bottom:.75rem;border-bottom:1px solid hsla(0,0%,100%,.08)}#hero .sidebar .forecast .forecast-day:last-child{border-bottom:none}#hero .sidebar .forecast .forecast-header{display:flex;justify-content:space-between;margin-bottom:.35rem}#hero .sidebar .forecast .forecast-header .day-label{font-weight:500}#hero .sidebar .forecast .forecast-header .weather-label{font-style:italic}#hero .sidebar .forecast .forecast-row{display:grid;grid-template-columns:48px 1fr;align-items:center;gap:.75rem}#hero .sidebar .forecast .forecast-icon{width:48px;height:48px}#hero .sidebar .forecast .forecast-values{display:flex;gap:.75rem;white-space:nowrap}#hero .sidebar .forecast .forecast-values .temp{font-weight:600}#hero .content{flex:1;display:flex;padding:4rem}#hero .content .summary{display:flex;margin-top:auto;flex-direction:column;align-items:flex-start;gap:1.25rem}#hero .content .summary .summary-icon{width:160px;height:160px;margin-bottom:.25rem}#hero .content .summary .summary-meta{display:flex;flex-direction:column;gap:.35rem}#hero .content .summary .summary-details{display:flex;gap:1.2rem;margin-top:.6rem;font-size:.95rem;opacity:.9}#hero .content .summary .source-note{margin-top:.4rem;font-size:.75rem;opacity:.6}#hero .content .summary .weather-label{text-transform:capitalize}#hero .content .summary .temp{font-size:6rem;font-weight:600;line-height:1;margin-top:.25rem}#hero .content .summary .location{margin-top:.5rem}#hero .content .sunrise-sunset{margin-top:1.5rem;padding:1.25rem;border-radius:12px;background:linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.02));display:flex;flex-direction:column;gap:1.25rem}#hero .content .sunrise-sunset .sun-noon{display:flex;flex-direction:column;align-items:center;text-align:center;gap:.25rem}#hero .content .sunrise-sunset .sun-noon .sun-icon{width:28px;height:28px;margin-bottom:.25rem}#hero .content .sunrise-sunset .sun-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}#hero .content .sunrise-sunset .sun-row .sun-item{display:flex;flex-direction:column;align-items:center;gap:.15rem}#hero .content .sunrise-sunset .sun-row .sun-item .sun-icon{width:28px;height:28px;margin-bottom:.25rem}#hero .content .sunrise-sunset .sun-footer{text-align:center}@media(max-width: 480px){#hero .content .sunrise-sunset{padding:1rem}}.accordion-enter-active,.accordion-leave-active{transition:all .25s ease}.accordion-enter-from,.accordion-leave-to{max-height:0}.accordion-enter-to,.accordion-leave-from{max-height:500px}#forecast{padding:3rem 2rem;color:#fff}#forecast .section-title{font-weight:600;margin-bottom:2rem;text-align:center}#forecast .forecast-toggle{display:flex;gap:8px;margin:12px 0 20px}#forecast .forecast-toggle button{background:none;border:1px solid #444;color:#aaa;padding:6px 12px;cursor:pointer;border-radius:4px}#forecast .forecast-toggle button.active{border-color:#fff;color:#fff}#forecast .forecast-grid{display:grid;grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));gap:1.5rem;align-items:stretch}#forecast .svg-weather,#forecast .svg-weather-icon,#forecast .weather-icon{fill:currentColor}#forecast .forecast-day{background:hsla(0,0%,100%,.04);border-radius:14px;padding:1.2rem 1rem;display:flex;flex-direction:column;gap:.6rem;transition:background .2s ease}#forecast .forecast-day:hover{background:hsla(0,0%,100%,.07)}#forecast .forecast-day .day-header{display:flex;flex-direction:column;align-items:center;gap:.3rem;margin-bottom:.4rem}#forecast .forecast-day .day-header .weather-icon{width:100px;height:100px}#forecast .forecast-day .day-header .day-label{font-weight:600;text-transform:capitalize}#forecast .forecast-day .day-header .day-max{font-weight:600}#forecast .forecast-day .precip-type{text-align:center;text-transform:uppercase;margin-bottom:.4rem}#forecast .forecast-day .summary-row{display:flex;justify-content:space-between;padding:.25rem 0}#forecast .forecast-day .summary-row .value{font-weight:500}#forecast .forecast-day .summary-row .value .dir{margin-left:.25rem}#forecast .forecast-day .interval-toggle{margin-top:.6rem;padding-top:.6rem;border-top:1px solid hsla(0,0%,100%,.12);display:flex;justify-content:space-between;align-items:center;cursor:pointer;user-select:none}#forecast .forecast-day .intervals{margin-top:.6rem;padding-top:.6rem;border-top:1px solid hsla(0,0%,100%,.08);display:flex;flex-direction:column;gap:.6rem}#forecast .forecast-day .intervals .interval{display:flex;flex-direction:column;gap:.2rem}#forecast .forecast-day .intervals .interval .interval-row{display:grid;grid-template-columns:28px 42px 1fr 1fr;align-items:center;gap:.4rem}#forecast .forecast-day .intervals .interval .interval-weather-icon{width:22px;height:22px}#forecast .forecast-day .intervals .interval .temp{font-weight:500}#forecast .forecast-day .intervals .interval .wind .dir{margin-left:.2rem}#forecast .forecast-day .intervals .interval .precip{text-align:right}#forecast .forecast-note{margin-top:2rem;text-align:center}#hour-by-hour{padding:4rem;background:#0f0f0f}#hour-by-hour .section-title{text-transform:uppercase;margin-bottom:2rem;opacity:.85}#hour-by-hour .day-block{margin-bottom:3rem}#hour-by-hour .day-header{font-weight:600;margin-bottom:.75rem;padding-bottom:.5rem;border-bottom:1px solid hsla(0,0%,100%,.12);text-transform:capitalize}#hour-by-hour .hour-row{display:grid;grid-template-columns:64px 40px 56px 110px 1fr 80px 64px;align-items:center;gap:.75rem;padding:.6rem 0;font-size:.95rem;border-bottom:1px solid hsla(0,0%,100%,.06)}#hour-by-hour .hour-row:last-child{border-bottom:none}#hour-by-hour .hour-row:nth-child(even){background:hsla(0,0%,100%,.015)}#hour-by-hour .hour-row .time{opacity:.7;font-variant-numeric:tabular-nums}#hour-by-hour .hour-row .icon{width:32px;height:32px}#hour-by-hour .hour-row .temp{font-weight:600;font-variant-numeric:tabular-nums}#hour-by-hour .hour-row .wind{font-variant-numeric:tabular-nums}#hour-by-hour .hour-row .wind .dir{opacity:.7;margin-left:.25rem}#hour-by-hour .hour-row .label{font-style:italic;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#hour-by-hour .hour-row .pressure,#hour-by-hour .hour-row .humidity{font-variant-numeric:tabular-nums;opacity:.75;text-align:right}#hour-by-hour .forecast-note{margin-top:2.5rem;font-size:.75rem;opacity:.6;text-align:right}@media(max-width: 768px){#hour-by-hour{padding:1.5rem}#hour-by-hour .hour-row{grid-template-columns:56px 36px 52px 100px 1fr}#hour-by-hour .hour-row .pressure,#hour-by-hour .hour-row .humidity{display:none}}@media(max-width: 480px){#hour-by-hour .hour-row{font-size:.79rem;gap:.35rem}}#history{min-height:100vh;padding:4rem;background:#0a0a0a}#history .history-intro{max-width:600px;opacity:.8}
