/* Action playback stays outside the horizontally scrolling locations. */
.move-speed{display:flex;align-items:center;gap:6px;color:#b7c6cf;font-size:10px;white-space:nowrap}
.move-speed select{padding:5px 22px 5px 7px;font:inherit;background:#10202b;color:#f1d5a4;border:1px solid #706044;border-radius:5px;min-height:30px}
.action-feed{position:sticky;top:8px;z-index:5;display:flex;align-items:center;gap:13px;min-height:76px;margin:0 0 13px;padding:10px 14px;border:1px solid #85714e;border-left:3px solid #e5be79;border-radius:9px;background:linear-gradient(100deg,#272820f5,#11202bf7 65%);box-shadow:0 5px 20px #0005;scroll-margin-top:8px}
.action-feed.waiting{border-color:#3e5968;border-left-color:#7ca8c1;background:#10232df5}
.action-feed-cards{display:flex;align-items:center;gap:7px;flex-shrink:0;color:#e5be79}
.action-feed-cards img{height:48px;width:34px;object-fit:cover;object-position:top;border-radius:3px;border:1px solid #ac9569;box-shadow:0 2px 7px #0007}
.action-feed-symbol{font-size:29px;color:#c6b080;min-width:28px;text-align:center}
.action-feed-copy{flex:1;min-width:0;line-height:1.4}
.action-feed-label{display:block;font-size:8px;letter-spacing:.09em;text-transform:uppercase;color:#e3c28f;margin-bottom:3px}
.action-feed-copy strong{display:block;font-size:13px;font-weight:650;color:#f1f4f5;overflow-wrap:anywhere}
.action-feed-copy p{font-size:11px;line-height:1.45;color:#c9d5dc;margin:3px 0 0}
.move-details{font-size:10px;padding:8px;flex-shrink:0;color:#e3c28f}
.action-feed.playing{border-color:#d0ab6a}
.action-feed.attack{border-left-color:#ec9b8e}
.action-feed.distort{border-left-color:#c6a7ed}
.move-detail-summary h3{font-size:23px;font-family:Georgia,serif;font-weight:400;margin:12px 0}
.move-detail-summary p,.move-detail-list{font-size:13px;line-height:1.8;color:#c9d5dc}
.move-detail-list{padding-left:20px;margin:18px 0 25px}.move-detail-list li{margin:8px 0}
.lane.action-location{border-color:#d8b674;box-shadow:0 0 0 1px #d8b67455,inset 0 0 22px #d8b6740d}
.unit.action-acting{outline:2px solid #f0cc8f;outline-offset:-2px;box-shadow:0 0 18px #e5be7990;animation:acting-card .8s ease-in-out infinite alternate}
.unit.action-target{outline:2px solid #f3a496;outline-offset:-2px;box-shadow:0 0 18px #e38c7c80}
.unit.action-arrived{outline:2px solid #f0d397;outline-offset:-2px;animation:arrival-glow 1.1s ease-out both}
.unit.action-hit{outline:2px solid #ef9a8b;outline-offset:-2px;animation:impact-card .45s ease-out both}
.unit.action-equipped{outline:2px solid #e8d39a;outline-offset:-2px;animation:equip-glow 1.2s ease-out both}
.score-awarded{animation:score-awarded .9s ease-out both}
.unit.flight-landing{animation:landing-reveal .8s step-end both}
#move-effects{position:fixed;inset:0;z-index:20;pointer-events:none;overflow:hidden}
.move-link{position:absolute;inset:0;width:100%;height:100%;color:#ffbd9a;filter:drop-shadow(0 0 5px #cf724a)}
.move-link.distort{color:#d5b4ff;filter:drop-shadow(0 0 6px #b082ed)}
.move-link.equip{color:#f3d69a;filter:drop-shadow(0 0 6px #e6bf70)}
.move-beam{fill:none;stroke:currentColor;stroke-width:3;stroke-linecap:round;stroke-dasharray:1;stroke-dashoffset:0;animation:draw-move .65s ease-out both}
.flying-card{position:absolute;border:1px solid #f4d495;border-radius:5px;overflow:hidden;box-shadow:0 0 25px #d2b37e77;animation:card-flight .8s cubic-bezier(.25,.7,.25,1) both}
.flying-card img{width:100%;height:100%;object-fit:cover;object-position:top}
.flying-card.portal-flight{border-color:#dfb8ff;box-shadow:0 0 35px #c79cfca0;animation-name:portal-flight}
.flying-card.withdraw-flight{animation-name:withdraw-flight}
.flying-card.defeated-card{border-color:#db8c82;animation:card-defeated .75s ease-in both}
.move-number{position:absolute;transform:translate(-50%,-50%);padding:7px 11px;border:1px solid #f2b8a5;border-radius:7px;background:#3b1919f5;color:#ffe2d8;font-size:15px;font-weight:800;letter-spacing:.03em;white-space:nowrap;text-shadow:0 1px 3px #000;box-shadow:0 5px 22px #0009;animation:move-number 1.35s ease-out both}
.move-number.point,.move-number.equipped{color:#ffe3a3;border-color:#cba967;background:#302a1cf5;font-size:12px}
.move-number.saved{color:#e7d3ff;border-color:#b698df;background:#241b38f5;font-size:12px}
@keyframes acting-card{from{filter:brightness(1)}to{filter:brightness(1.2)}}
@keyframes arrival-glow{from{box-shadow:0 0 24px #f0d397cc}to{box-shadow:0 0 7px #f0d39733}}
@keyframes impact-card{0%,100%{transform:translateX(0)}30%{transform:translateX(4px);filter:brightness(1.5)}65%{transform:translateX(-3px)}}
@keyframes equip-glow{0%,100%{filter:brightness(1)}35%{filter:brightness(1.45);box-shadow:0 0 24px #f0d397bb}}
@keyframes score-awarded{0%,100%{transform:scale(1)}35%{transform:scale(1.14);text-shadow:0 0 16px #e5be79}}
@keyframes landing-reveal{0%{opacity:0}100%{opacity:1}}
@keyframes draw-move{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
@keyframes card-flight{0%{transform:translate(0,0) scale(.85);opacity:1}85%{opacity:1}100%{transform:translate(var(--travel-x),var(--travel-y)) scale(1);opacity:0}}
@keyframes portal-flight{0%{transform:translate(0,0) scale(.8);opacity:.9;filter:brightness(1.6)}85%{opacity:1}100%{transform:translate(var(--travel-x),var(--travel-y)) scale(1);opacity:0;filter:brightness(1)}}
@keyframes withdraw-flight{0%{transform:translate(0,0);opacity:1}100%{transform:translate(var(--travel-x),var(--travel-y)) scale(.35);opacity:0}}
@keyframes card-defeated{0%{opacity:1;filter:brightness(1.5)}100%{opacity:0;transform:translateY(18px) scale(.8);filter:grayscale(1)}}
@keyframes move-number{0%{opacity:0;transform:translate(-50%,-25%) scale(.85)}15%,75%{opacity:1;transform:translate(-50%,-65%) scale(1)}100%{opacity:0;transform:translate(-50%,-100%)}}
@media(max-width:699px){
 .move-speed{font-size:9px;gap:5px}.move-speed select{min-height:32px;padding:5px 7px}
 .action-feed{top:5px;gap:8px;padding:9px;min-height:78px;margin-bottom:10px;align-items:flex-start}
 .action-feed-cards{gap:4px;padding-top:6px}.action-feed-cards img{width:25px;height:35px}.action-feed-cards>span{font-size:12px}
 .action-feed-label{font-size:7px;letter-spacing:.04em}.action-feed-copy strong{font-size:11px}.action-feed-copy p{font-size:10px}
 .move-details{padding:5px 0 5px 4px;font-size:9px}.move-number{font-size:12px}
}
@media(orientation:landscape) and (max-height:600px){
 .action-feed{min-height:56px;padding:6px 10px;gap:10px;margin-bottom:9px;top:4px}
 .action-feed-cards img{height:36px;width:26px}.action-feed-label{font-size:7px;margin-bottom:1px}
 .action-feed-copy strong{font-size:11px}.action-feed-copy p{font-size:10px;margin-top:1px}
 .match-tools .move-speed{display:flex}
}
@media(prefers-reduced-motion:reduce){
 #move-effects{display:none}.unit.action-acting,.unit.action-hit,.unit.action-arrived,.unit.action-equipped,.unit.flight-landing,.score-awarded{animation:none!important;opacity:1;transform:none}
}
