:root{--bg:#1a1033;--bg2:#241547;--panel:#24164aeb;--panel-solid:#2a1a55;--panel-2:#33216a;--line:#ffffff1a;--text:#fff8f0;--muted:#b9add9;--pink:#ff4d8d;--pink-d:#c92a66;--yellow:#ffd23f;--yellow-d:#d9a400;--cyan:#2ec4f1;--cyan-d:#1590b8;--green:#3ddc97;--green-d:#1fa56b;--purple:#9b5de5;--purple-d:#6c37b5;--red:#ff4d6d;--radius:20px;--shadow:0 12px 40px #05001473;--safe-b:env(safe-area-inset-bottom,0px);--safe-t:env(safe-area-inset-top,0px);--font:"Fredoka", system-ui, -apple-system, "Segoe UI", sans-serif;--display:"Lilita One", "Fredoka", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{overscroll-behavior:none;height:100%;margin:0;overflow:hidden}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;font-size:16px}input,textarea{-webkit-user-select:text;user-select:text}button{color:inherit;font-family:inherit}.scroll{-webkit-overflow-scrolling:touch;overflow-y:auto}.party-bg{background:radial-gradient(1200px 600px at 10% -10%,#ff4d8d59,#0000 60%),radial-gradient(900px 600px at 110% 10%,#2ec4f147,#0000 60%),radial-gradient(900px 700px at 50% 120%,#9b5de573,#0000 60%),linear-gradient(#1a1033,#12092a);position:fixed;inset:0;overflow:hidden}.confetti{opacity:.75;border-radius:2px;width:8px;height:14px;animation:linear infinite fall;position:absolute}@keyframes fall{0%{transform:translateY(-10vh)rotate(0)}to{transform:translateY(110vh)rotate(720deg)}}.logo{font-family:var(--display);letter-spacing:1px;text-align:center;color:var(--yellow);text-shadow:0 4px 0 var(--pink-d), 0 8px 0 #5a1a6e, 0 14px 30px #00000080;margin:0;font-size:clamp(48px,13vw,96px);line-height:.9;transform:rotate(-3deg)}.logo span{color:var(--pink);text-shadow:0 4px #8a1d4a,0 8px #3b1050,0 14px 30px #00000080;display:block}h1,h2,h3{font-family:var(--display);letter-spacing:.5px;margin:0;font-weight:400}.muted{color:var(--muted)}.small{font-size:13px}.btn{--c:var(--pink);--d:var(--pink-d);appearance:none;background:var(--c);color:#fff;box-shadow:0 5px 0 var(--d), 0 10px 24px #0000004d;cursor:pointer;text-shadow:0 2px #00000026;white-space:nowrap;border:0;border-radius:16px;justify-content:center;align-items:center;gap:8px;padding:14px 22px;font-size:18px;font-weight:700;transition:transform 80ms,box-shadow 80ms,filter .15s;display:inline-flex}.btn:hover{filter:brightness(1.07)}.btn:active:not(:disabled){box-shadow:0 1px 0 var(--d), 0 4px 10px #0000004d;transform:translateY(4px)}.btn:disabled{opacity:.5;cursor:not-allowed}.btn.yellow{--c:var(--yellow);--d:var(--yellow-d);color:#3a2200;text-shadow:none}.btn.cyan{--c:var(--cyan);--d:var(--cyan-d)}.btn.green{--c:var(--green);--d:var(--green-d);color:#06301c;text-shadow:none}.btn.purple{--c:var(--purple);--d:var(--purple-d)}.btn.ghost{--c:#ffffff1a;--d:#00000059;box-shadow:0 4px 0 var(--d)}.btn.block{width:100%}.btn.sm{border-radius:12px;padding:9px 14px;font-size:15px}.btn.lg{border-radius:20px;padding:18px 28px;font-size:22px}.icon-btn{appearance:none;background:var(--panel);-webkit-backdrop-filter:blur(10px);cursor:pointer;border:0;border:1px solid var(--line);border-radius:16px;place-items:center;width:48px;height:48px;font-size:22px;transition:transform 80ms;display:grid;position:relative;box-shadow:0 4px #00000059,0 8px 20px #00000040}.icon-btn:active{transform:translateY(3px)}.icon-btn.active{background:var(--pink)}.badge{background:var(--red);color:#fff;border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:12px;font-weight:700;animation:.3s bounce-in;display:grid;position:absolute;top:-6px;right:-6px;box-shadow:0 2px 6px #0006}.field{text-align:left;flex-direction:column;gap:6px;display:flex}.field label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;font-size:13px;font-weight:600}.input{appearance:none;width:100%;color:var(--text);background:#0a041e8c;border:2px solid #ffffff1f;border-radius:14px;outline:none;padding:13px 16px;font-family:inherit;font-size:17px;transition:border-color .15s,background .15s}.input:focus{border-color:var(--yellow);background:#0a041ebf}.input.code{text-transform:uppercase;letter-spacing:6px;font-family:var(--display);text-align:center;font-size:26px}.toggle{cursor:pointer;align-items:center;gap:10px;font-weight:600;display:inline-flex}.toggle .track{background:#ffffff26;border-radius:14px;width:46px;height:28px;transition:background .2s;position:relative}.toggle .track:after{content:"";background:#fff;border-radius:50%;width:22px;height:22px;transition:transform .2s;position:absolute;top:3px;left:3px;box-shadow:0 2px 4px #0000004d}.toggle.on .track{background:var(--green)}.toggle.on .track:after{transform:translate(18px)}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(14px);padding:20px}.modal-back{-webkit-backdrop-filter:blur(4px);z-index:50;background:#08031699;justify-content:center;align-items:flex-end;animation:.15s fade-in;display:flex;position:fixed;inset:0}@media (width>=700px){.modal-back{align-items:center}}.modal{background:var(--panel-solid);border:1px solid var(--line);width:100%;max-width:520px;max-height:88dvh;padding:20px 18px calc(18px + var(--safe-b));box-shadow:var(--shadow);border-radius:26px 26px 0 0;flex-direction:column;animation:.25s cubic-bezier(.2,1.2,.4,1) slide-up;display:flex}@media (width>=700px){.modal{border-radius:26px;padding-bottom:20px}}.modal-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.modal-head h2{font-size:26px}.close-x{appearance:none;cursor:pointer;background:#ffffff1a;border:0;border-radius:12px;flex-shrink:0;width:38px;height:38px;font-size:18px}@keyframes fade-in{0%{opacity:0}}@keyframes slide-up{0%{opacity:0;transform:translateY(40px)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.3)}60%{transform:scale(1.12)}to{transform:scale(1)}}@keyframes wiggle{0%,to{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.06)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}.toasts{top:calc(12px + var(--safe-t));z-index:100;pointer-events:none;flex-direction:column;gap:8px;width:min(92vw,420px);display:flex;position:fixed;left:50%;transform:translate(-50%)}.toast{background:var(--panel-solid);border:1px solid var(--line);border-left:5px solid var(--cyan);box-shadow:var(--shadow);border-radius:14px;padding:12px 16px;font-weight:600;animation:.25s cubic-bezier(.2,1.3,.4,1) slide-down}.toast.error{border-left-color:var(--red)}.toast.success{border-left-color:var(--green)}@keyframes slide-down{0%{opacity:0;transform:translateY(-20px)}}.center-screen{height:100%;padding:calc(20px + var(--safe-t)) 20px calc(20px + var(--safe-b));flex-direction:column;justify-content:center;align-items:center;gap:18px;display:flex;position:relative;overflow-y:auto}.landing-stage{width:min(100%,560px);height:170px;position:relative}.landing-card{flex-direction:column;gap:12px;width:min(100%,420px);animation:.4s slide-up;display:flex}.tabs{background:#00000040;border-radius:14px;gap:6px;padding:5px;display:flex}.tabs button{appearance:none;color:var(--muted);cursor:pointer;white-space:nowrap;background:0 0;border:0;border-radius:10px;flex:1;padding:10px 6px;font-size:15px;font-weight:700}.tabs button.on{background:var(--pink);color:#fff;box-shadow:0 3px 0 var(--pink-d)}.error-text{color:#ff8fa6;min-height:1em;font-size:14px;font-weight:600}.creator{grid-template-rows:auto 1fr;height:100%;display:grid;position:relative}@media (width>=900px){.creator{grid-template-rows:1fr;grid-template-columns:1fr 480px}}.creator-preview{padding:calc(12px + var(--safe-t)) 16px 8px;flex-direction:column;justify-content:center;align-items:center;min-height:38dvh;display:flex;position:relative}.creator-preview .stage{aspect-ratio:1;width:min(72vw,360px);max-height:34dvh;position:relative}@media (width>=900px){.creator-preview .stage{width:min(40vw,480px);max-height:60dvh}}.stage-floor{background:radial-gradient(closest-side,#ffd23f59,#0000);border-radius:50%;height:16%;position:absolute;bottom:4%;left:10%;right:10%}.creator-panel{background:var(--panel-solid);border-radius:28px 28px 0 0;flex-direction:column;min-height:0;display:flex;box-shadow:0 -10px 40px #00000059}@media (width>=900px){.creator-panel{border-radius:0}}.creator-tabs{scrollbar-width:none;gap:6px;padding:14px 14px 8px;display:flex;overflow-x:auto}.creator-tabs::-webkit-scrollbar{display:none}.creator-tabs button{appearance:none;color:var(--muted);cursor:pointer;white-space:nowrap;background:#ffffff12;border:0;border-radius:14px;align-items:center;gap:6px;padding:9px 14px;font-size:15px;font-weight:700;display:flex}.creator-tabs button.on{background:var(--yellow);color:#3a2200;box-shadow:0 3px 0 var(--yellow-d)}.creator-body{flex:1;min-height:0;padding:8px 16px 16px}.opt-section{margin-bottom:18px}.opt-section h4{text-transform:uppercase;letter-spacing:1px;color:var(--muted);margin:0 0 10px;font-size:13px;font-weight:600}.swatches{flex-wrap:wrap;gap:10px;display:flex}.swatch{cursor:pointer;border:3px solid #ffffff26;border-radius:50%;width:38px;height:38px;transition:transform .12s;box-shadow:inset 0 -4px #0000002e}.swatch.on{box-shadow:0 0 0 3px var(--pink), inset 0 -4px 0 #0000002e;border-color:#fff;transform:scale(1.12)}.opt-grid{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:10px;display:grid}.opt{appearance:none;cursor:pointer;color:var(--muted);background:#ffffff0f;border:2px solid #0000;border-radius:16px;flex-direction:column;align-items:center;gap:2px;padding:6px 4px 8px;font-size:12px;font-weight:600;transition:transform .1s,background .15s;display:flex}.opt img{width:64px;height:64px}.opt.on{border-color:var(--yellow);color:var(--text);background:#ffd23f24}.opt:active{transform:scale(.95)}.creator-footer{padding:12px 16px calc(12px + var(--safe-b));border-top:1px solid var(--line);gap:10px;display:flex}.preview-controls{flex-wrap:wrap;justify-content:center;gap:8px;margin-top:4px;display:flex}.chip{appearance:none;cursor:pointer;background:#ffffff1a;border:0;border-radius:999px;align-items:center;gap:6px;padding:7px 13px;font-size:14px;font-weight:600;display:inline-flex}.chip.on{background:var(--pink)}.home{height:100%;position:relative;overflow-y:auto}.home-inner{max-width:980px;padding:calc(14px + var(--safe-t)) 16px calc(30px + var(--safe-b));flex-direction:column;gap:18px;margin:0 auto;display:flex}.topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.me-chip{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:999px;align-items:center;gap:10px;padding:4px 16px 4px 4px;display:flex}.me-chip img{background:var(--panel-2);border-radius:50%;width:44px;height:44px}.hero{grid-template-columns:1fr;gap:14px;display:grid}@media (width>=760px){.hero{grid-template-columns:1.2fr 1fr}}.big-action{min-height:170px;box-shadow:var(--shadow);border-radius:26px;flex-direction:column;justify-content:space-between;gap:14px;padding:22px;display:flex;position:relative;overflow:hidden}.big-action.host{background:linear-gradient(135deg,#ff4d8d,#9b5de5)}.big-action.join{background:linear-gradient(135deg,#2ec4f1,#4d6bff)}.big-action h2{text-shadow:0 3px #0003;font-size:32px}.big-action .deco{opacity:.25;pointer-events:none;font-size:90px;position:absolute;top:-10px;right:-10px;transform:rotate(12deg)}.party-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.party-tile{background:var(--panel);border:1px solid var(--line);cursor:pointer;border-radius:20px;flex-direction:column;gap:8px;padding:16px;transition:transform .12s;display:flex}.party-tile:hover{transform:translateY(-3px)}.party-tile .name{font-size:18px;font-weight:700}.pill{background:#ffffff1a;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:13px;font-weight:600;display:inline-flex}.pill.live{color:#8dffcf;background:#3ddc9733}.empty{text-align:center;color:var(--muted);border:2px dashed #ffffff1f;border-radius:20px;padding:26px 16px}.stats{flex-wrap:wrap;gap:10px;display:flex}.stat{background:var(--panel);border:1px solid var(--line);border-radius:16px;min-width:96px;padding:10px 14px}.stat b{font-family:var(--display);font-size:24px;font-weight:400;display:block}.party-screen{background:#0e0a1f;position:fixed;inset:0}.party-screen canvas.world{touch-action:none;width:100%;height:100%;display:block;position:absolute;inset:0}.hud-top{top:calc(10px + var(--safe-t));pointer-events:none;z-index:10;justify-content:space-between;align-items:flex-start;gap:8px;display:flex;position:absolute;left:10px;right:10px}.hud-top>*{pointer-events:auto}.party-chip{background:var(--panel);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);cursor:pointer;border-radius:18px;flex-direction:column;gap:2px;max-width:60vw;padding:8px 12px;display:flex;box-shadow:0 4px #0000004d}.party-chip .pname{white-space:nowrap;text-overflow:ellipsis;font-size:15px;font-weight:700;overflow:hidden}.party-chip .pcode{font-family:var(--display);color:var(--yellow);letter-spacing:2px;align-items:center;gap:6px;font-size:13px;display:flex}.hud-right{gap:8px;display:flex}.room-label{top:calc(74px + var(--safe-t));font-family:var(--display);pointer-events:none;z-index:5;white-space:nowrap;background:#140c2ebf;border-radius:999px;padding:8px 18px;font-size:18px;animation:2.4s forwards room-in;position:absolute;left:50%;transform:translate(-50%)}@keyframes room-in{0%{opacity:0;transform:translate(-50%,-10px)scale(.9)}12%{opacity:1;transform:translate(-50%)scale(1)}80%{opacity:1}to{opacity:0}}.hud-bottom{padding:10px 10px calc(10px + var(--safe-b));pointer-events:none;z-index:10;flex-direction:column;gap:10px;display:flex;position:absolute;bottom:0;left:0;right:0}.hud-bottom>*{pointer-events:auto}.hud-row{align-items:center;gap:8px;display:flex}.chat-pill{background:var(--panel);-webkit-backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:16px;flex:1;align-items:center;gap:6px;min-width:0;height:48px;padding:0 6px 0 14px;display:flex;box-shadow:0 4px #0000004d}.chat-pill input{min-width:0;color:var(--text);background:0 0;border:0;outline:none;flex:1;font-family:inherit;font-size:16px}.chat-pill input::placeholder{color:var(--muted)}.send-btn{appearance:none;background:var(--pink);cursor:pointer;border:0;border-radius:12px;flex-shrink:0;width:38px;height:38px;font-size:18px}.games-btn{background:linear-gradient(135deg, var(--yellow), #ff9f1c);color:#3a2200;cursor:pointer;white-space:nowrap;border:0;border-radius:16px;align-items:center;gap:6px;height:48px;padding:0 16px;font-size:16px;font-weight:700;display:flex;box-shadow:0 4px #b86f00}.games-btn:active{transform:translateY(3px);box-shadow:0 1px #b86f00}.interact-btn{align-self:center;animation:.3s bounce-in}.game-banner{background:var(--panel-solid);border:2px solid var(--yellow);width:100%;max-width:560px;box-shadow:var(--shadow);border-radius:18px;align-self:center;align-items:center;gap:10px;padding:10px 10px 10px 14px;animation:.3s slide-up;display:flex}.game-banner .gb-emoji{font-size:30px;animation:1s infinite wiggle}.game-banner .gb-text{flex:1;min-width:0;font-size:14px;font-weight:600;line-height:1.25}.tray{background:var(--panel-solid);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;grid-template-columns:repeat(6,1fr);gap:6px;max-width:420px;padding:10px;animation:.2s slide-up;display:grid}.tray button{appearance:none;cursor:pointer;background:#ffffff0f;border:0;border-radius:14px;height:52px;font-size:26px;transition:transform .1s}.tray button:active{transform:scale(.88)}.tray .tray-label{color:var(--muted);text-transform:uppercase;letter-spacing:1px;grid-column:1/-1;padding:2px 4px;font-size:12px;font-weight:700}.reconnecting{top:calc(70px + var(--safe-t));background:var(--red);z-index:20;border-radius:999px;padding:8px 16px;font-weight:700;animation:1s infinite pulse;position:absolute;left:50%;transform:translate(-50%)}.chat-drawer{left:10px;bottom:calc(70px + var(--safe-b));background:var(--panel-solid);border:1px solid var(--line);z-index:15;width:min(400px,100vw - 20px);height:min(52dvh,460px);box-shadow:var(--shadow);border-radius:22px;flex-direction:column;animation:.2s slide-up;display:flex;position:absolute;overflow:hidden}.chat-drawer header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:10px 12px 8px 16px;font-weight:700;display:flex}.chat-list{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:8px;padding:10px 12px;display:flex}.msg{align-items:flex-start;gap:8px;animation:.2s fade-in;display:flex}.msg img{background:var(--panel-2);border-radius:50%;flex-shrink:0;width:32px;height:32px}.msg .bubble{word-break:break-word;background:#ffffff14;border-radius:4px 14px 14px;max-width:100%;padding:7px 11px;font-size:15px;line-height:1.3}.msg .who{margin-bottom:2px;font-size:12px;font-weight:700}.msg.me{flex-direction:row-reverse}.msg.me .bubble{background:var(--pink);border-radius:14px 4px 14px 14px}.msg.dm .bubble{background:#9b5de573;border:1px dashed #ffffff59}.msg.system{color:var(--muted);text-align:center;justify-content:center;font-size:13px;font-weight:600}.dm-target{background:#9b5de54d;align-items:center;gap:6px;padding:6px 12px;font-size:13px;font-weight:600;display:flex}.people{flex-direction:column;gap:8px;display:flex}.person{cursor:pointer;background:#ffffff0d;border-radius:16px;align-items:center;gap:12px;padding:8px;display:flex}.person img{background:var(--panel-2);border-radius:50%;width:48px;height:48px}.person .pn{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-weight:700;overflow:hidden}.player-card{text-align:center;flex-direction:column;align-items:center;gap:12px;display:flex}.player-card .portrait{border:4px solid var(--yellow);background:radial-gradient(circle at 50% 30%,#4b2f8f,#241547);border-radius:50%;width:140px;height:140px}.action-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;width:100%;display:grid}.game-picker{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;display:grid}.game-card{cursor:pointer;text-align:left;border:0;border-radius:22px;flex-direction:column;gap:6px;min-height:150px;padding:16px;transition:transform .12s;display:flex;position:relative;overflow:hidden;box-shadow:0 6px #0000004d}.game-card:hover{transform:translateY(-3px)rotate(-.5deg)}.game-card:active{transform:translateY(3px)}.game-card .ge{font-size:44px;line-height:1}.game-card h3{color:#fff;text-shadow:0 2px #0003;font-size:22px}.game-card p{color:#ffffffe6;margin:0;font-size:14px;font-weight:500}.game-card .gp{background:#0003;border-radius:999px;align-self:flex-start;margin-top:auto;padding:4px 9px;font-size:12px;font-weight:700}.game-overlay{z-index:40;-webkit-backdrop-filter:blur(6px);background:#0c061ee0;flex-direction:column;animation:.2s fade-in;display:flex;position:fixed;inset:0}.game-head{padding:calc(10px + var(--safe-t)) 12px 10px;border-bottom:1px solid var(--line);background:#0003;align-items:center;gap:10px;display:flex}.game-head .gt{flex:1;min-width:0}.game-head .gt h2{white-space:nowrap;text-overflow:ellipsis;font-size:22px;overflow:hidden}.game-head .gt .sub{color:var(--muted);font-size:13px;font-weight:600}.game-body{flex-direction:column;flex:1;width:100%;max-width:1100px;min-height:0;margin:0 auto;display:flex}.timer{flex-shrink:0;width:50px;height:50px;position:relative}.timer svg{transform:rotate(-90deg)}.timer .tnum{font-family:var(--display);place-items:center;font-size:18px;display:grid;position:absolute;inset:0}.timer.urgent .tnum{color:var(--red);animation:.5s infinite pulse}.lobby{padding:18px 16px calc(18px + var(--safe-b));text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.lobby .big-emoji{font-size:72px;animation:2.5s ease-in-out infinite float}.howto{text-align:left;flex-direction:column;gap:8px;width:100%;max-width:520px;display:flex}.howto li{background:#ffffff0f;border-radius:14px;padding:10px 14px;font-weight:500;list-style:none}.howto ol{counter-reset:s;flex-direction:column;gap:8px;margin:0;padding:0;display:flex}.howto li:before{counter-increment:s;content:counter(s);background:var(--yellow);color:#3a2200;border-radius:50%;place-items:center;width:24px;height:24px;margin-right:8px;font-size:13px;font-weight:700;display:inline-grid}.seats{flex-wrap:wrap;justify-content:center;gap:12px;max-width:600px;display:flex}.seat{flex-direction:column;align-items:center;gap:4px;width:76px;font-size:13px;font-weight:600;animation:.3s bounce-in;display:flex}.seat img,.seat .empty-seat{background:var(--panel-2);border:3px solid #ffffff26;border-radius:50%;width:64px;height:64px}.seat .empty-seat{color:var(--muted);border-style:dashed;place-items:center;font-size:22px;display:grid}.seat .sn{text-overflow:ellipsis;white-space:nowrap;max-width:76px;overflow:hidden}.score-strip{scrollbar-width:none;gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.score-strip::-webkit-scrollbar{display:none}.score-chip{background:#ffffff12;border:2px solid #0000;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px 3px 3px;font-size:13px;font-weight:600;display:flex}.score-chip img{background:var(--panel-2);border-radius:50%;width:30px;height:30px}.score-chip.hl{border-color:var(--green);background:#3ddc9726}.score-chip.active{border-color:var(--yellow);background:#ffd23f26}.score-chip b{color:var(--yellow)}.feed{-webkit-user-select:text;user-select:text;flex-direction:column;flex:1;gap:5px;min-height:80px;padding:8px 12px;font-size:14px;display:flex}.feed-item{word-break:break-word;line-height:1.3;animation:.2s fade-in}.feed-item b{font-weight:700}.feed-item.correct{color:#7dffbf;background:#3ddc971f;border-radius:8px;padding:4px 8px;font-weight:700}.feed-item.close{color:var(--yellow);font-weight:700}.feed-item.system{color:var(--muted);font-style:italic;font-weight:600}.feed-item.mafia{color:#ff8fa6}.feed-item.dead{color:#a5a0c0;font-style:italic}.feed-item.emoji{font-size:26px}.feed-item.chat{color:#cfe9ff}.guess-bar{padding:10px 12px calc(10px + var(--safe-b));border-top:1px solid var(--line);background:#0003;gap:8px;display:flex}.guess-bar .input{padding:11px 14px}.word-display{font-family:var(--display);letter-spacing:6px;text-align:center;white-space:pre-wrap;word-break:break-word;padding:8px 12px 2px;font-size:clamp(22px,6vw,34px)}.word-display.secret{color:var(--yellow);letter-spacing:2px}.draw-layout{flex-direction:column;flex:1;min-height:0;display:flex}@media (width>=900px){.draw-layout{flex-direction:row}.draw-layout .side{border-left:1px solid var(--line);width:340px}}.draw-layout .main{flex-direction:column;flex:1.4;align-items:center;min-height:0;padding:6px 10px;display:flex}.draw-layout .side{flex-direction:column;flex:1;min-height:0;display:flex}.canvas-wrap{aspect-ratio:4/3;background:#fff;border-radius:18px;width:100%;max-width:640px;max-height:46dvh;position:relative;overflow:hidden;box-shadow:0 6px #0000004d}@media (width>=900px){.canvas-wrap{max-height:62dvh}}.canvas-wrap canvas{touch-action:none;width:100%;height:100%;display:block}.canvas-cover{text-align:center;background:#241547f0;flex-direction:column;justify-content:center;align-items:center;gap:12px;padding:16px;display:flex;position:absolute;inset:0}.tools{flex-wrap:wrap;justify-content:center;align-items:center;gap:6px;padding:8px 0 2px;display:flex}.color-dot{cursor:pointer;border:3px solid #ffffff40;border-radius:50%;width:28px;height:28px;padding:0}.color-dot.on{border-color:#fff;transform:scale(1.15)}.tool-btn{appearance:none;cursor:pointer;background:#ffffff1a;border:0;border-radius:10px;place-items:center;min-width:34px;height:34px;padding:0 8px;font-size:16px;display:grid}.tool-btn.on{background:var(--pink)}.choices{flex-wrap:wrap;justify-content:center;gap:10px;display:flex}.mafia{flex-direction:column;flex:1;min-height:0;transition:background .6s;display:flex}.mafia.night{background:radial-gradient(600px 400px at 80% 0,#5064ff40,#0000),#0b0820}.mafia.day{background:radial-gradient(700px 400px at 20% 0,#ffbe5040,#0000)}.narration{text-align:center;background:#ffffff12;border-radius:16px;margin:10px 12px 0;padding:12px 14px;font-weight:600;line-height:1.35}.role-card{cursor:pointer;border-radius:18px;align-items:center;gap:12px;width:min(92%,420px);margin:10px auto 0;padding:12px 16px;transition:transform .2s;display:flex;box-shadow:0 5px #0000004d}.role-card .re{font-size:40px}.role-card.hidden{background:repeating-linear-gradient(45deg,#3a2a6a,#3a2a6a 10px,#33245e 10px 20px)}.player-grid{grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:10px;padding:12px;display:grid}.pg-item{appearance:none;cursor:pointer;background:#ffffff0f;border:3px solid #0000;border-radius:18px;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;font-size:13px;font-weight:600;transition:transform .1s;display:flex;position:relative}.pg-item img{background:var(--panel-2);border-radius:50%;width:58px;height:58px}.pg-item .nm{text-overflow:ellipsis;white-space:nowrap;max-width:88px;overflow:hidden}.pg-item.picked{border-color:var(--yellow);background:#ffd23f26}.pg-item.dead{opacity:.45;filter:grayscale();cursor:default}.pg-item.dead:after{content:"💀";font-size:20px;position:absolute;top:6px;right:8px}.pg-item:disabled{cursor:default}.pg-item .votes{background:var(--red);border-radius:999px;place-items:center;min-width:24px;height:24px;padding:0 6px;font-size:13px;font-weight:700;animation:.25s bounce-in;display:grid;position:absolute;top:-6px;left:-6px}.pg-item .rtag{background:#0000004d;border-radius:999px;padding:1px 7px;font-size:11px}.stage-box{background:radial-gradient(at 50% 0,#fff0b473,#0000 60%),linear-gradient(#4b1d6b,#2a0f45);border-radius:22px;width:min(94%,560px);height:min(36dvh,300px);margin:8px auto 0;position:relative;overflow:hidden;box-shadow:0 6px #0000004d}.stage-box:before,.stage-box:after{content:"";z-index:2;background:repeating-linear-gradient(90deg,#b8203f,#b8203f 8px,#93162f 8px 16px);width:14%;position:absolute;top:0;bottom:0}.stage-box:before{border-radius:0 0 40%;left:0}.stage-box:after{border-radius:0 0 0 40%;right:0}.stage-box canvas{width:100%;height:100%;position:absolute;inset:0}.clue-strip{z-index:3;flex-wrap:wrap;justify-content:center;gap:4px;font-size:30px;display:flex;position:absolute;top:8px;left:15%;right:15%}.clue-strip span{filter:drop-shadow(0 3px #0000004d);animation:.3s bounce-in}.emoji-pad{grid-template-columns:repeat(auto-fill,minmax(42px,1fr));gap:4px;max-height:150px;padding:8px 12px;display:grid}.emoji-pad button{appearance:none;cursor:pointer;background:#ffffff0f;border:0;border-radius:10px;height:42px;font-size:24px}.emoji-pad button:active{transform:scale(.85)}.pose-row{scrollbar-width:none;gap:6px;padding:6px 12px;display:flex;overflow-x:auto}.pose-row::-webkit-scrollbar{display:none}.pose-row button{flex-shrink:0}.secret-card{text-align:center;border-radius:22px;width:min(92%,440px);margin:12px auto 0;padding:18px;box-shadow:0 6px #0000004d}.secret-card .big{font-family:var(--display);margin-top:4px;font-size:34px}.clue-board{flex-direction:column;gap:6px;padding:10px 12px;display:flex}.clue-row{background:#ffffff0d;border-radius:14px;align-items:center;gap:10px;padding:6px 10px;display:flex}.clue-row.turn{border:2px solid var(--yellow);background:#ffd23f26}.clue-row img{background:var(--panel-2);border-radius:50%;width:36px;height:36px}.clue-row .cn{text-overflow:ellipsis;white-space:nowrap;width:90px;font-size:14px;font-weight:700;overflow:hidden}.clue-word{background:var(--cyan);color:#04263a;border-radius:999px;padding:3px 10px;font-size:14px;font-weight:700;animation:.3s bounce-in}.results{padding:20px 16px calc(20px + var(--safe-b));text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.results h2{color:var(--yellow);text-shadow:0 4px 0 var(--pink-d);font-size:clamp(28px,8vw,44px);animation:.5s bounce-in}.podium{justify-content:center;align-items:flex-end;gap:10px;margin-top:10px;display:flex}.podium .pod{flex-direction:column;align-items:center;gap:6px;width:100px;display:flex}.podium .pod img{width:80px;height:80px;animation:2s ease-in-out infinite float}.podium .block{width:100%;font-family:var(--display);border-radius:14px 14px 0 0;place-items:center;font-size:30px;display:grid;box-shadow:inset 0 -6px #0003}.rank-list{flex-direction:column;gap:6px;width:min(100%,420px);display:flex}.rank-row{background:#ffffff0f;border-radius:14px;align-items:center;gap:10px;padding:6px 12px;font-weight:600;display:flex}.rank-row img{background:var(--panel-2);border-radius:50%;width:36px;height:36px}.row{align-items:center;gap:10px;display:flex}.wrap{flex-wrap:wrap}.grow{flex:1}.spinner{border:5px solid #ffffff26;border-top-color:var(--yellow);border-radius:50%;width:46px;height:46px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.slider{width:100%;accent-color:var(--pink)}.piano{justify-content:center;gap:3px;padding:10px 0;display:flex}.piano button{appearance:none;cursor:pointer;color:#888;background:#fff;border:0;border-radius:0 0 10px 10px;justify-content:center;align-items:flex-end;width:38px;height:130px;padding-bottom:12px;font-size:12px;font-weight:700;display:flex;box-shadow:inset 0 -8px #ddd}.piano button:active,.piano button.hit{background:var(--yellow);box-shadow:inset 0 -3px 0 var(--yellow-d)}@media (width<=380px){.hide-xs{display:none}.games-btn{padding:0 12px}}.chat-pill{padding-left:4px}.pill-icon{appearance:none;cursor:pointer;background:#ffffff14;border:0;border-radius:12px;flex-shrink:0;width:38px;height:38px;font-size:18px;position:relative}@media (width<=520px){.hide-sm{display:none}.games-btn{padding:0 14px;font-size:22px}.game-picker{grid-template-columns:1fr 1fr;gap:10px}.game-card{min-height:0;padding:12px}.game-card .ge{font-size:34px}.game-card h3{font-size:18px}.game-card p{font-size:12.5px}}@media (width<=899px){.draw-layout .main{flex:none}}.feed-item.emoji b{vertical-align:middle;font-size:14px}.admin{-webkit-user-select:text;user-select:text;--series-1:#3987e5;overflow-y:auto}.admin-inner{max-width:1100px;padding:calc(18px + var(--safe-t)) 16px 40px;flex-direction:column;gap:22px;margin:0 auto;display:flex}.admin-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.admin-h{margin-bottom:10px;font-size:20px}.admin code{background:#ffffff1a;border-radius:6px;padding:1px 6px;font-size:.92em}.seg{background:#00000040;border-radius:12px;flex-wrap:wrap;gap:4px;padding:4px;display:inline-flex}.seg button{appearance:none;color:var(--muted);cursor:pointer;background:0 0;border:0;border-radius:9px;padding:7px 11px;font-size:13px;font-weight:700}.seg button.on{color:var(--text);background:#ffffff24}.tiles{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px 16px}.tile-label{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.tile-value{font-family:var(--display);margin-top:4px;font-size:34px;line-height:1.1}.tile-sub{color:var(--muted);margin-top:2px;font-size:12px}.live-dot{background:var(--green);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 3px #3ddc9740}.admin-card{padding:18px}.admin-card h3{font-size:18px}.admin-card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.admin-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px;display:grid}.chart{width:100%;position:relative}.chart svg{display:block}.chart .grid{stroke:#ffffff14;stroke-width:1px}.chart .axis{fill:var(--muted);font-size:11px;font-family:var(--font)}.chart .bar{fill:var(--series-1)}.chart .bar.hl{fill:#5598e7}.chart-tip{pointer-events:none;background:var(--panel-solid);border:1px solid var(--line);width:130px;box-shadow:var(--shadow);border-radius:10px;padding:6px 10px;font-size:14px;position:absolute}.barlist{flex-direction:column;gap:12px;margin-top:12px;display:flex}.barlist-top{justify-content:space-between;gap:10px;margin-bottom:5px;font-size:14px;font-weight:600;display:flex}.barlist-track{background:#ffffff0f;border-radius:0 4px 4px 0;height:10px}.barlist-bar{background:var(--series-1);border-radius:0 4px 4px 0;min-width:2px;height:100%}.admin-table{border-collapse:collapse;width:100%;margin-top:8px;font-size:14px}.admin-table th{text-align:left;color:var(--muted);border-bottom:1px solid var(--line);background:var(--panel-solid);padding:6px 8px;font-size:12px;font-weight:600;position:sticky;top:0}.admin-table td{border-bottom:1px solid #ffffff0d;padding:7px 8px}.admin-table td:not(:first-child),.admin-table th:not(:first-child){text-align:right;font-variant-numeric:tabular-nums}
