/* Mafiawars V4.6 — original role cards and alignment system */
.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;
  margin:0;
  color:var(--role-edge);
  font-size:.48rem;
  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-size:clamp(1rem,1.6vw,1.35rem);
  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-card-role-art .mw-role-emblem{
  display:block;
  width:100%;
  height:100%;
  overflow:visible;
  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;
}

/* Town palette */
.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}
/* Mafia palette */
.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}
/* Neutral palette */
.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}

/* Homepage: no overlap, equal cards, clear spacing. */
.mw-hero-v44 .mw-hero-card-stage{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  max-width:760px!important;
  margin-inline:auto!important;
  align-items:stretch!important;
}
.mw-hero-v44 .mw-hero-role-card{
  position:relative!important;
  inset:auto!important;
  display:grid!important;
  grid-template-rows:auto minmax(2.4em,auto) 160px auto minmax(42px,auto)!important;
  width:auto!important;
  height:auto!important;
  min-height:378px!important;
  padding:28px 16px 18px!important;
  transform:none!important;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease!important;
}
.mw-hero-v44 .mw-hero-role-card:hover{transform:translateY(-7px)!important}
.mw-hero-v44 .mw-hero-role-card .mw-card-role-art{width:124px!important;height:160px!important;margin:4px auto!important;padding:5px!important;border:0!important;border-radius:0!important;background:transparent!important}
.mw-hero-v44 .mw-hero-role-card em{align-self:start;max-width:170px;margin-inline:auto;color:var(--mw-muted);font-size:.68rem;font-style:normal;line-height:1.42}

/* Homepage showcase and Roles page. */
.mw-showcase-card{
  grid-template-rows:auto minmax(2.25em,auto) 148px auto minmax(58px,auto) auto!important;
  min-height:366px!important;
  padding:24px 15px 16px!important;
}
.mw-showcase-card .mw-card-role-art{width:112px!important;height:148px!important;margin:4px auto!important;padding:5px!important;border:0!important;border-radius:0!important;background:transparent!important}
.mw-showcase-card em{align-self:start;display:-webkit-box;overflow:hidden;color:#cbc4b8;font-size:.67rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:3}
.mw-role-grid{align-items:stretch}
.mw-role-card{
  display:grid!important;
  grid-template-rows:auto minmax(2.3em,auto) 174px auto minmax(80px,auto) minmax(88px,auto) auto!important;
  min-height:500px!important;
  padding:26px 17px 18px!important;
}
.mw-role-card .mw-card-role-art{width:132px!important;height:174px!important;margin:5px auto!important;padding:6px!important;border:0!important;border-radius:0!important;background:transparent!important}
.mw-role-card p,.mw-role-card em{align-self:start}

@media(max-width:760px){
  .mw-hero-v44 .mw-hero-card-stage{gap:9px!important}
  .mw-hero-v44 .mw-hero-role-card{grid-template-rows:auto minmax(2.2em,auto) 108px auto minmax(34px,auto)!important;min-height:292px!important;padding:20px 9px 13px!important}
  .mw-hero-v44 .mw-hero-role-card .mw-card-role-art{width:82px!important;height:108px!important;padding:3px!important}
  .mw-hero-v44 .mw-hero-role-card .mw-card-role-name{font-size:.86rem}
}
@media(max-width:430px){
  .mw-hero-v44 .mw-hero-card-stage{grid-template-columns:1fr!important;gap:12px!important}
  .mw-hero-v44 .mw-hero-role-card{
    grid-template-columns:72px minmax(0,1fr) auto!important;
    grid-template-rows:auto auto!important;
    min-height:118px!important;
    padding:14px!important;
    text-align:left!important;
  }
  .mw-hero-v44 .mw-hero-role-card .mw-card-eyebrow{display:none!important}
  .mw-hero-v44 .mw-hero-role-card .mw-card-role-art{grid-row:1/3;width:62px!important;height:82px!important;margin:0!important}
  .mw-hero-v44 .mw-hero-role-card .mw-card-role-name{justify-self:start;min-height:0;font-size:1rem;text-align:left}
  .mw-hero-v44 .mw-hero-role-card .mw-card-team-label{grid-column:3;grid-row:1}
  .mw-hero-v44 .mw-hero-role-card em{grid-column:2/4;justify-self:start;max-width:none;margin:0;font-size:.62rem;text-align:left}
  .mw-showcase-card{min-height:330px!important}
}
