/* Mafiawars V4.6 — original role cards, compact selectors and safe flip reveal */
.mw-role-deck-card{
  --role-edge:#d8b45c;
  --role-accent:#79baff;
  --role-highlight:rgba(121,186,255,.28);
  --role-surface:#0d2946;
  --role-deep:#06111d;
  position:relative;
  isolation:isolate;
  overflow:hidden;
  border:1px solid var(--role-edge);
  border-radius:18px;
  background:
    radial-gradient(circle at 50% 42%,var(--role-highlight),transparent 42%),
    linear-gradient(160deg,var(--role-surface),var(--role-deep) 78%);
  box-shadow:0 24px 54px rgba(0,0,0,.42),inset 0 0 0 1px rgba(255,238,190,.06);
  text-align:center;
}
.mw-role-deck-card::before{
  content:"";
  position:absolute;
  inset:8px;
  z-index:0;
  border:1px solid var(--role-edge);
  border-radius:12px;
  opacity:.52;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.34),inset 0 0 30px rgba(0,0,0,.25);
  pointer-events:none;
}
.mw-role-deck-card::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:0;
  background:
    radial-gradient(circle at 50% 12px,#06070a 0 8px,var(--role-edge) 9px 10px,#06070a 11px 15px,transparent 16px),
    linear-gradient(132deg,transparent 0 42%,rgba(255,255,255,.045) 43%,transparent 45%),
    repeating-linear-gradient(0deg,transparent 0 18px,rgba(255,255,255,.012) 19px 20px);
  pointer-events:none;
}
.mw-role-deck-card>*{position:relative;z-index:2}
.mw-card-eyebrow{display:block;color:var(--role-edge);font-size:.46rem;font-weight:900;letter-spacing:.18em;line-height:1.25;text-align:center;text-transform:uppercase}
.mw-card-role-name{display:grid;place-items:center;width:100%;min-height:2.2em;margin:0;color:#f3d98e;font-family:Georgia,"Times New Roman",serif;font-weight:800;letter-spacing:.035em;line-height:1.06;overflow-wrap:normal;text-align:center;text-transform:uppercase;text-shadow:0 2px 10px #000,0 0 18px var(--role-highlight);word-break:normal}
.mw-card-role-art{display:grid;place-items:center;color:var(--role-accent)}
.mw-role-emblem{display:block;width:100%;height:100%;overflow:visible}
.mw-card-role-art .mw-role-emblem,.mw-role-pick-symbol .mw-role-emblem,.mw-card-portrait .mw-role-emblem{filter:drop-shadow(0 9px 11px rgba(0,0,0,.58)) drop-shadow(0 0 16px var(--role-highlight))}
.mw-card-team-label{display:inline-flex;align-items:center;justify-content:center;min-width:78px;min-height:25px;padding:5px 10px;border:1px solid var(--role-edge);border-radius:6px;background:rgba(4,6,9,.82);color:#ebc96f;font-size:.52rem;font-weight:900;letter-spacing:.16em;line-height:1;text-transform:uppercase}

.role-citizen{--role-accent:#78b9ff;--role-highlight:rgba(70,139,214,.34);--role-surface:#11385e;--role-deep:#061421}
.role-detective{--role-accent:#69c5ff;--role-highlight:rgba(44,147,218,.38);--role-surface:#0d3b68;--role-deep:#051521}
.role-doctor{--role-accent:#7fe49b;--role-highlight:rgba(68,181,99,.34);--role-surface:#123f29;--role-deep:#07180f}
.role-bodyguard{--role-accent:#9abde9;--role-highlight:rgba(89,139,197,.34);--role-surface:#173858;--role-deep:#071522}
.role-vigilante{--role-accent:#67d2c8;--role-highlight:rgba(49,166,156,.34);--role-surface:#10403e;--role-deep:#061817}
.role-tracker{--role-accent:#79d5bc;--role-highlight:rgba(57,168,139,.34);--role-surface:#104037;--role-deep:#061815}
.role-watcher{--role-accent:#72d2e7;--role-highlight:rgba(54,161,188,.34);--role-surface:#0f3947;--role-deep:#06171e}
.role-escort{--role-accent:#8ed6c0;--role-highlight:rgba(75,164,142,.33);--role-surface:#133e36;--role-deep:#071813}
.role-medium{--role-accent:#8ac9c5;--role-highlight:rgba(72,151,149,.34);--role-surface:#123b3a;--role-deep:#071716}
.role-mayor{--role-accent:#e1c273;--role-highlight:rgba(183,143,43,.32);--role-surface:#30433e;--role-deep:#0c1a17}
.role-mafia,.role-godfather,.role-consigliere,.role-framer,.role-silencer{--role-accent:#f0a050;--role-highlight:rgba(213,56,42,.4);--role-surface:#641813;--role-deep:#1b0706;--role-edge:#e9ad50}
.role-jester{--role-accent:#d4a2ff;--role-highlight:rgba(145,71,203,.4);--role-surface:#441d59;--role-deep:#16091e;--role-edge:#d6b061}
.role-survivor{--role-accent:#e5bb68;--role-highlight:rgba(175,119,32,.35);--role-surface:#4c3515;--role-deep:#1a1005;--role-edge:#d7ae58}
.role-executioner{--role-accent:#b8a6ff;--role-highlight:rgba(104,84,186,.36);--role-surface:#362957;--role-deep:#100b20;--role-edge:#d0b15d}
.role-serial_killer{--role-accent:#e5ad50;--role-highlight:rgba(181,104,12,.38);--role-surface:#55370e;--role-deep:#1c1004;--role-edge:#d7a84b}

/* Compact Custom Edition role selector. */
.mw-entry.is-custom-edition{grid-template-columns:minmax(270px,.52fr) minmax(650px,1.48fr)}
.mw-entry.is-custom-edition .mw-entry-panel{align-self:stretch;margin:18px}
.mw-role-picker-grid{grid-template-columns:repeat(auto-fit,minmax(245px,1fr));gap:9px;padding:10px}
.mw-role-pick{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr) 90px!important;
  grid-template-rows:76px!important;
  align-items:center!important;
  gap:10px!important;
  min-height:0!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  text-align:left!important;
}
.mw-role-pick::before{inset:5px;border-radius:10px;opacity:.4}
.mw-role-pick .mw-role-pick-symbol{grid-column:1;grid-row:1;width:54px!important;height:68px!important;margin:0!important;padding:2px!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--role-accent)}
.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{display:block;min-height:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;font-size:.9rem;line-height:1.1}
.mw-role-pick-copy small,.mw-role-pick-copy em{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.mw-role-pick-copy em{color:#bbb4a8;font-size:.61rem;font-style:normal;line-height:1.35;letter-spacing:0;text-transform:none}
.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}

/* Host and player cards. */
.mw-identity-grid{grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;align-items:stretch}
.mw-identity-card{grid-template-rows:auto auto minmax(2.2em,auto) 150px auto 1fr auto;min-height:430px;padding:18px 12px 13px}
.mw-identity-card .mw-card-role-name{font-size:.98rem}
.mw-identity-card .mw-card-portrait{width:114px;height:150px;margin:4px auto;padding:4px;border:0;border-radius:0;background:transparent;color:var(--role-accent)}
.mw-role-mini{grid-template-rows:auto minmax(2.1em,auto) 126px auto auto;min-height:300px;padding:18px 11px 13px}
.mw-role-mini .mw-card-role-art{width:96px;height:126px;margin:3px auto;padding:4px;border:0;border-radius:0;background:transparent}

/* Identity reveal: independent faces create a flip without ever mirroring text. */
.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.mw-role-deck-card{
  position:relative!important;
  display:block!important;
  width:100%!important;
  min-height:580px!important;
  margin:0 0 14px!important;
  border:0!important;
  overflow:visible!important;
  background:transparent!important;
  box-shadow:none!important;
  transform:none!important;
  transform-style:flat!important;
}
.mw-secret-card.mw-role-deck-card::before,.mw-secret-card.mw-role-deck-card::after{display:none!important}
.mw-secret-card.mw-role-deck-card>.mw-secret-face{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  display:grid!important;
  min-height:580px!important;
  padding:27px 24px!important;
  border:1px solid var(--role-edge)!important;
  border-radius:20px!important;
  overflow:hidden!important;
  -webkit-backface-visibility:hidden!important;
  backface-visibility:hidden!important;
  transform-origin:50% 50%!important;
  transform-style:preserve-3d!important;
  transition:transform .68s cubic-bezier(.2,.76,.2,1),opacity .24s ease,visibility 0s linear .34s!important;
  will-change:transform,opacity;
}
.mw-secret-card .mw-secret-face::before{
  content:"";
  position:absolute;
  inset:9px;
  z-index:0;
  border:1px solid var(--role-edge);
  border-radius:13px;
  opacity:.48;
  box-shadow:inset 0 0 0 2px rgba(0,0,0,.35);
  pointer-events:none;
}
.mw-secret-card .mw-secret-face>*{position:relative;z-index:2}
.mw-secret-cover{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:rotateY(0deg)!important;
  background:radial-gradient(circle at 50% 36%,rgba(216,183,101,.16),transparent 34%),linear-gradient(160deg,#3d0f0e,#160706 78%)!important;
}
.mw-secret-content{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:rotateY(-180deg)!important;
  background:radial-gradient(circle at 50% 40%,var(--role-highlight),transparent 42%),linear-gradient(160deg,var(--role-surface),var(--role-deep) 78%)!important;
}
.mw-secret-card.is-revealed .mw-secret-cover{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:rotateY(180deg)!important}
.mw-secret-card.is-revealed .mw-secret-content{z-index:3!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;transform:rotateY(0deg)!important}
.mw-secret-content .mw-card-role-name{min-height:0;margin-top:7px;font-size:clamp(1.85rem,5vw,2.75rem)}
.mw-secret-content .mw-role-art{width:136px;height:174px;margin:12px auto 8px;padding:4px;border:0;border-radius:0;background:transparent;color:var(--role-accent)}
.mw-role-card-scene>.mw-button,.mw-phase-panel>[data-acknowledge]{display:flex;align-items:center;justify-content:center;width:min(100%,460px);min-height:52px;margin:0 auto;text-align:center}
.mw-phase-panel>[data-acknowledge]{margin-top:14px}

@media(max-width:1100px){.mw-entry.is-custom-edition{grid-template-columns:1fr}}
@media(max-width:720px){.mw-role-picker-grid{grid-template-columns:1fr}.mw-secret-card.mw-role-deck-card,.mw-secret-card.mw-role-deck-card>.mw-secret-face{min-height:540px!important}}
@media(max-width:430px){
  .mw-role-pick{grid-template-columns:50px minmax(0,1fr) 84px!important;grid-template-rows:68px!important;gap:8px!important;padding:7px!important}
  .mw-role-pick .mw-role-pick-symbol{width:46px!important;height:60px!important}
  .mw-role-pick-copy .mw-card-role-name{font-size:.8rem}
  .mw-secret-card.mw-role-deck-card,.mw-secret-card.mw-role-deck-card>.mw-secret-face{min-height:500px!important}
  .mw-secret-card.mw-role-deck-card>.mw-secret-face{padding:22px 17px!important}
  .mw-secret-content .mw-role-art{width:106px;height:136px}
  .mw-identity-grid{grid-template-columns:1fr}
}
@media(prefers-reduced-motion:reduce){
  .mw-secret-card.mw-role-deck-card>.mw-secret-face{transition:opacity .18s ease,visibility 0s linear .18s!important;transform:none!important}
  .mw-secret-cover{opacity:1!important;visibility:visible!important}.mw-secret-content{opacity:0!important;visibility:hidden!important;transform:none!important}
  .mw-secret-card.is-revealed .mw-secret-cover{opacity:0!important;visibility:hidden!important}.mw-secret-card.is-revealed .mw-secret-content{opacity:1!important;visibility:visible!important;transform:none!important}
}
