*{box-sizing:border-box;margin:0;padding:0}html,body{background:#2a1a12;height:100%;overflow:hidden}#wrap{justify-content:center;align-items:center;display:flex;position:fixed;inset:0}#stage{--accent:#ff6b35;--ink:#4a2a1a;--panel:#fffaf2eb;color:var(--ink);font-family:Be Vietnam Pro,system-ui,sans-serif;position:relative;overflow:hidden}#stage.shake{animation:.6s cubic-bezier(.3,.7,.4,1) shake}@keyframes shake{0%,to{translate:0}20%{translate:-14px 6px}40%{translate:12px -8px}60%{translate:-8px 4px}80%{translate:5px -2px}}#scene{background:radial-gradient(60% 40% at 50% 34%,#ffffff8c,#0000 70%),radial-gradient(circle at 20px 20px,#ffffff80 3px,#0000 4px) 0 0/60px 60px,linear-gradient(#ffe3c8 0%,#ffd2ae 60%,#ffc59a 100%);position:absolute;inset:0}#scene .tiles{background:linear-gradient(90deg,#ffffffb3 3px,#0000 3px) 0 0/90px 90px,linear-gradient(0deg,#ffffffb3 3px,#0000 3px) 0 0/90px 90px,linear-gradient(#bfe8df,#a6dccf);height:300px;position:absolute;top:700px;left:0;right:0;box-shadow:inset 0 10px #ffffff80}#scene .window{background:linear-gradient(#7fd3ff,#c6f0ff);border-radius:260px 260px 24px 24px;width:520px;height:330px;margin-left:-260px;position:absolute;top:380px;left:50%;overflow:hidden;box-shadow:0 0 0 18px #fff,0 0 0 26px #f0b48a,0 20px 40px -10px #783c1473}#scene .window:after{content:"";background:linear-gradient(90deg,#0000 calc(50% - 7px),#fff calc(50% - 7px) calc(50% + 7px),#0000 0),linear-gradient(0deg,#0000 52%,#fff 52% calc(52% + 14px),#0000 0);position:absolute;inset:0}#scene .sun{background:radial-gradient(circle,#fff7b0,#ffd23f);border-radius:50%;width:90px;height:90px;position:absolute;top:40px;right:70px;box-shadow:0 0 40px 10px #ffdc5099}#scene .cloud{background:#fff;border-radius:40px;width:140px;height:46px;animation:22s linear infinite cloud;position:absolute}#scene .cloud:before{content:"";background:#fff;border-radius:50%;width:64px;height:64px;position:absolute;top:-26px;left:30px}#scene .cloud.c1{top:110px}#scene .cloud.c2{animation-delay:-11s;top:200px;scale:.7}@keyframes cloud{0%{translate:-180px}to{translate:560px}}#scene .bunting{background:conic-gradient(from 150deg at 50% 0, #ff6f91 0 60deg, transparent 0) 0 0 / 90px 70px, conic-gradient(from 150deg at 50% 0, #ffc75f 0 60deg, transparent 0) 45px 0 / 90px 70px;opacity:.85;filter:drop-shadow(0 4px #00000014);height:70px;position:absolute;top:96px;left:-20px;right:-20px}#scene .shelf{background:#c98a5a;border-radius:8px;width:230px;height:16px;position:absolute;top:560px;box-shadow:0 6px #a96d41}#scene .shelf.s1{display:none;left:-20px}#scene .shelf.s2{display:none;right:-20px}#scene .floor{background:repeating-linear-gradient(90deg,#0000000f 0 4px,#0000 4px 180px),linear-gradient(#c98a5a,#a96d41 40%,#7d4a2a);position:absolute;inset:1220px 0 0}#title{z-index:5;justify-content:center;display:flex;position:absolute;top:146px;left:0;right:0}#title h1{color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;padding:10px 44px 6px;font:800 60px/1.15 "Baloo 2",system-ui,sans-serif;box-shadow:0 8px #f0b48a,0 18px 30px -10px #783c1473}#title em{color:var(--accent);font-style:normal}#guide{text-align:center;color:#6b3a1f;z-index:5;font:700 28px/1.2 Be Vietnam Pro,system-ui,sans-serif;position:absolute;top:252px;left:0;right:0}#guide b{color:var(--accent);font-weight:800}#queue{background:var(--panel);z-index:6;border-radius:30px;align-items:center;gap:18px;height:104px;padding:0 22px;display:flex;position:absolute;top:304px;left:40px;right:40px;box-shadow:0 6px #a05a2840,0 16px 30px -14px #783c1480}#queue .lbl,#fans .lbl,#meter .lbl,#table .lbl{background:var(--accent);color:#fff;letter-spacing:.04em;white-space:nowrap;border-radius:999px;flex:none;padding:6px 16px 4px;font:800 24px/1 "Baloo 2",system-ui,sans-serif}#queue .lbl{white-space:normal;text-align:center;border-radius:18px;width:120px;padding:8px 10px 6px;line-height:1.05}#chips{flex:1;align-items:center;gap:14px;min-width:0;display:flex;overflow:hidden}#chips .hint{color:#9a6a4a;font:700 26px/1.2 Be Vietnam Pro,system-ui,sans-serif}#chips .chip{flex:none;animation:.4s cubic-bezier(.2,1.5,.4,1) both chip-in;position:relative}#chips .chip .lk-av{box-shadow:0 0 0 5px #fff, 0 0 0 9px var(--ring,#e07a5f)}#chips .chip.t-meal{--ring:#3d8bd8}#chips .chip.t-feast{--ring:#d4a017}#chips .chip.t-welcome{--ring:#3fb34f}#chips .chip .mini{background:#fff;border-radius:50%;width:42px;height:42px;padding:3px;position:absolute;bottom:-10px;right:-14px;box-shadow:0 3px 6px #0003}#chips .chip .mini svg{width:100%;height:100%;display:block}#chips .chip .x{color:#fff;background:#ff3d6e;border-radius:999px;padding:2px 8px;font:800 22px/1.1 "Baloo 2",system-ui,sans-serif;position:absolute;top:-12px;right:-12px}#chips .more{color:#9a6a4a;font:800 30px/1 "Baloo 2",system-ui,sans-serif}@keyframes chip-in{0%{opacity:0;transform:scale(.3)translateY(20px)}}#fans,#meter{z-index:6;background:var(--panel);border-radius:34px;flex-direction:column;align-items:center;gap:14px;padding:18px 12px 20px;display:flex;position:absolute;top:440px;box-shadow:0 6px #a05a2840,0 16px 30px -14px #783c1480}#fans{width:196px;left:24px}#fanlist{flex-direction:column;align-items:center;gap:16px;width:100%;display:flex}#fanlist .f{flex-direction:column;align-items:center;gap:4px;width:100%;display:flex;position:relative}#fanlist .f:before{content:"1";z-index:2;color:#fff;background:#f5b800;border-radius:50%;place-items:center;width:34px;height:34px;font:800 22px/1 "Baloo 2",system-ui,sans-serif;display:grid;position:absolute;top:-6px;left:30px;box-shadow:0 3px #b88a00}#fanlist .f.r2:before{content:"2";background:#9fb2c4;box-shadow:0 3px #6f8496}#fanlist .f.r3:before{content:"3";background:#d9894a;box-shadow:0 3px #a5602c}#fanlist .n{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:800 25px/1.15 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}#fanlist b{color:var(--accent);font:800 24px/1 "Baloo 2",system-ui,sans-serif}#fanlist .none{color:#9a6a4a;text-align:center;padding:20px 0;font:700 24px/1.2 Be Vietnam Pro,system-ui,sans-serif}#meter{width:176px;height:500px;right:24px}#meter .jar{background:#f3e2d0;border-radius:52px;flex:1;width:104px;position:relative;overflow:hidden;box-shadow:inset 0 0 0 6px #fff,inset 0 8px 16px #783c1440}#meter .fill{height:var(--fill,0%);background:radial-gradient(circle at 30% 30%,#fff9 5px,#0000 6px) 0 0/40px 46px,linear-gradient(#ffb347,#ff6b35);transition:height .5s cubic-bezier(.3,1.4,.5,1);animation:3s linear infinite bubbles;position:absolute;bottom:0;left:0;right:0}#meter .fill:before{content:"";background:#ffc46b;border-radius:50%;height:28px;position:absolute;top:-14px;left:-20%;right:-20%}@keyframes bubbles{to{background-position:0 -92px,0 0}}#meter .pct{text-align:center;color:#fff;-webkit-text-stroke:7px #78320a8c;paint-order:stroke fill;font:800 34px/1 "Baloo 2",system-ui,sans-serif;position:absolute;top:46%;left:0;right:0}#meter .times{min-height:26px;color:var(--accent);white-space:nowrap;font:800 24px/1 "Baloo 2",system-ui,sans-serif}#meter.flash{animation:.5s ease-in-out 6 alternate meter-flash}@keyframes meter-flash{to{transform:scale(1.06);box-shadow:0 0 0 8px #ffe066,0 0 60px 20px #ffd23cb3}}.meterpop{z-index:40;pointer-events:none;animation:1.25s cubic-bezier(.3,.8,.4,1) forwards meterpop;position:absolute}@keyframes meterpop{0%{opacity:0;transform:translate(-50%,40px)scale(.4)}25%{opacity:1;transform:translate(-50%,-10px)scale(1.1)}to{opacity:0;transform:translate(-50%,140px)scale(.3)}}#pet{z-index:3;transform-origin:50% 100%;width:640px;height:731px;position:absolute;top:400px;left:220px}#pet svg{width:100%;height:100%;display:block;overflow:visible}#pet svg *{transform-box:fill-box}#pet .p-body{transform-origin:50% 100%;animation:2.6s ease-in-out infinite breathe}#pet .p-head{transform-origin:50% 85%;animation:4s ease-in-out infinite head-idle}#pet .p-eyes{transform-origin:50%;animation:4.2s infinite blink}#pet .p-ear-l{transform-origin:80% 90%;animation:3.4s ease-in-out infinite ear-l}#pet .p-ear-r{transform-origin:20% 90%;animation:3.4s ease-in-out infinite ear-r}#pet .p-arm-l{transform-origin:70% 5%}#pet .p-arm-r{transform-origin:10% 5%}#pet .p-happy,#pet .p-mouth{display:none}@keyframes breathe{50%{transform:scale(1.02,.985)}}@keyframes head-idle{0%,to{transform:rotate(0)}30%{transform:rotate(-4deg)translateY(-4px)}65%{transform:rotate(3deg)}}@keyframes blink{0%,92%,to{transform:scaleY(1)}95%{transform:scaleY(.1)}}@keyframes ear-l{0%,70%,to{transform:rotate(0)}78%{transform:rotate(-10deg)}86%{transform:rotate(4deg)}}@keyframes ear-r{0%,60%,to{transform:rotate(0)}68%{transform:rotate(10deg)}76%{transform:rotate(-4deg)}}#pet.st-work .p-arm-r{animation:.34s ease-in-out infinite alternate stir}#pet.st-work .p-arm-l{animation:.68s ease-in-out infinite alternate wave-l}#pet.st-work .p-head{animation:.68s ease-in-out infinite alternate head-work}#pet.st-work.t-feast .p-arm-r{animation-duration:.22s}@keyframes stir{0%{transform:rotate(-14deg)}to{transform:rotate(10deg)translateY(6px)}}@keyframes wave-l{0%{transform:rotate(4deg)}to{transform:rotate(-8deg)translateY(-6px)}}@keyframes head-work{0%{transform:rotate(-3deg)translateY(2px)}to{transform:rotate(4deg)translateY(-6px)}}#pet.st-serve .p-eyes,#pet.st-full .p-eyes{display:none}#pet.st-serve .p-happy,#pet.st-full .p-happy,#pet.st-serve .p-mouth,#pet.st-full .p-mouth{display:inline}#pet.st-serve .p-smile,#pet.st-full .p-smile{display:none}#pet.st-serve{animation:.55s cubic-bezier(.3,1.6,.5,1) hop}#pet.st-serve .p-arm-l{animation:.5s cubic-bezier(.3,1.6,.5,1) forwards arm-up-l}#pet.st-serve .p-arm-r{animation:.5s cubic-bezier(.3,1.6,.5,1) forwards arm-up-r}@keyframes hop{40%{transform:translateY(-46px)scale(1.03,.97)}}@keyframes arm-up-l{to{transform:rotate(38deg)translateY(-30px)}}@keyframes arm-up-r{to{transform:rotate(-40deg)translateY(-30px)}}#pet.st-full{animation:.5s ease-in-out infinite alternate wobble}#pet.st-full .p-body{animation:.5s ease-in-out infinite alternate belly}#pet.st-full .p-arm-l{animation:.25s ease-in-out infinite alternate rub}@keyframes wobble{0%{transform:rotate(-4deg)}to{transform:rotate(4deg)translateY(-14px)}}@keyframes belly{0%{transform:scaleX(1.1)}to{transform:scale(1.18,.98)}}@keyframes rub{0%{transform:rotate(-24deg)translate(30px,-40px)}to{transform:rotate(-36deg)translate(50px,-50px)}}#front{z-index:4;height:270px;position:absolute;top:950px;left:0;right:0}#front .counter{position:absolute;inset:0}#front .top{background:linear-gradient(#f6d2a8,#e2b07c);border-radius:14px;height:46px;position:absolute;top:0;left:-10px;right:-10px;box-shadow:0 8px #c48a55}#front .counter:before{content:"";background:linear-gradient(90deg,#0000 268px,#00000014 268px 274px,#0000 274px 806px,#00000014 806px 812px,#0000 812px),linear-gradient(#7ccbb8,#5fb39f);position:absolute;inset:46px 0 0}#front .stove{width:260px;height:130px;position:absolute;top:-80px;left:600px}#front .pan{transform-origin:30% 60%;width:260px;height:104px;position:absolute;top:24px;left:0}#front.busy .pan{animation:.3s ease-in-out infinite alternate pan-shake}@keyframes pan-shake{0%{transform:rotate(-3deg)}to{transform:rotate(3deg)translateY(-6px)}}#front .flame{opacity:0;justify-content:space-around;width:130px;height:40px;transition:opacity .3s;display:flex;position:absolute;top:96px;left:26px}#front.busy .flame{opacity:1}#front .flame i{background:radial-gradient(circle at 50% 75%,#fff3a0,#ffb21e 45%,#ff4d1e 80%);border-radius:50%/60% 60% 40% 40%;width:30px;height:44px;animation:.18s ease-in-out infinite alternate flame}#front .flame i:nth-child(2){animation-delay:90ms}@keyframes flame{to{transform:scaleY(1.3)translateY(-6px)}}#front .food{width:130px;height:30px;position:absolute;top:34px;left:46px}#front .food i{opacity:0;background:#ffb347;border-radius:40%;width:28px;height:22px;position:absolute;bottom:0}#front .food i:first-child{left:0}#front .food i:nth-child(2){background:#4cc157;left:34px}#front .food i:nth-child(3){background:#ff5d5d;left:70px}#front .food i:nth-child(4){background:#ffe08a;left:100px}#front.busy .food i{opacity:1;animation:.6s cubic-bezier(.3,.9,.5,1) infinite toss}#front.busy .food i:nth-child(2){animation-delay:.15s}#front.busy .food i:nth-child(3){animation-delay:.3s}#front.busy .food i:nth-child(4){animation-delay:.45s}@keyframes toss{50%{transform:translateY(-70px)rotate(180deg)}}#front .board{background:#34433f;border-radius:20px;place-items:center;height:92px;padding:0 26px;display:grid;position:absolute;top:92px;left:140px;right:140px;box-shadow:inset 0 0 0 8px #b98552,0 8px #00000026}#front .now{text-overflow:ellipsis;white-space:nowrap;color:#f4f1e6;max-width:100%;font:700 30px/1.2 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}#front .now b{color:#ffd166;font-weight:800}#front .now i{color:#8fe3cf;font-style:normal;font-weight:800}#front .now.on{animation:.4s both chalk}@keyframes chalk{0%{opacity:0;transform:translateY(10px)}}#emit{width:1px;height:1px;position:absolute;top:890px;left:700px}#serve{z-index:20;pointer-events:none;position:absolute;inset:0}.card{flex-direction:column;align-items:center;transition:transform .45s cubic-bezier(.5,0,.8,.4),opacity .45s;animation:.6s cubic-bezier(.2,1.5,.4,1) both card-in;display:flex;position:absolute;top:748px;left:50%;translate:-50%}.card.leave{opacity:0;transform:translateY(470px)scale(.3)}@keyframes card-in{0%{opacity:0;transform:translateY(-160px)scale(.3)rotate(-12deg)}}.card .tag{z-index:3;background:var(--accent);color:#fff;letter-spacing:.06em;border-radius:999px;margin-bottom:-26px;padding:8px 26px 4px;font:800 30px/1 "Baloo 2",system-ui,sans-serif;position:relative;box-shadow:0 5px #0003}.card.t-meal .tag{background:#3d8bd8}.card.t-feast .tag{color:#5a3a00;background:linear-gradient(#ffd34d,#e0a000)}.card.t-welcome .tag{background:#3fb34f}.plate{background:radial-gradient(circle,#fff 0 56%,#eef3f8 57% 63%,#fff 64% 100%);border-radius:50%;place-items:center;width:340px;height:340px;display:grid;position:relative;box-shadow:0 0 0 6px #dce6f0,0 22px 0 -4px #783c1440,0 30px 50px -10px #783c1480}.card.t-meal .plate{width:380px;height:380px;box-shadow:0 0 0 8px #8ec5ff,0 22px 0 -4px #28508c4d,0 30px 50px -10px #283c7880}.plate.tray{background:radial-gradient(#ffe9a8 0 58%,#f5c542 59% 66%,#ffe08a 67% 100%);border-radius:50%;width:600px;height:380px;box-shadow:0 0 0 10px #c99700,0 0 0 18px #ffe066,0 26px 0 6px #78500059,0 0 90px 30px #ffd23c8c}.dishes{width:76%;height:76%;position:relative}.dish{width:100%;height:100%;animation:.5s cubic-bezier(.2,1.6,.4,1) both dish-pop;position:absolute;top:50%;left:50%;translate:-50% -50%}.dish svg{filter:drop-shadow(0 6px 4px #00000026);width:100%;height:100%;display:block}@keyframes dish-pop{0%{scale:0}}.tray .dishes{width:86%;height:86%}.tray .dish{width:40%;height:62%}.tray .dish:first-child{z-index:2;width:52%;height:80%}.tray .dish:nth-child(2){animation-delay:.12s;top:40%;left:14%}.tray .dish:nth-child(3){animation-delay:.24s;top:40%;left:86%}.tray .dish:nth-child(4){z-index:3;animation-delay:.36s;top:80%;left:24%}.tray .dish:nth-child(5){z-index:3;animation-delay:.48s;top:80%;left:76%}.plate .who{z-index:4;animation:.6s cubic-bezier(.2,1.6,.4,1) .25s both who-in;position:absolute;top:-14px;right:-26px}.plate.tray .who{top:-40px;right:10px}.plate .who .lk-av{box-shadow:0 0 0 7px #fff, 0 0 0 12px var(--accent), 0 10px 20px #00000059}.plate .who:after{content:"♥";color:#fff;background:#ff3d6e;border-radius:50%;place-items:center;width:50px;height:50px;font:800 30px/1 system-ui;display:grid;position:absolute;bottom:-6px;left:-16px;box-shadow:0 0 0 5px #fff}@keyframes who-in{0%{opacity:0;transform:scale(.2)rotate(-40deg)}}.card .ribbon{z-index:5;color:#fff;background:linear-gradient(#ff6f61,#e8433f);border-radius:20px;align-items:baseline;gap:12px;max-width:760px;margin-top:-40px;padding:8px 40px 6px;font:800 52px/1.1 "Baloo 2",system-ui,sans-serif;display:flex;position:relative;box-shadow:0 7px #a8261f}.card .ribbon .k{opacity:.92;font-size:34px}.card .ribbon b{text-overflow:ellipsis;white-space:nowrap;max-width:560px;font-weight:800;overflow:hidden}.card .dname{color:var(--ink);white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:10px;margin-top:14px;padding:6px 22px 6px 10px;font:800 30px/1.1 Be Vietnam Pro,system-ui,sans-serif;display:flex;box-shadow:0 5px #a05a284d}.card .dname .lk-gift{font-size:44px}#table{background:var(--panel);z-index:6;border-radius:30px;align-items:center;gap:18px;height:152px;padding:0 20px;display:flex;position:absolute;top:1254px;left:40px;right:40px;box-shadow:0 6px #5a321459,0 16px 30px -14px #3c1e0a99}#table .lbl{white-space:normal;text-align:center;border-radius:18px;width:100px;padding:8px 10px 6px;line-height:1.05}#served{flex:1;gap:12px;min-width:0;display:flex;overflow:hidden}#served .none{color:#9a6a4a;font:700 26px/1.2 Be Vietnam Pro,system-ui,sans-serif}#served .mini{flex-direction:column;flex:none;align-items:center;gap:4px;width:148px;animation:.5s cubic-bezier(.2,1.5,.4,1) both mini-in;display:flex;position:relative}#served .mini .art{background:#fff;border-radius:50%;width:98px;height:98px;padding:10px;box-shadow:0 0 0 4px #dce6f0,0 6px #783c1433}#served .mini.t-feast .art{box-shadow:0 0 0 5px #f5c542,0 6px #7850004d}#served .mini.t-meal .art{box-shadow:0 0 0 5px #8ec5ff,0 6px #28508c40}#served .mini .art svg{width:100%;height:100%;display:block}#served .mini .av{position:absolute;top:36px;right:4px}#served .mini .n{text-overflow:ellipsis;white-space:nowrap;max-width:100%;font:800 24px/1.1 Be Vietnam Pro,system-ui,sans-serif;overflow:hidden}@keyframes mini-in{0%{opacity:0;transform:translateY(-80px)scale(.4)}}#fx{z-index:30;pointer-events:none;position:absolute;inset:0}.pt{flex-direction:column;align-items:center;gap:4px;animation:1.6s cubic-bezier(.25,.8,.4,1) forwards pt-rise;display:flex;position:absolute;translate:-50% -50%}.pt .art{width:calc(60px * var(--s,1));height:calc(60px * var(--s,1));display:block}.pt .art svg{width:100%;height:100%;display:block;overflow:visible}.pt .nm{color:#fff;white-space:nowrap;background:#140a28bf;border-radius:999px;align-items:center;gap:8px;padding:4px 16px 4px 4px;font:800 26px/1 Be Vietnam Pro,system-ui,sans-serif;display:flex}@keyframes pt-rise{0%{opacity:0;transform:translate(0)scale(.3)}15%{opacity:1;transform:translate(calc(var(--dx) * .2), -30px) scale(1)}to{opacity:0;transform:translate(var(--dx), calc(var(--up) * -1)) rotate(var(--rot)) scale(.9)}}#gifts{z-index:8;position:absolute;top:1430px;left:30px;right:30px}#gifts .lk-card{background:linear-gradient(#ffffff4d,#ffffff1f)}#stage[data-pet=serve] #front .now{opacity:0}
