:root{
  --mwg-bg:#07080b;--mwg-panel:#101218;--mwg-panel-2:#151821;--mwg-panel-3:#1b1f2a;
  --mwg-line:rgba(255,255,255,.1);--mwg-line-strong:rgba(255,255,255,.18);
  --mwg-text:#f6f2e8;--mwg-muted:#a8a5a0;--mwg-red:#b5273d;--mwg-red-2:#e0445e;
  --mwg-gold:#d8b765;--mwg-blue:#6ca7ff;--mwg-green:#61d49a;--mwg-purple:#b995ff;
  --mwg-shadow:0 28px 90px rgba(0,0,0,.42);--mwg-radius:24px;
}
*{box-sizing:border-box}.mw-app{min-height:72vh;color:var(--mwg-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif}.mw-app button,.mw-app input,.mw-app select,.mw-app textarea{font:inherit}.mw-app button{cursor:pointer}.mw-app [hidden]{display:none!important}.mw-loading{display:grid;place-items:center;gap:14px;min-height:55vh;color:var(--mwg-muted)}.mw-spinner{width:42px;height:42px;border:3px solid rgba(255,255,255,.12);border-top-color:var(--mwg-red-2);border-radius:50%;animation:mwspin .8s linear infinite}@keyframes mwspin{to{transform:rotate(360deg)}}
.mw-kicker{display:inline-block;color:var(--mwg-gold);font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.mw-button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid transparent;border-radius:14px;font-weight:800;transition:transform .18s ease,background .18s ease,border-color .18s ease,opacity .18s ease}.mw-button:hover:not(:disabled){transform:translateY(-2px)}.mw-button:disabled{cursor:not-allowed;opacity:.45}.mw-button-primary{background:linear-gradient(135deg,var(--mwg-red),var(--mwg-red-2));color:#fff;box-shadow:0 14px 34px rgba(181,39,61,.22)}.mw-button-secondary{border-color:var(--mwg-line);background:rgba(255,255,255,.04);color:var(--mwg-text)}.mw-button-danger{border-color:rgba(224,68,94,.42);background:rgba(224,68,94,.08);color:#ff9aaa}.mw-button-block{width:100%}.mw-mini-button,.mw-icon-button{border:1px solid var(--mwg-line);background:rgba(255,255,255,.05);color:var(--mwg-text)}.mw-mini-button{padding:7px 10px;border-radius:10px;font-size:.72rem;font-weight:800}.mw-icon-button{display:grid;place-items:center;width:32px;height:32px;border-radius:10px;font-size:1.1rem}.mw-alert{padding:14px 16px;border:1px solid var(--mwg-line);border-radius:14px;font-size:.9rem}.mw-alert-error{border-color:rgba(224,68,94,.44);background:rgba(181,39,61,.13);color:#ffd9df}.mw-alert-success{border-color:rgba(97,212,154,.34);background:rgba(97,212,154,.09);color:#c9f8df}.mw-alert-info{border-color:rgba(108,167,255,.34);background:rgba(108,167,255,.08);color:#dceaff}.mw-form-note{color:var(--mwg-muted);font-size:.8rem;line-height:1.5}.mw-empty{padding:18px;border:1px dashed var(--mwg-line);border-radius:14px;color:var(--mwg-muted);text-align:center}

/* Entry */
.mw-entry{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(420px,.98fr);min-height:720px;overflow:hidden;border:1px solid var(--mwg-line);border-radius:30px;background:radial-gradient(circle at 14% 8%,rgba(181,39,61,.2),transparent 28%),linear-gradient(135deg,#11131a,#08090c);box-shadow:var(--mwg-shadow)}.mw-entry-brand{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:720px;padding:clamp(34px,6vw,78px);overflow:hidden}.mw-entry-brand:after{content:"";position:absolute;left:-15%;right:-5%;bottom:-32%;height:65%;background:repeating-linear-gradient(90deg,transparent 0 28px,rgba(255,255,255,.04) 29px 31px),linear-gradient(transparent,rgba(0,0,0,.7));clip-path:polygon(0 70%,8% 50%,15% 66%,24% 20%,32% 56%,42% 35%,53% 65%,64% 12%,76% 58%,86% 32%,100% 68%,100% 100%,0 100%)}.mw-entry-brand h1{position:relative;z-index:2;margin:.7rem 0 1.2rem;font-family:Georgia,serif;font-size:clamp(3.6rem,7vw,7.8rem);line-height:.84;letter-spacing:-.06em}.mw-entry-brand>p{position:relative;z-index:2;max-width:620px;color:var(--mwg-muted);font-size:1.06rem}.mw-entry-orbit{position:relative;z-index:2;width:94px;height:94px;margin-bottom:28px}.mw-entry-logo{width:94px;height:94px;object-fit:cover;border-radius:50%;filter:drop-shadow(0 0 25px rgba(216,183,101,.3))}.mw-entry-orbit span{position:absolute;inset:-10px;border:1px solid rgba(216,183,101,.28);border-radius:50%;animation:mworbit 7s linear infinite}.mw-entry-orbit span:nth-child(2){inset:-22px;border-style:dashed;animation-direction:reverse;animation-duration:12s}@keyframes mworbit{to{transform:rotate(360deg)}}.mw-entry-stats{position:relative;z-index:2;display:flex;gap:10px;margin-top:30px}.mw-entry-stats span{display:grid;min-width:88px;padding:12px 14px;border:1px solid var(--mwg-line);border-radius:14px;background:rgba(255,255,255,.035);color:var(--mwg-muted);font-size:.72rem;text-transform:uppercase}.mw-entry-stats strong{color:var(--mwg-text);font-size:1.25rem}.mw-entry-panel{align-self:center;margin:28px;padding:26px;border:1px solid var(--mwg-line);border-radius:24px;background:rgba(16,18,24,.88);backdrop-filter:blur(18px)}.mw-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;border:1px solid var(--mwg-line);border-radius:15px;background:#090a0e}.mw-tabs button{min-height:45px;border:0;border-radius:11px;background:transparent;color:var(--mwg-muted);font-weight:750}.mw-tabs button.is-active{background:var(--mwg-panel-3);color:var(--mwg-text);box-shadow:0 8px 20px rgba(0,0,0,.25)}.mw-form{display:grid;gap:16px;margin-top:22px}.mw-form-intro h2,.mw-custom-head h2{margin:.3rem 0;font-family:Georgia,serif;font-size:2rem}.mw-form label{display:grid;gap:7px;color:var(--mwg-muted);font-size:.82rem;font-weight:700}.mw-form input,.mw-form select,.mw-form textarea{width:100%;min-height:49px;padding:12px 14px;border:1px solid var(--mwg-line);border-radius:13px;background:#090a0e;color:var(--mwg-text);outline:none}.mw-form input:focus,.mw-form select:focus,.mw-form textarea:focus{border-color:rgba(216,183,101,.65);box-shadow:0 0 0 3px rgba(216,183,101,.09)}.mw-form small{font-size:.7rem}.mw-choice-fieldset{display:grid;gap:9px;margin:0;padding:0;border:0}.mw-choice-fieldset legend{margin-bottom:7px;color:var(--mwg-muted);font-size:.8rem;font-weight:800}.mw-choice-card{position:relative;display:flex!important;grid-template-columns:none!important;align-items:center!important;gap:12px!important;padding:14px;border:1px solid var(--mwg-line);border-radius:14px;background:rgba(255,255,255,.025);cursor:pointer}.mw-choice-card input{width:18px!important;min-height:18px!important;padding:0!important;accent-color:var(--mwg-red-2)}.mw-choice-card span{display:grid;gap:3px}.mw-choice-card b{color:var(--mwg-text);font-size:.92rem}.mw-choice-card small{color:var(--mwg-muted);font-weight:500}.mw-choice-card:has(input:checked){border-color:rgba(216,183,101,.5);background:rgba(216,183,101,.07)}.mw-advanced-settings{border:1px solid var(--mwg-line);border-radius:15px;background:rgba(255,255,255,.02)}.mw-advanced-settings summary{padding:15px;cursor:pointer;font-weight:800}.mw-advanced-settings[open]{padding:0 15px 15px}.mw-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.mw-settings-grid label{position:relative}.mw-settings-grid label small{position:absolute;right:12px;bottom:15px}.mw-switch-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.mw-check{display:flex!important;align-items:center!important;gap:9px!important;padding:10px;border:1px solid var(--mwg-line);border-radius:11px;background:rgba(255,255,255,.025);cursor:pointer}.mw-check input{width:17px!important;min-height:17px!important;padding:0!important;accent-color:var(--mwg-red-2)}.mw-check span{color:var(--mwg-text);font-size:.78rem}.mw-custom-settings{display:grid;gap:18px;margin-top:4px}.mw-custom-head{display:grid;grid-template-columns:1fr 130px;gap:18px;align-items:end}.mw-role-picker-group{padding:15px;border:1px solid var(--mwg-line);border-radius:16px}.mw-role-picker-group>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.mw-role-picker-group h3{margin:0;font-size:1rem}.mw-role-picker-group header span{color:var(--mwg-muted);font-size:.72rem}.mw-role-picker-grid{display:grid;gap:8px}.mw-role-pick{display:grid!important;grid-template-columns:38px 1fr 62px!important;align-items:center!important;gap:10px!important;padding:10px;border:1px solid var(--mwg-line);border-radius:12px;background:#0b0c10}.mw-role-pick-symbol{display:grid;place-items:center;width:38px;height:38px;border:1px solid var(--mwg-line);border-radius:12px;color:var(--mwg-gold);font-size:1.2rem}.mw-role-pick-copy{display:grid}.mw-role-pick-copy strong{color:var(--mwg-text);font-size:.84rem}.mw-role-pick-copy small{color:var(--mwg-muted);font-weight:500}.mw-role-pick input{min-height:38px!important;padding:7px!important;text-align:center}.mw-balance{display:grid;gap:8px;padding:14px;border:1px solid var(--mwg-line);border-radius:14px}.mw-balance>div{display:grid}.mw-balance span{color:var(--mwg-muted);font-size:.75rem}.mw-balance ul{margin:0;padding-left:20px;color:#ffd6dc;font-size:.78rem}.mw-balance.is-good{border-color:rgba(97,212,154,.35);background:rgba(97,212,154,.07)}.mw-balance.is-warning{border-color:rgba(224,68,94,.4);background:rgba(181,39,61,.08)}.mw-form-status{min-height:22px;color:var(--mwg-muted);font-size:.82rem}

/* Shared game chrome */
.mw-network{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:9px;padding:10px 16px;border:1px solid rgba(216,183,101,.38);border-radius:13px;background:#211b0f;color:#ffe9ad;font-size:.82rem}.mw-network-dot{width:9px;height:9px;border-radius:50%;background:var(--mwg-gold);animation:mwpulse 1.1s ease-in-out infinite}@keyframes mwpulse{50%{opacity:.3;transform:scale(.7)}}.mw-game-header{display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:14px;margin-bottom:14px;padding:13px 16px;border:1px solid var(--mwg-line);border-radius:18px;background:rgba(11,12,16,.94);backdrop-filter:blur(16px)}.mw-game-logo{display:flex;align-items:center;gap:10px;color:var(--mwg-text);text-decoration:none}.mw-game-logo-mark{width:44px;height:44px;border-radius:50%}.mw-game-logo span{display:grid;line-height:1}.mw-game-logo strong{font-family:Georgia,serif;font-size:1.15rem}.mw-game-logo small{margin-top:4px;color:var(--mwg-muted);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}.mw-room-chip,.mw-phase-chip{display:grid;padding:9px 14px;border:1px solid var(--mwg-line);border-radius:13px;background:var(--mwg-panel)}.mw-room-chip span,.mw-phase-chip span{color:var(--mwg-muted);font-size:.62rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.mw-room-chip strong{letter-spacing:.12em}.mw-phase-chip{min-width:130px;text-align:right}.mw-phase-chip strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.mw-phase-chip strong.is-ending{color:#ff7890;animation:mwpulse .7s ease-in-out infinite}

/* Host */
.mw-host-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:14px}.mw-public-stage,.mw-host-sidebar>section,.mw-control-panel,.mw-case-log,.mw-roster-panel{border:1px solid var(--mwg-line);border-radius:var(--mwg-radius);background:var(--mwg-panel)}.mw-public-stage{position:relative;min-height:650px;padding:clamp(22px,4vw,42px);overflow:hidden}.mw-public-stage:before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(circle at 82% 4%,rgba(181,39,61,.14),transparent 25%),linear-gradient(180deg,transparent 70%,rgba(0,0,0,.22))}.mw-public-stage.is-night:before{background:radial-gradient(circle at 80% 0,rgba(108,167,255,.15),transparent 27%),linear-gradient(180deg,rgba(7,11,22,.2),rgba(0,0,0,.34))}.mw-stage-heading{position:relative;z-index:2;max-width:760px;margin-bottom:28px}.mw-stage-heading h1{margin:.4rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(3rem,6vw,6.4rem);line-height:.88;letter-spacing:-.055em}.mw-stage-heading p{max-width:690px;margin:0;color:var(--mwg-muted);font-size:1.02rem}.mw-lobby-share{position:relative;z-index:2;display:grid;grid-template-columns:210px 1fr;align-items:center;gap:26px;margin:24px 0;padding:20px;border:1px solid var(--mwg-line);border-radius:20px;background:rgba(0,0,0,.2)}.mw-qr-wrap{display:grid;place-items:center;gap:8px;padding:12px;border-radius:15px;background:#fff;color:#111}.mw-qr-wrap img,.mw-qr-wrap canvas{display:block}.mw-qr-wrap small{font-weight:800}.mw-room-code-big{display:grid;gap:5px}.mw-room-code-big span{color:var(--mwg-gold);font-size:.72rem;font-weight:850;letter-spacing:.17em}.mw-room-code-big strong{font-size:clamp(2.8rem,7vw,6rem);line-height:1;letter-spacing:.13em}.mw-room-code-big p{margin:6px 0;color:var(--mwg-muted)}.mw-room-code-big a{max-width:540px;overflow:hidden;color:var(--mwg-muted);font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.mw-progress{position:relative;z-index:2;display:grid;gap:9px;margin:20px 0}.mw-progress>div{display:flex;justify-content:space-between}.mw-progress span{color:var(--mwg-muted);font-size:.76rem;text-transform:uppercase}.mw-progress i{height:9px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.mw-progress b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--mwg-red),var(--mwg-gold));transition:width .35s ease}.mw-host-mode-banner{position:relative;z-index:2;display:flex;align-items:center;gap:12px;margin:18px 0;padding:13px 15px;border:1px solid var(--mwg-line);border-radius:15px;background:rgba(255,255,255,.025)}.mw-host-mode-banner span{flex:0 0 auto;padding:6px 9px;border-radius:99px;background:rgba(255,255,255,.06);font-size:.67rem;font-weight:850;letter-spacing:.12em}.mw-host-mode-banner p{margin:0;color:var(--mwg-muted);font-size:.82rem}.mw-host-mode-banner.is-visible{border-color:rgba(216,183,101,.38);background:rgba(216,183,101,.06)}.mw-identity-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.mw-identity-card{position:relative;display:grid;grid-template-rows:auto 1fr auto auto;min-height:270px;padding:14px;border:1px solid var(--mwg-line);border-radius:20px;background:linear-gradient(160deg,#191c25,#0c0d12);overflow:hidden}.mw-identity-card:before{content:"";position:absolute;inset:auto -20% -35% 30%;height:70%;background:radial-gradient(circle,rgba(216,183,101,.12),transparent 62%);transform:rotate(-18deg)}.mw-identity-card.is-mafia{border-color:rgba(224,68,94,.36);background:linear-gradient(160deg,#27131a,#0d0c10)}.mw-identity-card.is-town{border-color:rgba(108,167,255,.28)}.mw-identity-card.is-neutral{border-color:rgba(185,149,255,.3)}.mw-identity-card.is-eliminated{filter:grayscale(.8);opacity:.58}.mw-card-top{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center}.mw-player-number{color:var(--mwg-muted);font-size:.67rem;font-weight:850}.mw-live-dot{display:flex;align-items:center;gap:5px;color:var(--mwg-muted);font-size:.62rem;text-transform:uppercase}.mw-live-dot:before{content:"";width:7px;height:7px;border-radius:50%;background:#777}.mw-live-dot.is-online:before{background:var(--mwg-green);box-shadow:0 0 10px rgba(97,212,154,.5)}.mw-card-portrait{position:relative;z-index:2;display:grid;place-items:center;align-self:center;width:110px;height:110px;margin:12px auto;border:1px solid var(--mwg-line);border-radius:50%;background:radial-gradient(circle at 40% 30%,#2c303d,#0b0c10 68%)}.mw-card-portrait>span{font-size:2rem;font-weight:900}.mw-card-portrait i{position:absolute;right:-4px;bottom:4px;display:grid;place-items:center;width:40px;height:40px;border:1px solid rgba(216,183,101,.35);border-radius:50%;background:#101117;color:var(--mwg-gold);font-style:normal;font-size:1.15rem}.mw-card-copy{position:relative;z-index:2;text-align:center}.mw-card-copy h3{margin:0;font-size:1.05rem}.mw-card-copy p{margin:4px 0;color:var(--mwg-text);font-size:.82rem}.mw-card-copy small{color:var(--mwg-muted);font-size:.66rem;text-transform:uppercase}.mw-card-copy em{display:block;margin-top:8px;padding:7px;border-radius:9px;background:rgba(255,255,255,.05);color:var(--mwg-gold);font-size:.68rem;font-style:normal}.mw-card-actions{position:relative;z-index:2;display:flex;justify-content:center;margin-top:10px}.mw-host-role-deck{position:relative;z-index:2;margin-top:28px;padding:20px;border:1px solid rgba(216,183,101,.28);border-radius:20px;background:rgba(216,183,101,.035)}.mw-host-role-deck header h2{margin:.3rem 0;font-family:Georgia,serif;font-size:2rem}.mw-host-role-deck header p{margin:0;color:var(--mwg-muted)}.mw-host-role-deck>div{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.mw-role-mini{display:flex;align-items:center;gap:10px;padding:10px;border:1px solid var(--mwg-line);border-radius:12px;background:#0d0f14}.mw-role-mini>span{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:rgba(255,255,255,.05);color:var(--mwg-gold)}.mw-role-mini div{display:grid}.mw-role-mini small{color:var(--mwg-muted);font-size:.67rem;text-transform:capitalize}.mw-host-sidebar{display:grid;align-content:start;gap:14px}.mw-control-panel,.mw-case-log{padding:18px}.mw-panel-title,.mw-case-log header,.mw-roster-panel header{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.mw-panel-title span,.mw-case-log h3,.mw-roster-panel h2{margin:0;font-size:1rem}.mw-panel-title i,.mw-case-log header span,.mw-roster-panel header span{color:var(--mwg-muted);font-size:.68rem;font-style:normal;text-transform:uppercase}.mw-control-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mw-control-grid button:nth-child(3){grid-column:1/-1}.mw-command-status,.mw-action-status{min-height:20px;margin-top:9px;color:var(--mwg-muted);font-size:.76rem}.mw-danger-zone{margin-top:12px;border-top:1px solid var(--mwg-line)}.mw-danger-zone summary{padding:12px 0;cursor:pointer;color:var(--mwg-muted);font-size:.78rem}.mw-danger-zone[open]{display:grid;gap:8px}.mw-case-log{display:grid;gap:8px}.mw-case-log p{display:grid;grid-template-columns:8px 1fr auto;gap:8px;align-items:start;margin:0;padding:9px 0;border-top:1px solid rgba(255,255,255,.06);font-size:.75rem}.mw-case-log p i{width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--mwg-red-2)}.mw-case-log p span{color:var(--mwg-muted)}.mw-case-log time{color:#777;font-size:.65rem}.mw-victory{position:relative;z-index:2;margin-top:24px;padding:24px;border:1px solid rgba(216,183,101,.4);border-radius:20px;background:radial-gradient(circle at 50% 0,rgba(216,183,101,.16),transparent 50%);text-align:center}.mw-victory>span{color:var(--mwg-gold);font-size:.72rem;font-weight:850;letter-spacing:.17em;text-transform:uppercase}.mw-victory h1,.mw-victory h2{margin:.5rem 0;font-family:Georgia,serif;font-size:clamp(2.4rem,5vw,4.8rem)}.mw-victory p{margin:0;color:var(--mwg-muted)}

/* Player */
.mw-player-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:14px}.mw-player-primary{min-width:0}.mw-player-identity{display:flex;align-items:center;gap:11px;margin-bottom:14px;padding:12px 14px;border:1px solid var(--mwg-line);border-radius:17px;background:var(--mwg-panel)}.mw-avatar{display:grid;place-items:center;flex:0 0 44px;width:44px;height:44px;border:1px solid rgba(216,183,101,.3);border-radius:50%;background:#171923;color:var(--mwg-gold);font-weight:900}.mw-player-identity>div{display:grid}.mw-player-identity small{color:var(--mwg-muted);font-size:.66rem;text-transform:uppercase}.mw-player-identity strong{font-size:1rem}.mw-connection{margin-left:auto;padding:7px 10px;border-radius:99px;background:rgba(97,212,154,.09);color:var(--mwg-green);font-size:.69rem;font-weight:850;text-transform:uppercase}.mw-connection.is-out{background:rgba(224,68,94,.09);color:#ff93a6}.mw-phase-panel{position:relative;min-height:590px;padding:clamp(22px,5vw,46px);overflow:hidden;border:1px solid var(--mwg-line);border-radius:var(--mwg-radius);background:radial-gradient(circle at 90% 0,rgba(181,39,61,.13),transparent 25%),var(--mwg-panel)}.mw-phase-panel.is-night{background:radial-gradient(circle at 85% 0,rgba(108,167,255,.16),transparent 28%),linear-gradient(160deg,#101521,#0c0d12)}.mw-phase-panel>h1{max-width:760px;margin:.45rem 0 .8rem;font-family:Georgia,serif;font-size:clamp(2.8rem,7vw,6rem);line-height:.9;letter-spacing:-.05em}.mw-phase-panel>p{max-width:680px;color:var(--mwg-muted)}.mw-recovery,.mw-role-drawer{margin-top:18px;border:1px solid var(--mwg-line);border-radius:15px;background:rgba(255,255,255,.025)}.mw-recovery summary,.mw-role-drawer summary{padding:14px;cursor:pointer;font-weight:800}.mw-recovery[open],.mw-role-drawer[open]{padding:0 14px 14px}.mw-recovery strong{display:block;padding:14px;border-radius:12px;background:#08090c;color:var(--mwg-gold);font-size:1.25rem;letter-spacing:.12em;text-align:center}.mw-recovery p{color:var(--mwg-muted);font-size:.78rem}.mw-player-sidebar{display:grid;align-content:start;gap:14px}.mw-roster-panel{padding:16px}.mw-mini-roster{display:grid;gap:8px}.mw-mini-player{display:grid;grid-template-columns:40px 1fr 8px;gap:10px;align-items:center;padding:9px;border:1px solid var(--mwg-line);border-radius:13px;background:rgba(255,255,255,.02)}.mw-mini-player .mw-avatar{width:40px;height:40px;flex-basis:40px;font-size:.8rem}.mw-mini-player div{display:grid}.mw-mini-player small{color:var(--mwg-muted);font-size:.67rem}.mw-mini-player>i{width:8px;height:8px;border-radius:50%;background:#666}.mw-mini-player>i.is-online{background:var(--mwg-green)}.mw-mini-player.is-out{opacity:.55;filter:grayscale(.8)}

/* Role card */
.mw-role-card-scene{max-width:520px;margin:24px auto 0;perspective:1200px}.mw-secret-card{position:relative;cursor:pointer;min-height:470px;margin-bottom:12px;transform-style:preserve-3d;transition:transform .75s cubic-bezier(.2,.75,.2,1)}.mw-secret-card.is-revealed{transform:rotateY(180deg)}.mw-secret-face{position:absolute;inset:0;padding:26px;border:1px solid rgba(216,183,101,.36);border-radius:26px;backface-visibility:hidden;overflow:hidden;box-shadow:0 28px 60px rgba(0,0,0,.35)}.mw-secret-cover{display:grid;place-content:center;justify-items:center;gap:12px;background:radial-gradient(circle at 50% 30%,rgba(216,183,101,.14),transparent 26%),repeating-linear-gradient(45deg,transparent 0 18px,rgba(255,255,255,.018) 19px 20px),linear-gradient(160deg,#161923,#090a0e)}.mw-secret-cover:before,.mw-secret-cover:after{content:"";position:absolute;inset:18px;border:1px solid rgba(216,183,101,.2);border-radius:20px}.mw-secret-cover:after{inset:27px;border-style:dashed}.mw-card-sigil{position:relative;z-index:2}.mw-role-logo{width:120px;height:120px;border-radius:50%;filter:drop-shadow(0 0 32px rgba(216,183,101,.25))}.mw-secret-cover span,.mw-secret-cover strong,.mw-secret-cover small{position:relative;z-index:2}.mw-secret-cover span{color:var(--mwg-gold);font-size:.7rem;font-weight:900;letter-spacing:.19em}.mw-secret-cover strong{font-family:Georgia,serif;font-size:2.25rem}.mw-secret-cover small{color:var(--mwg-muted)}.mw-secret-content{display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;transform:rotateY(180deg);background:radial-gradient(circle at 80% 0,rgba(216,183,101,.13),transparent 28%),linear-gradient(160deg,#191c25,#0b0c11)}.mw-secret-card.is-mafia .mw-secret-content{background:radial-gradient(circle at 80% 0,rgba(224,68,94,.2),transparent 30%),linear-gradient(160deg,#26131a,#0b0b0f)}.mw-secret-card.is-town .mw-secret-content{background:radial-gradient(circle at 80% 0,rgba(108,167,255,.16),transparent 30%),linear-gradient(160deg,#141b29,#0b0c11)}.mw-secret-card.is-neutral .mw-secret-content{background:radial-gradient(circle at 80% 0,rgba(185,149,255,.17),transparent 30%),linear-gradient(160deg,#1d1729,#0b0c11)}.mw-role-art{position:relative;display:grid;place-items:center;width:116px;height:116px;margin:0 auto 14px;border:1px solid rgba(216,183,101,.34);border-radius:50%;background:rgba(0,0,0,.22)}.mw-role-art span{position:relative;z-index:2;color:var(--mwg-gold);font-size:3.8rem}.mw-role-art i{position:absolute;inset:11px;border:1px dashed rgba(216,183,101,.22);border-radius:50%}.mw-role-heading{text-align:center}.mw-role-heading span{color:var(--mwg-gold);font-size:.67rem;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.mw-role-heading h2{margin:.25rem 0 .65rem;font-family:Georgia,serif;font-size:2.65rem}.mw-secret-content>p{margin:.2rem 0 .8rem;text-align:center}.mw-secret-content>small{color:var(--mwg-muted);font-size:.83rem;text-align:center}.mw-role-extras,.mw-teammates{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:15px}.mw-role-extras span,.mw-teammates span{padding:7px 9px;border:1px solid var(--mwg-line);border-radius:99px;background:rgba(255,255,255,.04);font-size:.7rem}.mw-teammates{display:grid;justify-content:stretch}.mw-teammates strong{text-align:center}.mw-teammates span{text-align:center}

/* Action/vote profile UI */
.mw-action-form{display:grid;gap:18px;margin-top:24px}.mw-action-form fieldset{margin:0;padding:0;border:0}.mw-action-form legend{margin-bottom:12px;color:var(--mwg-text);font-size:.9rem;font-weight:850}.mw-target-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.mw-target-card{position:relative;display:grid;grid-template-columns:50px 1fr 18px;gap:10px;align-items:center;min-height:76px;padding:11px;border:1px solid var(--mwg-line);border-radius:16px;background:#0c0e13;cursor:pointer;transition:transform .17s ease,border-color .17s ease,background .17s ease}.mw-target-card:hover{transform:translateY(-2px);border-color:var(--mwg-line-strong)}.mw-target-card input{position:absolute;opacity:0;pointer-events:none}.mw-target-card:has(input:checked){border-color:rgba(216,183,101,.62);background:linear-gradient(135deg,rgba(216,183,101,.12),rgba(181,39,61,.08));box-shadow:0 0 0 3px rgba(216,183,101,.07)}.mw-target-avatar{display:grid;place-items:center;width:50px;height:50px;border:1px solid var(--mwg-line);border-radius:15px;background:#171a22;color:var(--mwg-gold);font-weight:900}.mw-target-card>span:nth-of-type(2){display:grid}.mw-target-card strong{font-size:.86rem}.mw-target-card small{color:var(--mwg-muted);font-size:.65rem}.mw-target-card>i{display:grid;place-items:center;width:18px;height:18px;border:1px solid var(--mwg-line-strong);border-radius:50%}.mw-target-card:has(input:checked)>i{border:5px solid var(--mwg-gold);background:#fff}.mw-target-card.is-special{border-style:dashed}.mw-action-confirm{display:flex;align-items:center;justify-content:space-between;gap:14px;padding-top:15px;border-top:1px solid var(--mwg-line)}.mw-action-confirm span{color:var(--mwg-muted);font-size:.76rem}.mw-private-notes{display:grid;gap:7px;margin-top:24px;color:var(--mwg-muted);font-size:.78rem;font-weight:750}.mw-private-notes textarea{width:100%;padding:13px;border:1px solid var(--mwg-line);border-radius:14px;background:#0a0b0f;color:var(--mwg-text);resize:vertical}

@media(max-width:1180px){.mw-entry{grid-template-columns:1fr}.mw-entry-brand{min-height:540px}.mw-entry-panel{margin-top:-20px}.mw-host-layout{grid-template-columns:1fr}.mw-host-sidebar{grid-template-columns:1fr 1fr}.mw-identity-grid{grid-template-columns:repeat(2,1fr)}.mw-host-role-deck>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:860px){.mw-player-layout{grid-template-columns:1fr}.mw-player-sidebar{grid-template-columns:1fr 1fr}.mw-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-game-header{grid-template-columns:1fr auto}.mw-phase-chip{grid-column:1/-1;grid-template-columns:1fr auto;text-align:left}.mw-phase-chip strong{text-align:right}}
@media(max-width:640px){.mw-entry{border-radius:20px}.mw-entry-brand{min-height:470px;padding:30px 22px}.mw-entry-brand h1{font-size:4rem}.mw-entry-panel{margin:10px;padding:18px}.mw-entry-stats{gap:6px}.mw-entry-stats span{min-width:0;flex:1}.mw-form-grid,.mw-switch-grid,.mw-custom-head{grid-template-columns:1fr}.mw-game-header{padding:10px}.mw-game-logo span{display:none}.mw-room-chip,.mw-phase-chip{padding:8px 10px}.mw-host-sidebar,.mw-player-sidebar{grid-template-columns:1fr}.mw-public-stage,.mw-phase-panel{padding:22px 16px;border-radius:20px}.mw-stage-heading h1,.mw-phase-panel>h1{font-size:3.25rem}.mw-lobby-share{grid-template-columns:1fr}.mw-qr-wrap{width:205px;margin:auto}.mw-room-code-big{text-align:center}.mw-identity-grid,.mw-host-role-deck>div,.mw-target-grid{grid-template-columns:1fr}.mw-identity-card{min-height:245px}.mw-secret-card{min-height:500px}.mw-secret-face{padding:20px}.mw-action-confirm{align-items:stretch;flex-direction:column}.mw-action-confirm .mw-button{width:100%}.mw-player-identity{position:sticky;top:6px;z-index:20}.mw-role-heading h2{font-size:2.2rem}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.mw-secret-card{transition:none}}

/* Mafiawars V4 interaction and identity system */
.mw-role-icon,.mw-card-role-icon,.mw-role-mini-icon,.mw-role-art-icon{display:block;width:100%;height:100%}
.mw-entry{background:
  radial-gradient(circle at 8% 8%,rgba(226,57,87,.22),transparent 24%),
  radial-gradient(circle at 72% 12%,rgba(107,92,255,.1),transparent 23%),
  linear-gradient(145deg,#12151d,#07080c 62%)}
.mw-entry-brand:before{content:"";position:absolute;inset:0;pointer-events:none;background:
  radial-gradient(circle at 20% 72%,rgba(216,183,101,.09),transparent 18%),
  linear-gradient(115deg,transparent 42%,rgba(255,255,255,.025) 42.5%,transparent 43%);background-size:auto,82px 82px}
.mw-entry-panel{box-shadow:0 28px 70px rgba(0,0,0,.38)}
.mw-entry-stats span{min-width:100px}
.mw-entry-stats strong{font-size:1.4rem}

.mw-custom-settings{gap:15px}
.mw-custom-head{grid-template-columns:minmax(0,1fr) 150px;padding:18px;border:1px solid var(--mwg-line);border-radius:18px;background:linear-gradient(135deg,rgba(216,183,101,.07),rgba(181,39,61,.035))}
.mw-custom-head p{margin:.25rem 0 0;color:var(--mwg-muted);font-size:.82rem}
.mw-deck-tools{display:flex;flex-wrap:wrap;gap:8px}
.mw-deck-tools button{min-height:38px;padding:8px 12px;border:1px solid var(--mwg-line);border-radius:999px;background:#0b0d12;color:var(--mwg-text);font-size:.75rem;font-weight:800;cursor:pointer;transition:.18s ease}
.mw-deck-tools button:hover{border-color:rgba(216,183,101,.48);background:rgba(216,183,101,.08);transform:translateY(-1px)}
.mw-role-picker-group{padding:0;overflow:hidden;background:rgba(255,255,255,.012)}
.mw-role-picker-group>header{padding:13px 15px;margin:0;border-bottom:1px solid var(--mwg-line);background:rgba(255,255,255,.025)}
.mw-role-picker-group>header>div{display:flex;align-items:center;gap:9px}
.mw-role-team-dot{width:9px;height:9px;border-radius:50%;background:var(--mwg-blue);box-shadow:0 0 16px currentColor}
.mw-role-picker-group.is-mafia .mw-role-team-dot{background:var(--mwg-red-2)}
.mw-role-picker-group.is-neutral .mw-role-team-dot{background:var(--mwg-purple)}
.mw-role-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:10px}
.mw-role-pick{position:relative;grid-template-columns:46px minmax(0,1fr) auto!important;min-height:82px;padding:10px!important;overflow:hidden;transition:border-color .18s,background .18s,transform .18s}
.mw-role-pick:after{content:"";position:absolute;left:0;top:14px;bottom:14px;width:3px;border-radius:0 4px 4px 0;background:transparent}
.mw-role-pick.is-active{border-color:rgba(216,183,101,.42);background:linear-gradient(135deg,rgba(216,183,101,.08),rgba(255,255,255,.025))}
.mw-role-picker-group.is-town .mw-role-pick.is-active:after{background:var(--mwg-blue)}
.mw-role-picker-group.is-mafia .mw-role-pick.is-active:after{background:var(--mwg-red-2)}
.mw-role-picker-group.is-neutral .mw-role-pick.is-active:after{background:var(--mwg-purple)}
.mw-role-pick-symbol{width:46px;height:46px;padding:9px;border-radius:15px;background:#12151c;color:var(--mwg-gold)}
.mw-role-pick-copy{min-width:0}
.mw-role-pick-copy strong{font-size:.86rem}
.mw-role-pick-copy small{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.65rem;line-height:1.35}
.mw-role-pick-copy em{margin-top:3px;color:var(--mwg-gold);font-size:.58rem;font-style:normal;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.mw-role-stepper{display:grid;grid-template-columns:30px 38px 30px;align-items:center;overflow:hidden;border:1px solid var(--mwg-line);border-radius:11px;background:#08090d}
.mw-role-stepper button{width:30px;height:36px;padding:0;border:0;background:transparent;color:var(--mwg-text);font-size:1.05rem;font-weight:900;cursor:pointer}
.mw-role-stepper button:hover{background:rgba(216,183,101,.1);color:var(--mwg-gold)}
.mw-role-stepper input{width:38px!important;min-height:36px!important;padding:0!important;border:0!important;border-inline:1px solid var(--mwg-line)!important;border-radius:0!important;background:transparent!important;font-size:.8rem;text-align:center;appearance:textfield}
.mw-role-stepper input::-webkit-inner-spin-button,.mw-role-stepper input::-webkit-outer-spin-button{appearance:none;margin:0}
.mw-balance{gap:11px;padding:15px 16px}
.mw-balance header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.mw-balance header>div{display:grid;gap:2px}
.mw-balance header strong{font-size:.95rem}
.mw-balance header span{font-size:.72rem}
.mw-balance header>b{padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.055);font-size:.7rem;white-space:nowrap}
.mw-balance p{margin:0;color:var(--mwg-muted);font-size:.75rem}
.mw-balance.is-ready{border-color:rgba(97,212,154,.35);background:rgba(97,212,154,.06)}
.mw-balance.is-spicy{border-color:rgba(216,183,101,.4);background:rgba(216,183,101,.06)}
.mw-balance.is-adjust{border-color:rgba(224,68,94,.38);background:rgba(181,39,61,.07)}
.mw-deck-meter{display:flex;height:8px;overflow:hidden;border-radius:999px;background:#07080b}
.mw-deck-meter i{display:block;height:100%}
.mw-deck-meter .is-town{background:var(--mwg-blue)}
.mw-deck-meter .is-mafia{background:var(--mwg-red-2)}
.mw-deck-meter .is-neutral{background:var(--mwg-purple)}
.mw-deck-stats{display:flex;flex-wrap:wrap;gap:8px}
.mw-deck-stats span{padding:5px 8px;border:1px solid var(--mwg-line);border-radius:999px;background:rgba(255,255,255,.025);font-size:.65rem}
.mw-deck-stats b{color:var(--mwg-text)}

/* Compact premium identity cards */
.mw-role-card-scene{max-width:460px}
.mw-secret-card{min-height:430px}
.mw-secret-face{padding:22px;border-radius:24px}
.mw-secret-cover{background:
  radial-gradient(circle at 50% 32%,rgba(216,183,101,.15),transparent 24%),
  linear-gradient(135deg,transparent 48%,rgba(255,255,255,.025) 49%,transparent 50%),
  linear-gradient(160deg,#171a22,#08090d)}
.mw-card-team{display:flex;align-items:center;justify-content:center;gap:8px;color:var(--mwg-gold);font-size:.62rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}
.mw-card-team i{width:26px;height:1px;background:currentColor;opacity:.5}
.mw-role-art{width:92px;height:92px;margin:13px auto 8px;padding:19px;border-radius:24px;transform:rotate(2deg);background:linear-gradient(145deg,rgba(216,183,101,.12),rgba(0,0,0,.16));color:var(--mwg-gold)}
.mw-role-art:before{content:"";position:absolute;inset:8px;border:1px dashed rgba(216,183,101,.2);border-radius:18px}
.mw-role-art-icon{position:relative;z-index:2}
.mw-role-heading h2{margin:.1rem 0;font-size:2.25rem;letter-spacing:-.035em}
.mw-role-heading span{display:block;color:var(--mwg-muted);font-size:.64rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase}
.mw-role-mission,.mw-role-ability{margin-top:10px;padding:10px 12px;border:1px solid var(--mwg-line);border-radius:13px;background:rgba(255,255,255,.025)}
.mw-role-mission strong,.mw-role-ability strong{display:block;margin-bottom:2px;color:var(--mwg-gold);font-size:.59rem;letter-spacing:.11em;text-transform:uppercase}
.mw-role-mission p,.mw-role-ability p{margin:0;color:var(--mwg-muted);font-size:.74rem;line-height:1.45;text-align:left}
.mw-secret-card.is-town .mw-role-art{color:#8dbdff;border-color:rgba(108,167,255,.36)}
.mw-secret-card.is-mafia .mw-role-art{color:#ff728a;border-color:rgba(224,68,94,.38)}
.mw-secret-card.is-neutral .mw-role-art{color:#c7a8ff;border-color:rgba(185,149,255,.38)}

/* Player profile targeting */
.mw-action-form fieldset{padding:14px;border:1px solid var(--mwg-line);border-radius:18px;background:rgba(0,0,0,.12)}
.mw-action-form fieldset+fieldset{margin-top:5px}
.mw-action-form legend{display:grid;gap:2px;padding:0 7px;font-size:1rem}
.mw-action-form legend span{color:var(--mwg-gold);font-size:.58rem;letter-spacing:.13em;text-transform:uppercase}
.mw-target-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.mw-target-card{grid-template-columns:54px minmax(0,1fr) 22px;min-height:82px;padding:10px;border-radius:17px;background:linear-gradient(145deg,#10131a,#090a0e)}
.mw-target-card:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 10% 10%,hsla(var(--avatar-hue,30),65%,55%,.12),transparent 42%);pointer-events:none}
.mw-target-card:hover{transform:translateY(-3px);border-color:rgba(216,183,101,.32)}
.mw-target-card:has(input:checked){border-color:rgba(216,183,101,.7);background:linear-gradient(145deg,rgba(216,183,101,.13),rgba(181,39,61,.08));box-shadow:0 10px 28px rgba(0,0,0,.28),0 0 0 3px rgba(216,183,101,.07)}
.mw-target-avatar{position:relative;display:grid;place-items:center;width:54px;height:54px;border:1px solid hsla(var(--avatar-hue,30),70%,70%,.28);border-radius:17px;background:linear-gradient(145deg,hsla(var(--avatar-hue,30),48%,28%,.6),#11141b);color:#fff;font-size:.85rem;font-weight:900}
.mw-target-avatar em{position:absolute;right:-4px;bottom:-4px;display:grid;place-items:center;width:21px;height:21px;border:2px solid #0d0f14;border-radius:50%;background:var(--mwg-gold);color:#17130a;font-size:.52rem;font-style:normal}
.mw-target-avatar.is-skip{background:#171920;color:var(--mwg-muted);font-size:1.5rem}
.mw-target-copy{position:relative;z-index:2;display:grid;min-width:0}
.mw-target-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.87rem}
.mw-target-copy small{color:var(--mwg-muted);font-size:.62rem}
.mw-target-check{position:relative;z-index:2;width:21px;height:21px;border:1px solid var(--mwg-line-strong);border-radius:50%}
.mw-target-card:has(input:checked) .mw-target-check{border:6px solid var(--mwg-gold);background:#fff}
.mw-action-form.is-mafia_vote .mw-target-card:has(input:checked),.mw-action-form.is-serial_kill .mw-target-card:has(input:checked){border-color:rgba(224,68,94,.75);box-shadow:0 0 0 3px rgba(224,68,94,.08)}
.mw-action-form.is-mafia_vote .mw-target-card:has(input:checked) .mw-target-check,.mw-action-form.is-serial_kill .mw-target-card:has(input:checked) .mw-target-check{border-color:var(--mwg-red-2)}
.mw-action-form.is-protect .mw-target-card:has(input:checked),.mw-action-form.is-guard .mw-target-card:has(input:checked){border-color:rgba(97,212,154,.65)}
.mw-action-form.is-vote .mw-target-card:has(input:checked){border-color:rgba(216,183,101,.72)}

/* Host identity wall */
.mw-identity-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.mw-identity-card{min-height:270px;padding:13px;background:linear-gradient(155deg,#151820,#0b0c11)}
.mw-card-portrait{height:104px;border-radius:17px;background:radial-gradient(circle at 25% 20%,hsla(var(--avatar-hue,30),65%,55%,.16),transparent 45%),#0b0d12}
.mw-card-portrait>span{font-size:1.35rem}
.mw-card-portrait i{display:grid;place-items:center;width:43px;height:43px;padding:9px;border-radius:13px}
.mw-card-role-icon{color:var(--mwg-gold)}
.mw-identity-card.is-town .mw-card-role-icon{color:#8dbdff}
.mw-identity-card.is-mafia .mw-card-role-icon{color:#ff728a}
.mw-identity-card.is-neutral .mw-card-role-icon{color:#c7a8ff}
.mw-card-copy h3{font-size:1rem}
.mw-card-copy p{margin:.18rem 0;color:var(--mwg-text);font-size:.78rem;font-weight:850}
.mw-card-copy small{text-transform:uppercase;letter-spacing:.1em}
.mw-host-role-deck>div{grid-template-columns:repeat(3,minmax(0,1fr))}
.mw-role-mini{min-height:72px;border-radius:15px;background:rgba(255,255,255,.025)}
.mw-role-mini>span{display:grid;place-items:center;width:42px;height:42px;padding:9px;border:1px solid var(--mwg-line);border-radius:13px;color:var(--mwg-gold)}
.mw-role-mini.is-town>span{color:#8dbdff}.mw-role-mini.is-mafia>span{color:#ff728a}.mw-role-mini.is-neutral>span{color:#c7a8ff}
.mw-role-mini-icon{width:24px;height:24px}
.mw-avatar{background:linear-gradient(145deg,hsla(var(--avatar-hue,30),48%,28%,.65),#12151b);border-color:hsla(var(--avatar-hue,30),65%,65%,.24)}

@media(max-width:1180px){.mw-identity-grid{grid-template-columns:repeat(3,1fr)}.mw-host-role-deck>div{grid-template-columns:repeat(2,1fr)}}
@media(max-width:900px){.mw-role-picker-grid{grid-template-columns:1fr}.mw-target-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-identity-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.mw-custom-head{grid-template-columns:1fr}.mw-deck-tools{display:grid;grid-template-columns:1fr 1fr}.mw-deck-tools button:first-child{grid-column:1/-1}.mw-role-pick{grid-template-columns:42px minmax(0,1fr)!important}.mw-role-stepper{grid-column:1/-1;grid-template-columns:1fr 48px 1fr;margin-top:3px}.mw-role-stepper button{width:auto}.mw-role-stepper input{width:48px!important}.mw-target-grid{grid-template-columns:1fr}.mw-target-card{min-height:78px}.mw-secret-card{min-height:450px}.mw-role-art{width:82px;height:82px;padding:17px}.mw-role-heading h2{font-size:2rem}.mw-identity-grid{grid-template-columns:1fr 1fr}.mw-host-role-deck>div{grid-template-columns:1fr}}
@media(max-width:420px){.mw-identity-grid{grid-template-columns:1fr}.mw-entry-stats{display:grid;grid-template-columns:repeat(3,1fr)}.mw-entry-stats span{min-width:0;padding:10px}.mw-entry-stats strong{font-size:1.15rem}}


/* Shared Mafiawars role-card palette */
.role-citizen{--role-accent:#b9b7b2;--role-glow:rgba(185,183,178,.18);--role-wash:#15171b}
.role-detective{--role-accent:#78aaff;--role-glow:rgba(120,170,255,.22);--role-wash:#111b2b}
.role-doctor{--role-accent:#68d391;--role-glow:rgba(104,211,145,.2);--role-wash:#102219}
.role-bodyguard{--role-accent:#7ea6cf;--role-glow:rgba(126,166,207,.2);--role-wash:#111e2a}
.role-vigilante{--role-accent:#55c7bb;--role-glow:rgba(85,199,187,.2);--role-wash:#0f2223}
.role-tracker{--role-accent:#d2ae61;--role-glow:rgba(210,174,97,.2);--role-wash:#211c11}
.role-watcher{--role-accent:#69c6df;--role-glow:rgba(105,198,223,.2);--role-wash:#102128}
.role-escort{--role-accent:#d69ac7;--role-glow:rgba(214,154,199,.2);--role-wash:#231522}
.role-medium{--role-accent:#b997ff;--role-glow:rgba(185,151,255,.22);--role-wash:#20172c}
.role-mayor{--role-accent:#e2bd67;--role-glow:rgba(226,189,103,.22);--role-wash:#251d10}
.role-mafia{--role-accent:#ef526b;--role-glow:rgba(239,82,107,.24);--role-wash:#2b1118}
.role-godfather{--role-accent:#e04c61;--role-glow:rgba(224,76,97,.24);--role-wash:#2b1117}
.role-consigliere{--role-accent:#e56872;--role-glow:rgba(229,104,114,.22);--role-wash:#281317}
.role-framer{--role-accent:#ed7650;--role-glow:rgba(237,118,80,.22);--role-wash:#2a1711}
.role-silencer{--role-accent:#d65470;--role-glow:rgba(214,84,112,.22);--role-wash:#28121a}
.role-jester{--role-accent:#c28cff;--role-glow:rgba(194,140,255,.24);--role-wash:#21142e}
.role-survivor{--role-accent:#dda958;--role-glow:rgba(221,169,88,.22);--role-wash:#271d0f}
.role-executioner{--role-accent:#a986f5;--role-glow:rgba(169,134,245,.22);--role-wash:#1e172b}
.role-serial_killer{--role-accent:#dd9149;--role-glow:rgba(221,145,73,.22);--role-wash:#291a0e}
.role-hidden{--role-accent:#d8b765;--role-glow:rgba(216,183,101,.18);--role-wash:#17181d}

/* V4.1 unified in-game role cards */
.mw-role-deck-card{--role-accent:var(--mwg-gold);--role-glow:rgba(216,183,101,.18);--role-wash:#17181d;position:relative;isolation:isolate;overflow:hidden;border:1px solid color-mix(in srgb,var(--role-accent) 48%,transparent);border-radius:16px;background:radial-gradient(circle at 50% 28%,var(--role-glow),transparent 35%),linear-gradient(165deg,var(--role-wash),#08090c 72%);box-shadow:0 24px 50px rgba(0,0,0,.34),inset 0 0 0 1px rgba(255,255,255,.035)}
.mw-role-deck-card:before{content:"";position:absolute;inset:8px;z-index:-1;border:1px solid color-mix(in srgb,var(--role-accent) 34%,transparent);border-radius:11px;pointer-events:none}
.mw-role-deck-card:after{content:"";position:absolute;inset:0;z-index:-2;opacity:.3;background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.035) 35%,transparent 36% 100%),repeating-linear-gradient(0deg,transparent 0 17px,rgba(255,255,255,.012) 18px 19px);pointer-events:none}
.mw-card-role-name{position:relative;z-index:2;display:block;color:#f4dfaa;font-family:Georgia,serif;font-size:1.12rem;font-weight:700;letter-spacing:.045em;text-align:center;text-transform:uppercase;text-shadow:0 2px 14px rgba(0,0,0,.8)}
.mw-card-role-art{position:relative;z-index:2;display:grid;place-items:center;color:var(--role-accent);filter:drop-shadow(0 0 18px var(--role-glow))}
.mw-card-role-art svg{width:100%;height:100%;stroke-width:2.1}
.mw-card-team-label{position:relative;z-index:2;display:inline-flex;align-items:center;justify-content:center;min-width:82px;margin-inline:auto;padding:5px 12px;border:1px solid color-mix(in srgb,var(--role-accent) 50%,transparent);border-radius:5px;background:rgba(5,6,8,.76);color:var(--role-accent);font-size:.56rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}

/* Player secret identity card */
.mw-role-card-scene{max-width:470px}
.mw-secret-card{min-height:570px;border-radius:18px;background:none;box-shadow:none}
.mw-secret-card:before,.mw-secret-card:after{display:none}
.mw-secret-face{padding:27px 24px 23px;border-color:color-mix(in srgb,var(--role-accent) 50%,transparent);border-radius:18px;background:radial-gradient(circle at 50% 28%,var(--role-glow),transparent 34%),linear-gradient(165deg,var(--role-wash),#08090c 72%);box-shadow:0 28px 65px rgba(0,0,0,.44),inset 0 0 0 1px rgba(255,255,255,.035)}
.mw-secret-face:before{content:"";position:absolute;inset:9px;border:1px solid color-mix(in srgb,var(--role-accent) 34%,transparent);border-radius:12px;pointer-events:none}
.mw-secret-face:after{content:"";position:absolute;inset:0;opacity:.28;background:linear-gradient(115deg,transparent 0 34%,rgba(255,255,255,.035) 35%,transparent 36% 100%),repeating-linear-gradient(0deg,transparent 0 18px,rgba(255,255,255,.012) 19px 20px);pointer-events:none}
.mw-secret-cover{place-content:center;background:radial-gradient(circle at 50% 30%,rgba(216,183,101,.16),transparent 29%),linear-gradient(165deg,#151820,#07080b 72%)}
.mw-secret-cover:before{inset:9px;border-radius:12px}.mw-secret-cover:after{inset:17px;border-style:solid;border-radius:8px;opacity:.55}
.mw-secret-content{grid-template-rows:auto auto auto auto auto auto 1fr;align-content:start;gap:0;background:radial-gradient(circle at 50% 29%,var(--role-glow),transparent 35%),linear-gradient(165deg,var(--role-wash),#08090c 72%)!important}
.mw-secret-content .mw-card-role-name{font-size:clamp(1.75rem,7vw,2.65rem);line-height:1}
.mw-secret-content .mw-role-art{width:132px;height:132px;margin:18px auto 12px;padding:25px;border:1px solid color-mix(in srgb,var(--role-accent) 38%,transparent);border-radius:50%;background:rgba(0,0,0,.18);color:var(--role-accent);transform:none}
.mw-secret-content .mw-role-art:before{inset:10px;border-color:color-mix(in srgb,var(--role-accent) 25%,transparent);border-radius:50%}
.mw-secret-content .mw-role-difficulty{position:relative;z-index:2;margin:11px auto 0;color:#817d76;font-size:.59rem;font-weight:850;letter-spacing:.12em;text-align:center;text-transform:uppercase}
.mw-secret-content .mw-role-mission,.mw-secret-content .mw-role-ability{position:relative;z-index:2;margin-top:11px;border-color:rgba(255,255,255,.09);background:rgba(3,4,6,.42)}
.mw-secret-content .mw-role-mission strong,.mw-secret-content .mw-role-ability strong{color:var(--role-accent)}

/* Custom deck picker cards */
.mw-role-picker-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px}
.mw-role-pick{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto auto minmax(64px,auto) auto;align-items:center;min-height:335px;padding:19px 14px 13px;border-radius:16px;text-align:center}
.mw-role-pick .mw-card-role-name{font-size:.95rem}
.mw-role-pick .mw-role-pick-symbol{width:82px;height:82px;margin:14px auto 9px;padding:17px;border:1px solid color-mix(in srgb,var(--role-accent) 34%,transparent);border-radius:50%;background:rgba(0,0,0,.18)}
.mw-role-pick-copy{display:grid;align-content:start;min-width:0;margin-top:8px}
.mw-role-pick-copy small{display:-webkit-box;overflow:hidden;color:var(--mwg-muted);font-size:.67rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.mw-role-pick-copy em{margin-top:7px;color:var(--role-accent);font-size:.56rem;letter-spacing:.09em;text-transform:uppercase}
.mw-role-pick .mw-role-stepper{position:relative;z-index:2;grid-column:auto;justify-self:stretch;margin-top:10px}

/* Host role cards */
.mw-identity-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:11px}
.mw-identity-card{display:grid;grid-template-rows:auto auto auto auto auto 1fr auto;align-items:center;min-height:320px;padding:17px 12px 12px;border-radius:16px;text-align:center}
.mw-identity-card .mw-card-top{width:100%}
.mw-identity-card .mw-card-role-name{margin:10px 0 0;font-size:.92rem}
.mw-identity-card .mw-card-portrait{display:grid;place-items:center;width:92px;height:92px;margin:13px auto 9px;padding:13px;border:1px solid color-mix(in srgb,var(--role-accent) 34%,transparent);border-radius:50%;background:radial-gradient(circle at 25% 20%,hsla(var(--avatar-hue,30),65%,55%,.14),transparent 45%),rgba(0,0,0,.18)}
.mw-identity-card .mw-card-portrait>span{position:absolute;right:-5px;bottom:-3px;display:grid;place-items:center;width:32px;height:32px;border:2px solid #090a0d;border-radius:50%;background:#171a22;color:#fff;font-size:.66rem}
.mw-identity-card .mw-card-portrait i{width:58px;height:58px;padding:7px;border:0;background:transparent;color:var(--role-accent)}
.mw-identity-card .mw-card-copy{position:relative;z-index:2;margin-top:9px;text-align:center}
.mw-identity-card .mw-card-copy h3{margin:0;font-size:.88rem}
.mw-identity-card .mw-card-copy p{font-size:.65rem;font-weight:700}
.mw-identity-card .mw-card-copy em{display:block;margin-top:6px;color:var(--mwg-muted);font-size:.6rem;font-style:normal}
.mw-identity-card .mw-card-actions{position:relative;z-index:3;width:100%;margin-top:9px}
.mw-identity-card .mw-mini-button{width:100%}
.mw-host-role-deck>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.mw-role-mini{display:grid;grid-template-rows:auto 1fr auto auto;align-items:center;min-height:235px;padding:16px 11px 12px;border-radius:15px;text-align:center}
.mw-role-mini .mw-card-role-name{font-size:.78rem}
.mw-role-mini .mw-card-role-art{width:72px;height:72px;margin:12px auto 8px;padding:13px;border:1px solid color-mix(in srgb,var(--role-accent) 34%,transparent);border-radius:50%;background:rgba(0,0,0,.18)}
.mw-role-mini b{position:relative;z-index:2;margin-top:9px;color:var(--mwg-text);font-size:.72rem}

@media(max-width:1280px){.mw-identity-grid,.mw-host-role-deck>div{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1040px){.mw-role-picker-grid{grid-template-columns:repeat(2,1fr)}.mw-identity-grid,.mw-host-role-deck>div{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.mw-identity-grid,.mw-host-role-deck>div{grid-template-columns:repeat(2,1fr)}.mw-secret-card{min-height:550px}}
@media(max-width:640px){.mw-role-picker-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-role-pick{min-height:300px;padding:16px 10px 11px}.mw-role-pick .mw-role-pick-symbol{width:68px;height:68px;padding:14px}.mw-secret-content .mw-role-art{width:108px;height:108px;padding:21px}.mw-secret-face{padding:23px 18px 19px}}
@media(max-width:430px){.mw-role-picker-grid{grid-template-columns:1fr 1fr}.mw-role-pick{min-height:282px}.mw-role-pick-copy small{-webkit-line-clamp:2}.mw-identity-grid{grid-template-columns:1fr 1fr}.mw-identity-card{min-height:295px}.mw-host-role-deck>div{grid-template-columns:1fr 1fr}.mw-role-mini{min-height:220px}}

/* V4.2 physical role cards: team colours, portrait-style art and responsive decks */
.role-citizen{--role-accent:#82b8ef;--role-glow:rgba(74,142,211,.30);--role-wash:#0b2035;--role-deep:#07131f}
.role-detective{--role-accent:#78b6f4;--role-glow:rgba(68,143,220,.32);--role-wash:#0a2440;--role-deep:#061421}
.role-doctor{--role-accent:#7fcf8a;--role-glow:rgba(74,171,92,.28);--role-wash:#0c2c19;--role-deep:#07170e}
.role-bodyguard{--role-accent:#86aed8;--role-glow:rgba(83,132,184,.28);--role-wash:#10243a;--role-deep:#081522}
.role-vigilante{--role-accent:#73bdb7;--role-glow:rgba(67,158,150,.28);--role-wash:#0b292a;--role-deep:#061718}
.role-tracker,.role-watcher,.role-escort,.role-medium{--role-accent:#73c4c6;--role-glow:rgba(63,160,163,.28);--role-wash:#0a292b;--role-deep:#061718}
.role-mayor{--role-accent:#d8b965;--role-glow:rgba(184,141,44,.27);--role-wash:#18302e;--role-deep:#081917}
.role-mafia,.role-godfather,.role-consigliere,.role-framer,.role-silencer{--role-accent:#e46b54;--role-glow:rgba(190,47,39,.33);--role-wash:#3a0d0c;--role-deep:#170606}
.role-jester{--role-accent:#c39aee;--role-glow:rgba(132,77,183,.34);--role-wash:#2a123a;--role-deep:#13081c}
.role-survivor{--role-accent:#d0a65a;--role-glow:rgba(174,119,38,.29);--role-wash:#32220c;--role-deep:#171006}
.role-executioner{--role-accent:#ad9ae8;--role-glow:rgba(104,83,177,.30);--role-wash:#21173b;--role-deep:#0e0a1d}
.role-serial_killer{--role-accent:#d6a44e;--role-glow:rgba(166,108,24,.31);--role-wash:#362408;--role-deep:#191004}

.mw-role-deck-card{border-radius:12px;background:radial-gradient(circle at 50% 36%,var(--role-glow),transparent 34%),linear-gradient(165deg,var(--role-wash),var(--role-deep,#07080b) 74%);box-shadow:0 24px 55px rgba(0,0,0,.44),inset 0 0 0 1px rgba(255,225,150,.045)}
.mw-role-deck-card:before{inset:7px;border-radius:8px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.32)}
.mw-role-deck-card:after{background:radial-gradient(circle at 50% 2%,#050608 0 8px,var(--role-accent) 9px 10px,#050608 11px 14px,transparent 15px),linear-gradient(135deg,transparent 0 43%,rgba(255,255,255,.045) 44%,transparent 46%),repeating-linear-gradient(0deg,transparent 0 15px,rgba(255,255,255,.012) 16px 17px)}
.mw-card-role-name{padding-top:4px;color:#efd38b;font-family:Georgia,"Times New Roman",serif;font-weight:800;letter-spacing:.025em;text-shadow:0 2px 12px #000,0 0 18px rgba(216,183,101,.12)}
.mw-card-role-art{color:#e2bd67}
.mw-role-deck-card.is-town .mw-card-role-art{color:var(--role-accent)}
.mw-role-deck-card.is-mafia .mw-card-role-art{color:#e4a85d}
.mw-role-deck-card.is-neutral .mw-card-role-art{color:#ddb96c}
.mw-card-team-label{border-color:color-mix(in srgb,var(--role-accent) 68%,#d7b35c);background:rgba(4,5,7,.80);color:#e2bd67;box-shadow:inset 0 0 12px rgba(0,0,0,.65)}

.mw-secret-card{max-width:430px;min-height:610px;aspect-ratio:2/3;margin-inline:auto}
.mw-secret-face{border-radius:14px;background:radial-gradient(circle at 50% 38%,var(--role-glow),transparent 37%),linear-gradient(165deg,var(--role-wash),var(--role-deep,#07080b) 76%)}
.mw-secret-face:before{inset:8px;border-radius:9px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.33)}
.mw-secret-face:after{background:radial-gradient(circle at 50% 2%,#050608 0 11px,var(--role-accent) 12px 13px,#050608 14px 18px,transparent 19px),linear-gradient(135deg,transparent 0 43%,rgba(255,255,255,.045) 44%,transparent 46%),repeating-linear-gradient(0deg,transparent 0 17px,rgba(255,255,255,.012) 18px 19px)}
.mw-secret-content .mw-card-role-name{font-size:clamp(2rem,8vw,3rem)}
.mw-secret-content .mw-role-art{width:160px;height:205px;margin:10px auto 0;padding:15px;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 11px 10px rgba(0,0,0,.62)) drop-shadow(0 0 20px var(--role-glow))}
.mw-secret-content .mw-role-art:before{display:none}
.mw-secret-content .mw-role-art svg{stroke-width:2.65}
.mw-secret-content .mw-card-team-label{margin-top:0}

.mw-role-pick{grid-template-rows:auto 132px auto minmax(58px,auto) auto;min-height:360px;padding:22px 13px 13px}
.mw-role-pick .mw-role-pick-symbol{width:100px;height:132px;margin:0 auto;padding:11px;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 8px 8px rgba(0,0,0,.6)) drop-shadow(0 0 14px var(--role-glow))}
.mw-role-pick .mw-role-pick-symbol svg{stroke-width:2.55}
.mw-role-pick .mw-card-role-name{font-size:1rem}
.mw-role-pick-copy{margin-top:3px}

.mw-identity-card{grid-template-rows:auto auto 142px auto auto 1fr auto;min-height:405px;padding:20px 11px 12px}
.mw-identity-card .mw-card-role-name{font-size:.95rem}
.mw-identity-card .mw-card-portrait{width:108px;height:142px;margin:3px auto 5px;padding:9px;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 8px 8px rgba(0,0,0,.6)) drop-shadow(0 0 14px var(--role-glow))}
.mw-identity-card .mw-card-portrait i{width:88px;height:112px;padding:7px;color:inherit}
.mw-identity-card .mw-card-portrait>span{right:1px;bottom:3px}
.mw-role-mini{grid-template-rows:auto 124px auto auto;min-height:290px;padding:18px 10px 12px}
.mw-role-mini .mw-card-role-art{width:94px;height:124px;margin:3px auto;padding:10px;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 8px 8px rgba(0,0,0,.6)) drop-shadow(0 0 14px var(--role-glow))}

@media(max-width:640px){.mw-secret-card{min-height:540px}.mw-secret-content .mw-role-art{width:125px;height:164px}.mw-role-pick{grid-template-rows:auto 104px auto minmax(52px,auto) auto;min-height:320px}.mw-role-pick .mw-role-pick-symbol{width:78px;height:104px}.mw-identity-card{grid-template-rows:auto auto 112px auto auto 1fr auto;min-height:350px}.mw-identity-card .mw-card-portrait{width:84px;height:112px}.mw-identity-card .mw-card-portrait i{width:67px;height:88px}.mw-role-mini{grid-template-rows:auto 99px auto auto;min-height:250px}.mw-role-mini .mw-card-role-art{width:76px;height:99px}}

/* =========================================================
   Mafiawars V4.3 — consistent physical cards inside gameplay
   ========================================================= */
.mw-role-deck-card{
  --role-edge:#d9b75f;
  --role-top:#102c4a;
  --role-bottom:#06121f;
  isolation:isolate;
  border:1px solid color-mix(in srgb,var(--role-edge) 72%,#15100a);
  background:radial-gradient(circle at 50% 39%,var(--role-glow),transparent 42%),linear-gradient(165deg,var(--role-top),var(--role-bottom) 78%);
  box-shadow:0 26px 55px rgba(0,0,0,.46),inset 0 0 0 1px rgba(255,235,178,.06)
}
.mw-role-deck-card:before{inset:8px;border:1px solid color-mix(in srgb,var(--role-edge) 66%,transparent);border-radius:9px;box-shadow:inset 0 0 0 2px rgba(0,0,0,.36),inset 0 0 26px rgba(0,0,0,.25)}
.mw-role-deck-card:after{opacity:.8;background:radial-gradient(circle at 50% 11px,#06070a 0 7px,var(--role-edge) 8px 9px,#06070a 10px 13px,transparent 14px),linear-gradient(135deg,transparent 0 43%,rgba(255,255,255,.05) 44%,transparent 46%),repeating-linear-gradient(0deg,transparent 0 17px,rgba(255,255,255,.012) 18px 19px)}
.mw-role-deck-card>*{position:relative;z-index:2}
.mw-card-eyebrow{display:block;color:color-mix(in srgb,var(--role-edge) 82%,#fff);font-size:.48rem;font-weight:900;letter-spacing:.18em;line-height:1.2;text-align:center;text-transform:uppercase}
.mw-card-role-name{display:block;color:#f1d384;font-family:Georgia,"Times New Roman",serif;font-weight:800;letter-spacing:.035em;line-height:1.05;overflow-wrap:anywhere;text-align:center;text-shadow:0 2px 10px #000,0 0 18px color-mix(in srgb,var(--role-glow) 58%,transparent);text-transform:uppercase}
.mw-card-team-label{display:inline-flex;align-items:center;justify-content:center;min-width:82px;min-height:26px;padding:5px 11px;border:1px solid color-mix(in srgb,var(--role-accent) 55%,var(--role-edge));border-radius:5px;background:rgba(3,5,8,.78);color:#e8c66e;font-size:.54rem;font-weight:900;letter-spacing:.16em;line-height:1;text-transform:uppercase}

.role-citizen{--role-accent:#73ace8;--role-glow:rgba(48,119,192,.34);--role-top:#102d4d;--role-bottom:#06131f}
.role-detective{--role-accent:#68b2ff;--role-glow:rgba(47,134,222,.38);--role-top:#0d3157;--role-bottom:#061525}
.role-doctor{--role-accent:#79cf88;--role-glow:rgba(65,166,82,.34);--role-top:#123a23;--role-bottom:#07180e}
.role-bodyguard{--role-accent:#8eb5df;--role-glow:rgba(80,134,189,.32);--role-top:#142f4d;--role-bottom:#071522}
.role-vigilante{--role-accent:#68c5bd;--role-glow:rgba(52,158,149,.33);--role-top:#123b3b;--role-bottom:#071919}
.role-tracker{--role-accent:#76cabb;--role-glow:rgba(62,163,148,.32);--role-top:#103b3a;--role-bottom:#071918}
.role-watcher{--role-accent:#6ec7dc;--role-glow:rgba(47,155,184,.32);--role-top:#0d3440;--role-bottom:#061820}
.role-escort{--role-accent:#83c7b8;--role-glow:rgba(67,157,142,.31);--role-top:#123934;--role-bottom:#071a17}
.role-medium{--role-accent:#7abfb7;--role-glow:rgba(62,150,143,.32);--role-top:#103735;--role-bottom:#071918}
.role-mayor{--role-accent:#d8ba69;--role-glow:rgba(186,144,49,.31);--role-top:#263c39;--role-bottom:#0b1b18}
.role-mafia,.role-godfather,.role-consigliere,.role-framer,.role-silencer{--role-accent:#ef6653;--role-glow:rgba(205,45,36,.38);--role-top:#56130f;--role-bottom:#1a0706}
.role-jester{--role-accent:#c392f1;--role-glow:rgba(139,70,197,.39);--role-top:#3a1750;--role-bottom:#15081e}
.role-survivor{--role-accent:#d6ad62;--role-glow:rgba(174,118,33,.34);--role-top:#423014;--role-bottom:#1a1106}
.role-executioner{--role-accent:#a998ea;--role-glow:rgba(104,83,184,.35);--role-top:#30254f;--role-bottom:#100b20}
.role-serial_killer{--role-accent:#d7a34d;--role-glow:rgba(174,105,18,.37);--role-top:#4a300d;--role-bottom:#1b1004}

.mw-role-pick{grid-template-rows:auto auto 132px auto minmax(58px,auto) auto;min-height:378px}
.mw-role-pick .mw-card-eyebrow{font-size:.4rem}
.mw-role-pick .mw-card-role-name{font-size:1rem}
.mw-secret-content{grid-template-rows:auto auto auto auto 1fr}
.mw-secret-content .mw-card-eyebrow{margin-top:2px;font-size:.55rem}
.mw-secret-content .mw-card-role-name{margin-top:8px}
.mw-identity-card{grid-template-rows:auto auto auto 142px auto auto 1fr auto;min-height:423px}
.mw-identity-card .mw-card-eyebrow{margin-top:6px;font-size:.4rem}
.mw-role-mini{grid-template-rows:auto auto 124px auto auto;min-height:306px}
.mw-role-mini .mw-card-eyebrow{font-size:.38rem}

@media(max-width:640px){
  .mw-role-pick{grid-template-rows:auto auto 104px auto minmax(52px,auto) auto;min-height:338px}
  .mw-identity-card{grid-template-rows:auto auto auto 112px auto auto 1fr auto;min-height:366px}
  .mw-role-mini{grid-template-rows:auto auto 99px auto auto;min-height:266px}
}


/* =========================================================
   Mafiawars V4.4 — stable identity reveal and unified game UI
   ========================================================= */
.mw-host-layout{grid-template-columns:minmax(0,1fr) 360px;gap:18px}
.mw-public-stage{padding:clamp(24px,3vw,44px)}
.mw-stage-heading{max-width:900px}
.mw-player-seat-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px;align-items:stretch}
.mw-player-seat-card{--seat-accent:hsla(var(--avatar-hue,35),70%,62%,.8);position:relative;display:grid;grid-template-rows:auto 1fr auto auto;min-height:285px;padding:16px;border:1px solid var(--mwg-line);border-radius:20px;overflow:hidden;background:radial-gradient(circle at 50% 30%,hsla(var(--avatar-hue,35),65%,50%,.13),transparent 40%),linear-gradient(155deg,#171a22,#0b0d12);box-shadow:0 18px 42px rgba(0,0,0,.25);transition:transform .18s,border-color .18s}
.mw-player-seat-card:hover{transform:translateY(-3px);border-color:rgba(216,183,101,.3)}
.mw-player-seat-card:before{content:"";position:absolute;inset:9px;border:1px solid rgba(216,183,101,.12);border-radius:14px;pointer-events:none}
.mw-player-seat-card>*{position:relative;z-index:2}
.mw-player-seat-card header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.mw-seat-number{color:var(--mwg-muted);font-size:.68rem;font-weight:900;letter-spacing:.08em}
.mw-seat-state{display:flex;align-items:center;gap:6px;color:var(--mwg-muted);font-size:.62rem;font-weight:800;text-transform:uppercase}.mw-seat-state i{width:8px;height:8px;border-radius:50%;background:#777}.mw-player-seat-card.is-online .mw-seat-state i{background:var(--mwg-green);box-shadow:0 0 12px rgba(97,212,154,.55)}
.mw-seat-avatar{position:relative;display:grid;place-items:center;align-self:center;width:106px;height:106px;margin:18px auto 12px;border:1px solid hsla(var(--avatar-hue,35),70%,70%,.28);border-radius:28px;background:linear-gradient(145deg,hsla(var(--avatar-hue,35),48%,30%,.68),#0d1016);box-shadow:inset 0 0 32px rgba(0,0,0,.26)}
.mw-seat-avatar>span{font-size:1.7rem;font-weight:950;letter-spacing:.04em}.mw-seat-avatar>b{position:absolute;right:-7px;bottom:-7px;display:grid;place-items:center;width:34px;height:34px;border:4px solid #0d0f14;border-radius:50%;background:var(--mwg-gold);color:#191408;font-size:.72rem}
.mw-seat-copy{display:grid;gap:4px;text-align:center}.mw-seat-copy strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:1.05rem}.mw-seat-copy small{color:var(--mwg-muted);font-size:.68rem}
.mw-seat-footer{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:15px;padding-top:12px;border-top:1px solid var(--mwg-line)}.mw-seat-footer>span{color:var(--mwg-gold);font-size:.65rem;font-weight:850;text-transform:uppercase}.mw-seat-remove{padding:7px 10px;border:1px solid rgba(224,68,94,.25);border-radius:9px;background:rgba(224,68,94,.06);color:#ff9aaa;font-size:.68rem;font-weight:800}.mw-seat-remove:hover{background:rgba(224,68,94,.13)}
.mw-player-seat-card.is-ready{border-color:rgba(97,212,154,.28)}.mw-player-seat-card.is-waiting .mw-seat-footer>span{color:var(--mwg-muted)}.mw-player-seat-card.is-eliminated{filter:grayscale(.82);opacity:.56}.mw-player-seat-card.is-classified .mw-seat-avatar>b{background:#1a1d25;color:var(--mwg-gold);border-color:#0d0f14}

/* Host identity wall cards */
.mw-identity-grid{grid-template-columns:repeat(auto-fit,minmax(205px,1fr));gap:14px}.mw-identity-card{grid-template-rows:auto auto auto 138px auto 1fr auto;min-height:420px;padding:17px}.mw-identity-card .mw-card-role-name{min-height:2.2em;display:grid;place-items:center}.mw-identity-card .mw-card-portrait{width:106px;height:138px;margin:10px auto;border:0;border-radius:0;background:transparent}.mw-identity-card .mw-card-portrait i,.mw-identity-card .mw-card-portrait>svg{width:100%;height:100%;padding:12px;border:0;border-radius:0;background:transparent;filter:drop-shadow(0 8px 12px rgba(0,0,0,.55)) drop-shadow(0 0 17px var(--role-glow))}.mw-identity-card .mw-card-copy{align-self:start}.mw-identity-card .mw-card-actions{align-self:end}

/* Never mirror or reverse the identity card. Use opacity instead of 3D rotation. */
.mw-role-card-scene{width:min(100%,520px);max-width:520px;margin:26px auto 0;perspective:none}
.mw-secret-card{display:grid;min-height:590px;margin:0 0 14px;aspect-ratio:auto;cursor:pointer;transform:none!important;transform-style:flat;transition:none;background:transparent;box-shadow:none}
.mw-secret-card.is-revealed{transform:none!important}
.mw-secret-face{position:relative;inset:auto;grid-area:1/1;min-height:590px;padding:28px 25px;border-radius:20px;backface-visibility:visible;transform:none!important;transition:opacity .28s ease,visibility .28s ease;overflow:hidden}
.mw-secret-cover{opacity:1;visibility:visible;pointer-events:auto}
.mw-secret-content{opacity:0;visibility:hidden;pointer-events:none;transform:none!important}
.mw-secret-card.is-revealed .mw-secret-cover{opacity:0;visibility:hidden;pointer-events:none}
.mw-secret-card.is-revealed .mw-secret-content{opacity:1;visibility:visible;pointer-events:auto}
.mw-secret-content .mw-card-role-name{font-size:clamp(1.8rem,5vw,2.75rem)}
.mw-secret-content .mw-role-art{width:132px;height:170px;margin:14px auto 8px;padding:14px;border:0;border-radius:0;background:transparent;transform:none;filter:drop-shadow(0 10px 14px rgba(0,0,0,.55)) drop-shadow(0 0 20px var(--role-glow))}.mw-secret-content .mw-role-art:before{display:none}.mw-secret-content .mw-role-art svg{width:100%;height:100%;stroke-width:2.15}
.mw-role-card-scene>.mw-button{position:relative;z-index:3;margin-top:0}.mw-phase-panel>[data-acknowledge]{margin-top:14px}

/* Larger profile choices for actions and voting */
.mw-target-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px}.mw-target-card{grid-template-columns:64px minmax(0,1fr) 24px;min-height:94px;padding:13px;border-radius:19px}.mw-target-avatar{width:64px;height:64px;border-radius:19px;font-size:1rem}.mw-target-copy strong{font-size:.96rem}.mw-target-copy small{font-size:.68rem}.mw-target-check{width:23px;height:23px}
.mw-mini-roster{display:grid;gap:9px}.mw-mini-player{min-height:66px;padding:10px;border-radius:14px}

@media(max-width:1100px){.mw-host-layout{grid-template-columns:1fr}.mw-host-sidebar{grid-template-columns:1fr 1fr}.mw-player-seat-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}}
@media(max-width:760px){.mw-host-sidebar{grid-template-columns:1fr}.mw-player-seat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.mw-player-seat-card{min-height:245px;padding:13px}.mw-seat-avatar{width:82px;height:82px;border-radius:23px}.mw-seat-avatar>span{font-size:1.35rem}.mw-seat-footer{align-items:stretch;flex-direction:column}.mw-seat-remove{width:100%}.mw-identity-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.mw-secret-card,.mw-secret-face{min-height:540px}.mw-secret-face{padding:23px 18px}.mw-phase-panel{overflow:visible}.mw-target-grid{grid-template-columns:1fr}}
@media(max-width:430px){.mw-player-seat-grid,.mw-identity-grid{grid-template-columns:1fr}.mw-player-seat-card{min-height:220px;grid-template-columns:78px 1fr;grid-template-rows:auto auto auto}.mw-player-seat-card header{grid-column:1/-1}.mw-seat-avatar{grid-row:2/4;width:68px;height:68px;margin:14px 0}.mw-seat-copy{align-self:center;text-align:left}.mw-seat-footer{grid-column:2;align-self:start;margin-top:0;padding-top:8px}.mw-secret-card,.mw-secret-face{min-height:510px}.mw-secret-content .mw-role-art{width:104px;height:136px}.mw-secret-content .mw-card-role-name{font-size:1.8rem}}


/* =========================================================
   Mafiawars V4.5 — original role emblems, true flip reveal,
   and compact Custom Edition deck builder
   ========================================================= */
.mw-role-emblem{display:block;width:100%;height:100%;overflow:visible}
.mw-card-role-art,.mw-role-pick-symbol,.mw-card-portrait i{align-items:center;justify-content:center}
.mw-card-role-art svg,.mw-role-pick-symbol svg,.mw-card-portrait svg{display:block;margin:auto;max-width:100%;max-height:100%}

/* Compact Custom Edition: readable horizontal identity rows. */

.mw-entry.is-custom-edition{grid-template-columns:minmax(280px,.56fr) minmax(690px,1.44fr)}
.mw-entry.is-custom-edition .mw-entry-brand{min-height:760px;padding:42px}
.mw-entry.is-custom-edition .mw-entry-brand h1{font-size:clamp(3.35rem,5vw,5.6rem)}
.mw-entry.is-custom-edition .mw-entry-panel{margin:20px;align-self:stretch}
.mw-custom-settings{gap:12px;margin-top:2px}
.mw-custom-head{grid-template-columns:minmax(0,1fr) 118px;gap:12px;align-items:end;padding:2px}
.mw-custom-head h2{font-size:1.55rem}.mw-custom-head p{margin:.25rem 0 0;color:var(--mwg-muted);font-size:.75rem;line-height:1.45}
.mw-deck-tools{gap:6px}.mw-deck-tools button{min-height:34px;padding:6px 10px;font-size:.68rem}
.mw-role-picker-group{border-radius:14px}
.mw-role-picker-group>header{padding:10px 12px}.mw-role-picker-group>header h3{font-size:.9rem}.mw-role-picker-group>header span{font-size:.64rem}
.mw-role-picker-grid{grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:8px;padding:10px}
.mw-role-pick{display:grid!important;grid-template-columns:54px minmax(0,1fr) 90px!important;grid-template-rows:72px!important;align-items:center!important;gap:10px!important;min-height:0!important;padding:8px 9px!important;border-radius:13px;text-align:left!important;box-shadow:0 10px 22px rgba(0,0,0,.22)!important}
.mw-role-pick:before{inset:5px;border-radius:9px;opacity:.45}.mw-role-pick:after{opacity:.28;background:linear-gradient(110deg,transparent 0 48%,rgba(255,255,255,.04) 49%,transparent 51%)}
.mw-role-pick.is-active{border-color:color-mix(in srgb,var(--role-accent) 58%,var(--role-edge));box-shadow:0 12px 26px rgba(0,0,0,.28),0 0 18px var(--role-glow)!important}
.mw-role-pick .mw-role-pick-symbol{grid-column:1;grid-row:1;width:50px!important;height:64px!important;margin:0!important;padding:3px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--role-accent);filter:drop-shadow(0 6px 8px rgba(0,0,0,.55)) drop-shadow(0 0 10px var(--role-glow))}
.mw-role-pick-copy{grid-column:2;grid-row:1;display:grid;align-content:center;gap:3px;min-width:0;margin:0;text-align:left}
.mw-role-pick-copy .mw-card-role-name{overflow:hidden;overflow-wrap:normal;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.88rem;line-height:1.1}
.mw-role-pick-copy small{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;color:var(--mwg-muted);font-size:.59rem;line-height:1.3}.mw-role-pick-copy small b{color:var(--role-accent);font-size:.57rem;text-transform:uppercase}
.mw-role-pick-copy em{display:block;overflow:hidden;margin:0;color:#bdb7ab;font-size:.61rem;font-style:normal;line-height:1.35;white-space:nowrap;text-overflow:ellipsis;text-transform:none;letter-spacing:0}
.mw-role-pick .mw-role-stepper{grid-column:3;grid-row:1;align-self:center;justify-self:end;grid-template-columns:28px 32px 28px;margin:0;border-radius:10px}
.mw-role-pick .mw-role-stepper button{width:28px;height:34px}.mw-role-pick .mw-role-stepper input{width:32px!important;min-height:34px!important;font-size:.75rem}
.mw-balance{padding:11px 12px}.mw-balance header strong{font-size:.82rem}.mw-balance header span,.mw-balance p,.mw-deck-stats{font-size:.67rem}

/* Proper front/back identity reveal. Text never mirrors. */
.mw-role-card-scene{display:flex;flex-direction:column;align-items:center;width:min(100%,460px);max-width:460px;margin:24px auto 0;perspective:1500px}
.mw-secret-card{position:relative;display:block;width:100%;min-height:580px;margin:0 0 14px;border:0;overflow:visible;background:transparent;box-shadow:none;cursor:pointer;transform:rotateY(0)!important;transform-style:preserve-3d;transition:transform .72s cubic-bezier(.2,.76,.2,1);will-change:transform}
.mw-secret-card.is-revealed{transform:rotateY(180deg)!important}
.mw-secret-face{position:absolute;inset:0;display:grid;min-height:580px;padding:27px 24px;border-radius:20px;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden;transform-style:preserve-3d;transition:none}
.mw-secret-cover{opacity:1;visibility:visible;pointer-events:auto;transform:rotateY(0deg)!important}
.mw-secret-content{opacity:1;visibility:visible;pointer-events:auto;transform:rotateY(180deg)!important}
.mw-secret-card.is-revealed .mw-secret-cover,.mw-secret-card.is-revealed .mw-secret-content{opacity:1;visibility:visible}
.mw-secret-content .mw-role-art{width:126px;height:160px;margin:12px auto 8px;padding:7px;color:var(--role-accent)}
.mw-secret-content .mw-role-art svg{stroke-width:2.35}
.mw-role-card-scene>.mw-button{display:flex;align-items:center;justify-content:center;width:100%;max-width:460px;min-height:52px;margin:0 auto;text-align:center}
.mw-phase-panel>[data-acknowledge]{display:flex;align-items:center;justify-content:center;width:min(100%,460px);min-height:52px;margin:14px auto 0;text-align:center}

@media(prefers-reduced-motion:reduce){
  .mw-secret-card,.mw-secret-card.is-revealed{transform:none!important;transition:none}
  .mw-secret-face{transition:opacity .18s ease,visibility .18s ease}
  .mw-secret-cover{opacity:1;visibility:visible}.mw-secret-content{opacity:0;visibility:hidden;transform:none!important}
  .mw-secret-card.is-revealed .mw-secret-cover{opacity:0;visibility:hidden}.mw-secret-card.is-revealed .mw-secret-content{opacity:1;visibility:visible}
}
@media(max-width:1100px){.mw-entry.is-custom-edition{grid-template-columns:1fr}.mw-entry.is-custom-edition .mw-entry-brand{min-height:470px}}
@media(max-width:720px){
  .mw-custom-head{grid-template-columns:1fr}.mw-role-picker-grid{grid-template-columns:1fr}
  .mw-secret-card,.mw-secret-face{min-height:540px}.mw-role-card-scene{width:min(100%,430px)}
}
@media(max-width:430px){
  .mw-role-pick{grid-template-columns:48px minmax(0,1fr) 84px!important;grid-template-rows:66px!important;gap:8px!important;padding:7px!important}
  .mw-role-pick .mw-role-pick-symbol{width:44px!important;height:58px!important}.mw-role-pick-copy .mw-card-role-name{font-size:.8rem}.mw-role-pick-copy em{font-size:.56rem}
  .mw-role-pick .mw-role-stepper{grid-template-columns:26px 30px 26px}.mw-role-pick .mw-role-stepper button{width:26px}.mw-role-pick .mw-role-stepper input{width:30px!important}
  .mw-secret-card,.mw-secret-face{min-height:500px}.mw-secret-face{padding:22px 17px}.mw-secret-content .mw-role-art{width:100px;height:130px}
}
