@font-face{font-family:Mali;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/126f2f75be3c7bb6-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Mali;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/41e9d3fa565a85ba-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Mali;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/126aa354e253827e-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Mali;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/58b1cd124e956822-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Mali;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/c9043466cd47c51f-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Mali;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/dd44edceb9149d86-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Mali;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/fab9e784da167dcd-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Mali;font-style:normal;font-weight:500;font-display:swap;src:url(/_next/static/media/42c7067d6c93c7cd-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Mali;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/206db1eae2c70dae-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Mali;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/3e7b82c8892a7c65-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Mali;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/ed1889f33f27d4d4-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Mali;font-style:normal;font-weight:600;font-display:swap;src:url(/_next/static/media/26be2010d38c17f9-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Mali;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/045d0fc015ef4fe4-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Mali;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6778a01349e0f810-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Mali;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/d829eb1ef5c99567-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,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:Mali;font-style:normal;font-weight:700;font-display:swap;src:url(/_next/static/media/6b335a409551c708-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Mali Fallback;src:local("Arial");ascent-override:93.81%;descent-override:22.33%;line-gap-override:0.00%;size-adjust:111.93%}.__className_85d729{font-family:Mali,Mali Fallback;font-style:normal}.__variable_85d729{--font-mali:"Mali","Mali Fallback"}*{box-sizing:border-box}:root{--bg:#f7f2e8;--bg-slides:#f9efe6;--panel:#fffdf8;--panel-inner:#fffefb;--board:#fbf6ec;--chip:#f3ead8;--text:#5c4a3a;--text-soft:#7a6651;--muted:#9c8b74;--placeholder:#b5a68f;--line:#e6dac4;--line-soft:#ece2cf;--line-input:#e3d6bd;--line-quiet:#d9cbb2;--accent:#d8b784;--accent-hover:#cfaa72;--accent-shadow:#c4a26f;--pink:#e8a0b4;--pink-soft:#fbe9ee;--tape:rgba(240,168,187,0.55);--danger:#b05a45;--danger-line:#e2a893;--danger-bg:#fff5f1;--r-card:24px 20px 26px 18px/20px 26px 18px 24px;--r-bar:20px 18px 22px 16px/18px 22px 16px 20px;--r-panel:18px 16px 20px 14px/16px 20px 14px 18px;--r-input:14px 12px 15px 11px/12px 15px 11px 14px;--r-btn:16px 14px 17px 13px/14px 17px 13px 16px;--r-sm:12px 10px 13px 9px/10px 13px 9px 12px;--dots:radial-gradient(rgba(139,111,87,0.1) 1px,transparent 1.2px)}body,html{margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font-mali),"Mali","Noto Sans Thai",system-ui,sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased}a{color:#8b6f57;text-decoration:none}a:hover{color:var(--text);text-decoration:underline;-webkit-text-decoration-style:wavy;text-decoration-style:wavy}button,input,textarea{font-family:inherit}input::placeholder,textarea::placeholder{color:var(--placeholder)}input:focus,textarea:focus{outline:none;border-color:var(--accent)!important;box-shadow:0 0 0 3px rgba(216,183,132,.25)}.page{min-height:100vh;background:var(--bg);background-image:var(--dots);background-size:18px 18px;padding:14px 12px 56px;display:flex;flex-direction:column;align-items:center}.shell{width:100%;max-width:640px}.card,.shell{display:flex;flex-direction:column;gap:14px}.card{background:var(--panel);border:1.5px solid var(--line);border-radius:var(--r-card);box-shadow:0 2px 0 var(--line);padding:20px 18px 18px;margin:0}.panel{background:var(--panel-inner);border:1.5px solid var(--line-soft);border-radius:var(--r-panel);padding:14px;display:flex;flex-direction:column;gap:10px}.topbar{justify-content:space-between;gap:12px;background:var(--panel);border:1.5px solid var(--line);border-radius:var(--r-bar);box-shadow:0 2px 0 var(--line);padding:10px 16px 10px 12px}.topbar,.topbar-title{display:flex;align-items:center}.topbar-title{gap:6px;font-weight:700;font-size:19px}.banner{width:100%;height:auto;display:block;border-radius:22px}.footnote{display:flex;align-items:center;justify-content:center;gap:12px;color:var(--muted);font-size:13.5px;padding-top:22px}.footnote i{width:36px;height:1.5px;background:var(--line-quiet)}.ic{display:inline-block;flex:none;width:24px;height:24px;background-color:currentColor;-webkit-mask:var(--ic) center /contain no-repeat;mask:var(--ic) center /contain no-repeat}.ic-cake{--ic:url(/assets/cake.webp)}.ic-gift{--ic:url(/assets/gift.webp)}.ic-heart{--ic:url(/assets/heart.webp)}.ic-image{--ic:url(/assets/image.webp)}.ic-message{--ic:url(/assets/message.webp)}.ic-pencil{--ic:url(/assets/pencil.webp)}.ic-person{--ic:url(/assets/person.webp)}.ic-pink{color:var(--pink)}.badge{width:40px;height:40px;border-radius:50%;background:var(--chip);display:flex;align-items:center;justify-content:center;flex:none;color:#8b6f57}.badge-lg{width:52px;height:52px}.badge-lg .ic{width:30px;height:30px}.badge-pink{background:var(--pink-soft)}.head{display:flex;align-items:flex-start;gap:10px}.head h1,.head h2{font-weight:700;font-size:22px;line-height:1.25;margin:0}.head p{margin:0;font-size:14px;color:var(--muted);gap:4px;flex-wrap:wrap}.head p,.label{display:flex;align-items:center}.label{gap:8px;font-weight:700;font-size:16.5px}.label .req{color:var(--accent)}.label .opt{color:var(--muted);font-size:15px;font-weight:400}.input,.textarea{width:100%;min-height:48px;padding:10px 14px;background:var(--panel);border:1.5px solid var(--line-input);border-radius:var(--r-input);color:var(--text);font-size:15px}.textarea{min-height:150px;resize:vertical;padding:12px 14px;line-height:1.6}.input:disabled{opacity:.45}.counter{font-size:12.5px;text-align:right;color:var(--muted)}.counter.over{color:var(--danger)}.check{display:flex;align-items:center;gap:10px;cursor:pointer;min-height:44px;padding:2px 4px;-webkit-user-select:none;-moz-user-select:none;user-select:none;font-size:14.5px;color:var(--text-soft)}.check input{position:absolute;opacity:0;width:0;height:0}.check .box{width:24px;height:24px;flex:none;border:2px solid #b89a72;border-radius:7px 6px 8px 5px/6px 8px 5px 7px;background:var(--panel);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;line-height:1}.check input:checked+.box{background:var(--accent)}.check input:focus-visible+.box{box-shadow:0 0 0 3px rgba(216,183,132,.35)}.row{display:flex;gap:10px;flex-wrap:wrap}.btn{min-height:48px;padding:10px 18px;border-radius:var(--r-btn);border:none;background:var(--accent);color:#fff;font-weight:700;font-size:15.5px;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;box-shadow:0 3px 0 var(--accent-shadow)}.btn,.btn:hover{text-decoration:none}.btn:hover{background:var(--accent-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-cta{border-radius:999px;min-height:54px;padding:12px 22px;font-size:17px}.btn-ghost{background:transparent;color:#8b6f57;border:1.5px solid var(--line-quiet);font-weight:600;box-shadow:none}.btn-ghost:hover,.btn-soft{background:var(--chip)}.btn-soft{color:#8b6f57;border:1.5px solid var(--line-input);font-weight:600;font-size:14px;min-height:44px;border-radius:var(--r-sm);padding:0 14px;box-shadow:none}.btn-soft:hover{background:#ecdfc6}.btn-danger{background:var(--danger-line);color:#fff;box-shadow:none;border-radius:var(--r-sm);min-height:44px;font-size:14.5px}.btn-danger:hover{background:#d4907a}.btn-danger-ghost{background:transparent;color:var(--danger);border:1.5px solid var(--danger-line);box-shadow:none;border-radius:var(--r-sm);min-height:40px;font-size:13.5px;font-weight:600;padding:0 14px}.grow{flex:1 1;min-width:140px}.chip{border-radius:999px;padding:3px 10px;font-size:12.5px;color:var(--muted);white-space:nowrap}.byline,.chip{display:inline-flex;align-items:center;gap:6px;background:var(--chip)}.byline{border:1.5px solid var(--line);border-radius:999px;padding:4px 14px 4px 8px;font-size:13.5px;color:#8b6f57;transform:rotate(-1deg)}.alert{background:var(--danger-bg);border:1.5px dashed var(--danger-line);border-radius:14px;padding:10px 14px;font-size:14px;color:var(--danger);font-weight:600}.alert-row{display:flex;align-items:center;gap:12px;border-radius:var(--r-bar);padding:14px 16px}.alert-row img{width:56px;height:56px;flex:none}.alert-row .sub{font-size:13px;color:var(--muted);font-weight:400}.live{width:8px;height:8px;border-radius:50%;background:#8fc79a;animation:pulse 1.6s ease-in-out infinite}.board{position:relative;width:100%;aspect-ratio:3/2;container-type:inline-size;background:var(--board);border:2px dotted var(--accent);border-radius:16px;overflow:hidden}.board-grain{position:absolute;inset:0;border-radius:inherit;background-image:radial-gradient(rgba(139,111,87,.1) 1px,transparent 1.2px);background-size:5cqw 5cqw}.board-note{position:absolute;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.5;white-space:pre-wrap;overflow-wrap:break-word;word-break:normal;pointer-events:none;color:var(--text);font-weight:500}.board-slide{background:var(--panel);border:.25cqw dotted var(--accent);border-radius:1.6cqw 1.3cqw 1.8cqw 1.2cqw/1.3cqw 1.8cqw 1.2cqw 1.6cqw;box-shadow:0 1.4cqw 3cqw rgba(92,74,58,.14),0 .3cqw 0 var(--line);overflow:visible}.board-slide .board-grain{overflow:hidden;background-image:radial-gradient(rgba(139,111,87,.08) .12cqw,transparent .16cqw);background-size:3cqw 3cqw}.polaroid{position:relative;width:100%;padding:1.2cqw 1.2cqw 5.5cqw;background:var(--panel);border-radius:.4cqw;box-shadow:0 1.2cqw 2.4cqw rgba(92,74,58,.22);transform-origin:50% 50%}.polaroid-slot,.polaroid-tape{position:absolute}.polaroid-tape{top:-1.6cqw;left:50%;width:30%;height:3.2cqw;transform:translateX(-50%) rotate(-1.5deg);background:var(--tape);border-left:1px solid rgba(255,255,255,.6);border-right:1px solid rgba(255,255,255,.6)}.polaroid-window{position:relative;width:100%;overflow:hidden;background:#efe6d6}.polaroid-window img{display:block;width:100%;height:100%;object-fit:cover}.polaroid-window.zoomable{cursor:zoom-in}.board-chibi{width:100%;height:auto;display:block;filter:drop-shadow(0 .8cqw 1.2cqw rgba(92,74,58,.25));transform-origin:50% 50%}.washi{position:absolute;box-shadow:0 .2cqw .4cqw rgba(92,74,58,.12)}.washi-1{top:-1.4cqw;left:4cqw;width:9cqw;height:2.8cqw;transform:rotate(-8deg);background:rgba(247,190,205,.85);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.35) 0 .6cqw,transparent .6cqw 1.4cqw)}.washi-2{top:-1.2cqw;right:5cqw;width:8cqw;height:2.6cqw;transform:rotate(6deg);background:rgba(196,220,247,.85);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 .5cqw,transparent .5cqw 1.2cqw)}.washi-3{bottom:-1.2cqw;left:8cqw;width:7.5cqw;height:2.4cqw;transform:rotate(5deg);background:rgba(255,224,170,.9);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 .5cqw,transparent .5cqw 1.2cqw)}.washi-4{bottom:-1.4cqw;right:3cqw;width:9cqw;height:2.8cqw;transform:rotate(-5deg);background:rgba(205,232,205,.85);background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.4) 0 .6cqw,transparent .6cqw 1.4cqw)}.quote{background:var(--board);border:2px dotted var(--accent);border-radius:16px;padding:18px;white-space:pre-wrap;font-size:16px;line-height:1.6}.dropzone,.quote{text-align:center}.dropzone{flex:1 1;min-width:0;min-height:110px;border:2px dashed var(--line-quiet);border-radius:var(--r-sm);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;padding:14px;background:var(--panel);color:#8b6f57}.dropzone:hover{background:var(--board);border-color:var(--accent)}.dropzone .ic{width:40px;height:40px}.dropzone b{font-weight:600;font-size:15px}.dropzone span{font-size:12.5px;color:var(--muted)}.polaroid-hint{flex:none;width:78px;height:92px;background:var(--panel);border:1.5px solid var(--line);border-radius:3px;padding:6px 6px 18px;transform:rotate(6deg);box-shadow:0 3px 8px rgba(92,74,58,.15);display:flex}.polaroid-hint i{flex:1 1;background:repeating-linear-gradient(135deg,#efe6d6 0 6px,#f7f0e2 6px 12px);border-radius:2px}.polaroid-thumb{flex:none;width:84px;background:var(--panel);border:1.5px solid var(--line);border-radius:3px;padding:6px 6px 18px;transform:rotate(-4deg);box-shadow:0 3px 8px rgba(92,74,58,.15)}.polaroid-thumb div{width:100%;aspect-ratio:1;overflow:hidden;background:#efe6d6}.polaroid-thumb img{width:100%;height:100%;object-fit:cover;display:block}.hint{font-size:12.5px;color:var(--muted);line-height:1.5}.hint-error{font-size:13px;color:var(--danger)}.turnstile{min-height:65px;border:1.5px dashed var(--line-quiet);border-radius:12px;display:flex;padding:8px 14px;background:var(--board)}.stats-card,.turnstile{align-items:center;justify-content:center}.stats-card{min-height:60vh;text-align:center;gap:4px;padding:22px 12px 20px}.count-wrap{position:relative;width:100%;display:flex;flex-direction:column;align-items:center}.count{display:block;width:100%;font-size:clamp(140px,42vmin,360px);font-weight:700;line-height:1.3;letter-spacing:-.03em;color:#8b6f57;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;overflow-wrap:anywhere}.count-unit{font-size:22px;font-weight:600;color:var(--muted);margin-top:6px}.count-heart{position:absolute;top:-6px;right:4%;width:40px;height:40px;transform:rotate(12deg)}.pill{font-size:14.5px;color:var(--text-soft);background:var(--chip);border-radius:999px;padding:4px 14px}.stage-page{position:relative;min-height:100vh;width:100%;overflow:hidden;background:var(--bg-slides);background-image:radial-gradient(rgba(139,111,87,.12) 1.2px,transparent 1.4px),radial-gradient(ellipse at 12% 18%,rgba(251,214,222,.55),transparent 55%),radial-gradient(ellipse at 88% 84%,rgba(255,228,196,.6),transparent 55%),radial-gradient(ellipse at 80% 12%,rgba(220,232,255,.45),transparent 50%);background-size:22px 22px,100% 100%,100% 100%,100% 100%}.stage{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3vh 6vw 8vh;cursor:pointer;gap:2vh}.stage-board{position:relative;width:min(86vw,112vh);flex:none}.stage-name{font-size:clamp(15px,1.6vw,24px);font-weight:600}.stage-name .ic{width:1.2em;height:1.2em}.centered{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;text-align:center;padding:24px}.centered img{width:120px;height:120px}.centered h1{font-weight:700;font-size:28px;margin:0}.centered p{font-size:16px;margin:0}.centered p,.hud{color:var(--muted)}.hud{position:fixed;left:0;right:0;bottom:16px;display:flex;justify-content:space-between;align-items:center;padding:0 20px;font-size:13.5px;pointer-events:none}.hud span{pointer-events:auto;background:rgba(255,253,248,.9);border:1.5px solid var(--line);border-radius:999px;padding:4px 14px}.hud .now{font-weight:600;color:#8b6f57}.viewer{position:fixed;inset:0;z-index:50;background:rgba(60,45,35,.82);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none;animation:fadeUp .25s ease-out both}.viewer-img{position:absolute;left:50%;top:50%;transform-origin:50% 50%;will-change:transform;line-height:0}.viewer-img img{display:block;width:92vw;height:86vh;object-fit:contain;border-radius:6px;filter:drop-shadow(0 2vmin 4vmin rgba(0,0,0,.45))}.viewer-tools{position:absolute;top:18px;right:18px;display:flex;gap:8px;align-items:center}.viewer-tools button,.viewer-zoom{min-height:44px;background:rgba(255,253,248,.95);color:#8b6f57;border:1.5px solid var(--line);border-radius:var(--r-sm);font-weight:600;font-size:14px;cursor:pointer;padding:0 14px}.viewer-tools button.sq{min-width:44px;padding:0;font-size:22px;font-weight:700;line-height:1}.viewer-tools button:hover{background:var(--chip)}.viewer-zoom{min-width:64px;text-align:center;border-radius:999px;padding:8px 12px;cursor:default}.viewer-tools .close{background:var(--accent);color:#fff;border:none;box-shadow:0 3px 0 var(--accent-shadow);font-size:20px}.viewer-tools .close:hover{background:var(--accent-hover)}.viewer-help{position:absolute;bottom:18px;left:0;right:0;display:flex;justify-content:center;pointer-events:none}.viewer-help span{background:rgba(255,253,248,.9);border:1.5px solid var(--line);border-radius:999px;padding:4px 14px;font-size:13px;color:var(--muted)}@keyframes wobble{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.35}}@keyframes fadeUp{0%{opacity:0;transform:translateY(3vh)}to{opacity:1;transform:translateY(0)}}@keyframes fallIn{0%{opacity:0;transform:translateY(-60vh)}55%{opacity:1;transform:translateY(2.5vh)}78%{transform:translateY(-1.2vh)}to{opacity:1;transform:translateY(0)}}@keyframes fallSwing{0%{opacity:0;transform:translateY(-70vh) rotate(-14deg)}55%{opacity:1;transform:translateY(2vh) rotate(5deg)}78%{transform:translateY(-1vh) rotate(-2deg)}to{opacity:1;transform:translateY(0) rotate(0deg)}}.anim-wobble{animation:wobble 1.6s ease-in-out infinite}.anim-fall{animation:fallIn .75s cubic-bezier(.22,.9,.3,1) both}.anim-fall-late{animation:fallIn .7s cubic-bezier(.22,.9,.3,1) .45s both}.anim-swing{animation:fallSwing .85s cubic-bezier(.22,.9,.3,1) .25s both}.anim-note{animation:fadeUp .6s ease-out .55s both}@media (prefers-reduced-motion:reduce){.anim-fall,.anim-fall-late,.anim-note,.anim-swing,.anim-wobble,.live,.viewer{animation:none!important}}