@font-face{font-family:Fredoka;font-weight:300 700;font-display:swap;src:url(/fonts/fredoka-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fredoka;font-weight:300 700;font-display:swap;src:url(/fonts/fredoka-latin-ext.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Permanent Marker;font-display:swap;src:url(/fonts/permanent-marker-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--sky:#1d2557;--sky2:#4a5aa8;--snow:#f4f7ff;--snow2:#cfd8f0;--line:#22203a;--glow:#ffd36b;--paper:#fffdf3;--ink:#1d1d1d;--body:#fff;--scarf:#e2463f;--star:#fff;--moon:#fff6d8;--moonglow:#fff6d859;--roof:var(--snow);--edge:#fff;--lampglow:#ffd36b59}*,:before,:after{box-sizing:border-box}[hidden]{display:none!important}.sr{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;position:absolute;overflow:hidden}html,body{overscroll-behavior:none;touch-action:manipulation;height:100%;margin:0}body{background:var(--sky);color:#fff;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;font-family:Fredoka,Trebuchet MS,sans-serif;overflow:hidden}#stage{perspective:1400px;background:radial-gradient(2px 2px at 12% 14%,var(--star) 60%,transparent),radial-gradient(2px 2px at 28% 8%,var(--star) 60%,transparent), radial-gradient(1.5px 1.5px at 44% 20%,var(--star) 60%,transparent),radial-gradient(2px 2px at 63% 10%,var(--star) 60%,transparent), radial-gradient(1.5px 1.5px at 86% 26%,var(--star) 60%,transparent),radial-gradient(2px 2px at 6% 34%,var(--star) 60%,transparent), radial-gradient(1.5px 1.5px at 52% 36%,var(--star) 60%,transparent), linear-gradient(var(--sky) 0%,var(--sky2) 75%);position:fixed;inset:0;overflow:clip}#moon{aspect-ratio:1;background:var(--moon);width:min(18vw,90px);box-shadow:0 0 50px 12px var(--moonglow);border-radius:50%;position:absolute;top:7%;right:10%}#houses{justify-content:space-between;align-items:flex-end;gap:8px;display:flex;position:absolute;bottom:24%;left:-2%;right:-2%}.house{border:4px solid var(--line);border-bottom:none;border-radius:6px 6px 0 0;grid-template-columns:repeat(2,minmax(0,34px));place-content:start center;gap:12px;max-width:190px;padding:22px 16px;display:grid;position:relative}.house:before{content:"";background:var(--roof);clip-path:polygon(50% 0,100% 100%,0 100%);border-radius:8px;height:55%;position:absolute;bottom:100%;left:-12%;right:-12%}.house i{aspect-ratio:1;background:var(--glow);border:3px solid var(--line);border-radius:4px;box-shadow:0 0 14px #ffd36b99}#lamp{background:var(--line);border-radius:5px;width:10px;height:42%;position:absolute;bottom:20%;left:9%}#lamp:before{content:"";background:var(--glow);border:4px solid var(--line);width:30px;height:30px;box-shadow:0 0 50px 20px var(--lampglow);border-radius:50%;position:absolute;top:-18px;left:50%;transform:translate(-50%)}#ground{background:linear-gradient(var(--snow),var(--snow2));border-top:4px solid var(--edge);border-radius:50% 50% 0 0/40px 40px 0 0;height:calc(27% + 40px);position:absolute;bottom:-40px;left:-10%;right:-10%}#snow{pointer-events:none;z-index:6;position:absolute;inset:0}body[data-occ=birthday]{--sky:#5aa9e6;--sky2:#bfe6ff;--star:transparent;--moon:#ffd36b;--moonglow:#ffd36b8c;--snow:#8fd16a;--snow2:#5fa84a;--edge:#b5e58f;--roof:#a8463c;--lampglow:transparent}body[data-occ=love]{--sky:#4b2d6b;--sky2:#f2879a;--moon:#ffb38a;--moonglow:#ff967880;--snow:#6f9c62;--snow2:#4f7a4a;--edge:#93bf7f;--roof:#c25a78}body[data-occ=love] #moon{width:min(24vw,120px);top:16%;right:8%}body[data-occ=anyday]{--sky:#7fbfee;--sky2:#ffe1b3;--star:transparent;--moon:#ffd36b;--moonglow:#ffd36b8c;--snow:#9ad17a;--snow2:#6fae55;--edge:#c2e8a3;--roof:#5d7fb8;--lampglow:transparent}body[data-scene=snowman]{--sky:#7fb6e8;--sky2:#d9ecfb;--star:transparent;--moon:#fff3c4;--moonglow:#fff3c499;--lampglow:transparent}body[data-scene=gold]{--sky:#121838;--sky2:#3a3f86;--star:#ffd36b;--lampglow:#ffd36b80}body[data-scene=party]{--sky:#2a1f5c;--sky2:#7a4fa8;--star:#fff;--moon:#fff6d8;--moonglow:#fff6d859;--lampglow:#ffd36b59;--roof:#6a3d78}body[data-scene=petals]{--sky:#e889a6;--sky2:#ffd9e2;--star:transparent;--moon:#fff1e6;--moonglow:#fff1e699;--lampglow:transparent}body[data-scene=willyou]{--sky:#141a3d;--sky2:#3d3270;--star:#fff;--moon:#fff6d8;--moonglow:#fff6d873;--roof:#8a5a9a;--snow:#4d7254;--snow2:#36553f;--edge:#6f9a72}body[data-scene=willyou] #moon{width:min(18vw,90px);top:9%;right:10%}body[data-scene=cheers]{--sky:#f08a4b;--sky2:#ffd28a;--moon:#fff1c4;--moonglow:#fff1c499}body[data-scene=starry]{--sky:#0f1f3d;--sky2:#2d4f7c;--star:#fff;--moon:#fff6d8;--moonglow:#fff6d866;--snow:#4d7254;--snow2:#36553f;--edge:#6f9a72;--roof:#3d5a8a;--lampglow:#ffd36b73}#backdrop .bd{pointer-events:none;position:absolute;inset:0}#backdrop svg *{vector-effect:non-scaling-stroke}#backdrop .prop{position:absolute;bottom:24%;overflow:visible;transform:translate(-50%)}#backdrop .band{width:100%;position:absolute;bottom:22%;left:0;overflow:visible}#backdrop .cloud{width:min(30vw,170px);animation:40s ease-in-out infinite alternate drift;position:absolute}@keyframes drift{to{translate:8vw}}.towers{justify-content:space-between;align-items:flex-end;gap:6px;display:flex;position:absolute;bottom:24%;left:-2%;right:-2%}.tower{border:4px solid var(--line);border-bottom:none;border-radius:4px 4px 0 0;flex:none;grid-template-columns:repeat(3,11px);place-content:start center;gap:10px 9px;padding:16px 12px;display:grid;overflow:hidden}.tower i{border:2px solid var(--line);background:#00000040;border-radius:2px;height:13px}.tower i.on{background:var(--glow);box-shadow:0 0 10px #ffd36b99}#backdrop .sea{border-top:4px solid var(--line);background:linear-gradient(#f29a8a,#a0607f 55%,#6a4a86);height:17vh;position:absolute;bottom:24%;left:-2%;right:-2%}#backdrop .sea i{background:#ffd9b0;border-radius:3px;height:5px;position:absolute;right:calc(16% + min(12vw,60px));translate:50%}#backdrop .flag{width:16px;height:20px;margin-left:-8px;position:absolute}body[data-scene=sunset]{--snow:#f1d29a;--snow2:#d6ae74;--edge:#fbe6bd}body[data-scene=sunset] #moon{width:min(24vw,120px);top:auto;bottom:calc(24% + 17vh - min(12vw,60px));right:16%}body[data-scene=sunset] #lamp{display:none}#snowman,#lights{pointer-events:none;display:none;position:absolute}body[data-scene=snowman] #snowman,body[data-scene=party] #lights{display:block}#snowman{aspect-ratio:3/4;z-index:1;width:min(14vh,22vw);bottom:18%;left:16%}#lights{z-index:1;height:12vh;top:4%;left:-2%;right:-2%}#lights svg{width:100%;height:100%;position:absolute;inset:0}#lights i{border:2.5px solid var(--line);border-radius:50%/40% 40% 60% 60%;width:12px;height:16px;margin:-2px 0 0 -6px;animation:1.6s ease-in-out infinite alternate twinkle;position:absolute}@keyframes twinkle{to{filter:brightness(.6)}}.who{aspect-ratio:200/300;height:min(56%,104vw);position:absolute;bottom:15%;left:50%;container-type:inline-size}#guy{z-index:3;transition:transform 2.8s cubic-bezier(.25,.1,.3,1);transform:translate(calc(75vw - 50%))}#guy.here{transform:translate(-50%)}#guy.gone{transition:transform 7s linear;transform:translate(calc(-50% - 85vw))}#guy svg{filter:drop-shadow(0 0 2px #fff)drop-shadow(0 0 2px #fff);transform-origin:50% 100%;width:100%;height:100%;animation:3s ease-in-out infinite breathe;display:block;overflow:visible}#guy.gone svg{scale:-1 1}#pile{z-index:4;pointer-events:none;transform:translate(-50%)}@keyframes breathe{50%{transform:scaleY(1.02)}}.walking svg{animation:.5s ease-in-out infinite hop!important}.gone.walking svg{animation-duration:.8s!important}@keyframes hop{0%,to{transform:translateY(0)scale(1.03,.97)}50%{transform:translateY(-5%)scale(.98,1.02)}}.leg{transform-box:fill-box;transform-origin:50% 0}.walking .leg{animation:.5s ease-in-out infinite alternate step}.walking .leg2{animation-delay:-.5s}.gone.walking .leg{animation-duration:.8s}.gone.walking .leg2{animation-delay:-.8s}@keyframes step{0%{transform:rotate(-12deg)}to{transform:rotate(12deg)}}.eyes{transform-box:fill-box;transform-origin:50%}.eyes.blink{animation:.28s blink}@keyframes blink{43%{transform:scaleY(.1)}}#boom{aspect-ratio:1.7;z-index:2;border:4px solid var(--line);opacity:0;background:#3a3f5c;border-radius:12px;justify-content:space-around;align-items:center;width:min(16vh,26vw);transition:opacity .6s;display:flex;position:absolute;bottom:13%;left:min(50% + 20vh,100% - min(16vh,26vw) - 10px)}#boom:before{content:"";border:4px solid var(--line);border-bottom:none;border-radius:10px 10px 0 0;height:28%;position:absolute;top:-28%;left:20%;right:20%}#boom i{aspect-ratio:1;border:4px solid var(--line);background:#7b84b0;border-radius:50%;width:34%}#boom.on{opacity:1}#boom.on i{animation:.56s ease-in-out infinite thump}@keyframes thump{50%{transform:scale(.88)}}.note{color:var(--glow);pointer-events:none;font-size:min(5vh,30px);animation:2.4s ease-out forwards float;position:absolute;bottom:100%}@keyframes float{0%{opacity:1;transform:translate(0)rotate(-10deg)}to{opacity:0;transform:translate(30px,-90px)rotate(15deg)}}.card{background:var(--paper);border:4px solid var(--line);text-align:center;cursor:pointer;width:120%;height:38%;color:var(--ink);white-space:pre-line;overflow-wrap:anywhere;opacity:0;border-radius:10px;justify-content:center;align-items:center;padding:6% 12.5%;font-family:Permanent Marker,Marker Felt,cursive;font-size:11.5cqw;line-height:1.12;display:flex;position:absolute;top:42%;left:-10%}.card .hand{aspect-ratio:1;background:var(--body);border:4px solid var(--line);z-index:1;border-radius:50%;width:15%;position:absolute;top:38%}.card .hand:after{content:"";background:var(--body);border:4px solid var(--line);border-radius:50%;width:60%;height:62%;position:absolute;top:-30%}.card .hand.l{left:-9%}.card .hand.l:after{right:-38%;transform:rotate(25deg)}.card .hand.r{right:-9%}.card .hand.r:after{left:-38%;transform:rotate(-25deg)}.card.show{opacity:1}.card.rise{animation:.5s cubic-bezier(.3,1.5,.6,1) both rise}.card.lower{animation:1.2s ease-in both lower}@keyframes rise{0%{opacity:0;transform:translateY(30%)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes lower{to{opacity:0;transform:translateY(40%)scale(.9)}}.fallen{cursor:default;animation:.45s cubic-bezier(.5,0,.8,.6) forwards fall}@keyframes fall{0%{transform:none}to{transform:translate(var(--dx),112%) rotate(var(--rot)) perspective(500px) rotateX(78deg) scale(.8)}}#controls{z-index:7;padding:16px 16px calc(22px + env(safe-area-inset-bottom,0px));opacity:0;pointer-events:none;justify-content:center;align-items:center;gap:14px;transition:opacity .4s,transform .4s cubic-bezier(.3,1.5,.6,1);display:flex;position:absolute;bottom:0;left:0;right:0;transform:translateY(30px)}#controls.on{opacity:1;pointer-events:auto;transform:none}button{font:inherit;cursor:pointer;border:4px solid var(--line);color:var(--line);box-shadow:0 5px 0 var(--line);border-radius:999px;font-weight:700;transition:transform .1s,box-shadow .1s}button:active:not(:disabled){box-shadow:0 1px 0 var(--line);transform:translateY(4px)}button:focus-visible{outline-offset:4px;outline:3px solid #fff}button:disabled{opacity:.35;cursor:default}#next{background:var(--glow);min-width:min(60vw,260px);height:64px;padding:0 28px;font-size:24px}#back{top:calc(14px + env(safe-area-inset-top,0px));z-index:12;background:#fff;height:48px;padding:0 16px;font-size:16px;position:absolute;left:14px}body.preview #inside{padding-top:calc(76px + env(safe-area-inset-top,0px))}#mute{top:calc(14px + env(safe-area-inset-top,0px));z-index:7;background:#fff;width:48px;height:48px;padding:0;display:none;position:absolute;right:14px}.spk{fill:none;stroke-linecap:round;stroke-linejoin:round;width:60%;height:60%;margin:auto;display:block}.spk .box{fill:var(--line);stroke:var(--line);stroke-width:1.5px}.spk .wave,.spk .slash{stroke:var(--line);stroke-width:2.4px}.spk .cut{stroke:#fff;stroke-width:6px}.spk .cut,.spk .slash,.off .spk .wave{display:none}.off .spk .cut,.off .spk .slash{display:inline}#inside{z-index:10;padding:calc(20px + env(safe-area-inset-top,0px)) 20px calc(20px + env(safe-area-inset-bottom,0px));text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:22px;transition:opacity 1.2s 1.2s;display:flex;position:absolute;inset:0}#inside.open{opacity:0;pointer-events:none}#doorBox{--door:min(60vw,280px,40vh);flex:0 1 calc(2 * var(--door));justify-content:center;width:100%;min-height:90px;display:flex;container-type:size}#frame{aspect-ratio:1/2;perspective:900px;border:12px solid #6e2a24;border-bottom:none;border-radius:8px 8px 0 0;flex:none;height:100cqh;position:relative;box-shadow:0 0 0 200vmax #3d2b3f}#door{transform-origin:0;background:#b0473c;justify-content:center;align-items:center;transition:transform 1.5s cubic-bezier(.6,0,.3,1);display:flex;position:absolute;inset:0}#door:before,#door:after{content:"";border:5px solid #8d352d;border-radius:10px;position:absolute;left:14%;right:14%}#door:before{height:38%;top:6%}#door:after{height:38%;bottom:6%}#inside.open #door{transform:rotateY(-105deg)}#knob{background:var(--glow);border:3px solid var(--line);border-radius:50%;width:18px;height:18px;position:absolute;top:52%;right:9%}#wreath{aspect-ratio:1;width:46%;box-shadow:0 0 0 3px var(--line),inset 0 0 0 3px var(--line);border:min(12px,2.6cqh) solid #2fa36b;border-radius:50%;position:absolute;top:12%}.deco{width:52%;display:none;position:absolute;top:10%;overflow:visible}body[data-occ=birthday] .deco.birthday,body[data-occ=love] .deco.love,body[data-occ=anyday] .deco.anyday{display:block}body[data-occ=birthday] #wreath,body[data-occ=love] #wreath,body[data-occ=anyday] #wreath{display:none}#inside h1,#inside button,#inside p{z-index:1;position:relative}#inside h1{color:#fff;text-shadow:0 3px 0 var(--line);margin:0;font-size:clamp(26px,7vw,40px);font-weight:700;line-height:1.1}#start{background:var(--glow);padding:14px 34px;font-size:22px}#start.locked{font-variant-numeric:tabular-nums;background:#fff}#frame.knock{animation:.45s knock}@keyframes knock{20%{transform:rotate(-1.5deg)}40%{transform:rotate(1.5deg)}60%{transform:rotate(-1deg)}80%{transform:rotate(.5deg)}}#inside p{opacity:.8;margin:0;font-size:15px}#inside.open h1,#inside.open button,#inside.open p{opacity:0;transition:opacity .4s}@media (height<=500px){#inside{gap:10px;padding:10px}#doorBox{--door:24vh}#wreath{border-width:7px}#inside h1{font-size:22px}#start{padding:10px 26px;font-size:18px}#inside p{display:none}#inside p#seenNote,#inside p#lockNote{display:block}.who{bottom:12%}#controls{padding-right:calc(20px + env(safe-area-inset-right,0px));justify-content:flex-end}#next{min-width:0;height:56px;font-size:20px}}#end{z-index:9;opacity:0;pointer-events:none;background:#14183c73;flex-direction:column;justify-content:center;align-items:center;gap:26px;transition:opacity 1.2s;display:flex;position:absolute;inset:0}#end.on{opacity:1;pointer-events:auto}#end.on h1{animation:.7s cubic-bezier(.2,1.5,.4,1) .5s both stamp}#end.on #endFrom{animation:1.1s linear 1.2s both write}#end.on #endActions{animation:.6s 2s both up}@keyframes stamp{0%{opacity:0;transform:scale(1.8)rotate(-4deg)}to{opacity:1;transform:none}}@keyframes write{0%{clip-path:inset(0 100% 0 0);opacity:0}1%{opacity:1}to{clip-path:inset(0)}}@keyframes up{0%{opacity:0;transform:translateY(14px)}}#end h1{text-align:center;text-shadow:0 4px 0 var(--line);margin:0;padding:0 16px;font-size:clamp(36px,11vw,64px);font-weight:700}#end h1:empty{display:none}#endFrom{text-align:center;color:var(--glow);text-shadow:0 3px 0 var(--line);margin:-12px 0 0;padding:0 16px 6px;font:clamp(22px,6.5vw,32px) Permanent Marker,Marker Felt,cursive}.row{flex-wrap:wrap;justify-content:center;gap:14px;padding:0 16px;display:flex}.row button{background:var(--glow);padding:12px 26px;font-size:20px}.row button.alt{background:#fff}#makeLink{color:#fff;opacity:.8;font-size:15px}#maker,#links{z-index:11;overscroll-behavior:none;-webkit-overflow-scrolling:touch;padding:calc(16px + env(safe-area-inset-top,0px)) 16px calc(28px + env(safe-area-inset-bottom,0px));background:#14183c8c;position:absolute;inset:0;overflow-y:auto}.sheet{flex-direction:column;gap:14px;max-width:520px;margin:0 auto;display:flex}.sheet h1{text-align:center;text-shadow:0 3px 0 var(--line);margin:4px 0 0;font-size:clamp(26px,7vw,36px);font-weight:700}.sheet .hint{text-align:center;opacity:.85;margin:0}.lead{padding:6px 0;position:relative}#mkMute{width:44px;height:44px;box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;margin-top:-22px;padding:0;position:absolute;top:50%;right:0}@media (width<=360px){.lead .hint{padding-right:40px}}#mkCards{flex-direction:column;gap:12px;margin:0;padding:0;list-style:none;display:flex}#mkCards li{position:relative}#mkCards textarea{resize:vertical;background:var(--paper);width:100%;min-height:96px;color:var(--ink);border:4px solid var(--line);text-align:center;-webkit-user-select:text;user-select:text;border-radius:10px;padding:16px 40px 12px;font:22px/1.15 Permanent Marker,Marker Felt,cursive;display:block}#mkCards li.gone{text-shadow:0 2px 0 var(--line);border:3px dashed #fff9;border-radius:10px;justify-content:center;align-items:center;gap:10px;padding:10px;font-size:15px;font-weight:700;display:flex}#mkCards li.gone button{background:var(--glow);box-shadow:0 3px 0 var(--line);text-shadow:none;border-width:3px;padding:5px 14px;font-size:15px}#mkCards textarea:focus{outline:3px solid var(--glow);outline-offset:2px}#mkCards .num{color:var(--line);opacity:.55;font-weight:700;position:absolute;top:12px;left:12px}.tools{justify-content:flex-end;gap:8px;margin-top:0;display:flex}.tools button{width:40px;height:40px;box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;font-size:17px}#mkAdd{background:#fff;align-self:center;padding:10px 24px;font-size:18px}.sheet label{flex-direction:column;gap:6px;font-weight:700;display:flex}.names{flex-wrap:wrap;gap:12px;display:flex}.names label{flex:300px;min-width:0}@media (width<=340px){#mkFrom::placeholder{font-size:16px}}#mkTo,#mkFrom,#mkEnd,#mkLink{font:inherit;border:4px solid var(--line);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;width:100%;padding:12px 14px;font-size:18px}#mkOcc{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}#mkOcc button{box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;padding:8px 13px;font-size:17px}@media (width<=460px){#mkOcc{grid-template-columns:repeat(2,minmax(0,max-content));justify-content:center;display:grid}}#mkOcc button[aria-checked=true],#mkScene button[aria-checked=true]{background:var(--glow)}#mkOcc button[aria-checked=true] .em,#mkScene button[aria-checked=true] .em{filter:drop-shadow(0 0 .7px var(--line)) drop-shadow(0 0 .7px var(--line))}#mkScene{flex-wrap:wrap;justify-content:center;gap:6px;margin-top:-2px;display:flex}#mkScene button{box-shadow:0 2px 0 var(--line);background:#fff;border-width:2px;padding:5px 10px;font-size:14px;font-weight:500}#mkStatus{text-align:center;margin:0;font-weight:700}#mkIdeas{text-shadow:0 2px 0 var(--line);flex-direction:column;align-items:center;gap:4px;margin:-4px 0 -2px;font-size:14px;display:flex}#mkIdeas .chips{white-space:nowrap;scrollbar-width:none;align-items:center;gap:5px;max-width:100%;padding:2px 0 4px;display:flex;overflow-x:auto}#mkIdeas .chips::-webkit-scrollbar{display:none}#mkIdeas button{box-shadow:0 2px 0 var(--line);text-shadow:none;background:#fff;border-width:2px;flex:none;padding:4px 8px;font-size:13px;font-weight:500}@media (width<=400px){#mkIdeas .chips{gap:4px}#mkIdeas button{padding:3px 6px;font-size:12px}}@media (width<=360px){#mkIdeas .w{display:none}}#mkIdeas button[aria-pressed=true]{background:var(--glow)}#mkIdeas button.undo{color:#fff;box-shadow:none;text-shadow:0 2px 0 var(--line);background:0 0;border-color:#0000;text-decoration:underline}#maker{scroll-padding-bottom:130px}#mkBar{bottom:calc(-28px - env(safe-area-inset-bottom,0px));z-index:1;margin:0 -16px calc(-28px - env(safe-area-inset-bottom,0px));padding:22px 16px calc(18px + env(safe-area-inset-bottom,0px));background:linear-gradient(#14183c00,#14183ce0 26px);flex-direction:column;gap:10px;display:flex;position:sticky}#mkBar .row{flex-wrap:nowrap;gap:8px;padding:0}#mkBar .row button{white-space:nowrap;flex:1 1 0;min-width:0;padding:12px 6px;font-size:clamp(16px,4.4vw,20px)}@media (height<=500px){#mkBar{background:0 0;position:static}}.sheet label{text-shadow:0 2px 0 var(--line)}#mkLinks{background:#fff;align-self:center;padding:10px 22px;font-size:18px}#lkBack{box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;align-self:flex-start;padding:8px 14px;font-size:16px}#lkList:empty{display:none}#lkList{flex-direction:column;gap:10px;margin:0;padding:0;list-style:none;display:flex}#lkList li{background:var(--paper);color:var(--ink);border:3px solid var(--line);border-radius:10px;align-items:center;gap:8px;padding:8px 10px;display:flex}#lkList a{min-width:0;color:inherit;flex:1;line-height:1.3;text-decoration:none}#lkList a b,#lkList a small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}#lkList small{opacity:.7;font-size:13px}#lkList small.seen{opacity:1;font-size:14px;font-weight:700}#lkList small.seen.off{opacity:.55;font-weight:400}#lkList li.byhand{background:0 0;border:0;padding:0;display:block}#lkList li.byhand label{flex-direction:column;gap:6px;font-size:15px;display:flex}#lkList li.byhand input{font:inherit;border:4px solid var(--line);color:var(--ink);-webkit-user-select:text;user-select:text;background:#fff;border-radius:12px;width:100%;padding:10px 12px;font-size:16px}#links .hint{text-shadow:0 2px 0 var(--line)}#links .hint a{color:#fff}.sheet label.check{cursor:pointer;flex-direction:row;justify-content:center;align-items:center;gap:10px}.check input{width:24px;height:24px;accent-color:var(--glow);flex:none;margin:0}#mkOptions{border:3px solid var(--line);background:#14183cd1;border-radius:14px;flex-direction:column;gap:12px;padding:14px;display:flex}#mkReceiptHint{text-shadow:0 2px 0 var(--line);font-size:14px}#mkLockDay{flex-direction:column;align-items:center;gap:6px;display:flex}#mkLockDay[hidden]{display:none}#mkLockDay label{text-shadow:0 2px 0 var(--line);flex-direction:row;align-items:center;gap:10px}#mkDay{font:inherit;border:4px solid var(--line);color:var(--ink);background:#fff;border-radius:12px;min-height:48px;padding:8px 12px;font-size:18px}#mkLockHint{text-shadow:0 2px 0 var(--line);font-size:14px}#mkInstall{text-align:center;text-shadow:0 2px 0 var(--line);margin:0;font-size:15px}#mkInstall .shareIco{vertical-align:-2px;width:14px;height:17px;filter:drop-shadow(0 2px 0 var(--line))}#mkInstallBtn{box-shadow:0 3px 0 var(--line);text-shadow:none;background:#fff;border-width:3px;padding:8px 16px;font-size:16px}#mkPrivacy{opacity:1;text-shadow:0 2px 0 var(--line)}#mkPrivacy a{color:#fff}#intro{z-index:20;padding:calc(56px + env(safe-area-inset-top,0px)) 24px calc(28px + env(safe-area-inset-bottom,0px));text-align:center;background:#14183cf2;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;inset:0}#intro[hidden]{display:none}#inSkip{top:calc(12px + env(safe-area-inset-top,0px));box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;padding:6px 16px;font-size:15px;position:absolute;right:16px}#inTitle{text-shadow:0 3px 0 var(--line);margin:10px 0 0;font-size:clamp(24px,7vw,32px)}#inText{max-width:340px;text-shadow:0 2px 0 var(--line);margin:0;font-size:18px;line-height:1.35}#inTitle,#inText{transition:opacity .4s ease-out,translate .4s ease-out}#intro:not(.told) #inTitle,#intro:not(.told) #inText{opacity:0;transition:none;translate:0 8px}#inDots{gap:8px;margin:4px 0;display:flex}#inDots i{border:2px solid var(--line);background:#ffffff4d;border-radius:50%;width:11px;height:11px}#inDots i.on{background:var(--glow)}#inNext{background:var(--glow);min-width:220px;padding:12px 32px;font-size:20px}#inPic{aspect-ratio:4/3;border:4px solid var(--line);width:min(82vw,340px,46vh);box-shadow:0 6px 0 var(--line);color:var(--ink);text-align:left;cursor:pointer;background:linear-gradient(#1d2557,#4a5aa8);border-radius:14px;flex:none;font-size:5cqw;animation:.35s ease-out inUp;position:relative;overflow:hidden;container-type:size}@keyframes inUp{0%{opacity:0;transform:translateY(18px)}}#inPic *{font-style:normal;position:absolute}#inPic .ground{border-top:4px solid var(--line);background:#f4f7ff;border-radius:50% 50% 0 0/30% 30% 0 0;height:26%;bottom:-6%;left:-4%;right:-4%}#inPic .fl{color:#fff;font-size:5cqw}#inPic .fl:first-of-type{top:16%;left:12%}#inPic .fl:nth-of-type(2){top:34%;left:34%;rotate:30deg}#inPic .fl:nth-of-type(3){top:10%;left:58%;rotate:-20deg}#inPic .fl:nth-of-type(4){top:44%;left:76%}#inPic .fl:nth-of-type(5){top:26%;left:90%;rotate:15deg}#inPic .door{border:3px solid var(--line);background:#b0473c;border-radius:4px 4px 0 0;overflow:hidden}#inPic .wreath{aspect-ratio:1;width:46%;box-shadow:0 0 0 2px var(--line),inset 0 0 0 2px var(--line);border:2.2cqw solid #2fa36b;border-radius:50%;top:12%;left:27%}#inPic .knob{aspect-ratio:1;background:var(--glow);border:2px solid var(--line);border-radius:50%;width:14%;top:52%;right:9%}#inPic .moon{aspect-ratio:1;background:#fff6d8;border-radius:50%;width:14cqw;top:8%;right:8%;box-shadow:0 0 6cqw #fff6d866}#inPic.door .door{border-width:4px;border-color:var(--line);width:22cqw;height:52cqh;bottom:16%;left:8%;box-shadow:0 0 0 1.6cqw #6e2a24}#inPic .pg{aspect-ratio:200/300;height:88%;bottom:4%;left:60%;transform:translate(-50%);container-type:inline-size}#inPic .pg svg{filter:drop-shadow(0 0 2px #fff);width:100%;height:100%;inset:0;overflow:visible}#inPic .pg .card{opacity:1;cursor:default;padding:0;font-size:15cqw}#inPic .pg .card span{white-space:pre-line;justify-content:center;align-items:center;line-height:1.05;display:flex;inset:0}#inPic .pg .hands{background:0 0;border-color:#0000}#inPic .pg .drop{animation:.45s cubic-bezier(.5,0,.8,.6) .5s both inDrop}@keyframes inDrop{to{transform:translate(-8%,72%)rotate(-8deg)perspective(500px)rotateX(70deg)scale(.85)}}#inPic.write{background:linear-gradient(#2b3270,#3e4c98)}#inPic .rows{margin:0;padding:0;list-style:none;inset:0}#inPic .rows li{background:var(--paper);border:3px solid var(--line);border-radius:10px;align-items:center;gap:2.4cqw;height:24%;padding:0 2.4cqw 0 4cqw;font:6.4cqw Permanent Marker,Marker Felt,cursive;display:flex;left:6%;right:6%}#inPic .rows span{white-space:nowrap;flex:1;position:static}#inPic .rows i{aspect-ratio:1;border:3px solid var(--line);background:#fff;border-radius:50%;flex:none;place-items:center;width:9cqw;font:700 5cqw Fredoka,sans-serif;display:grid;position:static}#inPic .rows .r1{top:6%}#inPic .rows .r2{animation:.5s cubic-bezier(.3,1.3,.6,1) .45s both inDown;top:38%}#inPic .rows .r3{animation:.5s cubic-bezier(.3,1.3,.6,1) .45s both inRise;top:70%}#inPic .rows .tap{animation:1.2s both inTap}#inPic.write .finger{top:84%;left:71%}@keyframes inDown{0%{top:38%}to{top:70%}}@keyframes inRise{0%{top:70%}to{top:38%}}@keyframes inTap{12%{background:#fff;transform:none}29%{background:var(--glow);transform:scale(.85)}50%{background:var(--glow);transform:none}to{background:#fff}}#inPic.scenes{background:var(--line)}#inPic .scn{opacity:0;animation:2.5s both inS0;inset:0}#inPic .scn.xmas{background:linear-gradient(#1d2557,#4a5aa8)}#inPic .scn.bday{background:linear-gradient(#5aa9e6,#bfe6ff);animation-name:inS1}#inPic .scn.love{background:linear-gradient(#4b2d6b,#f2879a);animation-name:inS2}#inPic .scn.any{background:linear-gradient(#7fbfee,#ffe1b3);animation-name:inS3}#inPic .bday .ground{background:#8fd16a}#inPic .love .ground{background:#f1d29a}#inPic .any .ground{background:#9ad17a}#inPic .love .fl{color:#e2463f}#inPic .sun{aspect-ratio:1;background:#fff6d8;border-radius:50%;width:12cqw;top:22%;right:6%;box-shadow:0 0 6cqw #fff6d866}#inPic .bday .sun,#inPic .any .sun{border:3px solid var(--line);background:#ffd36b;box-shadow:0 0 6cqw #ffd36b8c}#inPic .hs{border:3px solid var(--line);background:#c0504a;width:20cqw;height:26cqh;bottom:18%}#inPic .hs:before{content:"";background:var(--line);clip-path:polygon(50% 0,100% 100%,0 100%);height:62%;position:absolute;bottom:100%;left:-18%;right:-18%}#inPic .hs:after{content:"";background:var(--glow);border:2px solid var(--line);border-radius:2px;width:34%;height:28%;position:absolute;top:26%;left:32%}#inPic .h1{left:5%}#inPic .h2{background:#6b7fc4;height:34cqh;left:40%}#inPic .h3{background:#7fae6a;left:75%}#inPic .xmas .hs:before{background:#f4f7ff}#inPic .any .hs:before{background:#5d7fb8}#inPic .cl{border:3px solid var(--line);background:#fff;border-radius:99px;width:22cqw;height:7cqw}#inPic .cl:before{content:"";aspect-ratio:1;z-index:-1;border:3px solid var(--line);background:#fff;border-radius:50%;width:48%;position:absolute;bottom:30%;left:22%}#inPic .c1{top:30%;left:8%}#inPic .c2{top:24%;left:46%}#inPic .tr{width:17cqw;height:30cqh;bottom:16%}#inPic .tr:before{content:"";border:3px solid var(--line);background:#8a5a3a;width:20%;position:absolute;top:50%;bottom:0;left:40%}#inPic .tr:after{content:"";aspect-ratio:1;border:3px solid var(--line);background:#5fa84a;border-radius:50%;position:absolute;top:0;left:0;right:0}#inPic .t1{left:4%}#inPic .t2{height:36cqh;left:38%}#inPic .t2:after{background:#7cc25e}#inPic .t3{left:78%}#inPic .love .sun{border:3px solid var(--line);background:#ffb38a;width:22cqw;inset:auto auto 30% 56%;box-shadow:0 0 8cqw #ff967899}#inPic .sea{border-top:3px solid var(--line);background:linear-gradient(#f29a8a,#a0607f 55%,#6a4a86);height:28%;bottom:14%;left:-4%;right:-4%}#inPic .boat{font-size:9cqw;bottom:33%;left:16%}#inPic .scn b{white-space:nowrap;border:3px solid var(--line);background:#fff;border-radius:99px;padding:1cqw 3.4cqw;font-size:4.6cqw;bottom:6%;left:50%;transform:translate(-50%)}#inPic .pills{justify-content:center;gap:2.6cqw;display:flex;top:6%;left:0;right:0}#inPic .pills i{border:3px solid var(--line);isolation:isolate;background:#fff;border-radius:99px;place-items:center;width:15cqw;height:11cqw;font-size:6cqw;display:grid;position:relative}#inPic .pills i:before{content:"";z-index:-1;border-radius:inherit;background:var(--glow);opacity:0;animation:2.5s both inS0;position:absolute;inset:0}#inPic .pills i.bday:before{animation-name:inS1}#inPic .pills i.love:before{animation-name:inS2}#inPic .pills i.any:before{animation-name:inS3}#inPic.scenes .finger{animation:2.9s ease-in-out both inTour;top:17%;left:37%;right:auto}@keyframes inTour{0%{opacity:0;transform:translateY(4cqw)}10%{opacity:1;transform:none}14%{transform:scale(.85)}18%,24%{left:37%;transform:none}38%{left:54.6%}45%{transform:scale(.85)}49%,55%{left:54.6%;transform:none}69%{left:72.2%}76%{transform:scale(.85)}80%,90%{opacity:1;transform:none}to{opacity:0;left:72.2%;transform:translateY(4cqw)}}@keyframes inS0{0%,20%{opacity:1}28%,to{opacity:0}}@keyframes inS1{0%,20%{opacity:0}28%,56%{opacity:1}64%,to{opacity:0}}@keyframes inS2{0%,56%{opacity:0}64%,92%{opacity:1}to{opacity:0}}@keyframes inS3{0%,92%{opacity:0}to{opacity:1}}#inPic.preview{background:linear-gradient(#2b3270,#3e4c98)}#inPic .phone{background:var(--line);border:3px solid var(--line);border-radius:5cqw;width:38cqw;height:86cqh;padding:2.4cqw;top:7%;left:10%}#inPic .room{perspective:300px;background:#3d2b3f;border-radius:3cqw;inset:2.4cqw;overflow:hidden}#inPic .room .out{background:linear-gradient(#1d2557,#4a5aa8);inset:18% 22% 0;overflow:hidden}#inPic .out .pg{height:84%;bottom:2%;left:50%}#inPic .out .pg .card{border-width:2px}#inPic .out .pg svg{filter:none}#inPic.preview .door{transform-origin:0;animation:.7s cubic-bezier(.3,1.2,.6,1) .5s both inOpen;inset:18% 22% 0}@keyframes inOpen{to{transform:rotateY(-100deg)}}#inPic .pv{top:50%;right:7%;transform:translateY(-50%)}#inPic .pv b{border:3px solid var(--line);box-shadow:0 1cqw 0 var(--line);white-space:nowrap;background:#fff;border-radius:99px;padding:2.6cqw 4.6cqw;font-size:5.6cqw;animation:1.2s both inPress;display:block;position:relative}#inPic .finger{font-size:10cqw;animation:1.2s both inPoke;top:62%;right:-2%}@keyframes inPress{25%{box-shadow:0 1cqw 0 var(--line);transform:none}37%{box-shadow:0 0 0 var(--line);transform:translateY(1cqw)}54%{box-shadow:0 1cqw 0 var(--line);transform:none}}@keyframes inPoke{0%{opacity:0;transform:translate(6cqw,6cqw)}25%,46%{opacity:1;transform:none}to{opacity:0;transform:translate(6cqw,6cqw)}}#inPic.send{background:#eef1fb}#inPic .chat{inset:0}#inPic .cn{text-align:center;background:#fff;border-bottom:2px solid #d6dbee;margin:0;padding:2cqw;font-size:4.4cqw;font-weight:700;top:0;left:0;right:0}#inPic .bub{border-radius:4cqw;font-size:4.6cqw;animation:.45s cubic-bezier(.3,1.3,.6,1) both inPop}#inPic .bub.me{color:#fff;background:#4f8cff;width:58cqw;padding:1.6cqw;top:17%;right:5%}#inPic .og{background:#3d2b3f;border-radius:2.6cqw;justify-content:center;align-items:flex-end;height:22cqh;display:flex;position:relative}#inPic .og .door{width:13cqw;height:18cqh;position:relative}#inPic .og .wreath{border-width:1.2cqw}#inPic .bub b,#inPic .bub small{padding:0 1.4cqw;display:block;position:static}#inPic .bub b{margin-top:1.4cqw;font-size:4.4cqw}#inPic .bub small{opacity:.85;white-space:nowrap;text-overflow:ellipsis;font-size:3.4cqw;overflow:hidden}#inPic .bub.them{background:#fff;border:2px solid #d6dbee;padding:2.4cqw 4cqw;animation-delay:.7s;bottom:7%;left:5%}@keyframes inPop{0%{opacity:0;transform:translateY(6cqh)scale(.9)}}#inPic.links,#inPic.extras{background:linear-gradient(#2b3270,#3e4c98)}#inPic .lh{color:#fff;text-shadow:0 2px 0 var(--line);margin:0;font-size:5.4cqw;font-weight:700;top:3%;left:6%}#inPic .lk{flex-direction:column;gap:2.4cqw;margin:0;padding:0;list-style:none;display:flex;top:16%;left:6%;right:6%}#inPic .lk li{background:var(--paper);border:3px solid var(--line);border-radius:10px;align-items:center;gap:2cqw;padding:1.6cqw 2.6cqw;display:flex;position:relative}#inPic .lk span{flex:1;min-width:0;line-height:1.25;position:static}#inPic .lk b,#inPic .lk small,#inPic .lk em{white-space:nowrap;text-overflow:ellipsis;display:block;position:static;overflow:hidden}#inPic .lk b{font-size:4.6cqw}#inPic .lk small{opacity:.7;font-size:3.6cqw}#inPic .lk em{font-size:4cqw;font-weight:700}#inPic .lk i{border:3px solid var(--line);background:#fff;border-radius:99px;flex:none;padding:1cqw 2.4cqw;font-size:5.4cqw;position:static}#inPic.links .lk li:first-child{animation:1.7s cubic-bezier(.3,1.3,.6,1) both inL1}#inPic.links .lk li:nth-child(2){animation:1.7s cubic-bezier(.3,1.3,.6,1) both inL2}#inPic.links .lk li:nth-child(3){animation:1.7s cubic-bezier(.3,1.3,.6,1) both inL3}@keyframes inL1{0%,71%{opacity:0;transform:translateY(-6cqh)}to{opacity:1;transform:none}}@keyframes inL2{0%,21%{opacity:0;transform:translateY(calc(-100% - 2.4cqw - 6cqh))}49%,71%{opacity:1;transform:translateY(calc(-100% - 2.4cqw))}to{opacity:1;transform:none}}@keyframes inL3{0%,21%{transform:translateY(calc(-200% - 4.8cqw))}49%,71%{transform:translateY(calc(-100% - 2.4cqw))}to{transform:none}}#inPic .x{animation:.5s cubic-bezier(.3,1.5,.6,1) .2s both inX;left:6%;right:6%}#inPic .lock{border:3px solid var(--line);background:#fff;border-radius:99px;justify-content:space-between;align-items:center;gap:2cqw;padding:2cqw 3cqw;display:flex;top:6%}#inPic .lock b,#inPic .lock small{white-space:nowrap;font-size:4.6cqw;position:static}#inPic .lock small{opacity:.7;font-size:3.8cqw}#inPic .lk.x{animation-delay:.75s;top:33%}#inPic .lk.x li{animation:none}#inPic .more{border:3px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:2cqw;padding:2cqw 3cqw;animation-delay:1.85s;display:flex;top:70%}#inPic .more span{flex:1;font-size:4.6cqw;font-weight:700;line-height:1.2;position:static}#inPic .more i{aspect-ratio:1;border:2px solid var(--line);background:#eef1fb;border-radius:50%;place-items:center;width:9cqw;font-size:5cqw;display:grid;position:static}#inPic.extras .lk em{animation:.5s cubic-bezier(.3,1.5,.6,1) 1.3s both inPopIn}@keyframes inX{0%{opacity:0;transform:translateY(5cqh)scale(.92)}}@keyframes inPopIn{0%{opacity:0;transform:scale(.6)}}.app body{-webkit-touch-callout:none}.app textarea,.app input{-webkit-touch-callout:default}.app.kb #maker{top:var(--vv-top);height:var(--vv-h);padding-bottom:28px;bottom:auto}.app.kb #mkBar{margin-bottom:-28px;padding-bottom:18px;bottom:-28px}#mkHow{opacity:1;text-shadow:0 2px 0 var(--line)}#mkHow a{color:#fff}#lkList button{box-shadow:0 3px 0 var(--line);background:#fff;border-width:3px;flex:none;padding:6px 10px;font-size:14px}#lkList button.send .shareIco{vertical-align:-3px;width:16px;height:19px}#mkBar.phone #mkCopy{flex-grow:.7;font-size:clamp(14px,3.8vw,17px)}
