html.lenis,html.lenis body{height:auto}.lenis:not(.lenis-autoToggle).lenis-stopped{overflow:clip}.lenis [data-lenis-prevent],.lenis [data-lenis-prevent-wheel],.lenis [data-lenis-prevent-touch],.lenis [data-lenis-prevent-vertical],.lenis [data-lenis-prevent-horizontal]{overscroll-behavior:contain}.lenis.lenis-smooth iframe{pointer-events:none}.lenis.lenis-autoToggle{transition-behavior:allow-discrete;transition-property:overflow;transition-duration:1ms}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--sky-3:#b3d8ff;--blue:#5b9bea;--blue-d:#2f6fc4;--ink:#1d355c;--ink-soft:#536b90;--paper:#fffdf8;--pink:#ff9fb8;--pink-d:#f0708f;--hand:"Gaegu", "Comic Sans MS", cursive;--serif:"Instrument Serif", Georgia, serif}*{box-sizing:border-box;margin:0;padding:0}html,body{overflow-x:clip}body{color:var(--ink);-webkit-tap-highlight-color:transparent;-webkit-font-smoothing:antialiased;background:linear-gradient(#dcefff 0%,#e9f5ff 35%,#eef0ff 70%,#fff3f7 100%);min-height:100svh;font-family:DM Sans,system-ui,sans-serif}body.locked{height:100svh;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0}svg{width:100%;height:auto;display:block;overflow:visible}img{-webkit-user-drag:none}.sticker{filter:drop-shadow(2.5px 0 #fff)drop-shadow(-2.5px 0 #fff)drop-shadow(0 2.5px #fff)drop-shadow(0 -2.5px #fff)drop-shadow(0 8px 10px #1d355c2e)}.sky{pointer-events:none;z-index:0;position:fixed;inset:0;overflow:hidden}.cloud{opacity:.75;width:170px;height:54px;animation:drift var(--t,80s) linear infinite;animation-delay:var(--d,0s);background:#fff;border-radius:60px;position:absolute}.cloud:before,.cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.cloud:before{width:74px;height:74px;top:-36px;left:24px}.cloud:after{width:56px;height:56px;top:-24px;left:86px}@keyframes drift{0%{transform:translateX(-220px) scale(var(--s,1))}to{transform:translateX(calc(100vw + 220px)) scale(var(--s,1))}}main,footer{z-index:1;position:relative}.intro{z-index:40;text-align:center;background:radial-gradient(circle at 50% 42%,#f6fbff 0%,#d6ebff 55%,#b5d9ff 100%);place-items:center;padding:24px 16px;display:grid;position:fixed;inset:0}.intro-top{font-family:var(--hand);color:var(--ink-soft);margin-bottom:18px;font-size:clamp(1.1rem,4.4vw,1.4rem)}.intro-top b{color:var(--ink)}.roll-wrap{aspect-ratio:1;width:min(64vw,280px);margin:0 auto;position:relative}.roll-glow{background:radial-gradient(circle,#fffffff2 0%,#fff0 65%);border-radius:50%;position:absolute;inset:-14%}.roll-btn{z-index:1;width:100%;height:100%;display:block;position:relative}.pup-cloud{background:#fff;border-radius:999px;height:22%;position:absolute;bottom:-6%;left:8%;right:8%;box-shadow:0 10px 24px -10px #2f6fc459}.pup-cloud:before,.pup-cloud:after{content:"";background:#fff;border-radius:50%;position:absolute}.pup-cloud:before{aspect-ratio:1;width:38%;top:-45%;left:12%}.pup-cloud:after{aspect-ratio:1;width:30%;top:-30%;right:14%}.mascot-img{pointer-events:none;width:100%;height:auto;display:block}.peek{transform-origin:50% 100%;pointer-events:none;width:36%;position:absolute;bottom:-4%;right:-10%}.intro-hint{font-family:var(--hand);min-height:1.4em;margin-top:26px;font-size:clamp(1.6rem,7vw,2.2rem);font-weight:700}.intro-hint span{display:inline-block}.tapdots{justify-content:center;gap:10px;margin-top:12px;display:flex}.tapdots i{border:2px solid var(--blue-d);border-radius:50%;width:12px;height:12px}.scroll-roll{z-index:30;pointer-events:none;height:30px;padding:0 14px;position:fixed;top:0;left:0;right:0}.scroll-fill{background:linear-gradient(90deg, var(--blue), var(--pink));transform-origin:0;height:4px;position:absolute;top:0;left:0;right:0}.scroll-ball{filter:drop-shadow(0 2px 3px #1d355c33);width:30px;margin-left:-15px;position:absolute;top:5px}.scroll-roll>.scroll-ball{left:14px}.hero{text-align:center;place-items:center;min-height:100svh;padding:90px 16px 110px;display:grid;position:relative;overflow:hidden}.hero-copy{z-index:2;pointer-events:none;position:relative}.pre{font-family:var(--hand);color:var(--blue-d);font-size:clamp(1.5rem,6vw,2.3rem);font-weight:700}.hero h1{font-family:var(--serif);letter-spacing:-.03em;color:var(--ink);text-shadow:5px 5px 0 var(--sky-3);padding:0 .1em;font-size:clamp(6.5rem,34vw,16rem);font-style:italic;font-weight:400;line-height:.86;display:inline-block;position:relative}.hero h1 .ch{display:inline-block}.underline{width:92%;height:.22em;position:absolute;bottom:-.1em;left:4%}.aka{font-family:var(--hand);color:var(--ink-soft);background:#ffffffbf;border-radius:999px;margin-top:30px;padding:4px 14px;font-size:clamp(1.05rem,4.2vw,1.3rem);font-weight:700;display:inline-block;transform:rotate(-2deg);box-shadow:0 6px 14px -8px #1d355c59}.aka b{color:var(--blue-d)}.aka+.tag{margin-top:14px}.tag{font-family:var(--hand);color:var(--ink-soft);margin-top:26px;font-size:clamp(1.3rem,5vw,1.7rem)}.tag b{color:var(--pink-d)}.scroll-cue{font-family:var(--hand);color:var(--ink-soft);z-index:2;pointer-events:none;font-size:1.1rem;position:absolute;bottom:26px;left:0;right:0}.scroll-cue span{width:28px;margin:6px auto 0;display:block}.peel-hint{font-family:var(--hand);color:var(--ink-soft);z-index:2;pointer-events:none;padding:0 16px;font-size:1rem;position:absolute;top:26px;left:0;right:0}.stk{z-index:3;position:absolute}.stk-drag{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.stk svg{pointer-events:none}.ribbon-wrap{z-index:2;padding:14px 0;position:relative;overflow:hidden}.ribbon{background:var(--blue-d);color:#fff;white-space:nowrap;margin:0 -40px;padding:12px 0;overflow:hidden;transform:rotate(-2.5deg);box-shadow:0 10px 24px -12px #1d355c80}.ribbon.alt{background:var(--pink);color:var(--ink);margin-top:-8px;transform:rotate(2deg)}.ribbon-track{font-family:var(--hand);font-size:1.35rem;font-weight:700;animation:26s linear infinite marquee;display:inline-flex}.ribbon.alt .ribbon-track{animation-duration:32s;animation-direction:reverse}.ribbon-track span{padding:0 18px}@keyframes marquee{to{transform:translate(-50%)}}.sec{max-width:1000px;margin:0 auto;padding:84px 16px 40px}.sec-head{text-align:center}.sec-no{font-family:var(--hand);color:var(--blue-d);letter-spacing:.04em;font-size:1.15rem;font-weight:700}.sec h2{font-family:var(--serif);margin-top:6px;font-size:clamp(2.6rem,10vw,4.4rem);font-weight:400;line-height:.95}.sec h2 em{color:var(--blue-d)}.sec-sub{font-family:var(--hand);color:var(--ink-soft);margin-top:10px;font-size:1.25rem}.wall{grid-template-columns:repeat(2,1fr);gap:30px 16px;margin-top:44px;display:grid}.wall .pol-slot:nth-child(2n){margin-top:34px}@media (width<=719px){.wall .pol-slot:last-child:nth-child(odd){grid-column:1/-1;justify-self:center;width:calc(50% - 8px)}}@media (width>=720px){.wall{grid-template-columns:repeat(3,1fr);gap:44px 34px}.wall .pol-slot:nth-child(2n){margin-top:0}.wall .pol-slot:nth-child(3n+2){margin-top:48px}}.pol{perspective:1100px;text-align:center;width:100%;display:block;position:relative}.pol:before{content:"";z-index:3;width:76px;height:24px;transform:translateX(-50%) rotate(var(--tr,-4deg));background:repeating-linear-gradient(45deg,#5b9bea99 0 7px,#fff9 7px 14px);position:absolute;top:-13px;left:50%}.pol.tape-2:before{background:repeating-linear-gradient(45deg,#ff9fb8a6 0 7px,#fff9 7px 14px)}.pol-in{transform-style:preserve-3d;position:relative}.face{backface-visibility:hidden;background:#fff;border-radius:4px;padding:10px 10px 0;box-shadow:0 14px 28px -14px #1d355c73,0 2px 5px #1d355c14}.shot{aspect-ratio:4/5;border-radius:2px;place-items:center;display:grid;position:relative;overflow:hidden}.shot img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.ph{font-family:var(--hand);color:var(--ink-soft);padding:8px;font-size:1rem;line-height:1.1}.ph svg{width:46%;margin:0 auto 6px}.cap{font-family:var(--hand);padding:9px 2px 13px;font-size:clamp(1.05rem,4vw,1.25rem);font-weight:700}.back{font-family:var(--hand);background:repeating-linear-gradient(#fffdf8 0 27px,#dbe9fb 27px 28px);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:20px 14px;font-size:clamp(1.1rem,4.2vw,1.35rem);line-height:1.2;display:flex;position:absolute;inset:0;transform:rotateY(180deg)}.back small{color:var(--ink-soft);font-size:.85rem}.room-stage{place-items:center;margin-top:40px;display:grid}.dome{aspect-ratio:1;cursor:pointer;background:radial-gradient(circle at 35% 28%,#ffffffd9 0 8%,#fff0 22%),radial-gradient(circle,#cfe7ff59 0%,#5b9bea52 62%,#2f6fc48c 100%);border-radius:50%;outline:none;place-items:center;width:min(88vw,440px);transition:background .6s;display:grid;position:relative;overflow:hidden;box-shadow:inset 0 0 0 2px #2f6fc480,inset 0 0 70px #ffffff8c}.dome.closed{background:radial-gradient(circle,#9ccaff 0%,#5b9bea 13%,#2f6fc4 19%,#2f6fc44d 30%)}.dome:focus-visible{box-shadow:inset 0 0 0 4px var(--pink-d)}.dome-ring{pointer-events:none;border:2px dashed #2f6fc459;border-radius:50%;animation:40s linear infinite spin;position:absolute;inset:9%}.dome-ring:after{content:"";background:#2f6fc42e;height:2px;position:absolute;top:50%;left:-12%;right:-12%}@keyframes spin{to{transform:rotate(360deg)}}.dome-seed{font-family:var(--serif);color:#fff;text-shadow:0 2px 10px #1d355c66;z-index:2;font-size:clamp(1.4rem,6vw,1.9rem);font-style:italic;position:absolute}.card-slot{z-index:2;width:70%;display:grid;position:relative}.card-slot>*{grid-area:1/1}.reason-card{text-align:center;background:#fff;border-radius:18px;padding:26px 18px 18px;position:relative;box-shadow:0 18px 30px -16px #1d355c73}.reason-card .rc{font-family:var(--hand);color:var(--blue-d);letter-spacing:.05em;font-size:.95rem;font-weight:700}.reason-card p{font-family:var(--hand);margin-top:8px;font-size:clamp(1.3rem,5.4vw,1.65rem);line-height:1.15}.reason-card .pin{background:var(--pink-d);border-radius:50%;width:22px;height:22px;position:absolute;top:-10px;left:50%;translate:-50%;box-shadow:inset -3px -3px #0000001f}.room-tip{font-family:var(--hand);color:var(--ink-soft);text-align:center;min-height:1.6em;margin-top:18px;font-size:1.1rem}.ripple{pointer-events:none;z-index:1;border:2px solid #ffffffe6;border-radius:50%;position:absolute;translate:-50% -50%}.pop-word{font-family:var(--serif);color:#fff;text-shadow:0 2px 8px #1d355c80;pointer-events:none;z-index:3;white-space:nowrap;font-size:1.8rem;font-style:italic;position:absolute;translate:-50% -50%}.cat-stage{flex-direction:column;align-items:center;width:min(92vw,420px);margin:46px auto 0;display:flex;position:relative}.sleepcat{z-index:3;width:74%;display:block;position:relative}.zz{font-family:var(--hand);color:var(--blue-d);pointer-events:none;font-weight:700;position:absolute;top:4%;left:18%}.zz span{opacity:0;animation:3s ease-in infinite zz;position:absolute}.zz span:nth-child(2){font-size:1.3em;animation-delay:1s}.zz span:nth-child(3){font-size:1.6em;animation-delay:2s}@keyframes zz{0%{opacity:0;transform:translate(0)}20%{opacity:1}to{opacity:0;transform:translate(-30px,-60px)rotate(-15deg)}}.bubble{font-family:var(--hand);white-space:nowrap;background:#fff;border-radius:18px;padding:8px 14px;font-size:1.5rem;font-weight:700;position:absolute;top:-36%;right:-6%;box-shadow:0 8px 18px -8px #1d355c66}.bubble:after{content:"";border:9px solid #0000;border-top-color:#fff;border-bottom:0;position:absolute;bottom:-8px;left:22%}.env{aspect-ratio:1.5;perspective:800px;width:100%;margin-top:-40px;position:relative}.env-back{background:#bcdcff;border-radius:14px;position:absolute;inset:0;box-shadow:0 24px 40px -22px #1d355c8c}.env-front{clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);z-index:1;background:#d9ebff;border-radius:14px;position:absolute;inset:0}.env-flap{clip-path:polygon(0 0,100% 0,50% 100%);background:#a9d0fb;border-radius:14px 14px 0 0;height:62%;position:absolute;inset:0 0 auto}.seal{z-index:3;background:var(--pink-d);border-radius:50%;place-items:center;width:54px;height:54px;display:grid;position:absolute;top:calc(52% - 27px);left:calc(50% - 27px);box-shadow:inset -4px -4px #0000001f,0 4px 10px #f0708f66}.seal svg{width:56%}.letter{background:repeating-linear-gradient(180deg, transparent 0 33px, #dbe9fb 33px 34px), var(--paper);max-width:560px;font-family:var(--hand);background-position:0 22px;border-radius:8px;margin:10px auto 0;padding:38px 24px 30px;font-size:clamp(1.25rem,4.8vw,1.45rem);line-height:34px;position:relative;box-shadow:0 30px 50px -30px #1d355c8c,0 2px 6px #1d355c0f}.letter p+p{margin-top:34px}.letter .dear{color:var(--blue-d);font-weight:700}.letter .sign{text-align:right;font-weight:700}.letter .stamp{width:64px;position:absolute;top:-18px;right:18px}.field{height:170px;margin-top:26px;position:relative;overflow:hidden}@media (width>=600px){.field{height:210px}}.tulip{position:absolute;bottom:-4px}.tulip svg{width:100%;height:100%}footer{text-align:center;font-family:var(--hand);color:var(--ink-soft);padding:20px 16px 64px;font-size:1.15rem}footer .again{font-family:var(--hand);color:var(--ink);background:#fff;border-radius:999px;margin-top:14px;padding:10px 20px;font-size:1.15rem;font-weight:700;box-shadow:0 8px 18px -10px #1d355c73}.buddy-layer{pointer-events:none;z-index:35;position:fixed;inset:0;overflow:hidden}.paw{width:28px;margin:-14px 0 0 -14px;position:absolute}.step{width:10px;margin:-5px 0 0 -5px;position:absolute}.buddy{width:0;height:0;position:absolute;top:0;left:0}.buddy-in{width:58px;position:absolute;bottom:0;left:-29px}.buddy-z{font-family:var(--hand);color:var(--blue-d);font-size:1.1rem;font-weight:700;position:absolute;bottom:40px;left:6px}.fx{pointer-events:none;z-index:60;width:100%;height:100%;position:fixed;inset:0}@media (prefers-reduced-motion:reduce){.cloud,.ribbon-track,.zz span,.dome-ring{animation:none}}.sound-toggle{left:14px;bottom:calc(14px + env(safe-area-inset-bottom));z-index:36;width:40px;height:40px;color:var(--blue-d);-webkit-backdrop-filter:blur(6px);background:#ffffffd9;border-radius:50%;place-items:center;display:grid;position:fixed;box-shadow:0 6px 16px -8px #1d355c80}.sound-toggle svg{width:20px;height:20px}
