:root{--sky:#a8d3ff;--sky-2:#cfe8ff;--sky-deep:#5aa6ff;--cream:#fbf3e4;--paper:#fffaf0;--ink:#2a2140;--ink-soft:#5b5074;--pink:#ff6f9f;--pink-2:#ffc4d6;--pink-3:#ffe6ee;--red:#e8364f;--green:#6cc04a;--lime:#e9f7a6;--butter:#ffe27a;--lav:#c6b6ff;--maroon:#571530;--night:#1e1a3d;--f-pixel:"Pixelify Sans", ui-monospace, monospace;--f-tiny:"Silkscreen", ui-monospace, monospace;--f-serif:"Instrument Serif", Georgia, serif;--f-hand:"Caveat", "Comic Sans MS", cursive;--f-script:"Pinyon Script", "Snell Roundhand", cursive;--f-body:"DM Sans", system-ui, sans-serif;--ease-out:cubic-bezier(.22, 1, .36, 1);--ease-back:cubic-bezier(.34, 1.56, .64, 1);--hard:5px 5px 0 var(--ink)}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}html{-webkit-text-size-adjust:100%;background:var(--sky)}html.lenis,html.lenis body{height:auto}.lenis.lenis-smooth{scroll-behavior:auto!important}.lenis.lenis-stopped{overflow:hidden}body{font-family:var(--f-body);color:var(--ink);background:var(--cream);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-variant-ligatures:no-common-ligatures;margin:0;line-height:1.5;overflow-x:hidden}body.in-garden{background:var(--sky);height:100svh;overflow:hidden}h1,h2,h3,p,figure,ul{margin:0;padding:0}ul{list-style:none}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px}.photo:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px}svg.px-svg{shape-rendering:crispedges;width:100%;height:auto;image-rendering:pixelated;display:block}canvas{display:block}::selection{background:var(--pink);color:#fff}.btn{font-family:var(--f-pixel);letter-spacing:.01em;border:3px solid var(--ink);background:var(--pink);color:#fff;box-shadow:var(--hard);transition:transform .18s var(--ease-out), box-shadow .18s var(--ease-out);border-radius:12px;padding:14px 22px;font-size:1.05rem;font-weight:600}.btn.ghost{color:var(--ink);background:#fff}.btn:hover{box-shadow:7px 7px 0 var(--ink);transform:translate(-2px,-2px)}.btn:active{box-shadow:2px 2px 0 var(--ink);transform:translate(3px,3px)}#loader{z-index:1000;transition:opacity .7s ease, transform .9s var(--ease-out), visibility 0s .95s;background:linear-gradient(#8cc4ff 0%,#bfe0ff 48%,#ffe6ee 100%);place-items:center;display:grid;position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#loader.is-leaving{opacity:0;visibility:hidden;pointer-events:none;transform:scale(1.12)}.ld-clouds{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.ld-clouds i{opacity:.9;background:#fff;border-radius:99px;width:190px;height:54px;animation:38s linear infinite ld-drift;position:absolute;box-shadow:46px -22px 0 4px #fff,96px -8px 0 -4px #fff}.ld-clouds i:first-child{top:14%;left:-12%}.ld-clouds i:nth-child(2){animation-duration:54s;animation-delay:-20s;top:30%;left:52%;scale:.7}.ld-clouds i:nth-child(3){opacity:.7;animation-duration:64s;animation-delay:-34s;top:66%;left:12%;scale:1.2}.ld-clouds i:nth-child(4){animation-duration:46s;animation-delay:-8s;top:80%;left:70%;scale:.6}@keyframes ld-drift{0%{transform:translate(-40vw)}to{transform:translate(70vw)}}.ld-inner{text-align:center;flex-direction:column;align-items:center;gap:14px;padding:24px;display:flex;position:relative}.ld-heart{filter:drop-shadow(0 8px #2a214029);width:96px;animation:1.1s steps(2,jump-none) infinite ld-beat}@keyframes ld-beat{0%,to{transform:scale(1)}50%{transform:scale(1.14)}}.ld-kicker{font-family:var(--f-script);color:var(--maroon);font-size:clamp(2rem,6vw,3rem);line-height:1}.ld-text{font-family:var(--f-tiny);letter-spacing:.06em;text-transform:uppercase;color:var(--ink);min-height:1.4em;font-size:.72rem}.ld-bar{border:3px solid var(--ink);width:min(300px,72vw);height:16px;box-shadow:4px 4px 0 var(--ink);background:#fff;border-radius:6px;padding:3px}.ld-bar i{transform-origin:0;background:repeating-linear-gradient(90deg, var(--pink) 0 10px, #ff8fb4 10px 20px);height:100%;display:block;transform:scaleX(0)}.ld-enter{border:3px solid var(--ink);background:var(--pink);color:#fff;box-shadow:var(--hard);animation:ld-pop .6s var(--ease-back) both, ld-nudge 1.6s .8s ease-in-out infinite;border-radius:14px;flex-direction:column;align-items:center;gap:4px;margin-top:8px;padding:14px 30px 12px;display:flex}.ld-enter span{font-family:var(--f-pixel);font-size:1.5rem;font-weight:700;line-height:1}.ld-enter small{font-family:var(--f-tiny);letter-spacing:.05em;opacity:.9;font-size:.6rem}.ld-enter:active{box-shadow:2px 2px 0 var(--ink);translate:3px 3px}#loader.is-ready .ld-bar,#loader.is-ready .ld-text{display:none}@keyframes ld-pop{0%{opacity:0;transform:scale(.6)}to{opacity:1;transform:scale(1)}}@keyframes ld-nudge{0%,to{translate:0}50%{translate:0 -5px}}#garden{touch-action:none;background:linear-gradient(#8cc4ff,#cfe8ff);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}#gl{cursor:grab;touch-action:none;outline:none;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}#gl.can-tap{cursor:pointer}#gl.grabbing{cursor:grabbing}#dissolve{z-index:900;pointer-events:none;grid-template-columns:repeat(var(--cols,12), 1fr);grid-template-rows:repeat(var(--rows,8), 1fr);display:none;position:fixed;top:0;bottom:0;left:0;right:0}#dissolve.on{pointer-events:auto;display:grid}#dissolve i{background:var(--c,var(--cream));will-change:transform;transform:scale(0)}#fx{z-index:1100;pointer-events:none;width:100%;height:100%;position:fixed;top:0;bottom:0;left:0;right:0}.sound-btn{z-index:800;border:3px solid var(--ink);width:44px;height:44px;box-shadow:3px 3px 0 var(--ink);transition:transform .18s var(--ease-out), background .2s, bottom .45s var(--ease-out);background:#fff;border-radius:50%;place-items:center;display:grid;position:fixed;bottom:14px;left:14px}.sound-btn:hover{transform:translate(-1px,-1px)}.sound-btn.on{background:var(--butter)}.sb-bars{align-items:flex-end;gap:3px;height:16px;display:flex}.sb-bars i{background:var(--ink);border-radius:1px;width:3px;height:4px}.sound-btn.on .sb-bars i{animation:.7s ease-in-out infinite alternate sb-eq}.sound-btn.on .sb-bars i:nth-child(2){animation-delay:-.45s}.sound-btn.on .sb-bars i:nth-child(3){animation-delay:-.2s}.sound-btn.on .sb-bars i:nth-child(4){animation-delay:-.6s}@keyframes sb-eq{0%{height:3px}to{height:16px}}@media (prefers-reduced-motion:reduce){.ld-clouds i,.ld-heart,.ld-enter{animation:none}}.isle{pointer-events:none;-webkit-user-select:none;user-select:none;color:var(--ink);position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.isle button{pointer-events:auto}.isle-title,.isle-top,.pins,.isle-hint,.isle-skip{transition:opacity .6s ease, transform .9s var(--ease-out)}.isle-title{transform-origin:50% 0;text-align:center;opacity:0;white-space:nowrap;flex-direction:column;align-items:center;display:flex;position:absolute;top:8svh;left:50%;transform:translate(-50%)scale(1)}.it-script{font-family:var(--f-script);color:#fff;text-shadow:0 2px #57153073,0 0 24px #ff6f9f80;font-size:clamp(2rem,5.4vw,3.8rem);line-height:.9}.it-name{font-family:var(--f-pixel);letter-spacing:.02em;color:#fff;text-shadow:0 .055em 0 var(--pink), 0 .11em 0 var(--maroon), 0 .2em .3em #2a21404d;font-size:clamp(4.4rem,15vw,10rem);font-weight:700;line-height:.86}.it-sub{font-family:var(--f-tiny);letter-spacing:.14em;text-transform:uppercase;color:#fff;background:#2a21408c;border-radius:99px;margin-top:1.5em;padding:6px 12px;font-size:clamp(.58rem,1.5vw,.78rem)}.isle.is-intro .isle-title{opacity:1}.isle.is-ready .isle-title{opacity:.96;top:12px;transform:translate(-50%)scale(.36)}.isle.is-ready .it-sub{opacity:0}.isle-top{opacity:0;justify-content:space-between;align-items:flex-start;gap:10px;display:flex;position:absolute;top:14px;left:14px;right:14px;transform:translateY(-14px)}.isle.is-ready .isle-top{opacity:1;transform:none}.isle-count,.tool{border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);font-family:var(--f-tiny);letter-spacing:.04em;text-transform:uppercase;background:#fff;border-radius:99px;align-items:center;gap:8px;padding:8px 13px;font-size:.68rem;display:flex}.isle-count{pointer-events:auto;transition:background .4s}.ic-heart{flex:none;width:16px}.ic-text b{font-family:var(--f-pixel);color:var(--pink);font-size:1.05rem;font-weight:700}.ic-pips{gap:3px;display:flex}.ic-pips i{width:7px;height:7px;transition:background .3s, transform .4s var(--ease-back);background:#e9dfcf}.ic-pips i.on{background:var(--pink);transform:scale(1.25)}.isle-count.bump{animation:ic-bump .55s var(--ease-back)}.isle-count.all{background:var(--butter)}@keyframes ic-bump{0%{transform:scale(1)}35%{transform:scale(1.16)rotate(-3deg)}to{transform:scale(1)}}.isle-tools{gap:8px;display:flex}.tool{transition:transform .18s var(--ease-out), background .2s, color .2s;gap:6px}.tool:hover{transform:translate(-1px,-1px)}.tool:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.tool.on{background:var(--pink);color:#fff}.t-ico{font-family:var(--f-body);text-align:center;width:1.1em;font-size:.9rem;line-height:1}.pins{opacity:0;position:absolute;top:0;bottom:0;left:0;right:0}.isle.is-ready .pins{opacity:1}.isle .pin{transform-origin:0 0;pointer-events:none;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.isle.is-ready .pin:not(.off){pointer-events:auto}.pin.off{visibility:hidden}.pin-b{border:3px solid var(--ink);width:46px;height:46px;animation:2.6s ease-in-out infinite pin-bob;animation-delay:calc(var(--i,0) * -.37s);transition:background .3s, scale .3s var(--ease-back), border-color .3s;background:#fff;border-radius:50%;place-items:center;display:grid;position:absolute;top:-60px;left:-23px;box-shadow:3px 4px #2a2140d9}.pin-b:after{content:"";background:inherit;border:solid var(--ink);border-width:0 3px 3px 0;border-radius:0 0 3px;width:12px;height:12px;margin-left:-6px;position:absolute;bottom:-10px;left:50%;rotate:45deg}.pin-b svg{z-index:1;width:24px;position:relative}@keyframes pin-bob{0%,to{transform:translateY(0)}50%{transform:translateY(-7px)}}.pin:hover .pin-b{scale:1.14}.pin:focus-visible .pin-b{scale:1.14}.pin.found .pin-b{background:var(--pink-3);border-color:var(--maroon)}.pin.found .pin-b:before{content:"♥";color:#fff;background:var(--pink);border:2px solid var(--ink);z-index:2;border-radius:50%;place-items:center;width:20px;height:20px;font-size:11px;line-height:1;display:grid;position:absolute;top:-9px;right:-9px}.pin.cur .pin-b{background:var(--butter);scale:1.2}.pin-l{white-space:nowrap;opacity:0;font-family:var(--f-tiny);letter-spacing:.05em;text-transform:uppercase;color:#fff;background:var(--ink);transition:opacity .2s, transform .3s var(--ease-out);pointer-events:none;border-radius:7px;padding:5px 9px;font-size:.6rem;position:absolute;top:-92px;left:0;transform:translate(-50%,6px)}.pin:hover .pin-l{opacity:1;transform:translate(-50%)}.pin:focus-visible .pin-l{opacity:1;transform:translate(-50%)}.pin-diary .pin-b{white-space:nowrap;background:var(--pink);color:#fff;width:auto;height:auto;font-family:var(--f-pixel);border-radius:12px;padding:8px 14px;font-size:.95rem;font-weight:600;animation-name:pin-bob-d;animation-duration:1.8s;display:block;top:0;left:0}.pin-diary .pin-b:after{border-radius:0 0 2px}@keyframes pin-bob-d{0%,to{transform:translate(-50%,-128%)}50%{transform:translate(-50%,-146%)}}.pin-diary.glow .pin-b{background:var(--red);animation-name:pin-bob-d,pin-glow;animation-duration:1.1s,1.1s}@keyframes pin-glow{0%,to{box-shadow:3px 4px #2a2140d9,0 0 #ffe27ae6}50%{box-shadow:3px 4px #2a2140d9,0 0 0 14px #ffe27a00}}.isle-hint{white-space:nowrap;opacity:0;font-family:var(--f-tiny);letter-spacing:.05em;text-transform:uppercase;border:2px solid var(--ink);background:#ffffffe6;border-radius:99px;align-items:center;gap:10px;padding:8px 14px;font-size:.64rem;display:flex;position:absolute;bottom:22px;left:50%;transform:translate(-50%,10px)}.isle-hint i{color:var(--pink);font-style:normal}.isle.is-ready .isle-hint{opacity:1;transition-delay:.5s;transform:translate(-50%)}.isle.is-ready.is-touched .isle-hint{opacity:0;transition-delay:0s}.isle .isle-skip{opacity:0;pointer-events:none;font-family:var(--f-tiny);letter-spacing:.05em;text-transform:uppercase;color:#fff;text-shadow:0 1px #2a2140b3;border-bottom:2px dotted #fffc;padding-bottom:2px;font-size:.6rem;position:absolute;bottom:20px;right:16px}.isle.is-ready .isle-skip{opacity:.85;pointer-events:auto}.isle.is-ready .isle-skip:hover{opacity:1}.isle-toast{opacity:0;text-align:center;max-width:calc(100vw - 32px);font-family:var(--f-pixel);color:#fff;background:var(--ink);box-shadow:4px 4px 0 var(--pink);transition:opacity .35s, transform .5s var(--ease-back);border-radius:14px;padding:10px 18px;font-size:1rem;font-weight:600;position:absolute;top:84px;left:50%;transform:translate(-50%,-16px)scale(.94)}.isle-toast.on{opacity:1;transform:translate(-50%)scale(1)}.mcard{opacity:0;pointer-events:none;background:var(--paper);border:3px solid var(--ink);width:min(350px,100vw - 44px);transition:opacity .3s, transform .55s var(--ease-back);border-radius:14px;padding:12px;position:absolute;top:50%;right:22px;transform:translate(46px,-50%)rotate(4deg);box-shadow:8px 8px #2a2140eb}.mcard.on{opacity:1;pointer-events:auto;transform:translateY(-50%)rotate(1.2deg)}.mc-shot{aspect-ratio:4/3;background:var(--sky-2);border:3px solid var(--ink);border-radius:8px;position:relative}.mc-shot canvas{width:100%;height:100%;image-rendering:pixelated;cursor:pointer;border-radius:4px;display:none}.mc-shot canvas.on{display:block}.mc-tape{background:#ffc4d6e0;width:92px;height:24px;margin-left:-46px;position:absolute;top:-15px;left:50%;rotate:-3deg;box-shadow:0 1px 2px #0000001f}.mc-shot,.mc-body{transition:opacity .16s}.mcard.swap .mc-shot,.mcard.swap .mc-body{opacity:0}.mc-body{padding:12px 4px 2px}.mc-meta{font-family:var(--f-tiny);letter-spacing:.05em;text-transform:uppercase;color:var(--ink-soft);justify-content:space-between;align-items:center;font-size:.6rem;display:flex}.mc-year{background:var(--pink);color:#fff;border-radius:6px;padding:3px 8px}.mc-title{font-family:var(--f-serif);margin-top:8px;font-size:1.85rem;font-weight:400;line-height:1.02}.mc-text{font-family:var(--f-hand);color:var(--ink-soft);margin-top:6px;font-size:1.32rem;line-height:1.2}.mc-nav{gap:8px;margin-top:12px;display:flex}.mc-nav button{font-family:var(--f-pixel);border:3px solid var(--ink);box-shadow:3px 3px 0 var(--ink);transition:transform .15s var(--ease-out), box-shadow .15s;background:#fff;border-radius:10px;padding:9px 12px;font-size:.95rem;font-weight:600}.mc-nav .mc-next{background:var(--pink);color:#fff;flex:1}.mc-nav button:hover{box-shadow:4px 4px 0 var(--ink);transform:translate(-1px,-1px)}.mc-nav button:active{box-shadow:1px 1px 0 var(--ink);transform:translate(2px,2px)}.mc-close{background:var(--ink);color:#fff;border:3px solid #fff;border-radius:50%;width:34px;height:34px;font-size:1.25rem;line-height:1;position:absolute;top:-15px;right:-15px}.isle.is-busy .isle-title,.isle.is-busy .isle-top,.isle.is-busy .pins,.isle.is-busy .isle-hint,.isle.is-busy .isle-skip,.isle.is-busy .mcard,.isle.is-busy .isle-toast{opacity:0;transition-duration:.35s}.isle.is-busy *{pointer-events:none!important}@media (max-width:760px),(max-aspect-ratio:82/100){.isle.is-ready .isle-title{opacity:0}.isle-top{top:10px;left:10px;right:10px}.isle-count,.tool{padding:7px 10px;font-size:.58rem}.ic-pips,.t-lab{display:none}.isle-hint{font-size:.56rem;bottom:70px}.isle-skip{bottom:28px}.isle.has-card .isle-hint,.isle.has-card .isle-skip{opacity:0;pointer-events:none}.mcard{width:auto;transition:opacity .3s, transform .5s var(--ease-out);grid-template-columns:38% 1fr;align-items:start;gap:10px;display:grid;top:auto;bottom:10px;left:10px;right:10px;transform:translateY(115%);box-shadow:5px 5px #2a2140eb}.mcard.on{transform:none}body.in-garden.card-open .sound-btn{bottom:calc(var(--card-h,210px) + 22px)}.mc-body{padding:0}.mc-title{margin-top:5px;font-size:1.35rem}.mc-text{font-size:1.08rem;line-height:1.15}.mc-num{display:none}.mc-nav{margin-top:8px}.mc-nav button{padding:7px 10px;font-size:.8rem}.mc-close{top:-14px;right:-8px}.pin-b{width:40px;height:40px;top:-54px;left:-20px}.pin-b svg{width:20px}}@media (prefers-reduced-motion:reduce){.pin-b{animation:none}.pin-diary .pin-b{transform:translate(-50%,-128%)}}#book{background:var(--cream);position:relative;overflow-x:clip}.sec{background:var(--bg,var(--cream));padding:clamp(96px,13vw,170px) clamp(18px,6vw,90px) clamp(90px,12vw,150px);position:relative}.sec:before{content:"";pointer-events:none;background:radial-gradient(circle at 20px 20px, var(--bg,var(--cream)) 19.5px, transparent 20.5px) 0 0 / 40px 20px repeat-x;height:20px;position:absolute;top:-19px;left:0;right:0}.ch-head{text-align:center;flex-direction:column;align-items:center;gap:12px;max-width:820px;margin:0 auto clamp(44px,7vw,90px);display:flex}.ch-no{font-family:var(--f-tiny);letter-spacing:.14em;text-transform:uppercase;border:2px solid;border-radius:99px;padding:6px 12px;font-size:.68rem}.ch-title{font-family:var(--f-serif);letter-spacing:-.02em;font-size:clamp(3rem,9vw,6.6rem);font-weight:400;line-height:.92}.ch-title em{color:var(--pink);font-style:italic}.ch-sub{font-family:var(--f-hand);color:var(--ink-soft);font-size:clamp(1.3rem,2.6vw,1.7rem);line-height:1.1}.ch-head.light{color:var(--cream)}.ch-head.light .ch-sub{color:var(--pink-2)}.ch-head.light .ch-title em{color:var(--butter)}.polaroid{width:100%;transform:rotate(var(--r,0deg));background:#fff;padding:10px 10px 12px;position:relative;box-shadow:0 2px #2a214014,0 14px 30px -10px #2a214061}.pl-tape{background:var(--tape,var(--pink-2));opacity:.86;z-index:1;width:88px;height:26px;margin-left:-44px;position:absolute;top:-13px;left:50%;rotate:-3deg;box-shadow:0 1px 2px #0000001a}.photo{aspect-ratio:var(--ar,4 / 3);background:var(--sky-2);cursor:zoom-in;position:relative;overflow:hidden}.photo canvas,.photo img,.photo video{width:100%;height:100%;image-rendering:pixelated;position:absolute;top:0;bottom:0;left:0;right:0}.photo img,.photo video{object-fit:cover;image-rendering:auto}.photo video{pointer-events:none}.quad{grid-template-columns:1fr 1fr;gap:6px;display:grid}.quad .photo{aspect-ratio:1}.live{z-index:2;color:#fff;font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;pointer-events:none;background:#1e1a3d9e;border-radius:99px;align-items:center;gap:5px;padding:3px 8px 3px 7px;font-size:.5rem;display:inline-flex;position:absolute;top:8px;left:8px}.live i{background:#ff5c74;border-radius:50%;width:6px;height:6px;animation:1.2s steps(2,jump-none) infinite rec}.photo.has-img canvas{display:none}.photo:after{content:"";pointer-events:none;background:linear-gradient(120deg,#ffffff47,#0000 38%);position:absolute;top:0;bottom:0;left:0;right:0}.polaroid figcaption{font-family:var(--f-hand);text-align:center;color:var(--ink);padding-top:9px;font-size:1.35rem;line-height:1.05}.s-cover{background:linear-gradient(#8cc4ff 0%,#bfe0ff 55%,#e9f6ff 100%);align-items:center;min-height:100svh;padding:90px clamp(18px,6vw,90px) 25svh;display:grid;position:relative;overflow:hidden}.cv-sky{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.cv-sun{aspect-ratio:1;background:#fff6c4;border-radius:50%;width:clamp(80px,11vw,150px);position:absolute;top:9%;right:9%;box-shadow:0 0 0 18px #fff6c459,0 0 0 44px #fff6c42e,0 0 90px 30px #ffec9680}.cloud{background:#fff;border-radius:99px;width:170px;height:48px;animation:60s linear infinite cv-drift;position:absolute;box-shadow:42px -20px 0 4px #fff,88px -7px 0 -4px #fff}.cloud.c1{top:12%;left:4%}.cloud.c2{opacity:.85;animation-duration:84s;animation-delay:-30s;top:26%;left:58%;scale:.7}.cloud.c3{opacity:.7;animation-duration:96s;animation-delay:-60s;top:46%;left:24%;scale:.55}.cloud.c4{animation-duration:70s;animation-delay:-12s;top:6%;left:72%;scale:.9}.cloud.c5{opacity:.75;animation-duration:110s;animation-delay:-44s;top:60%;left:82%;scale:.6}@keyframes cv-drift{0%{transform:translate(-30vw)}to{transform:translate(40vw)}}.cv-stickers{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.stk{filter:drop-shadow(0 5px #2a214024);width:clamp(34px,4.4vw,60px);position:absolute}.stk svg{animation:5s ease-in-out infinite stk-float}.stk.s1{top:11%;left:1.6%;rotate:-14deg}.stk.s2{top:10%;left:44%;rotate:12deg}.stk.s3{top:75%;left:35%;rotate:8deg}.stk.s4{top:68%;left:50%;rotate:-8deg}.stk.s5{top:46%;right:4%;rotate:20deg}.stk.s6{width:clamp(22px,2.8vw,36px);top:14%;right:30%;rotate:-20deg}.stk:nth-child(2n) svg{animation-delay:-2.4s}@keyframes stk-float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.cv-grid{z-index:2;grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(24px,5vw,80px);width:100%;max-width:1200px;margin:0 auto;display:grid;position:relative}.cv-kicker{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;border:2px solid var(--ink);box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:99px;align-items:center;gap:8px;padding:6px 13px;font-size:.7rem;display:inline-flex}.cv-kicker i{width:13px}.cv-title{flex-direction:column;align-items:flex-start;margin-top:18px;font-weight:400;display:flex}.cv-script{font-family:var(--f-script);color:var(--maroon);z-index:1;margin-left:.12em;font-size:clamp(2.8rem,6.6vw,5.8rem);line-height:.8;position:relative}.cv-name{font-family:var(--f-pixel);letter-spacing:-.01em;color:#fff;margin-top:-.02em;font-size:clamp(5.4rem,17vw,14.5rem);font-weight:700;line-height:.84;display:flex}.cv-name b{-webkit-text-stroke:.028em var(--ink);paint-order:stroke fill;text-shadow:0 .05em 0 var(--pink), 0 .1em 0 var(--maroon), 0 .17em .22em #2a214040;font-weight:700;display:inline-block}.cv-name b:nth-child(odd){rotate:-2deg}.cv-name b:nth-child(2n){translate:0 .03em;rotate:2.5deg}.cv-tag{max-width:30ch;font-family:var(--f-serif);margin-top:30px;font-size:clamp(1.35rem,2.5vw,1.95rem);font-style:italic;line-height:1.15}.cv-date{font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;flex-wrap:wrap;gap:8px;margin-top:20px;font-size:.64rem;display:flex}.cv-date span{border:2px solid var(--ink);background:#ffffffc7;border-radius:8px;padding:5px 10px}.cv-date span:first-child{background:var(--butter)}.cv-photo{justify-self:center;width:min(340px,100%,47svh);position:relative}.polaroid.big{padding:14px 14px 16px}.polaroid.big figcaption{font-size:1.7rem}.balloons{z-index:3;transform-origin:50% 180%;gap:4px;animation:5s ease-in-out infinite bl-sway;display:flex;position:absolute;top:-9%;right:-15%}@keyframes bl-sway{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}.bl{aspect-ratio:5/6;cursor:pointer;background:radial-gradient(circle at 32% 28%, #fff8 0 12%, transparent 13%), var(--pink);border:3px solid var(--ink);border-radius:50%/44% 44% 56% 56%;place-items:center;width:clamp(64px,7.4vw,92px);display:grid;position:relative;box-shadow:inset -8px -10px #2a21401f}.bl.b1{background:radial-gradient(circle at 32% 28%, #fff9 0 12%, transparent 13%), var(--butter);margin-top:26px}.bl:after{content:"";background:var(--ink);opacity:.5;width:2px;height:110px;position:absolute;top:100%;left:50%}.bl b{font-family:var(--f-pixel);color:#fff;text-shadow:0 3px #2a214047;font-size:clamp(2.2rem,4.2vw,3.2rem);font-weight:700;line-height:1}.bl.b1 b{color:var(--ink);text-shadow:none}.cv-stamp{aspect-ratio:1;text-align:center;border:3px dashed var(--red);outline:3px solid var(--red);outline-offset:4px;width:104px;color:var(--red);font-family:var(--f-tiny);letter-spacing:.06em;text-transform:uppercase;z-index:3;background:#fffaf0e6;border-radius:50%;place-items:center;font-size:.7rem;line-height:1.25;display:grid;position:absolute;bottom:-4%;left:-19%;transform:rotate(-14deg)}.cv-kids{z-index:3;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:9svh;left:clamp(16px,9vw,150px)}.cv-kids svg{width:clamp(54px,6.4vw,88px)}.cv-kids i{width:clamp(20px,2.2vw,30px);margin-bottom:52%;animation:2.2s ease-in-out infinite stk-float}.cv-hill{background:linear-gradient(#8fd66a,#6cc04a 60%);border-radius:50% 50% 0 0/100% 100% 0 0;height:19svh;position:absolute;bottom:-1px;left:-20%;right:-20%;box-shadow:inset 0 10px #ffffff47}.cv-scroll{z-index:3;font-family:var(--f-tiny);letter-spacing:.14em;text-transform:uppercase;color:#fff;text-shadow:0 1px #2a214080;font-size:.66rem;position:absolute;bottom:18px;left:50%;transform:translate(-50%)}.cv-scroll i{font-style:normal;animation:1.4s ease-in-out infinite stk-float;display:inline-block}.marquee{z-index:4;margin:-14px 0;position:relative;rotate:-1.2deg;scale:1.04}.mq-row{background:var(--ink);color:var(--cream);border-block:3px solid var(--ink);padding:12px 0;overflow:hidden}.mq-row.rev{background:var(--pink);color:#fff}.mq-row>div{align-items:center;width:max-content;animation:46s linear infinite mq;display:flex}.mq-row.rev>div{animation-duration:58s;animation-direction:reverse}.mq-row span{font-family:var(--f-serif);white-space:nowrap;padding:0 22px;font-size:clamp(1.4rem,3vw,2.3rem);font-style:italic;line-height:1}.mq-row.rev span{font-family:var(--f-pixel);font-size:clamp(1.1rem,2.3vw,1.7rem);font-style:normal}.mq-row i{flex:none;width:clamp(18px,2.2vw,28px)}@keyframes mq{to{transform:translate(-50%)}}.s-film{height:100svh;color:var(--cream);background:radial-gradient(at 50% 40%,#2b2147 0%,#130f20 72%);position:relative;overflow:hidden}.film-pin{flex-direction:column;justify-content:center;align-items:center;gap:14px;height:100%;padding:22px 16px 26px;display:flex}.film-top,.film-ui,.film-sub{width:min(1040px,94vw,177.778svh - 408.889px);min-width:min(94vw,300px)}.film-top{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;opacity:.8;justify-content:space-between;gap:12px;font-size:.62rem;display:flex}.film-rec{color:#ff7a8a}.film-rec:before{content:"";background:var(--red);border-radius:50%;width:8px;height:8px;margin-right:6px;animation:1.2s steps(2,jump-none) infinite rec;display:inline-block}@keyframes rec{50%{opacity:.15}}.film-frame{aspect-ratio:16/9;background:#000;border:4px solid #0b0814;border-radius:10px;width:min(1040px,94vw,177.778svh - 408.889px);min-width:min(94vw,300px);position:relative;overflow:hidden;box-shadow:0 0 0 3px #3a2e5c,0 30px 80px -20px #000,0 0 120px -30px #ff6f9f80}.film-canvas{width:100%;height:100%;image-rendering:pixelated}.film-fx{pointer-events:none;mix-blend-mode:multiply;background:repeating-linear-gradient(0deg,#00000021 0 1px,#0000 1px 4px),radial-gradient(#0000 55%,#00000080 100%);position:absolute;top:0;bottom:0;left:0;right:0}.film-title{text-align:center;pointer-events:none;background:#130f209e;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.film-title h2{font-family:var(--f-pixel);color:#fff;text-shadow:0 .06em 0 var(--pink);font-size:clamp(2rem,7vw,5.4rem);font-weight:700;line-height:.95}.ft-kicker,.ft-since{font-family:var(--f-tiny);letter-spacing:.16em;text-transform:uppercase;color:var(--butter);font-size:clamp(.55rem,1.3vw,.78rem)}.film-tag{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;background:var(--butter);color:var(--ink);opacity:0;transition:opacity .3s, transform .4s var(--ease-out);border-radius:5px;padding:4px 9px;font-size:clamp(.55rem,1.2vw,.72rem);position:absolute;top:12px;left:12px;transform:translateY(-6px)}.film-tag.on{opacity:1;transform:none}.film-sub{text-align:center;min-height:2.5em;font-family:var(--f-serif);opacity:0;transition:opacity .4s, transform .5s var(--ease-out);font-size:clamp(1.15rem,2.6vw,1.8rem);font-style:italic;line-height:1.2;transform:translateY(8px)}.film-sub.on{opacity:1;transform:none}.film-ui{align-items:center;gap:14px;padding-left:clamp(0px,66px + -50vw + min(1040px,94vw)/2,56px);display:flex}.film-play{font-family:var(--f-pixel);color:var(--ink);background:var(--butter);box-shadow:3px 3px 0 var(--pink);transition:transform .15s var(--ease-out), background .2s;border:3px solid #0b0814;border-radius:10px;flex:none;padding:9px 14px;font-size:.95rem;font-weight:600}.film-play:hover{transform:translate(-1px,-1px)}.film-play.is-playing{background:var(--pink);color:#fff;box-shadow:3px 3px 0 var(--butter)}.film-reel{background:#ffffff24;border-radius:99px;flex:1;height:8px;overflow:hidden}.film-reel i{background:linear-gradient(90deg, var(--pink), var(--butter));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.film-hint{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;opacity:.6;flex:none;font-size:.58rem}.tl{max-width:1080px;margin:0 auto;position:relative}.tl-line{background:#2a21401f;border-radius:99px;width:6px;margin-left:-3px;position:absolute;top:0;bottom:0;left:50%}.tl-line i{background:var(--pink);transform-origin:top;border-radius:99px;position:absolute;top:0;bottom:0;left:0;right:0;transform:scaleY(0)}.tl-line b{filter:drop-shadow(0 3px #2a214040);z-index:2;width:34px;margin:-15px 0 0 -17px;position:absolute;top:0;left:50%}.tl-item{grid-template-columns:1fr 84px 1fr;align-items:center;margin-bottom:clamp(60px,9vw,120px);display:grid;position:relative}.tl-item:last-child{margin-bottom:0}.tl-dot{border:3px solid var(--ink);width:58px;height:58px;box-shadow:3px 3px 0 var(--ink);z-index:1;background:#fff;border-radius:50%;grid-area:1/2;justify-self:center;place-items:center;transition:background .4s;display:grid}.tl-dot svg{width:28px}.tl-item.seen .tl-dot{background:var(--butter)}.tl-pic{grid-row:1;width:min(360px,100%)}.tl-words{grid-row:1}.tl-item.l .tl-pic{grid-column:1;justify-self:end}.tl-item.l .tl-words{grid-column:3}.tl-item.r .tl-pic{grid-column:3;justify-self:start}.tl-item.r .tl-words{text-align:right;grid-column:1}.tl-year{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;background:var(--ink);color:#fff;border-radius:6px;padding:5px 10px;font-size:.68rem;display:inline-block;rotate:-2deg}.tl-words h3{font-family:var(--f-serif);margin-top:12px;font-size:clamp(2rem,4vw,3rem);font-weight:400;line-height:1}.tl-words p{max-width:38ch;color:var(--ink-soft);margin-top:10px;font-size:1.05rem}.tl-item.r .tl-words p{margin-left:auto}.wall{grid-template-columns:repeat(4,1fr);grid-template-areas:"p1 p2 note rc""p3 p4 p5 rc""tk tk p6 keep"". .st st";align-items:center;gap:clamp(22px,3.4vw,44px);max-width:1180px;margin:0 auto;display:grid}.wl{transform:rotate(var(--r,0deg));position:relative}.wl-p1{grid-area:p1}.wl-p2{grid-area:p2}.wl-p3{grid-area:p3}.wl-p4{grid-area:p4}.wl-p5{grid-area:p5}.wl-p6{grid-area:p6}[data-drag]{touch-action:pan-y}@media (hover:hover) and (pointer:fine){[data-drag]{cursor:grab}[data-drag].dragging{cursor:grabbing}}[data-drag].dragging{box-shadow:0 30px 50px -14px #2a214080}.wl-note{font-family:var(--f-hand);background:#fff3a8;grid-area:note;padding:22px 18px 18px;box-shadow:0 14px 26px -12px #2a214066}.pin-dot{background:radial-gradient(circle at 35% 30%, #ff9aa8, var(--red) 60%);border-radius:50%;width:20px;height:20px;margin-left:-10px;position:absolute;top:-9px;left:50%;box-shadow:0 4px 4px #00000040}.note-cover{text-align:center;flex-direction:column;align-items:center;gap:4px;width:100%;display:flex}.note-cover i{width:44px}.note-cover b{font-size:1.6rem;font-weight:700;line-height:1.05}.note-cover small{font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;color:var(--ink-soft);font-size:.56rem}.note-in{max-height:0;transition:max-height .7s var(--ease-out);overflow:hidden}.wl-note.open .note-in{max-height:520px;overflow:visible}.note-in p,.note-boxes{opacity:0;transition:opacity .2s}.note-in p{margin-top:8px;font-size:1.45rem;line-height:1.15}.note-in p:first-child{border-top:2px dashed #2a21404d;margin-top:14px;padding-top:12px}.wl-note.open .note-in p{opacity:1;transition:opacity .5s calc(.25s + var(--i,0) * .16s)}.wl-note.open .note-boxes{opacity:1;transition:opacity .5s 1s}.note-boxes{gap:20px;margin-top:14px;display:flex}.nb{font-family:var(--f-hand);align-items:center;gap:8px;font-size:1.6rem;line-height:1;display:inline-flex}.nb i{border:3px solid var(--ink);background:#fff;border-radius:4px;width:24px;height:24px;position:relative}.nb.checked i{background:var(--pink)}.nb.checked i:after{content:"♥";color:#fff;place-items:center;font-size:14px;font-style:normal;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.wl-ticket{filter:drop-shadow(0 12px 14px #2a214047);grid-area:tk;justify-self:center;width:100%;max-width:460px;display:flex}.tk-main{color:#fff;background:radial-gradient(circle at 100% 0, transparent 9px, var(--pink) 9.5px) top right / 100% 51% no-repeat, radial-gradient(circle at 100% 100%, transparent 9px, var(--pink) 9.5px) bottom right / 100% 51% no-repeat;border-radius:10px 0 0 10px;flex-direction:column;flex:1;gap:4px;padding:18px 20px;display:flex}.tk-main small,.tk-stub small{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;opacity:.85;font-size:.56rem}.tk-main b{font-family:var(--f-pixel);font-size:clamp(1.3rem,2.4vw,1.9rem);font-weight:700;line-height:1}.tk-main span{font-family:var(--f-hand);font-size:1.25rem;line-height:1}.tk-stub{color:var(--ink);border-left:3px dashed var(--pink);background:radial-gradient(circle at 0 0, transparent 9px, var(--paper) 9.5px) top left / 100% 51% no-repeat, radial-gradient(circle at 0 100%, transparent 9px, var(--paper) 9.5px) bottom left / 100% 51% no-repeat;border-radius:0 10px 10px 0;flex:none;grid-template-columns:auto auto;align-content:center;gap:2px 10px;padding:14px 18px;display:grid}.tk-stub b{font-family:var(--f-pixel);font-size:1.3rem;line-height:1}.wl-receipt{text-align:center;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 100%;background:#fff;flex-direction:column;grid-area:rc;gap:6px;padding:22px 18px 30px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.74rem;line-height:1.35;display:flex;box-shadow:0 14px 26px -12px #2a214066;-webkit-mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 100%;mask:conic-gradient(from -45deg at bottom,#0000,#000 1deg 89deg,#0000 90deg) bottom/16px 100%}.rc-head{font-family:var(--f-pixel);text-transform:uppercase;font-size:1.15rem;line-height:1}.wl-receipt small{color:var(--ink-soft);font-size:.62rem}.wl-receipt ul{text-align:left;border-block-start:2px dashed #2a21404d;border-block-end:2px dashed #2a21404d;gap:5px;margin:8px 0 4px;padding:10px 0;display:grid}.wl-receipt li{align-items:baseline;gap:6px;display:flex}.wl-receipt li i{border-bottom:2px dotted #2a21404d;flex:1;min-width:12px;translate:0 -3px}.wl-receipt li span:last-child{text-align:right;font-weight:700}.rc-total{text-transform:uppercase;justify-content:space-between;gap:8px;font-weight:700;display:flex}.rc-total span:last-child{color:var(--pink)}.rc-bar{background:repeating-linear-gradient(90deg, var(--ink) 0 2px, transparent 2px 4px, var(--ink) 4px 7px, transparent 7px 9px, var(--ink) 9px 10px, transparent 10px 14px);height:34px;margin-top:8px}.wl-keep{--ar:900 / 775;background:#fff;grid-area:keep;justify-self:center;width:100%;max-width:300px;padding:7px;box-shadow:0 2px #2a214014,0 14px 26px -12px #2a214073}.wl-keep .photo{background:#f1ee62}.wl-keep figcaption{font-family:var(--f-hand);text-align:center;color:var(--ink);padding:7px 4px 2px;font-size:1.25rem;line-height:1.05}.wl-scribble{font-family:var(--f-hand);color:var(--ink-soft);text-align:center;--r:-7deg;grid-area:st;margin-top:-10px;font-size:1.7rem;line-height:1.05}@media (max-width:860px){.s-cover{padding-top:110px;padding-bottom:27svh}.cv-grid{grid-template-columns:1fr;gap:54px}.cv-photo{width:min(270px,68vw)}.balloons{top:-17%;right:-17%}.cv-stamp{width:82px;font-size:.56rem;bottom:-15%;left:-17%}.cv-kids{left:auto;right:8vw}.stk.s2,.stk.s4,.stk.s6{display:none}.tl-line{left:26px}.tl-item{grid-template-columns:52px 1fr;align-items:start;gap:18px 14px}.tl-dot{grid-area:1/1;width:48px;height:48px}.tl-dot svg{width:22px}.tl-item .tl-pic,.tl-item.l .tl-pic,.tl-item.r .tl-pic{grid-area:1/2;justify-self:start;width:min(330px,100%)}.tl-item .tl-words,.tl-item.l .tl-words,.tl-item.r .tl-words{text-align:left;grid-area:2/2}.tl-item.r .tl-words p{margin-left:0}.wall{grid-template-columns:1fr 1fr;grid-template-areas:"p1 p2""note note""p3 p4""tk tk""p5 p6""rc rc""keep keep""st st"}.wl-scribble{margin-top:0}.wl-note,.wl-receipt{justify-self:center;width:100%;max-width:340px}.polaroid figcaption{font-size:1.15rem}.film-hint{display:none}}@media (prefers-reduced-motion:reduce){.cloud,.stk svg,.balloons,.mq-row>div,.cv-kids i,.cv-scroll i,.live i{animation:none}}.px-wrap{grid-template-columns:1.3fr .7fr;align-items:center;gap:clamp(24px,4vw,54px);max-width:1120px;margin:0 auto;display:grid}.px-screen{background:var(--ink);border-radius:20px;padding:14px 14px 16px;box-shadow:0 10px #17112a,0 30px 50px -18px #2a214099}.px-hud{font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;color:var(--butter);justify-content:space-between;align-items:center;gap:10px;padding:2px 4px 10px;font-size:.62rem;display:flex}.px-lives{gap:4px;display:flex}.px-lives svg{width:14px}.px-count{font-family:var(--f-pixel);color:#fff;font-size:.95rem}.px-stage{aspect-ratio:16/9;background:linear-gradient(#ffe9c9 0 68%,#b9824f 68% 70.5%,#d9a66b 70.5% 100%);border:4px solid #17112a;border-radius:6px;position:relative;overflow:hidden}.px-stage:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#2a21400f 0 2px,#0000 2px 4px);position:absolute;top:0;bottom:0;left:0;right:0}.px-board{width:36%;height:34%;font-family:var(--f-tiny);color:#f4f1de;background:#2f5d4a;border:4px solid #8a5a33;flex-direction:column;justify-content:center;gap:6%;padding-left:7%;font-size:clamp(.5rem,1.5vw,.9rem);display:flex;position:absolute;top:11%;left:7%}.px-window{aspect-ratio:1;background:linear-gradient(90deg,#0000 46%,#fff 46% 54%,#0000 54%),linear-gradient(#0000 46%,#fff 46% 54%,#0000 54%),linear-gradient(#8cc4ff,#cfe8ff);border:4px solid #fff;width:17%;position:absolute;top:11%;right:9%;box-shadow:0 0 0 3px #b9824f}.px-bin{width:11%;margin-left:-5.5%;position:absolute;bottom:9%;left:50%}.px-kid{width:11.5%;position:absolute;bottom:8%}.px-kid.girl{left:31%}.px-kid.boy{left:58%}.px-kid svg{display:none}.px-kid .f0{display:block}.px-kid.walking .f0{display:none}.px-kid.walking .f1,.px-kid.walking .f2{display:block}.px-kid.walking .f2{position:absolute;bottom:0;left:0}.px-kid.walking .f1{animation:.34s step-end infinite px-a}.px-kid.walking .f2{animation:.34s step-end infinite px-b}@keyframes px-a{0%{opacity:1}50%,to{opacity:0}}@keyframes px-b{0%{opacity:0}50%,to{opacity:1}}.px-kid.happy .f0{display:none}.px-kid.happy .f3{animation:.5s steps(2,jump-none) infinite px-hop;display:block}@keyframes px-hop{50%{transform:translateY(-8%)}}.px-say{border:3px solid var(--ink);width:max-content;max-width:clamp(96px,15vw,170px);font-family:var(--f-tiny);text-transform:uppercase;color:var(--ink);transition:transform .35s var(--ease-back);z-index:2;background:#fff;border-radius:8px;padding:6px 8px;font-size:clamp(.46rem,1.05vw,.64rem);line-height:1.3;position:absolute;bottom:108%;transform:scale(0)}.px-kid.girl .px-say{transform-origin:100% 100%;right:30%}.px-kid.boy .px-say{transform-origin:0 100%;bottom:150%;left:30%}.px-kid.says .px-say{transform:scale(1)}.px-heart{width:8%;transition:transform .5s var(--ease-back);margin-left:-4%;position:absolute;bottom:44%;left:50%;transform:scale(0)}.px-stage.love .px-heart{animation:.9s steps(2,jump-none) .5s infinite px-beat;transform:scale(1)}@keyframes px-beat{50%{transform:scale(1.22)}}.px-keys{align-items:center;gap:14px;padding:14px 4px 0;display:flex}.px-btn{font-family:var(--f-pixel);color:var(--ink);background:var(--butter);border-radius:10px;padding:10px 16px;font-size:1rem;font-weight:600;transition:transform 80ms,box-shadow 80ms;box-shadow:0 5px #b58f1d}.px-btn:active{transform:translateY(4px);box-shadow:0 1px #b58f1d}.px-tip{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;color:#ffffff8c;font-size:.58rem}.px-ach{gap:14px;display:grid}.px-ach li{border:3px solid var(--ink);box-shadow:var(--hard);font-family:var(--f-pixel);background:#fff;border-radius:12px;align-items:center;gap:12px;padding:12px 14px;font-size:1.05rem;font-weight:600;line-height:1.15;display:flex}.px-ach li i{flex:none;width:30px}.px-ach li small{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;color:var(--pink);margin-bottom:3px;font-size:.54rem;font-weight:400;display:block}.px-ach li.bonus{background:var(--butter)}.s-boat{height:100svh;color:var(--cream);background:linear-gradient(#17133a 0%,#2a2360 55%,#4a4691 100%);flex-direction:column;align-items:center;padding:9svh 18px 0;display:flex;position:relative;overflow:hidden}.bt-stars{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.bt-stars i{width:var(--s,2px);height:var(--s,2px);animation:twinkle 3.2s var(--d,0s) ease-in-out infinite;background:#fff;position:absolute}@keyframes twinkle{0%,to{opacity:.9}50%{opacity:.15}}.bt-moon{aspect-ratio:1;background:#fff6c4;border-radius:50%;width:clamp(56px,8vw,96px);position:absolute;top:11%;right:12%;box-shadow:inset -14px -8px #e9dc9a,0 0 60px 12px #fff6c459}.s-boat .ch-head{gap:8px;margin-bottom:3svh;position:relative}.s-boat .ch-title{font-size:clamp(2.4rem,6vw,4.4rem)}.bt-lines{width:min(760px,90vw);height:5.2em;font-size:clamp(1.3rem,3.2vw,2.2rem);position:relative}.bt-line{text-align:center;font-family:var(--f-serif);text-wrap:balance;place-items:center;font-style:italic;line-height:1.2;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.bt-boat{z-index:2;width:min(270px,56vw,34svh);margin-top:1svh;position:relative}.bt-bob{animation:4.2s ease-in-out infinite bt-bob;display:block;position:relative}@keyframes bt-bob{0%,to{transform:translateY(0)rotate(-2deg)}50%{transform:translateY(-9px)rotate(2deg)}}.bt-bob svg{filter:drop-shadow(0 14px 18px #00000059);width:100%;display:block;overflow:visible}.bt-yes{white-space:nowrap;font-family:var(--f-hand);color:var(--maroon);border:3px solid var(--ink);transition:transform .6s var(--ease-back);background:#fff;border-radius:12px;padding:6px 14px;font-size:1.9rem;font-weight:700;line-height:1;position:absolute;top:2%;left:50%;transform:translate(-50%,10px)scale(0)}.bt-boat.is-yes .bt-yes{transform:translate(-50%,-100%)scale(1)rotate(-4deg)}.bt-hint{z-index:4;text-align:center;font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;color:#fff;font-size:.66rem;position:absolute;bottom:4svh;left:0;right:0}.bt-water{z-index:3;pointer-events:none;height:30svh;position:absolute;bottom:-9svh;left:0;right:0}.bt-water i{background:radial-gradient(circle at 40px -14px, transparent 34px, var(--w) 35px) 0 0 / 80px 100% repeat-x;animation:7s linear infinite wave;position:absolute;top:0;bottom:0;left:-80px;right:-80px}.bt-water i:first-child{--w:#6f8ceb8c}.bt-water i:nth-child(2){--w:#4e68cdb3;animation-duration:5s;animation-direction:reverse;top:22px}.bt-water i:nth-child(3){--w:#33428f;animation-duration:9s;top:46px}@keyframes wave{to{transform:translate(80px)}}.s-us{background:#ffd9e4 radial-gradient(#ffffffb3 2px,#0000 2.5px) 0 0/26px 26px;height:100svh;position:relative;overflow:hidden}.us-track{width:max-content;height:100%;padding:var(--rope,21svh) 12vw 0 9vw;will-change:transform;align-items:flex-start;gap:clamp(40px,7vw,110px);display:flex;position:relative}.us-rope{left:0;right:0;top:var(--rope,21svh);background:repeating-linear-gradient(90deg,#a87b52 0 10px,#8a5f3b 10px 20px);border-radius:2px;height:4px;margin-top:-2px;position:absolute}.us-panel{flex-direction:column;flex:none;align-self:center;align-items:flex-start;gap:16px;width:min(500px,82vw);margin-top:-10svh;display:flex}.us-panel .ch-title{font-size:clamp(3.2rem,8vw,6.4rem)}.us-lead{font-family:var(--f-hand);color:var(--maroon);max-width:26ch;font-size:clamp(1.4rem,2.6vw,1.9rem);line-height:1.15}.us-go{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;font-size:.66rem}.us-go i{font-style:normal;animation:1.2s ease-in-out infinite us-go;display:inline-block}@keyframes us-go{50%{transform:translate(8px)}}.us-card{--ar:4 / 5;transform-origin:50% 0;flex:none;width:min(320px,64vw,41svh);margin-top:14px}.us-card.land{width:min(420px,78vw,54svh)}.us-card:nth-of-type(2n){margin-top:34px}.us-card .pl-tape{display:none}.peg{z-index:2;background:linear-gradient(90deg,#d9a66b 0 45%,#b9824f 45%);border-radius:3px;width:14px;height:40px;margin-left:-7px;position:absolute;top:-26px;left:50%;box-shadow:0 2px 3px #00000040}.us-card:nth-of-type(2n) .peg{height:60px;top:-46px}.us-when{font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;background:var(--butter);border:2px solid var(--ink);border-radius:6px;padding:4px 8px;font-size:.58rem;position:absolute;bottom:-12px;right:-12px;rotate:4deg}.us-outro{text-align:center;align-items:center}.us-outro i{width:54px;animation:1s steps(2,jump-none) infinite px-beat-s}@keyframes px-beat-s{50%{scale:1.18}}.us-outro p{font-family:var(--f-serif);color:var(--maroon);font-size:clamp(1.7rem,3.6vw,2.8rem);font-style:italic;line-height:1.1}.s-tapes{color:var(--cream);background-image:radial-gradient(#ffffff0f 1.5px,#0000 2px);background-size:24px 24px}.tp-wrap{grid-template-columns:minmax(0,1fr) minmax(0,360px);align-items:center;gap:clamp(26px,5vw,70px);max-width:1000px;margin:0 auto;display:grid}.tp-cam{place-items:center;height:min(68svh,640px);display:grid}.tp-screen{aspect-ratio:9/16;cursor:pointer;background:#000;border:4px solid #0b0814;border-radius:16px;max-width:100%;height:100%;position:relative;overflow:hidden;box-shadow:0 0 0 3px #3a2e5c,0 30px 70px -22px #000,0 0 110px -30px #ff6f9f8c}.tp-screen.wide{aspect-ratio:16/9;width:min(100%,580px);height:auto}.tp-screen video{object-fit:cover;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.tp-screen:after{content:"";pointer-events:none;background:repeating-linear-gradient(0deg,#0000001a 0 1px,#0000 1px 4px),radial-gradient(#0000 58%,#0000006b 100%);position:absolute;top:0;bottom:0;left:0;right:0}.tp-noise{pointer-events:none;opacity:0;background:#b9b4c9 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2'/%3E%3CfeColorMatrix values='0 0 0 0 0  0 0 0 0 0  0 0 0 0 0  0 0 0 1.6 -.5'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)'/%3E%3C/svg%3E");position:absolute;top:-40px;bottom:-40px;left:-40px;right:-40px}.tp-screen.switching .tp-noise{animation:.42s steps(5,end) both tp-static}@keyframes tp-static{0%{opacity:1;transform:translate(0)}25%{transform:translate(-22px,14px)}50%{transform:translate(18px,-26px)}75%{opacity:1;transform:translate(-12px,-8px)}to{opacity:0;transform:translate(0)}}.tp-osd{z-index:2;pointer-events:none;font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;color:#fff;text-shadow:0 1px 2px #000000b3;font-size:.58rem;position:absolute;top:0;bottom:0;left:0;right:0}.tp-c{border:2px solid #ffffffd9;width:20px;height:20px;position:absolute}.tp-c.c1{border-bottom:0;border-right:0;top:12px;left:12px}.tp-c.c2{border-bottom:0;border-left:0;top:12px;right:12px}.tp-c.c3{border-top:0;border-right:0;bottom:12px;left:12px}.tp-c.c4{border-top:0;border-left:0;bottom:12px;right:12px}.tp-play{align-items:center;gap:6px;display:inline-flex;position:absolute;top:22px;left:24px}.tp-play i{border-left:8px solid #7dff9b;border-block-start:5px solid #0000;border-block-end:5px solid #0000;width:0;height:0}.tp-screen:not(.is-playing) .tp-play i{border:0;border-inline:3px solid var(--butter);width:8px;height:10px}.tp-batt{border:2px solid #fff;border-radius:2px;width:24px;height:11px;position:absolute;top:22px;right:26px}.tp-batt:after{content:"";background:#fff;width:3px;height:5px;position:absolute;top:1px;right:-5px}.tp-batt i{background:#fff;width:62%;position:absolute;top:1px;bottom:1px;left:1px}.tp-name{white-space:nowrap;text-overflow:ellipsis;line-height:1.35;position:absolute;bottom:22px;left:24px;right:84px;overflow:hidden}.tp-time{font-variant-numeric:tabular-nums;position:absolute;bottom:22px;right:24px}.tp-sound{z-index:3;white-space:nowrap;background:var(--butter);color:var(--ink);box-shadow:3px 3px 0 var(--pink);font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;transition:background .2s, opacity .3s, scale .2s var(--ease-back);border:2px solid #0b0814;border-radius:99px;align-items:center;gap:7px;padding:8px 13px;font-size:.58rem;display:inline-flex;position:absolute;bottom:52px;left:50%;translate:-50%}.tp-sound:hover{scale:1.05}.tp-screen.wide .tp-sound{bottom:46px;left:auto;right:22px;translate:none}.tp-sound i{width:12px;height:12px;position:relative}.tp-sound i:before{content:"♪";font-style:normal;font-family:var(--f-body);place-items:center;font-size:.95rem;line-height:1;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.tp-sound i:after{content:"";background:var(--red);height:2px;position:absolute;top:50%;left:-2px;right:-2px;rotate:-40deg}.tp-sound.on{opacity:.8;background:#fff;padding-inline-start:10px;padding-inline-end:10px}.tp-sound.on span,.tp-sound.on i:after{display:none}.tp-sound:disabled{box-shadow:none;opacity:.7;cursor:default;background:#fffc}.tp-sound:disabled i{display:none}.tp-list{gap:11px;margin:0;padding:0;list-style:none;display:grid}.tape{text-align:left;width:100%;color:var(--ink);background:var(--c,var(--pink-2));rotate:var(--r,0deg);transition:translate .2s var(--ease-out), box-shadow .2s, filter .2s;border:3px solid #0b0814;border-radius:10px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px 12px 8px 8px;display:grid;box-shadow:4px 4px #0b0814}.tape:hover{translate:-2px -2px;box-shadow:6px 6px #0b0814}.tape.on{box-shadow:6px 6px 0 var(--pink);translate:-8px}.tape:not(.on){filter:saturate(.72)brightness(.94)}.tape-reels{background:#2a2140;border-radius:6px;gap:6px;padding:6px 7px;display:flex}.tape-reels i{background:radial-gradient(circle, #2a2140 0 24%, transparent 26%), conic-gradient(#fff 0 12%, #cfc9dd 0 25%, #fff 0 37%, #cfc9dd 0 50%, #fff 0 62%, #cfc9dd 0 75%, #fff 0 87%, #cfc9dd 0);border-radius:50%;width:16px;height:16px}.tape.on .tape-reels i{animation:1.6s linear infinite tp-spin}@keyframes tp-spin{to{transform:rotate(360deg)}}.tape-label{background:#ffffffdb;border-radius:4px;flex-direction:column;min-width:0;padding:4px 10px 5px;display:flex}.tape-label small{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.5rem}.tape-label b{font-family:var(--f-hand);white-space:nowrap;text-overflow:ellipsis;font-size:1.4rem;font-weight:700;line-height:1;overflow:hidden}.tape-len{font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;text-align:right;font-size:.54rem}.tp-note{font-family:var(--f-hand);color:var(--pink-2);text-align:center;margin-top:26px;font-size:clamp(1.5rem,2.8vw,1.9rem);line-height:1.1;rotate:-2deg}.s-letter{color:var(--cream);background-image:radial-gradient(#ffffff0d 1.5px,#0000 2px);background-size:22px 22px}.env{aspect-ratio:3/2;perspective:1200px;filter:drop-shadow(0 26px 30px #0006);width:min(430px,86vw);margin:0 auto;position:relative}.env-back{background:#f0a9bf;border-radius:8px;position:absolute;top:0;bottom:0;left:0;right:0}.env-card{z-index:1;background:var(--paper);color:var(--ink);border-radius:4px;flex-direction:column;gap:9%;padding:7% 8%;display:flex;position:absolute;top:9%;bottom:7%;left:6%;right:6%}.env-card b{font-family:var(--f-hand);font-size:clamp(1.2rem,4.4vw,1.7rem);line-height:1}.env-card i{background:#2a214021;border-radius:2px;height:4px}.env-card i:last-child{width:58%}.env-front{z-index:2;color:var(--maroon);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background:#ffd0dd;border-radius:8px;flex-direction:column;justify-content:flex-end;align-items:center;gap:2px;padding-bottom:7%;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.env-front span{font-family:var(--f-hand);font-size:clamp(1.4rem,5vw,1.9rem);font-weight:700;line-height:1}.env-front small{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;opacity:.8;font-size:.56rem}.env-flap{z-index:3;clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;height:60%;transition:transform .7s var(--ease-out), background .7s;background:#ffbccf;position:absolute;top:0;left:0;right:0}.env.open .env-flap{z-index:0;background:#e796ae;transform:rotateX(180deg)}.env-seal{--s:clamp(52px, 15vw, 68px);left:calc(50% - var(--s) / 2);top:calc(55% - var(--s) / 2);z-index:4;width:var(--s);height:var(--s);background:radial-gradient(circle at 35% 30%, #ff6b7f, var(--red) 62%);border:3px solid #b4203a;border-radius:50%;place-items:center;animation:1.8s ease-in-out infinite seal;display:grid;position:absolute}.env-seal svg{width:47%}@keyframes seal{0%,to{box-shadow:0 5px #8f1830,0 0 #ffe27ab3}60%{box-shadow:0 5px #8f1830,0 0 0 16px #ffe27a00}}.env-hint{text-align:center;font-family:var(--f-tiny);letter-spacing:.14em;text-transform:uppercase;color:var(--pink-2);margin-top:30px;font-size:.66rem;transition:opacity .4s}.env-hint.gone{opacity:0}.paper-wrap{max-width:780px;height:0;margin:0 auto;overflow:hidden}.paper-wrap.open{overflow:visible}.paper{color:var(--ink);background:repeating-linear-gradient(180deg, transparent 0 2.34rem, #5aa6ff38 2.34rem 2.4rem) 0 1.1rem, var(--paper);border-radius:4px;margin:30px 6px 10px;padding:clamp(34px,7vw,70px) clamp(22px,6vw,68px) clamp(30px,6vw,60px);position:relative;rotate:-.6deg;box-shadow:0 30px 60px -20px #0000008c}.paper:before{content:"";background:#e8364f47;width:2px;position:absolute;top:0;bottom:0;left:clamp(12px,4vw,44px)}.pp-clip{border:4px solid #a9a5b8;border-radius:12px;width:22px;height:58px;position:absolute;top:-18px;right:9%;rotate:8deg}.pp-greet{font-family:var(--f-hand);color:var(--pink);margin-bottom:2.4rem;font-size:clamp(2rem,5vw,2.8rem);font-weight:700;line-height:2.4rem}.pp-p{font-family:var(--f-hand);margin-bottom:2.4rem;font-size:clamp(1.4rem,3.2vw,1.72rem);line-height:2.4rem}.pp-end{flex-wrap:wrap;align-items:center;gap:clamp(20px,5vw,50px);display:flex}.pp-photo{flex:none;width:min(230px,58vw)}.pp-sign{font-family:var(--f-hand);font-size:1.7rem;line-height:1.1}.pp-sig{font-family:var(--f-script);color:var(--maroon);font-size:clamp(2.8rem,7vw,4rem);line-height:1.1}.wish-grid{grid-template-columns:repeat(3,1fr);gap:clamp(18px,3vw,34px);max-width:1040px;margin:0 auto;display:grid}.wcard{aspect-ratio:3/4;perspective:1100px;transform:rotate(var(--r,0deg));text-align:center;display:block}.wc-in{width:100%;height:100%;transform-style:preserve-3d;transition:transform .75s var(--ease-back);display:block;position:relative}.wcard:hover .wc-in{transform:rotateY(14deg)}.wcard.flipped .wc-in{transform:rotateY(180deg)}.wc-front,.wc-back{border:3px solid var(--ink);box-shadow:6px 6px 0 var(--ink);-webkit-backface-visibility:hidden;backface-visibility:hidden;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:18px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.wc-front{background:var(--c,var(--pink-2))}.wc-front small{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;font-size:.58rem;position:absolute;top:12px;left:14px}.wc-front i{width:clamp(44px,6vw,72px)}.wc-front b{font-family:var(--f-serif);font-size:clamp(1.3rem,2.8vw,2.1rem);font-weight:400;line-height:1.02}.wc-front em{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;opacity:.65;font-size:.52rem;font-style:normal;position:absolute;bottom:12px}.wc-back{background:var(--paper);transform:rotateY(180deg)}.wc-back p{font-family:var(--f-hand);font-size:clamp(1.15rem,2.3vw,1.6rem);line-height:1.15}.wc-back i{width:18px}.s-cake{text-align:center}.cake{width:min(340px,72vw);margin:40px auto 0;position:relative}.cake-art{filter:drop-shadow(0 12px #2a21401f)}.candles{z-index:2;height:11.8%;position:absolute;top:0;left:0;right:0}.candle{bottom:0;left:calc(25% + var(--i) * 20.8%);background:repeating-linear-gradient(-45deg, #fff 0 4px, var(--pink) 4px 8px);width:4.17%;height:190%;box-shadow:0 0 0 2px var(--ink);border-radius:2px 2px 0 0;position:absolute}.candle:before{content:"";position:absolute;top:-46px;bottom:-8px;left:-22px;right:-22px}.flame{background:radial-gradient(circle at 50% 72%, #fff 0 18%, var(--butter) 19% 48%, #ff9a3d 49%);transform-origin:50% 100%;border-radius:50%/62% 62% 38% 38%;width:22px;height:30px;margin-left:-11px;transition:opacity .2s,scale .25s;animation:.5s ease-in-out infinite alternate flame;position:absolute;bottom:104%;left:50%;box-shadow:0 0 22px 6px #ffbe5099}.candle:nth-child(2) .flame{animation-delay:-.23s}@keyframes flame{0%{transform:scale(1)rotate(-3deg)}to{transform:scale(.9,1.1)rotate(4deg)}}.candle.out .flame{opacity:0;scale:0}.smoke{opacity:0;background:#78708c99;border-radius:50%;width:8px;height:8px;margin-left:-4px;position:absolute;bottom:104%;left:50%}.candle.out .smoke{animation:1.5s ease-out forwards smoke}@keyframes smoke{0%{opacity:.8;transform:translate(0)scale(1)}to{opacity:0;transform:translate(10px,-70px)scale(3.4)}}.cake-msg{font-family:var(--f-hand);color:var(--ink-soft);margin-top:34px;font-size:clamp(1.5rem,3.4vw,2rem);line-height:1.15;transition:color .4s}.cake-msg.done{color:var(--pink);font-weight:700}.cake-last{margin-top:clamp(80px,11vw,130px)}.cl-title{font-family:var(--f-hand);color:var(--maroon);font-size:clamp(1.6rem,3.6vw,2.2rem);line-height:1.1}.cl-title i{font-style:normal;font-family:var(--f-body);font-size:.7em;animation:1.6s ease-in-out infinite stk-float;display:inline-block}.cl-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:clamp(22px,4vw,46px);max-width:900px;margin:clamp(34px,5vw,54px) auto 0;display:flex}.cl-card{--ar:4 / 5;flex:none;width:min(220px,38vw)}.cl-card.land{width:min(320px,78vw)}.cake-again{font-family:var(--f-tiny);letter-spacing:.1em;text-transform:uppercase;border-bottom:2px dotted var(--ink);margin-top:18px;padding-bottom:2px;font-size:.64rem}.s-end{text-align:center;background:linear-gradient(#ffe3ee,#ffd0e0 70%);flex-direction:column;justify-content:center;align-items:center;gap:18px;min-height:100svh;padding:120px 20px 26svh;display:flex;position:relative;overflow:hidden}.s-end>:not(:-webkit-any(.end-hearts,.end-hill)){z-index:2;position:relative}.s-end>:not(:is(.end-hearts,.end-hill)){z-index:2;position:relative}.end-hearts{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.end-hearts i{bottom:-40px;left:calc(4% + var(--i) * 8%);width:calc(14px + (var(--i) * 7px) / 3);opacity:.8;animation:end-up calc(9s + var(--i) * .7s) linear calc(var(--i) * -1.9s) infinite;position:absolute}@keyframes end-up{0%{transform:translateY(0)rotate(-10deg)}to{transform:translateY(-120svh)rotate(20deg)}}.end-kicker{font-family:var(--f-tiny);letter-spacing:.14em;text-transform:uppercase;color:var(--maroon);font-size:.68rem}.end-line{max-width:16ch;font-family:var(--f-serif);letter-spacing:-.02em;text-wrap:balance;font-size:clamp(2.8rem,8vw,6rem);font-weight:400;line-height:.96}.end-small{max-width:34ch;font-family:var(--f-hand);color:var(--maroon);font-size:clamp(1.4rem,3vw,1.9rem);line-height:1.15}.end-kids{align-items:flex-end;gap:10px;margin-top:10px;display:flex}.end-kids svg{width:clamp(64px,8vw,96px)}.end-kids i{width:clamp(40px,5vw,60px);margin-bottom:8px;animation:2.6s ease-in-out infinite stk-float}.end-btns{flex-wrap:wrap;justify-content:center;gap:14px;margin-top:12px;display:flex}.end-from{font-family:var(--f-tiny);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-soft);font-size:.6rem}.end-hill{z-index:1;background:linear-gradient(#8fd66a,#6cc04a 60%);border-radius:50% 50% 0 0/100% 100% 0 0;height:17svh;position:absolute;bottom:-1px;left:-20%;right:-20%}.read-bar{z-index:600;pointer-events:none;height:5px;position:fixed;top:0;left:0;right:0}.read-bar i{background:linear-gradient(90deg, var(--pink), var(--butter));transform-origin:0;height:100%;display:block;transform:scaleX(0)}.chap-nav{z-index:600;color:var(--ink);flex-direction:column;gap:11px;transition:color .4s;display:flex;position:fixed;top:50%;right:16px;transform:translateY(-50%)}.chap-nav[data-dark=true]{color:var(--cream)}.chap-nav button{width:12px;height:12px;transition:background .3s, scale .3s var(--ease-back);border:2px solid;border-radius:50%;position:relative}.chap-nav button:before{content:"";position:absolute;top:-7px;bottom:-7px;left:-7px;right:-7px}.chap-nav button.on{background:var(--pink);scale:1.4}.chap-nav span{white-space:nowrap;opacity:0;pointer-events:none;font-family:var(--f-tiny);letter-spacing:.08em;text-transform:uppercase;color:#fff;background:var(--ink);transition:opacity .2s, translate .3s var(--ease-out);border-radius:6px;padding:4px 8px;font-size:.56rem;position:absolute;top:50%;right:22px;translate:6px -50%}.chap-nav button:hover span{opacity:1;translate:0 -50%}.chap-nav button:focus-visible span{opacity:1;translate:0 -50%}.lightbox{z-index:700;-webkit-backdrop-filter:blur(6px);opacity:0;cursor:zoom-out;background:#1e1a3dd6;place-items:center;padding:20px;transition:opacity .26s;display:grid;position:fixed;top:0;bottom:0;left:0;right:0}.lightbox.on{opacity:1}.lb-card{width:min(900px, 92vw, calc((100svh - 150px) * var(--ar,1.3333)));transition:transform .5s var(--ease-back);background:#fff;padding:16px 16px 18px;transform:scale(.86)rotate(-4deg);box-shadow:0 40px 80px -20px #000}.lightbox.on .lb-card{transform:scale(1)rotate(-1deg)}.lb-shot{aspect-ratio:var(--ar,1.3333);background:var(--sky-2)}.lb-shot canvas,.lb-shot img,.lb-shot video{width:100%;height:100%;image-rendering:pixelated;object-fit:cover;display:block}.lb-shot img,.lb-shot video{image-rendering:auto}.lb-card figcaption{text-align:center;font-family:var(--f-hand);color:var(--ink);padding-top:12px;font-size:clamp(1.5rem,3.4vw,2.2rem);line-height:1.05}.lb-close{width:44px;height:44px;color:var(--ink);border:3px solid var(--ink);background:#fff;border-radius:50%;font-size:1.6rem;line-height:1;position:fixed;top:18px;right:18px}@media (max-width:860px){.px-wrap{grid-template-columns:1fr}.px-tip{display:none}.wish-grid{grid-template-columns:1fr 1fr}.wc-front,.wc-back{box-shadow:4px 4px 0 var(--ink);border-radius:14px;padding:12px}.chap-nav{display:none}.us-panel{margin-top:-10svh}.bt-moon{top:5%;right:6%}.tp-wrap{grid-template-columns:minmax(0,1fr);gap:26px}.tp-cam{height:min(62svh,560px)}.tp-list{scroll-snap-type:x mandatory;scrollbar-width:none;gap:12px;margin-inline-start:calc(-1*clamp(18px,6vw,90px));margin-inline-end:calc(-1*clamp(18px,6vw,90px));padding:6px clamp(18px,6vw,90px) 12px;display:flex;overflow-x:auto}.tp-list::-webkit-scrollbar{display:none}.tp-list li{scroll-snap-align:center;flex:none;width:min(236px,68vw);display:flex}.tape{grid-template-columns:auto 1fr}.tape-len{display:none}.tape-label b{white-space:normal;font-size:1.3rem}.tape.on{translate:0 -5px}.tp-note{margin-top:14px}.lb-card{padding:10px 10px 12px}}@media (max-aspect-ratio:3/4){.s-us{--rope:31svh}.us-card{width:min(330px,70vw,40svh)}.us-card.land{width:min(400px,82vw,54svh)}}@media (prefers-reduced-motion:reduce){.bt-stars i,.bt-bob,.bt-water i,.us-go i,.us-outro i,.env-seal,.flame,.end-hearts i,.end-kids i,.px-kid.happy .f3{animation:none}.wc-in{transition-duration:10ms}.tape.on .tape-reels i,.cl-title i,.tp-screen.switching .tp-noise{animation:none}}
