.mafia-pane{position:relative;display:flex;flex-direction:column;min-height:0}#mafia-body{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#mafia-status{flex:1;min-width:0;text-align:center;background:#081926b8;padding:8px 14px;border-radius:20px;font-size:13px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#mafia-status .ico{width:15px;height:15px;vertical-align:-2px}.mafia-hat{height:1.15em;width:auto;vertical-align:-.18em}#mafia-status .mafia-hat{height:17px;vertical-align:-3px}.mafia-home-ico .mafia-hat{height:38px}.mafia-badge .mafia-hat{height:10px;vertical-align:-1px}.mafia-role-ico .mafia-hat{height:42px}#mafia-home{flex:1;overflow-y:auto;padding:14px 16px 24px;display:flex;flex-direction:column;gap:12px}.mafia-home-head{text-align:center;padding:10px 0 4px}.mafia-home-ico{width:64px;height:64px;margin:0 auto 8px;border-radius:20px;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#3a2450,#1c1030);color:#f1e9d7;box-shadow:var(--shadow-card)}.mafia-home-ico .ico{width:36px;height:36px}.mafia-home-title{font-size:22px;font-weight:800;color:var(--text-primary)}.mafia-home-sub{font-size:13px;color:var(--muted);margin-top:2px}.mafia-home-rules{background:var(--card-bg);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:7px;font-size:13px;color:var(--text-secondary);border:1px solid rgba(var(--accent-rgb),.25)}.mafia-home-rules .heart-icon,.mafia-home-rules .ico{width:13px;height:13px;vertical-align:-2px}.mafia-home-note{text-align:center;color:var(--muted);padding:20px 10px;font-size:14px}.mafia-home-closed{text-align:center;background:var(--warn-soft);color:var(--warn-text);border-radius:14px;padding:14px;font-size:14px}.mafia-join-btn{margin-top:4px;font-size:16px;padding:14px;border-radius:14px;justify-content:center;display:flex;align-items:center;gap:8px}#mafia-loading{position:absolute;top:0;right:0;bottom:0;left:0;z-index:30;display:flex;align-items:center;justify-content:center;background:#140a238c;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px)}.mafia-loading-inner{display:flex;flex-direction:column;align-items:center;gap:12px;color:#f1e9d7;font-size:14px}.mafia-spinner{width:38px;height:38px;border-radius:50%;border:3px solid rgba(241,233,215,.25);border-top-color:#b388ff;animation:mafia-spin .8s linear infinite}@keyframes mafia-spin{to{transform:rotate(360deg)}}#mafia-arena{flex:1;min-height:0;display:flex;flex-direction:column;padding:8px 10px 10px;gap:8px;overflow:hidden}#mafia-banner{display:flex;align-items:center;justify-content:center;gap:12px;padding:8px 14px;border-radius:14px;background:linear-gradient(160deg,#3a2450eb,#1c1030eb);color:#f1e9d7;font-weight:800;font-size:16px;letter-spacing:.02em}#mafia-banner[data-phase=night]{background:linear-gradient(160deg,#14102b,#0b0a1c);color:#b9c6ff}#mafia-banner[data-phase=vote]{background:linear-gradient(160deg,#4a2b18,#2b170e);color:#ffd9b0}#mafia-banner[data-phase=day],#mafia-banner[data-phase=morning]{background:linear-gradient(160deg,#2b4a63,#17283c);color:#cfe8ff}#mafia-banner[data-phase=game_over]{background:linear-gradient(160deg,#3d3020,#211a10);color:#ffe3a3}#mafia-timer{min-width:34px;text-align:center;font-variant-numeric:tabular-nums;font-size:18px;padding:2px 10px;border-radius:10px;background:#ffffff1f}#mafia-timer:empty{display:none}#mafia-timer.urgent{color:#ff8a80;animation:mafia-pulse 1s infinite}@keyframes mafia-pulse{50%{transform:scale(1.12)}}.mafia-bank-pin{position:sticky;top:0;z-index:5;text-align:center;font-size:12px;padding:5px 10px;margin-bottom:4px;border-radius:10px;background:#0a1e2cd1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);color:#eaf4f8}.mafia-bank-pin .heart-icon{width:13px;height:13px;vertical-align:-2px}#mafia-hint{min-height:0}#mafia-center{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:min(62%,340px);z-index:3;pointer-events:none;display:flex;flex-direction:column;gap:6px}#mafia-center button,#mafia-center a{pointer-events:auto}#mafia-center #mafia-status,#mafia-center #mafia-banner{flex:none;align-self:center;max-width:100%}.mafia-hint-line{text-align:center;font-size:13px;color:var(--text-secondary);padding:4px 8px}#mafia-hint .mafia-hint-line{background:#08192694;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:12px;padding:8px 12px;color:#eaf4f8}.mafia-hint-line .ico{width:14px;height:14px;vertical-align:-2px}.mafia-hint-act{font-weight:700;color:var(--warn-text);background:var(--warn-soft);border-radius:10px;padding:8px 10px}.mafia-votes-in{font-variant-numeric:tabular-nums;opacity:.8}.mafia-abstain-pill{position:absolute;left:50%;bottom:22px;transform:translate(-50%);z-index:10;padding:3px 8px;font-size:9px;font-weight:700;line-height:1.4;color:#ffe9b0;background:#081926d1;border:1px solid rgba(255,214,120,.55);border-radius:9px;white-space:nowrap;cursor:pointer;box-shadow:0 1px 4px #00000080}.mafia-abstain-pill.on{background:#ffd678e0;color:#241a08}.mafia-abstain-pill:active{transform:translate(-50%) scale(.94)}#mafia-table{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}#mafia-grid{position:relative;flex:1;min-height:0;z-index:2}.mafia-seat{position:absolute;width:84px;transform:translate(-50%,-50%) scale(var(--mafia-seat-scale, 1));transform-origin:center;display:flex;flex-direction:column;align-items:center;gap:3px;transition:transform .12s,box-shadow .12s}.mafia-seat.targetable{cursor:pointer}.mafia-seat.targetable .mafia-ava{box-shadow:0 0 12px #e67e228c;animation:mafia-target-glow 1.6s infinite}@keyframes mafia-target-glow{50%{box-shadow:0 0 18px #e67e2299}}.mafia-seat.targetable:active{transform:translate(-50%,-50%) scale(calc(var(--mafia-seat-scale, 1) * .94))}.mafia-seat.dead{opacity:.6;filter:grayscale(.7)}.mafia-seat.dead .mafia-ava{position:relative}.mafia-seat.dead .mafia-ava:after{content:"";position:absolute;top:-2px;right:-2px;bottom:-2px;left:-2px;border-radius:12px;background:linear-gradient(45deg,transparent 46%,var(--err) 46%,var(--err) 54%,transparent 54%);opacity:.85}.mafia-seat.offline .mafia-ava{opacity:.5}.mafia-ava{width:100%;max-width:74px;aspect-ratio:3 / 4;border-radius:10px;display:flex;align-items:center;justify-content:center;background:#2a1f3d;font-size:26px;position:relative;background-size:cover;background-position:center top;box-shadow:0 4px 12px #0006}.mafia-ava img:not(.frame-overlay){width:100%;height:100%;object-fit:cover;border-radius:10px}.mafia-name{position:absolute;left:0;right:0;bottom:0;z-index:8;padding:12px 2px 3px;text-align:center;overflow:hidden;border-radius:0 0 10px 10px;background:linear-gradient(180deg,transparent,rgba(0,20,30,.72))}.mafia-name-txt{font-size:11px;font-weight:700;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.85);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.mafia-badges{position:absolute;top:0;right:0;bottom:0;left:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 2px 16px;pointer-events:none}.mafia-badge{font-size:9px;font-weight:700;padding:1px 6px;border-radius:8px;line-height:1.5;white-space:nowrap}.mafia-badge .ico{width:9px;height:9px;vertical-align:-1px}.mafia-badge.b-dead{background:var(--err-soft);color:var(--err-text)}.mafia-badge.b-role{background:#b388ff2e;color:#8b5cf6}.mafia-badge.b-reason{background:#00000014;color:var(--muted);white-space:normal;text-align:center;max-width:100%}.mafia-badge.b-partner{background:#b388ff2e;color:#8b5cf6}.mafia-badge.b-partner-pick{background:#ff5a5a33;color:#ff5252;border:1px solid rgba(255,90,90,.35)}.mafia-badge.b-me{background:var(--ok-soft);color:var(--ok-text)}.mafia-badge.b-off{background:#0000001a;color:var(--muted)}.mafia-badge.b-nominee{background:#e67e2229;color:#e67e22;border:1px solid rgba(230,126,34,.3)}.mafia-badge.b-reason,.mafia-badge.b-off{background:#0000008c;color:#cfd8dc}.mafia-outfit{position:absolute;bottom:3px;right:3px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;z-index:7;transform:translate(50%,50%) rotate(-45deg);filter:drop-shadow(0 1px 3px rgba(0,0,0,.55)) drop-shadow(0 0 7px rgba(255,214,120,.85));pointer-events:none}.mafia-outfit img{width:100%;height:100%;object-fit:contain;display:block}.mafia-outfit .ico{width:22px;height:22px;color:#ffe9b0}.mafia-ava-hat{position:absolute;top:-4px;right:-4px;z-index:9;transform:rotate(-45deg);transform-origin:center;pointer-events:none;filter:drop-shadow(0 1px 3px rgba(0,0,0,.6))}.mafia-ava .mafia-ava-hat img.mafia-hat{width:30px;height:auto;object-fit:contain;border-radius:0;display:block}#mafia-arena .mafia-seat.picked .mafia-ava{box-shadow:0 0 12px #4ade80a6;animation:none}.mafia-vote-check{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);z-index:9;width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#4ade80;color:#0b2412;border:2px solid rgba(255,255,255,.85);box-shadow:0 1px 4px #00000080;pointer-events:none}.mafia-vote-check .ico{width:13px;height:13px}.mafia-vote-count{position:absolute;top:-6px;left:-6px;z-index:9;min-width:22px;padding:2px 7px;border-radius:9px;background:#120e1ceb;border:1.5px solid rgba(255,170,60,.65);color:#ffc46b;font-size:11px;font-weight:800;line-height:1.3;text-align:center;pointer-events:none;box-shadow:0 1px 4px #00000080}.mafia-vote-count.shift{left:18px}.mafia-det-card{position:absolute;top:-4px;left:-4px;z-index:9;width:24px;aspect-ratio:3 / 4;border-radius:4px;overflow:hidden;transform:rotate(-8deg);border:1px solid rgba(255,255,255,.55);box-shadow:0 1px 4px #0000008c;pointer-events:none;display:flex;align-items:center;justify-content:center;background:#16202b}.mafia-det-card.is-mafia{border-color:#ff5a5acc}.mafia-det-card.is-clean{border-color:#78dc8ccc;background:linear-gradient(160deg,#1d3a24,#12281a)}.mafia-det-card img{width:100%;height:100%;object-fit:cover;display:block}.mafia-det-clean .ico{width:13px;height:13px;color:#7ddc8c}.mafia-seat-empty{pointer-events:none}.mafia-seat-empty .mafia-ava{max-width:40px;border:1.5px dashed rgba(255,255,255,.35);background:transparent;box-shadow:none;opacity:.4}.mafia-orbit-mobile.mafia-stadium .mafia-seat:not(.mafia-seat-empty) .mafia-ava{max-width:84px;aspect-ratio:1 / 1}.chat-msg.mafia-msg{background:#96283c21;border-left:3px solid rgba(180,50,70,.5)}.chat-msg.mafia-msg .sender{color:#c0392b!important}.chat-msg.mafia-ev{text-align:center;white-space:pre-line}.chat-msg.mafia-ev .sender{display:none}.chat-msg.mafia-ev.ev-night{background:#5a6edc1f}.chat-msg.mafia-ev.ev-vote{background:#e67e221f}.chat-msg.mafia-ev.ev-heal,.chat-msg.mafia-ev.ev-winner{background:var(--ok-soft)}.chat-msg.mafia-ev.ev-burn{background:var(--err-soft)}.chat-msg.mafia-ev.ev-revenge{background:#ff505029;font-weight:600}.chat-msg.mafia-ev.ev-det{background:#5fb2ff1f;font-weight:600}.chat-msg.mafia-ev.ev-shot,.chat-msg.mafia-ev.ev-shield{background:#ff8c3c29;font-weight:600}.chat-msg.mafia-ev.ev-mine{background:#ff505033;font-weight:600}.chat-msg.mafia-ev.ev-gag{background:#78788c29}.chat-msg.radio-msg{background:#465a8229;border-left:3px solid rgba(120,150,200,.5);font-family:monospace}.chat-msg.radio-msg .sender{color:#7f9cc4!important}.chat-msg.radio-msg .text{letter-spacing:.5px}#mafia-aim-note{margin:4px 10px 6px;padding:6px 10px;border-radius:10px;font-size:12px;color:var(--text-primary, #e8ecf1);background:#ff505024;border:1px solid rgba(255,80,80,.45);text-align:center}.mafia-aim-cancel{margin-left:8px;padding:1px 8px;border-radius:8px;border:1px solid rgba(255,255,255,.25);background:#ffffff1a;color:inherit;font-size:11px;cursor:pointer}.mafia-badge.b-gag{background:#78788c4d;font-size:10px}.mafia-shop-view{gap:8px}.mafia-shop-balance{position:sticky;top:-4px;z-index:2;padding:6px 0 8px;font-size:13px;color:var(--muted);text-align:center;background:var(--bg-primary)}.mafia-shop-balance b{color:var(--gold, #ffd66b)}.mafia-shop-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:#ffffff0d;border:1px solid rgba(255,255,255,.08)}.mafia-shop-ico{width:30px;display:flex;align-items:center;justify-content:center;color:#ffc46b}.mafia-shop-ico .ico{width:22px;height:22px}.mafia-shop-info{flex:1;min-width:0}.mafia-shop-name{font-size:13px;font-weight:700}.mafia-shop-owned{font-size:11px;color:var(--muted);font-weight:400;margin-left:4px}.mafia-shop-desc{font-size:11px;color:var(--muted);margin-top:2px}.mafia-shop-acts{display:flex;flex-direction:column;gap:4px;align-items:stretch;flex-shrink:0}.mafia-shop-buy{flex-shrink:0}.mafia-shop-use{text-transform:none}.mafia-shop-auto{align-self:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);padding:2px 6px;border-radius:6px;border:1px dashed rgba(255,255,255,.18)}#mafia-result{position:absolute;top:0;right:0;bottom:0;left:0;z-index:25;display:flex;align-items:center;justify-content:center;background:#0e081ab8;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);padding:16px}.mafia-res-inner{width:min(420px,100%);max-height:100%;overflow-y:auto;border-radius:20px;padding:22px 18px;text-align:center;background:linear-gradient(165deg,#2b1d42,#191029);color:#f1e9d7;box-shadow:0 18px 60px #00000080}.mafia-res-inner.win-mafia{border:1.5px solid #b388ff}.mafia-res-inner.win-civ{border:1.5px solid var(--ok)}.mafia-res-inner.win-draw{border:1.5px solid var(--muted)}.mafia-res-title{font-size:19px;font-weight:800;margin-bottom:12px}.mafia-res-rows{display:flex;flex-direction:column;gap:5px;font-size:13px;margin-bottom:16px}.mafia-res-line .heart-icon{width:14px;height:14px;vertical-align:-2px}.mafia-res-line .ico{width:13px;height:13px;vertical-align:-2px;color:gold}.mafia-res-inner .btn{min-width:140px;justify-content:center}.mafia-res-winners{display:flex;justify-content:center;gap:18px;margin:4px 0 14px}.mafia-res-winner{display:flex;flex-direction:column;align-items:center;gap:4px}.mafia-res-ava{width:64px;height:80px;border-radius:12px;background:#ffffff14;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:26px;border:2px solid #b388ff;box-shadow:0 0 14px #b388ff59}.mafia-res-wname{font-size:12px;font-weight:700}.mafia-res-loot{display:flex;justify-content:center;gap:3px;flex-wrap:wrap;max-width:90px}.mafia-res-loot img,.mafia-res-loot .ico{width:22px;height:22px;object-fit:contain;filter:drop-shadow(0 1px 3px rgba(0,0,0,.5))}#mafia-role-card{position:absolute;top:0;right:0;bottom:0;left:0;z-index:26;display:none;align-items:center;justify-content:center;background:#0a0614d1;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);padding:18px}#mafia-role-card.show{display:flex}.mafia-role-inner{width:min(340px,92%);border-radius:22px;padding:26px 20px;text-align:center;color:#f1e9d7;animation:mafia-role-in .45s cubic-bezier(.2,1.4,.4,1)}@keyframes mafia-role-in{0%{transform:scale(.6) rotate(-4deg);opacity:0}to{transform:scale(1) rotate(0);opacity:1}}.mafia-role-inner.role-mafia{background:linear-gradient(165deg,#4a1626,#220a16);border:1.5px solid #ff5f7a}.mafia-role-inner.role-detective{background:linear-gradient(165deg,#17324d,#0c1b30);border:1.5px solid #5fb2ff}.mafia-role-inner.role-doctor{background:linear-gradient(165deg,#14402a,#0a2114);border:1.5px solid #4ade80}.mafia-role-inner.role-civilian{background:linear-gradient(165deg,#3a2d1a,#1d1509);border:1.5px solid #ffd080}.mafia-role-inner.role-putana{background:linear-gradient(165deg,#43172e,#1f0a17);border:1.5px solid #f472b6}.mafia-role-inner.role-kamikaze{background:linear-gradient(165deg,#40220f,#1f0f05);border:1.5px solid #fb923c}.mafia-role-ico{margin-bottom:10px}.mafia-role-img{display:block;width:min(240px,82%);margin:0 auto 12px;filter:drop-shadow(0 8px 18px rgba(0,0,0,.5))}.mafia-role-ico .ico{width:46px;height:46px}.mafia-role-name{font-size:24px;font-weight:800;margin-bottom:8px}.mafia-role-hint{font-size:13px;opacity:.85;line-height:1.45}.mafia-partner-note{margin-top:12px;padding:8px 10px;border-radius:10px;background:#ffffff14;font-size:12.5px}.mafia-flash{animation:mafia-flash-anim .5s}@keyframes mafia-flash-anim{0%{filter:brightness(1.6)}to{filter:brightness(1)}}@media(min-width:720px){#mafia-arena{max-width:760px;margin:0 auto;width:100%}}@media(max-width:899px){#mafia-banner{white-space:nowrap}#mafia-banner .mafia-phase-name{min-width:0;overflow:hidden;text-overflow:ellipsis}}@media(min-width:900px){#mafia-arena:not(.mafia-orbit-mobile){max-width:1020px}#mafia-arena:not(.mafia-orbit-mobile) .mafia-seat{width:124px;gap:4px}#mafia-arena:not(.mafia-orbit-mobile) .mafia-ava{max-width:96px;box-shadow:0 4px 14px #00000073}#mafia-arena:not(.mafia-orbit-mobile) .mafia-name-txt{font-size:12px}#mafia-arena:not(.mafia-orbit-mobile) .mafia-seat-empty .mafia-ava{max-width:42px}#mafia-arena:not(.mafia-orbit-mobile) #mafia-center{width:min(52%,380px)}}.mafia-days{flex-wrap:wrap;gap:4px 14px}.mafia-days label{display:flex;align-items:center;gap:5px;white-space:nowrap;font-weight:400}.mafia-days input{width:auto;margin:0}
