@import"https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;1,300;1,400&display=swap";*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%}body{font-family:Cormorant Garamond,Georgia,serif;background:#f0e8df}.page{width:100%;min-height:100vh;background:#f0e8df}.intro-screen{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:#f0e8df;background-image:radial-gradient(ellipse at 30% 20%,rgba(200,160,100,.1) 0%,transparent 60%),radial-gradient(ellipse at 75% 80%,rgba(160,100,60,.07) 0%,transparent 55%)}.message-box{display:flex;align-items:center;gap:14px;border:none;background:transparent;cursor:pointer;padding:0;transition:opacity .35s ease}.message-box:hover{opacity:.72}.message-flower-image{width:300px;height:300px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(120,60,0,.18))}.message-copy{display:flex;flex-direction:column;align-items:flex-start}.message-copy p{margin:0;font-size:1.25rem;font-weight:300;letter-spacing:.18em;color:#6b3f1e;font-style:italic}.message-copy span{width:100%;height:1px;background:linear-gradient(90deg,#9a6030 0%,transparent 100%);margin-top:5px;opacity:.6}.scene{position:relative;width:100%;height:100vh;overflow:hidden;background:#f0e8df;background-image:radial-gradient(ellipse at 50% 0%,rgba(220,185,130,.22) 0%,transparent 65%),radial-gradient(ellipse at 20% 100%,rgba(140,90,40,.08) 0%,transparent 50%)}.growing-line-wrap{position:absolute;left:50%;bottom:110px;width:100%;height:2px;transform:translate(-50%);z-index:2;display:flex;justify-content:center}.growing-line{width:0;height:2px;background:linear-gradient(90deg,transparent 0%,#6b3f1e 30%,#6b3f1e 70%,transparent 100%);animation:growGroundLine 2.2s cubic-bezier(.4,0,.2,1) forwards}.ground-line{position:absolute;left:0;right:0;bottom:110px;height:2px;background:linear-gradient(90deg,transparent 0%,#6b3f1e 15%,#6b3f1e 85%,transparent 100%);opacity:.55}.seed-drop-wrap{position:absolute;left:50%;top:120px;transform:translate(-50%);animation:seedFall 2.2s cubic-bezier(.4,0,.6,1) forwards;z-index:3}.seed-dot{width:10px;height:14px;border-radius:50%/60% 60% 40% 40%;background:radial-gradient(ellipse at 35% 35%,#c47b3a,#6b3010);box-shadow:0 1px 4px #501e004d}.tree-wrap{position:absolute;left:50%;bottom:110px;transform:translate(-50%);width:520px;height:610px}.tree-svg-shell{position:absolute;left:50%;bottom:-2px;transform:translate(-50%);width:335px;height:400px;filter:drop-shadow(0 6px 18px rgba(80,35,8,.15))}.tree-svg{width:100%;height:100%;overflow:visible}.tree-part{transform-box:fill-box;transform-origin:bottom center;animation:growTreePart .88s cubic-bezier(.22,.7,.2,1) forwards}.trunk-part{fill:url(#trunkGrad);animation-duration:1.38s}.branch-part{fill:url(#branchGrad);animation-duration:1.08s}.soft-part{fill:#b06a2c;animation-duration:1.04s}.twig-part{fill:#8c6040;opacity:.96;animation-duration:.96s}.micro-twig-part{fill:#c4b5a6;opacity:.82;animation-duration:.9s}.shadow-part{fill:#48200647;opacity:0;animation:fadeShadow 1.1s ease forwards}.soft-shadow{fill:#64370f2e}.canopy{position:absolute;top:0;right:0;bottom:0;left:0;z-index:6;pointer-events:none}.flower{position:absolute;opacity:0;animation:bloom .7s ease forwards;will-change:transform,opacity}.flower-image{width:44px;height:44px;object-fit:contain;filter:drop-shadow(0 0 1px rgba(90,50,10,.14))}.final-mode .tree-wrap{transition:left 1.25s ease,transform 1.25s ease}.tree-wrap-final{left:73%;transform:translate(-50%) scale(.82)}.final-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:12;pointer-events:none}.final-top-text{position:absolute;left:30px;top:55px;width:min(420px,calc(100vw - 60px));color:#4a3123}.top-message-text{white-space:pre-line;font-size:24px;line-height:1.6;min-height:250px;font-weight:700;letter-spacing:.01em;padding:22px 24px;border-radius:24px;background:#ffffff6b;border:1px solid rgba(154,96,48,.18);box-shadow:0 10px 30px #5b3f1e1f;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.final-bottom-text{position:absolute;left:30px;bottom:24px;width:min(430px,calc(100vw - 60px));color:#4a3123;padding:18px 22px;border-radius:22px;background:#ffffff61;border:1px solid rgba(154,96,48,.18);box-shadow:0 8px 24px #5b3f1e1a;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}.bottom-lead{font-size:22px;font-weight:700;margin-bottom:8px;letter-spacing:.01em}.bottom-counter{font-size:32px;font-weight:800;line-height:1.15;letter-spacing:.02em;color:#6b3f1e;text-shadow:0 1px 0 rgba(255,255,255,.4)}.butterfly-rain{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none;z-index:3}.butterfly-item{position:absolute;top:-90px;animation-name:butterflyFall;animation-timing-function:linear;animation-iteration-count:infinite;will-change:transform,opacity}.butterfly-image{display:block;object-fit:contain;animation:butterflyFlutter 1.8s ease-in-out infinite alternate}@keyframes butterflyFall{0%{transform:translate3d(0,-80px,0) rotate(var(--butterfly-rotate));opacity:0}10%{opacity:1}to{transform:translate3d(var(--drift-x),110vh,0) rotate(calc(var(--butterfly-rotate) + 24deg));opacity:.12}}@keyframes butterflyFlutter{0%{transform:scaleX(1) scaleY(1) rotate(-2deg)}to{transform:scaleX(.9) scaleY(1.05) rotate(2deg)}}@media (max-width: 768px){.final-top-text{left:18px;top:30px;width:calc(100vw - 36px)}.top-message-text{font-size:18px;line-height:1.5;padding:18px;min-height:auto}.final-bottom-text{left:18px;bottom:18px;width:calc(100vw - 36px);padding:16px 18px}.bottom-lead{font-size:18px}.bottom-counter{font-size:24px}}@media only screen and (width: 430px) and (height: 932px) and (-webkit-device-pixel-ratio: 3){html,body,#root,.page,.intro-screen,.scene{width:100%;min-height:100dvh;height:100dvh;overflow:hidden;-webkit-text-size-adjust:100%}body{overflow:hidden}.intro-screen{padding:calc(env(safe-area-inset-top) + 24px) 20px calc(env(safe-area-inset-bottom) + 24px)}.message-box{width:100%;max-width:390px;flex-direction:column;justify-content:center;align-items:center;gap:10px;text-align:center}.message-flower-image{width:220px;height:220px}.message-copy{align-items:center;width:100%}.message-copy p{font-size:1.55rem;line-height:1.15;letter-spacing:.06em;text-align:center}.message-copy span{width:72%;margin-top:8px}.scene{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.growing-line-wrap,.ground-line{bottom:calc(env(safe-area-inset-bottom) + 84px)}.seed-drop-wrap{top:calc(env(safe-area-inset-top) + 70px)}.tree-wrap{width:430px;height:540px;left:50%;bottom:calc(env(safe-area-inset-bottom) + 84px);transform:translate(-50%)}.tree-svg-shell{width:280px;height:340px;bottom:0}.flower-image{width:33px;height:33px}.butterfly-rain{z-index:2}.butterfly-item{opacity:.5}.final-overlay{top:0;right:0;bottom:0;left:0;z-index:20}.final-top-text{left:16px;top:calc(env(safe-area-inset-top) + 14px);width:calc(100vw - 32px)}.top-message-text{font-size:17px;line-height:1.38;font-weight:700;padding:16px 16px 18px;border-radius:20px;min-height:unset;max-height:41dvh;overflow-y:auto;-webkit-overflow-scrolling:touch}.final-bottom-text{left:16px;right:16px;width:auto;bottom:calc(env(safe-area-inset-bottom) + 12px);padding:14px 16px;border-radius:18px}.bottom-lead{font-size:16px;line-height:1.2;margin-bottom:6px}.bottom-counter{font-size:22px;line-height:1.15;letter-spacing:.01em}.final-mode .tree-wrap{transition:left 1.1s ease,bottom 1.1s ease,transform 1.1s ease,opacity 1.1s ease}.tree-wrap-final{left:50%;bottom:calc(env(safe-area-inset-bottom) + 110px);transform:translate(-50%) scale(.68);opacity:.96}.canopy{top:0;right:0;bottom:0;left:0}}@keyframes seedFall{0%{top:120px;opacity:0;transform:translate(-50%) rotate(0) scale(.6)}8%{opacity:1;transform:translate(-50%) rotate(6deg) scale(1)}85%{transform:translate(-50%) rotate(-4deg) scale(1)}to{top:calc(100dvh - 124px);opacity:1;transform:translate(-50%) rotate(0) scale(1)}}@keyframes growGroundLine{0%{width:0}to{width:100%}}@keyframes growTreePart{0%{opacity:0;transform:scaleY(.01)}15%{opacity:.35}68%{opacity:1;transform:scaleY(1.032)}85%{transform:scaleY(.996)}to{opacity:1;transform:scaleY(1)}}@keyframes fadeShadow{0%{opacity:0}to{opacity:1}}@keyframes bloom{0%{opacity:0;transform:translate(-50%,-50%) scale(.18)}to{opacity:1}}
