/* Central, non-blocking table narration for every action and turn change. */
.ai-action-replay.table-action-broadcast{
  top:50%;
  bottom:auto;
  left:50%;
  width:min(560px,calc(100vw - 220px));
  padding:14px 16px;
  transform:translate(-50%,-50%);
  border:1px solid #d5a65a;
  border-radius:16px;
  background:linear-gradient(145deg,rgba(38,27,20,.97),rgba(11,10,9,.98));
  box-shadow:0 24px 75px rgba(0,0,0,.8),0 0 34px rgba(213,166,90,.22),inset 0 1px rgba(255,255,255,.06);
  animation:broadcastIn .28s cubic-bezier(.2,.8,.2,1) forwards;
  backdrop-filter:blur(14px);
}
.ai-action-replay.table-action-broadcast.leaving{animation:broadcastOut .5s ease forwards}
.table-action-broadcast .ai-replay-kicker{font-size:8px;color:#dab46f}
.table-action-broadcast .ai-replay-main{grid-template-columns:96px minmax(0,1fr);gap:15px}
.table-action-broadcast .ai-replay-main h4{margin:0 0 7px;font-size:17px;line-height:1.2}
.table-action-broadcast .ai-replay-card{width:88px;min-height:112px;padding:8px;border-radius:9px}
.table-action-broadcast .ai-replay-icon{width:76px;height:76px}
.broadcast-point-card{display:grid!important;grid-template-rows:minmax(0,1fr) 38%;gap:4px;background:linear-gradient(165deg,#d9c9a9,#a98d66 66%,#745538)!important;color:#251912!important}
.broadcast-point-cost{display:grid;place-items:center;min-height:0;padding:3px;border-bottom:1px solid rgba(70,47,30,.38)}
.broadcast-point-card .point-cost-top{position:static!important;inset:auto!important;width:auto!important;height:auto!important;display:flex!important;flex-direction:column;align-items:center;justify-content:center;gap:4px;background:none!important;border:0!important;padding:0!important}
.broadcast-point-card .point-cost-row{display:flex;gap:4px}
.broadcast-point-card .point-cost-cube{width:15px!important;height:15px!important;border-radius:3px!important}
.broadcast-point-score{display:flex;align-items:baseline;justify-content:center;gap:4px}
.broadcast-point-score strong{font-size:31px!important;color:#4d2c1c!important}
.broadcast-point-score span{font-size:9px!important;color:#5c4432!important}
.broadcast-reward{display:flex;align-items:center;gap:5px;margin-top:7px;color:#cdb995}
.broadcast-reward small{margin-right:2px;font-size:8px}
.broadcast-reward .coin{width:22px;height:22px;font-size:8px}
.broadcast-flying-card{position:fixed!important;z-index:1300!important;margin:0!important;pointer-events:none!important;transform-origin:center;box-shadow:0 16px 40px rgba(0,0,0,.82),0 0 22px rgba(230,188,104,.55)!important}
.turn-announcement{
  position:fixed;
  z-index:1260;
  left:50%;
  top:50%;
  width:min(430px,calc(100vw - 230px));
  padding:18px 24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:5px;
  border:1px solid rgba(205,158,82,.75);
  border-radius:17px;
  background:radial-gradient(circle at 50% 0,rgba(116,77,32,.46),transparent 55%),rgba(12,11,9,.96);
  box-shadow:0 24px 70px rgba(0,0,0,.78),0 0 26px rgba(207,164,83,.2);
  color:#ead8b6;
  text-align:center;
  pointer-events:none;
  animation:turnNoticeIn .3s cubic-bezier(.2,.85,.2,1) forwards;
  backdrop-filter:blur(12px);
}
.turn-announcement small{color:#b89459;font-size:8px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}
.turn-announcement strong{color:#f1d79b;font:800 25px/1.1 Georgia,"Noto Serif SC",serif;text-shadow:0 0 20px rgba(228,182,91,.22)}
.turn-announcement span{color:#b9aa91;font-size:10px}
.turn-announcement.mine{border-color:#f0bf59;background:radial-gradient(circle at 50% 0,rgba(196,132,31,.43),transparent 58%),rgba(16,13,9,.97);box-shadow:0 24px 70px rgba(0,0,0,.78),0 0 38px rgba(240,181,68,.34)}
.turn-announcement.mine strong{color:#ffe19a;font-size:29px}
.turn-announcement.leaving{animation:turnNoticeOut .42s ease forwards}
.turn-focus{animation:turnTargetGlow 1.55s ease!important}
@keyframes broadcastIn{from{opacity:0;transform:translate(-50%,-44%) scale(.94)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes broadcastOut{to{opacity:0;transform:translate(-50%,-55%) scale(.96)}}
@keyframes turnNoticeIn{from{opacity:0;transform:translate(-50%,-44%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}
@keyframes turnNoticeOut{to{opacity:0;transform:translate(-50%,-56%) scale(.95)}}
@keyframes turnTargetGlow{0%,100%{filter:none}45%{filter:brightness(1.28);box-shadow:0 0 0 2px rgba(245,193,83,.7),0 0 25px rgba(245,193,83,.42)}}
@media (orientation:landscape) and (max-height:520px){
  .ai-action-replay.table-action-broadcast{width:min(500px,calc(100vw - 170px));padding:9px 12px;border-radius:12px}
  .table-action-broadcast .ai-replay-main{grid-template-columns:68px minmax(0,1fr);gap:10px}
  .table-action-broadcast .ai-replay-card{width:62px;height:82px;min-height:82px;padding:5px}
  .table-action-broadcast .ai-replay-icon{width:56px;height:56px;font-size:23px}
  .table-action-broadcast .ai-replay-main h4{font-size:13px;margin-bottom:4px}
  .table-action-broadcast .ai-change-row .color-count{font-size:7px}
  .broadcast-point-card .point-cost-cube{width:10px!important;height:10px!important}
  .broadcast-point-score strong{font-size:23px!important}
  .turn-announcement{width:min(380px,calc(100vw - 180px));padding:11px 18px;border-radius:12px}
  .turn-announcement strong{font-size:20px}.turn-announcement.mine strong{font-size:24px}
  .turn-announcement span{font-size:8px}
}
@media (prefers-reduced-motion:reduce){
  .ai-action-replay.table-action-broadcast,.turn-announcement,.broadcast-flying-card,.turn-focus{animation:none!important}
}
