@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/fredoka-latin-400-normal-17JuUzdy.woff2)format("woff2"),url(/assets/fredoka-latin-400-normal-DbXSrOeS.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/fredoka-latin-600-normal-C4zohCW5.woff2)format("woff2"),url(/assets/fredoka-latin-600-normal-CcrEjrB4.woff)format("woff")}@font-face{font-family:Fredoka;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/fredoka-latin-700-normal-BOIZVyIN.woff2)format("woff2"),url(/assets/fredoka-latin-700-normal-C8FeHd3X.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/nunito-latin-400-normal-r8SDr6Up.woff2)format("woff2"),url(/assets/nunito-latin-400-normal-DKg4f3fz.woff)format("woff")}@font-face{font-family:Nunito;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/nunito-latin-700-normal-Dort48En.woff2)format("woff2"),url(/assets/nunito-latin-700-normal-OcDqTBcA.woff)format("woff")}:root{--font-display:"Fredoka", "Nunito", ui-rounded, system-ui, sans-serif;--font-body:"Nunito", system-ui, -apple-system, "Segoe UI", sans-serif;--bg1:#2f5fd0;--bg2:#173a8c;--accent:#ffd23f;--btn:#ffd23f;--btn-ink:#1b1b3a;--btn-shade:#b39327;--ink:#fff;--ink-outline:#091738;--accent-ink:#8a6a00;--tint:#fff4cc;--c1:#ffd23f;--c2:#fff;--c3:#7fb3ff;--c4:#ff6b6b;--panel:#fff;--panel-ink:#1d1b3a;--panel-muted:#55536e;--panel-soft:#f3f2fa;--panel-line:#1d1b3a1f;--plate:#0e0c2899;--radius-lg:28px;--radius-md:20px;--radius-sm:14px;--shadow-panel:0 6px 0 #0a0a281a, 0 14px 32px #0a0a282e;--ease-bounce:cubic-bezier(.34, 1.56, .64, 1);--ease-out:cubic-bezier(.22, 1, .36, 1);--safe-t:env(safe-area-inset-top,0px);--safe-r:env(safe-area-inset-right,0px);--safe-b:env(safe-area-inset-bottom,0px);--safe-l:env(safe-area-inset-left,0px);--sx:16px;--sy:200px;--ss:360px;--sr:16px;--sb:200px}*,:before,:after{box-sizing:border-box}html,body{height:100%;color:var(--ink);font-family:var(--font-body);overscroll-behavior:none;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;background:#173a8c;margin:0;font-size:17px;line-height:1.4}body{overflow:hidden}#app{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:linear-gradient(180deg, var(--bg1), var(--bg2));color:var(--ink);position:fixed;top:0;bottom:0;left:0;right:0;overflow:hidden}.stage-wrap{z-index:0;opacity:1;transition:opacity .35s var(--ease-out);position:absolute;top:0;bottom:0;left:0;right:0}.stage{touch-action:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.stage-hidden{opacity:0;visibility:hidden;transition:opacity .25s var(--ease-out), visibility 0s linear .25s}#ui{z-index:1;position:absolute;top:0;bottom:0;left:0;right:0}#ui[hidden]{display:none!important}.play-layer{z-index:2;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.overlay{z-index:10;pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}h1,h2,h3{font-family:var(--font-display);margin:0;font-weight:700;line-height:1.1}p{margin:0}button,input,textarea{font-family:inherit}input,textarea{-webkit-user-select:text;user-select:text;touch-action:manipulation}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@keyframes pop-in{0%{opacity:0;translate:0 18px;scale:.7}60%{opacity:1;translate:0 -3px;scale:1.04}to{opacity:1;translate:0;scale:1}}@keyframes screen-in{0%{opacity:0;translate:0 10px}to{opacity:1;translate:0}}@keyframes breathe{0%,to{scale:1}50%{scale:1.035}}@keyframes pulse{0%,to{scale:1}50%{scale:1.1}}@keyframes float-y{0%,to{translate:0}50%{translate:0 -6px}}.pop-in{animation:pop-in .55s var(--ease-bounce) both;animation-delay:calc(var(--i,0) * 70ms)}.screen-enter{animation:screen-in .28s var(--ease-out) both}.btn{--shade:var(--btn-shade);-webkit-appearance:none;appearance:none;background:var(--btn);min-height:56px;color:var(--btn-ink);font:600 20px/1.1 var(--font-display);letter-spacing:.01em;text-align:center;box-shadow:0 5px 0 var(--shade), 0 10px 20px #0a0a282e;transition:transform .2s var(--ease-bounce), box-shadow .2s var(--ease-out), filter .2s;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none;background-image:linear-gradient(#ffffff3d,#fff0 55%);border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;margin:0;padding:12px 24px;display:inline-flex;position:relative;transform:translateY(0)scale(1)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--shade), 0 3px 8px #0a0a2829;transition-duration:60ms;transform:translateY(4px)scale(.96,.92)}.btn:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.icon-btn:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.chip-btn:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.link-btn:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.switch:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.card-open:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.envelope:focus-visible{outline-offset:3px;outline:3px solid #fff;box-shadow:0 0 0 6px #0a0a2880}.btn:disabled{opacity:.5;cursor:default}@media (hover:hover){.btn:hover:not(:disabled),.icon-btn:hover:not(:disabled){filter:brightness(1.06)}}.btn.secondary{--shade:#c3c2d6;background-color:var(--panel);color:var(--panel-ink)}.panel .btn.secondary,.dialog .btn.secondary{--shade:#cfcde0;background-color:var(--panel-soft)}.btn.big{min-height:66px;padding:14px 30px;font-size:24px;font-weight:700}.btn.small{min-height:48px;padding:10px 18px;font-size:18px}.ico{flex:none;place-items:center;width:1.15em;height:1.15em;display:inline-grid}.ico svg{width:100%;height:100%;display:block}.icon-btn{-webkit-appearance:none;appearance:none;width:48px;height:48px;color:var(--panel-ink);transition:transform .18s var(--ease-bounce), box-shadow .18s;cursor:pointer;touch-action:manipulation;background:#fffffff2;border:0;border-radius:50%;flex:none;place-items:center;padding:0;display:inline-grid;box-shadow:0 3px #0a0a2833,0 6px 14px #0a0a2824}.icon-btn .ico{width:26px;height:26px}.icon-btn:active{transition-duration:60ms;transform:translateY(2px)scale(.9);box-shadow:0 1px #0a0a2833}.icon-btn.soft{background:var(--panel-soft);box-shadow:none}.icon-spacer{width:48px;height:48px}.chip-btn{-webkit-appearance:none;appearance:none;min-height:48px;color:var(--panel-ink);font:600 17px/1.1 var(--font-display);cursor:pointer;touch-action:manipulation;transition:transform .18s var(--ease-bounce);background:#fffffff2;border:0;border-radius:999px;padding:10px 18px;box-shadow:0 3px #0a0a2833}.chip-btn:active{transform:translateY(2px)scale(.95)}.link-btn{-webkit-appearance:none;appearance:none;min-height:44px;color:var(--accent-ink);font:700 17px var(--font-body);text-underline-offset:3px;cursor:pointer;background:0 0;border:0;padding:8px 6px;text-decoration:underline}.panel{background:var(--panel);color:var(--panel-ink);border-radius:var(--radius-lg);box-shadow:var(--shadow-panel);padding:18px}.panel-title{color:var(--panel-ink);align-items:center;gap:8px;margin-bottom:8px;font-size:24px;display:flex}.panel-title .ico{color:var(--accent-ink)}.muted{color:var(--panel-muted)}.field-label{font:700 17px var(--font-body);color:var(--panel-ink);margin-bottom:8px;display:block}.field{background:var(--panel-soft);width:100%;min-width:0;height:52px;color:var(--panel-ink);font:700 18px var(--font-body);border:2px solid #d6d4e6;border-radius:16px;outline:none;padding:0 16px;transition:border-color .15s,box-shadow .15s}.field::placeholder{color:#6f6d88;font-weight:400}.field:focus{border-color:var(--accent-ink);box-shadow:0 0 0 4px var(--tint);background:#fff}.field-msg{color:#b4234a;min-height:1.4em;margin-top:6px;font-size:16px;font-weight:700}.nick-row{align-items:center;gap:10px;display:flex}.nick-row .btn{flex:none}.setting-row{border-bottom:1px solid var(--panel-line);justify-content:space-between;align-items:center;gap:12px;min-height:64px;padding:8px 0;display:flex}.setting-row:last-child{border-bottom:0}.setting-row.disabled .setting-label{color:var(--panel-muted)}.setting-label{font:600 20px var(--font-display)}.setting-note{color:var(--panel-muted);font-size:16px}.switch{-webkit-appearance:none;appearance:none;cursor:pointer;touch-action:manipulation;background:0 0;border:0;flex:none;width:66px;height:48px;padding:0;position:relative}.switch:before{content:"";background:#cfcde0;border-radius:999px;transition:background .2s;position:absolute;top:8px;bottom:8px;left:4px;right:4px}.switch-knob{width:24px;height:24px;transition:translate .25s var(--ease-bounce);background:#fff;border-radius:50%;position:absolute;top:12px;left:8px;box-shadow:0 2px 4px #0a0a284d}.switch[aria-checked=true]:before{background:#178a4c}.switch[aria-checked=true] .switch-knob{translate:26px}.switch:disabled{opacity:.45}.topbar{z-index:3;padding:calc(var(--safe-t) + 10px) calc(var(--safe-r) + 12px) 8px calc(var(--safe-l) + 12px);pointer-events:none;align-items:center;gap:10px;display:flex;position:absolute;top:0;left:0;right:0}.topbar>*{pointer-events:auto}.topbar-title{text-align:center;color:var(--ink);text-shadow:0 2px 0 var(--ink-outline), 2px 0 0 var(--ink-outline), -2px 0 0 var(--ink-outline), 0 -2px 0 var(--ink-outline), 0 4px 10px #0003;pointer-events:none;flex:1;font-size:26px}.topbar-fill{flex:1}.topbar-end{align-items:center;gap:10px;display:flex}.toasts{left:16px;right:16px;bottom:calc(var(--safe-b) + 96px);justify-content:center;display:flex;position:absolute}.toast{color:#fff;max-width:420px;font:700 17px var(--font-body);text-align:center;opacity:0;transition:translate .3s var(--ease-bounce), opacity .2s;background:#141232f0;border-radius:18px;padding:12px 20px;translate:0 20px;box-shadow:0 10px 30px #0000004d}.toast.in{opacity:1;translate:0}.banners{left:12px;right:12px;top:calc(var(--safe-t) + 76px);pointer-events:none;z-index:5;transition:top .3s var(--ease-out);justify-content:center;display:flex;position:absolute}.overlay.playing .banners{top:calc(var(--safe-t) + 100px)}.banner{color:#fff;max-width:440px;transition:translate .5s var(--ease-bounce), scale .5s var(--ease-bounce), opacity .3s;background:linear-gradient(135deg,#2b1b78,#5a2fd0);border-radius:24px;align-items:center;gap:12px;padding:8px 14px 8px 8px;display:flex;translate:0 -160%;scale:.9;box-shadow:0 0 0 3px #ffffff40,0 14px 34px #140a3c73}.banner.in{translate:0;scale:1}.overlay.playing .banner.in{scale:.86}.banner.out{opacity:0;translate:0 -160%}.banner-glyph{width:52px;height:52px;animation:banner-wiggle .9s var(--ease-bounce) .3s both;background:#fff;border-radius:18px;flex:none;padding:6px}.banner-glyph svg{width:100%;height:100%}@keyframes banner-wiggle{0%{rotate:-30deg;scale:.4}60%{rotate:10deg;scale:1.15}to{rotate:0deg;scale:1}}.banner-text{flex-direction:column;min-width:0;display:flex}.banner-kicker{font:700 16px var(--font-display);letter-spacing:.08em;color:#ffd23f}.banner-name{font:700 22px/1.1 var(--font-display)}.banner-count{font:700 16px var(--font-body);white-space:nowrap;background:#ffffff2e;border-radius:999px;flex:none;margin-left:auto;padding:4px 10px}.scrim{pointer-events:auto;opacity:0;background:#0a0a1e8c;place-items:center;padding:24px;transition:opacity .2s;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.scrim.in{opacity:1}.dialog{background:var(--panel);width:100%;max-width:380px;color:var(--panel-ink);transition:scale .32s var(--ease-bounce), translate .32s var(--ease-bounce);text-align:center;border-radius:28px;padding:24px 20px 20px;translate:0 12px;scale:.88;box-shadow:0 20px 60px #00000059}.scrim.in .dialog{translate:0;scale:1}.dialog h2{margin-bottom:8px;font-size:28px}.dialog p{color:var(--panel-muted);font-size:18px}.dialog-actions{gap:10px;margin-top:20px;display:flex}.dialog-actions .btn{flex:1;padding-left:12px;padding-right:12px}.copy-box{width:100%;font:16px var(--font-body);color:var(--panel-ink);resize:none;border:2px solid #d6d4e6;border-radius:14px;margin-top:12px;padding:12px}.loading{font:600 20px var(--font-display);color:var(--ink);text-shadow:0 2px 0 var(--ink-outline);flex-direction:column;justify-content:center;align-items:center;gap:16px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.dots{gap:10px;display:flex}.dots i{background:var(--accent);width:16px;height:16px;box-shadow:0 3px 0 var(--ink-outline);animation:dot-hop .9s var(--ease-out) infinite;border-radius:50%}.dots i:nth-child(2){animation-delay:.12s}.dots i:nth-child(3){animation-delay:.24s}@keyframes dot-hop{0%,60%,to{translate:0}30%{translate:0 -14px}}.confetti{pointer-events:none;z-index:5;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.confetti i{width:10px;height:14px;animation:confetti-fly var(--d,1.2s) cubic-bezier(.15, .6, .35, 1) forwards;border-radius:2px;margin:-7px 0 0 -5px;position:absolute}.confetti i.round{border-radius:50%;width:11px;height:11px}@keyframes confetti-fly{0%{opacity:1;transform:translate(0)rotate(0)scale(.6)}70%{opacity:1}to{transform:translate(var(--dx), calc(var(--dy) + 260px)) rotate(var(--rot)) scale(1);opacity:0}}.screen{position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.region-top,.region-bottom{text-align:center;pointer-events:none;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex;position:absolute}.region-top>*,.region-bottom>*{pointer-events:auto}.region-top{padding:calc(var(--safe-t) + 18px) calc(var(--safe-r) + 16px) 8px calc(var(--safe-l) + 16px);top:0;left:0;right:0}.has-topbar .region-top{padding-top:calc(var(--safe-t) + 66px)}.region-bottom{padding:8px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 16px) calc(var(--safe-l) + 16px);bottom:0;left:0;right:0}#app[data-layout=side]{--col-w:clamp(240px, 27vw, 400px)}#app[data-layout=side] .logo{font-size:min(84px, calc((var(--col-w) - 28px) / 5.3))}#app[data-layout=side] .card-title{font-size:min(64px, calc((var(--col-w) - 28px) / 5))}#app[data-layout=side] .region-top{width:var(--col-w);padding-left:calc(var(--safe-l) + 20px);padding-right:8px;bottom:0;right:auto}#app[data-layout=side] .region-bottom{width:var(--col-w);padding:calc(var(--safe-t) + 66px) calc(var(--safe-r) + 20px) calc(var(--safe-b) + 16px) 8px;top:0;left:auto}.display,.card-title,.env-kicker{color:var(--ink);text-shadow:0 3px 0 var(--ink-outline), 3px 0 0 var(--ink-outline), -3px 0 0 var(--ink-outline), 0 -3px 0 var(--ink-outline), 2px 2px 0 var(--ink-outline), -2px 2px 0 var(--ink-outline), 2px -2px 0 var(--ink-outline), -2px -2px 0 var(--ink-outline), 0 7px 0 var(--ink-outline), 0 10px 18px #00000040}.logo{font:700 clamp(46px, 14vw, 84px) / 1 var(--font-display);letter-spacing:-.01em;white-space:nowrap;cursor:default;touch-action:manipulation;margin:0}.logo .ltr{color:#fff;text-shadow:0 3px 0 var(--ink-outline), 3px 0 0 var(--ink-outline), -3px 0 0 var(--ink-outline), 0 -3px 0 var(--ink-outline), 2px 2px 0 var(--ink-outline), -2px 2px 0 var(--ink-outline), 2px -2px 0 var(--ink-outline), -2px -2px 0 var(--ink-outline), 0 8px 0 var(--ink-outline), 0 12px 22px #0000004d;animation:ltr-in .8s var(--ease-bounce) both calc(var(--i) * 55ms), ltr-wave 4.2s ease-in-out calc(1.4s + var(--i) * 90ms) infinite;display:inline-block}.logo .ltr.l2{color:var(--accent)}@keyframes ltr-in{0%{opacity:0;translate:0 -70px;scale:.5 1.4}55%{opacity:1;translate:0 6px;scale:1.15 .85}75%{translate:0 -4px;scale:.95 1.06}to{opacity:1;translate:0;scale:1}}@keyframes ltr-wave{0%,16%,to{translate:0}8%{translate:0 -7px}}.tagline{font:700 19px var(--font-body);color:var(--ink);text-shadow:0 2px 0 var(--ink-outline), 0 0 12px var(--ink-outline)}.title-bottom .stack{flex-direction:column;align-items:stretch;gap:12px;width:100%;max-width:360px;display:flex}.title-bottom .row{gap:10px;display:flex}.title-bottom .row .btn{flex:1;padding-left:10px;padding-right:10px}.title-bottom .small-row{justify-content:center;align-items:center;gap:10px}.title-screen .btn.big:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;border:3px solid #ffffffbf;animation:2.4s ease-out 1.6s infinite ring-pulse;position:absolute;top:-5px;bottom:-5px;left:-5px;right:-5px}@keyframes ring-pulse{0%{opacity:.9;scale:1}70%,to{opacity:0;scale:1.08 1.25}}.envelope-view{position:absolute;top:0;bottom:0;left:0;right:0}.envelope-stage{padding:calc(var(--safe-t) + 70px) 20px calc(var(--safe-b) + 24px);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.env-kicker{font:700 clamp(30px, 8.5vw, 44px) / 1.1 var(--font-display)}.env-from{font:700 22px var(--font-display);color:var(--ink);text-shadow:0 2px 0 var(--ink-outline), 0 0 10px var(--ink-outline);margin-top:-6px}.envelope{--w:min(320px, 80vw);-webkit-appearance:none;appearance:none;width:var(--w);height:calc(var(--w) * .66);cursor:pointer;touch-action:manipulation;background:0 0;border:0;margin:26px 0 8px;padding:0;position:relative}.env-body{perspective:900px;animation:2.6s ease-in-out infinite env-wobble;display:block;position:absolute;top:0;bottom:0;left:0;right:0}@keyframes env-wobble{0%,to{translate:0;rotate:-2deg}50%{translate:0 -6px;rotate:2deg}}.env-back,.env-pocket,.env-flap,.env-letter,.env-seal{display:block;position:absolute}.env-back{z-index:1;background:var(--btn-shade);border-radius:16px;top:0;bottom:0;left:0;right:0;box-shadow:0 16px 40px #0000004d}.env-letter{z-index:2;height:86%;color:var(--panel-ink);transition:translate .75s var(--ease-bounce) .28s;background:#fff;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding-top:14%;display:flex;top:7%;left:7%;right:7%;box-shadow:0 2px 6px #00000026}.env-letter-title{font:700 24px/1.1 var(--font-display);color:var(--accent-ink)}.env-letter-line{font:700 16px var(--font-body);color:var(--panel-muted)}.env-pocket{z-index:3;background:var(--btn);clip-path:polygon(0 0,50% 56%,100% 0,100% 100%,0 100%);background-image:linear-gradient(#ffffff2e,#0000000f);border-radius:16px;top:0;bottom:0;left:0;right:0}.env-flap{z-index:4;background:var(--btn);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:50% 0;background-image:linear-gradient(#ffffff52,#ffffff14);border-radius:16px 16px 0 0;height:62%;transition:transform .45s ease-in,z-index 0s linear .22s;top:0;left:0;right:0}.env-seal{z-index:5;background:var(--accent-ink);color:#fff;border-radius:50%;width:54px;height:54px;margin:-27px 0 0 -27px;padding:12px;transition:scale .25s ease-in,opacity .25s;top:62%;left:50%;box-shadow:0 0 0 4px #ffffff80,0 4px 10px #00000040}.env-seal svg{width:100%;height:100%;display:block}.env-hint{color:var(--panel-ink);font:700 18px var(--font-display);background:#fffffff2;border-radius:999px;padding:10px 22px;animation:1.6s ease-in-out infinite pulse;box-shadow:0 3px #0a0a2833}.envelope-view.opening .env-body{animation:none}.envelope-view.opening .env-seal{opacity:0;scale:0}.envelope-view.opening .env-flap{z-index:1;transform:rotateX(180deg)}.envelope-view.opening .env-letter{z-index:2;translate:0 -58%}.envelope-view.opening .env-hint,.envelope-view.opening .env-kicker,.envelope-view.opening .env-from{opacity:0;transition:opacity .3s}.card-view,.missing-view{position:absolute;top:0;bottom:0;left:0;right:0}.occasion{background:var(--btn);color:var(--btn-ink);font:700 20px var(--font-display);box-shadow:0 4px 0 var(--btn-shade);border-radius:999px;padding:6px 18px;display:inline-block;rotate:-3deg}.card-title{font:700 clamp(36px, 11vw, 64px) / 1.05 var(--font-display);overflow-wrap:anywhere}.split{flex-direction:column;gap:10px;width:100%;max-width:440px;display:flex}#app[data-wide="1"][data-layout=stack] .split{flex-direction:row;align-items:center;max-width:900px}#app[data-wide="1"][data-layout=stack] .pane{flex:1}.pane{flex-direction:column;gap:10px;min-width:0;display:flex}.say{background:var(--panel);color:var(--panel-ink);box-shadow:var(--shadow-panel);text-align:center;border-radius:22px;padding:12px 18px;position:relative}.say:before{content:"";background:var(--panel);clip-path:polygon(50% 0,100% 100%,0 100%);width:26px;height:14px;margin-left:-13px;position:absolute;top:-12px;left:50%}#app[data-layout=side] .say:before{display:none}.say-text{font:600 19px/1.3 var(--font-body)}.say-from{font:600 18px var(--font-display);color:var(--accent-ink);margin-top:4px}.scores-chip{color:var(--panel-ink);background:#fffffff2;border-radius:20px;padding:10px 14px;box-shadow:0 3px #0a0a2826}.mini-board{flex-wrap:wrap;justify-content:center;gap:4px 14px;margin:0;padding:0;list-style:none;display:flex}.mini-row{align-items:center;gap:6px;font-size:17px;font-weight:700;display:inline-flex}.mini-row .who{text-overflow:ellipsis;white-space:nowrap;max-width:8.5em;overflow:hidden}.mini-row .pts{font-family:var(--font-display);color:var(--accent-ink)}.mini-row .pos{width:26px;height:26px;font-size:15px}.mini-empty{color:var(--panel-muted);font-size:16px}.mini-note{color:var(--panel-muted);text-align:center;margin-top:2px;font-size:16px}.pos{width:34px;height:34px;color:var(--panel-ink);font:700 17px var(--font-display);background:#ebe9f5;border-radius:50%;flex:none;place-items:center;display:inline-grid}.medal-1{color:#3b2500;background:linear-gradient(#ffe27a,#f2b600);box-shadow:inset 0 -2px #00000026}.medal-2{color:#26303f;background:linear-gradient(#eef1f6,#b9c1cf);box-shadow:inset 0 -2px #0000001f}.medal-3{color:#3a1d00;background:linear-gradient(#f6caa0,#cd8442);box-shadow:inset 0 -2px #00000026}.center-stack{padding:calc(var(--safe-t) + 70px) 24px calc(var(--safe-b) + 24px);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.center-stack .btn{width:100%;max-width:340px}.big-emoji{width:88px;height:88px;color:var(--accent-ink);box-shadow:var(--shadow-panel);background:#fffffff2;border-radius:28px;padding:18px;animation:2.4s ease-in-out infinite float-y}.big-emoji svg{width:100%;height:100%}.display{font:700 clamp(32px, 9vw, 48px) / 1.1 var(--font-display)}.lead{max-width:420px;font:700 19px var(--font-body);color:var(--ink);text-shadow:0 2px 0 var(--ink-outline), 0 0 10px var(--ink-outline);margin-bottom:8px}.page{background-color:var(--bg2);background-image:radial-gradient(#ffffff17 2px, transparent 2.6px), linear-gradient(180deg, var(--bg1), var(--bg2));background-size:24px 24px,100% 100%}.page-scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;padding-top:calc(var(--safe-t) + 68px);position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.page-body{width:100%;max-width:680px;padding:6px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 32px) calc(var(--safe-l) + 16px);flex-direction:column;gap:16px;margin:0 auto;display:flex}.page .topbar{background:linear-gradient(180deg, var(--bg1) 60%, transparent)}.section-title{color:var(--ink);text-shadow:0 2px 0 var(--ink-outline);margin:4px 4px 10px;font-size:22px}.empty{border-radius:var(--radius-lg);color:var(--panel-ink);text-align:center;background:#fffffff2;flex-direction:column;align-items:center;gap:12px;padding:20px;font-weight:700;display:flex}.card-list{flex-direction:column;gap:10px;min-height:60px;display:flex;position:relative}.card-list .loading{padding:16px;position:static}.card-row{background:var(--panel);color:var(--panel-ink);box-shadow:var(--shadow-panel);border-left:8px solid var(--row-accent,var(--accent));border-radius:24px;align-items:center;gap:8px;padding:8px 10px 8px 8px;transition:opacity .25s,scale .25s;display:flex}.card-row.gone{opacity:0;scale:.9}.card-open{-webkit-appearance:none;appearance:none;min-width:0;min-height:64px;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex:1;align-items:center;gap:12px;padding:0;display:flex}.thumb{background:var(--panel-soft);border-radius:16px;flex:none}.card-meta{flex-direction:column;min-width:0;display:flex}.card-name{font:700 20px/1.15 var(--font-display);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.card-occ{color:var(--panel-muted);font-size:16px}.card-actions{gap:6px;display:flex}.secrets-head{border-radius:var(--radius-lg);background:var(--panel);color:var(--panel-ink);box-shadow:var(--shadow-panel);flex-direction:column;gap:8px;padding:16px 18px;display:flex}.secrets-count{font:600 22px var(--font-display)}.secrets-count b{color:var(--accent-ink);font-size:34px}.meter{background:var(--panel-soft);border-radius:999px;height:16px;overflow:hidden;box-shadow:inset 0 2px 3px #00000014}.meter-fill{height:100%;transition:width .6s var(--ease-out);background:linear-gradient(90deg,#ff5c8a,#ffb020,#3ccf6e,#3a8dff,#8f5bff);border-radius:999px;display:block}.secret-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}@media (min-width:600px){.secret-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.secret-tile{color:var(--panel-ink);text-align:center;background:#ffffffe0;border-radius:22px;flex-direction:column;align-items:center;gap:6px;padding:16px 12px 14px;display:flex;position:relative;box-shadow:0 4px #0a0a281f}.secret-tile.found{background:var(--panel);box-shadow:0 0 0 3px var(--accent), 0 6px 0 #0a0a2824}.secret-no{font:700 16px var(--font-display);color:var(--panel-muted);position:absolute;top:8px;left:10px}.secret-glyph{color:#8d8ba6;width:64px;height:64px}.secret-glyph svg{width:100%;height:100%}.secret-tile.found .secret-glyph{animation:3s ease-in-out infinite float-y;animation-delay:calc(var(--i,0) * -.3s)}.secret-name{font-size:20px}.secret-tile:not(.found) .secret-name{color:var(--panel-muted);letter-spacing:.1em}.secret-how,.secret-hint{font-size:16px;line-height:1.3}.secret-hint{color:var(--panel-muted);font-style:italic}.settings-list{padding-top:6px;padding-bottom:6px}.danger-zone p{color:var(--panel-muted);margin-bottom:14px}.forget-btn{width:100%}.story p,.privacy li{margin-bottom:10px;font-size:18px}.story .btn{width:100%;margin-top:6px}.privacy-lead{background:var(--tint);border-radius:16px;margin:2px 0 14px;padding:12px 14px;font-size:18px}.plain-list{margin:0;padding-left:22px}.plain-list li::marker{color:var(--accent-ink)}.credits{text-align:center;color:var(--ink);text-shadow:0 2px 0 var(--ink-outline);font-weight:700}.maker-host .maker-root{overscroll-behavior:contain;touch-action:pan-y;position:absolute;top:0;bottom:0;left:0;right:0;overflow-y:auto}.hud{pointer-events:none;color:#fff;position:absolute;top:0;bottom:0;left:0;right:0}.hud-top{top:calc(var(--safe-t) + 10px);left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 12px);transition:opacity .4s, translate .4s var(--ease-out);grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;display:grid;position:absolute}.hud-plate{background:var(--plate);color:#fff;min-width:88px;height:60px;font:700 34px/1 var(--font-display);font-variant-numeric:tabular-nums;border-radius:22px;justify-content:center;align-items:center;padding:0 16px;transition:background .25s,box-shadow .25s,color .25s;display:flex;box-shadow:inset 0 -4px #00000038,0 6px 16px #0000002e}.hud-score{flex-direction:column;justify-self:start;gap:0}.hud-score-val{font-size:30px;line-height:1}.hud-score-lbl{font:700 16px/1 var(--font-body);opacity:.9}.hud-combo.broke{opacity:1;background:#c2334d}.hud-combo.broke .hud-combo-lbl{white-space:nowrap;font-size:14px}.hud-score.golden{color:#3b2500;background:linear-gradient(#ffe066,#f2a900);box-shadow:0 0 0 3px #ffffffb3,0 0 26px #ffd23fe6}.hud-combo{opacity:.45;flex-direction:column;justify-self:end;gap:0;transition:opacity .2s,background .25s}.hud-combo.on{opacity:1}.hud-combo-val{font-size:30px;line-height:1}.hud-combo-lbl{font:700 16px/1 var(--font-body);opacity:.9}.hud-combo[data-tier=warm] .hud-combo-val{color:#ffe066}.hud-combo[data-tier=hot] .hud-combo-val{color:#ffb347}.hud-combo[data-tier=fire] .hud-combo-val{color:#ff8a3d}.hud-combo[data-tier=fire]{box-shadow:0 0 0 3px #ff8a3d99,0 0 22px #ff7828b3}.hud-combo[data-tier=unstoppable] .hud-combo-val{color:#ff8ae0}.hud-combo[data-tier=unstoppable]{box-shadow:0 0 0 3px #ff7ad9a6,0 0 26px #ff5ac8bf}.hud-combo[data-tier=legendary] .hud-combo-val{background:linear-gradient(90deg,#ff5c5c,#ffb020,#ffe066,#5cf08a,#5cc8ff,#b18cff) 0 0/200% 100%;color:#0000;-webkit-background-clip:text;background-clip:text;animation:1.2s linear infinite rainbow-slide}.hud-combo[data-tier=legendary]{box-shadow:0 0 0 3px #fffc,0 0 30px #b48cffe6}@keyframes rainbow-slide{to{background-position:200% 0}}.hud-timer{width:78px;height:78px;position:relative}.hud-ring,.hud-ring svg{width:100%;height:100%;display:block}.ring-track{fill:var(--plate);stroke:#ffffff38;stroke-width:7px}.ring-bar{fill:none;stroke:#fff;stroke-width:7px;stroke-linecap:round;transition:stroke .3s}.hud-secs{font:700 30px/1 var(--font-display);font-variant-numeric:tabular-nums;place-items:center;display:grid;position:absolute;top:0;bottom:0;left:0;right:0}.hud-timer.hurry{animation:1s ease-in-out infinite pulse}.hud-timer.hurry .ring-bar{stroke:#ffd23f}.hud-timer.hurry .hud-secs{color:#ffd23f}.hud-bottom{left:calc(var(--safe-l) + 12px);right:calc(var(--safe-r) + 12px);bottom:calc(var(--safe-b) + 12px);justify-content:space-between;transition:opacity .4s;display:flex;position:absolute}.hud-btn{pointer-events:auto;background:var(--plate);color:#fff;box-shadow:none}.hud.done .hud-top{opacity:0;translate:0 -20px}.hud.done .hud-bottom{opacity:0}.hud.done .hud-btn{pointer-events:none}.stage.playing{cursor:pointer}.results{pointer-events:auto;opacity:0;transition:opacity .25s var(--ease-out);background:linear-gradient(#0a0a204d 0%,#0a0a20b8 45%,#0a0a20db 100%);flex-direction:column;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.results.in{opacity:1}.results.out{opacity:0}.results .topbar{flex:none;position:relative}.results-scroll{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;min-height:0;padding:4px calc(var(--safe-r) + 16px) 18px calc(var(--safe-l) + 16px);flex:1;overflow-y:auto}.results-grid{gap:14px;max-width:520px;margin:0 auto;display:grid}#app[data-wide="1"] .results-grid{grid-template-columns:1fr 1fr;align-items:start;gap:20px;max-width:980px}.r-main,.r-side{gap:14px;min-width:0;display:grid}.r-side:empty{display:none}.scorecard{text-align:center;margin-top:10px;padding:18px 18px 22px;position:relative}.sc-title{font:600 20px var(--font-display);color:var(--panel-muted)}.sc-score{margin-top:2px}.sc-metrics{justify-content:center;align-items:flex-end;gap:clamp(18px,7vw,40px);display:flex}.sc-metric{flex-direction:column;align-items:center;display:flex}.sc-tapnum{font:700 clamp(48px, 14vw, 72px) / 1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--panel-ink);margin-bottom:4px}.sc-math{font:700 15px/1.3 var(--font-body);color:var(--panel-muted);margin:6px 0 0}.sc-num{font:700 clamp(80px, 24vw, 120px) / 1 var(--font-display);font-variant-numeric:tabular-nums;color:var(--accent-ink);text-shadow:0 5px 0 var(--tint);display:inline-block}.sc-label{font:700 18px var(--font-body);color:var(--panel-muted)}.sc-thanks{font:600 18px var(--font-display);color:var(--accent-ink);margin-top:8px}.rank-ribbon{background:var(--btn);color:var(--btn-ink);font:700 22px/1.1 var(--font-display);box-shadow:0 4px 0 var(--btn-shade);border-radius:10px;margin-top:12px;padding:8px 24px;display:inline-block;position:relative}.rank-ribbon:before,.rank-ribbon:after{content:"";background:var(--btn-shade);z-index:-1;width:22px;height:100%;position:absolute;top:10px}.rank-ribbon:before{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,35% 50%);left:-14px}.rank-ribbon:after{clip-path:polygon(0 0,100% 0,65% 50%,100% 100%,0 100%);right:-14px}.stamp{color:#c2185b;font:700 22px/1 var(--font-display);letter-spacing:.04em;opacity:0;background:#ffffffeb;border:4px solid #c2185b;border-radius:12px;padding:4px 10px;position:absolute;top:-16px;right:12px;rotate:9deg;scale:3;box-shadow:0 4px 12px #0000002e}.stamp.in{animation:.45s cubic-bezier(.2,.9,.3,1.3) forwards stamp-in}@keyframes stamp-in{0%{opacity:0;scale:3}70%{opacity:1;scale:.92}to{opacity:1;scale:1}}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.stat{background:var(--panel-soft);text-align:center;border-radius:16px;flex-direction:column;align-items:center;padding:10px 8px;display:flex}.stat:last-child:nth-child(odd){grid-column:span 2}.stat b{font:700 28px/1.1 var(--font-display);color:var(--panel-ink)}.stat span{color:var(--panel-muted);font-size:16px}.new-secrets{flex-wrap:wrap;gap:8px;margin:12px 0 0;padding:0;list-style:none;display:flex}.new-secrets li{background:var(--tint);font:600 17px var(--font-display);border-radius:999px;align-items:center;gap:6px;padding:4px 12px 4px 4px;display:inline-flex}.mini-glyph{background:#fff;border-radius:50%;width:30px;height:30px;padding:3px;display:inline-block}.mini-glyph svg{width:100%;height:100%;display:block}.board-note{color:var(--panel-muted);margin:-4px 0 10px;font-size:16px}.nick{flex-wrap:wrap;align-items:center;gap:4px 10px;margin-bottom:10px;display:flex}.nick-form{width:100%}.nick-as{font-size:17px}.board-list{margin:0;padding:0;list-style:none}.board-row{border-radius:14px;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:46px;padding:5px 10px 5px 6px;font-size:18px;display:grid}.board-row:nth-child(odd):not(.me){background:var(--panel-soft)}.board-row.me{background:var(--tint);box-shadow:inset 0 0 0 2px var(--accent-ink);font-weight:700}.board-row .who{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.board-row .who em{background:var(--accent-ink);color:#fff;font:700 14px var(--font-body);vertical-align:2px;border-radius:999px;margin-left:8px;padding:2px 8px;font-style:normal}.board-row .pts{font:700 22px var(--font-display);font-variant-numeric:tabular-nums}.board-gap{text-align:center;color:var(--panel-muted);line-height:1}.board-empty{color:var(--panel-muted);text-align:center;padding:12px}.make-cta p{color:var(--panel-muted);margin-bottom:12px}.make-cta .btn{width:100%}.results-actions{padding:12px calc(var(--safe-r) + 16px) calc(var(--safe-b) + 14px) calc(var(--safe-l) + 16px);flex:none;justify-content:center;gap:12px;display:flex}.results-actions .btn{white-space:nowrap;flex:1;max-width:280px;padding-left:10px;padding-right:10px}.wordart{font:700 clamp(42px, 12.5vw, 76px) / 1.05 var(--font-display);background:linear-gradient(#ff2d55 0%,#ff9500 22%,#ffd60a 42%,#34c759 62%,#0a84ff 82%,#5e5ce6 100%);color:#0000;filter:drop-shadow(3px 3px #1b1b3a)drop-shadow(4px 5px #00000059);animation:pop-in .7s var(--ease-bounce) both;-webkit-background-clip:text;background-clip:text;padding:0 6px;display:inline-block;transform:skew(-10deg)rotate(-4deg)}[data-retro="1"] .btn,[data-retro="1"] .chip-btn,[data-retro="1"] .occasion,[data-retro="1"] .rank-ribbon{color:#000;font-family:Tahoma, Verdana, "Segoe UI", var(--font-body);background:silver;border-radius:0;font-weight:700;box-shadow:inset -2px -2px #404040,inset 2px 2px #fff,inset -4px -4px gray,inset 4px 4px #dfdfdf}[data-retro="1"] .btn:active:not(:disabled),[data-retro="1"] .chip-btn:active{transform:translate(1px,1px);box-shadow:inset 2px 2px #404040,inset -2px -2px #fff,inset 4px 4px gray}[data-retro="1"] .btn.primary{outline-offset:-1px;outline:2px solid #000}[data-retro="1"] .icon-btn{color:#000;background:silver;border-radius:0;box-shadow:inset -2px -2px #404040,inset 2px 2px #fff,inset -4px -4px gray}[data-retro="1"] .panel,[data-retro="1"] .dialog,[data-retro="1"] .secret-tile,[data-retro="1"] .card-row,[data-retro="1"] .say,[data-retro="1"] .scores-chip{border-radius:0;box-shadow:inset -2px -2px gray,inset 2px 2px #fff,4px 4px #00000059}[data-retro="1"] .rank-ribbon:before,[data-retro="1"] .rank-ribbon:after{display:none}[data-reduced-motion="1"] *,[data-reduced-motion="1"] :before,[data-reduced-motion="1"] :after{transition-duration:.01ms!important;transition-delay:0s!important;animation-duration:.01ms!important;animation-iteration-count:1!important;animation-delay:0s!important}@media (prefers-reduced-motion:reduce){html:not([data-reduced-motion]) *{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}@media (max-height:700px){.btn.big{min-height:58px;font-size:22px}.title-bottom .stack{gap:9px}.say-text{font-size:17px}}@media (max-width:370px){.hud-plate{min-width:76px;height:54px;padding:0 12px;font-size:30px}.hud-timer{width:70px;height:70px}.btn{font-size:19px}}.commerce-page .page-body{max-width:1040px;margin-inline-start:auto;margin-inline-end:auto;padding-bottom:48px}.commerce-lead{max-width:44rem;font-size:1.12rem;line-height:1.5}.offer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0;display:grid}.offer,.commerce-panel,.extras-card{background:var(--surface,#fff);color:#202044;border:2px solid #202044;border-radius:22px;padding:22px;box-shadow:4px 5px #202044}.offer{flex-direction:column;display:flex;position:relative}.offer h2,.commerce-panel h2{margin:0 0 12px;font-size:1.45rem}.commerce-panel h3{margin:22px 0 8px;font-size:1.2rem}.offer-price{margin:4px 0;font-size:2.25rem;font-weight:900}.offer-unit{opacity:.8;margin:0 0 4px;font-weight:700}.offer ul{flex:1;padding-left:22px;line-height:1.55}.offer.featured{background:#fff3af}.offer-tag{color:#ffe58a;font:700 .85rem var(--font-display);background:#202044;border-radius:999px;margin:0;padding:4px 12px;position:absolute;top:-14px;right:18px}.offer .btn{width:100%}.commerce-panel{margin:20px 0}.commerce-panel p,.commerce-panel label,.commerce-panel li{line-height:1.5}.commerce-note{opacity:.85;font-size:.92rem}.commerce-panel input,.commerce-panel select{color:#202044;width:100%;min-height:48px;font:inherit;background:#fff;border:2px solid #777;border-radius:10px;margin:8px 0 12px;padding:10px;display:block}.commerce-status{min-height:24px;line-height:1.4}.commerce-status.error{color:#a31029;background:#fff;border-radius:8px;padding:8px;font-weight:700}.commerce-actions{flex-wrap:wrap;gap:10px;margin-block-start:14px;margin-block-end:14px;display:flex}.commerce-actions .btn{min-height:48px}.commerce-panel .btn.small,.extras-card .btn.small{min-height:44px}.purchase-row{overflow-wrap:anywhere;border-bottom:1px solid #ccc;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:12px 0;display:flex}.purchase-row:last-child{border-bottom:0}.order-status{background:#eceaf6;border-radius:999px;padding:2px 10px;font-size:.9rem;font-weight:700}.order-status.s-paid{color:#1d5a17;background:#d9f7d6}.order-status.s-review{color:#6a4b00;background:#fff0c2}.order-status.s-revoked{color:#7a1027;background:#f3d9de}.extras-list{padding-left:22px}.extras-list li{margin-bottom:8px}.extras-card{align-items:center;gap:16px;margin:8px 0 20px;display:flex}.extras-card .thumb{background:#eceaf6;border-radius:50%;flex:none}.extras-card h2{overflow-wrap:anywhere;margin:0;font-size:1.4rem}.extras-card .commerce-actions{margin:8px 0 0}.effect-chips{flex-wrap:wrap;gap:10px;display:flex}.effect-chip{color:#202044;min-height:48px;font:700 1rem var(--font-display);cursor:pointer;background:#fff;border:2px solid #202044;border-radius:999px;align-items:center;gap:8px;padding:0 18px;display:inline-flex}.effect-chip .ico{width:20px;height:20px}.effect-chip .ico svg{width:100%;height:100%;display:block}.effect-chip[aria-checked=true]{color:#ffe58a;background:#202044}.saved-greeting{margin:8px 0}.saved-greeting .btn{margin-top:8px}.greeting-player{width:min(100%,340px);height:40px}.party-poster{aspect-ratio:1080/1350;background:#eceaf6;border-radius:14px;width:min(100%,300px);height:auto;margin:12px 0;display:block;box-shadow:0 6px 18px #0003}.premium-extras{flex-direction:column;align-items:center;gap:6px;width:100%;margin-bottom:8px;display:flex}.greeting-btn{color:#3a2a00;background:linear-gradient(#ffe58a,#f5b800);align-items:center;gap:10px;min-height:52px;padding:0 22px;display:inline-flex;box-shadow:0 4px #a87a00}.greeting-btn .ico{width:22px;height:22px}.greeting-btn .ico svg{width:100%;height:100%;display:block}.greeting-btn.playing{animation:1.2s ease-in-out infinite greeting-pulse}@keyframes greeting-pulse{50%{box-shadow:0 4px #a87a00,0 0 0 8px #ffd75e59}}.premium-banner{color:#202044;text-align:center;background:#ffffffe6;border-radius:999px;margin:2px 0;padding:4px 12px;font-size:.95rem;font-weight:700}.env-special .envelope{--btn:#f5c63a;--btn-shade:#b98608}.env-special .env-flap,.env-special .env-pocket{background-image:linear-gradient(135deg,#ffffff73,#fff0 45%,#ffffff4d 70%,#0000000d)}.env-special .env-seal{color:#6a4b00;background:linear-gradient(#ffe58a,#e0a100)}.env-badge{color:#3a2a00;font:700 1.05rem var(--font-display);background:linear-gradient(#ffe58a,#f5b800);border-radius:999px;align-items:center;gap:8px;margin:0;padding:6px 16px;display:inline-flex;box-shadow:0 3px #a87a00}.env-badge .ico{width:20px;height:20px}.env-badge .ico svg{width:100%;height:100%;display:block}.celebration{pointer-events:none;z-index:6;position:absolute;top:0;bottom:0;left:0;right:0;overflow:hidden}.celebration i{top:-40px;left:var(--x);width:var(--size);height:var(--size);animation:fx-fall var(--dur) cubic-bezier(.3, .2, .6, 1) var(--delay) both;position:absolute}.celebration i svg{filter:drop-shadow(0 2px 2px #0000002e);width:100%;height:100%;display:block}.celebration.fx-confetti i{height:calc(var(--size) * 1.5);background:currentColor;border-radius:2px}.celebration.fx-confetti i.alt{height:var(--size);border-radius:50%}.celebration.fx-hearts i{animation-name:fx-rise;top:auto;bottom:-40px}.celebration.fx-stars i.alt{animation-name:fx-fall,fx-twinkle;animation-duration:var(--dur), .6s;animation-iteration-count:1,infinite}@keyframes fx-fall{0%{opacity:0;transform:translate(0)rotate(0)}8%{opacity:1}85%{opacity:1}to{transform:translate(var(--drift), 110vh) rotate(var(--spin));opacity:0}}@keyframes fx-rise{0%{opacity:0;transform:translate(0)rotate(0)scale(.6)}10%{opacity:1}80%{opacity:1}to{transform:translate(var(--drift), -110vh) rotate(var(--spin)) scale(1.1);opacity:0}}@keyframes fx-twinkle{50%{scale:.7}}@media (prefers-reduced-motion:reduce){.celebration{display:none}.greeting-btn.playing{animation:none}}html[data-reduced-motion="1"] .celebration{display:none}@media (max-width:600px){.offer-grid{grid-template-columns:1fr;gap:22px}.offer,.commerce-panel{padding:18px}.extras-card{padding:14px}}.chip-btn[hidden]{display:none}.mk{--mk-bg1:#ff8fc8;--mk-bg2:#7cc8ff;--mk-accent:#d81b65;--mk-ink:#2a1240;--mk-on-accent:#fff;--mk-paper:#fff;--mk-paper-ink:#1b1b3a;--mk-display:var(--font-display,"Fredoka", system-ui, sans-serif);--mk-body:var(--font-body,"Nunito", system-ui, sans-serif);z-index:20;color:var(--mk-ink);background:linear-gradient(180deg, var(--mk-bg1) 0%, var(--mk-bg2) 100%);font-family:var(--mk-body);pointer-events:auto;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;flex-direction:column;font-size:17px;transition:background-color .3s;display:flex;position:absolute;top:0;bottom:0;left:0;right:0}.mk[hidden],.mk [hidden]{display:none!important}.mk *,.mk :before,.mk :after{box-sizing:border-box}.mk-top{padding:calc(10px + env(safe-area-inset-top)) 12px 6px;flex:none;align-items:center;gap:12px;width:100%;max-width:560px;margin:0 auto;display:flex}.mk-progress{flex:1;gap:5px;display:flex}.mk-seg{background:var(--mk-ink);opacity:.25;border-radius:4px;flex:1;height:8px;transition:opacity .25s}.mk-seg.on{opacity:1}.mk-stepnum{font:700 16px/1 var(--mk-display);text-align:right;min-width:2.4em}.mk-iconbtn{background:var(--mk-paper);width:48px;height:48px;color:var(--mk-paper-ink);cursor:pointer;border:0;border-radius:50%;flex:none;justify-content:center;align-items:center;padding:0;display:inline-flex;box-shadow:0 3px #0000002e}.mk-iconbtn-sm{width:44px;height:44px}.mk-icon{flex:none;width:24px;height:24px;display:inline-flex}.mk-icon svg{width:100%;height:100%}.mk-btn{min-height:56px;font:600 20px/1.1 var(--mk-display);letter-spacing:.01em;cursor:pointer;border:0;border-radius:999px;justify-content:center;align-items:center;gap:10px;padding:0 24px;transition:transform 80ms,box-shadow 80ms,opacity .2s;display:inline-flex}.mk-btn:active:not(:disabled),.mk-iconbtn:active,.mk-chip:active{transform:translateY(2px);box-shadow:0 1px #0003}.mk-primary{background:var(--mk-accent);color:var(--mk-on-accent);box-shadow:0 4px #00000047,inset 0 0 0 2px #00000014}.mk-secondary{background:var(--mk-paper);color:var(--mk-paper-ink);box-shadow:0 4px #0000002e}.mk-ghost{color:var(--mk-ink);box-shadow:inset 0 0 0 2.5px var(--mk-ink);background:0 0}.mk-btn[hidden]{display:none}.mk-special{color:#3a2a00;background:linear-gradient(#ffe58a,#f5b800);box-shadow:0 4px #a87a00,inset 0 0 0 2px #fff6}.mk-btn:disabled{opacity:.45;cursor:default;box-shadow:none}.mk-btn.mk-blocked{opacity:.5;box-shadow:none}.mk-nudge{animation:.5s ease-in-out mk-nudge}.mk-btn.mk-busy{opacity:.8}.mk-btn.mk-busy:after{content:"";border:3px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite mk-spin}.mk-ready{position:relative}.mk-ready:after{content:"";border-radius:inherit;opacity:0;pointer-events:none;border:3px solid;animation:1.6s ease-out .4s infinite mk-ring;position:absolute;top:-4px;bottom:-4px;left:-4px;right:-4px}.mk :focus-visible{outline:3px solid var(--mk-ink);outline-offset:3px}.mk .mk-h1:focus{outline:none}.mk .mk-h1:focus-visible{outline:none}.mk-body{overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;align-items:center;min-height:0;padding:6px 16px 16px;display:flex;overflow:hidden auto}.mk-step{flex-direction:column;align-items:stretch;gap:14px;width:100%;max-width:520px;display:flex}.mk-in-fwd{animation:.24s ease-out mk-in-fwd}.mk-in-back{animation:.24s ease-out mk-in-back}.mk-h1{font:700 30px/1.12 var(--mk-display);text-align:center;overflow-wrap:anywhere;margin:4px 0 0}.mk-lead{text-align:center;margin:-4px 0 0;font-size:18px;line-height:1.35}.mk-note{text-align:center;opacity:.92;margin:0;font-size:16px;line-height:1.35}.mk-actions{flex-direction:column;gap:12px;display:flex}.mk-row{gap:12px;display:flex}.mk-row>*{flex:1 1 0;min-width:0;padding:0 12px}.mk-foot{padding:10px 16px calc(14px + env(safe-area-inset-bottom));flex:none;justify-content:center;display:flex}.mk-foot .mk-btn{width:100%;max-width:520px;min-height:60px;font-size:22px}.mk-photo-slot{aspect-ratio:1;background:#ffffff59;border-radius:50%;justify-content:center;align-self:center;align-items:center;width:min(62vw,34vh,240px);margin:6px 0;display:flex;overflow:hidden;box-shadow:inset 0 0 0 4px #ffffffd9,0 6px 18px #0000002e}.mk-photo-slot svg{fill:none;width:70%;height:70%;stroke:var(--mk-ink);stroke-width:3.5px;stroke-linecap:round;stroke-dasharray:7 6;opacity:.75}.mk-photo-slot svg path:first-of-type{stroke-dasharray:none;stroke-width:6px}.mk-photo-slot svg path:nth-of-type(2){stroke-dasharray:none}.mk-photo-thumb{width:100%;height:100%;display:block}.mk-loading{animation:1s ease-in-out infinite mk-pulse}.mk-file{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.mk-stage{width:min(100%,max(220px,100vh - 380px),520px);aspect-ratio:1;touch-action:none;width:min(100%,max(220px,100dvh - 380px),520px);box-shadow:0 0 0 4px var(--mk-paper), 0 8px 22px #00000047;cursor:grab;background:#ece7f3;border-radius:22px;align-self:center;position:relative;overflow:hidden}.mk-stage.mk-grabbing{cursor:grabbing}.mk-stage-photo,.mk-guide{pointer-events:none;width:100%;height:100%;display:block;position:absolute;top:0;bottom:0;left:0;right:0}.mk-guide .mk-dim{fill:#100a2480}.mk-guide .mk-oval,.mk-guide .mk-oval-shadow{fill:none;vector-effect:non-scaling-stroke}.mk-guide .mk-oval{stroke:#fff;stroke-width:3px;stroke-dasharray:10 7}.mk-guide .mk-oval-shadow{stroke:#00000059;stroke-width:6px}.mk-guide .mk-marks path,.mk-guide .mk-marks circle{fill:none;stroke-linecap:round;stroke-linejoin:round;vector-effect:non-scaling-stroke}.mk-guide .mk-marks-line path,.mk-guide .mk-marks-line circle{stroke:#fff;stroke-width:2.5px}.mk-guide .mk-marks-shadow path,.mk-guide .mk-marks-shadow circle{stroke:#0006;stroke-width:5px}.mk-guide .mk-marks .mk-dot{fill:#fff}.mk-guide .mk-marks-shadow .mk-dot{fill:#0006}.mk-stage.mk-fine .mk-marks{opacity:0}.mk-pins{pointer-events:none;position:absolute;top:0;bottom:0;left:0;right:0}.mk-pin{pointer-events:auto;touch-action:none;cursor:move;filter:drop-shadow(0 2px 3px #00000073);background:0 0;border:0;border-radius:50%;width:48px;height:48px;margin:-24px 0 0 -24px;padding:0;position:absolute}.mk-pin svg{width:100%;height:100%;overflow:visible}.mk-pin .mk-pin-ring{fill:#ffffff2e;stroke:#fff;stroke-width:1.5px}.mk-pin .mk-pin-ring-shadow{fill:none;stroke:#00000080;stroke-width:3px}.mk-pin path,.mk-pin .mk-dot{fill:none;stroke-linecap:round;stroke-linejoin:round}.mk-pin .mk-pin-halo path,.mk-pin .mk-pin-halo .mk-dot{stroke:#fff;stroke-width:3.4px}.mk-pin .mk-pin-glyph path,.mk-pin .mk-pin-glyph .mk-dot{stroke:var(--mk-paper-ink);stroke-width:1.5px}.mk-pin .mk-pin-glyph .mk-dot{fill:var(--mk-paper-ink)}.mk-pin.mk-dragging{transform:scale(1.25)}.mk-zoomrow{align-self:center;align-items:center;gap:10px;width:min(100%,420px);display:flex}.mk-zoom{min-width:0;height:44px;accent-color:var(--mk-paper-ink);cursor:pointer;background:0 0;flex:1}.mk-chips{flex-wrap:wrap;gap:8px;display:flex}.mk-chips-center{justify-content:center}.mk-chip{background:var(--mk-paper);min-height:44px;color:var(--mk-paper-ink);font:600 17px/1.1 var(--mk-display);cursor:pointer;overflow-wrap:anywhere;text-align:left;border:0;border-radius:999px;align-items:center;gap:6px;max-width:100%;padding:0 16px;display:inline-flex;box-shadow:0 3px #00000026}.mk-chip .mk-icon{width:20px;height:20px}.mk-chip[aria-pressed=true]{background:var(--mk-accent);color:var(--mk-on-accent);box-shadow:0 3px #00000047,inset 0 0 0 2px #0000001a}.mk-label{font:600 18px/1.2 var(--mk-display);margin:6px 2px -6px}.mk-labelrow{justify-content:space-between;align-items:baseline;margin:6px 2px -6px;display:flex}.mk-labelrow .mk-label{margin:0}.mk-count{font-variant-numeric:tabular-nums;font-size:16px}.mk-input{background:var(--mk-paper);width:100%;min-height:56px;color:var(--mk-paper-ink);font:600 22px/1.25 var(--mk-display);-webkit-user-select:text;user-select:text;touch-action:manipulation;border:0;border-radius:16px;padding:12px 16px;box-shadow:0 3px #00000026}.mk-input::placeholder{color:#6b6880;opacity:1}.mk-input:focus{outline:3px solid var(--mk-ink);outline-offset:3px}.mk-textarea{resize:none;min-height:132px;font:600 20px/1.35 var(--mk-body)}.mk-themes{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.mk-theme{background:var(--mk-paper);color:var(--mk-paper-ink);cursor:pointer;text-align:center;border:0;border-radius:16px;flex-direction:column;padding:0;transition:transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 3px #0000002e}.mk-theme-art{aspect-ratio:1;width:100%;display:block}.mk-theme-label{min-height:2.5em;font:600 16px/1.1 var(--mk-display);letter-spacing:-.01em;overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;justify-content:center;align-items:center;padding:4px 3px 6px;display:flex}.mk-theme-check{background:var(--mk-paper-ink);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:none;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #fff}.mk-theme-check .mk-icon{width:20px;height:20px}.mk-theme[aria-checked=true]{outline:4px solid var(--mk-ink);outline-offset:2px;transform:scale(1.03)}.mk-theme[aria-checked=true] .mk-theme-check{display:flex}.mk-card{isolation:isolate;color:var(--mk-card-ink,#fff);text-align:center;box-shadow:0 0 0 4px var(--mk-paper), 0 10px 26px #00000040;border-radius:24px;flex-direction:column;align-items:center;gap:8px;padding:18px 16px 20px;display:flex;position:relative;overflow:hidden}.mk-card-bg{z-index:-1;width:100%;height:100%;position:absolute;top:0;bottom:0;left:0;right:0}.mk-card-title,.mk-card-occasion{text-shadow:0 0 6px var(--mk-card-halo,transparent), 0 0 12px var(--mk-card-halo,transparent)}.mk-card-title{font:700 30px/1.1 var(--mk-display);overflow-wrap:anywhere}.mk-card-occasion{font:600 20px/1.2 var(--mk-display)}.mk-card-face{aspect-ratio:1;background:#ece7f3;border-radius:20px;width:min(52vw,26vh,220px);margin:6px 0;overflow:hidden;box-shadow:0 0 0 4px #fff,0 6px 16px #00000040}.mk-card-face canvas{width:100%;height:100%;display:block}.mk-card-words{background:var(--mk-card-scrim,transparent);border-radius:16px;flex-direction:column;align-items:center;gap:6px;max-width:100%;padding:10px 14px;display:flex}.mk-card-msg{white-space:pre-line;overflow-wrap:anywhere;max-width:30ch;font-size:18px;line-height:1.35}.mk-card-from{font:600 18px/1.2 var(--mk-display);overflow-wrap:anywhere}.mk-consent{background:var(--mk-paper);color:var(--mk-paper-ink);cursor:pointer;border-radius:16px;align-items:flex-start;gap:14px;min-height:56px;padding:14px 16px;font-size:17px;line-height:1.35;display:flex;box-shadow:0 3px #00000026}.mk-check{width:28px;height:28px;accent-color:var(--mk-paper-ink);cursor:pointer;flex:none;margin:0}.mk-share-face{border-radius:50%;align-self:center;width:132px;height:132px;margin-top:8px;animation:.5s cubic-bezier(.3,1.6,.5,1) mk-pop;box-shadow:0 0 0 5px #fff,0 8px 20px #00000040}.mk-link{border:3px dashed var(--mk-paper-ink);background:var(--mk-paper);width:100%;min-height:64px;color:var(--mk-paper-ink);font:700 22px/1.25 var(--mk-display);overflow-wrap:anywhere;cursor:copy;-webkit-user-select:all;user-select:all;border-radius:18px;padding:16px}@media (min-width:600px){.mk-themes{grid-template-columns:repeat(4,minmax(0,1fr))}.mk-h1{font-size:34px}}@media (min-width:700px) and (min-height:800px){.mk-step{max-width:600px;margin:auto 0}.mk-foot .mk-btn{max-width:600px}.mk-top{max-width:640px}}@media (max-height:700px){.mk-h1{font-size:26px}.mk-step{gap:10px}.mk-share-face{width:96px;height:96px}}@keyframes mk-in-fwd{0%{opacity:0;transform:translate(24px)}}@keyframes mk-in-back{0%{opacity:0;transform:translate(-24px)}}@keyframes mk-ring{0%{opacity:.55;transform:scale(1)}to{opacity:0;transform:scale(1.08)}}@keyframes mk-pulse{50%{transform:scale(1.03)}}@keyframes mk-pop{0%{opacity:0;transform:scale(.3)}}@keyframes mk-nudge{20%,60%{transform:translate(-8px)}40%,80%{transform:translate(8px)}}@keyframes mk-spin{to{transform:rotate(360deg)}}.mk-reduced *,.mk-reduced :before,.mk-reduced :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.mk *,.mk :before,.mk :after{transition:none!important;animation:none!important}}
