.brand{font-size:19px;letter-spacing:-.6px}.hero h1{font-size:clamp(42px,5.3vw,70px)}.messengers{border:0;margin:28px 0 16px;padding:0}.messengers legend{margin:auto;font-size:13px;letter-spacing:1px}#messengers{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:16px}.messenger{border:1px solid var(--line);background:#fff9;border-radius:20px;padding:10px;color:var(--ink);width:86px;font-size:10px;display:grid;justify-items:center;gap:7px}.messenger img{width:48px;height:48px;object-fit:contain}.messenger[aria-pressed=true]{border-color:var(--pink);box-shadow:0 0 0 2px #f5bfd1;background:#fff}.random-icon{font-size:33px;height:48px}.motion-option{font-size:12px;color:#95737c}.motion-option input{accent-color:var(--pink)}button:disabled{cursor:wait;opacity:.65}.wish-pulse{animation:wishPulse .7s ease-in-out!important}@keyframes wishPulse{50%{transform:scale(1.06);box-shadow:0 0 28px #ed8bb5}}
.wonderland{border:0;padding:0;width:100vw;max-width:none;height:100dvh;max-height:none;background:radial-gradient(ellipse at 50% 25%,#fffefd 0%,var(--wash,#fff0f5) 70%,#f5eafb);color:var(--ink);overflow:auto;overscroll-behavior:contain}.wonderland::backdrop{background:#74465666}.wl-close{position:fixed;right:max(18px,env(safe-area-inset-right));top:max(18px,env(safe-area-inset-top));z-index:5;border:1px solid #e7ccd6;background:#fffdf9;border-radius:50%;width:42px;height:42px;color:var(--ink);font-size:22px}.wl-stage{min-height:100%;padding:65px 20px 28px;display:flex;align-items:center;flex-direction:column;justify-content:center;position:relative;isolation:isolate;overflow:hidden}.wl-status{font-size:14px;text-align:center;line-height:1.8;min-height:40px;z-index:2;margin:0 25px 8px}.wl-subtitle{font:italic 12px Georgia;letter-spacing:3px;color:#bc8b9d}.wl-scene{position:relative;width:min(100%,620px);display:grid;justify-items:center;perspective:1100px}.wl-mascot{width:150px;height:150px;position:relative;z-index:3;filter:drop-shadow(0 12px 14px #b97a9625);margin-bottom:0}.wl-mascot img{width:100%;height:100%;object-fit:contain}.wl-fallback{display:grid;place-items:center;height:100%;font-size:20px;background:#fff8;border-radius:50%;text-align:center}.wl-aura{position:absolute;inset:0;border-radius:50%;background:radial-gradient(ellipse,#fff9,transparent 70%);z-index:-1}.wl-token{position:absolute;right:0;bottom:15px;font-size:36px;filter:drop-shadow(0 3px 5px #cd92a5)}.wl-prop{position:absolute;left:5px;bottom:0;font-size:28px}.wl-envelope{width:min(100%,540px);position:relative;min-height:190px;background:var(--envelope,#f8d4e0);border-radius:12px;box-shadow:0 18px 60px #a65f7e20;transform-origin:center;transition:opacity .6s,transform .8s;margin:12px 0 22px}.wl-flap{position:absolute;inset:0 0 auto;height:140px;clip-path:polygon(0 0,100% 0,50% 100%);background:var(--flap,#eeb4cb);transform-origin:top;z-index:2;transition:transform 1s ease,opacity .7s}.wl-seal{position:absolute;top:75px;left:calc(50% - 22px);width:44px;height:44px;background:#fff9;border-radius:50%;display:grid;place-items:center;color:var(--accent);z-index:3;font-size:23px;transition:opacity .5s}.wl-paper{position:relative;padding:30px 32px;background:#fffdfb;border-radius:10px;opacity:0;transform:translateY(25px) scale(.94);transition:opacity .8s,transform 1s;overflow-wrap:anywhere;display:none}.wl-paper h2{font:italic 27px Georgia;color:var(--accent);line-height:1.3;margin:0 0 20px}.wl-paper p{font-size:14px;line-height:1.95;white-space:pre-wrap;margin:9px 0}.wl-user{border-block:1px dashed var(--envelope);padding:18px 0;margin:18px 0!important;color:#795264}.wl-sign{font-size:12px!important;color:var(--accent);text-align:right}.wl-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;max-width:580px;z-index:2}.wl-actions button{border:1px solid var(--envelope);background:#fff;padding:12px 18px;border-radius:24px;color:var(--ink);font-size:12px}.wl-actions button:first-child{background:var(--accent);color:#fff}.wl-stars{position:absolute;inset:0;pointer-events:none;z-index:-1}.wl-stars span{position:absolute;color:var(--accent);opacity:.25;animation:drift 4s ease-in-out infinite alternate;font-size:18px}.wl-save-status{font-size:12px;text-align:center;max-width:520px;z-index:2}.wl-preview{max-width:240px;max-height:260px;object-fit:contain;border-radius:12px}.wonderland[data-phase=preparing] .wl-scene{opacity:0}.wonderland[data-phase=entering] .wl-envelope{opacity:0;transform:scale(.6) translateY(20px)}.wonderland[data-phase=opening] .wl-flap,.wonderland[data-phase=revealed] .wl-flap{transform:rotateX(180deg);opacity:0}.wonderland[data-phase=opening] .wl-seal,.wonderland[data-phase=revealed] .wl-seal{opacity:0}.wonderland[data-phase=opening] .wl-paper,.wonderland[data-phase=revealed] .wl-paper{display:block}.wonderland[data-phase=revealed] .wl-paper{opacity:1;transform:none}.wonderland[data-phase=revealed] .wl-paper>*{animation:lineReveal .8s both}.wonderland[data-phase=revealed] .wl-paper>*:nth-child(2){animation-delay:.15s}.wonderland[data-phase=revealed] .wl-paper>*:nth-child(3){animation-delay:.3s}.wonderland[data-phase=revealed] .wl-paper>*:nth-child(4){animation-delay:.45s}.wonderland[data-phase=revealed] .wl-mascot{animation:wlIdle 4s ease-in-out infinite}.wonderland[data-phase=entering][data-character=hellokitty] .wl-mascot{animation:kittyWalk 2.4s both}.wonderland[data-phase=entering][data-character=mymelody] .wl-mascot{animation:melodyHop 2.4s both}.wonderland[data-phase=entering][data-character=kuromi] .wl-mascot{animation:kuromiSpin 2.4s both}.wonderland[data-phase=entering][data-character=cinnamon] .wl-mascot{animation:cinnamonFly 2.4s both}.wonderland[data-phase=entering][data-character=pompompurin] .wl-mascot{animation:purinBounce 2.4s both}.wonderland[data-phase=entering] .wl-token{animation:tokenGift 2.4s both}.wonderland[data-character=cinnamon] .wl-aura,.wonderland[data-character=mymelody] .wl-aura{background:#ffffffb0;border-radius:60% 60% 40% 40%;inset:65% -10% -5%}.wonderland[data-character=kuromi] .wl-aura{border:2px dashed #b19aca;animation:orbit 6s linear infinite}.wonderland[data-character=cinnamon] .wl-envelope{border-radius:45px}.wonderland[data-character=pompompurin] .wl-envelope{border:6px solid #f6e4ad}.wl-confetti{position:absolute;left:50%;top:40%;pointer-events:none;animation:confetti 1.8s ease-out forwards;color:var(--accent);z-index:4}
@keyframes kittyWalk{0%{transform:translate(-44vw,140px) rotate(-10deg);opacity:0}20%{opacity:1}40%{transform:translate(-20vw,40px) rotate(7deg)}65%{transform:translate(-7vw,0) rotate(-6deg)}80%{transform:rotate(8deg)}90%{transform:rotate(-6deg)}100%{transform:none}}@keyframes melodyHop{0%{transform:translateY(70px) scale(.7);opacity:0}30%{transform:translateY(0);opacity:1}50%{transform:translateY(-45px) rotate(-5deg)}65%{transform:translateY(0)}80%{transform:translateY(-25px) rotate(5deg)}100%{transform:none}}@keyframes kuromiSpin{0%{transform:scale(.2) rotate(-270deg);opacity:0}60%{transform:scale(1.08) rotate(15deg);opacity:1}80%{transform:rotate(-7deg)}100%{transform:none}}@keyframes cinnamonFly{0%{transform:translate(40vw,-220px) rotate(-20deg);opacity:0}25%{transform:translate(90px,-50px) rotate(15deg);opacity:1}45%{transform:translate(0,-90px) rotate(-10deg)}65%{transform:translate(-90px,-50px) rotate(-15deg)}85%{transform:translate(0,15px) rotate(8deg)}100%{transform:none}}@keyframes purinBounce{0%{transform:translateY(55vh) scale(.7);opacity:0}45%{transform:translateY(-40px) scale(1.05);opacity:1}65%{transform:translateY(10px) scale(1.08,.9)}80%{transform:translateY(-18px)}100%{transform:none}}@keyframes tokenGift{0%,55%{opacity:0;transform:scale(0)}80%{opacity:1;transform:scale(1.2) rotate(12deg)}100%{transform:none}}@keyframes wlIdle{50%{transform:translateY(-6px) rotate(2deg)}}@keyframes drift{to{transform:translateY(-24px) rotate(15deg);opacity:.6}}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes lineReveal{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes confetti{to{transform:translate(var(--dx),var(--dy)) rotate(160deg);opacity:0}}.wonderland.gentle *{animation:none!important;transition:none!important}.wonderland.gentle .wl-confetti{display:none}@media(max-width:700px){header{flex-wrap:wrap;gap:15px}.brand{font-size:17px}.hero h1{font-size:45px}.messenger{width:77px}.wl-stage{padding:65px 16px 24px;justify-content:flex-start}.wl-mascot{width:115px;height:115px}.wl-paper{padding:25px 22px}.wl-paper h2{font-size:24px}.wl-paper p{font-size:13px}.wl-actions{gap:8px}.wl-actions button{padding:12px 13px}.wl-envelope{margin-top:5px}.wl-status{font-size:12px}.wl-subtitle{font-size:10px}}

.cards .card{cursor:pointer;transition:transform .2s,box-shadow .2s}.cards .card:hover{transform:translateY(-3px);box-shadow:0 12px 30px #c77c9418}.cards .card:focus-visible{outline:3px solid #ad5074;outline-offset:4px}
.moment-popup{--moment-color:#c94f7b;--moment-wash:#fff0f5;width:min(440px,calc(100vw - 36px));max-width:none;max-height:calc(100dvh - 40px);padding:0;border:1px solid #fff;border-radius:28px;background:var(--moment-wash);color:var(--ink);box-shadow:0 22px 75px #80536530;overflow:auto;overscroll-behavior:contain;margin:auto}.moment-popup::backdrop{background:rgba(255,240,246,.38)}.moment-popup[open]{animation:momentAppear .32s cubic-bezier(.2,.7,.2,1) both}.moment-inner{position:relative;padding:27px 28px 24px;text-align:center}.moment-close{position:absolute;right:12px;top:12px;width:38px;height:38px;border:1px solid #e8cbd5;border-radius:50%;background:#fffaf9;color:#76515d;font-size:25px;line-height:1;z-index:2}.moment-eyebrow{font:10px Georgia;letter-spacing:2px;color:var(--moment-color);margin:12px 23px 13px}.moment-popup h2{font-size:22px;margin:0 0 12px}.moment-character{position:relative;width:170px;height:150px;margin:0 auto 15px}.moment-character img{height:100%;width:100%;object-fit:contain;filter:drop-shadow(0 9px 8px #ae7b8c15)}.moment-popup[open] .moment-character img{animation:momentHop .75s cubic-bezier(.2,.7,.2,1) both}.moment-popup[data-character=mymelody] .moment-character img{animation-name:momentPeek}.moment-popup[data-character=cinnamon] .moment-character img{animation-name:momentCloud}.moment-spark{position:absolute;color:var(--moment-color);font-size:25px;opacity:.5;pointer-events:none}.moment-spark.one{left:-10px;top:25px}.moment-spark.two{right:-5px;bottom:15px}.moment-bubble{position:relative;background:#fffdfb;border:1px solid #ead8df;border-radius:22px;padding:20px 23px;text-align:left}.moment-bubble:before{content:'';position:absolute;top:-9px;left:calc(50% - 8px);width:16px;height:16px;background:#fffdfb;border-left:1px solid #ead8df;border-top:1px solid #ead8df;transform:rotate(45deg)}#moment-text{font-size:15px;line-height:1.95;margin:0;overflow-wrap:anywhere}.moment-sign{font:italic 12px Georgia;color:var(--moment-color);text-align:right;margin:14px 0 0}.moment-done{border:0;background:var(--moment-color);color:white;padding:12px 24px;border-radius:30px;font-size:13px;margin-top:20px}.moment-popup.gentle,.moment-popup.gentle *{animation:none!important}@keyframes momentAppear{from{opacity:0;transform:scale(.94) translateY(8px)}to{opacity:1;transform:none}}@keyframes momentHop{0%{opacity:0;transform:translateY(24px) scale(.9)}55%{opacity:1;transform:translateY(-9px) rotate(-4deg)}80%{transform:translateY(2px) rotate(2deg)}100%{transform:none}}@keyframes momentPeek{0%{opacity:0;transform:translate(-24px,12px) rotate(-12deg)}65%{opacity:1;transform:translateY(-5px) rotate(4deg)}100%{transform:none}}@keyframes momentCloud{0%{opacity:0;transform:translate(30px,-18px) rotate(8deg)}65%{opacity:1;transform:translateY(5px) rotate(-3deg)}100%{transform:none}}@media(max-width:420px){.moment-inner{padding:23px 20px 21px}.moment-character{width:150px;height:125px}.moment-popup h2{font-size:20px}.moment-bubble{padding:18px}#moment-text{font-size:14px}}@media(max-height:600px){.moment-inner{padding-top:18px}.moment-character{height:85px;margin-bottom:12px}.moment-eyebrow{margin-top:5px}.moment-bubble{padding:14px 18px}.moment-done{margin-top:12px}}

.moment-buttons{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:20px}.moment-buttons .moment-done{margin-top:0}.moment-again{border:1px solid var(--moment-color);background:#fffafc;color:var(--moment-color);border-radius:30px;padding:12px 20px;font-size:13px}
.secret-bow{position:absolute;top:24px;right:26px;width:70px;height:54px;background:none;border:0;z-index:4;transform:rotate(12deg);transition:filter .25s,transform .25s}.bow-wing{position:absolute;top:5px;width:31px;height:39px;background:#ef779c;border:2px solid #c84e77;box-shadow:inset 0 3px 0 #ffb4cb;border-radius:10px 15px 15px 10px}.bow-wing.left{left:3px;transform:rotate(-9deg)}.bow-wing.right{right:3px;transform:rotate(9deg)}.bow-knot{position:absolute;top:15px;left:27px;width:18px;height:22px;background:#ff9cba;border:2px solid #c84e77;border-radius:50%}.secret-bow[data-taps="1"]{filter:drop-shadow(0 0 6px #f99dc8);transform:rotate(5deg) scale(1.06)}.secret-bow[data-taps="2"]{filter:drop-shadow(0 0 12px #f69fca);transform:rotate(-5deg) scale(1.12)}.esther-night{width:100%;max-width:none;height:100dvh;max-height:none;border:0;padding:0;margin:0;overflow:auto;background:radial-gradient(ellipse at 50% 70%,#53365e 0%,#292c50 45%,#141b36 100%);color:#fff4ef;overscroll-behavior:contain}.esther-night::backdrop{background:#242442bb}.esther-night[open]{animation:nightDusk 1s ease both}.night-close{position:fixed;right:max(17px,env(safe-area-inset-right));top:max(17px,env(safe-area-inset-top));width:42px;height:42px;border:1px solid #fff7;background:#2e294ccc;border-radius:50%;color:white;font-size:25px;z-index:4}.night-content{isolation:isolate;position:relative;min-height:100%;padding:66px 22px 26px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}.night-kicker{color:#dbc9ee;font:11px Georgia;letter-spacing:4px;margin:0 0 12px}.night-content h2{font-size:clamp(22px,4vw,32px);letter-spacing:2px;margin:0 0 9px}.night-hint{font-size:13px;color:#e3cce1;margin:0 0 25px}.night-friends{display:grid;grid-template-columns:repeat(5,1fr);width:min(600px,100%);gap:3px;position:relative;z-index:2;margin-bottom:-12px;align-items:end}.night-friend{position:relative;display:flex;flex-direction:column;align-items:center;min-width:0}.night-friend img{width:100%;height:clamp(60px,14vw,130px);object-fit:contain;filter:drop-shadow(0 0 12px #fbcbea33)}.night-name{font-size:8px;text-align:center;color:#e7d5e8;margin:5px 0 18px;min-height:20px}.night-hand{position:absolute;bottom:-1px;left:calc(50% - 10px);width:20px;height:14px;border-radius:50%;background:#fff9ef;border:1px solid #e5ced7;box-shadow:0 2px 3px #46303c33;z-index:3}.night-card{position:relative;width:min(590px,100%);padding:34px 32px 27px;border-radius:23px;background:linear-gradient(135deg,#fffdf6,#ffecf5);border:2px solid #f5d8e8;color:#765069;box-shadow:0 20px 70px #e4aad533;text-align:center}.night-card h3{font:italic 34px Georgia;color:#b45785;margin:0 0 20px}.night-card p{font-size:15px;line-height:2;margin:10px 0}.night-sign{border-top:1px dashed #dfbecf;padding-top:15px;margin-top:20px;color:#b680a0;font:11px/1.8 Georgia}.night-footer{font-size:12px;color:#e2cae5;text-align:center;margin:24px 0 14px}.night-return{font:inherit;font-size:12px;border:1px solid #e6cce877;border-radius:25px;background:#fff1;color:#fff1f8;padding:12px 22px}.night-stars{position:absolute;inset:0;z-index:-1;pointer-events:none}.night-stars i{position:absolute;width:3px;height:3px;background:#fff3d9;border-radius:50%;box-shadow:0 0 8px #ffe3ff;animation:nightTwinkle 4s ease-in-out var(--delay) infinite alternate}.esther-night[open] .night-friend{animation:nightFriend .8s cubic-bezier(.2,.7,.3,1) calc(.6s + var(--order)*.65s) both}.esther-night[open] .night-card{animation:nightLift 1s ease 4.1s both}.esther-night[open] .night-hand{animation:nightLift .7s ease 4.5s both}.esther-night[open] .night-footer,.esther-night[open] .night-return{animation:nightDusk .8s ease 5s both}.esther-night.quiet,.esther-night.quiet *{animation:none!important}.image-missing{min-height:90px;justify-content:end}.image-missing .night-name{font-size:11px;padding:16px 4px;background:#ffffff18;border-radius:12px}@keyframes nightDusk{from{opacity:0}to{opacity:1}}@keyframes nightFriend{0%{opacity:0;transform:translateY(35px) scale(.8)}70%{opacity:1;transform:translateY(-8px) scale(1.03)}100%{opacity:1;transform:none}}@keyframes nightLift{from{opacity:0;transform:translateY(24px) scale(.96)}to{opacity:1;transform:none}}@keyframes nightTwinkle{from{opacity:.2}to{opacity:.85}}@media(max-width:420px){.night-content{padding:65px 18px 24px}.night-card{padding:27px 19px 22px}.night-card h3{font-size:29px}.night-card p{font-size:14px}.night-name{font-size:7px}.secret-bow{right:18px;top:18px}}@media(max-height:650px){.night-content{justify-content:flex-start}.night-hint{margin-bottom:15px}.night-friend img{height:70px}.night-card{padding:22px}.night-card h3{margin-bottom:12px}}
