@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-normal-CnvboYUG.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-normal-Ca2vKHc0.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-normal-ukD16Tqj.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-vietnamese-wght-italic-BicUS2cM.woff2)format("woff2-variations");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-ext-wght-italic-BfTTTDIL.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces Variable;font-style:italic;font-display:swap;font-weight:100 900;src:url(/assets/fraunces-latin-wght-italic-Py8at3oI.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-ext-wght-normal-BOFOeGcA.woff2)format("woff2-variations");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:DM Sans Variable;font-style:normal;font-display:swap;font-weight:100 1000;src:url(/assets/dm-sans-latin-wght-normal-Xz1IZZA0.woff2)format("woff2-variations");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--cream:#fff7f0;--blush:#f9e1e1;--powder:#f1c5ca;--pastel:#ffd6df;--lav:#d9cdf2;--lav-deep:#9a85cf;--rose:#e8788f;--rose-deep:#d24d6f;--serif:"Fraunces Variable", "Iowan Old Style", "Palatino Linotype", Georgia, serif;--sans:"DM Sans Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--spring:cubic-bezier(.34, 1.56, .64, 1);--hero:clamp(104px, 33vw, 156px)}.world{--ink:#4a2f2b;--ink-soft:#7d5d57;--accent:var(--rose-deep);--card-bg:#fffbf7bd;--card-border:#ffffffd9;--card-shadow:0 44px 80px -34px #be60706b, 0 14px 32px -14px #be607033;--chip-bg:#fff9;--px:0;--py:0}.world[data-mood=sad]{--ink:#eaf0fa;--ink-soft:#b4c1d8;--accent:#a9bfe6;--card-bg:#303a54ad;--card-border:#aabee447;--card-shadow:0 44px 80px -34px #080c1eb3, 0 14px 32px -14px #080c1e66;--chip-bg:#ffffff1a}.world[data-mood=love]{--card-bg:#fff9f4cc;--accent:#db4468;--card-shadow:0 0 70px 6px #ff8caa80, 0 44px 80px -34px #be60706b}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}html,body{overflow:hidden}body{overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;background:#fbe9e6}button{font:inherit;color:inherit;-webkit-appearance:none;appearance:none;touch-action:manipulation;-webkit-tap-highlight-color:transparent}h1,h2,p{margin:0}.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}:focus-visible{outline:3px solid var(--lav-deep);outline-offset:3px;border-radius:12px}.world{contain:paint;font-family:var(--sans);color:var(--ink);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation;transition:color 1s;position:fixed;top:0;bottom:0;left:0;right:0;overflow:clip}.bg{pointer-events:none;transition:opacity 1.3s;position:absolute;top:0;bottom:0;left:0;right:0}.bg-base{background:radial-gradient(60% 45% at 12% 8%,#f1c5cabf,#0000 70%),radial-gradient(55% 45% at 92% 92%,#d9cdf2b3,#0000 72%),radial-gradient(70% 55% at 50% 52%,#fff7f0f2,#0000 80%),linear-gradient(165deg,#fff3ec 0%,#fbe3e3 52%,#f1e6f8 100%)}.bg-sad{opacity:0;background:radial-gradient(70% 50% at 50% 0,#92a4c68c,#0000 70%),linear-gradient(#8794ad 0%,#5d6a86 52%,#3d4760 100%)}.bg-love{opacity:0;background:radial-gradient(60% 50% at 50% 40%,#fffaf2 0%,#ffe8eee6 38%,#ffcddc00 72%),radial-gradient(50% 40% at 15% 90%,#ffc49673,#0000 70%),radial-gradient(50% 40% at 90% 10%,#d9cdf2a6,#0000 70%),linear-gradient(160deg,#ffeef0 0%,#ffd9e2 55%,#eadcff 100%)}.world[data-mood=sad] .bg-sad{opacity:1;transition-duration:1.1s}.world[data-mood=love] .bg-love{opacity:1;transition-duration:1.8s}.world[data-mood=love] .bg-base{opacity:.25}.shade{z-index:3;opacity:0;pointer-events:none;background:linear-gradient(#141c364d,#0e142c6b);transition:opacity 1.2s;position:absolute;top:0;bottom:0;left:0;right:0}.world[data-mood=sad] .shade{opacity:1}.tint-red{z-index:3;pointer-events:none;opacity:var(--red,0);background:radial-gradient(85% 70% at 50% 48%,#ff5a6400 22%,#d61c3494 100%),#ff46541a;transition:opacity .7s;position:absolute;top:0;bottom:0;left:0;right:0}.layer-rain{z-index:3;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.layer-fx{z-index:6;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cat{aspect-ratio:1;transform-origin:50% 92%;isolation:isolate;-webkit-tap-highlight-color:transparent;width:100%;display:block;position:relative}.cat img{object-fit:contain;pointer-events:none;-webkit-user-drag:none;width:100%;height:100%;transition:opacity .9s;position:absolute;top:0;bottom:0;left:0;right:0}.cat:after{content:"";z-index:-1;background:radial-gradient(closest-side,#78424638,#0000);border-radius:50%;height:7%;position:absolute;bottom:1%;left:16%;right:16%}.cat img.v-sad,.cat img.v-love,.world[data-mood=sad] .cat img.v-normal:not(.v-forced){opacity:0}.world[data-mood=sad] .cat img.v-sad:not(.v-forced){opacity:1}.world[data-mood=love] .cat img.v-normal:not(.v-forced){opacity:0}.world[data-mood=love] .cat img.v-love:not(.v-forced),.cat img.v-forced{opacity:1}.backdrop{z-index:1;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.slot{width:clamp(62px, var(--w), 172px);position:absolute}.slot .cat{pointer-events:auto;cursor:pointer}.slot-par{transform:translate3d(calc(var(--px) * var(--depth) * -1px), calc(var(--py) * var(--depth) * -1px), 0);will-change:transform}.slot-in{animation:cat-enter 1.4s var(--ease-out) both}.slot-drift{will-change:transform;animation:9s ease-in-out infinite drift-a}.drift-b{animation-name:drift-b}.drift-c{animation-name:drift-c}.only-wide{display:none}@keyframes cat-enter{0%{opacity:0;transform:translateY(46px) scale(.6) rotate(calc(var(--rot) * -2.5))}to{opacity:1;transform:translateY(0) scale(1) rotate(var(--rot))}}@keyframes drift-a{0%,to{transform:translate(0,0)rotate(-2deg)}50%{transform:translate(7px,-15px)rotate(3deg)}}@keyframes drift-b{0%,to{transform:translate(-9px,3px)rotate(2deg)}50%{transform:translate(11px,-9px)rotate(-3deg)}}@keyframes drift-c{0%,to{transform:translateY(2px)rotate(-6deg)}50%{transform:translateY(-11px)rotate(6deg)}}.wanderer{width:clamp(54px, var(--w), 124px);opacity:.9;will-change:transform;animation:linear infinite both wander-x;position:absolute;left:0}.wanderer.rev{animation-direction:reverse}.wanderer.rev .cat{transform:scaleX(-1)}@keyframes wander-x{0%{transform:translate(-24vw)}to{transform:translate(124vw)}}.stage{z-index:4;overscroll-behavior:contain;height:100%;padding:calc(env(safe-area-inset-top,0px) + 28px + var(--hero) * .62) max(16px, env(safe-area-inset-left,0px)) calc(env(safe-area-inset-bottom,0px) + 28px) max(16px, env(safe-area-inset-right,0px));pointer-events:none;scrollbar-width:none;flex-direction:column;align-items:center;display:flex;position:relative;overflow:hidden auto}.stage::-webkit-scrollbar{display:none}.card{background:var(--card-bg);-webkit-backdrop-filter:blur(20px)saturate(1.25);backdrop-filter:blur(20px)saturate(1.25);border:1px solid var(--card-border);width:min(100%,490px);box-shadow:var(--card-shadow), inset 0 1.5px 0 #ffffffd9, 0 0 calc(var(--red,0) * 70px) calc(var(--red,0) * 6px) rgba(236, 52, 70, calc(var(--red,0) * .5));pointer-events:auto;will-change:transform;border-radius:36px;margin:auto;transition:background-color 1s,border-color 1s,box-shadow .8s;position:relative}.card-body{overflow:visible}.autoheight-in{padding:clamp(22px,6vw,34px) clamp(18px,5.5vw,34px) clamp(18px,5vw,26px)}.card-glow{z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(60% 60%,#ff96b099,#ffd2a040 55%,#0000 72%);border-radius:48px;transition:opacity 1.2s;position:absolute;top:-12px;bottom:-12px;left:-12px;right:-12px}.world[data-mood=love] .card-glow{opacity:1;animation:2.6s ease-in-out infinite glow-pulse}@keyframes glow-pulse{0%,to{filter:blur(14px);transform:scale(.97)}50%{filter:blur(18px);transform:scale(1.04)}}.view{position:relative}.hero-wrap,.intro-cat,.msg-cat,.rest-cat{width:var(--hero);margin:calc(var(--hero) * -.8) auto 0;position:relative}.hero-cat{transition:transform .4s var(--ease-out);transform:translate3d(calc(var(--px) * 5px), calc(var(--py) * 3px), 0) rotate(calc(var(--px) * 2.5deg))}.hero-wrap .cat{cursor:pointer}.hero-bubble{z-index:2;color:#4a2f2b;pointer-events:none;background:#fff;border-radius:16px 16px 16px 4px;width:max-content;max-width:62vw;padding:.55em .9em;font-size:.85rem;font-weight:600;position:absolute;bottom:78%;left:58%;box-shadow:0 8px 20px -8px #783c4666}.view-intro{text-align:center;cursor:pointer}.intro-lines{place-items:center;min-height:4.4em;padding:.6em 0 .2em;display:grid}.intro-line{font-family:var(--serif);text-wrap:balance;font-size:clamp(1.5rem,6.4vw,2rem);font-style:italic;font-weight:400;line-height:1.22}.intro-line-big{letter-spacing:-.02em;color:var(--accent);font-size:clamp(2.2rem,10vw,3rem);font-style:normal;font-weight:600}.view-ask{text-align:center}.question{font-family:var(--serif);letter-spacing:-.028em;text-wrap:balance;margin:.32em 0 .62em;font-size:clamp(2.1rem,9.8vw,3.4rem);font-weight:600;line-height:1.04}.q-name{color:var(--accent);letter-spacing:-.01em;margin-bottom:.1em;font-size:.7em;font-style:italic;font-weight:400;transition:color 1s;display:block}.question em{color:var(--accent);font-style:italic;transition:color 1s}.actions{flex-direction:column;align-items:center;display:flex}.btn{cursor:pointer;font-family:var(--sans);-webkit-user-select:none;user-select:none;border:0;border-radius:999px;position:relative;overflow:hidden}.btn-yes{width:var(--yes-w,auto);min-height:calc(58px * var(--yes-s,1));font-size:calc(1.2rem * var(--yes-s,1));letter-spacing:.03em;color:#fff;transition:width .75s var(--spring), min-height .75s var(--spring), font-size .75s var(--spring), transform .35s var(--spring), box-shadow .3s ease;-webkit-tap-highlight-color:transparent;background:linear-gradient(135deg,#f78fa9 0%,#e5607f 55%,#d94a6f 100%);padding:0 1.4em;font-weight:700;box-shadow:0 18px 30px -12px #de5476b3,inset 0 3px #ffffff61,inset 0 -4px #941c3a38}.btn-yes:active{transform:scale(.965);box-shadow:0 8px 16px -10px #de5476b3,inset 0 3px #ffffff4d}.btn-shine{pointer-events:none;background:linear-gradient(105deg,#0000 35%,#ffffff8c 50%,#0000 65%);animation:5s ease-in-out 1.6s infinite shine;position:absolute;top:0;bottom:0;left:0;right:0;transform:translate(-120%)}.btn-label{z-index:1;justify-content:center;align-items:center;gap:.4em;display:inline-flex;position:relative}.btn-heart{color:#fff;width:1.15em;height:1em;animation:1.7s ease-in-out infinite beat}.btn-yes.gulped{animation:gulp .8s var(--spring)}.btn-no{min-width:46px;min-height:32px;font-size:max(9px, calc(1.02rem * var(--no-s,1)));letter-spacing:.04em;color:var(--ink-soft);background:var(--chip-bg);border:1.5px solid color-mix(in srgb, var(--ink) 18%, transparent);transition:font-size .7s var(--spring), padding .7s var(--spring), background-color .3s ease, color .9s ease, transform .3s var(--spring);margin-top:14px;padding:.85em 2.1em;font-weight:600}.btn-no:active{transform:scale(.94)}.no-slot{height:calc(max(32px, 52px * var(--no-s,1)) + 14px);transition:height .7s var(--spring);justify-content:center;display:flex}.no-slot.closed{height:0}.caption{min-height:1.5em;color:var(--ink-soft);text-wrap:balance;margin-top:.85em;font-size:.98rem;line-height:1.4}.quiet-link{min-height:44px;color:var(--ink-soft);text-underline-offset:4px;cursor:pointer;background:0 0;border:0;margin:.2em auto 0;padding:10px 16px;font-size:.9rem;text-decoration:underline;text-decoration-thickness:1px;display:block}.btn-soft{min-height:52px;color:var(--ink);background:var(--chip-bg);border:1.5px solid color-mix(in srgb, var(--ink) 16%, transparent);transition:transform .3s var(--spring);padding:0 1.8em;font-weight:600}.btn-soft:active{transform:scale(.96)}@media (hover:hover){.btn-yes:hover{transform:translateY(-3px)scale(1.015);box-shadow:0 24px 34px -12px #de5476c7,inset 0 3px #ffffff61,inset 0 -4px #941c3a38}.btn-yes:hover .btn-shine{animation:.9s shine-fast}.btn-no:hover{background:color-mix(in srgb, var(--chip-bg) 60%, #fff)}.quiet-link:hover{color:var(--ink)}}.view-sad{text-align:center;cursor:pointer;flex-direction:column;align-items:center;gap:.35em;padding:.3em 0 .2em;display:flex}.sad-cat{width:clamp(104px,32vw,140px)}.sad-cat-img{animation:1.4s ease-in-out infinite sob}.sad-title{font-family:var(--serif);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(1.75rem,7.8vw,2.5rem);font-weight:600;line-height:1.12}.sad-sub{font-family:var(--serif);color:var(--ink-soft);font-size:1.3rem;font-style:italic}.view-celebrate{place-items:center;gap:.1em;padding:.4em 0;display:grid}.cele-cat{width:clamp(150px,50vw,220px);position:relative}.cele-cat-img{animation:.9s ease-in-out infinite dance}.orb{color:#f5b73f;width:26px;animation:1.2s ease-in-out infinite twinkle;position:absolute}.orb.s1{top:8%;left:-6%}.orb.s2{color:#e8788f;width:20px;animation-delay:-.4s;top:22%;right:-4%}.orb.s3{color:#a893d6;width:18px;animation-delay:-.8s;bottom:18%;left:6%}.cele-title{font-family:var(--serif);letter-spacing:-.03em;color:var(--accent);font-size:clamp(3.2rem,17vw,5.2rem);font-weight:700;line-height:1}.view-message{text-align:center;flex-direction:column;align-items:center;display:flex}.msg-title{font-family:var(--serif);letter-spacing:-.025em;color:var(--accent);margin:.3em 0 .18em;font-size:clamp(2.2rem,10.6vw,3.3rem);font-weight:700;line-height:1}.title-heart{vertical-align:-.02em;color:#e8456b;width:.78em;height:.68em;margin-left:.08em;animation:1.6s ease-in-out infinite beat;display:inline-block}.msg-sub{text-wrap:balance;font-size:clamp(1.02rem,4.3vw,1.2rem);font-weight:600;line-height:1.35}.msg-quote{background:var(--chip-bg);text-align:left;border:1px solid #ffffffb3;border-radius:22px;width:100%;margin-top:1.1em;padding:1.05em 1.15em 1.1em}.typed{font-family:var(--serif);cursor:pointer;font-size:clamp(1.08rem,4.6vw,1.28rem);font-style:italic;font-weight:400;line-height:1.55}.typed-rest{visibility:hidden}.caret{vertical-align:-.16em;background:var(--accent);width:2px;height:1.05em;margin-left:1px;animation:.9s steps(2,end) infinite blink;display:inline-block}.msg-next{justify-content:center;width:100%;min-height:70px;margin-top:1em;display:flex}.btn-next{--yes-w:auto;min-height:58px;padding:0 2.2em;font-size:1.15rem}.finale-wrap{pointer-events:none;justify-content:center;width:100%;margin:auto;display:flex}.view-finale{text-align:center;flex-direction:column;align-items:center;width:min(100%,560px);display:flex}.finale-title{font-family:var(--serif);letter-spacing:-.03em;text-wrap:balance;font-size:clamp(2.5rem,12vw,4.5rem);font-weight:700;line-height:1.03}.stretch{color:var(--accent);font-style:italic;font-weight:500}.finale-sub{margin-top:.5em;font-size:clamp(1.1rem,4.8vw,1.35rem);font-weight:600}.finale-stage{--size:min(66vw, 290px);width:var(--size);height:var(--size);place-items:center;margin:1.4em 0 .8em;display:grid;position:relative}.finale-glow{background:radial-gradient(circle,#ff96b49e,#ffcddc47 46%,#0000 70%);border-radius:50%;animation:3.2s ease-in-out infinite glow-pulse;position:absolute;top:-22%;bottom:-22%;left:-22%;right:-22%}.orbit{animation:18s linear infinite orbit;position:absolute;top:0;bottom:0;left:0;right:0}.orbit-item{width:0;height:0;transform:rotate(var(--a));position:absolute;top:50%;left:50%}.orbit:before{content:"";border:1.5px dashed #ee5c8066;border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.orbit-heart{left:-12px;top:calc(var(--size) * -.5 - 10px);color:#ee5c80;filter:drop-shadow(0 2px 3px #be3c5a40);width:24px;animation:1.7s ease-in-out infinite beat;animation-delay:calc(var(--k) * -.21s);position:absolute}.orbit-item:nth-child(2n) .orbit-heart{width:16px;left:-8px;top:calc(var(--size) * -.5 - 7px);color:#f58fa8}.finale-cat{pointer-events:auto;cursor:pointer;width:72%;animation:4.2s ease-in-out infinite float-soft;position:relative}.finale-foot{flex-direction:column;align-items:center;margin-top:.4em;display:flex}.signature{font-family:var(--serif);color:var(--ink-soft);padding-bottom:14px;font-size:clamp(1.15rem,5vw,1.4rem);font-style:italic;display:inline-block;position:relative}.sig-line{fill:none;width:100%;height:12px;stroke:var(--accent);stroke-width:2.4px;stroke-linecap:round;position:absolute;bottom:0;left:0}.sig-line path{stroke-dasharray:1;stroke-dashoffset:1px;animation:draw 1.8s var(--ease-out) 2.6s forwards}.replay{pointer-events:auto;opacity:.75;margin-top:.4em;font-size:.82rem}.view-rest{text-align:center;flex-direction:column;align-items:center;gap:.7em;display:flex}.rest-title{font-family:var(--serif);letter-spacing:-.02em;margin-top:.3em;font-size:clamp(2rem,9vw,2.8rem);font-weight:600}.rest-sub{max-width:26ch;color:var(--ink-soft);margin-bottom:.5em;font-size:1.05rem;line-height:1.45}.flash{z-index:7;pointer-events:none;will-change:transform, opacity;background:radial-gradient(circle,#fff 0%,#fff7f1 30%,#ffe0e8f0 50%,#ffc8d700 70%);border-radius:50%;width:200vmax;height:200vmax;margin:-100vmax 0 0 -100vmax;position:fixed}.crossers{z-index:5;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.cross{position:absolute;left:0}.c-nyan{top:10%}.c-uni{top:70%}.c-balloon{top:0;left:64%}.hud{z-index:8;top:calc(env(safe-area-inset-top,0px) + 8px);pointer-events:none;justify-content:center;align-items:center;height:44px;display:flex;position:absolute;left:0;right:0}.progress{background:var(--chip-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:999px;align-items:center;gap:7px;padding:8px 12px;transition:opacity .8s;display:flex}.progress.is-hidden{opacity:0}.pip{background:color-mix(in srgb, var(--ink) 20%, transparent);width:8px;height:8px;transition:width .6s var(--spring), background-color .6s ease;border-radius:999px}.pip.past{background:color-mix(in srgb, var(--accent) 55%, transparent)}.pip.on{background:var(--accent);width:26px}.mute{right:max(12px, env(safe-area-inset-right,0px));width:44px;height:44px;color:var(--ink-soft);background:var(--chip-bg);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;pointer-events:auto;transition:transform .3s var(--spring), color .9s ease;border:0;border-radius:50%;place-items:center;display:grid;position:absolute;top:0}.mute:active{transform:scale(.9)}.cursor-glow{z-index:9;pointer-events:none;background:radial-gradient(circle,#f0789652,#f0789600 68%);border-radius:50%;width:40px;height:40px;margin:-20px 0 0 -20px;position:fixed;top:0;left:0}@keyframes beat{0%,to{transform:scale(1)}14%{transform:scale(1.18)}28%{transform:scale(1)}42%{transform:scale(1.1)}60%{transform:scale(1)}}@keyframes shine{0%,72%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes shine-fast{0%{transform:translate(-120%)}to{transform:translate(120%)}}@keyframes gulp{0%{transform:scale(1)}30%{transform:scale(1.1,.94)}55%{transform:scale(.97,1.05)}to{transform:scale(1)}}@keyframes sob{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(3px)rotate(1.5deg)}}@keyframes dance{0%,to{transform:translateY(0)rotate(-4deg)}50%{transform:translateY(-14px)rotate(4deg)}}@keyframes twinkle{0%,to{opacity:.5;transform:scale(.5)rotate(0)}50%{opacity:1;transform:scale(1.1)rotate(45deg)}}@keyframes blink{50%{opacity:0}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes float-soft{0%,to{transform:translateY(0)rotate(-1.5deg)}50%{transform:translateY(-9px)rotate(1.5deg)}}@keyframes draw{to{stroke-dashoffset:0}}@media (max-width:719px){.hide-narrow{display:none}}@media (min-width:900px){.only-wide{display:block}:root{--hero:160px}}@media (max-height:700px){:root{--hero:clamp(84px, 24vw, 112px)}.question{font-size:clamp(1.8rem,8.2vw,2.7rem)}}@media (max-height:520px){:root{--hero:0px}.hero-wrap,.intro-cat,.msg-cat,.rest-cat,.sad-cat{display:none}.stage{padding-top:calc(env(safe-area-inset-top,0px) + 60px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.25s!important;animation-duration:.001ms!important;animation-iteration-count:1!important;animation-delay:0s!important}.wanderer,.cursor-glow,.btn-shine{display:none}}.vinyl{width:var(--v,100px);aspect-ratio:1;position:relative}.disc{width:100%;height:100%;box-shadow:0 calc(var(--v) * .1) calc(var(--v) * .22) calc(var(--v) * -.06) #3218248c, 0 0 0 calc(var(--v) * .012) #ffffff2e;will-change:transform;border-radius:50%;animation:5.5s linear infinite paused vinyl-spin}.vinyl.is-playing .disc{animation-play-state:running}.disc-svg{border-radius:50%;width:100%;height:100%;display:block}.disc-text{font:700 11.5px var(--sans);letter-spacing:2.4px;fill:#f4e9dc}.disc-shine{pointer-events:none;background:conic-gradient(from 25deg, transparent 0 9%, #ffffff2b 13%, transparent 19% 49%, #ffffff1c 55%, transparent 61%);border-radius:50%;position:absolute;top:0;bottom:0;left:0;right:0}.arm-svg{pointer-events:none;filter:drop-shadow(1px 3px 2px #28121c59);width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0;overflow:visible}.arm{transform-origin:112px 8px;transition:transform 1s cubic-bezier(.4,.1,.2,1);transform:rotate(-55deg)}.vinyl.is-playing .arm{transform:rotate(0)}.ctl{color:#4a2f2b;cursor:pointer;-webkit-tap-highlight-color:transparent;width:44px;height:44px;transition:transform .25s var(--spring), background-color .2s ease;background:#4a2f2b14;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:grid}.ctl svg{width:22px;height:22px}.ctl:active{transform:scale(.9)}.ctl-play{color:#fff;background:linear-gradient(135deg,#f78fa9,#e0587a);box-shadow:0 10px 18px -8px #e0587acc}.ctl-lg{width:76px;height:76px}.ctl-lg svg{width:34px;height:34px}.ctl-ghost{background:0 0}.ctl-close{position:absolute;top:0;right:0}.dock{z-index:8;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px);color:#4a2f2b;-webkit-backdrop-filter:blur(18px)saturate(1.3);backdrop-filter:blur(18px)saturate(1.3);width:min(100% - 24px,480px);height:72px;animation:dock-in .8s var(--spring) both;background:#fffaf6db;border:1px solid #ffffffe6;border-radius:26px;align-items:center;gap:6px;padding:8px 10px;display:flex;position:fixed;transform:translate(-50%);box-shadow:0 18px 40px -14px #96465a80,inset 0 1px #fff}.dock-main{text-align:left;cursor:pointer;min-width:0;height:100%;font-family:var(--sans);color:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:0;flex:1;align-items:center;gap:14px;padding:0;display:flex}.dock-vinyl{--v:54px;flex:none;margin-right:8px;display:block}.dock-text{flex-direction:column;gap:1px;min-width:0;display:flex}.dock-title{white-space:nowrap;text-overflow:ellipsis;font-size:.98rem;font-weight:700;overflow:hidden}.dock-sub{color:#7d5d57;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;font-size:.76rem;line-height:1.2;display:-webkit-box;overflow:hidden}@media (max-width:360px){.dock-sub{display:none}}.sheet-wrap{z-index:12;justify-content:center;align-items:flex-end;display:flex;position:fixed;top:0;bottom:0;left:0;right:0}.sheet-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#461e3061;animation:.35s both fade-in;position:absolute;top:0;bottom:0;left:0;right:0}.sheet{overscroll-behavior:contain;width:min(100%,520px);max-height:94dvh;padding:8px 22px calc(env(safe-area-inset-bottom,0px) + 20px);color:#4a2f2b;font-family:var(--sans);animation:sheet-in .55s var(--ease-out) both;text-align:center;-webkit-user-select:none;user-select:none;background:radial-gradient(70% 40% at 50% 0,#ffbecd8c,#0000 75%),linear-gradient(#fff8f2 0%,#ffe9ee 100%);border-radius:32px 32px 0 0;position:relative;overflow:hidden auto;box-shadow:0 -24px 60px -20px #78284680}.sheet-top{justify-content:center;align-items:flex-start;height:48px;padding-top:6px;display:flex;position:relative}.sheet-grab{background:#4a2f2b33;border-radius:99px;width:40px;height:5px}.sheet-vinyl{--v:min(58vw, 34dvh, 250px);width:var(--v);transform:translateX(calc(var(--v) * -.1));margin:6px auto 0;position:relative}.sheet-info{margin-top:22px}.sheet-title{font-family:var(--serif);letter-spacing:-.02em;margin:0;font-size:clamp(1.6rem,7vw,2rem);font-weight:700;line-height:1.1}.sheet-caption{font-family:var(--serif);color:#7d5d57;margin:6px 0 0;font-size:1.02rem;font-style:italic}.seek,.volume{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.seek{margin-top:14px}.time{font-variant-numeric:tabular-nums;color:#7d5d57;min-width:2.6em;font-size:.8rem}.time-vol{text-align:right}.sheet-play{justify-content:center;margin:2px 0 4px;display:flex}.volume{grid-template-columns:44px 1fr 2.6em;padding:0 2px}.slider{--track:#4a2f2b29;-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:pan-y;background:0 0;width:100%;height:44px;margin:0}.slider:focus-visible{outline-offset:0}.slider::-webkit-slider-runnable-track{background:linear-gradient(90deg, #d24d6f var(--p), var(--track) var(--p));border-radius:99px;height:6px}.slider::-webkit-slider-thumb{-webkit-appearance:none;background:#fff;border:2.5px solid #d24d6f;border-radius:50%;width:22px;height:22px;margin-top:-8px;box-shadow:0 3px 8px #96325059}.slider::-moz-range-track{background:var(--track);border-radius:99px;height:6px}.slider::-moz-range-progress{background:#d24d6f;border-radius:99px;height:6px}.slider::-moz-range-thumb{background:#fff;border:2.5px solid #d24d6f;border-radius:50%;width:18px;height:18px;box-shadow:0 3px 8px #96325059}.world[data-dock=on] .stage{padding-bottom:calc(env(safe-area-inset-bottom,0px) + 28px + 86px)}@keyframes vinyl-spin{to{transform:rotate(360deg)}}@keyframes dock-in{0%{opacity:0;transform:translate(-50%,90px)scale(.94)}to{opacity:1;transform:translate(-50%)scale(1)}}@keyframes sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes fade-in{0%{opacity:0}}@media (max-height:640px){.sheet-vinyl{--v:min(46vw, 30dvh, 200px)}.sheet-info{margin-top:14px}.ctl-lg{width:64px;height:64px}}.disc-scratch{will-change:transform;border-radius:50%;width:100%;height:100%}.pager{justify-content:center;margin-top:4px;display:flex}.pager-dot{cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:0;place-items:center;width:30px;height:30px;padding:0;display:grid}.pager-dot:before{content:"";width:8px;height:8px;transition:width .4s var(--spring), background-color .3s ease;background:#4a2f2b38;border-radius:99px}.pager-dot.on:before{background:#d24d6f;width:24px}.ctl:disabled{opacity:.45;cursor:default}.ctl-md{width:52px;height:52px}.ctl-md svg{width:26px;height:26px}.sheet-play{align-items:center;gap:18px}.dock{gap:2px;padding-right:8px}.dock-main{gap:12px}.dock-title{font-size:.92rem}.ctl-mini{background:0 0;width:40px;height:40px}.ctl-mini svg{width:21px;height:21px}.ctl-mini-play{width:46px;height:46px;margin:0 2px}.ctl-mini-play svg{width:22px;height:22px}@media (max-width:380px){.dock-sub{display:none}}.sheet.is-closing{pointer-events:none;animation:.38s cubic-bezier(.5,0,.75,0) both sheet-out}.sheet-backdrop.is-closing{pointer-events:none;animation:.38s both fade-out}@keyframes sheet-out{0%{transform:translateY(0)}to{transform:translateY(105%)}}@keyframes fade-out{to{opacity:0}}.hint,.tilt-chip{z-index:9;left:50%;bottom:calc(env(safe-area-inset-bottom,0px) + 10px + 72px + 14px);max-width:calc(100% - 32px);font-family:var(--sans);text-align:center;color:#4a2f2b;background:#fffffff0;border-radius:999px;padding:.7em 1.1em;font-size:.92rem;font-weight:600;line-height:1.25;position:fixed;translate:-50%;box-shadow:0 14px 30px -12px #a03c5a80}.hint{pointer-events:none}.tilt-chip{cursor:pointer;-webkit-tap-highlight-color:transparent;border:1.5px solid #d24d6f59}.tilt-chip:active{scale:.96}.card{translate:calc(var(--px) * -6px) calc(var(--py) * -5px)}.finale-title{translate:calc(var(--px) * -7px) calc(var(--py) * -5px)}.finale-sub{translate:calc(var(--px) * -5px) calc(var(--py) * -4px)}.finale-stage{translate:calc(var(--px) * -10px) calc(var(--py) * -8px)}.finale-glow{translate:calc(var(--px) * 16px) calc(var(--py) * 12px)}.orbit{translate:calc(var(--px) * -6px) calc(var(--py) * -5px)}.finale-cat{translate:calc(var(--px) * -18px) calc(var(--py) * -14px);rotate:calc(var(--px) * -4deg)}.finale-foot{translate:calc(var(--px) * -4px) calc(var(--py) * -3px)}@media (prefers-reduced-motion:reduce){.card,.finale-title,.finale-sub,.finale-stage,.finale-glow,.orbit,.finale-cat,.finale-foot{translate:none;rotate:none}}
