/* mafia — dedicated layout; no game rules or private projections changed. */
body[data-play-game="mafia"].jalsa-active{background:#e6ddcf}
body[data-play-game="mafia"].jalsa-active #app{max-width:950px}
body[data-play-game="mafia"][data-play-phase="night"]{background:#292426;--play-line:#514144;--play-muted:#DCCFC2}
body[data-play-game="mafia"][data-play-phase="night"] #app>.top,body[data-play-game="mafia"][data-play-phase="night"] #app>.top h2{color:#F4EADA}
body[data-play-game="mafia"] .roleCard::before{content:'';position:absolute;inset:0 0 auto;height:8px;background:var(--sadu);background-size:16px 8px}
body[data-play-game="mafia"] .roleCard .rc-name{font:700 44px var(--body);color:#F4EADA}
body[data-play-game="mafia"] .roleCard .rc-desc{font-size:16px;line-height:1.9;color:#DCCFC2;max-width:36ch}
body[data-play-game="mafia"] .roleCard.r-mafia.open{background:#69232e;border-color:#A32B38}
body[data-play-game="mafia"] .rc-mates{font-size:14px;color:#F5D758;padding:10px 15px;border:1px solid #f4eada40;border-radius:5px}
body[data-play-game="mafia"] .rc-hint{font-size:11px;color:#c7b5a6}
body[data-play-game="mafia"] :is(.nightBox,.felt){background:#332a2b;border:1px solid #6B4E45;border-radius:12px;padding:30px;box-shadow:none}
body[data-play-game="mafia"] .cover{border:1px dashed #baa38c;background:#FBF6EE;padding:40px 25px;border-radius:12px;min-height:300px;gap:20px}
body[data-play-game="mafia"] .roleCard{position:relative;min-height:310px;width:min(100%,620px);margin-inline:auto;background:#493331;border:1px solid #ba995e;border-radius:100px 100px 14px 14px;box-shadow:inset 0 0 0 8px #ffffff08;padding:45px 30px 30px;gap:16px;overflow:hidden}
body[data-play-game="mafia"] .roleCard.open{border-color:#ba995e}
body[data-play-game="mafia"] .rc-name{font-family:var(--j-font);font-size:42px}
body[data-play-game="mafia"] .rc-desc{line-height:1.9;max-width:40ch}
body[data-play-game="mafia"] .nightBox{border-radius:20px;padding:35px;min-height:310px;background:radial-gradient(ellipse at top,#48383e,#292421 65%);gap:20px}
body[data-play-game="mafia"] .nightBox .moon{width:75px;height:65px}
body[data-play-game="mafia"] .plist{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
body[data-play-game="mafia"] .pbtn{min-height:74px;background:#FBF6EE;color:#231F20;border:1px solid #c7b29c;border-radius:10px;padding:18px;font-size:17px;box-shadow:none}
body[data-play-game="mafia"] .pbtn.on{background:#A32B38;color:#F4EADA;border:2px solid #F5D758;outline:2px solid var(--j-gold);outline-offset:2px}
body[data-play-game="mafia"] .mseats{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;padding:16px;border:1px solid var(--j-line);border-radius:14px;background:var(--j-surface)}
body[data-play-game="mafia"] .mseat{background:#FBF6EE;color:#231F20;border:1px solid #d8c7b4;border-radius:8px;padding:17px 12px;gap:8px;border-bottom:3px solid var(--j-line)}
body[data-play-game="mafia"] .mseat.me{border-bottom:4px solid #A32B38;border-bottom-color:var(--j-wine);outline:none}
body[data-play-game="mafia"] .mseat.dead{opacity:.55;background:#ded6cb}
body[data-play-game="mafia"] .voteList{padding:20px;background:#231F20;border-radius:12px;font-size:14px;line-height:1.9;gap:10px}
body[data-play-game="mafia"] .cfgRow{padding:14px 0;gap:18px}
body[data-play-game="mafia"] .step button{min-width:44px;min-height:44px}
body[data-play-game="mafia"] .story{font-size:17px;line-height:2;max-width:50ch;margin-inline:auto;color:#DCCFC2;border-radius:12px}
body[data-play-game="mafia"] .felt{border-radius:18px}
body[data-play-game="mafia"] .bigMsg{font:700 clamp(26px,4vw,48px) var(--body);line-height:1.6;color:#F4EADA;font-family:var(--j-font)}
@media(max-width:700px){body[data-play-game="mafia"] .roleCard .rc-name{font-size:35px}
body[data-play-game="mafia"] .roleCard .rc-desc{font-size:14px}
body[data-play-game="mafia"] :is(.nightBox,.felt){padding:25px 20px}
body[data-play-game="mafia"] .story{font-size:14px}
body[data-play-game="mafia"] .bigMsg{font-size:28px}
body[data-play-game="mafia"] .roleCard{min-height:260px;padding:35px 22px;border-radius:75px 75px 12px 12px}
body[data-play-game="mafia"] .rc-name{font-size:34px}
body[data-play-game="mafia"] .nightBox{padding:25px 20px;min-height:270px}
body[data-play-game="mafia"] .plist{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
body[data-play-game="mafia"] .mseats{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}
body[data-play-game="mafia"] .mseat{padding:13px 8px}
body[data-play-game="mafia"] .pbtn{font-size:15px;min-height:68px;padding:14px}}
