.app{min-height:100vh;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:2rem;box-sizing:border-box;position:relative;z-index:1}.poetry-container{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;max-width:600px}.lines-container{display:flex;flex-direction:column;align-items:center;gap:.75rem;min-height:200px;justify-content:center}.flower-container{width:225px;height:225px;margin-bottom:1.5rem;transition:width .6s ease,height .6s ease}.blossoming.flower-container{width:180px;height:180px}.flower-inner{position:relative;width:100%;height:100%}.flower-layer{position:absolute;top:0;left:0;width:100%;height:100%}.petal{position:absolute;animation:petalAppear .5s ease-out forwards;animation-delay:var(--petal-delay, 0s);opacity:0}.stamen{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;animation:fadeIn .5s ease-out forwards}.stamen.is-bud{animation:fadeIn .6s ease-out forwards}.stamen-circle{position:absolute;border-radius:50%}.stamen-circle.stamen-outer{width:20px;height:20px}.stamen-circle.stamen-inner{width:12px;height:12px}@keyframes fadeIn{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@keyframes petalAppear{0%{opacity:0}to{opacity:.85}}.poetry-line{font-size:1.4rem;line-height:1.6;text-align:center;margin:0;padding:.25rem 0;color:#2c2c2c}.idle-scramble{color:#0006;letter-spacing:.05em;filter:blur(1.5px)}.idle-line{opacity:1}.converge-in{animation:convergeIn .6s ease-out forwards}@keyframes convergeIn{0%{opacity:0;transform:scale(1.5);filter:blur(8px);letter-spacing:.5em}50%{opacity:.7;filter:blur(3px)}to{opacity:1;transform:scale(1);filter:blur(1.5px);letter-spacing:.05em}}.settling-text{display:inline-block}.settle-grounded{animation:settleConverge .8s ease-out forwards}@keyframes settleConverge{0%{opacity:0;transform:scale(1.4);filter:blur(6px);letter-spacing:.4em}50%{opacity:.7;filter:blur(2px)}to{opacity:1;transform:scale(1);filter:blur(0);letter-spacing:0}}.settle-flash{animation:settleFlash .4s ease-out forwards}@keyframes settleFlash{0%{opacity:1;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.8)}50%{color:#fff;text-shadow:0 0 4px rgba(255,255,255,.4)}to{opacity:1;color:#2c2c2c;text-shadow:none}}.controls{display:flex;flex-wrap:wrap;justify-content:center;gap:2rem;padding:.5rem 0;margin-top:2rem;position:relative;z-index:10}.controls .btn-clear-garden{flex-basis:100%;text-align:center}button{font-size:1.4rem;font-family:Spectral,serif;font-weight:500;cursor:pointer;padding:1rem 2.5rem;transition:background .25s ease,color .25s ease,transform .25s ease,box-shadow .25s ease;border-radius:6px;letter-spacing:.12em;text-transform:uppercase;background:#1e1e1ed9;color:#ffffffd9;border:1px solid rgba(255,255,255,.12);box-shadow:0 2px 8px #0003}button:active{transform:scale(.95);background:#141414e6}.btn-choice{background:#232323e6;color:#ffffffe6;border:1px solid rgba(255,255,255,.15)}@media (hover: hover){button:hover{background:#2d2d2de6;border-color:#fff3;transform:translateY(-1px);box-shadow:0 4px 12px #00000026}.btn-choice:hover{background:#323232f2;border-color:#ffffff40}}.btn-clear-garden{background:none;border:none;box-shadow:none;padding:.4rem 0;margin-top:1rem;font-size:.85rem;font-weight:400;color:#64646480;text-decoration:underline;text-underline-offset:3px;letter-spacing:.08em;text-transform:lowercase}@media (hover: hover){.btn-clear-garden:hover{background:none;border:none;box-shadow:none;color:#505050b3;transform:none}}.btn-axis{background:transparent;border:none;box-shadow:none;border-radius:0;position:relative;overflow:hidden;padding:1.2rem 3.5rem;min-width:200px;font-size:1.5rem;font-weight:400;letter-spacing:.18em;text-transform:lowercase;color:var(--btn-color, #555);border-bottom:1.5px solid var(--btn-color-faded, rgba(100,100,100,.25));transition:color .3s ease,border-color .3s ease,background .3s ease}.btn-axis:active{transform:scale(.97);background:var(--btn-tint, transparent)}@media (hover: hover){.btn-axis:hover{background:var(--btn-tint, transparent);border-bottom-color:var(--btn-color, #555);transform:none;box-shadow:none}}.btn-echo:before,.btn-grip:before,.btn-ignite:before,.btn-release:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background-color:var(--btn-color);-webkit-mask-image:var(--btn-sketch);mask-image:var(--btn-sketch);-webkit-mask-size:cover;mask-size:cover;-webkit-mask-position:center;mask-position:center;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;opacity:1;pointer-events:none;transition:filter .4s ease;filter:blur(0)}@media (hover: hover){.btn-echo:hover:before,.btn-grip:hover:before,.btn-ignite:hover:before,.btn-release:hover:before{filter:blur(3px) brightness(1.3)}}.btn-sublimate{--btn-color: #6a5a9e;--btn-color-faded: rgba(106, 90, 158, .3);--btn-tint: rgba(106, 90, 158, .06)}.btn-crystallise{--btn-color: #1a6a80;--btn-color-faded: rgba(26, 106, 128, .3);--btn-tint: rgba(26, 106, 128, .06)}.btn-grip{--btn-color: #8f4530;--btn-color-faded: rgba(143, 69, 48, .3);--btn-tint: rgba(143, 69, 48, .06);--btn-sketch: url(/buttons/grip.png)}.btn-release{--btn-color: #1d6a4e;--btn-color-faded: rgba(29, 106, 78, .3);--btn-tint: rgba(29, 106, 78, .06);--btn-sketch: url(/buttons/release.png)}.btn-echo{--btn-color: #5a6a99;--btn-color-faded: rgba(90, 106, 153, .3);--btn-tint: rgba(90, 106, 153, .06);--btn-sketch: url(/buttons/echo.png)}.btn-ignite{--btn-color: #c45518;--btn-color-faded: rgba(196, 85, 24, .3);--btn-tint: rgba(196, 85, 24, .06);--btn-sketch: url(/buttons/ignite.png)}.btn-smother{--btn-color: #5a4868;--btn-color-faded: rgba(90, 72, 104, .3);--btn-tint: rgba(90, 72, 104, .06)}.btn-howl{--btn-color: #7a3555;--btn-color-faded: rgba(122, 53, 85, .3);--btn-tint: rgba(122, 53, 85, .06)}.ambient-lights{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;overflow:hidden;z-index:0}.ambient-light{position:absolute;border-radius:50%;transform:translate(-50%,-50%);filter:blur(60px);animation:ambientPulse ease-in-out infinite}@keyframes ambientPulse{0%{opacity:0;transform:translate(-50%,-50%) scale(.8)}15%{opacity:.7}30%{opacity:1;transform:translate(-50%,-50%) scale(1)}70%{opacity:1;transform:translate(-50%,-50%) scale(1.05)}85%{opacity:.7}to{opacity:0;transform:translate(-50%,-50%) scale(.9)}}.particle{position:fixed;pointer-events:none;z-index:1000}.particle-sublimate{width:var(--size, 100px);height:var(--size, 100px);background:radial-gradient(circle,rgba(200,200,230,.35) 0%,rgba(230,230,245,.2) 30%,transparent 70%);border-radius:50%;filter:blur(20px);animation:pSublimateFloat 2.5s ease-out forwards;animation-delay:var(--delay, 0ms)}@keyframes pSublimateFloat{0%{transform:translate(0) scale(.2);opacity:0}15%{opacity:.5;transform:translate(calc(var(--x) * .1),calc(var(--y) * .1)) scale(.6)}40%{opacity:.4;transform:translate(calc(var(--x) * .4),calc(var(--y) * .4)) scale(1)}to{transform:translate(var(--x),var(--y)) scale(1.5);opacity:0}}.particle-crystallise{width:var(--size, 10px);height:var(--size, 10px);background:#2c2c2c;animation:pCrystalliseFall .7s ease-out forwards;animation-delay:var(--delay, 0ms)}.particle-crystallise:before,.particle-crystallise:after{content:"";position:absolute;background:#2c2c2c}.particle-crystallise:before{width:2px;height:calc(var(--size, 10px) * 1.8);left:calc(var(--size, 10px) / 2 - 1px);top:calc(var(--size, 10px) * -.4)}.particle-crystallise:after{width:calc(var(--size, 10px) * 1.8);height:2px;left:calc(var(--size, 10px) * -.4);top:calc(var(--size, 10px) / 2 - 1px)}@keyframes pCrystalliseFall{0%{transform:translate(0) scale(0) rotate(0);opacity:1}20%{transform:translate(calc(var(--x) * .2),calc(var(--y) * .2)) scale(1.3) rotate(20deg);opacity:1}50%{opacity:.7}to{transform:translate(var(--x),var(--y)) scale(.3) rotate(45deg);opacity:0}}.particle-grip{width:var(--size, 5px);height:var(--size, 5px);background:#5c4a3a;border-radius:1px;animation:pGripRoot 1s ease-in forwards;animation-delay:var(--delay, 0ms)}@keyframes pGripRoot{0%{transform:translate(0) scale(1);opacity:0}15%{opacity:1}70%{transform:translate(var(--x),var(--y)) scale(1);opacity:.9}85%{transform:translate(var(--x),var(--y)) scale(1.1);opacity:.8}to{transform:translate(var(--x),var(--y)) scale(1);opacity:0}}.particle-release{width:var(--size, 20px);height:var(--size, 20px);background:radial-gradient(circle,rgba(170,210,240,.2) 0%,rgba(170,210,240,.08) 50%,transparent 70%);border:1px solid rgba(170,210,240,.15);border-radius:50%;animation:pReleaseDrift 3s ease-in-out forwards;animation-delay:var(--delay, 0ms)}@keyframes pReleaseDrift{0%{transform:translate(0) scale(.3);opacity:0}20%{opacity:.6;transform:translate(calc(var(--midX) * .3),calc(var(--midY) * .3)) scale(.8)}50%{opacity:.5;transform:translate(var(--midX),var(--midY)) scale(1)}80%{opacity:.3}to{transform:translate(var(--x),var(--y)) scale(.6);opacity:0}}.particle-echo{width:var(--size, 50px);height:var(--size, 50px);background:radial-gradient(circle,rgba(180,160,130,.2) 0%,transparent 60%);border-radius:50%;filter:blur(12px);animation:pEchoEmerge 2.2s ease-out forwards;animation-delay:var(--delay, 0ms)}@keyframes pEchoEmerge{0%{transform:translate(var(--startX),var(--startY)) scale(2);opacity:0}40%{opacity:.25;transform:translate(calc(var(--startX) * .4),calc(var(--startY) * .4)) scale(1.2)}70%{opacity:.3}to{transform:translate(0) scale(.5);opacity:0}}.particle-ignite{width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(255,255,255,.3) 30%,transparent 60%);transform:translate(-50%,-50%);animation:pIgniteFlash .5s ease-out forwards}@keyframes pIgniteFlash{0%{transform:translate(-50%,-50%) scale(0);opacity:1}30%{transform:translate(-50%,-50%) scale(1);opacity:.8}to{transform:translate(-50%,-50%) scale(1.5);opacity:0}}.particle-smother{width:var(--size, 5px);height:var(--size, 5px);background:#2a2a35;border-radius:50%;animation:pSmotherCompress .8s ease-in forwards;animation-delay:var(--delay, 0ms)}@keyframes pSmotherCompress{0%{transform:translate(var(--startX),var(--startY)) scale(1);opacity:0}20%{opacity:.8}80%{opacity:.6;transform:translate(0) scale(.5)}to{transform:translate(0) scale(0);opacity:0}}.particle-howl{width:var(--size, 8px);height:var(--size, 8px);background:radial-gradient(circle,rgba(230,230,245,.6) 0%,transparent 70%);border-radius:50%;animation:pHowlExpand 1.8s ease-out forwards;animation-delay:var(--delay, 0ms)}@keyframes pHowlExpand{0%{transform:translate(0) scale(.5);opacity:0}15%{opacity:.7;transform:scale(1)}50%{opacity:.5}to{transform:translate(var(--x),var(--y)) scale(.2);opacity:0}}.particle-create{width:var(--size, 6px);height:var(--size, 6px);background:radial-gradient(circle,rgba(255,255,255,.9) 0%,rgba(200,180,255,.6) 50%,transparent 70%);border-radius:50%;animation:converge .8s ease-out forwards;animation-delay:var(--delay, 0ms);box-shadow:0 0 8px #b4a0ff80}@keyframes converge{0%{transform:translate(var(--startX),var(--startY)) scale(1);opacity:0}20%{opacity:1}80%{opacity:1}to{transform:translate(0) scale(0);opacity:0}}.garden-layer{position:fixed;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:2;transition:filter 1.5s ease,opacity 1.5s ease}.garden-layer.garden-recede{filter:blur(14px) brightness(.9);opacity:.7;pointer-events:none}.garden-layer.garden-recede .floating-flower{pointer-events:none}.floating-flower{position:absolute;left:0;top:0;width:270px;height:270px;pointer-events:auto;cursor:pointer;filter:drop-shadow(0 0 8px rgba(255,200,220,.4)) drop-shadow(0 0 20px rgba(200,180,255,.25));transition:filter .3s ease}.floating-flower .flower-container{width:270px;height:270px;margin-bottom:0}@media (hover: hover){.floating-flower:hover{filter:drop-shadow(0 0 12px rgba(255,200,220,.5)) drop-shadow(0 0 28px rgba(200,180,255,.35)) brightness(1.1);z-index:10}.floating-flower:hover .flower-container{transform:scale(1.15);transition:transform .3s ease}}.floating-flower:active{filter:drop-shadow(0 0 12px rgba(255,200,220,.5)) drop-shadow(0 0 28px rgba(200,180,255,.35)) brightness(1.1);z-index:10}.floating-flower:focus-visible{filter:drop-shadow(0 0 12px rgba(255,200,220,.5)) drop-shadow(0 0 28px rgba(200,180,255,.35)) brightness(1.1);z-index:10;outline:2px solid rgba(100,100,200,.5);outline-offset:4px;border-radius:50%}.poem-overlay{position:fixed;top:0;left:0;width:100%;height:100%;z-index:100;display:flex;align-items:center;justify-content:center;background:#ffffffd9;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:overlayFadeIn .4s ease-out forwards;cursor:pointer}@keyframes overlayFadeIn{0%{opacity:0}to{opacity:1}}.poem-overlay-content{position:relative;display:flex;flex-direction:column;align-items:center;gap:1.5rem;padding:2.5rem;cursor:default;animation:overlayContentIn .5s ease-out forwards}@keyframes overlayContentIn{0%{opacity:0;transform:scale(.9) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.poem-overlay-flower{width:220px;height:220px}.poem-overlay-flower .flower-container{width:220px;height:220px;margin-bottom:0}.poem-overlay-lines{display:flex;flex-direction:column;align-items:center;gap:.5rem}.poem-overlay-lines .poetry-line{color:#2c2c2c}.poem-overlay-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;box-shadow:none;font-size:1.8rem;line-height:1;padding:.25rem .5rem;color:#0000004d;cursor:pointer;min-height:auto}@media (hover: hover){.poem-overlay-close:hover{background:none;border:none;box-shadow:none;color:#0009;transform:none}}.btn-blossom{animation:blossomGlow 2s ease-in-out infinite}@keyframes blossomGlow{0%,to{box-shadow:0 1px 3px #0000001f,0 4px 8px #00000014,0 0 12px #c8b4e61a}50%{box-shadow:0 1px 3px #0000001f,0 4px 8px #00000014,0 0 20px #c8b4e640}}.blossoming-dissolve{will-change:transform,opacity;animation:blossomDissolve 1.8s ease-out forwards}@keyframes blossomDissolve{0%{transform:scale(1) rotate(0);opacity:1;filter:brightness(1)}25%{transform:scale(1.08) rotate(8deg);opacity:1;filter:brightness(2)}50%{transform:scale(.8) rotate(20deg);opacity:.7;filter:brightness(3)}to{transform:scale(.1) rotate(40deg);opacity:0;filter:brightness(4)}}.blossom-line-dissolve{will-change:transform,opacity;animation:blossomLineDissolve .6s ease-out forwards;animation-delay:calc(var(--line-index, 0) * .15s)}@keyframes blossomLineDissolve{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(calc((var(--line-index, 0) - 1.5) * 40px))}}@media (max-width: 768px){.app{padding:1rem;min-height:100vh;min-height:100dvh}.poetry-container{max-width:100%}.lines-container{min-height:120px;gap:.5rem}.poetry-line{font-size:1.1rem;padding:.15rem 0}.flower-container{width:150px;height:150px;margin-bottom:1rem}.blossoming.flower-container{width:120px;height:120px}.controls{gap:1rem;margin-top:1.5rem}button{font-size:1.1rem;padding:.8rem 1.8rem;min-height:44px}.btn-axis{font-size:1.2rem;padding:1rem 2.2rem;min-width:150px}.ambient-light{filter:blur(20px)}.garden-layer.garden-recede{filter:blur(6px) brightness(.9)}.poem-overlay{-webkit-backdrop-filter:none;backdrop-filter:none;background:#ffffffeb}.particle-sublimate{filter:blur(10px)}.particle-echo{filter:blur(6px)}.particle-ignite{width:120px;height:120px}.floating-flower,.floating-flower .flower-container{width:180px;height:180px}.poem-overlay-content{max-height:85vh;max-height:85dvh;overflow-y:auto;padding:1.5rem;gap:1rem}.poem-overlay-flower,.poem-overlay-flower .flower-container{width:150px;height:150px}.poem-overlay-lines .poetry-line{font-size:1.1rem}}@media (prefers-reduced-motion: reduce){.floating-flower,.settling-text,.poetry-line,.blossoming-dissolve,.blossom-line-dissolve,.petal,.stamen,.ambient-light,.converge-in{animation:none!important;transition:none!important}}:root{font-family:Spectral,serif;line-height:1.5;font-weight:400;color-scheme:light;color:#2c2c2c;background:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body{min-height:100vh;min-height:100dvh}#root{width:100%;min-height:100vh;min-height:100dvh}
