@font-face{font-family:GardenScript;src:url('../assets/birthday/great-vibes.ttf') format('truetype');font-display:swap}:root{color-scheme:dark;--cream:#fff0d8;--gold:#edc794;--rose:#efa69c}*{box-sizing:border-box}html,body{margin:0;background:#06141b;color:var(--cream);font-family:Georgia,'Times New Roman',serif}button,a{touch-action:manipulation;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}button:disabled{cursor:wait;opacity:.6}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline:2px solid #ffe1ad;outline-offset:5px}h1:focus,h2:focus{outline:none}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}#garden{height:100svh;min-height:600px;width:100%;position:relative;isolation:isolate;overflow:hidden;background:#06121b}.garden-surround{position:absolute;inset:-3%;z-index:-5;background:linear-gradient(#03121c55,#08151bcc),url('../assets/time-machine/garden.webp') center/cover}.tree-world{position:absolute;left:50%;top:0;width:min(100%,82svh);height:100%;transform:translateX(-50%);transform-origin:var(--focus-x,50%) var(--focus-y,45%);transition:transform 1.3s cubic-bezier(.2,.7,.2,1),filter 1.3s;filter:brightness(var(--brightness,.78));z-index:-3}.tree-art{position:absolute;inset:0;background:url('../assets/wish-garden/tree.webp') center/100% 100%;mask-image:linear-gradient(90deg,transparent,#000 9%,#000 91%,transparent)}.garden-shade{position:absolute;inset:0;z-index:-1;pointer-events:none;background:linear-gradient(180deg,#04121c8c,transparent 22%,transparent 60%,#05121ae0),radial-gradient(ellipse,transparent 40%,#02101955);transition:background 1s}.garden-header{position:absolute;left:28px;right:26px;top:max(18px,env(safe-area-inset-top));display:flex;align-items:center;justify-content:space-between;z-index:30;pointer-events:none}.garden-header>*{pointer-events:auto}.garden-header a{font:14px Arial,sans-serif;text-shadow:0 2px 12px #000}.garden-header a span{font:25px Georgia,serif;margin-left:5px}.header-dedication{font:13px Georgia,serif;font-style:italic;color:#d9c6b4;position:absolute;left:50%;transform:translateX(-50%);white-space:nowrap;pointer-events:none}.round-button{width:44px;height:44px;border:1px solid #f3d3ad35;border-radius:50%;background:#11191555;backdrop-filter:blur(9px);display:grid;place-items:center;padding:0}.round-button svg{fill:none;stroke:currentColor;stroke-width:1.5;width:20px;height:20px;stroke-linecap:round;stroke-linejoin:round}.round-button:hover{background:#b88a4433}#sound[aria-pressed=false] .waves{opacity:.22}.eyebrow{font:10px/1.5 Arial,sans-serif;letter-spacing:2.8px;color:#f0c88e;margin:0 0 13px}.gold-button{display:inline-flex;align-items:center;justify-content:center;gap:25px;min-height:49px;padding:12px 24px;border:1px solid #f4cc92;border-radius:40px;background:linear-gradient(120deg,#624123c7,#101513de);box-shadow:0 0 7px #ffd69c80,0 0 25px #d9a15835,inset 0 0 10px #f6cc981a;font:16px Georgia,serif;text-shadow:0 1px 8px #000;transition:transform .2s,box-shadow .2s;backdrop-filter:blur(8px)}.gold-button:hover{transform:translateY(-2px);box-shadow:0 0 11px #ffd69caa,0 0 30px #d9a15866}.gold-button>span{font:23px Arial,sans-serif}.text-button{border:0;background:none;font:14px/1.5 Georgia,serif;color:#decbb8;padding:10px 15px;min-height:44px}.text-button:hover{color:#ffe2ad}.text-button>span{margin-left:10px}.entrance{position:absolute;inset:0;z-index:3}.gate{position:absolute;left:50%;top:11%;width:min(400px,55svh,90vw);aspect-ratio:2/3;transform:translateX(-50%);perspective:1100px;filter:drop-shadow(0 8px 25px #0008)}.gate-door{position:absolute;top:0;height:100%;width:50%;background-image:url('../assets/wish-garden/gate.webp');background-size:200% 100%;backface-visibility:hidden;transition:transform 1.8s cubic-bezier(.32,.02,.2,1),opacity 1.8s}.gate-left{left:0;background-position:left center;transform-origin:left center}.gate-right{right:0;background-position:right center;transform-origin:right center}.entrance-title{position:absolute;left:15px;right:15px;top:32%;text-align:center;text-shadow:0 2px 15px #160c03}.entrance-title .eyebrow{font-size:9px;letter-spacing:2.1px}.entrance-title h1{font-size:clamp(29px,4.3svh,39px);font-weight:400;line-height:1.14;margin:0 0 18px}.entrance-title h1 em{font:54px/1.4 GardenScript,serif}.entrance-title h1>span{display:block;font-size:27px;color:#ffc6ac;margin-top:2px}.entrance-title>p:last-child{font-size:16px;line-height:1.5;margin:0}.entrance-bottom{position:absolute;bottom:7%;left:15px;right:15px;text-align:center}.entrance-bottom>p{font:13px Georgia,serif;color:#ddc9b1;margin:23px 0 0}#garden[data-screen=entrance] .tree-world{transform:translateX(-50%) scale(.94);filter:brightness(.65) blur(1px)}#garden[data-screen=entering] .gate-left{transform:rotateY(-105deg);opacity:0}#garden[data-screen=entering] .gate-right{transform:rotateY(105deg);opacity:0}#garden[data-screen=entering] .entrance-title,#garden[data-screen=entering] .entrance-bottom{opacity:0;transition:opacity .5s}.skip-entrance{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);z-index:15;white-space:nowrap}.branches{position:absolute;inset:0}.branch{position:absolute;left:var(--x);top:var(--y);width:clamp(85px,19svh,150px);height:clamp(100px,22svh,172px);transform:translate(-50%,-50%) rotate(var(--angle));border:0;padding:0;background:none;pointer-events:auto;color:#563c2a;animation:branch-sway 7s ease-in-out infinite;animation-delay:var(--delay)}.branch:hover,.branch:focus-visible{z-index:4;animation-play-state:paused}.branch .bud-art{width:100%;height:100%;object-fit:contain;position:absolute;inset:0;filter:drop-shadow(0 0 11px #ffb85e73);transition:filter .3s,scale .3s}.branch:not(.opened) .bud-art{animation:bud-glow 3s ease-in-out infinite;animation-delay:var(--delay)}.branch:not(.opened):hover .bud-art{scale:1.1;filter:drop-shadow(0 0 20px #ffc070aa)}.branch .branch-bloom{position:absolute;width:125%;height:auto;left:-12.5%;bottom:-30%;opacity:0;transition:opacity .7s}.branch .branch-letter{display:flex;flex-direction:column;justify-content:center;align-items:center;position:absolute;left:8%;right:8%;top:0;min-height:69%;padding:12px 7px 15px;opacity:0;transform:translateY(20px) rotateX(-70deg);transform-origin:bottom;background:linear-gradient(130deg,#fff2d6,#f4d5a7);box-shadow:0 3px 14px #61380044,inset 0 0 22px #daaa561a;transition:opacity .7s,transform .9s;color:#543829;border-radius:1px}.branch-letter:before{content:'';position:absolute;inset:6px;border:1px solid #be965923;pointer-events:none}.branch-letter strong{font:clamp(17px,2.6svh,24px)/1.08 GardenScript,Georgia,serif;text-align:center}.branch-letter .little-heart{font:20px/1 Georgia,serif;color:#bd6654;margin-top:5px}.branch-letter small{font:10px/1.4 Georgia,serif;margin-top:6px;color:#785e43}.branch.opened .bud-art{opacity:0}.branch.opened .branch-bloom{opacity:1}.branch.opened .branch-letter{opacity:1;transform:translateY(0) rotateX(0)}.branch.last-bud .bud-art{filter:drop-shadow(0 0 25px #ffd791);animation-duration:1.5s}.tree-ui{position:absolute;inset:0;pointer-events:none;z-index:4}.tree-heading{position:absolute;top:11%;left:15px;right:15px;text-align:center;text-shadow:0 2px 20px #000}.tree-heading .eyebrow{font-size:9px}.tree-heading h1{font-weight:400;font-size:22px;line-height:1.15;margin:0}.tree-heading h1 em{font:35px GardenScript,serif;color:#f4d8af}.tree-bottom{position:absolute;bottom:4%;left:15px;right:15px;text-align:center;text-shadow:0 2px 12px #000}.tree-bottom>p:first-child{font-size:17px;line-height:1.3;margin:0 0 10px}.wish-progress{display:flex;justify-content:center;gap:9px;padding:5px 0}.wish-progress span{width:10px;height:10px;border:1px solid #e8d9c3;border-radius:50%;transition:background .4s,box-shadow .4s}.wish-progress span.opened{background:#ffe0a3;border-color:#ffe0a3;box-shadow:0 0 10px #ffc96988}#wish-count{font:13px Georgia,serif;color:#e2ceae;margin:10px 0 0}#fireflies{position:absolute;inset:0;z-index:1;pointer-events:none}#fireflies canvas{display:block;width:100%;height:100%}.focus-screen{position:absolute;inset:0;z-index:12;background:radial-gradient(ellipse,#151a0c08,#040e1780)}#garden[data-screen=focus] .tree-world,#garden[data-screen=private] .tree-world{transform:translateX(-50%) scale(1.5);filter:brightness(.5) blur(7px)}#garden[data-screen=focus] .garden-header a,#garden[data-screen=focus] .header-dedication{visibility:hidden}.close-wish{position:absolute;top:max(18px,env(safe-area-inset-top));left:28px;font:25px Arial,sans-serif;z-index:5}.bloom-status{position:absolute;top:15%;left:15px;right:15px;text-align:center;font:22px GardenScript,serif;color:#ffdfa7;text-shadow:0 0 16px #f9c06d6e;transition:opacity .5s}.focus-stage{position:absolute;left:50%;top:48%;width:min(430px,90vw);height:min(550px,74svh);transform:translate(-50%,-50%);perspective:1000px}.focus-flower{position:absolute;width:100%;height:auto;left:0;bottom:0;pointer-events:none;filter:drop-shadow(0 0 30px #ffb65c55);transition:opacity .8s,transform 1.1s}.half-flower,.open-flower{opacity:0}.wish-letter{position:absolute;left:12%;right:12%;bottom:24%;max-height:76%;overflow:auto;padding:25px 24px 23px;background:linear-gradient(135deg,#fff2d7,#f4d8b0);color:#583b2a;box-shadow:0 7px 40px #42210b55;transform:translateY(70px) rotateX(-83deg) scaleY(.3);transform-origin:bottom;opacity:0;transition:transform 1.2s cubic-bezier(.18,.8,.2,1),opacity .8s;border-radius:1px;scrollbar-width:thin;scrollbar-color:#99734655 transparent}.wish-letter .eyebrow{font-size:8px;letter-spacing:1.3px;color:#95754e;margin-bottom:15px}.wish-letter h2{font:38px/1.1 GardenScript,serif;text-align:center;margin:0 0 19px;color:#583225}.wish-letter>p:not(.eyebrow){font-size:17px;line-height:1.6;text-align:center;margin:0 0 18px}.wish-letter>.wish-sender{font:24px GardenScript,serif!important;text-align:right!important;margin:14px 0 0!important}.letter-heart{display:block;text-align:center;font:28px Georgia,serif;color:#ca6c57;margin-top:12px}.letter-crease{position:absolute;left:0;right:0;top:50%;height:1px;background:#a77e3417;box-shadow:0 1px 1px #fff4;pointer-events:none}#garden[data-bloom=half] .closed-flower,#garden[data-bloom=open] .closed-flower{opacity:0;transform:scale(1.05)}#garden[data-bloom=half] .half-flower{opacity:1}#garden[data-bloom=open] .half-flower{opacity:0}#garden[data-bloom=open] .open-flower{opacity:1}#garden[data-bloom=open] .wish-letter{opacity:1;transform:translateY(0) rotate(-3deg)}#garden[data-bloom=open] .bloom-status{opacity:0}.focus-back{position:absolute;left:50%;bottom:6%;transform:translateX(-50%);white-space:nowrap;font-size:16px}.spark-burst{position:absolute;inset:0;z-index:16;pointer-events:none;overflow:hidden}.spark-burst i{position:absolute;width:4px;height:6px;border-radius:50%;background:#ffe0a1;box-shadow:0 0 9px #ffc66c}.reveal,.finale{position:absolute;inset:0;pointer-events:none;z-index:5}.reveal button,.finale button{pointer-events:auto}.reveal-copy{position:absolute;bottom:4%;left:15px;right:15px;text-align:center;text-shadow:0 2px 20px #07110e}.reveal-copy .eyebrow{font-size:9px;margin-bottom:7px}.reveal-copy h1{font:49px/1 GardenScript,serif;margin:0 0 11px;color:#ffe1b1;text-shadow:0 0 17px #eba95377}.reveal-copy h1 em{font-style:normal}.reveal-copy h1>span{font:28px Georgia,serif}.reveal-copy>p:not(.eyebrow){font-size:16px;margin:0 0 19px}.reveal-copy .text-button{display:block;margin:7px auto 0;font-size:13px}.private-wish{position:absolute;inset:0;z-index:12;background:radial-gradient(ellipse,#0c1e1733,#06121bb3);text-align:center}.private-copy{position:absolute;top:15%;left:15px;right:15px}.private-copy .eyebrow{font-size:9px}.private-copy h1{font-size:30px;font-weight:400;line-height:1.2;margin:0 0 19px}.private-copy h1>span{display:block;color:#f0b8ac;margin-top:10px}.private-copy>p:last-child{font-size:18px;line-height:1.6;margin:0}.private-flower{position:absolute;width:min(350px,55svh,83vw);height:auto;left:50%;top:46%;transform:translate(-50%,-50%);filter:drop-shadow(0 0 25px #ffc57066);transition:opacity .8s,translate 1.2s}.hold-controls{position:absolute;bottom:5%;left:15px;right:15px}.hold-wish{position:relative;width:90px;height:90px;border:0;padding:0;border-radius:50%;background:#181d1355;box-shadow:0 0 25px #ffc57a22;touch-action:none;user-select:none;-webkit-user-select:none}.hold-wish svg{position:absolute;inset:0;fill:none;stroke-width:2;transform:rotate(-90deg)}.hold-track{stroke:#e4b67b50}.hold-ring{stroke:#ffe0a3;stroke-width:3;stroke-linecap:round;stroke-dasharray:270.18;stroke-dashoffset:270.18;filter:drop-shadow(0 0 3px #ffc471)}.hold-wish>span{font-size:34px;color:#f6c59c}.hold-controls>p{font-size:16px;margin:11px 0 0}.hold-controls .private-note{font-size:12px;color:#c8beaf;margin:11px 0 0}.hold-controls>.text-button{font-size:12px;margin-top:12px}.private-wish.wish-sent .private-flower{translate:0 -110px;opacity:0}.private-wish.wish-sent .hold-wish{box-shadow:0 0 45px #ffc57a80}.finale-heading{position:absolute;top:11%;left:15px;right:15px;text-align:center;text-shadow:0 2px 20px #00120c}.finale-heading h1{font-size:30px;font-weight:400;line-height:1.08;margin:0 0 10px}.finale-heading h1 em{font:45px GardenScript,serif}.finale-heading h1>span{font:23px Georgia,serif;color:#f2b5a3}.finale-heading .eyebrow{font-size:9px;margin-bottom:13px}.finale-heading>p:last-child{font:14px Georgia,serif;color:#f4d9af;margin:0}.finale-actions{position:absolute;bottom:7%;left:15px;right:15px;display:flex;gap:12px;justify-content:center}.subtle-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:46px;border:1px solid #dfbd8e9c;border-radius:35px;background:#16201494;padding:10px 17px;box-shadow:0 0 12px #dea35130;backdrop-filter:blur(8px);font:14px Georgia,serif}.subtle-button:hover{background:#53391bbd}.subtle-button>.heart{font-size:22px;color:#f0ae99}.save-status{position:absolute;bottom:2%;left:15px;right:15px;text-align:center;font:12px Arial,sans-serif;color:#e1cba6;line-height:1.4}.rising-lanterns{position:absolute;inset:0;pointer-events:none;z-index:2;overflow:hidden;opacity:0;transition:opacity 2s}.rising-lanterns img{position:absolute;width:55px;bottom:-100px;animation:lantern-rise 18s linear infinite;filter:drop-shadow(0 0 14px #ffbd6950)}#garden[data-screen=finale] .rising-lanterns{opacity:1}.no-script{position:absolute;inset:0;z-index:100;background:#06151c;display:grid;place-content:center;text-align:center;gap:20px;padding:30px}.no-script a{text-decoration:underline}@keyframes branch-sway{0%,100%{translate:0 0}50%{translate:2px -5px}}@keyframes bud-glow{0%,100%{filter:drop-shadow(0 0 8px #ffb85e66)}50%{filter:drop-shadow(0 0 19px #ffd49b9c)}}@keyframes lantern-rise{0%{transform:translateY(0) translateX(0) scale(.85);opacity:0}10%{opacity:.75}85%{opacity:.55}100%{transform:translateY(-110svh) translateX(65px) scale(.4);opacity:0}}
@media(min-width:1000px){.tree-heading{top:12%;left:5%;right:auto;max-width:260px;text-align:left}.tree-heading h1{font-size:27px}.tree-heading h1 em{font-size:41px}.tree-heading .eyebrow{font-size:10px}.tree-bottom{bottom:5%}.branch{width:clamp(110px,19svh,165px);height:clamp(120px,22svh,180px)}.branch-letter strong{font-size:26px}.branch-letter small{font-size:12px}.finale-heading{left:5%;right:auto;top:19%;max-width:280px;text-align:left}.finale-heading h1{font-size:32px}.finale-heading h1 em{font-size:48px}.reveal-copy{left:auto;right:5%;bottom:22%;max-width:280px;text-align:left}.reveal-copy h1{font-size:54px}.reveal-copy .text-button{margin-left:0;padding-left:0}.tree-world{width:min(80%,88svh)}#garden[data-screen=reveal] .tree-world{left:44%}.focus-stage{width:470px}.wish-letter{left:12%;right:12%;padding:30px}.wish-letter h2{font-size:44px}.wish-letter>p:not(.eyebrow){font-size:18px}}
@media(max-width:600px){.garden-header{top:max(13px,env(safe-area-inset-top));left:16px;right:15px}.garden-header a span{font-size:23px}.header-dedication{display:none}.tree-world{width:100%}.tree-art{mask-image:none}.garden-surround{background-image:linear-gradient(#06151bcc,#06151bdd),url('../assets/time-machine/garden.webp')}.gate{top:14%;width:min(88vw,54svh)}.entrance-title{top:34%}.entrance-title h1{font-size:29px}.entrance-title h1 em{font-size:48px}.entrance-title .eyebrow{font-size:8px;letter-spacing:1.5px}.entrance-title>p:last-child{font-size:15px}.entrance-bottom{bottom:8%}.gold-button{font-size:15px;padding:12px 23px;gap:20px}.tree-heading{top:12%}.tree-heading .eyebrow{font-size:8px;letter-spacing:2.1px;margin-bottom:8px}.tree-heading h1{font-size:18px}.tree-heading h1 em{font-size:29px}.branch{width:27vw;max-width:125px;height:33vw;max-height:155px}.branch .branch-letter{left:4%;right:4%;padding:10px 7px 12px}.branch-letter strong{font-size:21px}.branch-letter small{font-size:9px;margin-top:5px}.branch-letter .little-heart{font-size:17px;margin-top:4px}.tree-bottom{bottom:5%}.tree-bottom>p:first-child{font-size:16px}.wish-progress{gap:10px}.close-wish{left:16px;top:13px}.bloom-status{top:14%;font-size:26px}.focus-stage{top:48%;height:70svh;width:94vw}.wish-letter{left:10%;right:10%;bottom:23%;padding:24px 23px 20px}.wish-letter h2{font-size:36px;margin-bottom:16px}.wish-letter>p:not(.eyebrow){font-size:16px;line-height:1.65}.focus-back{font-size:15px;bottom:7%}.reveal-copy{bottom:3%}.reveal-copy h1{font-size:42px}.reveal-copy>p:not(.eyebrow){font-size:14px;margin-bottom:16px}.reveal-copy .eyebrow{font-size:8px}.reveal-copy .text-button{margin-top:3px;font-size:12px}.private-copy{top:14%}.private-copy h1{font-size:26px}.private-copy>p:last-child{font-size:17px}.private-copy .eyebrow{font-size:8px;letter-spacing:1.7px}.private-flower{width:min(320px,49svh,84vw);top:47%}.hold-controls{bottom:4%}.hold-wish{width:82px;height:82px}.hold-controls>p{font-size:15px}.hold-controls .private-note{font-size:11px}.finale-heading{top:11%}.finale-heading .eyebrow{font-size:8px;letter-spacing:2px;margin-bottom:10px}.finale-heading h1{font-size:25px}.finale-heading h1 em{font-size:37px}.finale-heading>p:last-child{font-size:13px}.finale-actions{bottom:7%;gap:9px;left:12px;right:12px}.subtle-button{font-size:12px;padding:10px 13px;gap:6px}.rising-lanterns img{width:43px}}
@media(max-height:720px) and (max-width:600px){.entrance-title{top:33%}.entrance-title h1{font-size:25px;margin-bottom:13px}.entrance-title h1 em{font-size:42px}.entrance-title h1>span{font-size:22px}.entrance-title>p:last-child{font-size:14px}.entrance-title .eyebrow{font-size:7px}.gate{top:14%;width:54svh}.tree-heading{top:12%}.tree-heading h1{font-size:17px}.tree-heading h1 em{font-size:26px}.branch{width:25vw;height:31vw}.branch-letter strong{font-size:19px}.branch-letter small{font-size:9px}.reveal-copy h1{font-size:37px}.reveal-copy>p:not(.eyebrow){margin-bottom:13px}.reveal-copy .eyebrow{margin-bottom:5px}.reveal-copy .gold-button{min-height:43px;padding:9px 19px;font-size:14px}.reveal-copy .text-button{min-height:35px;font-size:12px}.focus-stage{height:72svh;top:49%}.wish-letter{padding:20px 20px 17px;bottom:23%}.wish-letter h2{font-size:33px}.wish-letter>p:not(.eyebrow){font-size:15px}.wish-letter .eyebrow{font-size:7px}.private-copy{top:13%}.private-copy h1{font-size:24px;margin-bottom:13px}.private-copy>p:last-child{font-size:16px}.private-copy h1>span{margin-top:5px}.private-flower{width:43svh;top:46%}.hold-wish{width:74px;height:74px}.hold-controls{bottom:3%}.hold-controls>.text-button{margin-top:8px}.finale-heading h1{font-size:23px}.finale-heading h1 em{font-size:35px}}
@media(max-height:550px) and (min-width:601px){#garden{min-height:430px}.tree-world{width:75svh}.tree-heading{top:23%;left:4%;right:auto;text-align:left;max-width:200px}.tree-heading h1{font-size:19px}.tree-bottom{left:auto;right:3%;bottom:28%;width:190px}.branch{width:19svh;height:23svh}.branch-letter strong{font-size:16px}.branch-letter small{font-size:8px}.branch .branch-letter{padding:8px 5px}.branch-letter .little-heart{font-size:13px}.gate{top:5%;left:33%;height:88%;width:auto}.entrance-title{left:8%;right:42%;top:31%}.entrance-title h1{font-size:23px}.entrance-title h1 em{font-size:36px}.entrance-title .eyebrow{font-size:7px}.entrance-title>p:last-child{font-size:13px}.entrance-bottom{left:57%;right:4%;bottom:33%}.entrance-bottom .gold-button{font-size:14px;padding:11px 18px;gap:12px}.entrance-bottom>p{font-size:12px}.header-dedication{display:none}.focus-stage{height:87svh;top:53%;width:350px}.wish-letter{padding:17px;bottom:15%;max-height:78%}.wish-letter h2{font-size:31px;margin-bottom:10px}.wish-letter>p:not(.eyebrow){font-size:14px;line-height:1.4;margin-bottom:10px}.wish-letter .eyebrow{font-size:7px;margin-bottom:10px}.wish-letter>.wish-sender{font-size:20px!important}.letter-heart{font-size:21px;margin-top:8px}.focus-flower{width:80%;left:10%;bottom:-8%}.focus-back{left:auto;right:3%;transform:none;font-size:13px;bottom:15%;max-width:150px;white-space:normal}.bloom-status{left:3%;right:auto;top:40%;font-size:20px;max-width:140px}.reveal-copy{left:auto;right:3%;bottom:15%;width:220px}.reveal-copy h1{font-size:35px}.reveal-copy .eyebrow{font-size:7px}.reveal-copy>p:not(.eyebrow){font-size:13px}.reveal-copy .gold-button{font-size:13px;padding:10px 15px;gap:12px}.reveal-copy .text-button{font-size:12px}.private-copy{left:5%;right:auto;top:30%;width:220px}.private-copy h1{font-size:22px}.private-copy>p:last-child{font-size:15px}.private-copy .eyebrow{font-size:7px}.private-flower{width:60svh;top:53%}.hold-controls{left:auto;right:4%;bottom:11%;width:200px}.hold-wish{width:70px;height:70px}.hold-controls>p{font-size:14px}.hold-controls .private-note{font-size:10px}.hold-controls .text-button{font-size:11px;margin-top:5px}.finale-heading{left:3%;right:auto;top:26%;width:210px;text-align:left}.finale-heading h1{font-size:23px}.finale-heading h1 em{font-size:36px}.finale-heading .eyebrow{font-size:7px}.finale-actions{left:auto;right:3%;bottom:27%;flex-direction:column}.subtle-button{font-size:12px}.save-status{bottom:7%;left:auto;right:3%;width:200px;font-size:11px}}
.gate{clip-path:polygon(0 17%,7% 6%,13% 17%,44% 8%,50% 0,56% 8%,87% 17%,94% 6%,100% 17%,100% 96%,0 96%)}
.private-flower{top:53%}
@media(max-width:600px){.branch{width:29vw;max-width:130px}.branch-letter small{display:none}.branch-letter strong{font-size:19px}.branch .branch-letter{min-height:65%;padding:10px 7px 12px}.private-flower{top:53%}}
@media(max-height:720px) and (max-width:600px){.private-flower{width:37svh;top:55%}}
@media(max-width:600px){.reveal-copy h1 br{display:none}.reveal-copy h1{font-size:35px}.reveal-copy .eyebrow,.finale-heading .eyebrow{display:none}.finale-heading{top:10%}.finale-heading h1{font-size:23px}.finale-heading h1 em{font-size:33px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.rising-lanterns img{bottom:80%;opacity:.5}.branch{translate:0 0}}
@media(max-width:600px){.finale-heading>p:last-child{display:none}}

/* The whole garden and the selected flower share one camera move. */
#garden[data-screen=focus] .tree-world{transform:translateX(-50%);transform-origin:0 0;filter:brightness(.85);transition:transform 1.25s cubic-bezier(.2,.7,.2,1),filter 1.25s}
#garden[data-screen=focus].camera-in .tree-world{transform:translateX(-50%) translate(var(--camera-x),var(--camera-y)) scale(var(--camera-scale));filter:brightness(.72)}
.selected-flower{visibility:hidden}
#garden[data-screen=focus] .branch{animation-play-state:paused}
.focus-screen{background:radial-gradient(ellipse,transparent 25%,#040e174d)}
.camera-closing .focus-screen{pointer-events:none;background:none}
.camera-closing .bloom-status,.camera-closing .focus-back,.camera-closing .close-wish{opacity:0}
.dandelion{position:absolute;left:50%;top:22%;width:min(520px,70svh);aspect-ratio:2/3;transform:translateX(-50%);pointer-events:none}
.wish-hand{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 0 16px #ffc77922)}
.dandelion-seeds{position:absolute;left:23%;top:18%;width:54%;height:auto;overflow:visible;filter:drop-shadow(0 0 3px #ffd890) drop-shadow(0 0 9px #fcb54b);transition:filter .3s}
.seed-core{fill:#ffbf68;filter:blur(2px)}
.wish-seed{fill:none;stroke:#ffe6af;stroke-width:.7;transform-box:view-box;transform-origin:120px 120px}
.seed-filament{stroke:#f7c779;stroke-width:.4;opacity:.65}
.private-wish{background:linear-gradient(#08162655,#15202d33 55%,#07131ab3)}
.private-copy{top:11%;z-index:2;text-shadow:0 2px 16px #000}
.private-copy .eyebrow,.private-copy h1>span{display:none}
.private-copy h1{margin-bottom:15px}
.hold-controls{z-index:3;bottom:4%}
.hold-wish{background:#14201c22;backdrop-filter:blur(2px)}
.wish-sent .seed-filament{opacity:0;transition:opacity .6s}
.wish-sent .wish-hand{opacity:.55;transition:opacity 3s}
.wish-sent .seed-core{opacity:0;transition:opacity 1.5s}
@media(max-width:600px){.dandelion{top:23%;width:min(110vw,64svh)}.private-copy{top:12%}.private-copy h1{font-size:27px}.private-copy>p:last-child{font-size:17px}.hold-controls{bottom:3%}.hold-controls .private-note{display:none}.hold-controls>.text-button{margin-top:4px}.hold-wish{width:88px;height:88px}}
@media(max-height:550px) and (min-width:601px){.dandelion{top:0;width:65svh}.private-copy{top:24%}.hold-controls{bottom:16%}}
@media(prefers-reduced-motion:reduce){#garden[data-screen=focus] .tree-world{transition:none}.wish-seed{transition:none}.wish-sent .dandelion-seeds{opacity:0}}
