@font-face{font-family:Luckiest Guy;src:url(/fonts/LuckiestGuy-Regular.ttf)format("truetype");font-display:block}:root{--bg:#2b1a55;--bg-deep:#1c1038;--accent:#9370db;--accent-hot:#c4a6ff;--gold:#ffc93c;--ink:#111;--card:#fff;--muted:#ffffffb8;--ui:-apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--bg-deep);height:100%;margin:0}body{font-family:var(--ui);color:#fff;-webkit-font-smoothing:antialiased;cursor:none;overflow:hidden}.viewport{background:radial-gradient(ellipse at 50% 35%, #3a2470 0%, var(--bg) 45%, var(--bg-deep) 100%);position:fixed;inset:0;overflow:hidden}.stage{transform-origin:50%;position:absolute;top:50%;left:50%;overflow:hidden}.screen{animation:.45s both fade-in;position:absolute;inset:0}.stage:before,.stage:after{content:"?";font-family:var(--ui);color:#ffffff0d;pointer-events:none;font-weight:900;position:absolute}.stage:before{font-size:900px;top:-180px;left:-120px;transform:rotate(-12deg)}.stage:after{font-size:760px;bottom:-260px;right:-80px;transform:rotate(10deg)}.avatar{object-fit:cover;background:#fff;border-radius:50%;box-shadow:0 8px 24px #00000047}.avatar-dim{opacity:.4;filter:grayscale(.7)}.game-title{letter-spacing:.01em;text-align:center;flex-direction:column;align-items:center;font-family:Luckiest Guy;line-height:.92;display:flex}.game-title span{-webkit-text-stroke:.06em #120a26;paint-order:stroke fill;filter:drop-shadow(0 .06em #120a26)}.game-title-top{color:#fff;font-size:.72em}.game-title-main{background:linear-gradient(180deg, #e7d7ff 0%, var(--accent-hot) 35%, #8a5be8 100%);color:#0000;-webkit-background-clip:text;background-clip:text}.brand{letter-spacing:.08em;color:var(--muted);font-family:Luckiest Guy;font-size:34px}.hint{text-align:center;color:var(--muted);font-size:34px;font-weight:600;position:absolute;bottom:56px;left:0;right:0}.pulse{animation:2.4s ease-in-out infinite pulse}.notice{background:#ffffff1f;border-radius:22px;margin-top:28px;padding:18px 30px;font-size:28px;font-weight:600}.ticket{filter:drop-shadow(0 26px 50px #0006);height:296px;font-family:var(--ui);animation:.6s cubic-bezier(.2,1.3,.4,1) both drop-in;display:flex;position:absolute;top:44px;left:50%;transform:translate(-50%)}.ticket-main,.ticket-stub{background:var(--card);color:var(--ink)}.ticket-main{border-radius:30px 0 0 30px;width:720px;padding:40px 48px 40px 52px;-webkit-mask:radial-gradient(22px at 100% 0,#0000 21px,#000 22px) top/100% 51% no-repeat,radial-gradient(22px at 100% 100%,#0000 21px,#000 22px) bottom/100% 51% no-repeat;mask:radial-gradient(22px at 100% 0,#0000 21px,#000 22px) top/100% 51% no-repeat,radial-gradient(22px at 100% 100%,#0000 21px,#000 22px) bottom/100% 51% no-repeat}.ticket-stub{background:#f4efff;border-radius:0 30px 30px 0;width:720px;transition:width .7s cubic-bezier(.65,0,.35,1);position:relative;overflow:hidden;-webkit-mask:radial-gradient(22px at 0 0,#0000 21px,#000 22px) top/100% 51% no-repeat,radial-gradient(22px at 0 100%,#0000 21px,#000 22px) bottom/100% 51% no-repeat;mask:radial-gradient(22px at 0 0,#0000 21px,#000 22px) top/100% 51% no-repeat,radial-gradient(22px at 0 100%,#0000 21px,#000 22px) bottom/100% 51% no-repeat}.is-lobby .ticket-stub{width:440px}.just-connected .ticket-stub{transition-delay:.55s}.ticket-stub:before{content:"";z-index:1;border-left:4px dashed #cfc3ec;position:absolute;top:34px;bottom:34px;left:0}.ticket-eyebrow{letter-spacing:.18em;color:#8a7fa6;align-items:center;gap:12px;font-size:20px;font-weight:700;display:flex}.ticket-dot{background:var(--accent);border-radius:50%;width:12px;height:12px;transition:background .4s}.is-lobby .ticket-dot{background:#2ecc71;animation:2s ease-out infinite live;box-shadow:0 0 #2ecc7199}.ticket-title{letter-spacing:-.02em;margin-top:14px;font-size:54px;font-weight:800;line-height:1.05}.ticket-body{color:#5b5470;margin-top:12px;font-size:28px;font-weight:500;line-height:1.35}.swap{display:grid}.swap>div{grid-area:1/1;transition:opacity .45s,transform .6s cubic-bezier(.2,1,.3,1),filter .45s}.swap-lobby{opacity:0;filter:blur(6px);transform:translateY(40px)}.is-lobby .swap-pair{opacity:0;filter:blur(6px);transform:translateY(-40px)}.is-lobby .swap-lobby{opacity:1;filter:none;transform:none}.just-connected .swap>div{transition-delay:.6s}.stub-pair,.stub-lobby{justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.stub-pair{gap:36px;padding:0 44px;transition:opacity .4s,transform .55s cubic-bezier(.5,0,.75,0),filter .4s}.is-lobby .stub-pair{opacity:0;filter:blur(10px);transform:scale(.6)}.just-connected .stub-pair{transition-delay:.35s}.stub-lobby{opacity:0;transition:opacity .3s}.is-lobby .stub-lobby{opacity:1}.just-connected .stub-lobby{transition-delay:1s}.ticket-code{flex-direction:column;align-items:center;padding-left:10px;display:flex}.ticket-code span{letter-spacing:.18em;text-transform:uppercase;color:#8a7fa6;font-size:20px;font-weight:700}.ticket-code strong{letter-spacing:.02em;color:var(--bg-deep);font-variant-numeric:tabular-nums;white-space:nowrap;margin-top:4px;padding:4px 0;font-size:128px;font-weight:800;line-height:1;display:flex;overflow:hidden}.mono-code strong{letter-spacing:.04em;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:76px;font-weight:700}.ticket-code .digit{font:inherit;color:inherit;letter-spacing:inherit;text-transform:none;display:inline-block}.just-connected .digit{animation:roll-in .7s cubic-bezier(.2, 1.5, .4, 1) calc(1.05s + var(--i) * 90ms) both}.qr{box-sizing:content-box;background:#fff;border-radius:18px;flex:none;width:200px;height:200px;padding:12px}.qr svg{width:100%;height:100%;display:block}.qr-wait{background:repeating-linear-gradient(45deg,#f1ecfa 0 14px,#e6def5 14px 28px);animation:1.6s ease-in-out infinite pulse}.stamp{opacity:0;pointer-events:none;z-index:2;background:#2ecc71;border-radius:50%;place-items:center;width:150px;height:150px;margin:-75px 0 0 -75px;display:grid;position:absolute;top:50%;left:50%;transform:scale(.2);box-shadow:0 10px #1f9d55,0 20px 50px #2ecc7180}.just-connected .stamp{animation:1.15s cubic-bezier(.2,1.4,.4,1) both stamp}.stamp path{stroke-dasharray:30;stroke-dashoffset:30px}.just-connected .stamp path{animation:.35s ease-out .18s forwards draw}.lobby-row{justify-content:center;display:flex;position:absolute;top:380px;left:0;right:0}.pill{white-space:nowrap;background:#ffffff1a;border-radius:999px;align-items:center;gap:12px;padding:14px 28px;font-size:28px;font-weight:700;display:flex}.pill b{font-variant-numeric:tabular-nums;font-size:34px;font-weight:800}.pill.waiting{color:var(--muted)}.pill.count{opacity:0;max-width:0;margin-right:0;padding-left:0;padding-right:0;transition:max-width .6s cubic-bezier(.65,0,.35,1),padding .6s cubic-bezier(.65,0,.35,1),margin .6s cubic-bezier(.65,0,.35,1),opacity .4s;overflow:hidden}.is-lobby .pill.count{opacity:1;max-width:220px;margin-right:20px;padding-left:28px;padding-right:28px}.just-connected .pill.count{transition-delay:.9s}.dots{gap:6px;display:flex}.dots i{background:currentColor;border-radius:50%;width:10px;height:10px;animation:1.2s ease-in-out infinite dot}.dots i:nth-child(2){animation-delay:.15s}.dots i:nth-child(3){animation-delay:.3s}.pairing-hint{text-align:center;color:#fff6;font-size:34px;font-weight:600;transition:opacity .35s,transform .35s;position:absolute;top:640px;left:0;right:0}.is-lobby .pairing-hint{opacity:0;pointer-events:none;transform:translateY(20px)}.chips{flex-wrap:wrap;place-content:flex-start center;gap:36px 34px;display:flex;position:absolute;inset:500px 90px 90px}.chip{color:#fff;transform:rotate(var(--tilt));animation:chip-in .55s cubic-bezier(.2, 1.6, .4, 1) calc(var(--i) * 60ms) both;border-radius:999px;align-items:center;gap:20px;padding:12px 40px 12px 12px;display:flex;position:relative;box-shadow:inset 0 -7px #00000038,0 14px 30px #00000040}.just-connected .chip{animation-delay:calc(1.25s + var(--i) * 80ms)}.chip .avatar{box-shadow:none;border:4px solid #ffffffd9}.chip-name{text-overflow:ellipsis;white-space:nowrap;text-shadow:0 2px #0000002e;max-width:300px;font-size:52px;font-weight:850;overflow:hidden}.chips.many{gap:22px 24px}.chips.many .chip-name{max-width:260px;font-size:40px}.chip.away{filter:grayscale(.8);opacity:.55}.host-badge{font-family:var(--ui);background:var(--gold);color:#5a3a00;border-radius:50%;place-items:center;width:42px;height:42px;font-size:24px;display:grid;position:absolute;top:-8px;left:-6px;box-shadow:0 4px #b88a12}.round-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffff14;border:1px solid #ffffff1a;border-radius:999px;align-items:center;gap:18px;padding:12px 24px 12px 26px;animation:.5s both fade-in;display:flex;position:absolute;top:48px;left:50%;translate:-50%}.round-label{color:#ffffffd9;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:24px;font-weight:700}.round-bar{gap:6px;display:flex}.round-bar i{background:#fff3;border-radius:3px;width:30px;height:6px;transition:background .5s}.round-bar i.on{background:#fff}.round{--ease:cubic-bezier(.65, 0, .35, 1)}.round-card{background:var(--card);width:1460px;height:420px;color:var(--ink);transition:width .8s var(--ease), height .8s var(--ease), top .8s var(--ease), border-radius .8s var(--ease);border-radius:56px;animation:.6s cubic-bezier(.2,1.2,.35,1) both enter-up;position:absolute;top:330px;left:50%;translate:-50%;box-shadow:0 40px 100px #0006}.phase-results .round-card{border-radius:60px;width:1660px;height:580px;top:290px}.card-glow{border-radius:inherit;opacity:0;pointer-events:none;transition:opacity .8s;position:absolute;inset:0;overflow:hidden}.card-glow:before{content:"";background:radial-gradient(circle,#eee7ff 0%,#eee7ff99 40%,#fff0 70%);border-radius:50%;width:820px;height:820px;position:absolute;top:-40px;right:-60px}.phase-results .card-glow{opacity:1}.q-layer{transition:opacity .4s ease, transform .6s var(--ease), filter .4s ease;flex-direction:column;justify-content:center;align-items:center;padding:0 100px;display:flex;position:absolute;inset:0}.phase-results .q-layer{opacity:0;filter:blur(8px);pointer-events:none;transform:translateY(-30px)scale(.96)}.question-lead{letter-spacing:.01em;color:#8a7fa6;font-size:34px;font-weight:700}.question-text{text-align:center;letter-spacing:-.02em;text-wrap:balance;margin-top:14px;font-size:84px;font-weight:800;line-height:1.1}.question-text.long{font-size:68px}.vote-counter{transition:opacity .35s ease, transform .5s var(--ease), visibility 0s linear 0s;flex-direction:column;align-items:flex-end;display:flex;position:absolute;bottom:60px;right:80px}.phase-results .vote-counter{opacity:0;visibility:hidden;transition:opacity .35s ease, transform .5s var(--ease), visibility 0s linear .5s;transform:translateY(30px)}.vote-counter-num{font-variant-numeric:tabular-nums;align-items:baseline;line-height:1;display:flex}.vote-counter-num b{letter-spacing:-.03em;font-size:120px;font-weight:800;animation:.45s cubic-bezier(.2,1.6,.4,1) bump}.vote-counter-num span{color:#ffffff73;margin-left:6px;font-size:48px;font-weight:700}.vote-counter-label{letter-spacing:.2em;text-transform:uppercase;color:var(--muted);margin-top:6px;font-size:26px;font-weight:700}.floaters{width:0;height:0;position:absolute;bottom:150px;right:120px}.floater{animation:4.2s cubic-bezier(.33,0,.4,1) both float-rise;position:absolute;top:-30px;left:-30px}.floater-sway{animation:1.4s ease-in-out infinite alternate both sway}.floater-pop{animation:4.2s both pop-fade}.floater .avatar{border:3px solid #fff;display:block;box-shadow:0 6px 18px #0000004d}.round{--base:.15s}.round.morph{--base:.7s}.r-layer{flex-direction:column;justify-content:center;width:900px;display:flex;position:absolute;top:0;bottom:0;left:100px}.r-eyebrow{color:#6b4fe0;letter-spacing:.14em;text-transform:uppercase;animation:rise-in .5s cubic-bezier(.2, 1, .3, 1) var(--base) both;background:#f1ecff;border-radius:999px;align-self:flex-start;padding:8px 18px;font-size:22px;font-weight:800}.r-layer.tie .r-eyebrow{color:#a86a00;background:#fff3d1}.r-layer.none .r-eyebrow{letter-spacing:0;text-transform:none;color:var(--ink);background:0 0;padding:0;font-size:40px}.r-names{letter-spacing:-.035em;white-space:nowrap;margin-top:18px;font-size:112px;font-weight:800;line-height:1}.r-layer.tie .r-names{font-size:92px}.r-name{animation:name-in .6s cubic-bezier(.2, 1.5, .4, 1) calc(var(--base) + .1s + var(--d)) both;display:inline-block;position:relative}.r-name:after{content:"";z-index:-1;transform-origin:0;height:34%;animation:swipe .5s cubic-bezier(.65, 0, .35, 1) calc(var(--base) + .45s + var(--d)) both;background:#ffd45c;border-radius:10px;position:absolute;bottom:6px;left:-6px;right:-6px}.r-names span{z-index:0;position:relative}.r-amp{color:#b9aed6;animation:fade-in .4s ease calc(var(--base) + .2s) both;margin:0 18px;font-style:normal;font-weight:700}.r-sentence{letter-spacing:-.015em;color:#3a3350;text-wrap:balance;margin-top:24px;font-size:50px;font-weight:700;line-height:1.2}.r-sentence span{white-space:pre;animation:word-in .5s cubic-bezier(.2, 1, .3, 1) calc(var(--base) + var(--d)) both;display:inline-block}.r-votes{align-items:center;gap:18px;margin-top:34px;display:flex}.r-count{color:#4a4360;animation:fade-in .4s ease calc(var(--base) + .8s) both;background:#f3f1f8;border-radius:999px;padding:10px 22px;font-size:26px;font-weight:700}.r-voters{display:flex}.r-voters .mini{animation:pop-in .4s cubic-bezier(.2, 1.6, .4, 1) calc(var(--base) + var(--d)) both;margin-left:-12px}.r-voters .mini:first-child{margin-left:0}.r-voters .avatar{border:4px solid #fff;display:block;box-shadow:0 4px 10px #00000026}.r-stage{width:620px;height:0;position:absolute;bottom:0;right:70px}.r-floor{width:440px;height:44px;animation:fade-in .5s ease calc(var(--base) + .35s) both;background:radial-gradient(#28145a47,#28145a00 70%);border-radius:50%;margin-left:-220px;position:absolute;bottom:-14px;left:50%}.r-stage.tie .r-floor{width:620px;margin-left:-310px}.pose{transform-origin:50% 100%;filter:drop-shadow(0 18px 24px #1e0f4647);width:auto;height:760px;animation:pose-in .9s cubic-bezier(.2, 1.4, .35, 1) calc(var(--base) + .3s) both, idle 4s ease-in-out calc(var(--base) + 1.4s) infinite;position:absolute;bottom:-10px;left:50%}.pose-0{translate:-50%}.r-stage.tie .pose{height:680px}.r-stage.tie .pose-0{z-index:1;translate:-88%}.r-stage.tie .pose-1{z-index:2;animation-delay:calc(var(--base) + .45s), calc(var(--base) + 1.6s);translate:-12%}.pose-fallback{height:auto;bottom:120px;translate:-50%}.results-hint{font-size:30px;animation:.5s 1.6s both fade-in;bottom:54px}.gameover{flex-direction:column;align-items:center;display:flex}.go-arc{margin-top:36px;animation:.7s cubic-bezier(.2,1,.3,1) both rise-in;overflow:visible}.go-arc-title{font-family:var(--ui);letter-spacing:-.02em;fill:#fff;filter:drop-shadow(0 8px 24px #00000059);font-size:128px;font-weight:800}.go-arc-sub{font-family:var(--ui);letter-spacing:.24em;fill:#fff9;font-size:28px;font-weight:800}.podium{justify-content:center;align-items:flex-end;gap:36px;display:flex;position:absolute;bottom:230px;left:0;right:0}.podium-spot{flex-direction:column;align-items:center;width:340px;animation:.8s cubic-bezier(.2,1.3,.4,1) both podium-in;display:flex;position:relative}.podium-spot.place-3{animation-delay:.2s}.podium-spot.place-2{animation-delay:.45s}.podium-spot.place-1{animation-delay:.75s}.podium-avatar{z-index:1;margin-bottom:-60px;position:relative}.podium-avatar .avatar{border:8px solid #fff;display:block;box-shadow:0 18px 40px #00000059}.place-1 .podium-avatar .avatar{border-color:#ffd45c}.podium-rank{width:64px;height:64px;color:var(--ink);background:#fff;border-radius:50%;place-items:center;font-size:32px;font-weight:800;display:grid;position:absolute;bottom:14px;right:-6px;box-shadow:0 6px 16px #00000040}.place-1 .podium-rank{color:#3d2600;background:#ffd45c;width:76px;height:76px;font-size:38px}.podium-card{background:var(--card);width:100%;color:var(--ink);border-radius:36px 36px 22px 22px;flex-direction:column;justify-content:flex-start;align-items:center;padding-top:82px;display:flex;box-shadow:0 30px 70px #00000059}.place-1 .podium-card{background:linear-gradient(#fff8e2 0%,#fff 55%);height:300px}.place-2 .podium-card{height:240px}.place-3 .podium-card{height:200px}.podium-name{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;max-width:300px;font-size:40px;font-weight:800;overflow:hidden}.podium-points{color:#7a7290;margin-top:6px;font-size:26px;font-weight:700}.place-1 .podium-points{color:#a86a00}.gameover.many .podium{bottom:290px}.gameover.many .place-1 .podium-card{height:250px}.gameover.many .place-2 .podium-card{height:200px}.gameover.many .place-3 .podium-card{height:185px}.rest{flex-wrap:wrap;justify-content:center;gap:14px 16px;padding:0 120px;display:flex;position:absolute;bottom:90px;left:0;right:0}.rest-row{animation:rise-in .5s cubic-bezier(.2, 1, .3, 1) calc(1.3s + var(--i) * 60ms) both;background:#ffffff1a;border-radius:999px;align-items:center;gap:12px;padding:8px 22px 8px 10px;font-size:26px;font-weight:700;display:flex}.rest-row .rank{text-align:center;width:40px;color:var(--muted);font-variant-numeric:tabular-nums}.rest-row .avatar{box-shadow:none;display:block}.rest-row b{color:var(--muted);font-weight:600}.enter-up{animation:.6s cubic-bezier(.2,1.2,.35,1) both enter-up}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes enter-up{0%{opacity:0;transform:translateY(60px)scale(.96)}to{opacity:1;transform:none}}@keyframes pop-in{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@keyframes winner-in{0%{opacity:0;transform:scale(.3)rotate(-8deg)}70%{transform:scale(1.12)rotate(2deg)}to{opacity:1;transform:none}}@keyframes rise{0%{opacity:0;transform:translateY(120px)}to{opacity:1;transform:none}}@keyframes bob{0%,to{transform:translateY(0)rotate(-6deg)}50%{transform:translateY(-12px)rotate(6deg)}}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}@keyframes drop-in{0%{opacity:0;transform:translate(-50%,-80px)}to{opacity:1;transform:translate(-50%)}}@keyframes chip-in{0%{opacity:0;transform:scale(.3) rotate(calc(var(--tilt) * 4))}to{opacity:1;transform:rotate(var(--tilt))}}@keyframes hop{0%,to{transform:translateY(0)}50%{transform:translateY(-22px)}}@keyframes dot{0%,to{opacity:.3;transform:translateY(0)}50%{opacity:1;transform:translateY(-6px)}}@keyframes stamp{0%{opacity:0;transform:scale(.2)rotate(-25deg)}22%{opacity:1;transform:scale(1.12)rotate(6deg)}34%{transform:scale(1)rotate(0)}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}@keyframes draw{to{stroke-dashoffset:0}}@keyframes roll-in{0%{opacity:0;filter:blur(4px);transform:translateY(80%)rotateX(-70deg)}to{opacity:1;filter:none;transform:none}}@keyframes live{0%{box-shadow:0 0 #2ecc7199}to{box-shadow:0 0 0 12px #2ecc7100}}@keyframes bump{0%{color:#ffd45c;transform:scale(1.35)}to{transform:none}}@keyframes float-up-old{0%{opacity:0;transform:translateY(30px)scale(.3)}12%{opacity:1;transform:translate(0)scale(1.1)}22%{transform:translate(calc(var(--drift) * .15), -60px) scale(1)}50%{transform:translate(var(--drift), -260px) scale(.95) rotate(-6deg)}75%{opacity:.9;transform:translate(calc(var(--drift) * .4), -460px) scale(.85) rotate(5deg)}to{opacity:0;transform:translate(calc(var(--drift) * .9), -640px) scale(.7)}}@keyframes card-in{0%{opacity:0;transform:translateY(80px)scale(.96)}to{opacity:1;transform:none}}@keyframes circle-in{0%{opacity:0;transform:scale(.5)}to{opacity:1;transform:none}}@keyframes pose-in{0%{opacity:0;transform:translateY(260px)scale(.6)}60%{opacity:1;transform:translateY(-24px)scale(1.04)}to{opacity:1;transform:none}}@keyframes name-in{0%{opacity:0;transform:translateY(40px)scale(.8)}to{opacity:1;transform:none}}@keyframes word-in{0%{opacity:0;filter:blur(6px);transform:translateY(24px)}to{opacity:1;filter:none;transform:none}}@keyframes glow{0%,to{opacity:.55;transform:scale(.95)}50%{opacity:1;transform:scale(1.06)}}@keyframes float-rise{0%{transform:translateY(0)}to{transform:translateY(-560px)}}@keyframes sway{0%{transform:translateX(calc(var(--drift) * -1))}to{transform:translateX(var(--drift))}}@keyframes pop-fade{0%{opacity:0;transform:scale(.2)}8%{opacity:1;transform:scale(1.12)}14%{transform:scale(1)}65%{opacity:1}to{opacity:0;transform:scale(.75)}}@keyframes rise-in{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes swipe{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@keyframes idle{0%,to{transform:translateY(0)rotate(0)}50%{transform:translateY(-8px)rotate(-.6deg)}}@keyframes podium-in{0%{opacity:0;transform:translateY(140px)}to{opacity:1;transform:none}}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.phone-hint{text-align:center;background:var(--bg);cursor:auto;flex-direction:column;justify-content:center;align-items:center;gap:18px;padding:32px;display:flex;position:fixed;inset:0}.phone-hint img{border-radius:22px}.phone-hint h1{letter-spacing:.02em;margin:0;font-family:Luckiest Guy;font-size:34px;font-weight:400}.phone-hint p{max-width:420px;color:var(--muted);margin:0;font-size:18px;line-height:1.45}.demo-bar.hidden{display:none}.demo-bar{z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);cursor:auto;background:#000000b8;border-radius:14px;align-items:center;gap:6px;padding:8px;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.demo-bar button{color:#fff;font:600 13px var(--ui);cursor:pointer;background:#ffffff1f;border:0;border-radius:9px;padding:7px 11px}.demo-bar button.on{color:#111;background:#fff}.demo-bar span{background:#ffffff40;width:1px;height:22px;margin:0 4px}body:has(.demo-bar){cursor:auto}
