:root{--bg: #120c2e;--panel: rgba(28, 20, 66, .72);--panel-solid: #1d1546;--line: rgba(255, 255, 255, .12);--text: #fff8ec;--muted: #b9b0dc;--gold: #ffc93c;--gold-dark: #c07a12;--red: #ff3b4e;--green: #22d36b;--yellow: #ffc21a;--blue: #2f8bff;--safe-t: env(safe-area-inset-top, 0px);--safe-b: env(safe-area-inset-bottom, 0px);--safe-l: env(safe-area-inset-left, 0px);--safe-r: env(safe-area-inset-right, 0px);--display: "Lilita One", "Arial Black", system-ui, sans-serif;--ui: "Nunito", system-ui, -apple-system, "Segoe UI", sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;height:100%;overflow:hidden;background:var(--bg);color:var(--text);font-family:var(--ui);font-weight:700;overscroll-behavior:none;touch-action:none;user-select:none;-webkit-user-select:none}#scene{position:fixed;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none}#cineBars i{position:fixed;left:0;right:0;height:9vh;background:#000;z-index:4;pointer-events:none;transition:transform .45s cubic-bezier(.2,.8,.2,1)}#cineBars i:first-child{top:0;transform:translateY(-100%)}#cineBars i:last-child{bottom:0;transform:translateY(100%)}body.cine #cineBars i{transform:translateY(0)}body.cine #hud .pcard,body.cine #hud .hud-top,body.cine #hud .talk-dock,body.cine #hud .hud-bottom{opacity:.15;transition:opacity .3s}#hud .pcard,#hud .hud-top,#hud .talk-dock,#hud .hud-bottom{transition:opacity .4s}#vignette{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;background:radial-gradient(ellipse at 50% 45%,transparent 55%,rgba(5,2,20,.55) 100%)}.hidden{display:none!important}button{font-family:inherit;color:inherit;border:0;cursor:pointer}input{font-family:inherit}#loading{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;place-content:center;gap:22px;background:radial-gradient(circle at 50% 40%,#2b1d6e,#0c0822 70%);transition:opacity .6s ease}#loading.gone{opacity:0;pointer-events:none}.loader-logo{font-family:var(--display);font-size:56px;letter-spacing:2px;text-align:center;line-height:.9;color:var(--gold);text-shadow:0 4px 0 var(--gold-dark),0 10px 30px rgba(255,180,40,.4)}.loader-logo span{display:block;font-size:26px;color:#fff;text-shadow:none;letter-spacing:8px}.loader-bar{width:200px;height:8px;border-radius:8px;background:#ffffff1f;overflow:hidden}.loader-bar i{display:block;height:100%;width:40%;border-radius:8px;background:linear-gradient(90deg,var(--gold),#ff7a3c);animation:load 1s ease-in-out infinite alternate}@keyframes load{0%{transform:translate(-60%)}to{transform:translate(210%)}}.screen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:calc(16px + var(--safe-t)) 16px calc(16px + var(--safe-b));overflow-y:auto;touch-action:pan-y}.panel{width:100%;max-width:400px;background:var(--panel);border:1px solid var(--line);border-radius:24px;padding:18px;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);box-shadow:0 20px 60px #00000073,inset 0 1px #ffffff14}#home{justify-content:space-between}.home-top{flex:1;display:flex;align-items:flex-start;justify-content:center;padding-top:2vh}.logo{text-align:center;font-family:var(--display);line-height:.85;animation:logoIn .9s cubic-bezier(.2,1.6,.4,1) both}.logo-main{font-size:clamp(64px,19vw,110px);letter-spacing:3px;background:linear-gradient(180deg,#fff3b0,#ffc93c 45%,#ff8a1f);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 5px 0 #8a3f08) drop-shadow(0 14px 24px rgba(255,150,30,.45))}.logo-sub{font-size:clamp(22px,6.5vw,34px);letter-spacing:10px;color:#fff;text-shadow:0 3px 0 rgba(0,0,0,.35);margin-top:4px}.logo-sub b{color:#7ef0ff;font-weight:400}@keyframes logoIn{0%{opacity:0;transform:scale(.4) translateY(-30px)}}.home-panel{display:flex;flex-direction:column;gap:12px;animation:rise .6s .15s ease both}@keyframes rise{0%{opacity:0;transform:translateY(30px)}}.home-foot{display:flex;gap:10px;margin-top:12px}.chip-btn{background:#ffffff1a;border:1px solid var(--line);padding:8px 14px;border-radius:999px;font-weight:800;font-size:14px}.field{display:flex;flex-direction:column;gap:6px}.field span{font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:1px}.field input,.join-row input{width:100%;height:50px;border-radius:14px;border:2px solid rgba(255,255,255,.14);background:#08051a8c;color:#fff;font-size:18px;font-weight:800;padding:0 14px;outline:none;user-select:text;-webkit-user-select:text}.field input:focus,.join-row input:focus{border-color:var(--gold)}.join-row{display:flex;gap:8px}.join-row input{text-transform:uppercase;letter-spacing:4px;text-align:center;font-family:var(--display);font-weight:400}.join-row .btn{width:110px;flex:none}.divider{display:flex;align-items:center;gap:10px;color:var(--muted);font-size:12px;text-transform:uppercase}.divider:before,.divider:after{content:"";flex:1;height:1px;background:var(--line)}.solo-row{display:flex;gap:8px;align-items:stretch}.solo-row .btn{flex:1}.solo-row .seg{flex:none}.btn{--c1: #5a6cff;--c2: #3b3fd8;--sh: #24228a;position:relative;height:52px;border-radius:16px;font-family:var(--display);font-size:20px;letter-spacing:.5px;color:#fff;background:linear-gradient(180deg,var(--c1),var(--c2));box-shadow:0 5px 0 var(--sh),0 10px 20px #0000004d,inset 0 2px #ffffff59;text-shadow:0 2px 0 rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;gap:8px;transition:transform .08s ease,box-shadow .08s ease,filter .2s}.btn:active{transform:translateY(4px);box-shadow:0 1px 0 var(--sh),0 4px 10px #0000004d,inset 0 2px #ffffff59}.btn:disabled{filter:grayscale(.8) brightness(.7);pointer-events:none}.btn-lg{height:60px;font-size:24px}.btn-gold{--c1: #ffd75e;--c2: #ff9f1c;--sh: #b4560a;color:#4a1f00;text-shadow:0 1px 0 rgba(255,255,255,.4)}.btn-blue{--c1: #4fb0ff;--c2: #2a6bff;--sh: #1a3f9e}.btn-green{--c1: #4fe58d;--c2: #16b15a;--sh: #0b6a35}.btn-purple{--c1: #b07bff;--c2: #7a3cf0;--sh: #44188f}.btn-red{--c1: #ff6b7a;--c2: #e2283f;--sh: #8a1020}.btn-ghost{background:#ffffff14;box-shadow:inset 0 0 0 1px var(--line);font-size:17px;height:46px}.btn-ghost:active{transform:translateY(2px);box-shadow:inset 0 0 0 1px var(--line)}.btn .ico{font-size:20px}.icon-btn{width:44px;height:44px;border-radius:14px;background:#ffffff1a;font-size:20px;display:grid;place-items:center;flex:none}.icon-btn.glass{background:#140c328c;border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.seg{display:flex;background:#08051a8c;border-radius:12px;padding:3px;gap:3px}.seg button{min-width:40px;padding:7px 10px;border-radius:9px;background:transparent;font-weight:900;font-size:14px;color:var(--muted)}.seg button.on{background:linear-gradient(180deg,#ffd75e,#ff9f1c);color:#4a1f00;box-shadow:0 2px #b4560a}.seg.locked button{pointer-events:none}.seg.locked button:not(.on){opacity:.45}.lobby-panel{display:flex;flex-direction:column;gap:12px}.lobby-head{display:flex;align-items:center;justify-content:space-between}.room-code{text-align:center}.room-code small{display:block;font-size:11px;letter-spacing:2px;color:var(--muted)}.room-code b{font-family:var(--display);font-weight:400;font-size:40px;letter-spacing:6px;color:var(--gold);text-shadow:0 3px 0 var(--gold-dark)}.seats{display:grid;grid-template-columns:1fr 1fr;gap:8px}.seat{--c: #888;position:relative;border-radius:16px;padding:10px;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 40%,transparent),#0a061e99);border:2px solid color-mix(in srgb,var(--c) 70%,transparent);min-height:108px;display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center}.seat.empty{border-style:dashed;background:#0a061e66}.seat img,.seat .ph{width:54px;height:54px;border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 60%,white),var(--c))}.seat.empty img{opacity:.35;filter:grayscale(.6)}.seat .sname{font-weight:900;font-size:15px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seat .stag{font-size:11px;color:var(--muted)}.seat .tag-row{display:flex;gap:4px;justify-content:center}.seat .tag{font-size:10px;padding:2px 6px;border-radius:6px;background:#ffffff26;font-weight:900;letter-spacing:.5px}.seat .tag.host{background:var(--gold);color:#4a1f00}.seat .tag.you{background:#7ef0ff;color:#003040}.seat-actions{display:flex;gap:6px;margin-top:2px}.mini-btn{font-size:12px;font-weight:900;padding:5px 10px;border-radius:8px;background:#ffffff29}.mini-btn.x{background:#ff3c504d}.settings-box{display:flex;flex-direction:column;gap:8px;padding:10px;border-radius:16px;background:#08051a59}.set-row{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px}.lobby-wait{text-align:center;color:var(--muted);padding:8px}#hud{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}#hud>*{pointer-events:auto}#hud #floaters,#hud .banner{pointer-events:none}.hud-top{position:absolute;top:calc(8px + var(--safe-t));left:50%;transform:translate(-50%);display:flex;align-items:center;gap:8px}.turn-pill{min-width:120px;max-width:46vw;padding:8px 14px;border-radius:999px;background:#140c3299;border:1px solid var(--line);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);text-align:center;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pcard{--c: #888;--t: 0;position:absolute;width:92px;display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .3s cubic-bezier(.2,1.4,.4,1),opacity .3s;pointer-events:none}.pcard.vacant{opacity:0}.pcard[data-corner="0"]{top:calc(60px + var(--safe-t));left:calc(8px + var(--safe-l))}.pcard[data-corner="1"]{top:calc(60px + var(--safe-t));right:calc(8px + var(--safe-r))}.pcard[data-corner="2"]{bottom:calc(12px + var(--safe-b));right:calc(8px + var(--safe-r))}.pcard[data-corner="3"]{bottom:calc(12px + var(--safe-b));left:calc(8px + var(--safe-l))}.pcard .avatar{position:relative;width:58px;height:58px;border-radius:50%;padding:4px;background:conic-gradient(var(--c) calc(var(--t) * 360deg),rgba(255,255,255,.15) 0);box-shadow:0 6px 18px #0006}.pcard .avatar img,.pcard .avatar .ph{width:100%;height:100%;border-radius:50%;display:block;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--c) 55%,white),var(--c));border:2px solid rgba(255,255,255,.85)}.pcard.active{transform:scale(1.12)}.pcard.active .avatar{box-shadow:0 0 0 3px #ffffffe6,0 0 24px 6px color-mix(in srgb,var(--c) 80%,transparent);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{50%{box-shadow:0 0 0 3px #ffffffe6,0 0 34px 12px color-mix(in srgb,var(--c) 60%,transparent)}}.pcard .pname{max-width:92px;font-size:13px;font-weight:900;padding:2px 8px;border-radius:8px;background:#0a061e99;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border-bottom:2px solid var(--c)}.pcard .pmeta{display:flex;gap:3px;align-items:center}.pcard .dot{width:9px;height:9px;border-radius:50%;background:#fff3;border:1px solid rgba(255,255,255,.35)}.pcard .dot.home{background:var(--c);border-color:#fff;box-shadow:0 0 6px var(--c)}.pcard .lock{font-size:11px;line-height:1;margin-left:2px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.6))}.pcard .badge{position:absolute;top:-4px;right:10px;font-size:10px;font-weight:900;padding:1px 5px;border-radius:6px;background:#fff;color:#222}.pcard .badge.off{background:#ff5468;color:#fff}.pcard .rank{position:absolute;top:16px;left:50%;transform:translate(-50%);font-family:var(--display);font-size:26px;color:var(--gold);text-shadow:0 2px 0 var(--gold-dark),0 0 12px rgba(0,0,0,.6)}.pcard .bubble{position:absolute;top:-8px;font-size:30px;padding:4px 8px;border-radius:14px;background:#fff;color:#222;white-space:nowrap;font-size:15px;font-weight:900;box-shadow:0 6px 18px #00000059;animation:bubble 2.2s ease forwards;z-index:3}.pcard .bubble.emoji{font-size:34px;background:transparent;box-shadow:none;padding:0}.pcard[data-corner="0"] .bubble,.pcard[data-corner="3"] .bubble{left:70px}.pcard[data-corner="1"] .bubble,.pcard[data-corner="2"] .bubble{right:70px}@keyframes bubble{0%{opacity:0;transform:scale(.3)}12%{opacity:1;transform:scale(1.15)}20%{transform:scale(1)}80%{opacity:1}to{opacity:0;transform:translateY(-16px)}}.hud-bottom{position:absolute;left:50%;bottom:calc(14px + var(--safe-b));transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.hud-bottom>*{pointer-events:auto}.dice-chips{display:flex;gap:6px;min-height:40px}.chip{--c: #fff;width:40px;height:40px;border-radius:11px;display:grid;place-items:center;font-family:var(--display);font-size:22px;color:#2a1c55;background:linear-gradient(180deg,#fff,#e6e0ff);box-shadow:0 3px #9b90d0,0 0 0 2px var(--c);transition:transform .2s,opacity .3s;animation:chipIn .35s cubic-bezier(.2,1.6,.4,1) both}.chip.sum{width:auto;padding:0 10px;font-size:16px;background:#ffffff24;color:#fff;box-shadow:none}.chip.used{opacity:.3;transform:scale(.85);text-decoration:line-through}@keyframes chipIn{0%{transform:scale(0) rotate(-40deg)}}.roll-btn{position:relative;width:104px;height:104px;border-radius:50%;background:radial-gradient(circle at 50% 30%,#ffe27a,#ff9f1c 60%,#e2700a);box-shadow:0 7px #a04c06,0 14px 30px #ff8c1473,inset 0 3px #ffffff80;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:rollIn .45s cubic-bezier(.2,1.6,.4,1) both,rollGlow 1.4s ease-in-out infinite .45s}.roll-btn.holding{animation:shakeBtn .12s linear infinite;box-shadow:0 3px #a04c06,0 0 50px #ffc83cf2,inset 0 3px #ffffff80}@keyframes shakeBtn{0%{transform:translate(-2px,1px) rotate(-4deg) scale(.96)}50%{transform:translate(2px,-1px) rotate(4deg) scale(.96)}to{transform:translate(-2px,1px) rotate(-4deg) scale(.96)}}.roll-btn:active{transform:translateY(5px) scale(.97);box-shadow:0 2px #a04c06,0 6px 14px #ff8c1473,inset 0 3px #ffffff80}.roll-btn .roll-dice{font-size:40px;line-height:1;filter:drop-shadow(0 2px 0 rgba(0,0,0,.25))}.roll-btn .roll-label{font-family:var(--display);font-size:20px;color:#4a1f00;letter-spacing:1px}@keyframes rollIn{0%{transform:scale(0)}}@keyframes rollGlow{50%{box-shadow:0 7px #a04c06,0 14px 44px #ffbe28d9,inset 0 3px #ffffff80}}.hint{font-size:13px;font-weight:900;color:#fff;text-shadow:0 2px 6px rgba(0,0,0,.8);min-height:18px;text-align:center;max-width:50vw}.banner{position:absolute;left:0;right:0;top:40%;text-align:center;font-family:var(--display);font-size:clamp(38px,11vw,72px);color:#fff;-webkit-text-stroke:2px rgba(0,0,0,.35);text-shadow:0 5px 0 rgba(0,0,0,.35),0 0 30px var(--bc, rgba(255, 200, 60, .8));opacity:0;transform:scale(.5);z-index:6}.banner small{display:block;font-family:var(--ui);font-weight:900;font-size:16px;-webkit-text-stroke:0;text-shadow:0 2px 6px rgba(0,0,0,.8)}.banner.show{animation:bannerIn 1.5s cubic-bezier(.2,1.4,.4,1) forwards}@keyframes bannerIn{0%{opacity:0;transform:scale(.3) rotate(-6deg)}15%{opacity:1;transform:scale(1.12) rotate(2deg)}25%{transform:scale(1) rotate(0)}80%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.2) translateY(-20px)}}#floaters{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden}.floater{position:absolute;left:0;top:0;font-family:var(--display);font-size:22px;color:#fff;white-space:nowrap;-webkit-text-stroke:1px rgba(0,0,0,.4);text-shadow:0 3px 0 rgba(0,0,0,.35),0 0 16px var(--fc, #ffc93c);animation:floatUp 1.3s ease-out forwards}@keyframes floatUp{0%{opacity:0;translate:-50% 0;scale:.4}15%{opacity:1;scale:1.2}30%{scale:1}to{opacity:0;translate:-50% -70px}}.emote-panel{position:absolute;top:calc(60px + var(--safe-t));left:50%;transform:translate(-50%);width:min(320px,calc(100vw - 32px));padding:10px;border-radius:20px;background:#140c32d9;border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);display:grid;grid-template-columns:repeat(4,1fr);gap:6px;z-index:8;animation:rise .25s ease both}.emote-panel button{height:48px;border-radius:12px;background:#ffffff14;font-size:26px}.emote-panel{max-height:62vh;overflow-y:auto}.emote-panel button.txt{font-size:13px;font-weight:900}.emote-panel .emote-sep{grid-column:1 / -1;font-size:11px;letter-spacing:1px;text-transform:uppercase;color:var(--muted);padding:6px 2px 0}.emote-panel button.voice{grid-column:span 2;height:42px;text-align:left;padding:0 10px;display:flex;align-items:center;gap:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emote-panel button.voice span{font-size:20px}.emote-panel button:active{transform:scale(.92)}.talk-dock{position:absolute;left:calc(10px + var(--safe-l));bottom:calc(150px + var(--safe-b));display:flex;flex-direction:column;gap:10px;align-items:center;z-index:7}.talk-btn{width:58px;height:58px;border-radius:50%;font-size:26px;background:radial-gradient(circle at 50% 30%,#6ee7a6,#13a35a);box-shadow:0 4px #0b6a35,0 8px 20px #00000059;touch-action:none}.talk-btn.live{background:radial-gradient(circle at 50% 30%,#ff8a8a,#e2283f);box-shadow:0 0 0 calc(4px + var(--lvl, 0) * 18px) #ff3c5059,0 8px 20px #00000059;transform:scale(1.12)}.chat-btn{position:relative}.dot-new{position:absolute;top:4px;right:4px;width:10px;height:10px;border-radius:50%;background:#ff3b4e;box-shadow:0 0 0 2px #fff}.rec-pill{position:absolute;left:50%;top:calc(64px + var(--safe-t));transform:translate(-50%);padding:8px 14px;border-radius:999px;background:#be1428e6;font-weight:900;font-size:14px;display:flex;gap:8px;align-items:center;z-index:9;white-space:nowrap}.rec-pill i{width:10px;height:10px;border-radius:50%;background:#fff;animation:pulse 1s infinite}.chat-sheet{position:absolute;left:50%;bottom:calc(10px + var(--safe-b));transform:translate(-50%);width:min(420px,calc(100vw - 20px));max-height:55vh;display:flex;flex-direction:column;border-radius:20px;background:#140c08e0;border:1px solid var(--line);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);z-index:12;overflow:hidden;animation:rise .2s ease both}.chat-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px 4px 14px}.chat-log{flex:1;overflow-y:auto;padding:6px 12px;display:flex;flex-direction:column;gap:6px;touch-action:pan-y;user-select:text;-webkit-user-select:text}.chat-empty{color:var(--muted);text-align:center;padding:18px 0}.chat-msg{--c: #888;align-self:flex-start;max-width:85%;padding:6px 10px;border-radius:14px 14px 14px 4px;background:#ffffff1a;border-left:3px solid var(--c);font-size:14px;line-height:1.3}.chat-msg.mine{align-self:flex-end;border-radius:14px 14px 4px;background:#2f8bff47}.chat-msg small{display:block;font-size:11px;color:var(--c);font-weight:900}.chat-msg button{background:#ffffff26;border-radius:10px;padding:4px 10px;font-weight:900}.chat-form{display:flex;gap:8px;padding:10px}.chat-form input{flex:1;min-width:0;height:44px;border-radius:12px;border:2px solid rgba(255,255,255,.14);background:#00000059;color:#fff;font-size:16px;padding:0 12px;outline:none;user-select:text;-webkit-user-select:text}.chat-form .btn{height:44px;font-size:16px;padding:0 14px}.emote-panel button.clip{grid-column:span 2;height:42px;font-size:13px;font-weight:900;text-align:left;padding:0 10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.emote-panel button.add-clip{grid-column:1 / -1;height:44px;font-size:14px;font-weight:900;background:#22d36b40;border:1px dashed rgba(255,255,255,.35)}.emote-panel .emote-hint{grid-column:1 / -1;font-size:12px;color:var(--muted);padding:0 4px 4px}.wait-card{position:absolute;left:50%;top:34%;transform:translate(-50%);width:min(360px,calc(100vw - 32px));padding:16px;border-radius:20px;background:#180e08e6;border:1px solid var(--line);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);text-align:center;z-index:11;animation:rise .25s ease both}.wait-title{font-family:var(--display);font-size:22px}.wait-title b{color:var(--gold);font-weight:400}.wait-sub{font-size:13px;color:var(--muted);margin:6px 0 12px}.wait-actions{display:flex;gap:8px}.wait-actions .btn{flex:1;font-size:15px;height:46px}.net-bar{position:fixed;top:calc(8px + var(--safe-t));left:50%;transform:translate(-50%);z-index:45;padding:8px 14px;border-radius:999px;background:#be6e14f2;font-weight:900;font-size:13px;white-space:nowrap;display:flex;align-items:center;gap:8px}.net-bar i{width:12px;height:12px;border-radius:50%;border:2px solid #fff;border-top-color:transparent;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}#results{background:radial-gradient(circle at 50% 30%,#28146459,#050214bf)}.results-panel{display:flex;flex-direction:column;gap:14px;animation:rise .5s ease both}.results-title{text-align:center;font-family:var(--display);font-size:40px;color:var(--gold);text-shadow:0 4px 0 var(--gold-dark)}.podium{display:flex;flex-direction:column;gap:8px}.prow{--c: #888;display:flex;align-items:center;gap:12px;padding:8px 12px;border-radius:16px;background:linear-gradient(90deg,color-mix(in srgb,var(--c) 45%,transparent),#0a061e66);border:2px solid color-mix(in srgb,var(--c) 60%,transparent);animation:rise .5s ease both}.prow .place{font-family:var(--display);font-size:30px;width:36px;text-align:center}.prow img,.prow .ph{width:50px;height:50px;border-radius:50%;background:var(--c)}.prow .pn{flex:1;font-size:18px;font-weight:900}.prow .pk{font-size:12px;color:var(--muted)}.prow.first{transform:scale(1.03);box-shadow:0 0 30px color-mix(in srgb,var(--c) 50%,transparent)}.results-actions{display:flex;flex-direction:column;gap:10px}.modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:30;display:grid;place-items:center;padding:16px;background:#05021499;animation:fade .2s ease both}@keyframes fade{0%{opacity:0}}.modal-panel{display:flex;flex-direction:column;gap:10px;max-height:calc(100vh - 32px);overflow-y:auto}.modal-panel h3{margin:0 0 4px;font-family:var(--display);font-weight:400;font-size:28px;text-align:center;color:var(--gold)}.menu-code{text-align:center;color:var(--muted)}.menu-code b{color:#fff;letter-spacing:3px}.howto ul{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:8px;font-size:15px;line-height:1.35;color:#e9e4ff}.howto b{color:#fff}#toast{position:fixed;left:50%;bottom:calc(150px + var(--safe-b));transform:translate(-50%) translateY(20px);z-index:40;padding:10px 18px;border-radius:14px;background:#140c32eb;border:1px solid var(--line);font-weight:800;opacity:0;transition:opacity .25s,transform .25s;pointer-events:none;max-width:calc(100vw - 32px);text-align:center}#toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media (min-width: 700px){.pcard{width:120px}.pcard .avatar{width:74px;height:74px}.pcard .pname{max-width:120px;font-size:15px}.pcard[data-corner="0"],.pcard[data-corner="1"]{top:calc(16px + var(--safe-t))}}@media (max-height: 640px){.logo-main{font-size:64px}.home-top{padding-top:0}.btn-lg{height:54px}}
