:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:"Trebuchet MS", system-ui, "Segoe UI", Roboto, sans-serif;font:18px/145% var(--sans);letter-spacing:0;color:#4f4038;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#fffaf3}@media (width<=1024px){:root{font-size:16px}}#root{min-height:100svh}body{margin:0}.worn-backpack,.worn-backpack-contents,.worn-backpack-strap,.worn-backpack-body,.worn-backpack-foreground{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.worn-backpack{isolation:isolate}.worn-backpack-art{left:var(--backpack-x);top:var(--backpack-y);width:var(--backpack-size);height:var(--backpack-size);position:absolute}.worn-backpack-art .path-prop{filter:none;width:100%;height:100%;display:block}.worn-backpack-art svg{width:100%;height:100%;overflow:visible}.worn-backpack-art [data-part=strap]{display:none}.worn-backpack-rear{z-index:0}.worn-backpack-rear [data-part=bag-flap]{display:none}.worn-backpack-contents{z-index:1}.worn-backpack-front{z-index:2;clip-path:inset(54% 0 0)}.worn-backpack-front [data-part=bag-flap],.worn-backpack-front [data-part=bag-opening]{display:none}.worn-backpack-flap{z-index:3}.worn-backpack-flap [data-part=bag-body],.worn-backpack-flap [data-part=bag-opening],.worn-backpack-flap [data-part=handle]{display:none}.worn-backpack-flap [data-part=bag-flap]{transform:rotateX(var(--backpack-flap-angle,0deg));transform-origin:121px 111px}.worn-backpack-body{z-index:4}.worn-backpack[data-front=true]>.worn-backpack-rear{z-index:5}.worn-backpack:is([data-front=true],[data-contents-front=true])>.worn-backpack-contents{z-index:6}.worn-backpack[data-front=true]>.worn-backpack-front{z-index:7}.worn-backpack[data-front=true]>.worn-backpack-flap{z-index:8}.worn-backpack-strap{z-index:9}.collect-story-facing .worn-backpack-strap{opacity:var(--collect-strap-opacity,1)}.worn-backpack-foreground{z-index:10}.worn-backpack[data-worn=false]>:is(.worn-backpack-art,.worn-backpack-strap){visibility:hidden}.collect-item[data-backpack-worn=true]{visibility:hidden!important}.path-backpack-arm{clip-path:ellipse(8% 8% at 69% 73%);position:absolute;inset:0}.path-character[data-reaching=true] .path-backpack-arm{clip-path:ellipse(8% 7% at 63% 63%)}.usagi-locomotion,.usagi-sprite-transform{pointer-events:none;transform-origin:50% 88%;width:100%;height:100%;position:absolute;inset:0}.usagi-locomotion{isolation:isolate}.usagi-locomotion .usagi-sprite-body,.usagi-locomotion .usagi-sprite-foreground{object-fit:contain;width:100%;height:100%;position:absolute;inset:0}.usagi-locomotion,.usagi-locomotion *{transition:none!important;animation:none!important}.handoff-usagi-facing{z-index:1;transform-origin:50% 88%;position:absolute;inset:0}.handoff-cat .character-walk-frame{transform-origin:0 0}.journey-scene .path-character-facing{transform-origin:50% 88%}.journey-scene .path-stage[data-path-phase=observing] .path-items{opacity:0}.journey-scene .path-character[data-locomotion=true]>.path-character-facing,.handoff-usagi[data-locomotion=true]>.handoff-usagi-facing{transform:none}.journey-butterfly{z-index:4;pointer-events:none;will-change:transform;position:absolute;top:0;left:0}.journey-butterfly svg{width:100%;height:auto;display:block}@media (prefers-reduced-motion:reduce){.journey-butterfly{will-change:auto}}.ribbon-performance,.ribbon-facing,.ribbon-gait{transform-origin:50% 88%;position:absolute;inset:0}.ribbon-performance{z-index:1;isolation:isolate}.ribbon-character .ribbon-pose,.ribbon-character .ribbon-walk,.ribbon-contact-hands img{width:100%;height:100%;position:absolute;inset:0}.ribbon-character *,.ribbon-contact-hands *{transition:none!important;animation:none!important}.ribbon-contact-hands{z-index:5;pointer-events:none;position:absolute}.ribbon-facing .worn-backpack-body,.ribbon-facing .worn-backpack-foreground{isolation:isolate}.ribbon-pose{mix-blend-mode:plus-lighter}.ending-backpack-facing{transform-origin:50% 88%;position:absolute;inset:0}.ending-route-marker{width:var(--character-size);visibility:hidden;pointer-events:none;height:0;position:absolute}.path-ending .ending-usagi-pose{transform:none}.ending-foreground-arms{position:absolute;inset:0}.ending-foreground-carry{clip-path:polygon(27% 65%,37% 65%,40% 64%,49% 65%,51% 71%,48% 75%,36% 75%,25% 73%)}.ending-foreground-wave{clip-path:polygon(24% 51%,36% 51%,40% 65%,54% 64%,55% 76%,40% 76%,37% 68%,24% 65%)}.path-ending .farewell-hamster{--walk-delay:var(--hamster-start-ms)}.path-ending[data-phase=departing] .path-landscape :is(.farewell-usagi,.farewell-cat,.farewell-hamster){animation-duration:calc(var(--ending-phase-ms) - var(--walk-delay));animation-delay:var(--walk-delay)}.path-ending[data-phase=packing] .path-character,.path-ending.path-scene[data-phase=packing] :is(.farewell-notes,.farewell-loose-note),.path-ending.path-scene[data-paper-owner=stowed] :is(.farewell-notes,.farewell-loose-note,.farewell-carried-notes){visibility:hidden}.path-ending[data-phase=packing] .farewell-carried-notes{animation:none}.path-ending :is(.farewell-cat,.farewell-hamster,.farewell-usagi) .character-walk{position:absolute;inset:0}.character-walk{transform-origin:50% 88%;pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.character-walk>.character-walk-frame{object-fit:contain;transform-origin:0 0;width:100%;max-width:none;height:100%;animation:none;position:absolute;inset:0}.cat-run-legs,.cat-run-legs>img,.cat-run-head,.cat-run-head>img{width:100%;height:100%;position:absolute;inset:0}.cat-run-head{isolation:isolate}.cat-run-legs>img,.cat-run-head>img{object-fit:contain}.cat-run-head>img{mix-blend-mode:plus-lighter}.fortune-on-path .path-character.fortune-companion{pointer-events:none;transition:none;top:0;left:0;translate:none}.fortune-companion-home{left:calc(var(--end-x) + 8%);top:var(--end-y);visibility:hidden;pointer-events:none;width:0;height:0;position:absolute}.fortune-companion-static,.fortune-companion-travel,.fortune-companion-attention,.fortune-companion-response,.fortune-companion-breath,.fortune-companion-bag,.fortune-companion-image{transform-origin:50% 88%;width:100%;height:100%;position:absolute;inset:0}.fortune-companion-ears{transform-origin:50% 32%}.fortune-companion-image{mix-blend-mode:plus-lighter}.fortune-companion-bag .worn-backpack-art{translate:0 var(--fortune-bag-drop,0%);transform-origin:65% 65%}.birthday-page{color:#4f4038;background:radial-gradient(circle at 22% 20%,#ffd6e673,#0000 28%),radial-gradient(circle at 78% 12%,#b8dff073,#0000 24%),linear-gradient(#fffaf3 0%,#fff4e8 100%);min-height:100svh;position:relative;overflow:hidden}.birthday-page:before{content:"";pointer-events:none;opacity:.28;background-image:radial-gradient(circle,#f1d4bd 1px,#0000 1px),radial-gradient(circle,#f7c8da 1px,#0000 1px);background-position:0 0,16px 18px;background-size:34px 34px;position:absolute;inset:0}.scene-handoff-overlay{z-index:20;pointer-events:auto;place-items:center;display:grid;position:fixed;inset:0}.scene-handoff-overlay[data-phase=idle]{pointer-events:none;display:none}.scene-handoff-overlay[data-phase=covering]{animation:.3s ease-out both scene-handoff-cover}.scene-handoff-overlay[data-phase=revealing]{animation:.26s ease-in both scene-handoff-reveal}.scene-handoff-glow{aspect-ratio:1;background:radial-gradient(circle,#fffdf7fa 0 38%,#ffe985db 54%,#ffd8e6b3 70%,#fffdf700 72%);border-radius:50%;width:180vmax}.music-button{z-index:3;color:#49372f;min-width:58px;min-height:44px;font:700 18px/1 var(--heading);cursor:pointer;background:#fffdf7;border:2px solid #49372f;border-radius:999px;justify-content:center;align-items:center;gap:4px;padding:8px 10px;transition:background .2s,border-color .2s,transform .2s;display:inline-flex;position:absolute;top:24px;right:24px;box-shadow:0 8px #49372f1f}.music-button:hover{background:#ffe6ef}.music-button:active{transform:translateY(1px)}.music-button-on{background:#e4f4fb;border-color:#4f829a}.music-state{min-width:1.2em;font:700 13px/1 var(--sans)}.music-opening-hint{fill:#f7c8da;stroke:#795b4d;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none;transform-origin:74px 12px;width:80px;height:44px;animation:1.8s ease-in-out infinite music-hint-breathe;position:absolute;top:-4px;right:calc(100% + 6px);overflow:visible}@keyframes music-hint-breathe{0%,to{transform:scale(.94)}50%{transform:scale(1.06)}}@media (prefers-reduced-motion:reduce){.music-opening-hint{animation:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.story-stage{z-index:1;box-sizing:border-box;grid-template-rows:minmax(0,1fr);place-items:center;gap:22px;width:min(100%,1040px);min-height:100svh;margin:0 auto;padding:76px 24px 34px;display:grid;position:relative;overflow-x:clip}.story-stage:has(.opening-copy){grid-template-rows:auto minmax(300px,1fr) auto;gap:18px;animation:.46s ease-out both scene-fade-in}.stage-copy{text-align:center;gap:10px;display:grid}.kicker{color:#b76b82;font:700 20px/1 var(--heading);margin:0}.stage-copy h1{color:#49372f;margin:0;font-size:clamp(34px,7vw,72px);line-height:1.02}.opening-copy{gap:12px;width:min(100%,620px)}.opening-copy h1{font-size:clamp(54px,13vw,118px)}.opening-copy .subtitle{justify-self:center;max-width:560px}.subtitle,.scene-line{color:#75655d;margin:0;font-size:clamp(16px,2.4vw,20px)}.character-stage{aspect-ratio:1;place-items:center;width:min(86vw,560px);display:grid;position:relative}.character-stage:before{content:"";background:#fffdf7bd;border:2px dashed #b76b8259;border-radius:50%;position:absolute;inset:12%}.usagi{z-index:2;object-fit:contain;filter:drop-shadow(0 22px 18px #49372f24);width:min(75%,410px);max-height:82%;position:relative}.opening-character-motion{--opening-ease-arrive:cubic-bezier(.2, .8, .24, 1);--opening-ease-settle:cubic-bezier(.28, 1.12, .42, 1);--opening-ease-exit:cubic-bezier(.55, 0, .35, 1);transform-origin:52% 70%;place-items:center;display:grid}.opening-character-motion[data-phase=intro]{animation:opening-character-arrive .26s var(--opening-ease-arrive) both}.opening-character-motion[data-phase=opening]{animation:opening-character-exit .52s var(--opening-ease-exit) both}.opening-character-motion[data-phase=handoff]{opacity:.82;transform:translate(clamp(22px,5vw,56px),clamp(-32px,-5svh,-18px))scale(.982)}.opening-asset-stage{isolation:isolate;width:min(86vw,520px);max-height:min(54svh,520px)}.opening-asset-stage:before{background:radial-gradient(circle at 52% 62%,#ffe98552,#0000 28%),#fffdf7c7;border-color:#4f829a47;inset:11%}.opening-asset-stage .usagi{transform-origin:50% 78%;width:min(68%,340px);transform:translateY(4%)}.opening-character-motion[data-phase=intro] .usagi{animation:opening-usagi-settle-polish .22s var(--opening-ease-settle) 20ms both}.opening-character-motion[data-phase=opening] .usagi{animation:.22s ease-in-out both opening-usagi-anticipation}.opening-asset-stage .prop-gift{z-index:3;transform-origin:50% 70%;width:clamp(82px,17vw,132px);animation:none;bottom:16%;right:13%}.opening-character-motion[data-phase=intro] .prop-gift{animation:.2s cubic-bezier(.25,.9,.3,1) 60ms both opening-gift-follow}.opening-character-motion[data-phase=opening] .prop-gift{animation:opening-gift-exit-lag .3s var(--opening-ease-exit) 50ms both}.opening-asset-stage:after{content:"";z-index:4;opacity:0;pointer-events:none;background:#ffd8e6;border:2px solid #49372f8c;border-radius:999px 999px 10px 10px;width:clamp(54px,10vw,84px);height:clamp(18px,4vw,30px);position:absolute;bottom:33%;right:15%;transform:translateY(12px)rotate(-5deg)}.asset-stage--opening:after{animation:.32s ease-out 80ms forwards opening-ribbon-exit}.opening-asset-stage[data-animation-phase=intro]{animation:.26s linear both opening-intro-foundation}.opening-asset-stage[data-animation-phase=opening]{animation:.52s linear both opening-exit-foundation}.opening-copy[data-phase=intro]{animation:.18s ease-out 70ms both opening-copy-stagger}.opening-action[data-phase=intro]{pointer-events:none;animation:.12s ease-out .135s both opening-action-stagger}.opening-action[data-phase=ready]{opacity:1}.opening-action[data-phase=opening],.opening-action[data-phase=handoff]{opacity:.68}.opening-asset-stage .prop-cake{width:clamp(58px,12vw,90px);bottom:14%;left:10%}.opening-asset-stage .prop-star{top:13%;left:14%}.opening-asset-stage .prop-ribbon{top:11%;right:10%}.prop{z-index:1;width:clamp(54px,12vw,96px);animation:4.8s ease-in-out infinite float;position:absolute}.prop-star{top:12%;left:14%}.prop-ribbon{width:clamp(74px,15vw,128px);animation-delay:-1.3s;top:9%;right:8%}.prop-cake{animation-delay:-2.2s;bottom:12%;left:8%}.prop-gift{animation-delay:-3s;bottom:10%;right:12%}.scene-line{text-align:center;place-items:center;max-width:620px;min-height:2.9em;display:grid}.scene-picker{flex-wrap:wrap;justify-content:center;gap:10px;max-width:720px;display:flex}.scene-picker button{color:#49372f;min-height:42px;font:700 15px/1.2 var(--sans);cursor:pointer;background:#fffdf7db;border:2px solid #49372f38;border-radius:999px;padding:8px 16px;transition:border-color .2s,background .2s,transform .2s}.primary-action{color:#49372f;min-height:48px;font:700 16px/1.2 var(--sans);cursor:pointer;background:#ffe985;border:2px solid #49372f;border-radius:999px;padding:10px 22px;transition:background .2s,transform .2s;box-shadow:0 8px #49372f1f}.primary-action:hover{background:#ffd8e6;transform:translateY(-1px)}.primary-action:active{transform:translateY(1px)}.primary-action:disabled{color:#9a8a81;box-shadow:none;cursor:not-allowed;background:#f4eadb;border-color:#49372f38;transform:none}.opening-action{min-width:148px}.placeholder-scene{text-align:center;align-content:center;justify-items:center;gap:18px;width:min(100%,680px);min-height:min(560px,100svh - 140px);display:grid}.placeholder-scene h1{color:#49372f;margin:0;font-size:clamp(32px,6vw,62px);line-height:1.04}.stage-copy h1:focus-visible{outline-offset:6px;border-radius:8px;outline:3px solid #4f829a6b}.ending-scene{width:min(100%,980px);min-height:0;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;place-items:center;gap:18px;min-block-size:0;display:grid}.ending-copy{animation:.32s ease-out both ending-copy-in}.ending-stage{box-sizing:border-box;background:radial-gradient(circle at 18% 20%,#ffd8e657,#0000 23%),radial-gradient(circle at 78% 24%,#b8dff057,#0000 25%),linear-gradient(#fffdf7f0,#fff7ddb3);border-radius:28px;align-self:stretch;place-items:stretch center;width:min(100%,900px);min-height:420px;padding:clamp(26px,5vw,48px) clamp(24px,6vw,64px);display:grid;position:relative;overflow:hidden}.ending-glow{filter:blur(4px);pointer-events:none;background:#ffe98547;border-radius:50%;width:clamp(210px,42vw,360px);height:clamp(120px,22vw,210px);position:absolute;top:58%;left:50%;transform:translate(-50%,-50%)}.ending-scene--entering .ending-glow{animation:.52s ease-out both ending-glow-bridge-settle}.ending-ribbons{pointer-events:none;opacity:1;transition:opacity .5s;position:absolute;inset:0}.ending-ribbons span{background:#ffd8e6bd;border:2px solid #49372f33;border-radius:999px 999px 10px 10px;width:56px;height:16px;position:absolute;transform:rotate(-12deg)}.ending-ribbons span:first-child{top:18%;left:12%}.ending-ribbons span:nth-child(2){background:#b8dff0bd;top:16%;right:15%;transform:rotate(12deg)}.ending-ribbons span:nth-child(3){background:#ffe985b8;bottom:19%;left:18%;transform:rotate(8deg)}.ending-ribbons span:nth-child(4){bottom:23%;right:18%;transform:rotate(-7deg)}.ending-layout{z-index:6;grid-template-rows:auto minmax(150px,1fr) auto;align-content:center;justify-items:center;gap:clamp(16px,4vw,30px);width:min(100%,720px);min-height:100%;display:grid;position:relative}.ending-story-result{grid-template-columns:minmax(112px,180px) minmax(176px,320px);justify-content:center;align-items:end;gap:clamp(22px,7vw,70px);width:min(100%,620px);display:grid}.ending-note-sequence{z-index:4;aspect-ratio:4/5;pointer-events:none;width:clamp(140px,23vw,210px);position:relative}.ending-scene--entering .ending-note-sequence{animation:.52s ease-out both ending-note-sequence-bridge}.ending-lucky-card,.ending-lucky-note{color:#4f829a;text-align:center;font:800 clamp(13px, 2vw, 16px) / 1.25 var(--sans);background:linear-gradient(135deg,#0000 46%,#ffe98585 46% 54%,#0000 54%),#fffdf7;border:2px solid #49372f5c;border-radius:8px;place-items:center;transition:opacity .28s,transform .42s;display:grid;position:absolute;inset:0;box-shadow:0 18px 24px #49372f24}.ending-lucky-note{opacity:0;color:#7d5c63;width:58%;height:34%;inset:auto auto 0 50%;transform:translate(-50%,20px)scale(.84)}.ending-scene--card-shrink .ending-lucky-card,.ending-scene--friends-enter .ending-lucky-card,.ending-scene--store-note .ending-lucky-card,.ending-scene--exit .ending-lucky-card,.ending-scene--copy-reveal .ending-lucky-card,.ending-scene--complete .ending-lucky-card{opacity:0;transform:scale(.36)translateY(26px)}.ending-scene--card-shrink .ending-lucky-note,.ending-scene--friends-enter .ending-lucky-note,.ending-scene--store-note .ending-lucky-note,.ending-scene--exit .ending-lucky-note,.ending-scene--copy-reveal .ending-lucky-note,.ending-scene--complete .ending-lucky-note{opacity:1;transform:translate(-50%)scale(1)}.ending-character-stage{z-index:5;pointer-events:none;width:clamp(176px,34vw,320px);min-height:clamp(128px,19vw,190px);position:relative}.ending-usagi{z-index:5;object-fit:contain;filter:drop-shadow(0 16px 12px #49372f24);width:clamp(112px,19vw,172px);max-height:100%;animation:.48s ease-out both ending-usagi-peek;position:absolute;bottom:0;left:0;transform:translateY(22px)}.ending-scene--card-tap .ending-usagi{animation:.42s ease-in-out both ending-usagi-tap}.ending-scene--exit .ending-usagi,.ending-scene--copy-reveal .ending-usagi,.ending-scene--complete .ending-usagi{opacity:0;transition:opacity .5s,transform .56s;transform:translate(82%)translateY(4px)}.ending-scene[data-accepted=true] .ending-usagi{opacity:1;animation:.68s ease-in-out both ending-usagi-wave;transform:translate(0)translateY(0)}.ending-backpack{z-index:4;opacity:0;background:#ffe6ef;border:2px solid #49372f5c;border-radius:22px 22px 18px 18px;width:clamp(76px,13vw,112px);height:clamp(64px,11vw,94px);transition:opacity .36s,transform .36s,filter .36s;position:absolute;bottom:clamp(10px,3vw,22px);right:0;transform:translateY(16px)scale(.96);box-shadow:0 10px #49372f14}.ending-backpack-flap,.ending-backpack-pocket{border:2px solid #49372f3d;position:absolute;left:50%;transform:translate(-50%)}.ending-backpack-flap{background:#fffdf7b3;border-radius:999px 999px 12px 12px;width:58%;height:24%;top:12%}.ending-backpack-pocket{background:#fffdf794;border-radius:10px;width:42%;height:28%;bottom:14%}.ending-scene--store-note .ending-backpack,.ending-scene--exit .ending-backpack,.ending-scene--copy-reveal .ending-backpack,.ending-scene--complete .ending-backpack{opacity:1;transform:translateY(0)scale(1)}.ending-scene--store-note .ending-backpack,.ending-scene[data-accepted=true] .ending-backpack{filter:drop-shadow(0 0 16px #ffe985b8)}.ending-friend-slots{z-index:3;pointer-events:none;justify-content:space-between;width:min(82%,260px);display:flex;position:absolute;bottom:clamp(4px,2vw,14px);left:50%;transform:translate(-50%)}.ending-friend-slot{aspect-ratio:1;opacity:0;width:clamp(72px,12vw,108px)}.ending-lines{z-index:6;color:#49372f;text-align:center;justify-items:center;gap:8px;width:min(86%,580px);display:grid;position:relative}.ending-lines p{max-width:24em;font:800 clamp(18px, 3vw, 26px) / 1.42 var(--sans);margin:0;animation:.28s ease-out both ending-line-in}.ending-accepted-message{z-index:7;color:#4f829a;font:800 14px/1.3 var(--sans);margin:0;position:relative}.ending-actions{opacity:0;pointer-events:none;flex-wrap:wrap;justify-content:center;gap:12px;transition:opacity .24s;display:flex}.ending-actions[data-visible=true]{opacity:1;pointer-events:auto}.ending-accept-action:focus-visible,.ending-replay-action:focus-visible{outline-offset:4px;outline:3px solid #4f829a6b}.ending-replay-action{color:#8f8078;min-height:48px;font:700 16px/1.2 var(--sans);cursor:not-allowed;background:#fffdf7c7;border:2px solid #49372f3d;border-radius:999px;padding:10px 22px}.journey-scene{width:min(100%,980px);min-height:0;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;place-items:center;gap:18px;min-block-size:0;display:grid}.journey-scene--exiting{animation:.28s ease-out both journey-exit-foundation}.journey-copy{animation:.32s ease-out both journey-copy-in}.journey-scene--exiting .journey-copy{opacity:.82;transition:opacity .22s,transform .22s;transform:translateY(-6px)}.journey-stage{box-sizing:border-box;--journey-motion-start-x:calc(-1 * clamp(78px, 14vw, 122px));--journey-motion-discovery-x:clamp(196px, 25vw, 286px);--journey-motion-discovery-y:0px;--journey-motion-mid-x:clamp(64px, 10vw, 118px);--journey-motion-near-x:clamp(148px, 19vw, 228px);background:radial-gradient(circle at 18% 22%,#ffd8e657,#0000 22%),radial-gradient(circle at 82% 28%,#b8dff061,#0000 24%),linear-gradient(#fffdf7d1,#fff4e8a3);border-radius:28px;grid-template-columns:minmax(clamp(132px,21vw,230px),.92fr) minmax(clamp(260px,42vw,380px),1fr);align-self:stretch;align-items:end;column-gap:clamp(28px,6vw,74px);width:min(100%,900px);min-height:300px;padding:clamp(34px,7vw,64px) clamp(34px,7vw,74px) clamp(46px,8vw,74px);display:grid;position:relative;overflow:hidden}.journey-path{border-bottom:18px solid #e9d6abdb;border-radius:50%;height:34%;position:absolute;bottom:18%;left:6%;right:6%;transform:rotate(-3deg)}.journey-path:before{content:"";background:repeating-linear-gradient(90deg,#b76b8266 0 18px,#0000 18px 32px);border-radius:999px;height:4px;position:absolute;inset:34% 8% auto 6%}.journey-traces{pointer-events:none;opacity:1;min-height:135px;transition:opacity .5s,transform .5s;position:absolute;inset:12% 11% auto}.journey-scene--ready .journey-traces,.journey-scene--exiting .journey-traces{opacity:0;transform:translateY(-8px)}.journey-bubble{color:#75655db8;font:700 14px/1.2 var(--sans);background:#fffdf7c7;border:2px solid #49372f29;border-radius:999px;padding:7px 13px;position:absolute;top:8%;left:8%}.journey-bubble-soft{top:44%;left:auto;right:8%}.journey-dash{background:repeating-linear-gradient(90deg,#4f829a59 0 10px,#0000 10px 20px);border-radius:999px;width:24%;height:4px;display:block;position:absolute}.journey-dash-one{top:42%;left:24%;transform:rotate(9deg)}.journey-dash-two{top:68%;right:26%;transform:rotate(-7deg)}.journey-character{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 14px #49372f24);width:clamp(136px,20vw,188px);max-height:62%;position:absolute;bottom:clamp(44px,10vw,76px);left:clamp(92px,21%,188px);transform:translate(0)translateY(0)}.journey-scene--walking .journey-character{animation:1.1s ease-in-out both journey-walk}.journey-scene--discovering .journey-character{transform:translate(var(--journey-motion-discovery-x), var(--journey-motion-discovery-y));animation:.62s ease-out both journey-discover}.journey-scene--circling .journey-character{animation:.82s ease-in-out both journey-circle}.journey-scene--ready .journey-character{transform:translate(0)translateY(0)}.journey-scene--exiting .journey-character{animation:.28s ease-out both journey-character-exit}.journey-objects{z-index:3;pointer-events:none;grid-area:1/2;grid-template-columns:repeat(3,minmax(0,1fr));place-self:end start;align-items:end;gap:clamp(10px,2.3vw,20px);width:min(100%,350px);min-height:178px;display:grid;position:relative}.journey-object{opacity:0;align-content:end;justify-items:center;gap:6px;width:min(100%,104px);min-width:0;min-height:100px;transition:opacity .34s,transform .34s,filter .34s;display:grid;position:relative;transform:translateY(12px)scale(.96)}.journey-scene--discovering .journey-object,.journey-scene--circling .journey-object,.journey-scene--ready .journey-object,.journey-scene--exiting .journey-object{opacity:1;transform:translateY(0)scale(1)}.journey-scene--ready .journey-object,.journey-scene--exiting .journey-object{filter:drop-shadow(0 0 16px #ffe985d1)}.journey-scene--ready .journey-object{animation:2.8s ease-in-out infinite journey-object-glow}.journey-scene--exiting .journey-object{animation:none;transform:translateY(0)scale(1.01)}.journey-object--bear-bag{align-self:end}.journey-object--chick-clock{align-self:start;transition-delay:80ms}.journey-object--onigiri{align-self:end;transition-delay:.16s}.journey-object-shape{background:#fffdf7;border:2px solid #49372f;width:62px;height:54px;box-shadow:0 8px #49372f1a}.journey-object--bear-bag .journey-object-shape{background:radial-gradient(circle at 30% 34%,#49372f 2px,#0000 3px),radial-gradient(circle at 70% 34%,#49372f 2px,#0000 3px),linear-gradient(#ffd8e6,#fffdf7);border-radius:18px 18px 16px 16px}.journey-object--chick-clock .journey-object-shape{background:radial-gradient(circle at 50% 60%,#f6bf55 4px,#0000 5px),linear-gradient(#ffe985,#fffdf7);border-radius:50%;width:58px;height:58px}.journey-object--onigiri .journey-object-shape{background:linear-gradient(90deg,#0000 34%,#49372f 34% 66%,#0000 66%),#fffdf7;border-radius:50% 50% 42% 42%;width:62px;height:58px}.journey-object-label{color:#75655d;font:700 13px/1.2 var(--sans);text-align:center}.journey-prompt{color:#4f829a;min-height:1.5em;font:700 clamp(17px, 2.4vw, 22px) / 1.35 var(--sans);text-align:center;opacity:0;margin:0;transition:opacity .32s,transform .32s;transform:translateY(6px)}.journey-prompt[data-visible=true]{opacity:1;transform:translateY(0)}.journey-scene--exiting .journey-prompt{opacity:.78;transform:translateY(-5px)}.collect-scene{width:min(100%,980px);min-height:0;grid-template-rows:auto minmax(0,1fr) auto;align-self:stretch;place-items:center;gap:18px;min-block-size:0;display:grid}.collect-scene--intro{animation:.26s ease-out both collect-intro-foundation}.collect-copy{animation:.32s ease-out both collect-copy-in}.collect-subtitle{color:#75655d;margin:0;font-size:clamp(15px,2.1vw,18px)}.collect-stage{box-sizing:border-box;background:radial-gradient(circle at 20% 20%,#ffd8e659,#0000 23%),radial-gradient(circle at 82% 30%,#b8dff05c,#0000 25%),linear-gradient(#fffdf7d6,#fff4e8a8);border-radius:28px;grid-template-columns:minmax(clamp(132px,21vw,230px),.88fr) minmax(clamp(300px,46vw,430px),1.12fr);align-self:stretch;align-items:end;column-gap:clamp(30px,6vw,78px);width:min(100%,900px);min-height:320px;padding:clamp(34px,7vw,64px) clamp(34px,7vw,74px) clamp(46px,8vw,76px);display:grid;position:relative;overflow:hidden}.collect-path{border-bottom:18px solid #e9d6abdb;border-radius:50%;height:34%;position:absolute;bottom:18%;left:6%;right:6%;transform:rotate(-3deg)}.collect-character{z-index:2;object-fit:contain;filter:drop-shadow(0 18px 14px #49372f24);grid-area:1/1;place-self:end;width:clamp(136px,20vw,186px);max-height:62%;position:relative;transform:translate(0)translateY(0)}.collect-scene--intro .collect-character{animation:.26s ease-out both collect-character-intro}.collect-items{z-index:3;grid-area:1/2;grid-template-columns:repeat(3,minmax(0,1fr));place-self:end start;align-items:end;gap:clamp(10px,2.3vw,20px);width:min(100%,390px);min-height:178px;display:grid;position:relative}.collect-item{color:#75655d;width:min(100%,112px);min-width:0;min-height:104px;font:700 13px/1.2 var(--sans);cursor:pointer;background:0 0;border:0;align-content:end;justify-items:center;gap:7px;padding:4px;transition:opacity .2s,filter .2s,transform .2s;display:grid;position:relative}.collect-scene--intro .collect-item{animation:.26s ease-out both collect-item-intro}.collect-scene--intro .collect-item--chick-clock{animation-delay:25ms}.collect-scene--intro .collect-item--onigiri{animation-delay:50ms}.collect-item:disabled{cursor:not-allowed}.collect-item:focus-visible{outline-offset:4px;border-radius:18px;outline:3px solid #4f829a6b}.collect-item:not(:disabled):hover{transform:translateY(-3px)}.collect-item[data-collected=true]{opacity:.62;filter:saturate(.82)}.collect-item[data-active=true]{filter:drop-shadow(0 0 18px #ffe985d9)}.collect-item--bear-bag{align-self:end}.collect-item--chick-clock{align-self:start}.collect-item--onigiri{align-self:end}.collect-item-shape{background:#fffdf7;border:2px solid #49372f;width:62px;height:54px;position:relative;box-shadow:0 8px #49372f1a}.collect-item--bear-bag .collect-item-shape{background:radial-gradient(circle at 31% 35%,#49372f 2px,#0000 3px),radial-gradient(circle at 69% 35%,#49372f 2px,#0000 3px),linear-gradient(#ffd8e6,#fffdf7);border-radius:18px 18px 16px 16px}.collect-item--bear-bag .collect-item-shape:before{content:"";border:2px solid #49372f;border-bottom:0;border-radius:999px 999px 0 0;height:26px;position:absolute;top:-17px;left:9px;right:9px}.collect-item--chick-clock .collect-item-shape{background:radial-gradient(circle at 50% 60%,#f6bf55 4px,#0000 5px),linear-gradient(#ffe985,#fffdf7);border-radius:50%;width:58px;height:58px}.collect-item--chick-clock .collect-item-shape:before,.collect-item--chick-clock .collect-item-shape:after{content:"";background:#ffd8e6;border:2px solid #49372f;border-radius:50% 50% 44% 44%;width:15px;height:12px;position:absolute;top:-7px}.collect-item--chick-clock .collect-item-shape:before{left:5px;transform:rotate(-18deg)}.collect-item--chick-clock .collect-item-shape:after{right:5px;transform:rotate(18deg)}.collect-item--onigiri .collect-item-shape{background:linear-gradient(90deg,#0000 34%,#49372f 34% 66%,#0000 66%),#fffdf7;border-radius:50% 50% 42% 42%;width:62px;height:58px}.collect-item-label{text-align:center;max-width:7.5em;display:block}.collect-item[data-phase=bag-opening] .collect-item-shape{animation:.26s ease-out both collect-bag-open}.collect-item[data-phase=bag-dropping] .collect-item-shape{animation:.36s ease-in-out both collect-bag-drop}.collect-item[data-phase=clock-shaking] .collect-item-shape{animation:.52s ease-in-out both collect-clock-shake}.collect-item[data-phase=onigiri-bouncing] .collect-item-shape{animation:.42s ease-out both collect-onigiri-bounce}.collect-item[data-phase=onigiri-steaming] .collect-item-shape{animation:.36s ease-in-out both collect-onigiri-steam}.collect-glow{z-index:1;opacity:0;pointer-events:none;background:#ffe98547;border-radius:50%;width:160px;height:112px;position:absolute;bottom:clamp(72px,15vw,132px);right:clamp(70px,15vw,170px);transform:scale(.7)}.collect-scene--aggregation-preparing .collect-glow,.collect-scene--aggregation-converging .collect-glow,.collect-scene--aggregation-flash .collect-glow{opacity:1}.collect-scene--aggregation-converging .collect-item{animation:.62s ease-in-out both collect-converge}.collect-scene--aggregation-flash .collect-item{opacity:.5;transform:translate(-24px,10px)scale(.82)}.collect-scene--aggregation-flash .collect-glow{animation:.28s ease-out both collect-final-flash}.collect-feedback{justify-items:center;gap:8px;min-height:76px;display:grid}.collect-progress{color:#4f829a;font:700 clamp(17px, 2.4vw, 22px) / 1.35 var(--sans);margin:0}.collect-message{color:#75655d;min-height:1.5em;font:700 clamp(15px, 2.1vw, 18px) / 1.35 var(--sans);text-align:center;opacity:0;margin:0;transition:opacity .2s,transform .2s;transform:translateY(6px)}.collect-message[data-visible=true]{opacity:1;transform:translateY(0)}.gift-scene{width:min(100%,980px);min-height:0;grid-template-rows:auto minmax(0,1fr);align-self:stretch;place-items:center;gap:18px;min-block-size:0;display:grid}.gift-copy{animation:.32s ease-out both gift-copy-in}.gift-scene--scene-intro{animation:.24s ease-out both gift-intro-foundation}.gift-stage{background:radial-gradient(circle at 18% 20%,#ffd8e65c,#0000 22%),radial-gradient(circle at 82% 22%,#b8dff061,#0000 24%),linear-gradient(#fffdf7db,#fff4e8ad);border-radius:28px;grid-template-rows:minmax(0,1fr);align-self:stretch;place-items:center;width:min(100%,900px);min-height:390px;padding:clamp(34px,6vw,58px) clamp(28px,6vw,70px) clamp(42px,7vw,70px);display:grid;position:relative;overflow:hidden}.gift-scene--blessing-fading .gift-stage,.gift-scene--blessing .gift-stage,.gift-scene--nodding .gift-stage,.gift-scene--revealing-cards .gift-stage,.gift-scene--holding-cards .gift-stage,.gift-scene--advancing .gift-stage{grid-template-rows:auto minmax(0,1fr);align-content:center;gap:clamp(18px,4vw,34px)}.gift-glow{filter:blur(2px);pointer-events:none;background:#ffe9854d;border-radius:50%;width:clamp(180px,34vw,300px);height:clamp(120px,22vw,190px);position:absolute;top:45%;left:50%;transform:translate(-50%,-50%)}.gift-scene--scene-intro .gift-glow{animation:.24s ease-out both gift-glow-settle}.gift-light-dots{z-index:1;pointer-events:none;gap:18px;display:flex;position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.gift-light-dots span{background:#ffe985;border:2px solid #49372f47;border-radius:50%;width:18px;height:18px;box-shadow:0 0 18px #ffe985c2}.gift-scene:not(.gift-scene--waiting) .gift-light-dots{opacity:0}.gift-focus{z-index:4;grid-template-columns:auto auto;justify-content:center;align-items:end;gap:clamp(16px,3vw,40px);width:min(100%,520px);display:grid;position:relative}.gift-scene--scene-intro .gift-focus{animation:.24s ease-out both gift-focus-settle}.gift-scene--blessing-fading .gift-focus,.gift-scene--blessing .gift-focus,.gift-scene--nodding .gift-focus,.gift-scene--revealing-cards .gift-focus,.gift-scene--holding-cards .gift-focus,.gift-scene--advancing .gift-focus{grid-row:2;align-self:start;gap:clamp(14px,2.6vw,30px);width:min(100%,430px)}.gift-usagi{z-index:3;object-fit:contain;filter:drop-shadow(0 18px 14px #49372f24);width:clamp(132px,18vw,180px);max-width:100%;position:relative}.gift-scene--blessing-fading .gift-usagi,.gift-scene--blessing .gift-usagi,.gift-scene--nodding .gift-usagi,.gift-scene--revealing-cards .gift-usagi,.gift-scene--holding-cards .gift-usagi,.gift-scene--advancing .gift-usagi{width:clamp(108px,14vw,148px)}.gift-scene--nodding .gift-usagi{animation:.48s ease-in-out both gift-usagi-nod}.gift-box-button{z-index:4;color:#49372f;width:clamp(126px,16vw,170px);font:700 15px/1.2 var(--sans);cursor:pointer;background:0 0;border:0;justify-items:center;gap:8px;padding:8px;transition:filter .2s,opacity .2s,transform .2s;display:grid;position:relative}.gift-box-button img{filter:drop-shadow(0 14px 12px #49372f29);width:clamp(82px,14vw,128px)}.gift-box-button:not(:disabled):hover{transform:translateY(-3px)}.gift-box-button:focus-visible{outline-offset:4px;border-radius:18px;outline:3px solid #4f829a6b}.gift-box-button:disabled{cursor:not-allowed}.gift-scene--opening .gift-box-button img{animation:.5s ease-in-out both gift-box-open}.gift-scene--blessing-fading .gift-box-button,.gift-scene--blessing .gift-box-button,.gift-scene--nodding .gift-box-button,.gift-scene--revealing-cards .gift-box-button,.gift-scene--holding-cards .gift-box-button,.gift-scene--advancing .gift-box-button{opacity:.58;width:clamp(112px,13vw,150px)}.gift-scene--revealing-cards .gift-focus,.gift-scene--holding-cards .gift-focus,.gift-scene--advancing .gift-focus{transform:translateY(clamp(-42px,-6vw,-28px))}.gift-blessing{z-index:5;color:#4f4038;text-align:center;pointer-events:none;align-content:start;justify-self:center;gap:7px;width:min(100%,560px);min-height:0;display:grid;position:relative}.gift-scene--waiting .gift-blessing,.gift-scene--opening .gift-blessing{opacity:0;position:absolute}.gift-scene--blessing-fading .gift-blessing,.gift-scene--blessing .gift-blessing,.gift-scene--nodding .gift-blessing,.gift-scene--revealing-cards .gift-blessing,.gift-scene--holding-cards .gift-blessing,.gift-scene--advancing .gift-blessing{grid-row:1}.gift-blessing p{font:700 clamp(15px, 2.1vw, 19px) / 1.45 var(--sans);margin:0;animation:.24s ease-out both gift-line-in}.gift-blessing .gift-late-note{color:#4f829a;font-size:clamp(14px,1.9vw,17px)}.gift-nod-note{z-index:5;color:#75655d;font:700 14px/1.3 var(--sans);opacity:0;margin:0;position:absolute;bottom:clamp(18px,4vw,34px);left:clamp(24px,8vw,86px)}.gift-nod-note[data-visible=true]{opacity:1}.gift-confetti{z-index:6;pointer-events:none;position:absolute;inset:0;overflow:hidden}.gift-confetti span{opacity:0;background:#ffd8e6;border-radius:7px 7px 3px 3px;width:12px;height:22px;animation:1.6s ease-out both gift-confetti-fall;position:absolute;top:10%}.gift-confetti span:nth-child(3n+1){background:#ffe985}.gift-confetti span:nth-child(3n+2){background:#b8dff0}.gift-confetti span:first-child{animation-delay:0s;left:12%}.gift-confetti span:nth-child(2){animation-delay:60ms;left:22%}.gift-confetti span:nth-child(3){animation-delay:.12s;left:32%}.gift-confetti span:nth-child(4){animation-delay:30ms;left:42%}.gift-confetti span:nth-child(5){animation-delay:.14s;left:52%}.gift-confetti span:nth-child(6){animation-delay:80ms;left:62%}.gift-confetti span:nth-child(7){animation-delay:.2s;left:72%}.gift-confetti span:nth-child(8){animation-delay:.16s;left:82%}.gift-confetti span:nth-child(9){animation-delay:.1s;left:17%}.gift-confetti span:nth-child(10){animation-delay:.22s;left:37%}.gift-confetti span:nth-child(11){animation-delay:.18s;left:57%}.gift-confetti span:nth-child(12){animation-delay:40ms;left:77%}.gift-card-transition{z-index:5;justify-items:center;gap:10px;width:min(88%,440px);display:grid;position:absolute;bottom:clamp(22px,5vw,44px);left:50%;transform:translate(-50%)}.gift-scene--revealing-cards .gift-card-transition,.gift-scene--holding-cards .gift-card-transition,.gift-scene--advancing .gift-card-transition{bottom:8px}.gift-visual-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;width:min(100%,330px);display:grid}.gift-scene--revealing-cards .gift-visual-cards,.gift-scene--holding-cards .gift-visual-cards,.gift-scene--advancing .gift-visual-cards{width:min(100%,280px)}.gift-visual-card{aspect-ratio:4/5;opacity:0;background:linear-gradient(135deg,#0000 44%,#ffe98594 44% 56%,#0000 56%),#fffdf7;border:2px solid #49372f61;border-radius:8px;animation:.42s ease-out both gift-card-in;transform:translateY(10px)rotate(-1deg);box-shadow:0 6px #49372f14}.gift-visual-card:nth-child(2n){transform:translateY(10px)rotate(1deg)}.gift-visual-card:nth-child(2){animation-delay:50ms}.gift-visual-card:nth-child(3){animation-delay:.1s}.gift-visual-card:nth-child(4){animation-delay:.15s}.gift-visual-card:nth-child(5){animation-delay:.2s}.gift-visual-card:nth-child(6){animation-delay:.25s}.gift-scene--advancing .gift-visual-card{--gift-card-advance-x:0px;--gift-card-advance-y:0px;animation:.2s ease-in both gift-card-advance}.gift-scene--advancing .gift-visual-card:first-child{--gift-card-advance-x:14px;--gift-card-advance-y:12px}.gift-scene--advancing .gift-visual-card:nth-child(2){--gift-card-advance-x:0px;--gift-card-advance-y:10px}.gift-scene--advancing .gift-visual-card:nth-child(3){--gift-card-advance-x:-14px;--gift-card-advance-y:12px}.gift-scene--advancing .gift-visual-card:nth-child(4){--gift-card-advance-x:12px;--gift-card-advance-y:-10px}.gift-scene--advancing .gift-visual-card:nth-child(5){--gift-card-advance-x:0px;--gift-card-advance-y:-8px}.gift-scene--advancing .gift-visual-card:nth-child(6){--gift-card-advance-x:-12px;--gift-card-advance-y:-10px}.gift-card-status{color:#4f829a;font:700 clamp(15px, 2vw, 18px) / 1.35 var(--sans);text-align:center;margin:0}.fortune-scene{width:min(100%,980px);min-height:0;grid-template-rows:auto minmax(0,1fr);align-self:stretch;place-items:center;gap:18px;min-block-size:0;display:grid}.fortune-copy{animation:.32s ease-out both fortune-copy-in}.fortune-scene--scene-intro{animation:.24s ease-out both fortune-intro-foundation}.fortune-stage{--fortune-card-gap:clamp(10px, 2vw, 16px);--fortune-card-width:clamp(104px, 13.5vw, 148px);--fortune-card-height:calc(var(--fortune-card-width) * 1.25);--fortune-active-card-width:clamp(238px, 30vw, 300px);--fortune-active-card-height:calc(var(--fortune-active-card-width) * 1.25);background:radial-gradient(circle at 18% 18%,#ffd8e657,#0000 23%),radial-gradient(circle at 82% 28%,#b8dff057,#0000 25%),linear-gradient(#fffdf7eb,#fff7dd9e);border-radius:28px;align-self:stretch;width:min(100%,900px);min-height:420px;position:relative;overflow:hidden}.fortune-glow{filter:blur(3px);pointer-events:none;background:#ffe98542;border-radius:50%;width:clamp(220px,42vw,360px);height:clamp(140px,24vw,220px);position:absolute;top:56%;left:50%;transform:translate(-50%,-50%)}.fortune-scene--advancing .fortune-glow{animation:.36s ease-out both fortune-glow-bridge-warm}.fortune-usagi{z-index:2;object-fit:contain;filter:drop-shadow(0 16px 12px #49372f24);pointer-events:none;width:clamp(104px,18vw,156px);max-height:42%;position:absolute;bottom:clamp(20px,5vw,44px);left:clamp(24px,7vw,76px)}.fortune-progress{z-index:4;color:#4f829a;font:800 14px/1.3 var(--sans);margin:0;position:absolute;top:clamp(16px,3vw,28px);right:clamp(18px,4vw,40px)}.fortune-card-field-motion{z-index:3;opacity:1;transform-origin:50%;width:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.fortune-scene--scene-intro .fortune-card-field-motion{animation:.24s ease-out both fortune-card-field-settle}.fortune-scene--advancing .fortune-card-field-motion{animation:.36s ease-out both fortune-card-field-resolve}.fortune-card-grid{grid-template-columns:repeat(3, var(--fortune-card-width));grid-template-rows:repeat(2, var(--fortune-card-height));place-items:center;gap:var(--fortune-card-gap);width:auto;display:grid;position:relative}.fortune-card-button{width:var(--fortune-card-width);height:var(--fortune-card-height);aspect-ratio:4/5;color:#49372f;font:inherit;cursor:pointer;perspective:760px;transform-style:preserve-3d;transform-origin:50%;--fortune-card-target-x:calc(var(--fortune-card-x) * (var(--fortune-card-width) + var(--fortune-card-gap)));--fortune-card-target-y:calc(var(--fortune-card-y) * ((var(--fortune-card-height) + var(--fortune-card-gap)) / 2));background:0 0;border:0;padding:0;transition:height .26s,opacity .22s,width .26s;display:grid;position:relative}.fortune-card-button:disabled{cursor:default}.fortune-card-button:focus-visible{outline-offset:5px;border-radius:10px;outline:3px solid #4f829a6b}.fortune-card-face{backface-visibility:hidden;transform-style:preserve-3d;transition:transform var(--fortune-flip-ms,.3s) ease, opacity .2s ease, box-shadow .2s ease;background:#fffdf7;border:2px solid #49372f61;border-radius:8px;grid-area:1/1;align-content:center;justify-items:center;gap:8px;padding:clamp(10px,2vw,16px);display:grid;box-shadow:0 8px #49372f14}.fortune-card-back{background:linear-gradient(135deg,#0000 44%,#ffe98599 44% 56%,#0000 56%),#fffdf7}.fortune-card-back span{color:#5d4149;width:54px;height:54px;font:800 clamp(14px, 1.8vw, 16px) / 1 var(--sans);background:#ffd8e694;border-radius:50%;place-items:center;display:grid}.fortune-card-front{transform:rotateY(180deg)}.fortune-card-button:not(:disabled):hover .fortune-card-face{box-shadow:0 10px #49372f1a}.fortune-card-button[data-opened=true] .fortune-card-back{transform:rotateY(180deg)}.fortune-card-button[data-opened=true] .fortune-card-front{transform:rotateY(0)}.fortune-scene:is(.fortune-scene--enlarging,.fortune-scene--revealed) .fortune-card-button[data-active=true]{z-index:6;width:var(--fortune-active-card-width);height:var(--fortune-active-card-height)}.fortune-card-button[data-settled=true] .fortune-card-face{opacity:.92}.fortune-scene--revealing .fortune-card-button:not([data-active=true]),.fortune-scene--enlarging .fortune-card-button:not([data-active=true]),.fortune-scene--revealed .fortune-card-button:not([data-active=true]),.fortune-scene--returning .fortune-card-button:not([data-active=true]),.fortune-scene--final-hold .fortune-card-button:not([data-active=true]){opacity:.32;pointer-events:none}.fortune-scene--enlarging .fortune-card-button[data-active=true],.fortune-scene--revealed .fortune-card-button[data-active=true]{animation:fortune-card-center var(--fortune-reveal-ms,.46s) cubic-bezier(.22, 1, .36, 1) both}.fortune-scene--enlarging .fortune-card-button[data-active=true] .fortune-card-face,.fortune-scene--revealed .fortune-card-button[data-active=true] .fortune-card-face{border-color:#49372f7a;gap:clamp(10px,2vw,14px);padding:clamp(18px,3vw,26px);box-shadow:0 16px #49372f1a}.fortune-scene--returning .fortune-card-button[data-active=true]{animation:fortune-card-return var(--fortune-return-ms,.36s) cubic-bezier(.64, 0, .78, 0) both;width:var(--fortune-card-width);height:var(--fortune-card-height)}.fortune-reveal-panel{left:50%;top:calc(50% + (var(--fortune-active-card-height) / 2) + 34px);z-index:8;text-align:center;opacity:0;pointer-events:none;justify-items:center;gap:8px;width:min(82%,390px);min-height:54px;padding:0;transition:opacity .22s,transform .28s;display:grid;position:absolute;transform:translate(-50%,-12px)}.fortune-reveal-panel:focus-visible{outline-offset:5px;outline:3px solid #4f829a6b}.fortune-reveal-panel[data-visible=true]{opacity:1;pointer-events:auto;transform:translate(-50%)}.fortune-reveal-panel[data-final=true]{top:calc(50% + (var(--fortune-active-card-height) / 2) + 42px)}.fortune-accept-button{margin-top:4px}.fortune-final-note{color:#7d5c63;max-width:18em;font:800 14px/1.38 var(--sans);margin:0}.fortune-completion-panel{z-index:9;text-align:center;background:#fffdf7f0;border:2px solid #49372f47;border-radius:8px;justify-items:center;gap:8px;width:min(86%,420px);padding:18px 20px;transition:opacity .22s,transform .24s;display:grid;position:absolute;bottom:clamp(20px,4vw,34px);left:50%;transform:translate(-50%);box-shadow:0 14px 22px #49372f1f}.fortune-completion-panel[data-continuing=true]{opacity:.84;transform:translate(-50%)translateY(6px)scale(.985)}.fortune-completion-title,.fortune-completion-body{margin:0}.fortune-completion-title{color:#4f829a;font:800 clamp(18px, 3vw, 24px) / 1.25 var(--sans)}.fortune-completion-body{color:#75655d;font:700 15px/1.4 var(--sans)}.fortune-completion-action{margin-top:4px}.scene-picker button:hover,.scene-picker button:focus-visible,.scene-picker button.active{background:#ffe6ef;border-color:#b76b82}.scene-picker button:hover{transform:translateY(-1px)}.scene-picker button:focus-visible,.music-button:focus-visible,.primary-action:focus-visible{outline-offset:3px;outline:3px solid #4f829a6b}@keyframes float{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-10px)rotate(2deg)}}@keyframes scene-fade-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes scene-handoff-cover{0%{opacity:0;transform:scale(.58)}to{opacity:1;transform:scale(1)}}@keyframes scene-handoff-reveal{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.04)}}@keyframes opening-copy-stagger{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-intro-foundation{0%{opacity:.999}to{opacity:1}}@keyframes opening-exit-foundation{0%{opacity:1}to{opacity:1}}@keyframes opening-character-arrive{0%{opacity:0;transform:translateY(clamp(14px,3svh,24px))scale(.985)}72%{opacity:1;transform:translateY(-3px)scale(1.012)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes opening-usagi-settle-polish{0%{transform:translateY(5%)scale(.985,1.014)rotate(-.8deg)}72%{transform:translateY(3.5%)scale(1.006,.996)rotate(.35deg)}to{transform:translateY(4%)}}@keyframes opening-gift-follow{0%{opacity:0;transform:translate(10px,14px)rotate(4deg)}76%{opacity:1;transform:translate(-2px,-2px)rotate(-2deg)}to{opacity:1;transform:translate(0)rotate(0)}}@keyframes opening-action-stagger{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes opening-character-exit{0%{opacity:1;transform:translate(0)scale(1)}22%{opacity:1;transform:translate(-3px,4px)scale(.992)}78%{opacity:.92;transform:translate(clamp(18px,4vw,42px),clamp(-26px,-4svh,-14px))scale(.986)}to{opacity:.82;transform:translate(clamp(22px,5vw,56px),clamp(-32px,-5svh,-18px))scale(.982)}}@keyframes opening-usagi-anticipation{0%,to{transform:translateY(4%)rotate(0)scale(1)}45%{transform:translateY(5%)rotate(-1deg)scale(1.01,.988)}}@keyframes opening-gift-exit-lag{0%{transform:translate(0)rotate(0)}34%{transform:translate(-4px,5px)rotate(-4deg)}to{transform:translate(5px,-3px)rotate(3deg)}}@keyframes opening-ribbon-exit{0%,32%{opacity:0;transform:translateY(12px)rotate(-5deg)}72%{opacity:1;transform:translateY(-8px)rotate(-9deg)}to{opacity:1;transform:translateY(-14px)rotate(-12deg)}}@keyframes journey-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes journey-exit-foundation{0%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes journey-walk{0%{transform:translateX(var(--journey-motion-start-x)) translateY(4%) rotate(0)}35%{transform:translateX(var(--journey-motion-mid-x)) translateY(-2%) rotate(-2deg)}70%{transform:translateX(var(--journey-motion-near-x)) translateY(3%) rotate(2deg)}to{transform:translateX(var(--journey-motion-discovery-x)) translateY(0) rotate(0)}}@keyframes journey-discover{0%{transform:translate(var(--journey-motion-discovery-x), var(--journey-motion-discovery-y)) scale(1)}42%{transform:translate(var(--journey-motion-discovery-x), calc(var(--journey-motion-discovery-y) - 12px)) scale(1.03)}to{transform:translate(var(--journey-motion-discovery-x), var(--journey-motion-discovery-y)) scale(1)}}@keyframes journey-circle{0%{transform:translate(var(--journey-motion-discovery-x), var(--journey-motion-discovery-y)) rotate(0)}26%{transform:translate(calc(var(--journey-motion-discovery-x) + 20px), calc(var(--journey-motion-discovery-y) - 16px)) rotate(3deg)}52%{transform:translate(calc(var(--journey-motion-discovery-x) - 12px), calc(var(--journey-motion-discovery-y) - 8px)) rotate(-3deg)}72%{transform:translate(calc(var(--journey-motion-near-x) - 8px), calc(var(--journey-motion-discovery-y) - 4px)) rotate(-1deg)}to{transform:translate(0)translateY(0)rotate(0)}}@keyframes journey-character-exit{0%{transform:translate(0)translateY(0)rotate(0)scale(1)}to{transform:translate(12px)translateY(-4px)rotate(2deg)scale(1.01)}}@keyframes journey-object-glow{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}@keyframes collect-intro-foundation{0%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes collect-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes collect-character-intro{0%{transform:translateY(12px)scale(.99)}to{transform:translateY(0)scale(1)}}@keyframes collect-item-intro{0%{opacity:.72;transform:translateY(10px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes collect-bag-open{0%{transform:translateY(0)scaleY(1)}to{transform:translateY(-4px)scaleY(1.06)}}@keyframes collect-bag-drop{0%{transform:translateY(-4px)rotate(0)}48%{transform:translateY(8px)rotate(-4deg)}to{transform:translateY(0)rotate(0)}}@keyframes collect-clock-shake{0%,to{transform:rotate(0)}18%{transform:rotate(-8deg)}36%{transform:rotate(8deg)}54%{transform:rotate(-6deg)}72%{transform:rotate(6deg)}}@keyframes collect-onigiri-bounce{0%,to{transform:translateY(0)}42%{transform:translateY(-13px)}68%{transform:translateY(4px)}}@keyframes collect-onigiri-steam{0%,to{box-shadow:0 8px #49372f1a,0 -10px #b8dff000}50%{box-shadow:0 8px #49372f1a,0 -16px #b8dff066}}@keyframes collect-converge{0%{transform:translate(0)scale(1)}to{transform:translate(-24px,10px)scale(.82)}}@keyframes collect-final-flash{0%{opacity:.35;transform:scale(.8)}to{opacity:.95;transform:scale(1.4)}}@keyframes gift-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes gift-intro-foundation{0%{transform:translateY(0)}to{transform:translateY(0)}}@keyframes gift-glow-settle{0%{opacity:.92;transform:translate(-50%,-50%)scale(1.12)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes gift-focus-settle{0%{opacity:.9;transform:translateY(7px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes gift-box-open{0%,to{transform:translateY(0)rotate(0)}20%{transform:translate(-5px)rotate(-5deg)}42%{transform:translate(5px)rotate(5deg)}68%{transform:translateY(-5px)rotate(-2deg)}to{transform:translateY(4px)rotate(0)}}@keyframes gift-line-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes gift-usagi-nod{0%,to{transform:translateY(0)rotate(0)}42%{transform:translateY(5px)rotate(2deg)}68%{transform:translateY(0)rotate(-1deg)}}@keyframes gift-confetti-fall{0%{opacity:0;transform:translateY(-24px)rotate(0)}18%{opacity:1}to{opacity:0;transform:translateY(210px)rotate(70deg)}}@keyframes gift-card-in{to{opacity:1;transform:translateY(0)rotate(0)}}@keyframes gift-card-advance{0%{opacity:1;transform:translateY(0)scale(1)rotate(0)}to{opacity:.78;transform:translate(var(--gift-card-advance-x), var(--gift-card-advance-y)) scale(.96) rotate(0)}}@keyframes ending-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ending-usagi-peek{0%{opacity:0;transform:translateY(34px)}to{opacity:1;transform:translateY(0)}}@keyframes ending-usagi-tap{0%,to{transform:translateY(0)rotate(0)}45%{transform:translateY(8px)rotate(3deg)}}@keyframes ending-usagi-wave{0%,to{transform:translate(0)translateY(0)rotate(0)}40%{transform:translate(0)translateY(-4px)rotate(-4deg)}70%{transform:translate(0)translateY(0)rotate(3deg)}}@keyframes ending-line-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes ending-glow-bridge-settle{0%{opacity:.94;transform:translate(-50%,-50%)scale(1.12)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes ending-note-sequence-bridge{0%{opacity:.94;transform:translateY(6px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes fortune-copy-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fortune-intro-foundation{0%,to{opacity:1}}@keyframes fortune-card-field-settle{0%{opacity:.9;transform:translate(-50%,calc(8px - 50%))scale(.99)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes fortune-card-field-resolve{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:.86;transform:translate(-50%,calc(7px - 50%))scale(.978)}}@keyframes fortune-glow-bridge-warm{0%{opacity:1;transform:translate(-50%,-50%)scale(1)}to{opacity:1;transform:translate(-50%,-50%)scale(1.08)}}@keyframes fortune-card-center{0%{transform:translateY(0)}to{transform:translate(var(--fortune-card-target-x), var(--fortune-card-target-y))}}@keyframes fortune-card-return{0%{transform:translate(var(--fortune-card-target-x), var(--fortune-card-target-y))}to{transform:translateY(0)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.opening-copy,.opening-action,.opening-character-motion,.opening-asset-stage,.opening-asset-stage .usagi,.opening-asset-stage .prop-gift,.asset-stage--opening:after,.scene-handoff-overlay{animation:none!important}.opening-copy,.opening-action,.opening-character-motion,.opening-asset-stage,.opening-asset-stage .prop-gift{opacity:1;transform:none}.opening-asset-stage .usagi{transform:translateY(4%)}.asset-stage--opening:after{opacity:1;transform:translateY(-18px)rotate(-8deg)}.journey-copy,.journey-scene--exiting,.journey-scene--walking .journey-character,.journey-scene--discovering .journey-character,.journey-scene--circling .journey-character,.journey-scene--exiting .journey-character,.journey-scene--ready .journey-object,.journey-scene--exiting .journey-object{animation:none!important}.journey-scene--walking .journey-character,.journey-scene--discovering .journey-character,.journey-scene--circling .journey-character,.journey-scene--ready .journey-character,.journey-scene--exiting .journey-character{transform:translate(0)translateY(0)}.journey-scene--exiting .journey-copy,.journey-scene--exiting .journey-prompt{opacity:1;transform:none}.journey-scene--exiting .journey-object{transform:translateY(0)scale(1)}.collect-copy,.collect-scene--intro,.collect-scene--intro .collect-character,.collect-scene--intro .collect-item,.collect-item[data-phase=bag-opening] .collect-item-shape,.collect-item[data-phase=bag-dropping] .collect-item-shape,.collect-item[data-phase=clock-shaking] .collect-item-shape,.collect-item[data-phase=onigiri-bouncing] .collect-item-shape,.collect-item[data-phase=onigiri-steaming] .collect-item-shape,.collect-scene--aggregation-converging .collect-item,.collect-scene--aggregation-flash .collect-glow{animation:none!important}.collect-scene--intro .collect-character,.collect-scene--intro .collect-item{opacity:1;transform:none}.collect-scene--aggregation-flash .collect-item{opacity:.62;transform:none}.gift-copy,.gift-scene--scene-intro,.gift-scene--scene-intro .gift-glow,.gift-scene--scene-intro .gift-focus,.gift-scene--opening .gift-box-button img,.gift-scene--nodding .gift-usagi,.gift-blessing p,.gift-confetti span,.gift-visual-card,.gift-scene--advancing .gift-visual-card{animation:none!important}.gift-confetti span,.gift-visual-card{opacity:1;transform:none}.gift-scene--scene-intro .gift-glow{transform:translate(-50%,-50%)}.ending-copy,.ending-scene--entering .ending-glow,.ending-scene--entering .ending-note-sequence,.ending-usagi,.ending-scene--card-tap .ending-usagi,.ending-scene[data-accepted=true] .ending-usagi,.ending-lines p{animation:none!important}.ending-lucky-card,.ending-lucky-note,.ending-usagi,.ending-backpack,.ending-ribbons,.fortune-completion-panel,.ending-actions{transition:none!important}.ending-scene--entering .ending-glow{opacity:1;transform:translate(-50%,-50%)}.ending-scene--entering .ending-note-sequence{opacity:1;transform:none}.fortune-copy,.fortune-scene--scene-intro,.fortune-scene--scene-intro .fortune-card-field-motion,.fortune-scene--advancing .fortune-card-field-motion,.fortune-scene--advancing .fortune-glow{animation:none!important}.fortune-scene--scene-intro .fortune-card-field-motion,.fortune-scene--advancing .fortune-card-field-motion,.fortune-scene--advancing .fortune-glow{opacity:1;transform:translate(-50%,-50%)}.fortune-completion-panel[data-continuing=true]{opacity:1;transform:translate(-50%)}.fortune-scene--enlarging .fortune-card-button[data-active=true],.fortune-scene--revealed .fortune-card-button[data-active=true]{transform:translate(var(--fortune-card-target-x), var(--fortune-card-target-y));animation:none!important}.fortune-scene--returning .fortune-card-button[data-active=true]{transform:translateY(0);animation:none!important}.fortune-card-face,.fortune-reveal-panel{transition:none!important}}@media (width<=640px){.music-button{min-width:52px;top:16px;right:16px}.story-stage{grid-template-rows:minmax(0,1fr);gap:18px;padding:76px 18px 28px}.story-stage:has(.opening-copy){grid-template-rows:auto minmax(260px,1fr) auto;gap:14px}.opening-copy h1{font-size:clamp(50px,18vw,84px)}.opening-copy .subtitle{max-width:17em}.character-stage{width:min(92vw,420px)}.opening-asset-stage{width:min(94vw,380px);max-height:min(48svh,380px)}.usagi{width:78%}.opening-asset-stage .usagi{width:min(68%,260px)}.ending-scene{grid-template-rows:auto minmax(0,1fr) auto;gap:12px;min-height:0}.ending-stage{min-height:340px;padding:18px 18px 20px}.ending-layout{grid-template-rows:auto minmax(118px,1fr) auto;gap:12px;width:min(100%,330px)}.ending-story-result{grid-template-columns:minmax(90px,128px) minmax(140px,172px);gap:16px;width:min(100%,316px)}.ending-note-sequence{width:clamp(116px,35vw,140px)}.ending-character-stage{width:clamp(144px,42vw,172px);min-height:116px}.ending-usagi{width:clamp(78px,24vw,98px);bottom:0;left:0}.ending-backpack{width:74px;height:62px;bottom:20px;right:0}.ending-friend-slots{width:min(82%,150px);bottom:0}.ending-friend-slot{width:56px}.ending-lines{gap:6px;width:min(88%,320px)}.ending-lines p{font-size:17px;line-height:1.36}.ending-actions{gap:10px;width:min(100%,340px)}.ending-accept-action,.ending-replay-action{width:100%}.journey-scene{grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.journey-stage{--journey-motion-start-x:calc(-1 * clamp(52px, 14vw, 64px));--journey-motion-mid-x:calc(-1 * clamp(18px, 5vw, 28px));--journey-motion-near-x:clamp(30px, 9vw, 44px);--journey-motion-discovery-x:clamp(58px, 18vw, 76px);--journey-motion-discovery-y:-52px;grid-template-rows:minmax(150px,1fr) auto;grid-template-columns:1fr;row-gap:8px;min-height:320px;padding:30px 18px 34px}.journey-bubble{max-width:9em;padding:6px 10px;font-size:12px}.journey-character,.journey-scene--discovering .journey-character,.journey-scene--ready .journey-character{width:clamp(72px,22vw,90px);bottom:-34px;left:clamp(132px,36vw,154px)}.journey-objects{grid-area:1/1;justify-self:center;gap:6px;width:min(100%,282px);min-height:150px;bottom:auto;right:auto}.journey-object{width:min(100%,82px);min-height:88px}.journey-object-shape{width:50px;height:46px}.journey-object--chick-clock .journey-object-shape,.journey-object--onigiri .journey-object-shape{width:50px;height:50px}.journey-object-label{font-size:12px}.collect-scene{grid-template-rows:auto minmax(0,1fr) auto;min-height:0}.collect-stage{grid-template-rows:minmax(174px,1fr) auto;grid-template-columns:1fr;row-gap:10px;min-height:340px;padding:28px 18px 34px}.collect-character{grid-area:2/1;justify-self:start;width:clamp(94px,29vw,132px);bottom:auto;left:auto;transform:translate(0)translateY(0)}.collect-items{grid-area:1/1;justify-self:center;gap:6px;width:min(100%,282px);min-height:168px;bottom:auto;right:auto}.collect-item{width:82px;min-height:86px;font-size:12px}.collect-item-shape{width:50px;height:46px}.collect-item--chick-clock .collect-item-shape,.collect-item--onigiri .collect-item-shape{width:50px;height:50px}.collect-message{max-width:18em}.gift-scene{grid-template-rows:auto minmax(0,1fr);min-height:0}.gift-stage{min-height:430px;padding:24px 18px 34px}.gift-scene--blessing-fading .gift-stage,.gift-scene--blessing .gift-stage,.gift-scene--nodding .gift-stage,.gift-scene--revealing-cards .gift-stage,.gift-scene--holding-cards .gift-stage,.gift-scene--advancing .gift-stage{gap:16px}.gift-focus{gap:clamp(12px,4vw,20px);width:min(100%,274px)}.gift-scene--blessing-fading .gift-focus,.gift-scene--blessing .gift-focus,.gift-scene--nodding .gift-focus,.gift-scene--revealing-cards .gift-focus,.gift-scene--holding-cards .gift-focus,.gift-scene--advancing .gift-focus{gap:12px;width:min(100%,246px)}.gift-usagi{width:clamp(88px,26vw,108px)}.gift-scene--blessing-fading .gift-usagi,.gift-scene--blessing .gift-usagi,.gift-scene--nodding .gift-usagi,.gift-scene--revealing-cards .gift-usagi,.gift-scene--holding-cards .gift-usagi,.gift-scene--advancing .gift-usagi{width:clamp(76px,23vw,96px)}.gift-box-button{width:clamp(102px,30vw,126px);font-size:13px}.gift-scene--blessing-fading .gift-box-button,.gift-scene--blessing .gift-box-button,.gift-scene--nodding .gift-box-button,.gift-scene--revealing-cards .gift-box-button,.gift-scene--holding-cards .gift-box-button,.gift-scene--advancing .gift-box-button{width:clamp(94px,28vw,112px)}.gift-scene--revealing-cards .gift-focus,.gift-scene--holding-cards .gift-focus,.gift-scene--advancing .gift-focus{width:min(100%,218px);transform:translateY(-30px)}.gift-scene--revealing-cards .gift-usagi,.gift-scene--holding-cards .gift-usagi,.gift-scene--advancing .gift-usagi{width:clamp(66px,20vw,82px)}.gift-scene--revealing-cards .gift-box-button,.gift-scene--holding-cards .gift-box-button,.gift-scene--advancing .gift-box-button{width:clamp(86px,25vw,100px)}.gift-box-button img{width:clamp(64px,20vw,78px)}.gift-blessing{gap:5px;width:min(100%,310px)}.gift-blessing p{font-size:14px;line-height:1.36}.gift-nod-note{max-width:8em;font-size:12px;left:16px}.gift-card-transition{width:min(90%,300px);bottom:18px}.gift-visual-cards{gap:6px;width:min(100%,230px)}.gift-scene--revealing-cards .gift-visual-cards,.gift-scene--holding-cards .gift-visual-cards,.gift-scene--advancing .gift-visual-cards{width:min(100%,230px)}.fortune-scene{grid-template-rows:auto minmax(0,1fr);min-height:0}.fortune-stage{--fortune-card-gap:8px;--fortune-card-width:clamp(108px, 30vw, 124px);--fortune-card-height:calc(var(--fortune-card-width) * 1.25);--fortune-active-card-width:min(82vw, 286px);--fortune-active-card-height:calc(var(--fortune-active-card-width) * 1.24);min-height:540px}.fortune-usagi{width:clamp(76px,22vw,94px);bottom:18px;left:12px}.fortune-progress{font-size:12px;top:12px;right:14px}.fortune-card-grid{grid-template-columns:repeat(2, var(--fortune-card-width));grid-template-rows:repeat(3, var(--fortune-card-height));gap:8px;top:50%}.fortune-card-button{--fortune-card-target-x:calc(var(--fortune-card-mobile-x) * (var(--fortune-card-width) + var(--fortune-card-gap)));--fortune-card-target-y:calc(var(--fortune-card-mobile-y) * (var(--fortune-card-height) + var(--fortune-card-gap)))}.fortune-card-face{padding:10px}.fortune-card-back span{width:48px;height:48px;font-size:14px}.fortune-scene--enlarging .fortune-card-button[data-active=true] .fortune-card-face,.fortune-scene--revealed .fortune-card-button[data-active=true] .fortune-card-face{gap:10px;padding:20px 18px}.fortune-reveal-panel{top:calc(50% + (var(--fortune-active-card-height) / 2) + 28px);width:min(84%,300px);min-height:54px}.scene-picker{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.scene-picker button{padding-inline:10px}}.collect-confirm{min-height:44px;margin-top:12px}.gift-blessing p{animation:.9s ease-out both gift-line-in}.gift-scene--blessing-fading .gift-blessing{opacity:0;transition:opacity 1s}.gift-scene--nodding .gift-blessing,.gift-scene--revealing-cards .gift-blessing,.gift-scene--holding-cards .gift-blessing,.gift-scene--advancing .gift-blessing{opacity:0}@media (prefers-reduced-motion:reduce){.gift-blessing p{animation:none}.gift-scene--blessing-fading .gift-blessing{transition-duration:.2s}}@media (width<=600px) and (height<=740px){.collect-stage{grid-template-rows:minmax(168px,1fr) auto;min-height:280px;padding-block:16px 20px}}.fortune-scene--final-hold .fortune-usagi{transform-origin:60% 80%;animation:2s ease-in-out both fortune-gentle-tap}@keyframes fortune-gentle-tap{0%,to{transform:rotate(0)}35%,65%{transform:rotate(4deg)translateY(3px)}50%{transform:rotate(2deg)translateY(1px)}}@media (prefers-reduced-motion:reduce){.fortune-scene--final-hold .fortune-usagi{animation:none}}.story-stage:has(.opening-scene){width:100%;height:100svh;min-height:480px;padding:0;display:block;overflow:hidden}.opening-scene{--opening-size:clamp(280px, 88vw, 480px);width:100%;height:100%;position:relative;overflow:hidden}.opening-title{text-align:center;opacity:0;width:100%;position:absolute;top:clamp(70px,9svh,100px)}.opening-title h1{font:800 clamp(64px, 12vw, 112px)/1 var(--heading);color:#49372f;margin:0}.opening-title[data-visible=true]{opacity:1}.opening-scene[data-phase=jump] .opening-title{animation:opening-title-appear var(--opening-title-ms) ease both}.opening-stage{width:var(--opening-size);height:var(--opening-size);position:absolute;top:48%;left:50%;transform:translate(-50%,-50%)}.opening-usagi-anchor{z-index:1;transform:translateY(calc(52svh - var(--opening-size) * .1));position:absolute;inset:0}.opening-usagi-performance{transform-origin:50% 88%;position:absolute;inset:0}.opening-usagi{object-fit:contain;width:100%;height:100%;position:absolute}.opening-usagi--blink,.opening-scene[data-phase=blink] .opening-usagi--standing{visibility:hidden}.opening-scene[data-phase=blink] .opening-usagi--blink{visibility:visible}.opening-gift-motion{z-index:2;opacity:0;width:72%;position:absolute;top:45%;left:14%}.opening-gift-shake{transform-origin:50% 70%;width:100%}.opening-gift{width:100%;display:block;overflow:visible}.opening-layer{transform-box:view-box;transform-origin:120px 78px}.opening-layer--paws{opacity:0}.opening-scene[data-phase=loading] .opening-stage,.opening-scene[data-phase=load-error] .opening-stage{visibility:hidden}.opening-scene[data-phase=peek] .opening-usagi-anchor{animation:opening-peek var(--opening-phase-ms) cubic-bezier(.2,.8,.24,1) both}.opening-scene[data-phase=throw] .opening-gift-motion{animation:opening-throw var(--opening-phase-ms) ease-out both}.opening-scene:is([data-phase=gift-settle],[data-phase=jump],[data-phase=landing],[data-phase=action-in],[data-phase=ready],[data-phase=shake],[data-phase=burst],[data-phase=action-out],[data-phase=handoff]) .opening-gift-motion{opacity:1}.opening-scene[data-phase=jump] .opening-usagi-anchor{animation:opening-jump var(--opening-phase-ms) cubic-bezier(.2,.8,.24,1) both}.opening-scene:is([data-phase=landing],[data-phase=action-in],[data-phase=ready],[data-phase=shake],[data-phase=burst],[data-phase=action-out],[data-phase=handoff]) .opening-usagi-anchor{transform:none}.opening-scene:is([data-phase=landing],[data-phase=action-in],[data-phase=ready],[data-phase=shake],[data-phase=burst],[data-phase=action-out],[data-phase=handoff]) .opening-layer--paws{opacity:1}.opening-start{left:50%;bottom:max(28px, env(safe-area-inset-bottom));opacity:0;min-height:44px;position:absolute;transform:translate(-50%)}.opening-start:is(:hover,:active,:disabled){color:#49372f;background:#ffe985;border-color:#49372f;transform:translate(-50%);box-shadow:0 8px #49372f1f}.opening-start:disabled{cursor:default}.opening-scene[data-phase=action-in] .opening-start{animation:opening-title-appear var(--opening-phase-ms) ease both}.opening-scene:is([data-phase=ready],[data-phase=shake],[data-phase=burst]) .opening-start{opacity:1}.opening-scene[data-phase=shake] .opening-gift-shake{animation:opening-double-shake var(--opening-shake-ms) ease-in-out 2 both}.opening-scene[data-phase=burst] :is(.opening-layer--ribbon-left,.opening-layer--ribbon-right,.opening-layer--bow,.opening-layer--band-body,.opening-layer--band-lid){animation:opening-band-release var(--opening-phase-ms) cubic-bezier(.12,.7,.3,1) both}.opening-layer--ribbon-left{--ribbon-x:-64px;--ribbon-y:-22px;--ribbon-angle:-65deg}.opening-layer--ribbon-right{--ribbon-x:64px;--ribbon-y:-22px;--ribbon-angle:65deg}.opening-layer--bow{--ribbon-x:0px;--ribbon-y:-55px;--ribbon-angle:18deg}.opening-layer--band-body{--ribbon-x:32px;--ribbon-y:35px;--ribbon-angle:65deg}.opening-layer--band-lid{--ribbon-x:-25px;--ribbon-y:-10px;--ribbon-angle:-50deg}.opening-scene:is([data-phase=action-out],[data-phase=handoff]) :is(.opening-layer--ribbon-left,.opening-layer--ribbon-right,.opening-layer--bow,.opening-layer--band-body,.opening-layer--band-lid){opacity:0}.opening-scene[data-phase=action-out] .opening-start{animation:opening-button-fade var(--opening-phase-ms) ease both}.opening-load-error{text-align:center;width:100%;position:absolute;top:40%}@keyframes opening-title-appear{0%{opacity:0}to{opacity:1}}@keyframes opening-peek{0%{transform:translateY(calc(52svh + var(--opening-size) * .6))}24%{transform:translateY(calc(52svh + var(--opening-size) * .5))}82%{transform:translateY(calc(52svh - var(--opening-size) * .1 - 3px))}to{transform:translateY(calc(52svh - var(--opening-size) * .1))}}@keyframes opening-throw{0%,15%{opacity:1;transform:translate(-12%,52svh)rotate(-20deg)scale(.8)}62%{opacity:1;transform:translate(5%,-24%)rotate(10deg)}to{opacity:1;transform:none}}@keyframes opening-jump{0%{transform:translateY(calc(52svh - var(--opening-size) * .1))}68%{transform:translateY(-8%)}to{transform:none}}.opening-scene[data-phase=look] .opening-usagi-performance{animation:opening-look var(--opening-phase-ms) ease-in-out both}.opening-scene[data-phase=blink] .opening-usagi-performance{transform:rotate(-3deg)}.opening-scene[data-phase=anticipation] .opening-usagi-performance{animation:opening-anticipation var(--opening-phase-ms) ease-in-out both}.opening-scene[data-phase=throw] .opening-usagi-performance{animation:opening-effort var(--opening-phase-ms) ease-in-out both}.opening-scene[data-phase=gift-settle] .opening-gift-shake{animation:opening-gift-settle var(--opening-phase-ms) ease-in-out both}.opening-scene[data-phase=landing] .opening-usagi-performance{animation:opening-land var(--opening-phase-ms) ease-in-out both}@keyframes opening-look{0%{transform:rotate(0)}to{transform:rotate(-3deg)}}@keyframes opening-anticipation{0%{transform:rotate(-3deg)}to{transform:rotate(0)scaleY(.95)}}@keyframes opening-effort{0%{transform:scaleY(.95)}18%{transform:scaleY(1.025)}65%,to{transform:none}}@keyframes opening-gift-settle{0%,to{transform:none}30%{transform:scaleY(.96)}65%{transform:translateY(-1.5%)rotate(1deg)}}@keyframes opening-land{0%,to{transform:none}28%{transform:scaleY(.94)}65%{transform:scaleY(1.015)}}@keyframes opening-double-shake{0%,to{transform:translate(0)rotate(0)}25%{transform:translate(-6%)rotate(-12deg)}65%{transform:translate(6%)rotate(12deg)}}@keyframes opening-band-release{0%{opacity:1;transform:none}to{opacity:0;transform:translate(var(--ribbon-x), var(--ribbon-y)) rotate(var(--ribbon-angle))}}@keyframes opening-button-fade{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.opening-scene *{animation-duration:var(--opening-phase-ms)!important;animation-iteration-count:1!important}.opening-scene .opening-usagi-anchor{transform:none}.opening-scene[data-phase=peek] .opening-usagi-anchor,.opening-scene[data-phase=throw] .opening-gift-motion,.opening-scene[data-phase=jump] .opening-usagi-anchor{animation-name:opening-title-appear}.opening-scene .opening-usagi-performance,.opening-scene .opening-gift-shake{animation:none!important;transform:none!important}.opening-scene[data-phase=burst] .opening-layer{animation-name:opening-button-fade}}.story-stage:has(.path-scene){width:100%;height:100svh;min-height:480px;padding:0;display:block;overflow:hidden}.path-scene{width:100%;height:100%;animation:none;display:block;position:relative}.path-stage{background:#fff6e5;position:absolute;inset:0;overflow:hidden}.path-landscape{--start-x:83%;--start-y:71%;--mid-x:65%;--mid-y:76%;--stop-x:43%;--stop-y:85%;--end-x:39%;--end-y:88%;--character-size:clamp(160px, 17vw, 270px);--prop-size:clamp(44px, 7vw, 108px);aspect-ratio:3/2;width:100%;position:absolute;bottom:0;left:0}.path-background,.path-background img{width:100%;height:100%;position:absolute;inset:0}.path-background{-webkit-mask-image:linear-gradient(#0000,#000 8%);mask-image:linear-gradient(#0000,#000 8%)}.path-camera{transform-origin:0 0;position:absolute;inset:0}.path-character{z-index:2;width:var(--character-size);aspect-ratio:1;left:var(--start-x);top:var(--start-y);transform-origin:50% 88%;position:absolute;transform:translate(-50%,-88%)scale(.42)}.path-character-art,.path-idle,.path-character img{width:100%;height:100%;position:absolute;inset:0}.path-body{clip-path:polygon(0 32%,100% 32%,100% 100%,0 100%)}.path-ear--left{clip-path:polygon(0 0,48.5% 0,48.5% 32.5%,0 32.5%);transform-origin:45% 32%}.path-ear--right{clip-path:polygon(48.5% 0,100% 0,100% 32.5%,48.5% 32.5%);transform-origin:52% 32%}.path-walk,.path-character[data-walking=true] .path-idle{visibility:hidden}.path-character[data-walking=true] .path-walk--a{animation:.48s step-end infinite path-step-a}.path-character[data-walking=true] .path-walk--b{animation:.48s step-end infinite path-step-b}.path-character[data-walking=true] .path-character-art{animation:.24s ease-in-out infinite path-bob}.path-character[data-ear-motion=true] .path-ear{animation:.3s ease-in-out 2 path-ear-wiggle}.path-ear--left{--ear-angle:-8deg}.path-ear--right{--ear-angle:8deg}.path-stage[data-path-phase=loading] .path-landscape,.path-stage[data-path-phase=load-error] .path-landscape{visibility:hidden}.path-stage[data-path-phase=entering] .path-landscape{animation:path-appear var(--path-phase-ms) ease both}.path-stage[data-path-phase=walking] .path-character{animation:path-walking var(--path-phase-ms) linear both}.path-stage:is([data-path-phase=stopping],[data-path-phase=discovering]) .path-character{left:var(--stop-x);top:var(--stop-y);transform:translate(-50%,-88%)scale(.9)}.path-stage[data-path-phase=approaching] .path-character{animation:path-approaching var(--path-phase-ms) ease-in-out both}.path-stage:is([data-path-phase=watching],[data-path-phase=collect]) .path-character{left:var(--end-x);top:var(--end-y);transform:translate(-50%,-88%)}.path-items{width:100%;height:100%;padding:0;display:block;position:absolute;inset:0;transform:none}.path-item,.path-item.collect-item{z-index:3;width:var(--prop-size);height:var(--prop-size);min-width:44px;min-height:44px;box-shadow:none;opacity:1;filter:none;background:0 0;border:0;border-radius:14px;padding:0;animation:none;display:block;position:absolute;transform:translate(-50%,-100%)}.path-item[data-item=bear-bag]{top:95%;left:10%}.path-item[data-item=chick-clock]{top:90%;left:20%}.path-item[data-item=onigiri]{top:96%;left:28%}.path-item:before,.path-item:after,.path-item .collect-item-shape:before,.path-item .collect-item-shape:after{display:none}.path-item .collect-item-shape{width:100%;height:100%;box-shadow:none;background:0 0;border:0;border-radius:0;display:block;position:relative;inset:auto;transform:none}.path-prop,.path-prop svg{width:100%;height:100%;display:block;overflow:visible}.path-prop{filter:drop-shadow(0 0 8px #fff4ad)drop-shadow(0 0 14px #fff8cf)}.path-stage:is([data-path-phase=loading],[data-path-phase=entering],[data-path-phase=walking],[data-path-phase=stopping]) .path-items{opacity:0}.path-stage[data-path-phase=discovering] .path-items{animation:.4s .2s both path-appear}.path-item.collect-item:disabled{cursor:default;color:inherit;background:0 0}.path-item.collect-item:not(:disabled):hover{background:#fff8df55;transform:translate(-50%,-100%)}.path-item.collect-item:focus-visible{outline-offset:3px;outline:3px solid #796d4c}.path-item[data-collected=true] .path-prop{opacity:.35;filter:none}.path-item[data-phase=bag-opening] [data-part=bag-flap],.path-item[data-phase=bag-dropping] [data-part=bag-flap]{transition:transform .26s;transform:scaleY(.3)translateY(-35px)}.path-feedback{z-index:4;text-align:center;justify-items:center;gap:12px;width:min(86%,520px);min-height:0;display:grid;position:absolute;top:max(88px,13svh);left:50%;transform:translate(-50%)}.path-prompt{color:#655541;margin:0;font-size:clamp(17px,2vw,22px)}.path-feedback .collect-message{max-width:100%;line-height:1.6}.path-feedback .collect-confirm{margin:0}.path-scene .collect-glow{width:18%;height:15%;top:85%;left:16%}.path-scene.collect-scene--aggregation-converging .path-item{animation:.62s ease-in-out both path-prop-converge}.path-scene.collect-scene--aggregation-flash .path-item{opacity:0}@keyframes path-appear{0%{opacity:0}to{opacity:1}}@keyframes path-step-a{0%,to{visibility:visible}50%{visibility:hidden}}@keyframes path-step-b{0%,to{visibility:hidden}50%{visibility:visible}}@keyframes path-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes path-ear-wiggle{0%,to{transform:rotate(0)}40%{transform:rotate(var(--ear-angle))}70%{transform:rotate(2deg)}}@keyframes path-walking{0%{left:calc(var(--start-x) * 1 + var(--mid-x) * 0 + var(--stop-x) * 0);top:calc(var(--start-y) * 1 + var(--mid-y) * 0 + var(--stop-y) * 0);transform:translate(-50%,-88%)scale(.42)}12.5%{left:calc(var(--start-x) * .765625 + var(--mid-x) * .21875 + var(--stop-x) * .015625);top:calc(var(--start-y) * .765625 + var(--mid-y) * .21875 + var(--stop-y) * .015625);transform:translate(-50%,-88%)scale(.48)}25%{left:calc(var(--start-x) * .5625 + var(--mid-x) * .375 + var(--stop-x) * .0625);top:calc(var(--start-y) * .5625 + var(--mid-y) * .375 + var(--stop-y) * .0625);transform:translate(-50%,-88%)scale(.54)}37.5%{left:calc(var(--start-x) * .390625 + var(--mid-x) * .46875 + var(--stop-x) * .140625);top:calc(var(--start-y) * .390625 + var(--mid-y) * .46875 + var(--stop-y) * .140625);transform:translate(-50%,-88%)scale(.6)}50%{left:calc(var(--start-x) * .25 + var(--mid-x) * .5 + var(--stop-x) * .25);top:calc(var(--start-y) * .25 + var(--mid-y) * .5 + var(--stop-y) * .25);transform:translate(-50%,-88%)scale(.66)}62.5%{left:calc(var(--start-x) * .140625 + var(--mid-x) * .46875 + var(--stop-x) * .390625);top:calc(var(--start-y) * .140625 + var(--mid-y) * .46875 + var(--stop-y) * .390625);transform:translate(-50%,-88%)scale(.72)}75%{left:calc(var(--start-x) * .0625 + var(--mid-x) * .375 + var(--stop-x) * .5625);top:calc(var(--start-y) * .0625 + var(--mid-y) * .375 + var(--stop-y) * .5625);transform:translate(-50%,-88%)scale(.78)}87.5%{left:calc(var(--start-x) * .015625 + var(--mid-x) * .21875 + var(--stop-x) * .765625);top:calc(var(--start-y) * .015625 + var(--mid-y) * .21875 + var(--stop-y) * .765625);transform:translate(-50%,-88%)scale(.84)}to{left:calc(var(--start-x) * 0 + var(--mid-x) * 0 + var(--stop-x) * 1);top:calc(var(--start-y) * 0 + var(--mid-y) * 0 + var(--stop-y) * 1);transform:translate(-50%,-88%)scale(.9)}}@keyframes path-approaching{0%{left:var(--stop-x);top:var(--stop-y);transform:translate(-50%,-88%)scale(.9)}to{left:var(--end-x);top:var(--end-y);transform:translate(-50%,-88%)scale(1)}}@keyframes path-prop-converge{to{opacity:0;top:91%;left:20%;transform:translate(-50%,-100%)scale(.2)}}@media (width<=600px){.path-landscape{aspect-ratio:2/3;--start-x:92%;--start-y:58%;--mid-x:70%;--mid-y:64%;--stop-x:62%;--stop-y:72%;--end-x:60%;--end-y:79%;--character-size:clamp(150px, 43vw, 210px);--prop-size:clamp(52px, 15vw, 80px)}.path-item[data-item=bear-bag]{top:91%;left:17%}.path-item[data-item=chick-clock]{top:83%;left:36%}.path-item[data-item=onigiri]{top:95%;left:50%}}@media (prefers-reduced-motion:reduce){.path-stage *,.path-item .collect-item-shape{transition:none!important;animation:none!important}.path-stage[data-path-phase=walking] .path-character{left:var(--stop-x);top:var(--stop-y);transform:translate(-50%,-88%)scale(.9)}.path-stage[data-path-phase=approaching] .path-character{left:var(--end-x);top:var(--end-y);transform:translate(-50%,-88%)}.path-stage:is([data-path-phase=walking],[data-path-phase=approaching]) .path-character,.path-stage[data-path-phase=entering] .path-landscape{animation:.12s both path-appear!important}.path-stage[data-path-phase=discovering] .path-items{animation:.2s .2s both path-appear!important}}.path-reaching{visibility:hidden}.path-character[data-reaching=true] .path-reaching{visibility:visible}.path-character[data-reaching=true] .path-idle{visibility:hidden}.collect-feedback[data-hidden=true]{visibility:hidden;pointer-events:none}.collect-scene:is(.collect-scene--lifting,.collect-scene--unfurling,.collect-scene--chasing,.collect-scene--descending,.collect-scene--landed) .collect-items{visibility:hidden}.ribbon-flight{pointer-events:none;--lift:clamp(120px, 15svh, 180px);position:absolute;inset:0}.ribbon-flight-piece{opacity:1;filter:none}.ribbon-original{width:100%;height:100%}.floating-ribbon{opacity:0;width:190%;height:110%;fill:var(--ribbon-color);stroke:#8c8067;stroke-width:1.6px;position:absolute;top:-5%;left:-45%;overflow:visible}.ribbon-wind{stroke:#a9b39a;stroke-width:1.4px;opacity:0;width:65%;height:24%;position:absolute;top:55%;left:7%}.collect-scene--lifting .ribbon-flight-piece{animation:1.8s ease-in-out both ribbon-object-rise}.collect-scene:is(.collect-scene--unfurling,.collect-scene--chasing,.collect-scene--descending) .ribbon-flight-piece{transform:translate(-50%, calc(-100% - var(--lift)))}.collect-scene--unfurling .ribbon-original{animation:1s both ribbon-object-dissolve}.collect-scene--unfurling .floating-ribbon{animation:1s both ribbon-unfold}.collect-scene:is(.collect-scene--chasing,.collect-scene--descending,.collect-scene--landed) .ribbon-original{opacity:0}.collect-scene--chasing .floating-ribbon{opacity:1;animation:ribbon-drift 1.3s ease-in-out var(--ribbon-delay) 2 both}.collect-scene:is(.collect-scene--unfurling,.collect-scene--chasing,.collect-scene--descending) .ribbon-wind{animation:2s ease-in-out infinite ribbon-wind-pass}.collect-scene--chasing .path-character{animation:2.6s ease-in-out both ribbon-usagi-chase}.collect-scene:is(.collect-scene--descending,.collect-scene--landed) .path-character,.path-stage[data-path-phase=notes] .path-character{left:calc(var(--end-x) + 8%);top:var(--end-y);transform:translate(-50%,-88%)}.collect-scene--descending .ribbon-flight-piece{animation:1.4s ease-in-out both ribbon-descend}.collect-scene--descending .floating-ribbon{animation:1.2s both ribbon-to-paper}.collect-scene--landed .ribbon-flight-piece{visibility:hidden}.ground-notes{z-index:3;grid-template-columns:repeat(3,minmax(44px,1fr));gap:10px;width:clamp(180px,21vw,280px);display:grid;position:absolute;top:96%;left:20%;transform:translate(-50%,-100%)}.ground-note{aspect-ratio:4/5;opacity:0;min-height:54px}.ground-note-paper,.fortune-on-path .fortune-card-back{color:#746246;width:100%;height:100%;font:700 12px/1 var(--sans);background:linear-gradient(135deg,#0000 44%,#f3dfb455 44% 56%,#0000 56%),#fff9eb;border:2px solid #a39274;border-radius:6px;place-items:center;padding:0;display:grid;box-shadow:0 3px #8c765420}.collect-scene--descending .ground-note{animation:ribbon-note-land 1.7s ease-in-out var(--note-delay) both}.collect-scene--landed .ground-note{opacity:1}.fortune-on-path{animation:none}.fortune-on-path .fortune-glow{display:none}.fortune-on-path .fortune-card-field-motion{animation:none}.fortune-on-path .fortune-card-grid{display:contents}.fortune-on-path .fortune-card-button,.fortune-on-path .fortune-card-button[data-active=true]{aspect-ratio:4/5;width:100%;height:auto;min-height:54px;transition:opacity .22s;animation:none;transform:none}.fortune-on-path .fortune-card-button .fortune-card-face,.fortune-on-path .fortune-card-button[data-active=true] .fortune-card-face{box-sizing:border-box;border-radius:6px;gap:0;min-width:0;min-height:0;padding:0;box-shadow:0 3px #8c765420}.fortune-card-slot{display:contents}.fortune-on-path .fortune-card-slot{aspect-ratio:4/5;min-height:54px;display:block;position:relative}.fortune-on-path .fortune-card-slot:has([data-active=true]){z-index:6}.fortune-on-path .fortune-card-button[data-active=true]{z-index:6;position:absolute;inset:0 auto auto 0}.fortune-on-path:is(.fortune-scene--enlarging,.fortune-scene--revealed,.fortune-scene--returning) .fortune-card-button[data-active=true]{width:var(--note-reading-width);height:var(--note-reading-height);transform:translate(var(--note-reading-x), var(--note-reading-y))}.fortune-on-path.fortune-scene--enlarging .fortune-card-button[data-active=true]{animation:ground-note-enlarge var(--fortune-reveal-ms) cubic-bezier(.22, 1, .36, 1) both}.fortune-on-path.fortune-scene--returning .fortune-card-button[data-active=true]{animation:ground-note-return var(--fortune-return-ms) cubic-bezier(.64, 0, .78, 0) both}@keyframes ground-note-enlarge{0%{width:var(--note-origin-width);height:var(--note-origin-height);transform:translate(0)}to{width:var(--note-reading-width);height:var(--note-reading-height);transform:translate(var(--note-reading-x), var(--note-reading-y))}}@keyframes ground-note-return{0%{width:var(--note-reading-width);height:var(--note-reading-height);transform:translate(var(--note-reading-x), var(--note-reading-y))}to{width:var(--note-origin-width);height:var(--note-origin-height);transform:translate(0)}}.fortune-on-path .fortune-card-back span{width:auto;height:auto;color:inherit;background:0 0;font-size:12px}.fortune-on-path .fortune-card-front{background:#fff9eb}.fortune-on-path .fortune-progress{font-size:16px;position:fixed;top:max(80px,10svh);left:50%;right:auto;transform:translate(-50%)}.fortune-on-path .fortune-reveal-panel,.fortune-on-path .fortune-completion-panel{background:#fffaf0f2;border:1px solid #e0d4bb;border-radius:18px;width:min(86vw,480px);max-height:46svh;padding:20px;position:fixed;top:max(122px,16svh);bottom:auto;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 8px 30px #826c4410}.fortune-on-path .fortune-accept-button{margin-top:12px}@keyframes ribbon-object-rise{0%{transform:translate(-50%,-100%)}to{transform:translate(-50%, calc(-100% - var(--lift)))}}@keyframes ribbon-object-dissolve{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.65)rotate(-8deg)}}@keyframes ribbon-unfold{0%{opacity:0;transform:scaleX(.15)rotate(-20deg)}to{opacity:1;transform:scaleX(1)rotate(0)}}@keyframes ribbon-drift{0%,to{transform:translate(-6%)rotate(-8deg)}50%{transform:translate(12%,-18%)rotate(10deg)}}@keyframes ribbon-wind-pass{0%,to{opacity:.08;transform:translate(-3%)}50%{opacity:.35;transform:translate(4%)}}@keyframes ribbon-usagi-chase{0%{left:var(--end-x);transform:translate(-50%,-88%)}18%{left:calc(var(--end-x) - 5%);transform:translate(-50%,calc(-88% - 58px))rotate(-5deg)}34%{left:calc(var(--end-x) - 2%);transform:translate(-50%,-88%)}50%{left:calc(var(--end-x) + 4%);transform:translate(-50%,calc(-88% - 72px))rotate(5deg)}67%{left:calc(var(--end-x) + 6%);transform:translate(-50%,-88%)}82%{left:calc(var(--end-x) + 9%);transform:translate(-50%,calc(-88% - 44px))rotate(-3deg)}to{left:calc(var(--end-x) + 8%);transform:translate(-50%,-88%)}}@keyframes ribbon-descend{0%{transform:translate(-50%, calc(-100% - var(--lift)))}to{transform:translate(-45%, calc(-100% - var(--lift) * .25))}}@keyframes ribbon-to-paper{0%,25%{opacity:1}to{opacity:0;transform:scaleX(.3)rotate(20deg)}}@keyframes ribbon-note-land{0%,20%{opacity:0;transform:translate(15px, calc(-1 * var(--lift))) rotate(var(--note-turn))}48%{opacity:1;transform:translate(-8px, calc(-.55 * var(--lift))) rotate(calc(-1 * var(--note-turn)))}85%{opacity:1;transform:translate(3px,-9px)rotate(3deg)}to{opacity:1;transform:none}}@media (width<=600px){.ground-notes{gap:8px;width:clamp(164px,46vw,224px);top:98%;left:28%}.ribbon-wind{width:85%;top:56%;left:5%}.fortune-on-path .fortune-reveal-panel,.fortune-on-path .fortune-completion-panel{max-height:42svh;padding:16px}}@media (prefers-reduced-motion:reduce){.ribbon-flight *,.collect-scene--chasing .path-character{animation:none!important}.collect-scene--lifting .ribbon-flight-piece{transform:translate(-50%, calc(-100% - var(--lift)))}.collect-scene--unfurling .ribbon-original{opacity:0}.collect-scene:is(.collect-scene--unfurling,.collect-scene--chasing) .floating-ribbon{opacity:1}.collect-scene--chasing .path-character{left:calc(var(--end-x) + 8%)}.collect-scene--descending .ribbon-flight-piece{opacity:0}.collect-scene--descending .ground-note{opacity:1}.fortune-on-path.fortune-scene--final-hold .path-character-art{animation:none}}.path-landscape{--ground-width:clamp(180px, 21vw, 280px);--ground-gap:10px;--ground-left:20%;--ground-top:96%;--note-width:calc((var(--ground-width) - 2 * var(--ground-gap)) / 3);--note-height:calc(var(--note-width) * 1.25);--pile-y:calc(var(--ground-top) - var(--note-height) - var(--ground-gap) / 2);--pickup-x:calc(var(--ground-left) + var(--character-size) * .2);--pickup-y:calc(var(--pile-y) + var(--character-size) * .16);--cat-size:calc(var(--character-size) * .8);--hamster-size:calc(var(--character-size) * .55)}.ground-notes{left:var(--ground-left);top:var(--ground-top);width:var(--ground-width);gap:var(--ground-gap)}.fortune-on-path.fortune-scene--final-hold .path-character-art{animation:none}.path-ending .path-landscape{--pile-rise:48px;--pile-x:max(var(--ground-left), calc(54px + var(--cat-size) * .761));--pile-y:calc(var(--ground-top) - var(--note-height) - var(--ground-gap) / 2 - var(--pile-rise));--pickup-x:calc(var(--pile-x) + var(--character-size) * .2);--friend-gap:clamp(64px, 8vw, 110px)}.farewell-notes{pointer-events:none}.farewell-note,.farewell-loose-note>span,.farewell-carried-notes>span{color:#746246;font:700 12px/1 var(--sans);box-sizing:border-box;background:#fff9eb;border:2px solid #a39274;border-radius:6px;place-items:center;display:grid;box-shadow:0 3px #8c765420}.farewell-note{aspect-ratio:4/5;--stack-x:calc((1 - var(--column)) * (var(--note-width) + var(--ground-gap)));--stack-y:calc((.5 - var(--row)) * (var(--note-height) + var(--ground-gap)));position:relative}.path-ending[data-phase=stacking] .farewell-notes{animation:farewell-pile-position var(--ending-phase-ms) ease-in-out both}.path-ending[data-stacked=true] .farewell-notes{left:var(--pile-x);top:calc(var(--ground-top) - var(--pile-rise))}.path-ending[data-phase=stacking] .farewell-note{animation:farewell-stack var(--ending-phase-ms) ease-in-out both}.path-ending[data-stacked=true] .farewell-note{transform:translate(var(--stack-x), var(--stack-y))}.path-ending[data-stacked=true] .farewell-note[data-last=true]{visibility:hidden}.farewell-loose-note{left:var(--pile-x);top:var(--pile-y);width:var(--note-width);height:var(--note-height);z-index:4;visibility:hidden;position:absolute;transform:translate(-50%,-50%)}.farewell-loose-note>span{transform-origin:100% 100%;width:100%;height:100%}.path-ending[data-stacked=true] .farewell-loose-note{visibility:visible;transform:translate(calc(-50% - 40px),calc(8px - 50%))rotate(-8deg)}.path-ending[data-phase=wind] .farewell-loose-note{animation:farewell-note-wind var(--ending-phase-ms) ease-in-out both}.path-ending[data-phase=reaching] .farewell-loose-note{animation:farewell-note-dodge var(--ending-phase-ms) linear both}.path-ending[data-phase=cat-enter] .farewell-loose-note{animation:farewell-note-slide var(--ending-phase-ms) linear both}.path-ending[data-phase=cat-pin] .farewell-loose-note{animation:farewell-note-stop var(--ending-phase-ms) ease-out both}.path-ending[data-phase=cat-pin] .farewell-loose-note>span{animation:farewell-corner var(--ending-phase-ms) ease-out both}.farewell-wind{left:calc(var(--pile-x) - 10%);top:calc(var(--pile-y) - 100px);stroke:#a9b39a;stroke-width:1.5px;opacity:0;width:220px;position:absolute}.path-ending:is([data-phase=wind],[data-phase=reaching]) .farewell-wind{animation:ribbon-wind-pass var(--ending-phase-ms) ease both}.farewell-friend,.farewell-usagi{z-index:5;aspect-ratio:1;transform-origin:50% 88%;visibility:hidden;position:absolute;transform:translate(-50%,-88%)}.ending-character-performance,.ending-character-pose,.farewell-friend img,.farewell-usagi img{width:100%;height:100%;position:absolute;inset:0}.ending-character-pose{transform:scaleX(var(--ending-facing,1))}.farewell-cat{width:var(--cat-size);--start-left:calc(var(--pile-x) - 40px - var(--cat-size) * .35);--start-top:calc(var(--pile-y) + 10px);left:var(--start-left);top:var(--start-top);--friend-offset:calc(-1 * var(--friend-gap));--walk-delay:var(--cat-start-ms)}.farewell-hamster{width:var(--hamster-size);z-index:6;--start-left:calc(var(--pile-x) + var(--note-width) * .5 + var(--hamster-size) * .295 - 2px);--start-top:calc(var(--pile-y) + var(--note-height) * .5 + var(--hamster-size) * .315 - 2px);left:var(--start-left);top:var(--start-top);--friend-offset:var(--friend-gap);--walk-delay:0s}.path-ending[data-cat=true] .farewell-cat,.path-ending[data-hamster=true] .farewell-hamster{visibility:visible}.path-ending[data-phase=cat-enter] .farewell-cat{animation:farewell-cat-enter var(--ending-phase-ms) ease-out both}.path-ending[data-phase=cat-enter] .farewell-cat .ending-character-performance{transform-origin:85% 85%;transform:translateY(-6px)rotate(-2deg)}.path-ending[data-phase=cat-pin] .farewell-cat .ending-character-performance{animation:farewell-paw-pin var(--ending-phase-ms) ease-out both;transform-origin:85% 85%}.path-ending[data-phase=cat-look] .farewell-cat .ending-character-performance{animation:farewell-cat-look var(--ending-phase-ms) ease-in-out both;transform-origin:85% 85%}.path-ending[data-phase=hamster-enter] .farewell-hamster{animation:farewell-hamster-enter var(--ending-phase-ms) ease-out both}.path-ending[data-phase=tidying] .farewell-hamster .ending-character-performance{animation:farewell-hamster-tidy var(--ending-phase-ms) ease-in-out both;transform-origin:20.5% 56.5%}.path-ending[data-phase=tidying] .farewell-cat .ending-character-performance{animation:farewell-release var(--ending-phase-ms) ease both}.path-ending[data-phase=lifting] .farewell-cat .ending-character-performance{transform:translateY(-2px)}.path-ending[data-phase=tidying] .farewell-loose-note{animation:farewell-neaten var(--ending-phase-ms) ease-in-out both}.path-ending[data-phase=wind] .path-character-art{animation:farewell-notice var(--ending-phase-ms) ease both}.path-ending[data-usagi-at-pile=true] .path-character{left:var(--pickup-x);top:var(--pickup-y);z-index:5}.path-ending[data-phase=reaching] .path-character{animation:farewell-reach-position var(--ending-phase-ms) ease-in-out both}.path-ending[data-phase=reaching] .path-character-art{animation:farewell-reach var(--ending-phase-ms) ease both}.path-ending[data-phase=cat-enter] .path-character-art{animation:farewell-recover var(--ending-phase-ms) ease both}.path-ending[data-phase=tidying] .path-character-art{animation:farewell-tidy var(--ending-phase-ms) ease-in-out both}.path-ending[data-phase=lifting] .path-character{left:var(--pickup-x);top:var(--pickup-y);animation:farewell-fade-out var(--pose-blend-ms) linear var(--pose-blend-ms) both}.path-ending[data-phase=lifting] :is(.farewell-notes,.farewell-loose-note){animation:farewell-fade-out var(--handoff-overlap-ms) linear var(--handoff-contact-ms) both}.path-ending[data-phase=lifting] .farewell-loose-note{transform:translate(-50%,-50%)}.path-ending[data-away=true] :is(.path-character,.farewell-notes,.farewell-loose-note){visibility:hidden}.farewell-usagi{width:var(--character-size);left:var(--pickup-x);top:var(--pickup-y);--start-left:var(--pickup-x);--start-top:var(--pickup-y);--friend-offset:0px;--walk-delay:var(--usagi-start-ms);--ending-facing:-1}.path-ending[data-carry=true] .farewell-usagi{visibility:visible}.path-ending[data-phase=lifting] .farewell-usagi .ending-character-pose{animation:farewell-fade-in var(--pose-blend-ms) linear var(--pose-blend-ms) both}.path-ending[data-phase=lifting] .farewell-usagi-body{animation:farewell-lift var(--ending-phase-ms) ease-in-out both}.ending-wave-pose{opacity:0}.farewell-carried-notes{width:24%;height:15%;position:absolute;top:68%;left:30%;transform:translate(-50%,-50%)rotate(-5deg)}.farewell-carried-notes>span{width:100%;height:100%;transform:translate(calc(var(--sheet) * var(--sheet-x,-.35px)),calc(var(--sheet) * var(--sheet-y,.65px)));font-size:9px;position:absolute;inset:0}.path-ending[data-phase=lifting] .farewell-carried-notes{width:var(--note-width);height:var(--note-height);animation:farewell-fade-in var(--handoff-overlap-ms) linear var(--handoff-contact-ms) both, farewell-paper-lift var(--handoff-lift-ms) ease-in-out var(--handoff-transfer-ms) forwards;top:72%;left:30%;transform:translate(-50%,-50%)}.path-ending[data-phase=walking] :is(.farewell-usagi,.farewell-cat,.farewell-hamster){animation:farewell-walk calc(var(--ending-phase-ms) - var(--walk-delay)) ease-in-out var(--walk-delay) both}.path-ending[data-phase=walking] .ending-character-performance{animation:farewell-step calc((var(--ending-phase-ms) - var(--walk-delay)) / 3) ease-in-out var(--walk-delay) 3 both}.path-ending[data-phase=departing] .ending-character-performance{animation:farewell-step calc(var(--ending-phase-ms) / 3) ease-in-out 3 both}.path-ending[data-phase=waving] :is(.farewell-usagi,.farewell-cat,.farewell-hamster){left:calc(var(--mid-x) + var(--friend-offset));top:var(--mid-y);transform:translate(-50%,-88%)scale(.65)}.path-ending[data-phase=waving] .ending-wave-pose{animation:farewell-wave-show var(--ending-phase-ms) ease both}.path-ending[data-phase=waving] .ending-carry-pose{animation:farewell-carry-hide var(--ending-phase-ms) ease both}.path-ending[data-phase=waving] .farewell-usagi-body{animation:farewell-wave var(--ending-phase-ms) ease-in-out both}.path-ending[data-phase=departing] :is(.farewell-usagi,.farewell-cat,.farewell-hamster){animation:farewell-depart var(--ending-phase-ms) ease-in both}.path-ending[data-phase=complete] :is(.farewell-usagi,.farewell-cat,.farewell-hamster){left:var(--start-x);top:var(--start-y);opacity:0;transform:translate(-50%,-88%)scale(.2)}.path-ending .farewell-copy{z-index:6;text-align:center;width:min(88vw,580px);margin:0;position:absolute;top:max(95px,14svh);left:50%;transform:translate(-50%)}.path-ending .farewell-copy p{font:600 clamp(19px, 2.3vw, 24px)/1.7 var(--sans);color:#65523e;opacity:1;animation:path-appear var(--copy-fade-ms) ease var(--line-delay) both;margin:0 0 12px}.path-ending .farewell-actions{z-index:8;justify-content:center;gap:14px;width:min(90vw,420px);min-height:48px;padding:0;display:flex;position:absolute;top:auto;bottom:max(24px,4svh);left:50%;transform:translate(-50%)}.path-ending .farewell-actions button{white-space:nowrap;min-height:44px}.path-ending .farewell-accepted{z-index:8;margin:0;position:absolute;top:max(285px,44svh);left:50%;transform:translate(-50%)}@keyframes farewell-pile-position{0%{left:var(--ground-left);top:var(--ground-top)}to{left:var(--pile-x);top:calc(var(--ground-top) - var(--pile-rise))}}@keyframes farewell-stack{0%{transform:none}to{transform:translate(var(--stack-x),var(--stack-y))}}@keyframes farewell-note-wind{0%{transform:translate(-50%,-50%)}to{transform:translate(calc(-50% - 18px),calc(4px - 50%))rotate(-5deg)}}@keyframes farewell-note-dodge{0%{transform:translate(calc(-50% - 18px),calc(4px - 50%))rotate(-5deg)}to{transform:translate(calc(-50% - 28px),calc(8px - 50%))rotate(-8deg)}}@keyframes farewell-note-slide{0%{transform:translate(calc(-50% - 28px),calc(8px - 50%))rotate(-8deg)}to{transform:translate(calc(-50% - 37px),calc(8px - 50%))rotate(-8deg)}}@keyframes farewell-note-stop{0%{transform:translate(calc(-50% - 37px),calc(8px - 50%))rotate(-8deg)}40%,to{transform:translate(calc(-50% - 40px),calc(8px - 50%))rotate(-8deg)}}@keyframes farewell-corner{0%,30%{transform:skewY(-4deg)}60%,to{transform:none}}@keyframes farewell-cat-enter{0%,18%{left:calc(-.45 * var(--cat-size))}85%,to{left:var(--start-left)}}@keyframes farewell-paw-pin{0%,to{transform:none}40%{transform:translateY(1px)rotate(.5deg)}}@keyframes farewell-cat-look{0%,to{transform:none}45%{transform:rotate(-1deg)}}@keyframes farewell-hamster-enter{0%{left:calc(100% + var(--hamster-size))}to{left:var(--start-left)}}@keyframes farewell-hamster-tidy{0%,55%,to{transform:none}25%{transform:translate(-2px,-1px)rotate(-1deg)}75%{transform:translate(-1px,-.5px)rotate(-.5deg)}}@keyframes farewell-tidy{0%,55%,to{transform:none}20%{transform:translate(-4px,2px)rotate(-2deg)}40%{transform:translate(-2px,1px)rotate(-1deg)}}@keyframes farewell-release{0%,41%{transform:none}75%,to{transform:translateY(-2px)}}@keyframes farewell-neaten{0%,12%{transform:translate(calc(-50% - 40px),calc(8px - 50%))rotate(-8deg)}53%,to{transform:translate(-50%,-50%)}}@keyframes farewell-reach-position{0%{left:calc(var(--end-x) + 8%);top:var(--end-y)}to{left:var(--pickup-x);top:var(--pickup-y)}}@keyframes farewell-notice{0%,23%{transform:none}70%,to{transform:translate(-3px,1px)rotate(-2deg)}}@keyframes farewell-reach{0%{transform:translate(-3px,1px)rotate(-2deg)}55%{transform:translate(-9px,2px)rotate(-4deg)}to{transform:translate(-6px,1px)rotate(-2deg)}}@keyframes farewell-recover{0%{transform:translate(-6px,1px)rotate(-2deg)}to{transform:none}}@keyframes farewell-fade-in{0%{opacity:0}to{opacity:1}}@keyframes farewell-fade-out{0%{opacity:1}to{opacity:0}}@keyframes farewell-paper-lift{0%{width:var(--note-width);height:var(--note-height);top:72%;left:30%;transform:translate(-50%,-50%)}to{width:24%;height:15%;top:68%;left:30%;transform:translate(-50%,-50%)rotate(-5deg)}}@keyframes farewell-lift{0%,68.889%,to{transform:none}82%{transform:translateY(2px)}}@keyframes farewell-walk{0%{left:var(--start-left);top:var(--start-top);transform:translate(-50%,-88%)}to{left:calc(var(--mid-x) + var(--friend-offset));top:var(--mid-y);transform:translate(-50%,-88%)scale(.65)}}@keyframes farewell-step{0%,to{transform:none}50%{transform:translateY(-2px)rotate(.5deg)}}@keyframes farewell-wave-show{0%,to{opacity:0}12%,92%{opacity:1}}@keyframes farewell-carry-hide{0%,to{opacity:1}12%,92%{opacity:0}}@keyframes farewell-wave{0%,16%,86%,to{transform:none}32%,62%{transform:rotate(-3deg)}47%,74%{transform:rotate(3deg)}}@keyframes farewell-depart{0%,14%{left:calc(var(--mid-x) + var(--friend-offset));top:var(--mid-y);opacity:1;transform:translate(-50%,-88%)scale(.65)}70%{left:calc(var(--start-x) - 4% + var(--friend-offset) * .6);top:calc(var(--start-y) + 1%);opacity:.65;transform:translate(-50%,-88%)scale(.32)}to{left:var(--start-x);top:var(--start-y);opacity:0;transform:translate(-50%,-88%)scale(.2)}}@media (width<=600px){.path-landscape{--ground-width:clamp(164px, 46vw, 224px);--ground-gap:8px;--ground-left:28%;--ground-top:98%}}@media (prefers-reduced-motion:reduce){.path-ending .path-stage *{animation:none!important}.path-ending[data-phase=stacking] .farewell-notes{left:var(--pile-x);top:calc(var(--ground-top) - var(--pile-rise))}.path-ending[data-phase=stacking] .farewell-note{transform:translate(var(--stack-x),var(--stack-y))}.path-ending[data-phase=tidying] .path-character{left:var(--pickup-x);top:var(--pickup-y)}.path-ending[data-phase=tidying] .farewell-loose-note{transform:translate(-50%,-50%)}.path-ending[data-phase=lifting] .path-character{opacity:0}.path-ending[data-phase=lifting] .farewell-carried-notes{width:var(--note-width);height:var(--note-height);top:72%;left:30%;transform:translate(-50%,-50%)}.path-ending[data-paper-owner=ground][data-phase=lifting] .farewell-carried-notes{opacity:0}.path-ending[data-paper-owner=shared] :is(.farewell-notes,.farewell-loose-note,.farewell-carried-notes){opacity:.5}.path-ending[data-paper-owner=carried] :is(.farewell-notes,.farewell-loose-note){opacity:0}.path-ending[data-paper-owner=carried] .farewell-carried-notes{width:24%;height:15%;top:68%;left:30%;transform:translate(-50%,-50%)rotate(-5deg)}.path-ending:is([data-phase=walking],[data-phase=departing]) :is(.farewell-usagi,.farewell-cat,.farewell-hamster){left:calc(var(--mid-x) + var(--friend-offset));top:var(--mid-y);transform:translate(-50%,-88%)scale(.65)}.path-ending[data-phase=waving] .ending-wave-pose{opacity:1}.path-ending[data-phase=waving] .ending-carry-pose{opacity:0}}.collect-scene[data-story-active=true] .collect-items{z-index:auto}.collect-scene .path-character{pointer-events:none}.collect-scene[data-story-active=true] .collect-actor{z-index:2;transform:translate(-50%,-88%);transition:none!important;animation:none!important}.collect-story-performance,.collect-story-facing,.collect-story-standing,.collect-story-pose,.collect-story-walk{transform-origin:50% 88%;width:100%;height:100%;position:absolute;inset:0}.collect-story-walk{visibility:hidden}.collect-actor[data-walking=true] .collect-story-walk--a{animation:.48s step-end infinite path-step-a}.collect-actor[data-walking=true] .collect-story-walk--b{animation:.48s step-end infinite path-step-b}.collect-story-hands{z-index:5;pointer-events:none;position:absolute;transform:translate(-50%,-88%)}.collect-story-prop{z-index:4;pointer-events:none;transform-origin:50% 85%;position:absolute}.collect-story-prop .path-prop{filter:none}.collect-story-prop [data-part=strap]{opacity:var(--collect-original-strap,1)}.collect-story-strap{pointer-events:none;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.collect-story-strap--back{z-index:1}.collect-story-strap--front{z-index:3}.path-prop[data-hide-strap=true] [data-part=strap],.collect-scene[data-story-active=true] .collect-item[data-active=true] .collect-item-shape{visibility:hidden}.collect-scene[data-story-active=true] .collect-item .collect-item-shape{animation:none}.collect-story-ring{fill:none;stroke:#a39274;stroke-width:2px;stroke-linecap:round;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.collect-clock-sound{display:none}.collect-actor *,.collect-story-hands *,.collect-story-prop,.collect-story-prop *,.collect-story-strap{transition:none!important}.collect-scene[data-ribbon-active=true] .collect-items{visibility:visible}.collect-scene[data-ribbon-active=true] .collect-item{transform-origin:50%;animation:none!important}.collect-scene[data-ribbon-active=true] .collect-item .path-prop{opacity:var(--ribbon-object-color,.35)}.collect-scene[data-ribbon-active=true] .path-character{transition:none;transform:translate(-50%,-88%);animation:none!important}.collect-scene[data-ribbon-active=true] .path-character-art{transform:scaleY(var(--ribbon-squash,1));transform-origin:50% 88%;animation:none!important}.collect-scene[data-ribbon-active=true] .path-character[data-reaching=true] .path-reaching{visibility:visible;opacity:1}.collect-scene[data-ribbon-active=true] .path-character[data-reaching=true] .path-idle{visibility:hidden}.ribbon-continuity{z-index:4}.ribbon-continuity.ribbon-play{z-index:auto}.ribbon-material{position:absolute;inset:0;overflow:visible}.ribbon-continuity .ribbon-segment{opacity:1;min-height:0;overflow:visible;animation:none!important}.ribbon-continuity .ground-note-paper{box-sizing:border-box}.path-character-facing{position:absolute;inset:0}.collect-scene[data-ribbon-active=true] .path-character-facing{transform:scaleX(var(--ribbon-facing,1));transform-origin:50% 88%}.collect-scene[data-ribbon-active=true] .collect-item,.collect-scene[data-ribbon-active=true] .collect-item *{transition:none!important}.ribbon-measure .ground-note{animation:none!important;transform:none!important}.collect-scene[data-ribbon-active=true] .path-item[data-item=bear-bag] [data-part=bag-flap]{transform:scaleY(var(--ribbon-flap-scale,1)) translateY(var(--ribbon-flap-y,0px))}.opening-cat-handoff{z-index:3;pointer-events:none;position:absolute;inset:0}.handoff-path-preview,.handoff-grass{opacity:var(--opening-background,0);position:absolute;inset:0}.handoff-path-preview .path-character,.handoff-grass .path-character{visibility:hidden}.handoff-path-preview .path-landscape,.handoff-grass .path-landscape,.journey-scene .path-landscape{--start-x:min(83%, calc(100% - 12px - var(--character-size) * .42 * .262))}.handoff-actor,.handoff-cat-window,.handoff-cat-performance,.handoff-usagi-performance,.handoff-actor img{transition:none!important}.handoff-actor{transform-origin:50% 88%;position:absolute;transform:translate(-50%,-88%)}.handoff-cat-performance,.handoff-usagi-performance,.handoff-actor img{transform-origin:50% 88%;width:100%;height:100%;position:absolute;inset:0}.handoff-cat-window{z-index:3;position:absolute;inset:0}.handoff-gift{pointer-events:none;transform-origin:50% 35%;position:absolute}.handoff-gift svg{width:100%;display:block;overflow:visible}.handoff-gift--back{z-index:2}.handoff-gift--front{z-index:4}.handoff-gift--lid{z-index:6}.handoff-gift .opening-layer{opacity:1!important;animation:none!important}.handoff-gift--front .opening-layer:not(.opening-layer--box-body):not(.opening-layer--band-body),.handoff-gift--lid :is(.opening-layer--box-body,.opening-layer--band-body,.opening-layer--paws){display:none}.handoff-usagi{z-index:2}.handoff-walk-a,.handoff-walk-b,.handoff-usagi[data-walking=true] .handoff-usagi-standing{visibility:hidden}.handoff-usagi[data-walking=true] .handoff-walk-a{animation:.48s step-end infinite path-step-a}.handoff-usagi[data-walking=true] .handoff-walk-b{animation:.48s step-end infinite path-step-b}.opening-scene[data-cat-handoff=true]>.opening-stage{visibility:hidden}.opening-scene[data-cat-handoff=true] .opening-title{opacity:calc(1 - var(--handoff-bg,0))}.opening-scene[data-handoff-requested=true]>.opening-start{visibility:hidden}.opening-scene[data-handoff-requested=true]>.opening-stage .opening-layer{opacity:1}.opening-path-loading{text-align:center;z-index:8;width:80%;position:absolute;bottom:28px;left:10%}@media (width<=600px){.handoff-path-preview .path-landscape,.handoff-grass .path-landscape,.journey-scene .path-landscape{--start-x:min(92%, calc(100% - 12px - var(--character-size) * .42 * .262))}}.handoff-cat-window[data-clipping=false]{z-index:5}.handoff-grass{z-index:6}.opening-cat-handoff:is([data-phase=following],[data-phase=escaping]) .handoff-usagi{z-index:7}.ground-shadow{pointer-events:none;z-index:0;left:var(--shadow-anchor-x,50%);top:calc(88% + var(--ground-elevation,0px));width:calc(65% * var(--shadow-body-width,.5) * var(--shadow-scale,1));aspect-ratio:1/.18;background:radial-gradient(ellipse, rgb(104 88 69/var(--shadow-alpha,.12)) 0%, #68584500 72%);position:absolute;transform:translate(-50%,-50%)}.path-character-facing,.handoff-cat-performance,.handoff-usagi-performance,.ending-character-performance{z-index:1}.opening-usagi-anchor>.ground-shadow{visibility:hidden}.opening-scene:is([data-phase=landing],[data-phase=action-in],[data-phase=ready],[data-phase=handoff]) .opening-usagi-anchor>.ground-shadow{visibility:inherit}.handoff-grass-landscape,.handoff-grass-landscape picture,.handoff-grass-landscape img{position:absolute}.handoff-grass-landscape picture,.handoff-grass-landscape img{width:100%;height:100%;inset:0}.path-ending[data-phase=lifting] .path-character>.ground-shadow{visibility:hidden}.handoff-cat-ground{z-index:1}.fortune-on-path .fortune-reveal-panel{top:var(--note-reading-top);width:var(--note-reading-width);height:var(--note-reading-height);box-sizing:border-box;max-height:none;box-shadow:none;background:0 0;border:0;flex-direction:column;justify-content:flex-end;gap:14px;padding:24px;transition:none;display:flex}.fortune-on-path .fortune-reveal-panel[data-visible=false]{visibility:hidden}.fortune-on-path .fortune-reveal-panel .fortune-accept-button{flex-shrink:0;align-self:center}@media (prefers-reduced-motion:reduce){.fortune-on-path.fortune-scene--enlarging .fortune-card-button[data-active=true],.fortune-on-path.fortune-scene--returning .fortune-card-button[data-active=true]{animation:none}.fortune-on-path.fortune-scene--returning .fortune-card-button[data-active=true]{width:var(--note-origin-width);height:var(--note-origin-height);transform:none}.fortune-card-face{transition:none}}.fortune-card-front,.farewell-note,.farewell-loose-note>span,.farewell-carried-notes>span{container-type:size}.fortune-card-front{min-width:0;min-height:0;position:relative}.farewell-loose-note>span{position:relative}.fortune-paper-content{box-sizing:border-box;text-align:center;color:#594c3c;font-family:var(--sans);white-space:normal;overflow-wrap:anywhere;flex-direction:column;justify-content:center;align-items:stretch;gap:min(max(2px,4cqw),5cqh);padding:min(7cqw,7cqh);display:flex;position:absolute;inset:0}.fortune-paper-title{color:#677e78;font-size:min(clamp(6px,7cqw,21px),15cqh);font-weight:800;line-height:1.25;display:block}.fortune-paper-body{font-size:min(clamp(5px,6.3cqw,17px),10cqh);font-weight:500;line-height:1.5;display:block}.fortune-on-path .fortune-card-button[data-settled=true] .fortune-card-face{opacity:1}.handoff-walk,.handoff-turn{width:100%;height:100%;position:absolute;inset:0}.path-ending[data-phase=cat-look] .path-character-art{transform-origin:50% 88%;transform:rotate(var(--ending-response))}.path-ending[data-phase=lifting] .farewell-usagi-body{scale:1 var(--ending-settle);transform-origin:50% 88%}.path-ending[data-phase=departing] .farewell-usagi .ending-character-pose{scale:var(--ending-turn-scale) 1;transform-origin:50% 88%}@media (prefers-reduced-motion:reduce){.path-ending .ending-character-performance,.path-ending .ending-character-pose{scale:1}.path-ending[data-phase=cat-look] .path-character-art{transform:none}}.opening-acting-ears{object-fit:contain;transform-origin:50% 33%;width:100%;height:100%;position:absolute;inset:0}.collect-scene[data-phase=idle] .collect-story-performance{animation:3.8s ease-in-out infinite acting-breathe}@keyframes acting-breathe{0%,to{scale:1}50%{scale:1 1.006}}@media (prefers-reduced-motion:reduce){.collect-scene[data-phase=idle] .collect-story-performance{animation:none}}.collect-performance-layer{display:contents}.path-stage .path-character[data-motion-travel=true]{animation:none;top:0;left:0}@media (prefers-reduced-motion:no-preference){.opening-scene[data-phase=peek] .opening-usagi-anchor{animation-timing-function:var(--motion-soft)}.opening-scene[data-phase=gift-settle] .opening-usagi-performance{animation:gift-weight-response var(--opening-phase-ms) var(--motion-settle) both}.path-ending[data-phase=hamster-enter] .farewell-hamster .ending-character-performance,.path-ending[data-phase=cat-enter] .farewell-cat .ending-character-performance{animation:friend-land var(--ending-phase-ms) var(--motion-settle) both;transform-origin:50% 88%}.path-ending[data-phase=departing] .ending-character-performance{animation:distant-steps var(--ending-phase-ms) linear both}}@keyframes gift-weight-response{0%,12%,to{transform:none}36%{transform:translateY(2px)scaleY(.965)}70%{transform:translateY(-1px)scaleY(1.015)}}@keyframes friend-land{0%,15%{transform:translateY(-3px)rotate(-1deg)}70%{transform:translateY(1px)scaleY(.96)}86%{transform:scaleY(1.015)}to{transform:none}}@keyframes distant-steps{0%,20%,40%,60%,80%,to{transform:none}10%{transform:translateY(-2px)rotate(.7deg)}30%{transform:translateY(-1.5px)rotate(-.5deg)}50%{transform:translateY(-1px)rotate(.3deg)}70%,90%{transform:translateY(-.4px)}}.path-ending:is([data-phase=empty],[data-phase=copy],[data-phase=complete]) :is(.farewell-usagi,.farewell-cat,.farewell-hamster){visibility:hidden;opacity:0}.path-ending[data-phase=copy] .farewell-copy p{animation-timing-function:var(--motion-soft)}.fortune-on-path .fortune-reveal-panel{left:var(--note-reading-left)}
