/* PvP 2P and original ASTRAL status effects. App-owned styling only. */
.lane-cell{min-width:0;width:100%;display:flex;flex-direction:column;align-items:stretch;gap:5px}
.lane-cell>.board-slot{width:100%;flex:1;min-height:142px}
.lane-cell .slot-art{flex:1}
.lane-cell .slot-effects{font-size:9px;min-height:17px;padding:2px 4px;color:#ffdab5;background:#16122a;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.skill-action{border:1px solid #be9c60;color:#ffe4ae;background:linear-gradient(110deg,#38304b,#19192d);border-radius:7px;padding:7px 5px;min-height:35px;font:700 10px/1.3 'Be Vietnam Pro',sans-serif;cursor:pointer;box-shadow:inset 0 1px #ffffff14;overflow-wrap:anywhere}
.skill-action:hover:not(:disabled){background:linear-gradient(110deg,#66436c,#292039);border-color:#e6c57e}
.skill-action:disabled{opacity:.48;cursor:not-allowed}
.duel-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px}
.duel-arena{min-width:0;position:relative;overflow:hidden}
.duel-arena .board-row{align-items:start}
.duel-arena .board-slot.empty{cursor:pointer}
.duel-arena .board-slot.empty.placeable{box-shadow:0 0 0 2px #d8c18a33,inset 0 0 15px #d8c18a18;color:#ffe1a0}
.duel-layout .battle-side{background:linear-gradient(145deg,#1b1b38,#111222);border-color:#796b73}
.duel-layout .battle-side .pvp-demo-note{color:#bcb5cb;font-size:11px;line-height:1.8;margin:13px 0}
.duel-layout .battle-side .pvp-demo-note strong{color:#f8d99b}
.duel-handoff{position:absolute;z-index:25;inset:0;background:#090916ef;backdrop-filter:blur(12px);display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:14px;padding:22px;border-radius:13px}
.duel-handoff[hidden],.duel-result[hidden]{display:none!important}
.duel-handoff .handoff-icon{font-size:50px;color:#eccd93;text-shadow:0 0 25px #d7aef3aa}
.duel-handoff h2{margin:0;font:700 clamp(21px,4vw,35px) Cinzel,serif;color:#f4dba9}
.duel-handoff p{max-width:340px;color:#aaa1bc;font-size:12px;line-height:1.85;margin:0 0 8px}
.duel-handoff button{width:min(290px,100%);justify-content:center}
.duel-result{color:#fae29a;font:700 20px Cinzel,serif;text-align:center;padding:14px;border-top:1px solid #e2c28b55;background:#b39b6522}
.duel-card-select{flex:0 0 177px;min-width:0;cursor:pointer}
.duel-card-select .game-card{max-width:100%;cursor:pointer}
.duel-card-select .game-card:hover{transform:translateY(-8px)}
.duel-arena .turn-indicator strong{color:#f7dfab}
.duel-arena .board-row{margin-top:5px;margin-bottom:5px}
.duel-arena .middle-line{margin:4px 0}
.duel-arena .combat-bottom{margin-top:6px}
@media(max-width:950px){
 .duel-layout{grid-template-columns:1fr}
 .duel-layout .battle-side{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
 .duel-layout .battle-side .section-eyebrow,.duel-layout .battle-side h2,.duel-layout .battle-side .side-divider{display:none}
 .duel-layout .battle-side .battle-stat{flex:0 0 auto}
 .duel-layout .battle-side .pvp-demo-note{flex:1 1 250px;margin:0}
 .duel-layout .battle-side .primary-button,.duel-layout .battle-side .subtle-button{flex:1 1 145px}
 .duel-layout .battle-side .event-log{display:block;flex:1 1 100%}
}
@media(max-width:650px){
 .lane-cell>.board-slot{min-height:123px}
 .skill-action{font-size:8px;padding:5px 2px;min-height:38px}
 .lane-cell .slot-effects{font-size:7px}
 .duel-card-select{flex:0 0 145px}
 .duel-card-select .game-card{width:145px;height:283px}
 .duel-layout .battle-side .pvp-demo-note{flex-basis:100%;font-size:10px}
 .duel-layout .battle-side .primary-button,.duel-layout .battle-side .subtle-button{flex:1}
 .duel-handoff h2{font-size:22px}
 .duel-handoff p{font-size:11px}
}
