:root{color:#563f3a;background:#fffaf5;font-family:PingFang SC,Hiragino Sans GB,Microsoft YaHei,serif;font-synthesis:none;font-weight:500}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%;margin:0;overflow:hidden}body{min-height:100dvh;overscroll-behavior:none;-webkit-tap-highlight-color:transparent}button{border:0;font:inherit;color:inherit}.gift{position:relative;display:flex;min-height:100dvh;min-height:100svh;overflow:hidden;isolation:isolate;background:radial-gradient(circle at 50% 43%,#fffdf9,#fff8f2 52%,#f9e9e1);padding:calc(24px + env(safe-area-inset-top)) 24px calc(20px + env(safe-area-inset-bottom))}.gift:before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(155deg,rgba(255,255,255,.55),transparent 44%,rgba(239,197,184,.18))}.ambient{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;filter:blur(1px);opacity:.75;animation:ambient-drift 9s ease-in-out infinite alternate}.ambient--one{width:190px;height:190px;top:9%;left:-100px;background:#f7cfc140}.ambient--two{width:170px;height:170px;right:-90px;bottom:15%;background:#e2d5b140;animation-delay:-3s}.top-mark,.footer-mark{position:absolute;left:24px;right:24px;display:flex;justify-content:center;align-items:center;gap:10px;color:#b28a79;font:600 11px/1 Arial,sans-serif;letter-spacing:.2em}.top-mark{top:calc(28px + env(safe-area-inset-top))}.footer-mark{bottom:calc(22px + env(safe-area-inset-bottom));font-size:9px;letter-spacing:.14em;opacity:.78}.top-mark__line{width:30px;height:1px;background:#d9b9aa}.music-control{position:absolute;top:calc(18px + env(safe-area-inset-top));right:18px;z-index:5;display:flex;align-items:center;gap:8px}.music-hint{max-width:126px;padding:6px 9px;border:1px solid rgba(201,151,132,.22);border-radius:18px;background:#fffdf9b8;color:#a77b70;font-size:10px;font-weight:600;line-height:1.3;text-align:right}.music-toggle{position:relative;display:grid;place-items:center;width:42px;height:42px;padding:0;border:1px solid rgba(194,141,126,.36);border-radius:50%;background:#fffdf9d1;box-shadow:0 5px 16px #8e5b4b1f;cursor:pointer}.music-toggle>span{color:#b6776a;font:25px/1 Georgia,serif}.music-toggle.is-playing>span{animation:music-spin 5s linear infinite}.music-toggle>i{position:absolute;right:-1px;bottom:-1px;display:grid;place-items:center;width:15px;height:15px;border-radius:50%;background:#c58c78;color:#fff;font:8px/1 Arial,sans-serif;font-style:normal}.music-toggle:disabled{opacity:.55;cursor:default}.gift-content{display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;width:100%;padding-top:18px}.intro-copy{position:relative;z-index:2;text-align:center;min-height:107px}.eyebrow{margin:0 0 15px;color:#a9796c;font:600 13px/1.2 PingFang SC,Microsoft YaHei,sans-serif;letter-spacing:.14em}h1{margin:0;color:#5d4340;font-size:clamp(28px,8vw,35px);font-weight:600;letter-spacing:.1em;line-height:1.42}.hint,.blessing{margin:13px 0 0;color:#9a766b;font-size:15px;font-weight:600;letter-spacing:.06em}.blessing{color:#856159;line-height:1.85}.bouquet{position:relative;display:block;width:min(84vw,345px);height:min(123vw,500px);margin:-5px 0 -14px;padding:0;cursor:pointer;background:transparent;outline:none;touch-action:manipulation}.bouquet:focus-visible{outline:2px solid #c79987;outline-offset:8px;border-radius:50%}.bouquet svg{display:block;width:100%;height:100%;overflow:visible}.bouquet-halo{animation:halo-breathe 4s ease-in-out infinite;transform-origin:center}.stem-group,.leaf-group,.petal,.flower-core,.bud,.small-bud{transform-box:fill-box}.petal{fill:#d99289;stroke:#9a534b2e;stroke-width:1}.petal-ring--coral .petal{fill:#d98980}.petal-ring--pink .petal{fill:#e5a5a0}.petal-ring--champagne .petal{fill:#e7c68e}.petal-ring--blush .petal{fill:#e9b9b0}.petal-ring--inner .petal{opacity:.88}.bud{fill:#c98077;opacity:.72}.small-bud{fill:#d69b84}.flower-core{fill:#b96d60}.flower-core--light{fill:#f3d69a}.flower-group{transform-origin:188px 275px}.stem-group,.leaf-group,.petal,.flower-core,.bud,.small-bud{will-change:transform,opacity}.flower-center{fill:#c48b68;transition:transform 1.2s ease;transform-origin:188px 287px}.flower-center--small{fill:#f4d9a4}.side-flower{fill:#dea18e;transform-origin:center;transition:transform 1.4s cubic-bezier(.22,.8,.3,1)}.side-flower--right{fill:#e5b798}.wrap{opacity:.96}.wrap-fold{fill:none;stroke:#b17a663d;stroke-width:2}.ribbon{fill:none;stroke:#c99578;stroke-linecap:round;stroke-width:3}.bouquet--idle .petal{transform:scale(.65);opacity:.5}.bouquet--blooming .bouquet-glow,.bouquet--revealed .bouquet-glow{opacity:.9}.touch-ring{position:absolute;top:43%;left:50%;width:67px;height:67px;border:1px solid rgba(194,141,126,.45);border-radius:50%;transform:translate(-50%,-50%);animation:ring-pulse 2.1s ease-out infinite;pointer-events:none}.replay{position:relative;z-index:2;margin-top:-2px;padding:9px 14px;background:transparent;color:#a57569;font-size:14px;font-weight:600;letter-spacing:.06em;cursor:pointer}.replay span{display:inline-block;margin-right:5px;font:20px/1 sans-serif;vertical-align:-1px}@keyframes bloom-petal{0%{transform:scale(.65) rotate(0);opacity:.5}65%{transform:scale(1.05) rotate(2deg);opacity:.98}to{transform:scale(1) rotate(0);opacity:.92}}@keyframes center-in{0%{transform:scale(.75);opacity:.6}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes side-in{0%{transform:scale(.65);opacity:.5}70%{transform:scale(1.08)}to{transform:scale(1);opacity:1}}@keyframes halo-breathe{0%{transform:scale(.96);opacity:.65}to{transform:scale(1.03);opacity:.85}}@keyframes ring-pulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:0}25%{opacity:1}to{transform:translate(-50%,-50%) scale(1.35);opacity:0}}@keyframes ambient-drift{0%{transform:translateZ(0)}to{transform:translate3d(12px,-8px,0)}}@keyframes music-spin{to{transform:rotate(360deg)}}@media(max-height:690px){.gift{padding-top:calc(16px + env(safe-area-inset-top))}.top-mark{top:calc(20px + env(safe-area-inset-top))}.music-control{top:calc(13px + env(safe-area-inset-top))}.music-hint{display:none}.intro-copy{min-height:88px}.eyebrow{margin-bottom:9px}.bouquet{height:min(106vw,400px);margin-top:-12px;margin-bottom:-10px}.footer-mark{bottom:calc(15px + env(safe-area-inset-bottom))}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.bouquet--idle .petal{transform:scale(.92);opacity:.82}.touch-ring{display:none}}
