:root{--paper:#f5f2e9;--ink:#334638;--muted:#788071;--line:#dcded0;--accent:#6e825b;--sky-top:#e9eee8;--sky-bottom:#f4e8c9;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:var(--paper);font-synthesis:none}*{box-sizing:border-box}body{margin:0}button,a,select{-webkit-tap-highlight-color:transparent}button,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid #72885f;outline-offset:5px}button{border:0;background:none}a{color:inherit;text-decoration:none}.header{height:100px;max-width:1440px;margin:auto;padding:0 5.4%;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;font-size:21px;letter-spacing:-1px;font-weight:600}.brand img{margin-right:9px}.brand>span:first-of-type{font-weight:400}.brand-dot{font-size:16px;color:#89907f;font-weight:400;letter-spacing:-.5px}.header-right{display:flex;align-items:center;gap:9px;font-size:11px;color:var(--muted)}.live-dot,.scene-dot{width:5px;height:5px;border-radius:50%;background:#8b9a6e;display:inline-block}.hero{text-align:center;padding:31px 20px 0;position:relative;z-index:2}.eyebrow{font-size:10px;font-weight:600;letter-spacing:2.5px;color:#7c876b}.tiny-leaf{font-size:24px;vertical-align:-3px;margin-right:7px;font-weight:400}h1{font:normal clamp(54px,6.2vw,84px)/1.13 Georgia,'Times New Roman',serif;letter-spacing:-4px;margin:19px 0 16px}h1 em{font-weight:400;color:#7d8c62}.intro{font:15px/1.7 Georgia,serif;color:#798071;margin:0}.countdown{display:flex;align-items:flex-start;justify-content:center;gap:23px;margin:31px auto 21px;font-variant-numeric:tabular-nums}.time-unit{display:flex;flex-direction:column;min-width:91px}.time-unit>span:first-child{font:normal 72px/1.12 Georgia,serif;letter-spacing:-3px;font-variant-numeric:lining-nums tabular-nums}.days-unit>span:first-child{color:#687d53}.unit-label{margin-top:9px;text-transform:uppercase;letter-spacing:2.4px;font-size:9px;color:#838777}.time-divider{font:35px Georgia,serif;color:#bdc3af;margin-top:14px}.target-date{display:flex;align-items:center;justify-content:center;gap:8px;color:#8b8e7f;font-size:10px;letter-spacing:.3px}.season-message{display:flex;justify-content:center;align-items:center;gap:14px;margin:31px auto 0;text-align:left;min-height:58px}.season-message>span{font-size:27px;filter:saturate(.65)}.season-message h2{font:normal 18px/1.5 Georgia,serif;margin:0 0 3px}.season-message p{font-size:11px;color:#818373;margin:0;line-height:1.7}.landscape{position:relative;height:450px;margin-top:-36px;overflow:hidden;background:linear-gradient(to bottom,var(--paper) 0%,var(--sky-top) 40%,var(--sky-bottom) 100%);transition:background 1.5s}.landscape:before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(var(--paper),transparent 38%)}#scene{width:100%;height:100%;display:block}.scene-caption{position:absolute;top:115px;left:5.5%;display:flex;align-items:center;gap:8px;z-index:2;font-size:8px;letter-spacing:1.9px;color:#858873}.below-scene{max-width:680px;margin:auto;padding:33px 30px 22px}.season-path{display:flex;align-items:center;justify-content:center;gap:16px;color:#a5a995;font-size:10px}.season-path i{height:1px;flex:1;background:#d9dccd;position:relative}.season-path i:after{content:'';position:absolute;top:-2px;left:50%;height:5px;width:5px;border-radius:50%;background:#d5d9c7}.season-path span{white-space:nowrap;position:relative}.season-path span.current{color:#556b42}.season-path span.current:after{content:'';height:4px;width:4px;position:absolute;left:calc(50% - 2px);bottom:-11px;background:#71885a;border-radius:50%}footer{max-width:1440px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:20px 5.4% 30px;color:#969a88;font-size:9px}footer button{font-size:9px;padding:10px 0}footer button span{margin-left:10px}.preview-panel{position:fixed;bottom:24px;right:24px;width:310px;padding:23px;background:#faf9f3;border:1px solid #d9decd;border-radius:14px;box-shadow:0 12px 65px #23382622;z-index:10}.preview-panel>div{display:flex;justify-content:space-between;align-items:center}.preview-panel strong{font:19px Georgia,serif}.preview-panel>div button{font-size:23px}.preview-panel p{font-size:11px;line-height:1.7;color:#818574}.preview-panel label{display:block;font-size:10px;margin:17px 0 7px}.preview-panel select{width:100%;padding:10px;color:#43533d;border:1px solid #d8ddce;border-radius:6px;background:#f5f4ed;font-size:12px}.reset-preview{font-size:11px;margin-top:18px;text-decoration:underline;text-underline-offset:4px;padding:5px 0}.noscript{padding:20px;text-align:center}.tree-sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 9s ease-in-out infinite alternate}.cloud{animation:drift 24s ease-in-out infinite alternate}.cloud-two{animation-duration:37s;animation-direction:alternate-reverse}.particle{animation:fall var(--duration) linear infinite;animation-delay:var(--delay)}.star{animation:twinkle 4s ease-in-out infinite alternate}.bird{animation:bird-flight 24s linear infinite}.smoke{animation:smoke 7s ease-out infinite;transform-box:fill-box;transform-origin:50% 100%}.night .scene-caption{color:#a5b8ac}.night .scene-dot{background:#d0d8bb}@keyframes sway{from{transform:rotate(-.6deg)}to{transform:rotate(.7deg)}}@keyframes drift{to{transform:translateX(65px)}}@keyframes fall{0%{transform:translate(0,-40px) rotate(0);opacity:0}10%{opacity:.85}90%{opacity:.7}100%{transform:translate(140px,420px) rotate(210deg);opacity:0}}@keyframes twinkle{from{opacity:.25}to{opacity:.85}}@keyframes bird-flight{from{transform:translateX(-100px)}to{transform:translateX(1550px)}}@keyframes smoke{0%{opacity:0;transform:translate(0,0) scale(.6)}40%{opacity:.3}100%{opacity:0;transform:translate(16px,-35px) scale(1.7)}}@media(min-width:1600px){.landscape{height:500px}.hero{padding-top:50px}}@media(max-width:700px){.header{height:78px;padding:0 6%}.brand{font-size:18px}.brand-dot{font-size:13px}.header-right{font-size:9px}.hero{padding-top:29px}h1{font-size:59px;letter-spacing:-3px;margin-top:16px}.intro{font-size:13px}.eyebrow{font-size:8px;letter-spacing:2px}.countdown{gap:9px;margin-top:29px}.time-unit{min-width:61px}.time-unit>span:first-child{font-size:51px;letter-spacing:-2px}.time-divider{font-size:27px;margin-top:8px}.unit-label{font-size:8px;letter-spacing:1.4px}.target-date{font-size:9px}.season-message{gap:10px;margin-top:29px}.season-message h2{font-size:16px}.season-message p{font-size:10px;max-width:265px}.landscape{height:370px;margin-top:-10px}#scene{width:160%;max-width:none;margin-left:-30%}.scene-caption{top:58px;font-size:7px}.below-scene{padding-top:27px}.season-path{font-size:9px;gap:10px}footer{font-size:8px;gap:15px;align-items:flex-start}footer button{font-size:8px;padding:0;line-height:1.8}.preview-panel{right:14px;bottom:14px;width:min(310px,calc(100vw - 28px))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}}
.flower-sway{transform-box:fill-box;transform-origin:50% 100%;animation:sway 5s ease-in-out infinite alternate}.water-ripple{animation:ripple 6s ease-in-out infinite alternate}.butterfly{transform-box:fill-box;transform-origin:center;animation:flutter 4s ease-in-out infinite alternate}.hammock{transform-box:fill-box;transform-origin:50% 0;animation:sway 7s ease-in-out infinite alternate}.firefly{animation:firefly 6s ease-in-out infinite;filter:drop-shadow(0 0 4px #e3e9ac)}@keyframes ripple{from{opacity:.3;translate:-3px 0}to{opacity:.7;translate:4px 0}}@keyframes flutter{from{translate:0 0;scale:.8 1}to{translate:22px -16px;scale:1 1}}@keyframes firefly{0%,100%{opacity:0;translate:0 0}40%{opacity:.85}70%{opacity:.25;translate:13px -15px}}@media(prefers-reduced-motion:reduce){.flower-sway,.water-ripple,.butterfly,.hammock,.firefly{animation:none!important}}

footer{justify-content:space-between}.author-credit{line-height:1.8}.author-credit a:hover{text-decoration:underline;text-underline-offset:3px}

[hidden]{display:none!important}.spring-arrival{font:italic 72px/1.12 Georgia,serif;color:#687d53;letter-spacing:-3px;margin:31px auto 21px;padding-bottom:29px}@media(max-width:700px){.spring-arrival{font-size:51px;letter-spacing:-2px;margin-top:29px}}


.weather-info{display:flex;align-items:center;justify-content:center;gap:8px 18px;flex-wrap:wrap;margin:0 0 28px;color:var(--muted);font-size:10px;line-height:1.7;text-align:center}.weather-info p{margin:0}.weather-info button{padding:6px 0;font-size:10px;text-decoration:underline;text-underline-offset:4px}.weather-info button:disabled{cursor:wait;opacity:.6}.weather-credit{color:#89907f;font-size:9px}.weather-credit:hover{text-decoration:underline}.weather-rain{animation:weather-rain var(--duration) linear infinite;animation-delay:var(--delay);opacity:.6}.weather-snow{animation:weather-snow var(--duration) linear infinite;animation-delay:var(--delay);opacity:.8}.weather-gust{animation:weather-gust var(--duration) ease-in-out infinite;animation-delay:var(--delay)}.weather-fog{animation:weather-fog 18s ease-in-out infinite alternate}.windy .tree-sway,.windy .flower-sway{animation-name:wind-sway;animation-duration:2.4s}.windy .cloud{animation-duration:7s}.windy .cloud-two{animation-duration:11s}.windy .particle{animation-duration:5s}.landscape[data-weather="rain"] .butterfly,.landscape[data-weather="snow"] .butterfly,.landscape[data-weather="storm"] .butterfly{display:none}@keyframes weather-rain{from{transform:translate(30px,-120px)}to{transform:translate(-30px,540px)}}@keyframes weather-snow{from{transform:translate(-30px,-170px)}to{transform:translate(100px,540px)}}@keyframes weather-gust{0%{transform:translateX(-160px);opacity:0}25%,65%{opacity:.65}100%{transform:translateX(320px);opacity:0}}@keyframes weather-fog{to{transform:translateX(90px)}}@keyframes wind-sway{from{transform:rotate(-2deg)}to{transform:rotate(3deg)}}@media(max-width:700px){.weather-info{gap:4px 14px;margin-bottom:23px}.weather-info p{width:100%}}@media(prefers-reduced-motion:reduce){.weather-rain,.weather-snow,.weather-gust,.weather-fog{animation:none!important}.weather-gust{opacity:.45}}
