@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-cyrillic-ext-500-normal-DcrB4vVx.woff2)format("woff2"),url(/assets/caveat-cyrillic-ext-500-normal-DqTXtm5N.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-cyrillic-500-normal-DpMZbbjM.woff2)format("woff2"),url(/assets/caveat-cyrillic-500-normal-DLSfp5IU.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-ext-500-normal-jKqJW7bC.woff2)format("woff2"),url(/assets/caveat-latin-ext-500-normal-wUUXxlbS.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Caveat;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/caveat-latin-500-normal-B9SDL8cy.woff2)format("woff2"),url(/assets/caveat-latin-500-normal-Do9veZfZ.woff)format("woff");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:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-ext-500-normal-Yta7XZ9C.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-500-normal-lsPpqi9g.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-cyrillic-500-normal-CyAY5ZLS.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-500-normal-DkJXBcIH.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-vietnamese-500-normal-BZGLGj12.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-500-normal-DqXqCC0q.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-ext-500-normal-CH1kM7og.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-500-normal-DYeaGGzO.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/cormorant-garamond-latin-500-normal-BsRWmXhO.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-500-normal-zIXX3Q-H.woff)format("woff");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:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-ext-600-italic-o1-A_FsB.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-ext-600-italic-Vv_u9p1E.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-cyrillic-600-italic-Bp4BYShX.woff2)format("woff2"),url(/assets/cormorant-garamond-cyrillic-600-italic-DP5iIMI9.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-vietnamese-600-italic-C3DTNE_9.woff2)format("woff2"),url(/assets/cormorant-garamond-vietnamese-600-italic-Bdap-eNg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-ext-600-italic-DYtrqAWE.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-ext-600-italic-CcucBqPp.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Cormorant Garamond;font-style:italic;font-display:swap;font-weight:600;src:url(/assets/cormorant-garamond-latin-600-italic-DCuhXWyK.woff2)format("woff2"),url(/assets/cormorant-garamond-latin-600-italic-BcJbkSJ4.woff)format("woff");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{--paper:#fdf6e6;--paper-edge:#efe0c2;--ink:#2b2350;--ink-soft:#5a4e7a;--rose:#d9577a;--ultra:#3a52c9;--cadmium:#ffb627;--safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--safe-r:env(safe-area-inset-right,0px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{height:100%;color:var(--ink);-webkit-tap-highlight-color:transparent;touch-action:manipulation;-webkit-user-select:none;user-select:none;background:#3f7fe0;margin:0;font-family:Cormorant Garamond,Georgia,serif;overflow:hidden}#app{position:fixed;inset:0}.stage{width:100%;height:100%;display:block;position:absolute;inset:0}#ui{pointer-events:none;position:fixed;inset:0}#ui>*{pointer-events:auto}#ui>.hud{pointer-events:none}.card{background:radial-gradient(120% 90% at 20% 0%, #ffe45c1f, transparent 60%), radial-gradient(100% 80% at 100% 100%, #c7a6e82e, transparent 60%), var(--paper);box-shadow:0 1px 0 var(--paper-edge) inset, 0 18px 40px -12px #2b23508c, 0 2px 6px #2b235033;-webkit-user-select:text;user-select:text;border-radius:6px 10px 8px 12px/10px 6px 12px 8px;flex-direction:column;gap:10px;width:min(380px,100vw - 32px);padding:22px 22px 18px;display:flex}.card h1,.card h2{letter-spacing:.01em;margin:0;font-style:italic;font-weight:600}.card h1{font-size:40px;line-height:1}.card h2{font-size:28px;line-height:1.1}.sub{color:var(--ink-soft);margin:0 0 6px;font-size:18px}.fine{color:var(--ink-soft);margin:2px 0 0;font-size:15px;line-height:1.35}.fine.dev{color:var(--rose)}.err{color:#b8322b;min-height:1em;margin:0;font-size:16px}.err:empty{display:none}.hand{margin:0;font-family:Caveat,cursive;font-size:24px;line-height:1.15}.center{padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));place-items:center;display:grid;position:absolute;inset:0;overflow-y:auto}.field{font:inherit;color:var(--ink);background:#fff9;border:1.5px solid #2b235040;border-radius:6px;outline:none;width:100%;padding:10px 12px;font-size:20px}.field:focus{border-color:var(--ultra);background:#fff}.field.code{letter-spacing:.4em;text-align:center;font-size:30px}.field.wish{resize:none;font-family:Caveat,cursive;font-size:26px;line-height:1.2}.field.small{padding:8px 10px;font-size:18px}.count{color:var(--ink-soft);align-self:flex-end;margin-top:-6px;font-size:14px}.btn{font:inherit;cursor:pointer;color:var(--ink);background:#2b235014;border:none;border-radius:999px;padding:10px 20px;font-size:19px;font-weight:600;transition:transform .15s,filter .15s}.btn:active{transform:scale(.97)}.btn:disabled{opacity:.55;cursor:default}.btn.primary{background:var(--ultra);color:#fff8e8;box-shadow:0 4px #26359a}.btn.primary:active{transform:translateY(3px);box-shadow:0 1px #26359a}.btn.small{padding:7px 16px;font-size:17px}.btn.link{color:var(--ink-soft);background:0 0;padding:4px;font-size:16px;font-weight:500;text-decoration:underline}.row{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.hud{transition:opacity .8s;position:absolute;inset:0}.hud.hidden{opacity:0}.hud.hidden *{pointer-events:none!important}.hud .top{top:calc(10px + var(--safe-t));left:calc(14px + var(--safe-l));right:calc(10px + var(--safe-r));justify-content:space-between;align-items:center;display:flex;position:absolute}.title{color:#fff8e8;text-shadow:0 1px 3px #2b2350b3;font-size:clamp(20px,3.4vmin,28px);font-style:italic;font-weight:600}.icons{gap:8px;display:flex}.icon{pointer-events:auto;width:42px;height:42px;color:var(--ink);cursor:pointer;background:#fdf6e6d1;border:none;border-radius:50%;font-size:20px;box-shadow:0 3px 10px #2b23504d}.hud .bottom{left:0;right:0;bottom:calc(14px + var(--safe-b));text-align:center;flex-direction:column;align-items:center;gap:4px;padding:0 16px;display:flex;position:absolute}.hud .bottom p{color:#fff8e8;text-shadow:0 1px 3px #2b2350d9;margin:0}.hud .bottom .count{align-self:center;margin:0;font-size:clamp(18px,2.8vmin,24px);font-style:italic;font-weight:600}.hud .bottom .hint{font-family:Caveat,cursive;font-size:clamp(18px,2.6vmin,22px)}.btn.ribbon{pointer-events:auto;color:#fff8e8;background:linear-gradient(180deg, #e66a8c, var(--rose) 60%, #b8466a);border-radius:14px 18px/18px 14px;margin-top:8px;padding:12px 34px;font-size:clamp(20px,3vmin,26px);font-style:italic;box-shadow:0 5px #8e3352,0 12px 26px -8px #2b235099}.btn.ribbon:active{transform:translateY(4px);box-shadow:0 1px #8e3352}@media (height<=480px) and (orientation:landscape){.hud .bottom{right:calc(14px + var(--safe-r));text-align:right;align-items:flex-end;left:auto}.hud .bottom .count{align-self:flex-end}.btn.ribbon{padding:10px 24px}}.veil{padding:calc(16px + var(--safe-t)) calc(16px + var(--safe-r)) calc(16px + var(--safe-b)) calc(16px + var(--safe-l));background:#2b235052;place-items:center;animation:.3s fade;display:grid;position:absolute;inset:0;overflow-y:auto}.veil.scroll{place-items:start center}@keyframes fade{0%{opacity:0}}.wishcard{width:min(440px,100vw - 32px)}.namecard{gap:8px;width:240px;padding:14px;animation:.2s fade;position:absolute}.namecard .hand{font-size:22px}.toast{left:50%;top:calc(64px + var(--safe-t));opacity:0;color:var(--ink);text-align:center;z-index:10;background:#fdf6e6f2;border-radius:999px;max-width:calc(100vw - 32px);padding:10px 18px;font-size:18px;transition:opacity .5s,transform .5s;position:fixed;transform:translate(-50%,-10px);box-shadow:0 6px 20px #2b235059}.toast.show{opacity:1;transform:translate(-50%)}.timeline{flex-direction:column;align-items:center;gap:6px;width:min(620px,100%);margin:8px 0 24px;display:flex}.tl-head{justify-content:space-between;align-items:center;width:100%;display:flex}.tl-head h2{color:#fff8e8;text-shadow:0 2px 6px #2b2350b3;margin:0;font-size:36px;font-style:italic}.timeline>.sub{color:#fff8e8;text-shadow:0 1px 4px #2b2350cc;align-self:flex-start}.btn.close{background:#fdf6e6e6;width:44px;height:44px;padding:0;font-size:28px}.notes{flex-direction:column;gap:14px;width:100%;display:flex}.note{background:var(--paper);-webkit-user-select:text;user-select:text;border-radius:4px 8px 6px 10px;padding:16px 18px 12px;box-shadow:0 10px 24px -10px #2b235099,0 1px 3px #2b235033}.note .hand{overflow-wrap:anywhere;font-size:26px}.note footer{color:var(--ink-soft);justify-content:space-between;align-items:baseline;gap:10px;margin-top:8px;font-size:15px;font-style:italic;display:flex}.note .report{color:var(--ink-soft);font:inherit;cursor:pointer;opacity:.6;background:0 0;border:none;font-size:13px}.tilt0{transform:rotate(-.6deg)}.tilt1{margin-left:8px;transform:rotate(.5deg)}.tilt2{margin-right:6px;transform:rotate(-.3deg)}.tilt3{transform:rotate(.8deg)}.timeline .empty{color:#fff8e8;text-align:center;text-shadow:0 1px 4px #2b2350cc;padding:30px 0}.timeline .btn.link{color:#fff8e8}.overlay{pointer-events:none}.fps{color:#fff;z-index:20;background:#00000073;border-radius:4px;padding:2px 6px;font:12px ui-monospace,monospace;position:fixed;bottom:8px;left:8px}.toast{border-radius:18px}.card,.note{background:var(--paint-paper) center / cover no-repeat;border-radius:18px 26px 20px 30px/26px 18px 30px 20px;box-shadow:0 16px 40px -14px #2b23508c}.btn.primary,.btn.ribbon,.pbtn.ultra{background:var(--paint-ultra) center / 100% 100% no-repeat;color:#fff8e8;box-shadow:none}.btn.primary:active,.btn.ribbon:active{box-shadow:none;transform:scale(.97)}.btn:not(.primary):not(.link):not(.close),.btn.close{background:var(--paint-cream) center / 100% 100% no-repeat}.btn.primary,.btn{text-shadow:0 1px 2px #2b235059;border-radius:40% 46% 42% 48%/60% 54% 62% 56%}.signature{pointer-events:auto;right:calc(10px + var(--safe-r));bottom:calc(10px + var(--safe-b));font:inherit;color:var(--ink);text-shadow:0 0 8px #fff6e4e6,0 0 2px #fff6e4e6;cursor:pointer;background:0 0;border:none;padding:7px 16px 8px;font-size:19px;font-style:italic;font-weight:600;line-height:1.1;transition:transform .3s;position:absolute}.signature:hover,.signature[aria-expanded=true]{transform:scale(1.05)rotate(-1deg)}.drawer-veil{pointer-events:auto;position:absolute;inset:0}.drawer{pointer-events:auto;right:calc(10px + var(--safe-r));bottom:calc(46px + var(--safe-b));background:var(--paint-paper) center / cover no-repeat;transform-origin:90% 100%;opacity:0;visibility:hidden;border-radius:26px 34px 22px 38px/34px 22px 38px 26px;flex-direction:column;gap:8px;width:min(300px,100vw - 20px);padding:22px 22px 18px;transition:transform .35s cubic-bezier(.2,.8,.2,1.1),opacity .25s,visibility 0s .35s;display:flex;position:absolute;transform:translateY(16px)scale(.92);box-shadow:0 18px 40px -12px #2b235099}.drawer.open{opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.2,.8,.2,1.1),opacity .25s;transform:none}.drawer .status{color:var(--ink);margin:0;font-size:22px;font-style:italic;font-weight:600}.drawer .hint{color:var(--ink-soft);margin:0 0 4px;font-family:Caveat,cursive;font-size:20px}.pbtns{flex-direction:column;gap:8px;margin-top:6px;display:flex}.pbtn{font:inherit;cursor:pointer;color:var(--ink);background:var(--paint-cream) center / 100% 100% no-repeat;text-align:left;border:none;padding:13px 18px;font-size:21px;font-style:italic;font-weight:600;transition:transform .15s}.pbtn:active{transform:scale(.97)rotate(-.5deg)}.pbtn.rose{background-image:var(--paint-rose);color:#fff8e8;text-shadow:0 1px 2px #50142880;font-size:24px}.pbtn.ultra{color:#fff8e8;text-shadow:0 1px 2px #14145080}.pbtn.sage{background-image:var(--paint-sage);color:#1f3a12}.hud .top,.hud .bottom{display:none}.toast{background:var(--paint-paper) center / cover no-repeat}.card,.note,.drawer,.toast,.field,.btn,.pbtn,.btn.primary,.btn.ribbon,.btn.close,.pbtn.rose,.pbtn.ultra,.pbtn.sage,.field:focus{outline:none;box-shadow:none!important;background:0 0!important;border:none!important;border-radius:0!important}.veil,.veil.scroll{background:0 0}.card,.drawer,.note,.toast{color:var(--ink);text-shadow:0 0 8px #fff6e4e6,0 0 2px #fff6e4e6}.btn.primary,.pbtn.rose,.pbtn.ultra{color:#fff8e8;text-shadow:0 0 6px #2b2350bf,0 0 2px #2b235099}.pbtn.sage{color:#1f3a12;text-shadow:0 0 6px #e6ffc8cc}.pbtn,.btn{text-align:center}.field{caret-color:var(--rose);padding:12px 16px;font-family:Caveat,cursive;font-size:26px}.field::placeholder{color:#5a4e7a99}.field.code{font-family:Cormorant Garamond,serif}.drawer{gap:12px;padding:26px 26px 22px}.pbtns{gap:14px}.pbtn{padding:14px 20px}.card>*,.drawer>*,.note>*,.pbtns>*{animation:.9s .35s both arrive}@keyframes arrive{0%{opacity:0;transform:translateY(3px)}}.drawer{animation:none;opacity:1!important;visibility:visible!important;transform:none!important}.og{position:absolute;top:50%;left:6%;transform:translateY(-50%)}.og-card{width:430px;padding:34px 38px 30px}.og-card h1{font-size:64px}.og-card .sub{margin:10px 0 0;font-size:25px;line-height:1.3}
