
#stActionInstruction{display:none!important}
.st-sales-blast{
  position:absolute;inset:0;z-index:75;pointer-events:none;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  text-align:center;opacity:0;visibility:hidden;
  transform:scale(.58) rotate(-4deg);
  filter:drop-shadow(0 8px 10px rgba(0,0,0,.72));
  padding:8%;
}
.st-sales-blast.show{
  visibility:visible;
  animation:stSalesBlastIn .34s cubic-bezier(.12,1.45,.28,1) forwards;
}
.st-sales-blast.out{
  visibility:visible;
  animation:stSalesBlastOut .34s cubic-bezier(.55,.02,.95,.45) forwards;
}
.st-sales-blast .st-sales-title{
  font-family:"Arial Black",Arial,sans-serif;
  font-size:var(--st-sales-title-size,38px);font-weight:900;line-height:1.16;
  letter-spacing:.065em;text-transform:uppercase;max-width:94%;
  color:#ff9564;
  -webkit-text-stroke:1px #5c210d;
  paint-order:stroke fill;
  text-shadow:
    0 1px 0 #fff3df,
    0 3px 0 rgba(112,36,10,.62),
    0 0 12px rgba(255,115,55,.58),
    0 6px 12px rgba(0,0,0,.78);
  transform:skewX(-3deg);
}
.st-sales-blast.catapult .st-sales-title{letter-spacing:.085em}
.st-sales-blast.catapult .st-sales-title span{display:block}
.st-sales-blast.catapult .st-sales-title span+span{margin-top:.14em}
.st-sales-blast .st-sales-bam{
  margin-top:12px;
  font:950 clamp(12px,2.6vw,20px)/1.15 Arial,sans-serif;
  color:#fff4d6;text-transform:uppercase;letter-spacing:.055em;
  text-shadow:0 2px 3px #000,0 0 10px rgba(255,160,78,.48);
}
.st-sales-blast .st-sales-hint{
  margin-top:7px;
  font:900 clamp(11px,2.1vw,16px)/1.15 Arial,sans-serif;
  color:#ffd784;text-transform:uppercase;letter-spacing:.11em;
  text-shadow:0 2px 3px #000;
}
.st-sales-blast .st-sales-icon{
  background-color:transparent!important;
  width:28px!important;height:28px!important;min-width:28px!important;min-height:28px!important;
  max-width:28px!important;flex:0 0 28px;background-size:contain!important;
  margin-top:10px;
  filter:drop-shadow(0 3px 5px rgba(0,0,0,.92)) drop-shadow(0 0 5px rgba(255,150,74,.38));
}
.st-sales-blast.dragon .st-sales-title{
  font-size:calc(var(--st-sales-title-size,38px) * 1.04);
  color:#ff8c5b;
}
.st-sales-blast .st-sales-line{
  margin-top:6px;font:950 var(--st-sales-line-size,15px)/1.18 Arial,sans-serif;
  color:#fff4d6;text-transform:uppercase;letter-spacing:.035em;max-width:94%;
  text-shadow:0 2px 3px #000,0 0 10px rgba(255,160,78,.48);
}
.st-sales-blast.hero-action .st-sales-title,.st-sales-blast.hero-alert .st-sales-title{color:#ffd166;}
.st-sales-blast.monk .st-sales-title{color:#e9ddff;}
.st-sales-blast.scout .st-sales-title{color:#8dd8ff;}
.st-sales-blast.catapult-attack .st-sales-title{color:#ffb06f;}
.st-sales-blast.st-sales-portal{inset:auto;overflow:visible;}
.st-sales-blast.resurrection-alert .st-sales-title{font-size:calc(var(--st-sales-title-size,38px) * .82);white-space:normal;}
.st-sales-blast.resurrection-alert .st-sales-line{font-size:var(--st-sales-line-size,15px);}
.st-sales-blast.resurrection-action .st-sales-title{font-size:calc(var(--st-sales-title-size,38px) * .9);}
.st-sales-blast.goblin .st-sales-title{color:#d7ff86;}
.st-sales-blast.cleric-alert .st-sales-title{color:#f7e7a7;}
.st-sales-blast.hero-death .st-sales-title{color:#ffcf70;}
.st-sales-blast.plague-alert .st-sales-title,.st-sales-blast.plague-stop .st-sales-title,.st-sales-blast.plague-hero .st-sales-title{font-size:calc(var(--st-sales-title-size,38px) * .9);color:#d7ff86;}
.st-sales-blast.plague-hero .st-sales-line{font-size:var(--st-sales-line-size,15px);}
@keyframes stSalesBlastIn{
  0%{opacity:0;transform:scale(.42) rotate(-7deg)}
  58%{opacity:1;transform:scale(1.11) rotate(1.5deg)}
  78%{transform:scale(.96) rotate(-1deg)}
  100%{opacity:1;transform:scale(1) rotate(0)}
}
@keyframes stSalesBlastOut{
  0%{opacity:1;transform:scale(1) rotate(0)}
  36%{opacity:1;transform:scale(1.16) rotate(1deg)}
  100%{opacity:0;transform:scale(1.72) rotate(-3deg)}
}
@media(max-width:800px){
  .st-sales-blast{padding:5%}
}

/* Supplied title artwork, unchanged bytes and aspect ratio. */
.st-chain-siege-banner{display:block;width:100%;height:auto;object-fit:contain;margin:0 auto;}

/* Live battle repaint/choice layers are not stable browser scroll anchors.
   Keep the user viewport fixed without changing focus, layout or manual scrolling. */
.st-main{overflow-anchor:none}

.st-chaos-news{position:fixed;z-index:11000;transform:translate(-50%,-50%);width:min(98vw,1280px);color:#ff9564;font:900 clamp(50px,7.8vw,112px)/.94 "Arial Black",Arial,sans-serif;text-align:center;letter-spacing:.065em;-webkit-text-stroke:2px #5c210d;paint-order:stroke fill;text-shadow:0 1px 0 #fff3df,0 4px 0 #70240a9e,0 0 16px #ff733798,0 9px 16px #000c;pointer-events:none;animation:stChaosSalesBlastIn .34s cubic-bezier(.12,1.45,.28,1) forwards}
.st-chaos-news.out{animation:stChaosSalesBlastOut .34s cubic-bezier(.55,.02,.95,.45) forwards}
.st-chaos-news strong,.st-chaos-news span{display:block}.st-chaos-news strong{font-size:1em;letter-spacing:.085em;margin-bottom:.14em}.st-chaos-news span{white-space:nowrap}
@media(max-width:600px){.st-chaos-news{width:96vw;font-size:clamp(34px,9vw,44px);letter-spacing:.025em}.st-chaos-news span{white-space:normal}}
@keyframes stChaosSalesBlastIn{0%{opacity:0;transform:translate(-50%,-50%) scale(.42) rotate(-7deg)}58%{opacity:1;transform:translate(-50%,-50%) scale(1.11) rotate(1.5deg)}78%{transform:translate(-50%,-50%) scale(.96) rotate(-1deg)}100%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}
@keyframes stChaosSalesBlastOut{0%{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}36%{opacity:1;transform:translate(-50%,-50%) scale(1.16) rotate(1deg)}100%{opacity:0;transform:translate(-50%,-50%) scale(1.72) rotate(-3deg)}}
.st-chaos-shake{animation:st-chaos-shake .35s ease-in-out 2}
@keyframes st-chaos-shake{0%,100%{translate:0 0}25%{translate:-3px 1px}75%{translate:3px -1px}}
@media(prefers-reduced-motion:reduce){.st-chaos-shake{animation:none}}

/* Assassin: same special-unit grey and unchanged supplied 22px sprite. */
.cell.assassin-cell,.cell.assassin-hit{background-color:#59636F!important;background-image:url("assets/units/assassin/assassin.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:min(22px,var(--cell)) min(22px,var(--cell))!important;border:1px solid #344247!important;outline:none!important;box-shadow:none!important}
.cell.assassin-cell::before,.cell.assassin-cell::after,.cell.assassin-hit::before,.cell.assassin-hit::after{content:none!important;display:none!important}
/* Append out of flow so phone and desktop map geometry remains unchanged. */
.unit-strip:has([data-unit="assassin"]){position:relative}
.unit-strip [data-unit="assassin"]{position:absolute;left:330px;top:0;background:rgba(7,12,15,.72);border-bottom:1px solid rgba(126,139,124,.28)}
#playerUnitStrip:has([data-unit="assassin"]){left:-22px}
#enemyUnitStrip:has([data-unit="assassin"]){left:0}
.st-secondary-card:nth-child(odd) .unit-strip:has([data-unit="assassin"]){left:-22px}
.st-secondary-card:nth-child(even) .unit-strip:has([data-unit="assassin"]){left:0}

/* Temporary area-Scout footprint; no layout or knowledge changes. */
.st-scout-area-preview{position:absolute;inset:3px;border:2px solid #8eeeff;border-radius:50%;box-shadow:0 0 5px #59cce7,inset 0 0 3px #59cce7;pointer-events:none;z-index:8}

/* Assassin impacts use the same shot marker as other hit special units. */
#playerGrid .cell.assassin-hit::after{content:""!important;display:block!important;position:absolute!important;inset:0!important;width:min(22px,var(--cell))!important;height:min(22px,var(--cell))!important;background-image:url("assets/cursors/player-shot.png")!important;background-repeat:no-repeat!important;background-position:center!important;background-size:contain!important;background-color:transparent!important;border:0!important;outline:0!important;box-shadow:none!important;color:transparent!important;text-shadow:none!important;pointer-events:none!important;z-index:50!important}

/* Quick Start is local only; Online players deploy and use READY. */
body.st-multiplayer-mode #stQuickStart{display:none!important}

#csDeploymentInvite{position:absolute;top:10px;right:12px;display:flex;align-items:center;justify-content:flex-end;gap:6px;font-size:11px}#csDeploymentCode{letter-spacing:2px;user-select:all}#csDeploymentInvite .st-btn{padding:3px 10px;min-height:26px;font-size:11px}

@media(max-width:650px){#csDeploymentInvite{top:8px;right:8px;gap:3px;flex-direction:column;font-size:10px}#csDeploymentInvite>span{display:none}#csDeploymentInvite .st-btn{padding:2px 6px;min-height:22px;font-size:10px}}

/* Historical scouting by another surviving attacker remains visible but subdued. */
.cell>.scout-visual.scout-faded{opacity:.28;animation:none}
