.gift-root{--swap:.9s;box-sizing:border-box;color:var(--ink);font-family:var(--font-sans-thai), system-ui, sans-serif}.gift-root :is(h1,h2,h3){text-wrap:balance;margin:0;line-height:1.32}.gift-root :is(.primary-button,.secondary-button){font:inherit;cursor:pointer;transition:transform .2s ease, background var(--swap) ease, color var(--swap) ease;border:0;border-radius:999px;padding:13px 26px;font-size:clamp(.95rem,2vw,1.05rem);font-weight:600}.gift-root .primary-button{background:var(--button-bg);color:var(--button-ink);box-shadow:0 14px 30px #0000001a}.gift-root .secondary-button{background:var(--surface);color:var(--ink);border:1px solid var(--line)}.gift-root :is(.primary-button,.secondary-button):hover:not(:disabled){transform:translateY(-2px)}.gift-root :is(.primary-button,.secondary-button):disabled{opacity:.45;cursor:not-allowed}.gift-spark{z-index:60;pointer-events:none;width:0;height:0;position:fixed}.gift-spark i{background:var(--accent);transform-origin:0;width:16px;height:3px;transform:rotate(var(--spark-angle)) translateX(8px) scaleX(1);animation:gift-spark var(--spark-duration,.52s) cubic-bezier(.2, .7, .3, 1) forwards;border-radius:999px;position:absolute;top:-1px;left:0}@keyframes gift-spark{to{transform:rotate(var(--spark-angle)) translateX(46px) scaleX(0);opacity:.4}}.gift-root :where(button,a,[tabindex]):focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:999px}.letter-pages{place-items:center;width:min(760px,100%);display:grid}.letter-page{opacity:0;visibility:hidden;grid-area:1/1;gap:clamp(12px,2.4vw,20px);width:100%;transition:opacity .42s,transform .42s,visibility 0s linear .42s;display:grid;transform:translateY(8px)}.letter-page.is-on{opacity:1;visibility:visible;transition-delay:0s;transform:none}.letter-line{color:var(--letter-ink);font-family:var(--font-serif-thai), serif;text-wrap:balance;transition:color var(--swap) ease;margin:0;font-size:clamp(1.24rem,2.9vw,1.94rem);font-weight:600;line-height:1.65}.letter-progress{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.1em;margin:clamp(10px,1.8vw,16px) 0 0;font-size:.78rem}.letter-controls{flex-wrap:wrap;justify-content:center;gap:12px;display:flex}.scene-letter:before{content:"";z-index:-1;opacity:.8;background:radial-gradient(at 20% 8%,#ffffffb8,#0000 34%),repeating-linear-gradient(#0000 0 31px,#7d594917 31px 32px),linear-gradient(155deg,#ffffffa8,#fff7eb61);border-radius:clamp(18px,3vw,30px);position:absolute;inset:max(4px,4%) max(0px,6%) max(12px,5%);box-shadow:0 28px 76px #4b20321a}.scene>:not(.letter-decor){box-sizing:border-box;z-index:1;max-width:100%;position:relative}.letter-decor{z-index:-1;pointer-events:none;position:absolute;inset:max(4px,4%) max(0px,6%) max(12px,5%)}.letter-decor img{opacity:.32;width:clamp(44px,8vw,74px);position:absolute}.letter-decor-1{top:4%;left:3%;rotate:-9deg}.letter-decor-2{bottom:5%;right:5%;rotate:-7deg}.letter-decor-3{top:4%;right:3%;rotate:8deg}.letter-decor-4{bottom:5%;left:5%;rotate:6deg}@media (max-width:720px){.scene-letter:before,.letter-decor{inset:-2px 0 10px}.scene-letter:before{border-radius:22px}}@media (max-height:680px){.scene-letter:before,.letter-decor{inset:-8px -2px 8px}.letter-decor img{opacity:.24;width:clamp(36px,6vw,52px)}}.eyebrow{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;transition:color var(--swap) ease;margin:0;font-size:.78rem;font-weight:700}.gift-root :is(h1,h2){max-width:24ch;font-family:var(--font-serif-thai), serif;color:var(--ink);transition:color var(--swap) ease;font-size:clamp(1.55rem,2.6vw,2.3rem);font-weight:600}.scene-copy{max-width:46ch;color:var(--muted);transition:color var(--swap) ease;margin:0;font-size:clamp(.95rem,1.6vw,1.06rem);line-height:1.75}.phrase{display:inline-block}.gift-icon{border-radius:16px;width:100%;height:auto;display:block}.icon-card{background:radial-gradient(circle closest-side at 50% 48%,#ffffff80,#ffffff24 54%,#0000 82%);border-radius:28px;place-items:center;width:max-content;max-width:100%;margin:0;padding:12px;display:grid}.icon-card .gift-icon{animation:6.5s ease-in-out infinite gift-hover}@keyframes gift-hover{0%,to{transform:translate(0,0)}50%{transform:translateY(-6px)}}.icon-card .gift-icon{width:clamp(96px,22vw,150px)}.gift-open{background:linear-gradient(145deg, #ffffffdb, #ffffff6b), var(--card-tint);width:min(360px,100%);color:inherit;font:inherit;text-align:center;cursor:pointer;transition:transform .26s ease, background var(--swap) ease;border:1px solid #ffffffb8;border-radius:clamp(28px,4vw,38px);justify-items:center;gap:4px;padding:clamp(22px,4vw,32px) clamp(20px,4vw,30px) clamp(20px,3.4vw,28px);display:grid;box-shadow:0 28px 70px #00000024}.gift-open:hover,.gift-open:focus-visible{transform:translateY(-3px)}.gift-visual .gift-icon{filter:drop-shadow(0 18px 26px #0003);border-radius:24px;width:clamp(148px,34vw,196px)}.gift-title{font-family:var(--font-serif-thai), serif;font-size:clamp(1.24rem,3.4vw,1.62rem);font-weight:700;line-height:1.4}.gift-copy{max-width:42ch;color:var(--muted);font-size:.98rem;line-height:1.6}.gift-hint{color:var(--muted);margin-top:4px;font-size:.84rem}.intro-hero{grid-template-columns:minmax(0,1fr) minmax(190px,.72fr);align-items:center;gap:clamp(20px,4.5vw,52px);width:100%;display:grid}.intro-hero-text{justify-items:center;gap:clamp(10px,1.6vw,16px);display:grid}.icon-card-hero{justify-self:end;transform:rotate(1.6deg)}.icon-card-hero .gift-icon{width:clamp(150px,26vw,232px)}@media (max-width:900px){.intro-hero{grid-template-columns:1fr}.icon-card-hero{order:-1;justify-self:center;margin-bottom:clamp(14px,3vw,22px)}.icon-card-hero .gift-icon{width:min(184px,52vw)}}.envelope{filter:drop-shadow(0 22px 34px #0000002e);width:min(340px,70vw);height:min(236px,48vw);margin:6px 0 clamp(30px,5vw,42px);position:relative}.envelope>span{border-radius:16px;position:absolute;inset:0}.envelope-back{background:var(--surface);border:1px solid var(--line)}.envelope-card{background:var(--card);border:1px solid var(--line);height:60%;color:var(--ink);transition:background var(--swap) ease, color var(--swap) ease;border-radius:12px;align-content:center;justify-items:center;display:grid;inset:34% 12% auto;transform:translateY(2%);box-shadow:0 20px 54px #00000024}.envelope-card small{color:var(--accent);letter-spacing:.08em;font-size:.78rem;font-weight:800;line-height:1.4}.envelope-card b{font-family:var(--font-serif-thai), serif;margin-top:2px;font-size:clamp(1.1rem,4.4vw,1.42rem);font-weight:700;line-height:1.3}.envelope-front{clip-path:polygon(0 34%,50% 72%,100% 34%,100% 100%,0 100%);background:var(--button-bg);border:1px solid #ffffff94}.envelope-flap{clip-path:polygon(0 0,50% 54%,100% 0);background:linear-gradient(160deg, #ffffffd1, var(--surface))}.unlocked{justify-items:center;gap:clamp(10px,1.8vw,16px);display:grid}.unlocked-card{animation:.64s cubic-bezier(.2,.9,.3,1.35) both gift-pop;position:relative}.unlocked-card:before,.unlocked-card:after{content:"";border:2px solid var(--accent);border-radius:inherit;opacity:0;pointer-events:none;animation:1.9s ease-out 2 gift-ring;position:absolute;inset:0}.unlocked-card:after{animation-delay:.42s}@keyframes gift-pop{0%{opacity:0;transform:scale(.72)}to{opacity:1;transform:none}}@keyframes gift-ring{0%{opacity:.5;transform:scale(.92)}to{opacity:0;transform:scale(1.45)}}.gallery-strip{flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:clamp(10px,2.4vw,20px);width:100%;display:flex}.polaroid{background:var(--card);width:clamp(122px,27vw,178px);transform:rotate(var(--tilt,0deg));transition:transform .28s ease, background var(--swap) ease;border-radius:5px;margin:0;padding:9px 9px 0;box-shadow:0 16px 32px -20px #2e313699}.polaroid:hover{transform:rotate(0)translateY(-5px)}.polaroid .gift-icon{aspect-ratio:1;object-fit:cover;border-radius:3px}.polaroid figcaption{color:var(--ink);text-wrap:balance;transition:color var(--swap) ease;padding:9px 3px 13px;font-size:clamp(.8rem,2.1vw,.9rem);line-height:1.6}.timeline{--mark:clamp(38px, 9vw, 46px);text-align:left;gap:clamp(14px,2.4vw,20px);width:min(520px,100%);margin:0;padding:0;list-style:none;display:grid;position:relative}.timeline:before{content:"";top:calc(var(--mark) / 2);bottom:calc(var(--mark) / 2);left:calc(var(--mark) / 2 - 1px);background:var(--accent);opacity:.28;width:2px;position:absolute}.timeline li{grid-template-columns:var(--mark) 1fr;align-items:start;gap:clamp(12px,2.4vw,18px);display:grid}.timeline-mark{width:var(--mark);height:var(--mark);border:1px solid var(--line);background:var(--card);color:var(--accent);transition:background var(--swap) ease, color var(--swap) ease;border-radius:999px;place-items:center;font-size:.72rem;font-weight:700;line-height:1.3;display:grid;position:relative}.timeline-body{gap:3px;padding-top:3px;display:grid}.timeline-label{color:var(--ink);font-family:var(--font-serif-thai), serif;font-size:clamp(1rem,2.2vw,1.14rem);font-weight:600}.timeline-text{color:var(--muted);transition:color var(--swap) ease;margin:0;font-size:clamp(.88rem,1.9vw,.98rem);line-height:1.7}@media (max-height:720px){.polaroid{width:min(30%,140px)}.timeline{gap:10px}}.answer-set{flex-wrap:wrap;justify-content:center;gap:12px;padding-top:clamp(4px,1.2vw,10px);display:flex}.response-note{background-color:var(--card);background-image:var(--card-tint);max-width:32ch;color:var(--letter-ink);font-family:var(--font-serif-thai), serif;text-wrap:balance;transition:background-color var(--swap) ease, color var(--swap) ease;border-radius:22px;margin:0;padding:clamp(16px,3vw,22px) clamp(18px,3.4vw,26px);font-size:clamp(1.02rem,2.3vw,1.26rem);line-height:1.72;box-shadow:0 18px 38px -26px #2e313699}.response-sign{color:var(--muted);letter-spacing:.02em;transition:color var(--swap) ease;margin:0;font-size:.9rem}.ending{justify-items:center;gap:clamp(10px,2vw,16px);width:min(520px,100%);display:grid}.ending-visual{filter:drop-shadow(0 20px 28px #4b20322e);width:clamp(136px,32vw,210px);margin-bottom:2px}.ending-visual .gift-icon{border-radius:clamp(18px,4vw,28px)}.ending-actions{flex-wrap:wrap;justify-content:center;gap:10px;padding-top:clamp(4px,1.4vw,10px);display:flex}.gift-back-link{color:var(--accent);transition:transform .2s ease, color var(--swap) ease;border-radius:999px;align-items:center;gap:8px;padding:12px 18px;font-size:.92rem;font-weight:700;text-decoration:none;display:inline-flex}.gift-back-link:hover{transform:translate(2px)}@media (max-height:680px){.ending-visual{width:min(118px,28vw)}}.gift-cover{gap:clamp(14px,2.6vw,22px)}.gift-cover-art{animation:.7s cubic-bezier(.2,.9,.3,1.25) both gift-pop}.gift-cover-art .gift-icon{width:clamp(120px,34vw,190px)}.timeline.has-media li{grid-template-columns:var(--mark) auto 1fr}.timeline-shot{aspect-ratio:1;background:var(--surface);border:1px solid var(--line);width:clamp(56px,15vw,78px);transition:background var(--swap) ease;border-radius:14px;display:block;overflow:hidden}.timeline-shot .gift-icon{object-fit:cover;border-radius:0;width:100%;height:100%}.gallery-story{justify-items:center;width:max-content;max-width:100%;margin-inline:auto;display:grid;position:relative}.polaroid-story{width:clamp(230px,62vw,330px);transform:rotate(-2deg)}.polaroid-story .gift-icon{aspect-ratio:4/5}.polaroid-story figcaption{font-size:clamp(.86rem,2.3vw,.98rem)}.gallery-hand{background:var(--card);max-width:68%;color:var(--accent);font-family:var(--font-hand), cursive;transition:background var(--swap) ease, color var(--swap) ease;border-radius:16px;margin:0;padding:10px 20px;font-size:clamp(1.05rem,3vw,1.4rem);font-weight:700;line-height:1.7;position:absolute;bottom:16%;right:-4%;transform:rotate(3deg);box-shadow:0 14px 26px -16px #2e313680}.unwrap{justify-items:center;gap:clamp(10px,1.8vw,16px);display:grid}.unwrap-stage{aspect-ratio:1;place-items:center;width:clamp(230px,62vw,320px);display:grid;position:relative}.unwrap-box{width:100%;position:absolute;bottom:0}.unwrap-lid{transform-origin:50% 84px}.is-live .unwrap-lid{animation:.9s cubic-bezier(.25,.9,.3,1.2) both gift-lid}@keyframes gift-lid{0%{transform:none}45%{transform:translateY(-56px)rotate(-11deg)}to{transform:translateY(-40px)rotate(-8deg)}}.unwrap-prize{z-index:2;opacity:0;width:clamp(92px,24vw,132px);margin:0;position:absolute;bottom:42%}.is-live .unwrap-prize{animation:.9s cubic-bezier(.2,.9,.3,1.25) .22s both gift-rise}@keyframes gift-rise{0%{opacity:0;transform:translateY(46px)scale(.6)}to{opacity:1;transform:none}}.unwrap-burst{aspect-ratio:1;background:radial-gradient(circle, var(--glow-fill), transparent 68%);opacity:0;border-radius:50%;width:62%;position:absolute;bottom:34%}.is-live .unwrap-burst{animation:1.1s ease-out .2s both gift-burst}@keyframes gift-burst{0%{opacity:0;transform:scale(.5)}40%{opacity:1}to{opacity:0;transform:scale(1.35)}}.unwrap-confetti{pointer-events:none;position:absolute;inset:0}.unwrap-confetti i{background:var(--accent);opacity:0;transform-origin:50%;border-radius:2px;width:9px;height:15px;position:absolute;top:46%;left:50%}.unwrap-confetti i:nth-child(2n){background:var(--glow-edge)}.is-live .unwrap-confetti i{animation:1.4s ease-out both gift-confetti;animation-delay:calc(.24s + var(--i) * 26ms);rotate:calc(var(--i) * 26deg)}@keyframes gift-confetti{0%{opacity:0;translate:0}22%{opacity:1}to{opacity:0;translate:calc(cos(var(--i) * 26deg) * 150px) calc(sin(var(--i) * 26deg) * 150px + 60px)}}.candle-cake{width:clamp(240px,66vw,340px);font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:28px;justify-items:center;gap:10px;padding:10px;transition:transform .22s;display:grid}.candle-cake:hover:not(:disabled){transform:translateY(-4px)}.candle-cake:disabled{cursor:default}.candle-cake svg{width:100%;height:auto;filter:drop-shadow(0 0 26px var(--glow-fill));transition:filter .7s}.candle-cake.is-blown svg{filter:drop-shadow(0 8px 18px #00000024)}.candle-flame{transform-origin:50% 78px;animation:1.2s ease-in-out infinite alternate candle-flicker;animation-delay:calc(var(--slot) * .17s);transition:opacity .42s,scale .52s cubic-bezier(.3,0,.6,1)}@keyframes candle-flicker{0%{scale:1 .94}to{scale:1.06 1.05}}.is-blown .candle-flame{opacity:0;animation:none;scale:.3}.candle-smoke{opacity:0}.is-blown .candle-smoke{animation:1.2s ease-out both candle-smoke;animation-delay:calc(var(--slot) * .12s)}@keyframes candle-smoke{0%{opacity:0;translate:0 6px;scale:.6}30%{opacity:.5}to{opacity:0;translate:0 -46px;scale:1.1}}.candle-hint{color:var(--muted);transition:color var(--swap) ease;font-size:clamp(.92rem,2vw,1rem);font-weight:600;line-height:1.6}.reveal{justify-items:center;gap:clamp(10px,1.8vw,16px);display:grid;position:relative}.reveal-glow{aspect-ratio:1;background:radial-gradient(circle, var(--glow-fill), transparent 66%);opacity:0;pointer-events:none;border-radius:50%;width:clamp(280px,76vw,420px);position:absolute;top:50%;left:50%;translate:-50% -50%}.is-live .reveal-glow{animation:2.4s ease-in-out infinite alternate reveal-glow}@keyframes reveal-glow{0%{opacity:.4;scale:.9}to{opacity:.85;scale:1.05}}.reveal-card{z-index:1;position:relative}.is-live .reveal-card{animation:.64s cubic-bezier(.2,.9,.3,1.35) both gift-pop}@media (prefers-reduced-motion:reduce){.gift-root *,.gift-root :before,.gift-root :after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.letter-page,.letter-page.is-on,.unlocked-card,.unwrap-lid,.unwrap-prize,.gift-cover-art{transform:none}.candle-flame,.is-blown .candle-smoke,.is-live .reveal-glow,.icon-card .gift-icon{animation:none}}.gift-lock{z-index:20;box-sizing:border-box;place-items:center;min-height:calc(100svh - clamp(20px,4vw,36px));padding:clamp(10px,2.6svh,26px) clamp(14px,5vw,32px);transition:opacity .62s;display:grid;position:relative;overflow:hidden}.gift-lock:before,.gift-lock:after{content:"";pointer-events:none;position:absolute}.gift-lock:before{aspect-ratio:1;filter:blur(2px);background:radial-gradient(circle at 36% 34%,#ffffffb8,#0000 32%),radial-gradient(circle,#f6a3b438,#0000 68%);border-radius:999px;width:min(420px,86vw);inset:-18% -28% auto auto}.gift-lock:after{background:linear-gradient(90deg,#da6c8400,#da6c843d,#ffe6e861);border-radius:999px;width:min(360px,82vw);height:42px;bottom:5%;left:-12%;rotate:-18deg;box-shadow:0 18px 42px #ad53681f}.gift-lock.is-open{opacity:0;pointer-events:none}.gift-lock-inner{z-index:1;box-sizing:border-box;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);text-align:center;background:linear-gradient(#ffffff6b,#fff5f233),radial-gradient(circle at 50% 0,#ffffff85,#0000 48%);border:1px solid #ffffff8a;border-radius:clamp(28px,8vw,40px);justify-items:center;gap:clamp(8px,1.55svh,15px);width:min(420px,100%);max-height:calc(100svh - clamp(20px,5.2svh,52px));padding:clamp(16px,3svh,28px) clamp(16px,4.5vw,30px);display:grid;position:relative;box-shadow:0 28px 70px #81435829,inset 0 1px #ffffffb3}.gift-lock-brand{color:#7b263a;justify-items:center;gap:2px;display:grid}.gift-lock-brand span{font-family:var(--font-serif-thai), serif;font-size:clamp(1rem,2.6svh,1.34rem);font-weight:700;line-height:1}.gift-lock-brand span:after{content:"♥";color:var(--accent);margin-left:.35em;font-size:.72em}.gift-lock-brand small{color:#6f404eb3;letter-spacing:.24em;font-size:.48rem;font-weight:700}.gift-lock-title{color:var(--ink);font-family:var(--font-serif-thai), serif;margin:0;font-size:clamp(1.44rem,4.3svh,2.1rem);font-weight:700;line-height:1.24}.gift-lock-sub{color:var(--muted);margin:0;font-size:clamp(.9rem,3.4vw,1rem);line-height:1.6}.gift-lock-rule{color:var(--accent);grid-template-columns:minmax(48px,72px) auto minmax(48px,72px);align-items:center;gap:clamp(8px,1.5svh,12px);font-size:.8rem;display:inline-grid}.gift-lock-rule:before,.gift-lock-rule:after{content:"";background:linear-gradient(90deg,#0000,#c85b746b,#0000);height:1px}.gift-lock-decor{pointer-events:none;position:absolute;inset:0;overflow:hidden}.gift-lock-petal,.gift-lock-spark,.gift-lock-note{position:absolute}.gift-lock-petal{opacity:.75;background:radial-gradient(circle at 30% 32%,#ffffffb8,#0000 34%),linear-gradient(135deg,#ffd4dc,#e9839a 72%,#d96f89);border-radius:90% 18% 88% 20%;width:24px;height:14px;box-shadow:0 8px 14px #9f425b24}.gift-lock-petal.p1{top:12%;left:11%;rotate:-28deg;scale:.82}.gift-lock-petal.p2{top:28%;right:8%;rotate:34deg}.gift-lock-petal.p3{bottom:18%;right:16%;rotate:-18deg;scale:.72}.gift-lock-petal.p4{bottom:26%;left:10%;rotate:19deg;scale:.66}.gift-lock-spark{background:#fff;border-radius:999px;width:6px;height:6px;box-shadow:0 0 0 3px #ffffff2e,0 0 18px #fffffff5,0 0 28px #df678452}.gift-lock-spark.s1{top:22%;left:23%}.gift-lock-spark.s2{top:44%;right:15%;scale:.72}.gift-lock-spark.s3{bottom:30%;right:24%;scale:.58}.gift-lock-note{color:#7437469e;font-family:var(--font-hand), cursive;text-align:left;text-wrap:balance;font-size:clamp(1rem,1.6vw,1.25rem);line-height:1.22;display:none}.gift-lock-note.n1{width:120px;top:16%;right:7%;rotate:-8deg}.gift-lock-note.n2{width:120px;bottom:11%;left:8%;rotate:-10deg}.safe-dial{aspect-ratio:1;cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;background:radial-gradient(circle at 32% 26%,#ffffffe6,#0000 42%),conic-gradient(from 200deg,#e0ab9b,#fbe8de,#cf8f81,#f7d9cb,#c07f74,#f2cdbd,#e0ab9b);border-radius:50%;place-items:center;width:min(278px,74vw,35svh);display:grid;position:relative;box-shadow:0 26px 58px #78465547,inset 0 2px 6px #ffffffe6,inset 0 -6px 16px #965f7059;container-type:size}.safe-dial:before{content:"";opacity:.72;background:repeating-conic-gradient(from -1deg,#78415229 0deg 1deg,#0000 1deg 4deg),radial-gradient(circle,#0000 58%,#ffffff6b 59% 62%,#0000 63%);border-radius:50%;position:absolute;inset:5.5%;box-shadow:inset 0 0 0 1px #793e4e2e,inset 0 0 0 10px #fff7f442}.safe-dial.is-dragging{cursor:grabbing}.safe-dial.is-locked{cursor:default}.safe-dial:focus-visible{outline:3px solid var(--accent);outline-offset:6px}.safe-dial-face{border-radius:50%;position:absolute;inset:0}.safe-dial:after{content:"";background:radial-gradient(circle at 34% 30%,#fdf3f6,#efd3da);border-radius:50%;position:absolute;inset:26%;box-shadow:inset 0 2px 6px #965f704d,0 2px 4px #ffffffb3}.safe-dial:not(.is-dragging) .safe-dial-face{transition:rotate .26s cubic-bezier(.22,1,.36,1)}.safe-dial-num,.safe-dial-tick{transform:rotate(var(--a)) translateY(calc(-1 * var(--r)));position:absolute;top:50%;left:50%}.safe-dial-num{--r:39cqw;margin:-.62em 0 0 -.5em}.safe-dial-num b{color:#7b4657;text-shadow:0 1px #fff9;font-size:clamp(.88rem,2.3svh,1.2rem);font-weight:700;display:block}.safe-dial-num.is-start{--r:39cqw;margin:-.6em 0 0 -1.5em;font-size:clamp(.5rem,2vw,.62rem);line-height:1.2}.safe-dial-num.is-start b{color:#6a3a4ae6;width:3em;font-size:inherit;letter-spacing:.08em;text-align:center;white-space:nowrap;font-weight:800}.safe-dial-tick{--r:46cqw;background:#7b46574d;border-radius:1px;width:1.5px;height:6px;margin:-3px 0 0 -.75px}.safe-dial-tick.is-major{--r:45.5cqw;background:#7b465780;width:2px;height:10px;margin:-5px 0 0 -1px}.safe-dial-knob{z-index:3;aspect-ratio:1;color:#e0718f;background:radial-gradient(circle at 34% 28%,#fff6f2,#f4d3c6 58%,#e6b5a4) padding-box padding-box,conic-gradient(from 210deg,#d9a08e,#fbe6da,#c4877a,#f6d7c8,#d9a08e) border-box;border:5px solid #0000;border-radius:50%;place-items:center;width:40%;display:grid;position:relative;box-shadow:0 10px 22px #78463c3d,inset 0 2px 5px #ffffffd9}.safe-dial-read{font-family:var(--font-serif-thai), serif;color:#7e3450;font-variant-numeric:tabular-nums;font-size:clamp(1.45rem,4.4svh,2.1rem);font-weight:700;line-height:1}.safe-dial-heart{filter:drop-shadow(0 3px 5px #96465a47);width:54%}.safe-dial-pointer{z-index:2;background:radial-gradient(circle at 34% 28%,#fff6f7,#f08aa0 52%,#c95f78);border-radius:999px;place-items:center;width:34px;height:34px;display:grid;position:absolute;top:-12px;left:50%;translate:-50%;box-shadow:0 8px 14px #81384e38,inset 0 1px #ffffffb8}.safe-dial-pointer:before{content:"♥";color:#fff;text-shadow:0 1px 2px #702d4047;font-size:.82rem;line-height:1}.safe-dial-pointer:after{content:"";border-inline:6px solid #0000;border-top:9px solid #c95f78;position:absolute;bottom:-8px;left:50%;translate:-50%}.gift-lock-slots{gap:clamp(8px,1.5svh,10px);margin:4px 0 0;padding:0;list-style:none;display:flex}.gift-lock-slots li{width:clamp(42px,8svh,58px);height:clamp(46px,8.6svh,64px);color:var(--ink);font-family:var(--font-serif-thai), serif;font-variant-numeric:tabular-nums;background:#fff;border:1px solid #8c3e5a4d;border-radius:14px;place-items:center;font-size:clamp(1.3rem,5vw,1.6rem);font-weight:700;transition:background .24s,border-color .24s,transform .24s;display:grid;box-shadow:0 4px 10px #8c3e5a1f,inset 0 -2px #8c3e5a0d}.gift-lock-slots li.is-filled{border-color:color-mix(in srgb, var(--accent) 38%, transparent);box-shadow:0 6px 14px #8c3e5a29, inset 0 -2px 0 color-mix(in srgb, var(--accent) 16%, transparent)}.gift-lock-count{color:var(--muted);font-variant-numeric:tabular-nums;letter-spacing:.04em;margin:clamp(4px,1svh,10px) 0 0;font-size:.76rem}.gift-lock-slots.is-wrong li{border-color:color-mix(in srgb, var(--accent) 60%, transparent);animation:.42s gift-shake}@keyframes gift-shake{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.gift-lock-hint{color:var(--ink);background:#ffffff94;border:1px solid #974f632e;border-radius:999px;align-items:center;gap:7px;margin:2px 0 0;padding:clamp(7px,1.25svh,9px) 18px;font-size:clamp(.82rem,3.2vw,.92rem);display:inline-flex;box-shadow:0 10px 22px #8c3e5a14}.gift-lock-status{color:#fff;background:linear-gradient(#ee8298,#c8506b);border:1px solid #ffffffb3;border-radius:999px;min-width:min(320px,88%);min-height:1.4em;margin:0;padding:clamp(10px,1.7svh,13px) 22px;font-size:.92rem;font-weight:700;box-shadow:0 16px 34px #b24c6647,inset 0 1px #ffffffad}.gift-lock-status.is-wrong{color:var(--accent);background:linear-gradient(#fff7f4,#f7e4df);font-weight:600}@media (min-width:760px){.gift-lock-note{display:block}}@media (max-height:760px){.gift-lock-inner{border-radius:28px;gap:8px;width:min(390px,100%);padding-block:16px}.gift-lock-brand small{display:none}.gift-lock-title{font-size:clamp(1.34rem,4svh,1.78rem)}.gift-lock-rule{grid-template-columns:42px auto 42px;margin-block:-2px}.safe-dial{width:min(250px,70vw,33svh)}.gift-lock-slots li{border-radius:12px;width:clamp(40px,7.4svh,52px);height:clamp(44px,8svh,56px)}.gift-lock-count{margin-top:2px;font-size:.72rem}.gift-lock-hint{max-width:100%;padding-inline:14px;font-size:.8rem}.gift-lock-status{padding-block:10px;font-size:.86rem}}@media (max-height:660px){.gift-lock-inner{width:min(360px,100%);padding-block:12px}.gift-lock-title{font-size:clamp(1.2rem,3.8svh,1.55rem)}.gift-lock-rule,.gift-lock-count{display:none}.safe-dial{width:min(224px,68vw,32svh)}.gift-lock-hint{font-size:.76rem}.gift-lock-status{min-width:min(280px,88%);font-size:.8rem}}@media (prefers-reduced-motion:reduce){.safe-dial:not(.is-dragging) .safe-dial-face,.gift-lock{transition:none}.gift-lock-slots.is-wrong li{animation:none}}.gift-cta{justify-content:center;padding:0 clamp(14px,4vw,56px);animation:.62s both gift-cta-in;display:flex;position:absolute;inset:auto 0 clamp(42px,6vw,58px)}.gift-cta .gift-back-link{background:var(--surface);border:1px solid var(--line);box-shadow:0 14px 30px -20px #2e313680}@keyframes gift-cta-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.gift-root.t-01{background:radial-gradient(circle at 55% 28%, #ffffff75, transparent 17%), radial-gradient(circle at 73% 19%, #ffc7d885, transparent 24%), radial-gradient(circle at 14% 22%, #fff6, transparent 24%), linear-gradient(135deg, #ffffff47, transparent 46%), var(--stage-bg);min-height:100svh;transition:background var(--swap) ease, color var(--swap) ease;padding:clamp(10px,2vw,18px);display:grid;position:relative;overflow:hidden}.t-01 .t01-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.gift-root.t-01:before,.gift-root.t-01:after{content:"";z-index:0;pointer-events:none;position:absolute}.gift-root.t-01:before{filter:blur(.5px);background:linear-gradient(90deg,#ff96b400,#ffbacd7a,#ffffff6b);border-radius:999px;width:min(520px,54vw);height:120px;top:-12svh;right:-9vw;rotate:28deg;box-shadow:0 24px 70px #a60e322e}.gift-root.t-01:after{background:linear-gradient(90deg,#ffb7ca6b,#ffffff8f,#c3123200);border-radius:999px;width:min(520px,62vw);height:96px;bottom:-4svh;left:-12vw;rotate:-18deg}.t-01 .gift-inner{z-index:2;width:min(1060px,100%);min-height:calc(100svh - clamp(20px,4vw,36px));margin:auto;position:relative}.t-01 .t01-blossom,.t-01 .t01-orbit,.t-01 .t01-strawberry,.t-01 .t01-crisps i,.t-01 .t01-paper,.t-01 .t01-tape,.t-01 .t01-note,.t-01 .t01-petals i{transition:opacity .52s,transform .52s;display:block;position:absolute}.t-01 .t01-blossom{width:clamp(150px,21vw,270px);color:var(--accent);opacity:.16;filter:drop-shadow(0 18px 24px #8e123024)}.t-01 .t01-blossom-left{bottom:max(-58px,-3vw);left:max(-72px,-5vw);transform:rotate(-12deg)}.t-01 .t01-blossom-right{top:max(-54px,-3vw);right:max(-72px,-5vw);transform:scaleX(-1)rotate(-9deg)}.t-01 .t01-blossom .stem{fill:none;stroke:color-mix(in srgb, var(--accent) 26%, #5aa457);stroke-width:7px;stroke-linecap:round;opacity:.34}.t-01 .t01-blossom .stem-soft{stroke-width:4px;opacity:.22}.t-01 .t01-blossom .leaf path{fill:color-mix(in srgb, var(--accent) 12%, #75b95d);opacity:.72}.t-01 .t01-blossom .flower ellipse{fill:color-mix(in srgb, var(--accent) 26%, #fff4f7);stroke:#ffffffb8;stroke-width:1.4px}.t-01 .t01-blossom .flower circle{fill:#ffd2dc}.t-01 .t01-orbit{opacity:.62;border:2px solid #ffffff38;border-radius:50%;box-shadow:inset 0 0 36px #ffffff2e,0 0 46px #ffa1bc29}.t-01 .t01-orbit:before,.t-01 .t01-orbit:after{content:"";border-radius:inherit;pointer-events:none;position:absolute}.t-01 .t01-orbit:before{border:1px solid #ffffff3d;inset:12%}.t-01 .t01-orbit:after{aspect-ratio:1;background:radial-gradient(circle at 30% 28%,#fff,#0000 34%),linear-gradient(145deg,#fff,#ff93b0);width:20px;animation:9s linear infinite t01-orbit-dot;box-shadow:0 10px 22px #8e123029}.t-01 .t01-orbit-a{aspect-ratio:1;width:clamp(180px,27vw,340px);top:clamp(54px,10vw,120px);right:clamp(-80px,-4vw,-32px)}.t-01 .t01-orbit-b{aspect-ratio:1;opacity:.42;width:clamp(190px,30vw,380px);bottom:clamp(42px,8vw,108px);left:clamp(-110px,-7vw,-42px);rotate:-18deg}.t-01 .t01-strawberry{aspect-ratio:.95;opacity:.6;background:radial-gradient(circle at 35% 28%,#ffffffb8,#0000 24%),radial-gradient(circle at 35% 55%,#ffd6e03d,#0000 28%),linear-gradient(150deg,#ff6f94,#e31f4d 58%,#b91435);border:2px solid #ffffffb8;border-radius:55% 55% 64% 64%/46% 46% 78% 78%;width:clamp(92px,13vw,154px);bottom:clamp(54px,8vw,126px);right:clamp(28px,7vw,124px);transform:rotate(-10deg);box-shadow:0 22px 42px #8e12302e,inset 0 -13px 24px #6d082029}.t-01 .t01-strawberry:before{content:"";aspect-ratio:1.7;background:linear-gradient(140deg,#87c96c,#3e9863);border-radius:80% 20% 70% 30%;width:42%;position:absolute;top:-10%;left:30%;rotate:-10deg;box-shadow:0 6px 10px #3678492e}.t-01 .t01-strawberry i{aspect-ratio:1;background:radial-gradient(circle at 32% 28%,#fff6d8,#0000 34%),linear-gradient(145deg,#ffe4a6,#ffd06b);border-radius:50% 50% 60% 60%;width:10%;position:absolute;box-shadow:0 5px 10px #7c102c1f}.t-01 .t01-strawberry i:first-child{top:38%;left:28%}.t-01 .t01-strawberry i:nth-child(2){top:30%;left:46%;scale:.72}.t-01 .t01-strawberry i:nth-child(3){top:48%;left:56%;scale:.88}.t-01 .t01-crisps{position:absolute;inset:0}.t-01 .t01-crisps i{--size:64px;width:var(--size);aspect-ratio:2.35;opacity:.72;z-index:1;background:linear-gradient(90deg,#fff6 0 10%,#0000 10% 22%,#ffffff52 22% 30%,#0000 30% 100%),repeating-linear-gradient(90deg,#ffd8e085 0 10px,#e1294e1a 10px 13px),linear-gradient(135deg,#ff9ab4,#e62a58 58%,#ba1538);border-radius:14px;animation:16s ease-in-out infinite t01-crisp-drift;box-shadow:0 18px 30px #8e123024,inset -8px -9px 16px #6c0c2224}.t-01 .t01-crisps .c1{--size:clamp(58px, 10vw, 118px);top:12%;left:4%;rotate:-14deg}.t-01 .t01-crisps .c2{--size:clamp(46px, 7vw, 86px);top:7%;left:17%;rotate:24deg}.t-01 .t01-crisps .c3{--size:clamp(54px, 8vw, 98px);top:15%;right:8%;rotate:16deg}.t-01 .t01-crisps .c4{--size:clamp(46px, 7vw, 86px);bottom:11%;right:18%;rotate:-18deg}.t-01 .t01-crisps .c5{--size:clamp(42px, 6vw, 78px);bottom:12%;left:20%;rotate:9deg}.t-01 .t01-paper,.t-01 .t01-note{background:linear-gradient(180deg, #ffffff94, #fffaf257), repeating-linear-gradient(180deg, #865b4912 0 1px, transparent 1px 28px), color-mix(in srgb, var(--surface) 72%, #fff2f4);opacity:0;border:1px solid #a12a481f;box-shadow:0 26px 62px #8e12301f}.t-01 .t01-paper-a{width:clamp(150px,18vw,230px);height:clamp(108px,12vw,158px);top:clamp(76px,11vw,150px);left:clamp(18px,5vw,90px);transform:rotate(-8deg)translateY(14px)}.t-01 .t01-paper-b{width:clamp(132px,16vw,210px);height:clamp(94px,11vw,148px);bottom:clamp(72px,9vw,120px);right:clamp(16px,5vw,86px);transform:rotate(7deg)translateY(16px)}.t-01 .t01-note-a{border-radius:8px 8px 24px;width:clamp(112px,14vw,178px);height:clamp(84px,10vw,132px);bottom:clamp(62px,10vw,138px);left:clamp(8px,7vw,130px);transform:rotate(7deg)translateY(14px)}.t-01 .t01-note-b{border-radius:8px 18px 8px 22px;width:clamp(102px,13vw,168px);height:clamp(76px,9vw,120px);top:clamp(82px,13vw,168px);right:clamp(18px,8vw,150px);transform:rotate(-7deg)translateY(14px)}.t-01 .t01-tape{background:linear-gradient(90deg, transparent 0 12%, #ffffff5c 12% 18%, transparent 18% 82%, #ffffff52 82% 88%, transparent 88%), color-mix(in srgb, var(--accent) 20%, #ffd3de);opacity:0;border-radius:4px;width:clamp(52px,6vw,78px);height:clamp(18px,2vw,24px);box-shadow:0 10px 22px #8e12301a}.t-01 .t01-tape-a{top:clamp(84px,12vw,156px);left:clamp(120px,16vw,250px);transform:rotate(-14deg)}.t-01 .t01-tape-b{bottom:clamp(100px,12vw,168px);right:clamp(98px,15vw,230px);transform:rotate(12deg)}.t-01 .t01-petals{position:absolute;inset:0}.t-01 .t01-petals i{--size:22px;width:var(--size);height:calc(var(--size) * .7);opacity:.46;background:radial-gradient(circle at 30% 28%,#ffffffc2,#0000 35%),linear-gradient(135deg,#fff1f4,#ff9cb8 62%,#dc234f);border-radius:58% 42% 54% 46%;animation:20s linear infinite t01-petal-fall;top:-52px;transform:rotate(28deg);box-shadow:0 10px 18px #8e12301f,inset -3px -3px 7px #ffffff80}.t-01 .t01-petals .p1{--size:22px;left:13%}.t-01 .t01-petals .p2{--size:18px;left:29%}.t-01 .t01-petals .p3{--size:27px;left:48%}.t-01 .t01-petals .p4{--size:20px;left:66%}.t-01 .t01-petals .p5{--size:24px;left:78%}.t-01 .t01-petals .p6{--size:17px;left:91%}.t-01[data-active-scene=intro] .t01-blossom,.t-01[data-active-scene=envelope] .t01-blossom,.t-01[data-active-scene=ending] .t01-blossom{opacity:.32}.t-01[data-active-scene=letter] .t01-blossom{opacity:.16}.t-01[data-active-scene=letter] .t01-paper-a,.t-01[data-active-scene=letter] .t01-paper-b{opacity:.54;transform:rotate(var(--paper-rotate,-8deg))}.t-01[data-active-scene=gallery] .t01-paper,.t-01[data-active-scene=gallery] .t01-tape,.t-01[data-active-scene=timeline] .t01-paper,.t-01[data-active-scene=timeline] .t01-tape{opacity:.42;transform:rotate(var(--paper-rotate,7deg))}.t-01[data-active-scene=gallery] .t01-note-a,.t-01[data-active-scene=timeline] .t01-note-b,.t-01[data-active-scene=ending] .t01-note-a,.t-01[data-active-scene=ending] .t01-note-b{opacity:.42}.t-01[data-active-scene=question] .t01-blossom,.t-01[data-active-scene=response] .t01-blossom{opacity:.11}.t-01[data-active-scene=question] .t01-petals i,.t-01[data-active-scene=response] .t01-petals i{opacity:.38}.t-01[data-active-scene=ending] .t01-blossom-left{opacity:.36;transform:rotate(-6deg)translateY(-10px)}.t-01 .t01-paper-a,.t-01[data-active-scene=gallery] .t01-paper-a,.t-01[data-active-scene=timeline] .t01-paper-a{--paper-rotate:-8deg}.t-01 .t01-paper-b,.t-01[data-active-scene=gallery] .t01-paper-b,.t-01[data-active-scene=timeline] .t01-paper-b{--paper-rotate:7deg}@keyframes t01-petal-fall{0%{opacity:0;transform:translateY(-34px)rotate(24deg)}12%{opacity:.62}50%{transform:translate(34px,52vh)rotate(156deg)}to{opacity:0;transform:translate(-18px,104vh)rotate(310deg)}}@keyframes t01-orbit-dot{0%{opacity:.2;transform:translate(0,0)}20%{opacity:.84}50%{transform:translate(140px,72px)}to{opacity:.2;transform:translate(0,0)}}@keyframes t01-crisp-drift{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translate(12px,-18px)rotate(7deg)}}.t-01 .scene{text-align:center;opacity:0;visibility:hidden;pointer-events:none;align-content:center;justify-items:center;gap:clamp(10px,1.6vw,16px);transition:opacity .52s,transform .52s,visibility 0s linear .52s;display:grid;position:absolute;inset:clamp(112px,13svh,140px) clamp(14px,4vw,56px) clamp(74px,9svh,96px);overflow-y:auto;transform:translateY(20px)scale(.985)}.t-01 .scene.is-on{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.t-01 .gift-brand-mark{z-index:4;color:var(--accent);text-align:left;grid-template-columns:auto auto;align-items:center;gap:8px;transition:opacity .42s;display:inline-grid;position:absolute;top:clamp(14px,2.6vw,26px);left:clamp(16px,3vw,28px)}.t-01 .gift-brand-icon{aspect-ratio:1;color:#fff;background:linear-gradient(160deg,#ff9caf,#cc496b);border-radius:999px;place-items:center;width:clamp(28px,3vw,36px);font-size:.86rem;display:grid;box-shadow:0 12px 24px #b448662e,inset 0 1px #ffffff94}.t-01 .gift-brand-mark b{font-family:var(--font-serif-thai), serif;font-size:clamp(1rem,2vw,1.18rem);line-height:1;display:block}.t-01 .gift-brand-mark small{color:#7e4554a8;margin-top:2px;font-size:.52rem;line-height:1;display:block}.t-01 .gift-topbar{text-align:left;visibility:hidden;gap:2px;transition:opacity .42s;display:grid;position:absolute;inset:clamp(16px,3vw,28px) clamp(16px,3vw,28px) auto}.t-01 .gift-topbar .to{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600}.t-01 .gift-topbar .from{color:var(--ink);font-size:.95rem;font-weight:600}.t-01 .gift-recipient{z-index:4;min-width:min(320px,72vw);color:var(--ink);text-align:center;justify-items:center;gap:2px;transition:opacity .42s;display:grid;position:absolute;top:clamp(16px,3vw,30px);left:50%;translate:-50%}.t-01 .gift-recipient-icon{aspect-ratio:1;width:30px;color:var(--accent);place-items:center;font-size:1.35rem;line-height:1;display:grid}.t-01 .gift-recipient:after{content:"♥";color:var(--accent);grid-template-columns:74px auto 74px;align-items:center;gap:9px;margin-top:4px;font-size:.66rem;display:grid}.t-01 .gift-recipient .to{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:700}.t-01 .gift-recipient .from{color:var(--ink);font-size:.9rem;font-weight:600}.t-01 .gift-progress{z-index:4;color:#6f404eb8;justify-items:center;gap:8px;font-size:.78rem;display:grid;position:absolute;inset:auto 0 clamp(18px,3vw,28px)}.t-01 .gift-dots{justify-content:center;gap:7px;display:flex}.t-01 .gift-dots i{background:var(--line);width:7px;height:7px;transition:width .3s ease, background var(--swap) ease;border-radius:999px}.t-01 .gift-dots i.on{background:var(--accent);width:22px}.t-01 .gift-progress p{margin:0;font-weight:500}.t-01 .scene-intro .unlocked{isolation:isolate;width:min(520px,100%);padding:clamp(10px,2.4vw,18px) clamp(14px,3.4vw,24px);position:relative}.t-01 .scene-intro .unlocked-card .gift-icon{width:clamp(132px,26vw,208px)}.t-01 .scene-intro .unlocked .eyebrow{color:var(--accent);letter-spacing:.28em;font-size:.78rem}.t-01 .scene-intro .unlocked h1{font-size:clamp(2rem,5.5vw,3rem);line-height:1.25}.t-01 .scene-intro .unlocked .scene-copy{max-width:34em}@media (prefers-reduced-motion:reduce){.t-01 .scene{transform:none}.t-01 .t01-petals i,.t-01 .t01-crisps i,.t-01 .t01-orbit:after{animation-play-state:paused}}@media (max-width:720px){.gift-root.t-01{padding:8px}.t-01 .gift-inner{min-height:calc(100svh - 16px)}.t-01 .gift-brand-mark{display:none}.t-01 .gift-recipient{gap:1px;min-width:min(300px,100vw - 32px);top:12px}.t-01 .gift-recipient-icon{width:22px;font-size:1rem}.t-01 .gift-recipient .to{letter-spacing:.18em;font-size:.68rem}.t-01 .gift-recipient .from{font-size:.82rem}.t-01 .gift-recipient:after{grid-template-columns:44px auto 44px;gap:7px;margin-top:2px}.t-01 .scene{gap:8px;inset:94px 6px 58px;overflow-x:hidden}.t-01 .scene-intro .unlocked{border-radius:28px;width:min(100%,360px);padding:18px 14px}.t-01 .scene-intro .unlocked h1{font-size:clamp(1.72rem,9.4vw,2.25rem)}.t-01 .scene-intro .unlocked .scene-copy{max-width:24em}.t-01 .gift-progress{gap:5px;font-size:.72rem;bottom:14px}.t-01 .t01-blossom{width:clamp(118px,38vw,172px)}.t-01 .t01-orbit{opacity:.34}.t-01 .t01-orbit-a{width:220px;top:72px;right:-120px}.t-01 .t01-orbit-b{width:230px;bottom:38px;left:-130px}.t-01 .t01-strawberry{opacity:.34;width:102px;bottom:42px;right:-24px}.t-01 .t01-crisps i{opacity:.48}.t-01 .t01-crisps .c3{display:none}.t-01 .t01-crisps .c1{top:118px;left:-18px}.t-01 .t01-blossom-left{bottom:-42px;left:-62px}.t-01 .t01-blossom-right{top:-42px;right:-64px}.t-01 .t01-paper,.t-01 .t01-note,.t-01 .t01-tape{display:none}}@media (max-height:680px){.t-01 .t01-blossom{opacity:.12}.t-01 .t01-strawberry,.t-01 .t01-crisps i{opacity:.24}}.t-01 .t01-prop{z-index:0;opacity:.24;filter:drop-shadow(0 18px 26px #8e123029);width:clamp(120px,26vw,210px);height:auto;animation:9s ease-in-out infinite t01-prop-float;position:absolute}.t-01 .t01-prop-a{bottom:-3%;left:-6%;rotate:-5deg}.t-01 .t01-prop-b{width:clamp(96px,20vw,160px);animation-delay:-3s;top:6%;left:-8%;rotate:7deg}.t-01 .t01-prop-c{animation-delay:-6s;bottom:-2%;right:-7%;rotate:4deg}@keyframes t01-prop-float{0%,to{translate:0}50%{translate:0 -10px}}@media (max-width:720px){.t-01 .t01-prop{opacity:.2}.t-01 .t01-prop-b{display:none}}
.gift-root.t-02{background:var(--stage-bg);min-height:100svh;transition:background var(--swap) ease, color var(--swap) ease;padding:clamp(10px,2vw,18px);display:grid;position:relative;overflow:hidden}.t-02:before{content:"";background:radial-gradient(120% 60% at 50% 108%, var(--glow-fill), transparent 70%);opacity:.85;pointer-events:none;position:absolute;inset:0}.t-02 .gift-inner{z-index:1;width:min(1060px,100%);min-height:calc(100svh - clamp(20px,4vw,36px));margin:auto;position:relative}.t-02 .t02-atmosphere{pointer-events:none;position:absolute;inset:0;overflow:hidden}.t-02 .t02-frame,.t-02 .t02-ribbon,.t-02 .t02-bokeh i,.t-02 .t02-petals i{display:block;position:absolute}.t-02 .t02-frame{border:1px solid color-mix(in srgb, var(--accent) 26%, transparent);background:color-mix(in srgb, var(--card) 82%, #fff);opacity:.66;border-radius:3px;padding:clamp(6px,.9vw,10px) clamp(6px,.9vw,10px) clamp(20px,2.6vw,30px);transition:opacity .62s,transform .62s;box-shadow:0 24px 54px #54303a38}.t-02 .t02-frame-photo{background:linear-gradient(160deg, color-mix(in srgb, var(--accent) 26%, #fff), color-mix(in srgb, var(--accent) 54%, #f7d9c9));border-radius:2px;width:100%;height:100%;display:block}.t-02 .t02-frame-a{width:clamp(104px,13vw,168px);height:clamp(96px,12vw,152px);top:clamp(84px,12vw,168px);left:clamp(-14px,1vw,30px);transform:rotate(-9deg)}.t-02 .t02-frame-b{width:clamp(90px,11vw,144px);height:clamp(82px,10vw,130px);bottom:clamp(74px,10vw,150px);right:clamp(-10px,1vw,34px);transform:rotate(8deg)}.t-02 .t02-ribbon{background:linear-gradient(90deg, transparent, color-mix(in srgb, var(--accent) 42%, #fff) 45%, transparent);opacity:.3;border-radius:999px;width:46%;height:clamp(5px,.8vw,9px);bottom:clamp(30px,6vw,86px);left:-12%;transform:rotate(-7deg)}.t-02 .t02-bokeh i{background:radial-gradient(circle, var(--glint), transparent 68%);opacity:.34;border-radius:50%;animation:26s ease-in-out infinite t02-drift}.t-02 .t02-bokeh .b1{width:72px;height:72px;top:22%;left:12%}.t-02 .t02-bokeh .b2{width:46px;height:46px;top:34%;right:16%}.t-02 .t02-bokeh .b3{width:94px;height:94px;bottom:18%;right:6%}.t-02 .t02-bokeh .b4{width:38px;height:38px;bottom:26%;left:26%}.t-02 .t02-petals i{--size:13px;width:var(--size);height:calc(var(--size) * .62);background:color-mix(in srgb, var(--accent) 52%, #fff1ee);opacity:.62;border-radius:100% 0;animation:26s linear infinite t02-petal-fall;top:-46px;box-shadow:inset -2px -2px 5px #ffffff8c}.t-02 .t02-petals .p1{--size:11px;left:17%}.t-02 .t02-petals .p2{--size:14px;left:38%}.t-02 .t02-petals .p3{--size:10px;left:57%}.t-02 .t02-petals .p4{--size:15px;left:74%}.t-02 .t02-petals .p5{--size:12px;left:89%}.t-02[data-active-scene=gallery] .t02-frame,.t-02[data-active-scene=timeline] .t02-frame{opacity:.8}.t-02[data-active-scene=gallery] .t02-frame-a,.t-02[data-active-scene=timeline] .t02-frame-a{transform:rotate(-5deg)translateY(-6px)}.t-02[data-active-scene=gallery] .t02-frame-b,.t-02[data-active-scene=timeline] .t02-frame-b{transform:rotate(4deg)translateY(-6px)}.t-02[data-active-scene=letter] .t02-frame,.t-02[data-active-scene=question] .t02-frame,.t-02[data-active-scene=response] .t02-frame{opacity:.16}.t-02[data-active-scene=question] .t02-petals i,.t-02[data-active-scene=response] .t02-petals i{opacity:.2}@keyframes t02-petal-fall{0%{opacity:0;transform:translateY(-40px)rotate(18deg)}14%{opacity:.62}50%{transform:translate(-22px,52vh)rotate(148deg)}to{opacity:0;transform:translate(20px,106vh)rotate(292deg)}}@keyframes t02-drift{0%,to{transform:translate(0,0)scale(1)}50%{transform:translate(14px,-22px)scale(1.12)}}.t-02 .scene{text-align:center;opacity:0;visibility:hidden;pointer-events:none;align-content:center;justify-items:center;gap:clamp(10px,1.6vw,16px);transition:opacity .52s,transform .52s,visibility 0s linear .52s;display:grid;position:absolute;inset:clamp(70px,8vw,92px) clamp(14px,4vw,56px) clamp(62px,7vw,76px);overflow-y:auto;transform:translateY(20px)scale(.985)}.t-02 .scene.is-on{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.t-02 .gift-topbar{text-align:left;gap:2px;transition:opacity .42s;display:grid;position:absolute;inset:clamp(16px,3vw,28px) clamp(16px,3vw,28px) auto}.t-02 .gift-topbar .to{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;font-size:.72rem;font-weight:600}.t-02 .gift-topbar .from{color:var(--ink);font-size:.95rem;font-weight:600}.t-02 .gift-dots{justify-content:center;gap:7px;display:flex;position:absolute;inset:auto 0 clamp(18px,3vw,28px)}.t-02 .gift-dots i{background:var(--line);width:7px;height:7px;transition:width .3s ease, background var(--swap) ease;border-radius:999px}.t-02 .gift-dots i.on{background:var(--accent);width:22px}@media (prefers-reduced-motion:reduce){.t-02 .scene{transform:none}.t-02 .t02-petals i,.t-02 .t02-bokeh i{animation-play-state:paused}}.t-02 .t02-prop{z-index:0;opacity:.48;filter:drop-shadow(0 18px 26px #8c465a24);width:clamp(112px,24vw,196px);height:auto;animation:10s ease-in-out infinite t02-prop-float;position:absolute}.t-02 .t02-prop-a{bottom:-4%;right:-5%;rotate:3deg}.t-02 .t02-prop-b{width:clamp(92px,19vw,150px);animation-delay:-4s;bottom:4%;left:-5%;rotate:-8deg}.t-02 .t02-prop-c{width:clamp(88px,18vw,142px);animation-delay:-7s;top:8%;right:-6%;rotate:6deg}@keyframes t02-prop-float{0%,to{translate:0}50%{translate:0 -8px}}@media (max-width:720px){.t-02 .t02-prop{opacity:.36}.t-02 .t02-prop-c{display:none}}
.gift-root.t-03{background:radial-gradient(circle at 50% 7%, #ffffff8f, transparent 28%), radial-gradient(circle at 18% 22%, #ffffff52, transparent 24%), radial-gradient(circle at 84% 64%, color-mix(in srgb, var(--accent) 20%, transparent), transparent 32%), var(--stage-bg);min-height:100svh;padding:clamp(10px,2vw,18px);transition:background 1.5s,color 1.5s;display:grid;position:relative;overflow:hidden}.t-03 .gift-inner{z-index:2;width:min(1060px,100%);min-height:calc(100svh - clamp(20px,4vw,36px));margin:auto;position:relative}.gift-root.t-03:after{content:"";z-index:0;pointer-events:none;background:linear-gradient(90deg,#f17e973d,#ffe8e480,#f17e9700);border-radius:999px;width:min(560px,66vw);height:104px;position:absolute;bottom:-3svh;left:-12vw;rotate:-17deg}.t-03:before{content:"";background:radial-gradient(90% 55% at 50% 0%, var(--glow-fill), transparent 72%);opacity:.45;pointer-events:none;transition:opacity 1.5s;position:absolute;inset:0}.t-03[data-warm]:before{opacity:1}.t-03 .t03-atmosphere{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.t-03 .t03-streamers{fill:none;stroke-linecap:round;opacity:.18;width:100%;height:clamp(150px,26vh,260px);transition:opacity 1.5s;position:absolute;top:0;left:0}.t-03 .t03-streamers path{stroke-width:7px}.t-03 .t03-streamers .s1{stroke:color-mix(in srgb, var(--accent) 52%, #fff)}.t-03 .t03-streamers .s2{stroke:color-mix(in srgb, var(--accent) 26%, #ffd9a8);stroke-width:5px}.t-03 .t03-streamers .s3{stroke:color-mix(in srgb, var(--accent) 40%, #cfe3ff);stroke-width:6px}.t-03 .t03-streamers .s4{stroke:color-mix(in srgb, var(--accent) 30%, #ffe4f0);stroke-width:5px}.t-03 .t03-garland{opacity:.2;gap:clamp(6px,1vw,12px);transition:opacity 1.5s;display:flex;position:absolute;top:clamp(8px,2vw,22px);right:clamp(10px,4vw,54px)}.t-03 .t03-garland span{clip-path:polygon(0 0,100% 0,50% 100%);width:clamp(16px,2.4vw,26px);height:clamp(22px,3.2vw,34px);display:block}.t-03 .t03-garland .g1{background:color-mix(in srgb, var(--accent) 54%, #fff);transform:rotate(-6deg)}.t-03 .t03-garland .g2{background:color-mix(in srgb, var(--accent) 24%, #ffd9a8)}.t-03 .t03-garland .g3{background:color-mix(in srgb, var(--accent) 38%, #cfe3ff);transform:rotate(6deg)}.t-03 .t03-confetti i{opacity:0;border-radius:2px;width:9px;height:14px;display:block;position:absolute;top:-30px}.t-03 .t03-confetti .c1{background:color-mix(in srgb, var(--accent) 60%, #fff);left:8%}.t-03 .t03-confetti .c2{background:color-mix(in srgb, var(--accent) 22%, #ffd9a8);left:21%}.t-03 .t03-confetti .c3{background:color-mix(in srgb, var(--accent) 42%, #cfe3ff);left:34%}.t-03 .t03-confetti .c4{background:color-mix(in srgb, var(--accent) 34%, #ffe4f0);left:47%}.t-03 .t03-confetti .c5{background:color-mix(in srgb, var(--accent) 60%, #fff);left:59%}.t-03 .t03-confetti .c6{background:color-mix(in srgb, var(--accent) 22%, #ffd9a8);left:72%}.t-03 .t03-confetti .c7{background:color-mix(in srgb, var(--accent) 42%, #cfe3ff);left:84%}.t-03 .t03-confetti .c8{background:color-mix(in srgb, var(--accent) 34%, #ffe4f0);left:94%}.t-03 .t03-petals i{--size:24px;width:var(--size);height:calc(var(--size) * .7);background:radial-gradient(circle at 30% 28%, #ffffffc2, transparent 35%), linear-gradient(135deg, color-mix(in srgb, var(--accent) 24%, #fff1f5), color-mix(in srgb, var(--accent) 64%, #ffc9d6));opacity:.58;border-radius:96% 18% 92% 22%;animation:22s linear infinite t03-petal-fall;display:block;position:absolute;top:-56px;box-shadow:0 12px 24px #ab486524,inset -3px -3px 7px #ffffff80}.t-03 .t03-petals .p1{--size:26px;left:10%}.t-03 .t03-petals .p2{--size:20px;left:24%}.t-03 .t03-petals .p3{--size:30px;left:42%}.t-03 .t03-petals .p4{--size:22px;left:61%}.t-03 .t03-petals .p5{--size:28px;left:78%}.t-03 .t03-petals .p6{--size:19px;left:91%}.t-03[data-warm] .t03-confetti i{animation:9s linear infinite t03-confetti-fall}.t-03[data-warm] .t03-streamers,.t-03[data-warm] .t03-garland{opacity:.32}.t-03 .t03-ribbon{filter:blur(.2px);background:linear-gradient(90deg,#e1557a00,#e3688447,#ffe7e78a,#e1557a00);border-radius:999px;width:min(520px,62vw);height:82px;position:absolute;box-shadow:0 22px 54px #b84b681c}.t-03 .t03-ribbon-left{top:-12px;left:-15vw;rotate:-18deg}.t-03 .t03-ribbon-right{top:10px;right:-14vw;rotate:26deg}.t-03 .t03-polaroid{color:#95495ba8;width:clamp(118px,16vw,190px);font-family:var(--font-hand), cursive;background:#ffffff7a;border-radius:4px;justify-items:center;gap:10px;padding:10px 10px 16px;font-size:clamp(.95rem,1.5vw,1.25rem);line-height:1.12;display:grid;position:absolute;box-shadow:0 26px 62px #7e374e1f}.t-03 .t03-polaroid span{aspect-ratio:1.18;background:radial-gradient(circle at 50% 40%, color-mix(in srgb, var(--accent) 42%, #fff) 0 13%, transparent 14%), radial-gradient(circle at 28% 72%, #fff 0 14%, transparent 15%), linear-gradient(150deg, #ffd5dc, #fff4ed 55%, #f8bac9);opacity:.72;border-radius:3px;width:100%;display:block}.t-03 .t03-polaroid-left{top:clamp(126px,20vh,210px);left:clamp(-78px,-4vw,-24px);rotate:-10deg}.t-03 .t03-polaroid-right{top:clamp(160px,26vh,280px);right:clamp(-78px,-4vw,-24px);rotate:10deg}.t-03 .t03-hand-note{color:#9744549e;font-family:var(--font-hand), cursive;margin:0;font-size:clamp(1rem,1.55vw,1.3rem);line-height:1.18;position:absolute;top:clamp(170px,25vh,270px);right:clamp(92px,14vw,220px);rotate:-8deg}.t-03 .t03-soft-heart{aspect-ratio:1;clip-path:polygon(50% 86%,18% 56%,10% 34%,18% 16%,35% 12%,50% 26%,65% 12%,82% 16%,90% 34%,82% 56%);filter:drop-shadow(0 12px 20px #b0446329);opacity:.54;background:radial-gradient(circle at 34% 28%,#ffb7c7,#d65075 74%);width:clamp(18px,2.8vw,34px);display:block;position:absolute}.t-03 .t03-soft-heart-a{top:16%;left:18%;rotate:-12deg}.t-03 .t03-soft-heart-b{bottom:16%;right:15%;rotate:8deg}.t-03[data-active-scene=letter] .t03-streamers,.t-03[data-active-scene=letter] .t03-garland{opacity:.12}@keyframes t03-petal-fall{0%{opacity:0;transform:translateY(-38px)rotate(24deg)}10%{opacity:.58}52%{transform:translate(34px,52vh)rotate(164deg)}to{opacity:0;transform:translate(-26px,106vh)rotate(326deg)}}@keyframes t03-confetti-fall{0%{opacity:0;transform:translateY(-30px)rotate(0)}10%{opacity:.68}to{opacity:0;transform:translate(18px,106vh)rotate(520deg)}}.t-03 .scene{text-align:center;opacity:0;visibility:hidden;pointer-events:none;align-content:center;justify-items:center;gap:clamp(10px,1.6vw,16px);transition:opacity .52s,transform .52s,visibility 0s linear .52s;display:grid;position:absolute;inset:clamp(112px,13svh,140px) clamp(14px,4vw,56px) clamp(74px,9svh,96px);overflow-y:auto;transform:translateY(20px)scale(.985)}.t-03 .scene.is-on{opacity:1;visibility:visible;pointer-events:auto;transition-delay:0s;transform:none}.t-03 .gift-topbar{text-align:left;visibility:hidden;gap:2px;transition:opacity .42s;display:grid;position:absolute;inset:clamp(16px,3vw,28px) clamp(16px,3vw,28px) auto}.t-03 .gift-topbar .to{color:var(--accent);letter-spacing:.14em;text-transform:uppercase;transition:color var(--swap) ease;font-size:.72rem;font-weight:600}.t-03 .gift-topbar .from{color:var(--ink);font-size:.95rem;font-weight:600}.t-03 .gift-brand-mark{z-index:4;color:var(--accent);text-align:left;grid-template-columns:auto auto;align-items:center;gap:8px;transition:opacity .42s;display:inline-grid;position:absolute;top:clamp(14px,2.6vw,26px);left:clamp(16px,3vw,28px)}.t-03 .gift-brand-icon{aspect-ratio:1;color:#fff;background:linear-gradient(160deg,#ff9caf,#cc496b);border-radius:999px;place-items:center;width:clamp(28px,3vw,36px);font-size:.86rem;display:grid;box-shadow:0 12px 24px #b448662e,inset 0 1px #ffffff94}.t-03 .gift-brand-mark b{font-family:var(--font-serif-thai), serif;font-size:clamp(1rem,2vw,1.18rem);line-height:1;display:block}.t-03 .gift-brand-mark small{color:#7e4554a8;margin-top:2px;font-size:.52rem;line-height:1;display:block}.t-03 .gift-recipient{z-index:4;min-width:min(320px,72vw);color:var(--ink);text-align:center;justify-items:center;gap:2px;transition:opacity .42s;display:grid;position:absolute;top:clamp(16px,3vw,30px);left:50%;translate:-50%}.t-03 .gift-recipient-icon{aspect-ratio:1;width:30px;color:var(--accent);place-items:center;font-size:1.35rem;line-height:1;display:grid}.t-03 .gift-recipient:after{content:"♥";color:var(--accent);grid-template-columns:74px auto 74px;align-items:center;gap:9px;margin-top:4px;font-size:.66rem;display:grid}.t-03 .gift-recipient .to{color:var(--accent);letter-spacing:.22em;text-transform:uppercase;font-size:.78rem;font-weight:700}.t-03 .gift-recipient .from{color:var(--ink);font-size:.9rem;font-weight:600}.t-03 .gift-progress{z-index:4;color:#6f404eb8;justify-items:center;gap:8px;font-size:.78rem;display:grid;position:absolute;inset:auto 0 clamp(18px,3vw,28px)}.t-03 .gift-dots{justify-content:center;gap:7px;display:flex}.t-03 .gift-dots i{background:var(--line);width:7px;height:7px;transition:width .3s ease, background var(--swap) ease;border-radius:999px}.t-03 .gift-dots i.on{background:var(--accent);width:22px}.t-03 .gift-progress p{margin:0;font-weight:500}.t-03 .scene-intro .gift-open{isolation:isolate;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:radial-gradient(circle at 50% 0,#ffffffbd,#0000 44%),linear-gradient(#ffffff7a,#fff4f138);border-color:#ffffff9e;border-radius:clamp(30px,5vw,46px);width:min(520px,100%);padding:clamp(24px,4.6vw,38px) clamp(20px,4.6vw,40px);position:relative;overflow:hidden;box-shadow:0 30px 86px #8b425c29,inset 0 1px #ffffffb8}.t-03 .scene-intro .gift-open:before{content:"";opacity:.72;pointer-events:none;border:1px solid #ffffff9e;border-radius:999px;height:94px;position:absolute;inset:30% -12% auto;transform:rotate(-10deg)}.t-03 .scene-intro .gift-visual{filter:drop-shadow(0 18px 30px #b0486829)}.t-03 .scene-intro .gift-title{font-size:clamp(1.7rem,4.4vw,2.45rem)}.t-03 .scene-intro .gift-hint{color:#fff;background:linear-gradient(#ee8298,#c8506b);border-radius:999px;min-width:min(320px,86%);margin-top:6px;padding:13px 24px;font-size:1rem;font-weight:700;box-shadow:0 16px 34px #b24c6647,inset 0 1px #ffffffad}@media (max-width:720px){.gift-root.t-03{padding:8px}.t-03 .gift-inner{min-height:calc(100svh - 16px)}.t-03 .gift-brand-mark{display:none}.t-03 .gift-recipient{gap:1px;min-width:min(300px,100vw - 32px);top:12px}.t-03 .gift-recipient-icon{width:22px;font-size:1rem}.t-03 .gift-recipient .to{letter-spacing:.18em;font-size:.68rem}.t-03 .gift-recipient .from{font-size:.82rem}.t-03 .gift-recipient:after{grid-template-columns:44px auto 44px;gap:7px;margin-top:2px}.t-03 .scene{gap:8px;inset:94px 6px 58px;overflow-x:hidden}.t-03 .scene-intro .gift-open{border-radius:28px;width:min(100%,360px);padding:18px 14px}.t-03 .scene-intro .gift-title{font-size:clamp(1.55rem,8.8vw,2.1rem)}.t-03 .scene-intro .gift-hint{min-width:min(280px,88%);padding:11px 18px;font-size:.9rem}.t-03 .gift-progress{gap:5px;font-size:.72rem;bottom:14px}.t-03 .t03-polaroid,.t-03 .t03-hand-note,.t-03 .t03-garland{display:none}.t-03 .t03-ribbon{opacity:.54}.t-03 .t03-petals .p2,.t-03 .t03-petals .p6{display:none}}@media (prefers-reduced-motion:reduce){.t-03 .scene{transform:none}.t-03 .t03-petals i,.t-03[data-warm] .t03-confetti i{animation:none}}
.t-04{--t04-progress:0;--t04-drift-far:0px;--t04-drift-mid:0px;--t04-intro-far:0px;--t04-intro-mid:0px;--t04-intro-near:0px;min-height:100svh;color:var(--ink);background:var(--stage-bg);isolation:isolate;letter-spacing:0;position:relative;overflow-x:clip}.t-04:before{z-index:-2;content:"";pointer-events:none;opacity:calc(.42 + var(--t04-progress) * .46);background:radial-gradient(circle at 12% 14%,#ffffffd1,#0000 14%),radial-gradient(circle at 82% 22%,#ffee4f8a,#0000 18%),linear-gradient(#ffffff47,#0000 36%),linear-gradient(160deg,#0000 24%,#ff56b247 62%,#4eb4ff42);position:fixed;inset:0}.t-04 button,.t-04 a{font:inherit;letter-spacing:0}.t04-atmosphere{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.t04-sunrise{height:54vh;opacity:calc(.45 + var(--t04-progress) * .42);transform:translate3d(0, var(--t04-drift-far), 0) scale(1.08);background:linear-gradient(#0000,#ffee5c57,#ff5eb22e);position:absolute;bottom:-10vh;left:0;right:0}.t04-branch{opacity:.24;filter:drop-shadow(0 8px 16px #7635aa14);border-top:4px solid #ffffffb8;border-radius:50%;width:220px;height:110px;position:absolute}.t04-branch:before,.t04-branch:after{content:"";background:linear-gradient(145deg,#ffed4fb3,#ff66b685);border:2px solid #ffffffb3;border-radius:50% 10%;width:34px;height:16px;position:absolute}.t04-branch:before{top:-13px;left:52px;transform:rotate(-24deg)}.t04-branch:after{top:-4px;right:48px;transform:rotate(22deg)scaleX(-1)}.t04-branch-left{translate:0 var(--t04-drift-mid);bottom:8vh;left:-72px;transform:rotate(18deg)}.t04-branch-right{translate:0 var(--t04-drift-far);top:10vh;right:-86px;transform:rotate(200deg)}.t04-thread{background:linear-gradient(90deg,#0000,#ffffffc7,#0000);width:36vw;height:2px;position:absolute;box-shadow:0 0 18px #ffffff61}.t04-thread-one{translate:0 var(--t04-drift-far);top:32vh;left:-8vw;transform:rotate(-14deg)}.t04-thread-two{translate:0 var(--t04-drift-mid);bottom:28vh;right:-10vw;transform:rotate(10deg)}.t04-petal{opacity:.74;background:linear-gradient(145deg,#fffffff2,#ff5bb1c2);border:3px solid #ffffffe6;border-radius:999px 999px 999px 28px;width:22px;height:14px;position:absolute;box-shadow:0 8px 18px #7635aa1f,inset -2px -2px 4px #cc3c8d1a}.t04-pop-burst,.t04-speech-bubble,.t04-sweet,.t04-sparkle{pointer-events:none;display:block;position:absolute}.t04-pop-burst{aspect-ratio:1;background:radial-gradient(circle at 50% 50%, #ff479ed6 0 42%, transparent 43%), conic-gradient(from 8deg, #ffffffe6 0 9deg, transparent 9deg 24deg, #ffffffe6 24deg 32deg, transparent 32deg 47deg);filter:drop-shadow(0 16px 20px #7635aa29);opacity:.42;width:clamp(130px,22vw,240px)}.t04-pop-burst-one{translate:0 var(--t04-drift-mid);top:16vh;right:max(-86px,-6vw);transform:rotate(12deg)}.t04-pop-burst-two{translate:0 var(--t04-drift-far);bottom:15vh;left:max(-96px,-7vw);transform:rotate(-18deg)scale(.86)}.t04-speech-bubble{color:#e73793;text-align:center;text-shadow:0 1px #fff;opacity:.86;background:#ffffffd6;border:4px solid #fffffff2;border-radius:999px;min-width:94px;padding:10px 16px;font-size:clamp(.9rem,2vw,1.12rem);font-weight:900;box-shadow:0 15px 24px #7635aa29,inset 0 -3px #7e59ff14}.t04-speech-bubble:after{content:"";background:inherit;border-right:inherit;border-bottom:inherit;border-radius:4px 0 12px;width:22px;height:18px;position:absolute;bottom:-13px;right:18px;transform:rotate(36deg)}.t04-speech-bubble-one{translate:0 var(--t04-drift-far);top:10vh;right:clamp(16px,7vw,116px);transform:rotate(5deg)}.t04-speech-bubble-two{translate:0 var(--t04-drift-mid);bottom:18vh;left:clamp(12px,8vw,128px);transform:rotate(-6deg)}.t04-sweet{opacity:.66;border:4px solid #ffffffe6;box-shadow:0 18px 28px #7635aa24,inset 0 -7px 13px #7635aa1f}.t04-sweet:before,.t04-sweet:after{content:"";position:absolute}.t04-sweet-roll{aspect-ratio:1.22;width:clamp(58px,10vw,96px);translate:0 var(--t04-drift-mid);background:repeating-linear-gradient(90deg,#ffffff85 0 14px,#f2a8e07a 14px 28px),linear-gradient(145deg,#fff3fa,#f49ee5);border-radius:40% 40% 48% 48%;top:29vh;left:clamp(10px,6vw,86px);transform:rotate(-12deg)}.t04-sweet-donut{aspect-ratio:1;width:clamp(58px,9vw,90px);translate:0 var(--t04-drift-far);background:radial-gradient(circle,#0000 0 28%,#fffffff2 29% 34%,#0000 35%),radial-gradient(circle at 68% 24%,#ffffffbd,#0000 20%),linear-gradient(145deg,#ff86c1,#f54696);border-radius:50%;bottom:22vh;right:clamp(14px,8vw,116px);transform:rotate(11deg)}.t04-sweet-cupcake{aspect-ratio:.92;width:clamp(56px,10vw,96px);translate:0 var(--t04-drift-mid);background:radial-gradient(circle at 48% 18%,#fff7b0 0 28%,#0000 29%),linear-gradient(#fff1a8 0 40%,#9fc8ff 41% 100%);border-radius:44% 44% 30% 30%;top:58vh;right:max(-8px,3vw);transform:rotate(7deg)}.t04-sparkle{aspect-ratio:1;clip-path:polygon(50% 0,62% 36%,100% 50%,62% 64%,50% 100%,38% 64%,0 50%,38% 36%);filter:drop-shadow(0 0 10px #ffffffd6);opacity:.9;background:#fff;width:18px}.t04-sparkle-one{translate:0 var(--t04-drift-far);top:14vh;left:8vw}.t04-sparkle-two{width:24px;translate:0 var(--t04-drift-mid);top:36vh;right:18vw}.t04-sparkle-three{width:15px;translate:0 var(--t04-drift-far);bottom:12vh;left:38vw}.t04-petal-one{translate:0 var(--t04-drift-mid);top:18%;left:12%;transform:rotate(28deg)scale(.78)}.t04-petal-two{translate:0 var(--t04-drift-far);top:43%;right:9%;transform:rotate(112deg)scale(1.08)}.t04-petal-three{translate:0 var(--t04-drift-far);top:68%;left:7%;transform:rotate(164deg)scale(.66)}.t04-petal-four{translate:0 var(--t04-drift-mid);bottom:12%;right:17%;transform:rotate(218deg)scale(.9)}.t04-petal-five{translate:0 var(--t04-drift-mid);top:30%;left:72%;transform:rotate(76deg)scale(.58)}.t04-intro{width:min(100%,760px);min-height:100svh;padding:max(24px, env(safe-area-inset-top)) clamp(20px, 5vw, 54px) max(28px, env(safe-area-inset-bottom));text-align:center;align-content:space-between;place-items:center;margin:0 auto;display:grid;position:relative}.t04-brand{color:#fff;text-align:left;filter:drop-shadow(0 4px 10px #591b822e);transform:translate3d(0, var(--t04-intro-far), 0);justify-self:start;align-items:center;gap:10px;display:flex}.t04-brand>span:first-child{background:linear-gradient(145deg,#ff62b4,#7cc8ff);border:2px solid #ffffffb8;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.t04-brand b,.t04-brand small{display:block}.t04-brand b{font-family:var(--font-serif), serif;font-size:1rem}.t04-brand small{color:#ffffffd1;margin-top:2px;font-size:.59rem}.t04-address{color:#ffffffe6;transform:translate3d(0, var(--t04-intro-far), 0);justify-content:center;align-items:center;gap:8px;margin:12px 0 0;font-size:.88rem;display:flex}.t04-address strong{color:#fff}.t04-intro-copy{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);width:min(100%,570px);transform:translate3d(0, var(--t04-intro-mid), 0);overflow-wrap:anywhere;background:#ffffff57;border:3px solid #ffffff70;border-radius:clamp(24px,5vw,34px);margin-top:clamp(20px,5vh,48px);padding:clamp(14px,3vw,26px);box-shadow:0 18px 44px #7835aa1a}.t04-eyebrow,.t04-object-label{color:var(--accent);text-shadow:0 2px #fff,0 5px 14px #7635aa29;letter-spacing:.15em;text-transform:uppercase;margin:0 0 12px;font-size:.72rem;font-weight:800}.t04-intro h1,.t04-passage h2{color:var(--ink);font-family:var(--font-serif), serif;letter-spacing:0;overflow-wrap:anywhere;text-wrap:balance;margin:0;font-weight:700}.t04-intro h1{text-shadow:0 3px #ffffffd1,0 10px 22px #7635aa29;font-size:clamp(2rem,7vw,3.75rem);line-height:1.25}.t04-intro-copy>p:last-child,.t04-passage-copy>p:not(.t04-eyebrow,.t04-object-label){color:#56304f;text-shadow:0 1px #ffffff80;font-size:clamp(1rem,2.4vw,1.22rem);font-weight:600;line-height:1.85}.t04-box-button{width:min(100%,510px);color:var(--ink);cursor:pointer;transform:translate3d(0, var(--t04-intro-near), 0);background:0 0;border:0;place-items:center;padding:0;display:grid}.t04-box-button img{filter:saturate(1.28)drop-shadow(0 12px #ffffff94)drop-shadow(0 30px 28px #7635aa2e);width:min(100%,480px);height:auto;transition:transform .36s,filter .36s}.t04-box-button[data-opening] img{filter:saturate(1.36)drop-shadow(0 13px #ffffff9e)drop-shadow(0 38px 34px #7635aa3d);animation:.9s cubic-bezier(.22,1,.36,1) both t04-box-open}.t04-box-button:not(:disabled):hover img,.t04-box-button:not(:disabled):focus-visible img{filter:saturate(1.42)drop-shadow(0 13px #ffffffa8)drop-shadow(0 38px 32px #7635aa3d);transform:translateY(-7px)scale(1.015)}.t04-box-button>span{min-height:46px;color:var(--button-ink);background:var(--button-bg);border:3px solid #ffffffb8;border-radius:999px;align-items:center;margin-top:-16px;padding:10px 22px;font-weight:900;display:inline-flex;box-shadow:0 12px #7835aa21,0 18px 28px #7835aa33}.t04-box-button:disabled>span{color:#e73793;background:#ffffffd1;box-shadow:0 8px 18px #7835aa1f}.t04-scroll-cue{color:#4a1b66c7;text-align:center;text-wrap:balance;place-items:center;gap:8px;margin:0;font-size:.92rem;font-weight:600;line-height:1.55;display:inline-grid}.t04-scroll-cue-intro{opacity:0;margin-top:-10px;animation:.52s .52s forwards t04-scroll-cue-in}.t04-scroll-cue-scene{right:0;bottom:max(24px, env(safe-area-inset-bottom));transform:translate3d(0, var(--scene-copy-y), 22px);position:absolute;left:0}.t04-scroll-arrow{border-bottom:2px solid #bb5b779e;border-right:2px solid #bb5b779e;width:10px;height:10px;animation:1.35s ease-in-out infinite t04-scroll-arrow;display:block;transform:rotate(45deg)}@keyframes t04-box-open{0%{transform:translateY(0)scale(.98)}42%{transform:translateY(-10px)scale(1.035)}to{transform:translateY(-4px)scale(1)}}@keyframes t04-scroll-cue-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes t04-scroll-arrow{0%,to{opacity:.35;translate:0 -2px}50%{opacity:1;translate:0 4px}}.t04-story{perspective:1200px;width:100%;position:relative}.t04-story[hidden]{display:none}.t04-scene-slot{position:relative}.t04-scene-slot+.t04-scene-slot{margin-top:-28svh}.t04-passage{--scene-frame-opacity:0;--scene-frame-y:96px;--scene-frame-scale:.7;--scene-frame-tilt:4.2deg;--scene-frame-blur:4.8px;--scene-copy-y:0px;--scene-art-y:0px;--scene-art-scale:1;perspective:1200px;text-align:center;width:min(100%,780px);min-height:145svh;margin:0 auto;padding-inline:clamp(22px,6vw,68px);position:relative}.t04-scene-frame{width:100%;min-height:100svh;opacity:var(--scene-frame-opacity);transform:perspective(1200px) translate3d(0, var(--scene-frame-y), 0) rotateX(var(--scene-frame-tilt)) scale(var(--scene-frame-scale));transform-origin:50% 52%;transform-style:preserve-3d;backface-visibility:hidden;text-align:center;align-content:center;place-items:center;padding-block:clamp(54px,9vh,96px);display:grid;position:sticky;top:0}.t04-passage-copy{box-sizing:border-box;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);width:min(100%,600px);transform:translate3d(0, var(--scene-copy-y), 12px);overflow-wrap:anywhere;background:radial-gradient(circle at 88% 14%,#ffffffdb,#0000 22%),linear-gradient(145deg,#ffffffc2,#ffffff7a);border:3px solid #ffffffb3;border-radius:clamp(22px,5vw,34px);padding:clamp(18px,4vw,34px);box-shadow:0 16px #7835aa12,0 30px 60px #7835aa21}.t04-passage[data-parallax-active]>.t04-scene-frame,.t04-passage[data-parallax-active] .t04-passage-copy,.t04-passage[data-parallax-active] .t04-release-stage,.t04-passage[data-parallax-active] .t04-light-art,.t04-passage[data-parallax-active] .t04-note-folded,.t04-passage[data-parallax-active] .t04-note-paper,.t04-passage[data-parallax-active] .t04-ending-light{will-change:transform}@media (min-width:701px){.t04-scene-frame{filter:blur(var(--scene-frame-blur))}}.t04-passage h2{text-shadow:0 3px #ffffffd1,0 10px 22px #7635aa24;font-size:clamp(1.85rem,6vw,3.45rem);line-height:1.25}.t04-signature{color:var(--accent);font-family:var(--font-serif), serif;margin-top:22px;font-size:1.05rem;display:block}.t04-release{min-height:158svh}.t04-release-stage{width:min(92vw,430px);height:clamp(300px,54vw,430px);transform:translate3d(0, var(--scene-art-y), 36px) scale(var(--scene-art-scale));margin-top:12px;position:relative}.t04-box-target{opacity:.8;width:min(78vw,330px);position:absolute;bottom:0;right:50%;transform:translate(50%)}.t04-box-target img{filter:saturate(1.32)drop-shadow(0 10px #ffffff8a)drop-shadow(0 26px 24px #7635aa29);width:100%;height:auto}.t04-stone{z-index:2;cursor:grab;touch-action:none;width:clamp(102px,27vw,138px);transform:translate3d(calc(-50% + var(--stone-x)), var(--stone-y), 0);background:0 0;border:0;padding:0;transition:opacity .48s,scale .48s;position:absolute;top:0;left:50%}.t04-stone:active{cursor:grabbing}.t04-stone img{filter:saturate(1.18)drop-shadow(0 8px #ffffff7a)drop-shadow(0 18px 17px #7835aa3d);pointer-events:none;width:100%;height:auto}.t04-release[data-released] .t04-stone{opacity:0;scale:.55}.t04-release[data-released] .t04-box-target{opacity:1;filter:drop-shadow(0 0 26px #ffed4f6b)}.t04-light{min-height:158svh}.t04-light-art{width:min(92vw,560px);transform:translate3d(0, var(--scene-art-y), 42px) scale(var(--scene-art-scale));margin-bottom:4px;position:relative}.t04-light-art img{z-index:1;filter:saturate(1.1)brightness(.98)drop-shadow(0 10px #ffffff80);width:100%;height:auto;transition:filter .9s,transform .9s;position:relative}.t04-light-halo{z-index:0;opacity:.42;background:radial-gradient(circle,#ffed4fe6,#ff66b638,#ffe29600);border-radius:50%;transition:opacity .9s,transform .9s;position:absolute;inset:18% 18% 12%;transform:scale(.74)}.t04-light[data-released] .t04-light-art img{filter:saturate(1.36)brightness(1.05)drop-shadow(0 11px #ffffff94)drop-shadow(0 28px 32px #7635aa2e);transform:translateY(-5px)}.t04-light[data-released] .t04-light-halo{opacity:1;transform:scale(1.15)}.t04-note{min-height:158svh}.t04-note[data-gated]{min-height:100svh}.t04-note-unfold-wrap{perspective:1100px;width:min(88vw,470px);min-height:360px;transform:translate3d(0, var(--scene-art-y), 34px) scale(var(--scene-art-scale));place-items:center;margin-top:22px;display:grid;position:relative}.t04-note-folded{width:min(86vw,430px);color:var(--accent);cursor:pointer;transform-style:preserve-3d;background:0 0;border:0;place-items:center;padding:0;display:grid;position:relative}.t04-note-folded img{z-index:3;filter:saturate(1.22)drop-shadow(0 9px #ffffff85)drop-shadow(0 22px 24px #7635aa29);width:100%;height:auto;transition:transform .32s,opacity .36s,filter .36s;position:relative}.t04-note-folded:hover img,.t04-note-folded:focus-visible img{transform:translateY(-6px)rotate(-1deg)}.t04-note-folded-label{z-index:4;background:#ffffffd1;border:3px solid #ffffffc2;border-radius:999px;margin-top:4px;padding:9px 16px;font-size:.88rem;font-weight:700;position:relative}.t04-note-sheet{z-index:1;opacity:0;transform-origin:50% 100%;pointer-events:none;background:radial-gradient(circle at 72% 20%,#fffffff2,#0000 22%),linear-gradient(160deg,#fffdf6fa,#ffecdaf0);border:1px solid #ffffffb8;border-radius:12px;width:min(78vw,370px);height:min(58vw,300px);display:block;position:absolute;bottom:70px;left:50%;transform:translate3d(-50%,48px,-48px)rotateX(74deg)scale(.72);box-shadow:0 28px 54px #614d3426}.t04-note-sheet:before{content:"";background:linear-gradient(90deg,#b9566f2e 0 46%,#0000 46% 54%,#b9566f2e 54% 100%) top/100% 1px no-repeat,repeating-linear-gradient(0deg,#0000 0 30px,#80775414 31px,#0000 32px);border-top:1px solid #b18a5c29;border-bottom:1px solid #b18a5c1f;position:absolute;inset:22px 28px}.t04-note-sheet:after{content:"";background:linear-gradient(145deg,#ee7896,#c94a71);border-radius:7px 7px 9px 9px;width:22px;height:22px;position:absolute;top:18px;left:50%;transform:translate(-50%)rotate(45deg);box-shadow:0 7px 13px #a34b5f2e}.t04-note-sheet-front{z-index:2;background:radial-gradient(circle at 76% 24%,#fffffff5,#0000 20%),linear-gradient(160deg,#fffdf7fc,#fff2e0fa)}.t04-note[data-unfolding] .t04-note-sheet-back{animation:.82s cubic-bezier(.18,.9,.25,1) both t04-note-unfold-back}.t04-note[data-unfolding] .t04-note-sheet-front{animation:.82s cubic-bezier(.18,.9,.25,1) 80ms both t04-note-unfold-front}.t04-note[data-unfolding] .t04-note-folded img{opacity:0;filter:drop-shadow(0 26px 24px #5c4b3614);transform:translateY(26px)scale(.84)rotateX(16deg)}.t04-note[data-unfolding] .t04-note-folded-label{opacity:.72}.t04-note-paper{width:min(92vw,560px);color:var(--letter-ink);text-align:left;transform:translate3d(0, var(--scene-art-y), 30px) scale(var(--scene-art-scale));background:radial-gradient(circle at 82% 12%,#ffffffeb,#0000 22%),linear-gradient(#fffffff0,#ffeef9f0),repeating-linear-gradient(0deg,#0000 0 31px,#7835aa12 32px);border:4px solid #ffffffd1;border-radius:24px;margin-top:34px;padding:clamp(36px,7vw,58px) clamp(28px,7vw,56px) clamp(30px,7vw,50px);animation:.76s cubic-bezier(.18,.9,.25,1) both t04-note-paper-in;position:relative;overflow:hidden;box-shadow:inset 0 1px #ffffffd1,0 30px 80px #7635aa24}.t04-note-paper:before{content:"";background:linear-gradient(90deg,#0000,#c15c6f47,#0000);height:1px;position:absolute;top:24px;left:28px;right:28px}.t04-note-paper:after{content:"";pointer-events:none;background:radial-gradient(circle,#ffed4f57,#ff66b62e,#0000 68%);width:150px;height:150px;position:absolute;bottom:-56px;right:-42px}.t04-note-seal{background:linear-gradient(145deg,#ffed4f,#ff66b6);border-radius:9px 9px 11px 11px;width:30px;height:30px;margin:0 auto 22px;display:block;transform:rotate(45deg);box-shadow:0 10px 20px #7635aa2e}.t04-note-paper p{z-index:1;margin:0 0 .72em;font-size:clamp(1rem,2.5vw,1.16rem);line-height:1.9;position:relative}.t04-note-paper p:last-child{color:var(--accent);text-align:right;margin-top:1.45em;margin-bottom:0}@keyframes t04-note-unfold-front{0%{opacity:0;transform:translate3d(-50%,48px,-48px)rotateX(74deg)scale(.72)}48%{opacity:1}to{opacity:1;transform:translate3d(-50%,-28px,18px)rotateX(0)scale(1)}}@keyframes t04-note-unfold-back{0%{opacity:0;transform:translate3d(-50%,46px,-78px)rotateX(78deg)rotate(-3deg)scale(.68)}50%{opacity:.75}to{opacity:.82;transform:translate3d(calc(-50% - 12px),-18px,-24px)rotateX(6deg)rotate(-5deg)scale(.96)}}@keyframes t04-note-paper-in{0%{opacity:0;transform:translate3d(0, calc(var(--scene-art-y) + 34px), 30px) scale(.92) rotateX(10deg)}to{opacity:1;transform:translate3d(0, var(--scene-art-y), 30px) scale(var(--scene-art-scale))}}.t04-ending{min-height:140svh}.t04-ending-light{aspect-ratio:1;filter:saturate(1.3)drop-shadow(0 6px #ffffff80)drop-shadow(0 12px 14px #7635aa2e);width:clamp(72px,18vw,118px);height:auto;transform:translate3d(0, var(--scene-art-y), 42px) scale(var(--scene-art-scale));margin-bottom:28px}.t04-restart{color:#fff;background:var(--button-bg);cursor:pointer;border:3px solid #ffffffb8;border-radius:999px;min-height:46px;margin-top:32px;padding:10px 22px;font-weight:900;box-shadow:0 12px #7835aa1f}.t04-gift-back{min-height:34svh;padding:24px 20px max(38px, env(safe-area-inset-bottom));justify-content:center;align-items:flex-end;display:flex}@media (max-width:600px){.t04-intro{padding-inline:18px}.t04-brand{justify-self:center}.t04-brand small{display:none}.t04-intro-copy{border-width:2px;border-radius:24px;margin-top:14px;padding:16px 14px}.t04-intro h1{font-size:clamp(1.7rem,8.4vw,2.36rem)}.t04-box-button img{width:min(84vw,410px)}.t04-passage{min-height:132svh;padding-inline:14px}.t04-scene-slot+.t04-scene-slot{margin-top:-22svh}.t04-scene-frame{padding-block:44px}.t04-passage-copy{border-width:2px;border-radius:24px;width:min(100%,520px);padding:18px 16px;box-shadow:0 10px #7835aa0f,0 18px 42px #7835aa1f}.t04-passage h2{font-size:clamp(1.58rem,8vw,2.22rem);line-height:1.3}.t04-passage-copy>p:not(.t04-eyebrow,.t04-object-label){font-size:.96rem;line-height:1.68}.t04-release-stage{width:min(88vw,400px);height:min(48vh,360px)}.t04-light-art{width:min(88vw,500px)}.t04-note-unfold-wrap{width:min(88vw,410px);min-height:300px;margin-top:8px}.t04-note-folded{width:min(80vw,400px)}.t04-note-sheet{width:min(74vw,330px);height:min(54vw,250px);bottom:58px}.t04-release,.t04-light,.t04-note{min-height:142svh;padding-inline:20px}.t04-note[data-gated]{min-height:100svh}.t04-note-paper{padding:28px 24px}}@media (max-height:800px) and (min-width:601px){.t04-intro{padding-top:18px;padding-bottom:20px}.t04-intro-copy{margin-top:10px}.t04-box-button img{width:min(48vh,360px)}.t04-box-button>span{margin-top:-8px}.t04-scroll-cue-intro{margin-top:-4px}}@media (max-width:360px),(max-height:640px){.t04-intro{padding-top:14px;padding-bottom:18px}.t04-brand>span:first-child{width:28px;height:28px}.t04-address{margin-top:4px}.t04-intro-copy>p:last-child{font-size:.9rem;line-height:1.58}.t04-passage-copy{border-radius:20px;padding:16px 14px}.t04-passage h2{font-size:clamp(1.44rem,7.4vw,2rem)}.t04-passage-copy>p:not(.t04-eyebrow,.t04-object-label){font-size:.9rem;line-height:1.6}.t04-box-button img{width:min(72vw,320px)}.t04-box-button>span{min-height:44px;margin-top:-8px}.t04-note-unfold-wrap{min-height:250px}.t04-note-sheet{bottom:54px}.t04-scroll-cue{font-size:.86rem}.t04-scroll-cue-scene{bottom:max(16px, env(safe-area-inset-bottom))}}@media (prefers-reduced-motion:reduce){.t-04,.t-04 *,.t-04 :before,.t-04 :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation:none!important}.t04-passage{opacity:1!important;min-height:auto!important;transform:none!important}.t04-scene-slot+.t04-scene-slot{margin-top:0}.t04-scene-frame{min-height:auto;padding-block:clamp(64px,12vh,110px);position:relative;opacity:1!important;filter:none!important;transform:none!important}.t04-brand,.t04-address,.t04-intro-copy,.t04-box-button,.t04-passage-copy,.t04-release-stage,.t04-light-art,.t04-note-unfold-wrap,.t04-note-folded,.t04-note-paper,.t04-ending-light,.t04-scroll-cue-scene,.t04-sunrise{transform:none!important}.t04-branch,.t04-thread,.t04-petal{translate:none!important}.t04-thread,.t04-note-sheet{display:none}}
.t-05{--t05-progress:0;--t05-drift-slow:0px;--t05-drift-fast:0px;--t05-intro-y:0px;--t05-ink:var(--ink);--t05-muted:var(--muted);--t05-red:var(--accent);--t05-red-deep:color-mix(in srgb, var(--accent) 78%, black);--t05-gold:var(--glow-edge);--t05-cream:var(--card);--t05-paper:var(--surface);--t05-line:var(--line);min-height:100svh;color:var(--t05-ink);background:var(--stage-bg);isolation:isolate;letter-spacing:0;position:relative;overflow-x:clip}.t-05:before{z-index:-2;content:"";pointer-events:none;background:radial-gradient(circle at 78% 20%, color-mix(in srgb, var(--t05-gold) 16%, transparent), transparent 22%), var(--shade-bg);opacity:calc(.7 + var(--t05-progress) * .22);position:fixed;inset:0}.t-05 button,.t-05 a{font:inherit;letter-spacing:0}.t05-atmosphere{z-index:-1;pointer-events:none;position:fixed;inset:0;overflow:hidden}.t05-red-band{background:linear-gradient(180deg, #ffffff47, transparent 18%), linear-gradient(100deg, var(--t05-red-deep) 0%, var(--t05-red) 45%, color-mix(in srgb, var(--t05-red) 84%, white) 100%);height:31vh;box-shadow:0 -26px 70px color-mix(in srgb, var(--t05-red-deep) 14%, transparent);transform:translate3d(0, var(--t05-drift-slow), 0);border-radius:48% 48% 0 0/26% 26% 0 0;position:absolute;bottom:-12vh;left:-8vw;right:-10vw}.t05-paper-panel{aspect-ratio:.78;background:linear-gradient(180deg, #fffffff0, #fffaf1d1), linear-gradient(90deg, transparent 0 82%, color-mix(in srgb, var(--t05-red) 12%, transparent) 82% 100%);border:1px solid color-mix(in srgb, var(--t05-gold) 18%, transparent);opacity:.76;border-radius:12px;width:clamp(170px,18vw,250px);position:absolute;box-shadow:0 24px 54px #40261f14}.t05-paper-left{transform:rotate(-8deg) translate3d(0, var(--t05-drift-fast), 0);top:12vh;left:clamp(-86px,-4vw,-34px)}.t05-paper-right{transform:rotate(9deg) translate3d(0, var(--t05-drift-slow), 0);top:18vh;right:clamp(-96px,-5vw,-40px)}.t05-paper-panel:before{content:"";border-top:2px solid var(--t05-line);border-bottom:2px solid var(--t05-line);background:linear-gradient(15deg, transparent 40%, var(--t05-line) 41% 42%, transparent 43%), linear-gradient(-11deg, transparent 35%, var(--t05-line) 36% 37%, transparent 38%);height:40%;position:absolute;inset:22% 13% auto}.t05-paper-panel:after{content:"";background:color-mix(in srgb, var(--t05-red) 92%, transparent);border-radius:999px;width:46%;height:14%;position:absolute;bottom:18%;right:13%}.t05-sketch{border-bottom:2px solid var(--t05-line);opacity:.68;width:clamp(160px,22vw,340px);height:clamp(96px,14vw,190px);transform:translate3d(0, var(--t05-drift-slow), 0);position:absolute}.t05-sketch:before,.t05-sketch:after{content:"";border:2px solid var(--t05-line);position:absolute}.t05-sketch:before{border-bottom:0;border-right:0;width:56%;height:34%;bottom:16%;left:6%;transform:skew(-28deg)}.t05-sketch:after{border-bottom:0;border-radius:999px 999px 0 0;width:44px;height:26px;bottom:24%;right:9%}.t05-sketch-one{bottom:19vh;left:8vw}.t05-sketch-two{top:11vh;right:8vw;scale:.78}.t05-potato{aspect-ratio:1.32;opacity:.76;background:radial-gradient(circle at 31% 24%,#ffffff7a,#0000 20%),linear-gradient(145deg,#e4ad54,#b77724);border-radius:48% 44% 52% 42%;width:clamp(38px,4vw,66px);position:absolute;box-shadow:0 18px 26px #5f2f151f}.t05-potato-a{transform:rotate(-18deg) translate3d(0, var(--t05-drift-fast), 0);top:26vh;left:17vw}.t05-potato-b{transform:rotate(12deg) translate3d(0, var(--t05-drift-slow), 0);bottom:22vh;right:19vw}.t05-star{aspect-ratio:1;clip-path:polygon(50% 0%,61% 34%,98% 35%,68% 56%,79% 91%,50% 70%,21% 91%,32% 56%,2% 35%,39% 34%);filter:drop-shadow(0 10px 15px #84541b1f);background:linear-gradient(145deg,#ffda86,#b9802d);width:clamp(18px,2vw,30px);animation:5.4s ease-in-out infinite t05-soft-float;position:absolute}.t05-star-one{top:17%;left:28%}.t05-star-two{animation-delay:-1.8s;top:31%;right:27%;scale:.74}.t05-star-three{animation-delay:-3s;bottom:15%;left:51%;scale:.62}.t05-note{color:color-mix(in srgb, var(--t05-red-deep) 52%, transparent);text-transform:uppercase;transform:translate3d(0, var(--t05-drift-fast), 0);margin:0;font-size:clamp(.8rem,1.25vw,1rem);font-weight:800;line-height:1.45;position:absolute}.t05-note-one{top:28vh;left:clamp(28px,6vw,94px);rotate:-7deg}.t05-note-two{bottom:30vh;right:clamp(24px,6vw,92px);rotate:7deg}.t05-intro{width:min(100%,520px);min-height:100svh;padding:max(18px, env(safe-area-inset-top)) 18px max(24px, env(safe-area-inset-bottom));text-align:center;grid-template-rows:auto 1fr auto;place-items:center;gap:clamp(14px,3svh,26px);margin:0 auto;display:grid;position:relative}.t05-brand{color:var(--t05-red);transform:translate3d(0, var(--t05-intro-y), 0);justify-self:start;align-items:center;gap:8px;margin:0;display:flex}.t05-brand>span{color:#fff;background:linear-gradient(145deg, var(--t05-red), var(--t05-red-deep));border-radius:9px;place-items:center;width:28px;height:28px;font-size:.8rem;display:grid}.t05-brand b{font-family:var(--font-serif), serif;font-size:.95rem}.t05-eyebrow{color:var(--t05-red);letter-spacing:.16em;text-transform:uppercase;margin:0 0 12px;font-size:.78rem;font-weight:900}.t05-intro h1,.t05-passage h2{color:var(--t05-ink);font-family:var(--font-serif), serif;letter-spacing:0;text-wrap:balance;margin:0;font-weight:800}.t05-passage-copy>p:not(.t05-eyebrow){color:var(--t05-muted);text-wrap:balance;font-size:clamp(1rem,2.2vw,1.18rem);font-weight:650;line-height:1.8}.t05-package{width:min(100%,420px);transform:translate3d(0, var(--t05-intro-y), 0);place-items:center;padding-top:12px;display:grid;position:relative}.t05-package-body{border:1px solid color-mix(in srgb, var(--t05-gold) 22%, transparent);background:var(--card-tint), var(--t05-paper);width:100%;box-shadow:0 14px 0 var(--t05-red-deep), 0 34px 60px #40261f24;border-radius:22px;justify-items:center;display:grid;position:relative;overflow:hidden}.t05-package-seal{aspect-ratio:1;color:#fff;background:var(--t05-red);border-radius:50%;place-items:center;width:40px;font-size:.95rem;display:grid;position:absolute;top:16px;left:16px}.t05-package-to{color:var(--t05-ink);margin:clamp(26px,5svh,40px) 56px 0;font-size:.95rem;font-weight:700}.t05-intro h1{color:var(--t05-red);font-family:var(--font-sans-thai), sans-serif;margin:6px 22px 0;font-size:clamp(2rem,10vw,2.9rem);font-weight:800;line-height:1.25}.t05-package-copy{color:var(--t05-muted);text-wrap:pretty;margin:10px 26px 0;font-size:.95rem;font-weight:600;line-height:1.7}.t05-package-scene{place-items:end center;width:100%;height:clamp(118px,19svh,150px);margin-top:6px;display:grid;position:relative}.t05-package-lineart{width:100%;height:auto;stroke:color-mix(in srgb, var(--t05-gold) 62%, transparent);stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;position:absolute;inset:auto 0 0}.t05-package-scene img{z-index:1;aspect-ratio:1;filter:drop-shadow(0 16px 18px #40261f2e);border-radius:0;width:clamp(104px,30vw,136px);height:auto;margin-bottom:-14px;transition:transform .68s cubic-bezier(.22,1,.36,1);position:relative}.t05-package-band{color:#fff;background:linear-gradient(180deg, var(--t05-red), var(--t05-red-deep));justify-items:center;gap:2px;width:100%;padding:20px 22px 22px;display:grid}.t05-package-label{color:color-mix(in srgb, var(--t05-gold) 45%, white);font-family:var(--font-hand), cursive;margin:0;font-size:1.3rem;font-weight:700;line-height:1.6}.t05-package-from{color:#ffffffdb;letter-spacing:.08em;margin:0;font-size:.8rem;font-weight:700}.t05-package-cta{width:min(100%,300px);min-height:48px;color:var(--t05-red-deep);background:var(--t05-cream);cursor:pointer;font:inherit;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:14px;padding:10px 22px;font-weight:900;transition:transform .22s,box-shadow .22s;display:inline-flex;box-shadow:0 10px 22px #00000029}.t05-package-cta:not(:disabled):hover,.t05-package-cta:focus-visible{transform:translateY(-2px);box-shadow:0 14px 28px #0003}.t05-package-cta:focus-visible{outline:3px solid color-mix(in srgb, var(--t05-cream) 70%, transparent);outline-offset:3px}.t05-package-cta:disabled{cursor:default;opacity:.86}.t05-package-lid{z-index:3;background:linear-gradient(90deg, var(--t05-red-deep), color-mix(in srgb, var(--t05-red) 86%, white), var(--t05-red-deep));width:72%;height:22px;box-shadow:0 10px 20px color-mix(in srgb, var(--t05-red-deep) 16%, transparent);border-radius:14px 14px 4px 4px;transition:transform .76s cubic-bezier(.22,1,.36,1),opacity .42s;position:absolute;top:0}.t05-package[data-opening] .t05-package-lid,.t05-package[data-opened] .t05-package-lid{opacity:.8;transform:translate(-16px,-22px)rotate(-8deg)}.t05-package[data-opening] .t05-package-scene img,.t05-package[data-opened] .t05-package-scene img{transform:translateY(-14px)scale(1.06)}.t05-package[data-opening] .t05-package-body{animation:1.08s cubic-bezier(.22,1,.36,1) both t05-package-open}.t-05:not([data-opened]) .t05-red-band,.t-05:not([data-opened]) .t05-potato{opacity:0}.t05-red-band,.t05-potato{transition:opacity .6s}.t05-scroll-cue{color:#3f2630b8;text-align:center;text-wrap:balance;opacity:0;place-items:center;gap:8px;margin:0;font-size:.92rem;font-weight:700;line-height:1.6;animation:.52s .52s forwards t05-cue-in;display:inline-grid}.t05-scroll-cue span:last-child{border-right:2px solid color-mix(in srgb, var(--t05-red) 68%, transparent);border-bottom:2px solid color-mix(in srgb, var(--t05-red) 68%, transparent);width:10px;height:10px;animation:1.35s ease-in-out infinite t05-arrow;transform:rotate(45deg)}.t05-story{perspective:1200px;width:100%;position:relative}.t05-story[hidden]{display:none}.t05-scene-slot{position:relative}.t05-scene-slot+.t05-scene-slot{margin-top:-25svh}.t05-passage{--scene-opacity:0;--scene-y:92px;--scene-scale:.78;--scene-tilt:3.6deg;--scene-art-y:0px;--scene-art-scale:1;perspective:1200px;text-align:center;width:min(100%,820px);min-height:142svh;margin:0 auto;padding-inline:clamp(20px,5vw,66px);position:relative}.t05-scene-frame{width:100%;min-height:100svh;opacity:var(--scene-opacity);transform:perspective(1200px) translate3d(0, var(--scene-y), 0) rotateX(var(--scene-tilt)) scale(var(--scene-scale));transform-origin:50% 52%;transform-style:preserve-3d;backface-visibility:hidden;align-content:center;place-items:center;padding-block:clamp(50px,8vh,90px);display:grid;position:sticky;top:0}.t05-passage[data-t05-active]>.t05-scene-frame,.t05-passage[data-t05-active] .t05-hero-object,.t05-passage[data-t05-active] .t05-wins,.t05-passage[data-t05-active] .t05-keep-card,.t05-passage[data-t05-active] .t05-letter-wrap{will-change:transform}.t05-passage-copy{box-sizing:border-box;border:1px solid color-mix(in srgb, var(--t05-gold) 22%, transparent);background:radial-gradient(circle at 90% 10%, color-mix(in srgb, var(--t05-gold) 12%, transparent), transparent 22%), linear-gradient(180deg, #ffffffe6, #fffaf1bd);width:min(100%,610px);box-shadow:0 14px 0 color-mix(in srgb, var(--t05-red) 8%, transparent), 0 28px 58px #40261f1a;border-radius:20px;padding:clamp(18px,4vw,34px);position:relative;transform:translateZ(18px)}.t05-passage-copy p,.t05-win p{text-wrap:pretty}.t05-passage h2{color:var(--t05-red-deep);font-size:clamp(1.95rem,6vw,3.7rem);line-height:1.25}.t05-signature{color:var(--t05-red);font-family:var(--font-serif), serif;margin-top:18px;font-size:1.06rem;font-weight:700;display:block}.t05-wins{width:min(100%,660px);transform:translate3d(0, var(--scene-art-y), 34px) scale(var(--scene-art-scale));gap:12px;margin-bottom:clamp(18px,4vh,34px);display:grid}.t05-win{border:1px solid color-mix(in srgb, var(--t05-gold) 23%, transparent);text-align:left;background:#fffdf7d6;border-radius:16px;grid-template-columns:auto 1fr;gap:4px 12px;padding:14px 16px;display:grid;box-shadow:0 16px 34px #40261f14}.t05-win span{color:#fff;background:linear-gradient(145deg, var(--t05-red), var(--t05-red-deep));border-radius:50%;grid-row:span 2;place-items:center;width:42px;height:42px;font-size:.82rem;font-weight:900;display:grid}.t05-win[data-has-media]{grid-template-columns:auto 1fr 56px}.t05-win .t05-win-icon{aspect-ratio:1;border-radius:0;grid-area:1/3/span 2;align-self:center;width:56px}.t05-win b{color:var(--t05-red-deep);font-size:1.02rem}.t05-win p{color:var(--t05-muted);margin:0;font-size:.96rem;line-height:1.65}.t05-hero-object,.t05-ending-object{width:min(78vw,380px);transform:translate3d(0, var(--scene-art-y), 42px) scale(var(--scene-art-scale));margin:0 0 clamp(12px,3vh,24px);position:relative}.t05-hero-object:before,.t05-ending-object:before{z-index:0;content:"";background:radial-gradient(circle, color-mix(in srgb, var(--t05-gold) 24%, transparent), color-mix(in srgb, var(--t05-red) 8%, transparent), transparent 68%);filter:blur(3px);border-radius:50%;position:absolute;inset:17% 12% 2%}.t05-hero-object img,.t05-ending-object img{aspect-ratio:1;z-index:1;filter:saturate(1.08)drop-shadow(0 11px #ffffff94)drop-shadow(0 30px 32px #40261f24);width:100%;height:auto;position:relative}.t05-keep-card{border:1px solid color-mix(in srgb, var(--t05-gold) 24%, transparent);background:linear-gradient(180deg, #ffffffeb, #fffaf1c7), var(--t05-paper);width:min(100%,560px);transform:translate3d(0, var(--scene-art-y), 34px) scale(var(--scene-art-scale));border-radius:18px;margin-bottom:clamp(16px,3vh,28px);padding:clamp(18px,5vw,34px);box-shadow:0 24px 56px #40261f1a}.t05-keep-card p{color:var(--t05-red-deep);font-family:var(--font-serif), serif;margin:0;font-size:clamp(1.5rem,5vw,2.5rem);font-weight:800;line-height:1.35}.t05-keep-card>span{color:color-mix(in srgb, var(--t05-gold) 45%, var(--t05-ink));letter-spacing:.08em;text-transform:uppercase;margin-top:12px;font-size:.92rem;font-weight:850;display:block}.t05-memory-strip{width:min(100%,660px);transform:translate3d(0, var(--scene-art-y), 30px) scale(var(--scene-art-scale));flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:20px;display:flex}.t05-memory-strip span{color:var(--t05-ink);border:1px solid color-mix(in srgb, var(--t05-gold) 20%, transparent);background:#ffffffb8;border-radius:999px;align-items:center;gap:6px;padding:6px 12px 6px 8px;font-size:.86rem;font-weight:750;display:inline-flex}.t05-memory-strip .gift-icon{aspect-ratio:1;border-radius:0;width:28px}.t05-letter-passage{min-height:162svh}.t05-letter-wrap{perspective:1200px;width:min(90vw,520px);min-height:410px;transform:translate3d(0, var(--scene-art-y), 42px) scale(var(--scene-art-scale));place-items:center;margin-bottom:clamp(18px,4vh,30px);display:grid;position:relative}.t05-folded-note{z-index:4;color:var(--t05-red);cursor:pointer;transform-style:preserve-3d;background:0 0;border:0;place-items:center;padding:0;transition:opacity .52s,transform .52s;display:grid;position:relative}.t05-folded-note img{aspect-ratio:1;filter:saturate(1.02)drop-shadow(0 10px #ffffff80)drop-shadow(0 24px 28px #40261f24);width:min(76vw,260px);height:auto}.t05-folded-note span:last-child{color:#fff;background:var(--t05-red);box-shadow:0 12px 24px color-mix(in srgb, var(--t05-red-deep) 18%, transparent);border-radius:999px;margin-top:-6px;padding:9px 16px;font-size:.88rem;font-weight:850}.t05-note-flap{z-index:-1;transform-origin:50% 100%;background:linear-gradient(160deg,#ffffffdb,#fff6e1b3);border-radius:12px;width:160px;height:96px;position:absolute;top:36px;transform:rotateX(0)}.t05-letter-paper{z-index:2;border:1px solid color-mix(in srgb, var(--t05-gold) 24%, transparent);background:linear-gradient(90deg, transparent 0 28px, color-mix(in srgb, var(--t05-red) 8%, transparent) 29px, transparent 30px), linear-gradient(180deg, #fffffff5, #fffaf1e6);opacity:0;transform-origin:50% 100%;pointer-events:none;border-radius:18px;align-content:center;width:min(88vw,440px);min-height:330px;padding:clamp(22px,5vw,38px);display:grid;position:absolute;transform:translate3d(0,58px,-80px)rotateX(72deg)scale(.74);box-shadow:0 30px 70px #40261f29}.t05-letter-paper p{color:var(--t05-ink);font-family:var(--font-serif), serif;text-wrap:balance;margin:0;font-size:clamp(1.05rem,3.2vw,1.42rem);font-weight:700;line-height:1.75}.t05-letter-paper p+p{margin-top:8px}.t05-letter-passage[data-letter-opened] .t05-folded-note{opacity:0;pointer-events:none;transform:translate3d(0,-44px,80px)rotateX(-18deg)scale(.82)}.t05-letter-passage[data-letter-opened] .t05-note-flap{transform:rotateX(-120deg)}.t05-letter-passage[data-letter-opened] .t05-letter-paper{opacity:1;transition:opacity .42s .12s,transform .9s cubic-bezier(.22,1,.36,1) .12s;transform:translateZ(36px)rotateX(0)scale(1)}.t05-ending{min-height:136svh}.t05-ending-object{width:min(54vw,180px)}.t05-restart{min-height:48px;color:var(--button-ink);background:var(--button-bg);box-shadow:0 16px 32px color-mix(in srgb, var(--t05-red-deep) 20%, transparent);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;margin-top:22px;padding:10px 24px;font-weight:900;display:inline-flex}.t05-gift-back{padding:0 18px max(50px, env(safe-area-inset-bottom));place-items:center;display:grid}@keyframes t05-package-open{0%{transform:translateY(0)scale(1)}44%{transform:translateY(-8px)rotate(-1deg)scale(1.025)}to{transform:translateY(-4px)rotate(0)scale(1)}}@keyframes t05-cue-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes t05-arrow{0%,to{opacity:.35;translate:0 -2px}50%{opacity:1;translate:0 4px}}@keyframes t05-soft-float{0%,to{transform:translate(0,0)rotate(0)}50%{transform:translateY(-10px)rotate(8deg)}}@media (max-width:760px){.t05-paper-panel,.t05-note{display:none}.t05-red-band{height:23vh;bottom:-10vh}.t05-sketch-one{opacity:.4;bottom:13vh;left:-20vw}.t05-sketch-two{opacity:.36;top:9vh;right:-28vw}.t05-potato-a{top:24vh;left:8vw}.t05-potato-b{bottom:15vh;right:8vw}.t05-scene-slot+.t05-scene-slot{margin-top:-18svh}.t05-passage{min-height:136svh;padding-inline:18px}.t05-scene-frame{padding-block:max(36px, env(safe-area-inset-top)) max(34px, env(safe-area-inset-bottom))}.t05-passage-copy{border-radius:17px;padding:18px}.t05-passage h2{font-size:clamp(1.75rem,10vw,2.75rem)}.t05-wins{gap:9px}.t05-win{grid-template-columns:38px 1fr;padding:12px}.t05-win[data-has-media]{grid-template-columns:38px 1fr 44px}.t05-win .t05-win-icon{width:44px}.t05-win span{width:36px;height:36px}.t05-hero-object{width:min(72vw,310px)}.t05-letter-wrap{min-height:370px}.t05-letter-paper{min-height:310px}}@media (prefers-reduced-motion:reduce){.t-05{--t05-drift-slow:0px;--t05-drift-fast:0px;--t05-intro-y:0px}.t05-star,.t05-scroll-cue span:last-child{animation:none}.t05-passage{min-height:auto;padding-block:48px}.t05-scene-slot+.t05-scene-slot{margin-top:0}.t05-scene-frame{opacity:1;min-height:auto;position:relative;transform:none}}
.t-06{--t06-petal:var(--glow-fill);--t06-petal-deep:color-mix(in srgb, var(--glow-fill) 70%, var(--accent));--t06-alt:var(--glow-edge);--t06-alt-deep:color-mix(in oklab, var(--glow-edge) 78%, black);--t06-white:color-mix(in srgb, var(--card) 94%, var(--glow-edge));--t06-white-edge:color-mix(in srgb, var(--glow-edge) 26%, #bdb5cf);--t06-white-line:color-mix(in srgb, var(--ink) 32%, transparent);--t06-center:color-mix(in srgb, var(--accent) 14%, #fff4d8);--t06-center-deep:color-mix(in oklab, var(--ink) 62%, var(--accent));--t06-stem:#6a9f5c;--t06-pearl:radial-gradient(circle at 35% 35%, #fff 0 30%, #ebe7f2 62%, transparent 66%);--t06-meadow:min(20svh, 170px);min-height:100svh;color:var(--ink);background:var(--stage-bg);isolation:isolate;position:relative;overflow-x:clip}.t-06 button{font:inherit}.t06-field{z-index:0;pointer-events:none;width:100%;height:100%;position:fixed;inset:0}.t06-stage{z-index:1;min-height:100svh;position:relative}.t06-stage[hidden],.t06-story[hidden]{display:none}.t06-sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.t06-hand{color:var(--accent);font-family:var(--font-hand), cursive;margin:0;font-size:1.3rem;font-weight:700;line-height:1.6}.t06-lede{color:var(--muted);text-wrap:pretty;margin:0;font-size:1rem;font-weight:500;line-height:1.75}.t06-pearls{background:var(--t06-pearl) 0 50% / 12px 10px repeat-x;opacity:.95;filter:drop-shadow(0 1px 1px #5046782e);width:min(180px,60%);height:10px;margin:0 auto;display:block}.t06-button{min-height:48px;color:var(--button-ink);background:var(--button-bg);box-shadow:0 14px 28px color-mix(in srgb, var(--accent) 24%, transparent);cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:10px 26px;font-weight:700;transition:transform .22s,box-shadow .22s;display:inline-flex;position:relative}.t06-button:hover,.t06-button:focus-visible{transform:translateY(-2px)}.t06-button:focus-visible,.t06-bouquet:focus-visible,.t06-skip:focus-visible{outline:3px solid color-mix(in srgb, var(--glow-edge) 80%, white);outline-offset:4px}.t06-intro{width:min(100%,520px);min-height:100svh;padding:max(16px, env(safe-area-inset-top)) 16px max(20px, env(safe-area-inset-bottom));text-align:center;grid-template-rows:auto 1fr auto 1fr;place-items:center;gap:10px;margin:0 auto;transition:opacity .52s;display:grid;position:relative}.t06-intro-card{z-index:1;border:1px solid var(--line);background:var(--card-tint), var(--surface);width:100%;box-shadow:0 1px 0 #ffffffe6 inset, 0 30px 70px color-mix(in srgb, var(--accent) 14%, transparent);border-radius:34px;grid-row:3;justify-items:center;gap:6px;padding:34px clamp(16px,5vw,26px) 18px;display:grid;position:relative}.t06-bow{pointer-events:none;width:82px;height:auto;fill:var(--t06-petal);stroke:var(--t06-petal-deep);stroke-width:1.6px;stroke-linejoin:round;filter:drop-shadow(0 4px 5px color-mix(in srgb, var(--accent) 22%, transparent));position:absolute;top:-30px;left:50%;overflow:visible;transform:translate(-50%)}.t06-spray{pointer-events:none;width:clamp(88px,25vw,116px);height:clamp(88px,25vw,116px);position:absolute}.t06-spray[data-corner=start]{top:-20px;left:-18px;transform:rotate(-14deg)}.t06-spray[data-corner=end]{bottom:70px;right:-18px;transform:rotate(160deg)scaleX(-1)}.t06-spray[data-corner=bottom-end]{bottom:-22px;right:-18px;transform:rotate(160deg)scaleX(-1)}.t06-eyebrow{color:var(--accent);letter-spacing:.34em;text-transform:uppercase;margin:0;padding-left:.34em;font-size:.8rem;font-weight:700;line-height:1.6}.t06-rule{justify-self:center;align-items:center;gap:8px;width:min(150px,50%);margin:0 auto 2px;display:flex}.t06-rule:before,.t06-rule:after{background:color-mix(in srgb, var(--accent) 34%, transparent);content:"";flex:1;height:1px}.t06-rule svg,.t06-wave>svg:last-child{width:10px;height:10px;fill:var(--t06-petal-deep)}.t06-doodle{vertical-align:.42em;fill:none;width:.62em;height:.62em;stroke:var(--t06-petal-deep);stroke-width:1.8px;stroke-linecap:round;margin-inline-start:.18em;display:inline-block;transform:rotate(12deg)}.t06-wave{place-items:center;width:120px;height:12px;margin:4px auto 0;display:grid;position:relative}.t06-wave>svg:first-child{fill:none;width:100%;height:100%;stroke:color-mix(in srgb, var(--t06-petal-deep) 70%, transparent);stroke-width:1.4px;stroke-linecap:round;position:absolute;inset:0}.t06-hero{place-items:center;width:100%;margin-top:2px;display:grid;position:relative}.t06-hero:after{z-index:-1;background:radial-gradient(closest-side, color-mix(in srgb, var(--accent) 20%, transparent), transparent);content:"";border-radius:50%;width:72%;height:16%;position:absolute;bottom:2%;left:50%;transform:translate(-50%)}.t06-cta{gap:10px;width:min(100%,300px);min-height:54px;margin-top:-8px;font-size:1.05rem;position:relative;overflow:hidden}.t06-cta:after{content:"";pointer-events:none;background:linear-gradient(110deg,#0000 30%,#ffffff6b 50%,#0000 70%);animation:1.3s 1.1s both t06-sheen;position:absolute;inset:0;transform:translate(-120%)}.t06-flower-mark,.t06-arrow{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;flex:none;width:20px;height:20px}.t06-air{pointer-events:none;position:absolute;inset:0;overflow:hidden}.t06-petal{border:1px solid color-mix(in srgb, var(--t06-petal-deep) 40%, transparent);background:linear-gradient(135deg, color-mix(in srgb, var(--t06-petal) 60%, white), var(--t06-petal));opacity:.85;border-radius:80% 10%;width:16px;height:11px;animation:9s ease-in-out infinite t06-drift;position:absolute}.t06-petal:first-child{animation-delay:-1s;top:13%;left:6%}.t06-petal:nth-child(2){width:12px;height:8px;animation-delay:-4s;top:24%;right:7%}.t06-petal:nth-child(3){animation-delay:-6s;top:47%;left:3%}.t06-petal:nth-child(4){width:18px;height:12px;animation-delay:-2s;top:58%;right:4%}.t06-petal:nth-child(5){width:12px;height:8px;animation-delay:-7s;top:82%;left:9%}.t06-petal:nth-child(6){animation-delay:-3s;top:90%;right:14%}.t06-petal:nth-child(7){width:10px;height:7px;animation-delay:-5s;top:8%;right:30%}.t06-spark{background:color-mix(in srgb, var(--t06-petal-deep) 60%, white);clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);width:12px;height:12px;animation:3.6s ease-in-out infinite t06-twinkle;position:absolute}.t06-spark:nth-of-type(8){animation-delay:-.4s;top:18%;left:16%}.t06-spark:nth-of-type(9){width:9px;height:9px;animation-delay:-1.6s;top:36%;right:4%}.t06-spark:nth-of-type(10){animation-delay:-2.6s;top:70%;left:4%}.t06-spark:nth-of-type(11){width:8px;height:8px;animation-delay:-1s;top:76%;right:8%}.t06-spark:nth-of-type(12){width:8px;height:8px;animation-delay:-3s;top:5%;left:54%}.t-06:not([data-phase=intro]) .t06-petal,.t-06:not([data-phase=intro]) .t06-spark,.t-06:not([data-phase=intro]) .t06-cta:after{animation:none}@keyframes t06-drift{0%,to{transform:translate(0)rotate(-12deg)}50%{transform:translate(10px,16px)rotate(26deg)}}@keyframes t06-twinkle{0%,to{opacity:.2;transform:scale(.6)}50%{opacity:.95;transform:scale(1)}}@media (max-height:700px){.t06-wave{display:none}.t06-intro-card{padding-top:28px}}@keyframes t06-sheen{to{transform:translate(120%)}}.t-06:not([data-phase=intro]) .t06-intro{opacity:0;transition-duration:.22s}.t06-brand{color:var(--accent);justify-self:start;align-items:center;gap:8px;margin:0;display:flex}.t06-brand>span{color:#fff;background:var(--button-bg);border-radius:9px;place-items:center;width:28px;height:28px;font-size:.8rem;display:grid}.t06-brand b{font-family:var(--font-serif-thai), serif;font-size:.95rem}.t06-intro-copy{gap:4px;display:grid;position:relative}.t06-to{color:var(--muted);margin:0;font-size:.92rem;font-weight:600}.t06-intro h1,.t06-card h2,.t06-float-title,.t06-name-text{color:var(--ink);font-family:var(--font-serif-thai), serif;text-wrap:balance;margin:0;font-weight:700;line-height:1.3}.t06-intro h1{font-size:clamp(1.8rem,8vw,2.5rem)}.t06-bouquet{cursor:pointer;transform-origin:50% 90%;background:radial-gradient(circle closest-side,#fffffff2,#fff0 100%);border:0;border-radius:50%;place-items:center;width:min(72vw,290px,36svh);padding:0;transition:transform .52s cubic-bezier(.22,1,.36,1),opacity .42s;animation:5.6s ease-in-out infinite t06-sway;display:grid}.t06-bouquet img{aspect-ratio:512/466;object-fit:contain;filter:drop-shadow(0 22px 26px #78507833);border-radius:0;width:100%;height:auto}.t06-bouquet-composer{aspect-ratio:1;width:min(100%,300px);display:block;position:relative;overflow:visible}.t06-bouquet[data-composed]{background:0 0;border-radius:0;width:min(70vw,300px);animation:none}.t06-stem{z-index:var(--z);pointer-events:none;transform-origin:var(--bx) var(--by);animation:t06-stem-sway var(--stem-period) ease-in-out var(--stem-delay) infinite;position:absolute;inset:0}.t06-stem-line{fill:none;width:100%;height:100%;stroke:var(--t06-stem);stroke-width:2.4px;stroke-linecap:round;vector-effect:non-scaling-stroke;position:absolute;inset:0;overflow:visible}.t06-stem-line path{vector-effect:non-scaling-stroke}.t06-bouquet-part{z-index:var(--z);left:var(--x);top:var(--y);width:var(--w);aspect-ratio:1;pointer-events:none;transform:translate(-50%, -50%) rotate(var(--r)) scaleX(var(--mirror));transform-origin:var(--origin);animation:t06-part-sway var(--period,5.8s) ease-in-out infinite;animation-delay:var(--delay);place-items:center;display:grid;position:absolute}.t06-bouquet-part[data-layer=shadow],.t06-bouquet-part[data-layer=wrap-back],.t06-bouquet-part[data-layer=wrap-front]{animation:none}.t06-bouquet-part img,.t06-part-placeholder{width:100%;height:100%;display:block}.t06-bouquet-part img{object-fit:contain;transform-origin:var(--origin)}.t06-part-placeholder{transform-origin:var(--origin);position:relative}.t06-bouquet-part[data-placeholder=shadow] .t06-part-placeholder{filter:blur(2px);background:radial-gradient(#6e4f5b33,#6e4f5b0a 58%,#0000 72%);border-radius:50%;height:26%;margin-top:46%}.t06-bouquet-part[data-placeholder=wrap-back] .t06-part-placeholder,.t06-bouquet-part[data-placeholder=wrap-front] .t06-part-placeholder{border-radius:28% 28% 43% 43%/18% 18% 56% 56%;overflow:hidden}.t06-bouquet-part[data-placeholder=wrap-back] .t06-part-placeholder{clip-path:polygon(12% 18%,50% 5%,88% 18%,73% 86%,50% 98%,27% 86%);background:radial-gradient(circle at 42% 24%,#ffffff9e,#0000 16%),linear-gradient(145deg,#ffd2e1f5,#f98babe0);box-shadow:inset 0 6px 12px #ffffff75}.t06-bouquet-part[data-placeholder=wrap-front] .t06-part-placeholder{clip-path:polygon(18% 30%,50% 14%,82% 30%,75% 84%,50% 98%,25% 84%);background:linear-gradient(135deg,#ffffff75,#0000 42%),linear-gradient(145deg,#ffd6e4,#f58eac 72%,#dc7195);box-shadow:inset 0 8px 14px #ffffff6b,0 12px 18px #a45c7c14}.t06-bouquet-part[data-placeholder=leaf-long] .t06-part-placeholder{clip-path:ellipse(22% 48%);background:linear-gradient(135deg,#ffffff6b,#0000 32%),linear-gradient(145deg,#7eb56f,#3d8b58);border-radius:100% 0;box-shadow:inset -6px -9px 10px #145a302e,0 8px 14px #3b744b24}.t06-bouquet-part[data-placeholder=rose] .t06-part-placeholder,.t06-bouquet-part[data-placeholder=rose-tilt] .t06-part-placeholder{background:radial-gradient(circle at 34% 25%,#fffc,#0000 18%),radial-gradient(circle at 50% 52%,#ffadc4 0 18%,#fc8eaa 19% 42%,#ea668d 43% 70%,#cf4f7c 71%);border-radius:50%;box-shadow:inset -8px -12px 14px #a5365d29,0 9px #ffffff6b,0 18px 18px #b1476e29}.t06-bouquet-part[data-placeholder=rose] .t06-part-placeholder:before,.t06-bouquet-part[data-placeholder=rose-tilt] .t06-part-placeholder:before{content:"";border:5px solid #c03d6552;border-color:#c03d6552 #0000 #ffffff4d #c03d6552;border-radius:50%;position:absolute;inset:18%;transform:rotate(-24deg)}.t06-bouquet-part[data-placeholder=rose] .t06-part-placeholder:after,.t06-bouquet-part[data-placeholder=rose-tilt] .t06-part-placeholder:after{content:"";border:4px solid #a3325852;border-left-color:#0000;border-radius:50%;position:absolute;inset:34%;transform:rotate(34deg)}.t06-bouquet-part[data-placeholder=rose-tilt] .t06-part-placeholder{transform:rotateX(18deg)rotate(-7deg)scaleY(.88)}.t06-bouquet-part[data-placeholder=gypsophila] .t06-part-placeholder{background:radial-gradient(circle at 28% 26%,#fff 0 6%,#e9e3ef 7% 10%,#0000 11%),radial-gradient(circle at 50% 18%,#fff 0 5%,#e9e3ef 6% 9%,#0000 10%),radial-gradient(circle at 71% 31%,#fff 0 6%,#e9e3ef 7% 10%,#0000 11%),radial-gradient(circle at 35% 53%,#fff 0 5%,#e9e3ef 6% 9%,#0000 10%),radial-gradient(circle at 64% 58%,#fff 0 6%,#e9e3ef 7% 10%,#0000 11%)}.t06-bouquet-part[data-placeholder=gypsophila] .t06-part-placeholder:before{content:"";border-left:3px solid #598e4e8c;border-radius:50%;position:absolute;inset:22% 28% 9%;transform:rotate(-12deg)}.t06-bouquet-part[data-placeholder=bow] .t06-part-placeholder{filter:drop-shadow(0 10px 12px #aa456929);background:radial-gradient(circle,#e85687 0 13%,#0000 14%),radial-gradient(at 28% 48%,#ff9cb9 0 25%,#e85687 42%,#0000 43%),radial-gradient(at 72% 48%,#ff9cb9 0 25%,#e85687 42%,#0000 43%)}.t06-bouquet-part[data-placeholder=bow-tail-left] .t06-part-placeholder,.t06-bouquet-part[data-placeholder=bow-tail-right] .t06-part-placeholder{clip-path:polygon(30% 0,70% 0,84% 78%,53% 65%,24% 84%);background:linear-gradient(145deg,#ff9fbc,#e65e8d 72%,#c94d7c);border-radius:40% 40% 52% 52%;box-shadow:inset -6px -8px 10px #9b375c29}.t06-bouquet-part[data-placeholder=bow-tail-right] .t06-part-placeholder{transform:scaleX(-1)}.t06-bouquet-composer[data-debug] .t06-bouquet-part:after{content:"";background:#ff315f;border-radius:50%;width:8px;height:8px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.t06-bouquet-composer[data-debug] .t06-bouquet-part[data-pivot=bottom-center]:after{top:100%}.t06-bouquet-composer[data-debug] .t06-bouquet-part[data-pivot=top-center]:after{top:0}.t06-bouquet-composer[data-debug] .t06-bouquet-part{outline:1px dashed #ff315f57}.t-06:not([data-phase=intro]) .t06-bouquet{opacity:0;animation:none;transform:scale(1.34)translateY(-16px)}@keyframes t06-sway{0%,to{transform:rotate(-1.6deg)translateY(0)}50%{transform:rotate(1.6deg)translateY(-6px)}}@keyframes t06-stem-sway{0%,to{transform:rotate(calc(var(--stem-sway) * -1))}50%{transform:rotate(var(--stem-sway))}}@keyframes t06-part-sway{0%,to{transform:translate(-50%, -50%) rotate(calc(var(--r) - var(--sway))) scaleX(var(--mirror))}50%{transform:translate(-50%, -50%) rotate(calc(var(--r) + var(--sway))) scaleX(var(--mirror))}}.t06-skip{z-index:3;top:max(16px, env(safe-area-inset-top));min-height:40px;color:var(--ink);border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:999px;padding:6px 16px;font-size:.9rem;font-weight:600;position:absolute;right:16px}.t06-float-card{z-index:2;text-align:center;background:var(--surface);opacity:0;pointer-events:none;border-radius:24px;gap:10px;width:min(100% - 40px,420px);padding:22px 22px 24px;transition:opacity .48s,transform .48s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-44%);box-shadow:0 24px 60px #50467829}.t06-float-card[data-shown]{opacity:1;transform:translate(-50%,-50%)}.t06-float-title{font-size:clamp(1.35rem,6vw,1.75rem)}.t06-name{z-index:2;padding:20px 20px max(28px, env(safe-area-inset-bottom));text-align:center;grid-template-rows:1fr auto;display:grid;position:absolute;inset:0}.t06-name-text{z-index:1;color:var(--accent);grid-row:1;align-self:center;padding-top:8svh;font-size:clamp(2.2rem,11vw,3.4rem);position:relative}.t06-name-text[data-shape=heart]{align-self:end;padding:0 0 16px;font-size:clamp(1.4rem,6.4vw,2rem)}.t06-frame{z-index:0;pointer-events:none;position:absolute;inset:0;overflow:hidden}.t06-frame-bloom{--size:clamp(210px, 60vmin, 420px);--flip:scale(1, 1);transform:var(--flip);width:var(--size);height:var(--size);animation:t06-bloom-in .9s cubic-bezier(.22, 1, .36, 1) var(--in,0s) both, t06-bloom-sway 7s ease-in-out calc(var(--in,0s) + .9s) infinite;position:absolute}.t06-frame-bloom[data-slot=tl]{top:calc(var(--size) * -.12);left:calc(var(--size) * -.14);--size:clamp(220px, 64vmin, 440px)}.t06-frame-bloom[data-slot=tr]{top:calc(var(--size) * -.16);right:calc(var(--size) * -.16);--flip:scale(-1, 1);--in:.12s;--size:clamp(180px, 50vmin, 360px)}.t06-frame-bloom[data-slot=bl]{bottom:calc(var(--size) * -.14);left:calc(var(--size) * -.16);--flip:scale(1, -1);--in:.22s}.t06-frame-bloom[data-slot=br]{bottom:calc(var(--size) * -.12);right:calc(var(--size) * -.14);--flip:scale(-1, -1);--in:.32s;--size:clamp(220px, 64vmin, 440px)}.t06-frame-bloom[data-slot=left],.t06-frame-bloom[data-slot=right]{--size:clamp(110px, 30vmin, 220px);top:54%}.t06-frame-bloom[data-slot=left]{left:calc(var(--size) * -.42);--in:.42s}.t06-frame-bloom[data-slot=right]{right:calc(var(--size) * -.42);--flip:scale(-1, 1);--in:.5s;top:62%}@keyframes t06-bloom-in{0%{opacity:0;transform:var(--flip) scale(.55) rotate(-8deg)}to{opacity:1;transform:var(--flip) scale(1) rotate(0deg)}}@keyframes t06-bloom-sway{0%,to{transform:var(--flip) rotate(0deg)}50%{transform:var(--flip) rotate(2.4deg)}}.t06-name-foot{z-index:1;background:var(--surface);border-radius:24px;grid-row:2;align-content:start;align-self:end;justify-items:center;gap:14px;width:min(100%,420px);margin:0 auto;padding:18px 20px 20px;animation:.62s cubic-bezier(.22,1,.36,1) both t06-rise;display:grid;position:relative;box-shadow:0 20px 50px #50467824}.t06-story{z-index:1;width:min(100%,560px);padding:max(28px, env(safe-area-inset-top)) 18px 0;gap:28px;margin:0 auto;display:grid;position:relative}.t06-card{text-align:center;border:1px solid var(--line);background:var(--card-tint), var(--surface);border-radius:34px;gap:12px;padding:26px 22px 28px;animation:.72s cubic-bezier(.22,1,.36,1) both t06-rise;display:grid;position:relative;box-shadow:0 24px 60px #5046781f}.t06-card h2{font-size:clamp(1.5rem,6.6vw,2rem)}.t06-letter{margin-bottom:calc(var(--t06-meadow) - 12px);border-radius:200px 200px 34px 34px/150px 150px 34px 34px;padding-top:44px}.t06-letter-body{color:var(--letter-ink);gap:18px;font-size:1.05rem;line-height:1.85;display:grid}.t06-letter-body p{margin:0;display:grid}.t06-from{color:var(--accent);margin:4px 0 0;font-weight:700}.t06-keep-note{color:var(--ink);font-family:var(--font-serif-thai), serif;margin:0;font-size:clamp(1.25rem,5.4vw,1.6rem);font-weight:700;line-height:1.5}.t06-chips{flex-wrap:wrap;justify-content:center;gap:8px;margin:4px 0 0;padding:0;list-style:none;display:flex}.t06-chips li{border:1px solid var(--line);background:var(--card);border-radius:999px;align-items:center;gap:6px;padding:6px 14px 6px 8px;font-size:.9rem;font-weight:600;display:inline-flex}.t06-chips .gift-icon{aspect-ratio:1;border-radius:0;width:28px}.t06-ending{min-height:86svh;padding-bottom:calc(var(--t06-meadow) + 24px);cursor:pointer;align-content:center;gap:14px;display:grid}.t06-ending .t06-card{cursor:auto}.t06-ending-art{width:120px;margin:0 auto}.t06-ending-art img{aspect-ratio:1;border-radius:0}.t06-tap-hint{color:var(--muted);text-align:center;margin:0;font-size:.88rem}.t06-gift-back{padding:0 0 max(50px, env(safe-area-inset-bottom));place-items:center;display:grid}@keyframes t06-rise{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.t06-bouquet-part,.t06-stem,.t06-bouquet,.t06-card,.t06-name-foot,.t06-frame-bloom,.t06-petal,.t06-spark,.t06-cta:after{animation:none}.t06-spark{opacity:.7}.t06-intro,.t06-float-card,.t06-bouquet{transition:none}}
