/* ASTRAL CARDS — self-contained, original mobile-friendly hex board.
   Grid math inspired by Red Blob Games; no third-party code or TFT assets. */
.ac-battlefield{max-width:900px;margin-inline:auto;padding:12px 10px 15px;overflow:hidden}
.ac-board{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;align-items:center;padding:4px 3.6% 4px 0}
.ac-cell{aspect-ratio:0.95;min-height:0;width:100%;padding:2px;border-radius:0;clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%);border:0;outline:1px solid transparent;background:linear-gradient(140deg,#50314b,#2a2442);box-shadow:inset 0 0 0 2px #cc829877;touch-action:manipulation;transition:transform .1s,filter .1s}
.ac-cell[data-odd="1"]{transform:translateX(46%)}
.ac-cell[data-odd="1"]:hover{transform:translateX(46%) scale(1.04)}
.ac-cell[data-odd="0"]:hover{transform:scale(1.04)}
.ac-cell-ally{background:linear-gradient(145deg,#154b55,#273b4f);box-shadow:inset 0 0 0 2px #63cbbd8a}
.ac-cell-foe{background:linear-gradient(145deg,#692e49,#4d2a4e);box-shadow:inset 0 0 0 2px #ee83aa88}
.ac-cell:focus-visible{filter:brightness(1.4);outline:2px solid #fff0a7;outline-offset:2px}
.ac-cell.chosen{filter:brightness(1.55);box-shadow:inset 0 0 0 3px #ffd77b}
.ac-cell.motion-cast,.ac-cell.motion-attack{filter:brightness(1.5)}
.ac-cell.motion-move{filter:brightness(1.3) saturate(1.5)}
.ac-cell.ac-line-top{box-shadow:inset 0 0 0 2px #f18aa5}
.ac-cell.ac-line-bottom{box-shadow:inset 0 0 0 2px #7df5c5}
.ac-creature{border:0;background:#091222aa;border-radius:0;clip-path:polygon(23% 0,77% 0,100% 50%,77% 100%,23% 100%,0 50%);}
.ac-creature-art{min-height:0}
.ac-creature-name{position:absolute;bottom:8px;left:5px;right:5px;font-size:10px;text-shadow:0 1px 2px black;background:#0a0b18cc;border-radius:4px;text-align:center}
.ac-creature-stats{position:absolute;bottom:0;left:0;right:0;text-align:center;font-size:9px;padding:2px 1px}
.ac-creature-stars{top:12px;right:10%;font-size:9px}
.ac-health,.ac-mana{position:absolute;bottom:0;left:0;right:0;height:3px}
.ac-mana{bottom:3px}
.ac-cell-empty{font-size:clamp(14px,2vw,25px);color:#eddfb799}
.ac-board-top .ac-timer{flex-shrink:0}
.ac-howto{margin:2px auto 13px;max-width:850px;display:flex;flex-wrap:wrap;gap:8px;justify-content:center;color:#c4b6d3;font-size:11px}
.ac-howto span{background:#ffffff09;border:1px solid #ffffff1a;padding:5px 9px;border-radius:30px}
.ac-navigation-note{font-size:11px;line-height:1.5;color:#cfbd98;margin:0 0 12px}
.ac-arena-panel{padding:13px}
@media(max-width:900px){
 .ac-battlefield{max-width:100%}
 .ac-cell{aspect-ratio:.88}
 .ac-creature-name{font-size:8px;bottom:7px}
 .ac-creature-stats{font-size:7px}
}
@media(max-width:540px){
 .ac-battlefield{padding:8px 5px 10px}
 .ac-board{gap:1px;padding-right:3.5%}
 .ac-cell{aspect-ratio:.92;padding:1px}
 .ac-creature-name{display:none}
 .ac-creature-stats{font-size:6px;bottom:0;white-space:nowrap;padding:0}
 .ac-creature-stars{font-size:7px;top:8px;right:11%}
 .ac-board-top h2{font-size:14px}
 .ac-arena-panel{padding:9px 6px}
 .ac-howto{font-size:9px}
 .ac-team-tag{font-size:10px}
 .ac-cell-empty{font-size:14px}
}
