*,:before,:after{box-sizing:border-box}body{margin:0}#root{width:100%;min-height:100vh}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{color:#f0f0f0;background:#0d0d0f;min-height:100vh;font-family:Mona Sans,system-ui,sans-serif}.app{background-position:50%;background-size:cover;background-attachment:fixed;flex-direction:column;align-items:center;min-height:100vh;padding:60px 20px 80px;transition:background-image .8s;display:flex}.app:before{content:"";pointer-events:none;z-index:0;background:linear-gradient(#0000008c 0%,#0000004d 50%,#000000a6 100%);position:fixed;inset:0}.app>*{z-index:1;width:100%;max-width:520px;position:relative}h1{letter-spacing:-.03em;text-align:center;color:#fff;margin-bottom:2rem;font-size:2.8rem;font-weight:800}.search-box{-webkit-backdrop-filter:blur(16px);background:#ffffff14;border:1px solid #ffffff26;border-radius:16px;flex-wrap:wrap;gap:8px;padding:10px;display:flex}.search-box input{color:#fff;background:#ffffff14;border:1px solid #ffffff1a;border-radius:10px;outline:none;flex:1;min-width:100px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:border-color .2s}.search-box input::placeholder{color:#fff6}.search-box input:focus{border-color:#fff6}.search-box .state-input{max-width:160px}.search-box button{color:#0d0d0f;cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:10px;padding:12px 24px;font-family:inherit;font-size:.95rem;font-weight:600;transition:opacity .2s,transform .1s}.search-box button:hover{opacity:.9}.search-box button:active{transform:scale(.97)}.location-btn{font-size:1rem;color:#fff!important;background:#ffffff1f!important;padding:12px 14px!important}.history-section{text-align:center;margin-top:12px}.history-toggle{color:#fff9;cursor:pointer;background:0 0;border:1px solid #fff3;border-radius:20px;padding:5px 14px;font-family:inherit;font-size:.8rem;transition:all .2s}.history-toggle:hover{color:#fff;background:#ffffff1a}.history-list{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:10px;display:flex}.history-item{color:#fffc;cursor:pointer;background:#ffffff14;border:1px solid #ffffff26;border-radius:20px;padding:5px 14px;font-family:inherit;font-size:.82rem;transition:all .2s}.history-item:hover{color:#fff;background:#ffffff2e}.history-clear{color:#ff6464b3;cursor:pointer;background:0 0;border:none;padding:5px 8px;font-family:inherit;font-size:.78rem;transition:color .2s}.history-clear:hover{color:#ff6464}.spinner{border:3px solid #ffffff26;border-top-color:#fff;border-radius:50%;width:36px;height:36px;margin:2rem auto;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.error{color:#ff6b6b;text-align:center;margin-top:1rem;font-size:.9rem}.weather-card{-webkit-backdrop-filter:blur(24px);background:#ffffff14;border:1px solid #ffffff26;border-radius:24px;margin-top:1.5rem;padding:2rem}.weather-card h2{color:#ffffffb3;letter-spacing:.02em;text-transform:uppercase;margin-bottom:1rem;font-size:1.1rem;font-weight:500}.temp-row{align-items:center;gap:14px;margin-bottom:.5rem;display:flex}.emoji{font-size:2.8rem;line-height:1}.temp{letter-spacing:-.04em;color:#fff;font-size:4rem;font-weight:800;line-height:1}.weather-card p{color:#fff9;margin-top:.4rem;font-size:.9rem}.sun-times{color:#fff9;gap:1.5rem;margin-top:.4rem;font-size:.88rem;display:flex}.frost-alert{border:1px solid;border-radius:12px;align-items:flex-start;gap:12px;margin-top:1.2rem;padding:14px 16px;display:flex}.frost-alert--advisory{background:#fbbf241f;border-color:#fbbf2459}.frost-alert--hard{background:#93c5fd1f;border-color:#93c5fd59}.frost-alert-icon{font-size:1.4rem;line-height:1}.frost-alert strong{margin-bottom:2px;font-size:.85rem;font-weight:700;display:block}.frost-alert--advisory strong{color:#fbbf24}.frost-alert--hard strong{color:#93c5fd}.frost-alert p{color:#fff9;font-size:.8rem;line-height:1.4;margin:0!important}.forecast{border-top:1px solid #ffffff1a;justify-content:space-between;gap:4px;margin-top:1.5rem;padding-top:1.5rem;display:flex}.forecast-day{text-align:center;flex:1}.forecast-date{color:#ffffff73;text-transform:uppercase;letter-spacing:.03em;margin-bottom:6px;font-size:.68rem}.forecast-emoji{margin:4px 0;font-size:1.4rem}.forecast-high{color:#fff;margin:2px 0;font-size:.95rem;font-weight:700}.forecast-low{color:#fff6;margin:2px 0;font-size:.8rem}.zone-card{border-top:1px solid #ffffff1a;margin-top:1.5rem;padding-top:1.5rem}.zone-label{color:#ffffff73;text-transform:uppercase;letter-spacing:.08em;font-size:.75rem;font-weight:600;margin-bottom:4px!important}.zone-number{letter-spacing:-.03em;color:#a8e6b4;font-size:2rem;font-weight:800;margin-bottom:0!important}.moon-bar{color:#ffffff80;justify-content:center;align-items:center;gap:8px;margin-bottom:1.5rem;display:flex}.moon-emoji{font-size:1.3rem}.moon-name{letter-spacing:.04em;font-size:.85rem;font-weight:500}.frost-dates{color:#ffffff80;flex-wrap:wrap;gap:1.5rem;margin-top:.8rem;font-size:.82rem;display:flex}.frost-dates strong{color:#a8e6b4}.planting-calendar{border-top:1px solid #ffffff14;margin-top:1.2rem;padding-top:1.2rem}.calendar-section{margin-bottom:.8rem}.calendar-section h4{text-transform:uppercase;letter-spacing:.08em;color:#ffffff80;margin-bottom:4px;font-size:.72rem;font-weight:700}.calendar-section p{color:#ffffffbf;font-size:.85rem;line-height:1.6;margin-top:0!important}.calendar-empty{color:#ffffff59;font-size:.82rem;font-style:italic;margin-top:.4rem!important}.calendar-source{color:#ffffff4d;font-size:.75rem;font-style:italic;line-height:1.5;margin-top:.8rem!important}.calendar-source a{color:#ffffff73;text-decoration:underline}.plant-list{margin-top:1.2rem}.plant-category{margin-bottom:.9rem}.plant-category h4{text-transform:uppercase;letter-spacing:.08em;color:#ffffff80;margin-bottom:4px;font-size:.72rem;font-weight:700}.plant-category p{color:#ffffffbf;font-size:.85rem;line-height:1.6;margin-top:0!important}
