:root{--bg:#07080b;--ink:#f3ecdf;--ink-2:rgba(243,236,223,.62);--ink-3:rgba(243,236,223,.34);--gold:#d9a85a;--line:rgba(243,236,223,.12);--serif:"Cormorant Garamond","Cormorant",Georgia,"Times New Roman",serif;--zh:"Noto Serif SC","Songti SC","STSong","Source Han Serif SC","SimSun",serif}*{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg);color:var(--ink);font-family:var(--serif);overflow:hidden}body{display:flex;flex-direction:column}#stage{flex:1 1 auto;display:flex;align-items:center;justify-content:center;min-height:190px;position:relative;padding:22px 26px 30px}#ptag{position:absolute;left:50%;bottom:9px;transform:translate(-50%);font-family:var(--zh);font-size:11px;letter-spacing:.2em;color:var(--ink-3);white-space:nowrap;pointer-events:none}body.kiosk #panel{display:none}body.kiosk #stage{padding:0;min-height:0}body.kiosk #ptag,body.panel #ptag{display:none}body.kiosk{cursor:none}#screen{position:relative;overflow:hidden;background:#06070a;flex:none;font-size:calc(var(--sh,600px)/100);box-shadow:0 0 0 1px #ffffff0d,0 40px 120px #0009}#gl,#fx{position:absolute;inset:0;width:100%;height:100%;display:block}#overlay{position:absolute;inset:0}.lane{position:absolute;top:0;bottom:0;overflow:hidden}.flash{position:absolute;inset:0;opacity:0;pointer-events:none;background:radial-gradient(ellipse at 6% 50%,rgba(255,236,200,.95),rgba(255,236,200,.3) 30%,transparent 65%)}.ingredients{position:absolute;left:2.4%;top:0;bottom:0}.ing{position:absolute;left:0;transform:translate(-1.2em,-50%);opacity:0;white-space:nowrap;display:flex;align-items:baseline;gap:1.2em;text-shadow:0 1px 14px rgba(0,0,0,.7);transition:opacity .9s ease,transform 1.1s cubic-bezier(.2,.7,.2,1)}.ing.on{opacity:1;transform:translateY(-50%)}.ing .sw{width:1em;height:1em;border-radius:50%;align-self:center;box-shadow:0 0 12px currentColor}.ing .nm{font-size:4.6em;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:var(--ink)}.ing .zh{font-family:var(--zh);font-size:3.1em;letter-spacing:.2em;color:var(--ink-2)}.ing.dark{text-shadow:0 1px 10px rgba(255,255,255,.35)}.ing.dark .nm{color:#1c1410}.ing.dark .zh{color:#1c1410b8}.ing.dark .sw{box-shadow:0 0 0 1px #1c141059,0 0 10px currentColor}.lane.light .name .en{color:#1c1410;text-shadow:0 0 30px rgba(255,255,255,.25)}.lane.light .name .zh{color:#1c1410b8}.lane.light .name .tags{color:#1c14109e}.lane.light .name .tags i{color:#8a5a14}.lane.light .method .m-en{color:#1c141038}.lane.light .method .m-zh{color:#1c14104d}.method{position:absolute;left:47%;top:50%;transform:translate(-50%,-50%);text-align:center;opacity:0;pointer-events:none;white-space:nowrap;transition:opacity .8s}.method .m-en{display:block;font-size:12em;font-weight:300;letter-spacing:.55em;margin-right:-.55em;line-height:1;color:#f3ecdf38}.method .m-zh{display:block;font-family:var(--zh);font-size:4.2em;letter-spacing:.9em;margin-right:-.9em;margin-top:.45em;color:#f3ecdf4d}.result{position:absolute;right:3%;top:0;bottom:0;display:flex;align-items:center;gap:5em}.glass{height:min(72%,calc(var(--lane-w,1000px)*.24));aspect-ratio:100/140;opacity:0;transform:translateY(6%);transition:opacity 1.2s ease,transform 1.6s cubic-bezier(.2,.7,.2,1);filter:drop-shadow(0 .25em .5em rgba(0,0,0,.4))}.glass.on{opacity:1;transform:none}.glass svg{width:100%;height:100%;overflow:visible}@keyframes gbub{0%{transform:translateY(0);opacity:0}12%{opacity:.9}to{transform:translateY(var(--rise,-60px));opacity:0}}.glass .gb{animation:gbub var(--dur,2.6s) linear infinite;animation-delay:var(--delay,0s)}.name{display:flex;flex-direction:column;gap:0;max-width:40%}.name .zh,.name .tags{white-space:nowrap}.name .en{font-size:min(17em,calc(var(--lane-w,1000px)*.05));line-height:1.04;font-weight:500;letter-spacing:-.01em;max-width:8em;opacity:0;transform:translateY(.15em);transition:opacity 1.2s ease,transform 1.4s cubic-bezier(.2,.7,.2,1);text-shadow:0 0 40px rgba(255,220,160,.18)}.name .zh{font-family:var(--zh);font-size:min(6em,calc(var(--lane-w,1000px)*.018));letter-spacing:.35em;color:var(--ink-2);margin-top:.42em;opacity:0;transform:translateY(.4em);transition:opacity 1.2s ease .25s,transform 1.4s cubic-bezier(.2,.7,.2,1) .25s}.name .tags{font-family:var(--zh);font-size:min(4.2em,calc(var(--lane-w,1000px)*.013));letter-spacing:.45em;color:var(--ink-3);margin-top:1em;opacity:0;transition:opacity 1.2s ease .5s}.name .tags i{font-style:normal;color:var(--gold);opacity:.75;margin:0 .15em}.name .meta{font-size:min(3.6em,calc(var(--lane-w,1000px)*.011));letter-spacing:.3em;color:#f3ecdf80;margin-top:.5em;opacity:0;transition:opacity 1.2s ease .65s}.name .meta b{font-weight:500;color:var(--gold);opacity:.8}.name .meta i{font-style:normal;opacity:.5;margin:0 .5em}.lane.light .name .meta{color:#1c1410b8}.lane.light .name .meta b{color:#8a5a14}.name.on .en,.name.on .zh,.name.on .tags,.name.on .meta{opacity:1;transform:none}.name .en .w{white-space:nowrap}.name .en .w i{font-style:inherit;display:inline-block;opacity:0;transform:translateY(.28em) rotate(2deg);transition:opacity .7s ease,transform 1s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--i,0)*42ms)}.name.on .en .w i{opacity:1;transform:none}#idle{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1.8em;pointer-events:none;transition:opacity 1.4s ease}#idle.off{opacity:0}#idle .lockup{display:flex;align-items:center;gap:2.6em}#idle .mark{height:22em;color:#f3ecdf52;display:flex}#idle.has-logo .word,#idle.has-logo .rule,#idle.has-logo .s{display:none}#idle.has-logo .mark{height:46em;opacity:.88}#idle .mark svg,#idle .mark img{height:100%;width:auto;display:block}#idle .word{display:flex;flex-direction:column;align-items:flex-start;gap:.15em}#idle .t{font-size:11em;font-style:italic;font-weight:400;line-height:1.02;letter-spacing:.01em;color:#f3ecdf52}#idle .c{font-size:2.6em;letter-spacing:.55em;margin-right:-.55em;color:#f3ecdf42}#idle .s{font-family:var(--zh);font-size:3.2em;letter-spacing:.8em;margin-right:-.8em;color:#f3ecdf3d}#idle .rule{width:14em;height:1px;background:linear-gradient(90deg,transparent,rgba(217,168,90,.55),transparent)}#shot{position:absolute;inset:0;z-index:6;pointer-events:none;opacity:0;visibility:hidden}#shot.on{opacity:1;visibility:visible}#screen.shotting #idle{opacity:0}#shot .st-back{position:absolute;inset:0;background:radial-gradient(ellipse 70% 130% at 50% 60%,#d9a85a29,#07080bcc 72%)}#shot.on .st-back{animation:stBack 9s ease both}@keyframes stBack{0%{opacity:0}7%{opacity:1}85%{opacity:1}to{opacity:0}}#shot .st-flash{position:absolute;inset:0;background:radial-gradient(ellipse 60% 95% at 50% 68%,rgba(255,226,172,.55),transparent 70%)}#shot.on .st-flash{animation:stFlash 9s linear both}@keyframes stFlash{0%,24%{opacity:0}26%{opacity:1}37%{opacity:0}to{opacity:0}}#shot .st-word{position:absolute;left:0;right:0;top:10%;text-align:center}#shot.on .st-word{animation:stWord 9s ease both}@keyframes stWord{0%,5%{opacity:0}10%{opacity:1}84%{opacity:1}93%,to{opacity:0}}#shot .en{display:inline-block;font-family:Great Vibes,Snell Roundhand,Savoye LET,cursive;font-size:calc(var(--sh)*.34);line-height:1.05;color:#f6edda;padding:.16em .32em;margin:-.16em -.32em;text-shadow:0 0 calc(var(--sh)*.07) rgba(217,168,90,.65);-webkit-mask-image:linear-gradient(100deg,#000 44%,transparent 56%);mask-image:linear-gradient(100deg,#000 44%,transparent 56%);-webkit-mask-size:300% 100%;mask-size:300% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:100% 0;mask-position:100% 0}#shot.on .en{animation:stWrite 9s cubic-bezier(.45,.05,.35,1) both}@keyframes stWrite{0%,8%{-webkit-mask-position:100% 0;mask-position:100% 0}34%{-webkit-mask-position:0% 0;mask-position:0% 0}to{-webkit-mask-position:0% 0;mask-position:0% 0}}#shot .zh{display:block;font-family:var(--zh);font-size:calc(var(--sh)*.085);letter-spacing:.8em;margin-right:-.8em;color:#f3ecdfc7;margin-top:calc(var(--sh)*.01);opacity:0}#shot.on .zh{animation:stZh 9s ease both}@keyframes stZh{0%,30%{opacity:0;transform:translateY(24%)}40%{opacity:1;transform:none}84%{opacity:1}93%,to{opacity:0}}#shot .st-glasses{position:absolute;left:2%;right:2%;bottom:calc(var(--sh)*.03);display:flex;justify-content:space-evenly;align-items:flex-end}#shot .st-glasses i{display:block;width:calc(var(--sh)*.16);height:calc(var(--sh)*.218);margin:0 calc(var(--sh)*var(--mx));transform-origin:50% 90%;opacity:0;filter:drop-shadow(0 0 calc(var(--sh)*.02) rgba(217,168,90,.5))}#shot .st-glasses svg{width:100%;height:100%;display:block}#shot.on .st-glasses i{animation:stGlass 9s cubic-bezier(.25,.6,.25,1) both;animation-delay:var(--dl)}@keyframes stGlass{0%,4%{opacity:0;transform:translate(calc(var(--sh)*var(--fx)),calc(var(--sh)*var(--fy))) rotate(calc(var(--r0) + var(--d)*8deg)) scale(var(--sc))}10%{opacity:1}19%{transform:translateY(calc(var(--sh)*var(--by)*-1)) rotate(var(--r0)) scale(var(--sc));opacity:1}23%{transform:translateY(calc(var(--sh)*(var(--by) + .045)*-1)) rotate(calc(var(--d)*9deg)) scale(var(--sc))}27%{transform:translateY(calc(var(--sh)*var(--by)*-1)) rotate(var(--r0)) scale(var(--sc))}80%{transform:translateY(calc(var(--sh)*var(--by)*-1)) rotate(var(--r0)) scale(var(--sc));opacity:1}92%,to{opacity:0;transform:translateY(calc(var(--sh)*.35)) rotate(var(--r0)) scale(var(--sc))}}body.led-low #shot{display:none}body.panel{background:#000}body.panel #stage{display:block;position:static;padding:0;min-height:0}body.panel #panel{display:none}body.panel #screen{border-radius:0;box-shadow:none}#align{position:absolute;inset:0;pointer-events:none;z-index:30;outline:1px solid #0f0;outline-offset:-1px}#align i{position:absolute;width:24px;height:24px;border:2px solid #0f0}#align i:nth-child(1){left:0;top:0;border-right:0;border-bottom:0}#align i:nth-child(2){right:0;top:0;border-left:0;border-bottom:0}#align i:nth-child(3){left:0;bottom:0;border-right:0;border-top:0}#align i:nth-child(4){right:0;bottom:0;border-left:0;border-top:0}#align b{position:absolute;left:50%;top:50%;background:#0f0}#align b:nth-child(5){width:41px;height:1px;margin-left:-20px}#align b:nth-child(6){width:1px;height:41px;margin-top:-20px}#align span{position:absolute;left:6px;top:50%;transform:translateY(-50%);font:12px/1.4 ui-monospace,Menlo,Consolas,monospace;color:#0f0;letter-spacing:.05em}body.led #gl,body.led #fx{image-rendering:pixelated}body.led-low #overlay,body.led-low #idle{display:none}.recbtn{position:fixed;left:50%;top:14px;transform:translate(-50%);z-index:20;padding:12px 22px;font-size:15px;background:#0a0b10}#ledgrid{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(circle at 50% 50%,transparent 0 32%,rgba(0,0,0,.5) 44%,rgba(0,0,0,.78) 100%)}#panel{flex:none;max-height:46vh;overflow-y:auto;border-top:1px solid var(--line);background:#0a0b10;padding:16px 28px 18px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:12px 36px;align-items:start}#panel h1{grid-column:1/-1;font-size:14px;font-weight:500;letter-spacing:.3em;text-transform:uppercase;color:var(--ink-2);display:flex;align-items:center;gap:18px;flex-wrap:wrap}.tools{display:flex;gap:8px;margin-left:auto;flex-wrap:wrap}.tools em{font-style:normal;font-family:var(--serif);letter-spacing:.06em;opacity:.75}#panel h1 span{font-family:var(--zh);letter-spacing:.3em;color:var(--ink-3);font-size:12px;text-transform:none}.orders{display:grid;grid-template-columns:repeat(auto-fill,minmax(228px,1fr));gap:10px;align-content:start}.order{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink);padding:9px 12px 9px 10px;border-radius:4px;display:flex;align-items:center;gap:12px;cursor:pointer;font-family:var(--serif);min-width:0;text-align:left;transition:border-color .2s,background .2s,transform .1s}.order:hover{border-color:#f3ecdf66;background:#ffffff08}.order:active{transform:scale(.98)}.order .sw{width:36px;height:36px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px #ffffff26}.order b{display:block;font-size:19px;font-weight:500;line-height:1.05}.order b em{font-style:normal;font-size:9px;letter-spacing:.18em;color:var(--gold);opacity:.7;border:1px solid rgba(217,168,90,.35);border-radius:2px;padding:1px 4px;margin-left:7px;vertical-align:middle}.order small{display:block;font-family:var(--zh);font-size:11px;letter-spacing:.16em;color:var(--ink-3);margin-top:3px}.order kbd{margin-left:auto;font-family:var(--serif);font-size:12px;color:var(--ink-3);border:1px solid var(--line);border-radius:3px;padding:1px 6px}.side{display:flex;flex-direction:column;gap:10px;min-width:0}.row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.btn{appearance:none;border:1px solid var(--line);background:transparent;color:var(--ink-2);padding:7px 13px;border-radius:4px;cursor:pointer;font-family:var(--zh);font-size:12px;letter-spacing:.18em;transition:.2s;text-decoration:none}.btn:hover{color:var(--ink);border-color:#f3ecdf66}.btn.gold{border-color:#d9a85a80;color:var(--gold)}label.sl{display:flex;align-items:center;gap:10px;font-family:var(--zh);font-size:12px;letter-spacing:.15em;color:var(--ink-3)}label.sl input{accent-color:var(--gold);width:150px}.credit{margin-left:auto;align-self:flex-end;font-family:var(--serif);font-style:italic;font-size:12px;letter-spacing:.14em;color:var(--ink-3);user-select:none;white-space:nowrap}.credit b{font-weight:500;color:var(--gold);opacity:.75}.status{font-size:12px;letter-spacing:.06em;color:var(--ink-3);font-family:var(--zh);line-height:1.9}.status b{color:var(--ink-2);font-weight:400}#modal{position:fixed;inset:0;z-index:60;background:#040508e0;display:flex;align-items:center;justify-content:center;padding:24px}#modal[hidden]{display:none}#modal .sheet{position:relative;background:#0a0b10;border:1px solid var(--line);border-radius:10px;padding:34px 38px;box-shadow:0 30px 90px #000000b3;max-width:min(620px,92vw)}#modal .x{position:absolute;right:13px;top:7px;appearance:none;background:none;border:0;color:var(--ink-3);font-size:27px;line-height:1;cursor:pointer;font-family:var(--serif)}#modal .x:hover{color:var(--ink)}#modal .qr svg{width:240px;height:240px}#modal .qr .qr-txt span{font-size:18px}.qr{display:flex;align-items:center;gap:22px}.qr:empty{display:none}.qr svg{width:104px;height:104px;border-radius:4px;flex:none}.qr .qr-txt{display:flex;flex-direction:column;gap:3px;font-family:var(--zh);font-size:12px;letter-spacing:.1em;color:var(--ink-3);line-height:1.6}.qr .qr-txt b{font-weight:400;color:var(--ink);font-size:13px;letter-spacing:.2em}.qr .qr-txt span{font-family:var(--serif);font-size:15px;letter-spacing:.04em;color:var(--gold);user-select:all}.qr .qr-txt small{font-size:11px}
