/* Event artwork: shared across card faces, introductions and seat resolutions. */
/* 固定命中位置後，卡片只需短暫位移，不必關閉所有過渡。 */
.hand.is-scrubbing .game-card{transition:transform 90ms ease-out;will-change:transform}
@media(prefers-reduced-motion:reduce){.hand.is-scrubbing .game-card{transition:none}}
[data-kind='panic']{--event-art:url('./assets/event-panic-v1.png')}
[data-kind='panic'] .card-icon,[data-kind='panic'] .special-card-art,[data-kind='panic'] .discard-art,[data-kind='panic'].effect-transfer>span,[data-kind='panic'].effect-hazard-mark>span,[data-kind='panic'].portrait-effect-badge>i{background-image:var(--event-art)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
[data-kind='catbalou']{--event-art:url('./assets/event-catbalou-v1.png')}
[data-kind='catbalou'] .card-icon,[data-kind='catbalou'] .special-card-art,[data-kind='catbalou'] .discard-art,[data-kind='catbalou'].effect-transfer>span,[data-kind='catbalou'].effect-hazard-mark>span,[data-kind='catbalou'].portrait-effect-badge>i{background-image:var(--event-art)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
[data-kind='jail']{--event-art:url('./assets/event-jail-v1.png')}
[data-kind='jail'] .card-icon,[data-kind='jail'] .special-card-art,[data-kind='jail'] .discard-art,[data-kind='jail'].effect-transfer>span,[data-kind='jail'].effect-hazard-mark>span,[data-kind='jail'].portrait-effect-badge>i{background-image:var(--event-art)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}
[data-kind='dynamite']{--event-art:url('./assets/event-dynamite-v1.png')}
[data-kind='dynamite'] .card-icon,[data-kind='dynamite'] .special-card-art,[data-kind='dynamite'] .discard-art,[data-kind='dynamite'].effect-transfer>span,[data-kind='dynamite'].effect-hazard-mark>span,[data-kind='dynamite'].portrait-effect-badge>i{background-image:var(--event-art)!important;background-size:contain!important;background-position:center!important;background-repeat:no-repeat!important}

.event-art-intro .special-card-art{width:clamp(120px,28vw,400px);height:clamp(100px,24vw,310px);aspect-ratio:auto;filter:drop-shadow(0 12px 20px #0009)}
.event-art-intro .target-card-token{display:none}
.event-art-intro .special-combatant small,.event-art-intro .special-title>span{display:none}
.special-panic.event-art-intro .special-card-art{rotate:180deg;animation:eventSnatch var(--special-duration) ease both}
.special-catbalou.event-art-intro .special-card-art{animation:eventWhip var(--special-duration) ease both}
.event-art-intro[data-kind='jail'] .special-card-art{animation:eventLock var(--special-duration) ease both}
.event-art-intro[data-kind='dynamite'] .special-card-art{animation:eventFuse var(--special-duration) ease both}
.effect-hazard-mark[data-kind='jail'],.effect-hazard-mark[data-kind='catbalou'],.effect-hazard-mark[data-kind='dynamite']{width:140px;height:150px;border:0;border-radius:0;background:transparent;box-shadow:none;animation:none}
.effect-hazard-mark[data-kind] >span{width:100%;height:120px}
.effect-hazard-mark>b{padding:3px 7px;border-radius:5px;background:#21140fe8;color:#fff1c7}
.effect-hazard-mark[data-kind='jail']>span{animation:eventDoorClose .7s ease both}
.effect-hazard-mark[data-kind='jail'].released>span{animation:eventDoorOpen 1s ease both}
.effect-hazard-mark[data-kind='catbalou']>span{animation:eventShred 1.4s ease both}
.effect-hazard-mark[data-kind='dynamite']:not(.exploding)>span{animation:eventGlow .65s ease-in-out infinite alternate}
.effect-hazard-mark[data-kind='dynamite'].exploding{background:radial-gradient(circle,#fff1af,#ff8937 20%,#c92b18 36%,transparent 65%);animation:eventBlast .95s ease both}
.effect-hazard-mark.exploding>span{opacity:.35}
.effect-transfer[data-kind='panic']{width:130px;height:100px;padding:0;border:0;background:none;box-shadow:none}
.effect-transfer[data-kind='panic']>span{width:130px;height:86px}
.effect-transfer[data-kind='panic']>b{background:#21140fe8;border-radius:5px;padding:3px 7px;color:#fff1c7}
.portrait-effect-badge[data-kind='dynamite']>i{animation:eventGlow 1s ease-in-out infinite alternate}
@keyframes eventSnatch{0%{opacity:0;transform:translateX(35%) rotate(12deg)}22%,45%{opacity:1;transform:translateX(8%)}70%,90%{opacity:1;transform:translateX(-12%) rotate(-8deg)}100%{opacity:0;transform:translateX(-25%)}}
@keyframes eventWhip{0%{opacity:0;transform:rotate(-40deg) scale(.7)}25%{opacity:1;transform:rotate(12deg) scale(1.12)}35%,80%{opacity:1;transform:rotate(0) scale(1)}100%{opacity:0}}
@keyframes eventLock{0%{opacity:0;transform:translateY(-50%)}28%{opacity:1;transform:translateY(4%)}34%,90%{opacity:1;transform:translateY(0)}100%{opacity:0}}
@keyframes eventFuse{0%{opacity:0;transform:scale(.65) rotate(-15deg)}25%,85%{opacity:1;transform:scale(1)}65%{filter:drop-shadow(0 0 30px #ff9e2b)}100%{opacity:0}}
@keyframes eventDoorClose{from{transform:translateY(-70%);opacity:0}80%{transform:translateY(5%);opacity:1}to{transform:translateY(0)}}
@keyframes eventDoorOpen{0%,20%{transform:translateY(0);opacity:1}to{transform:translateY(-75%) rotate(-8deg);opacity:0}}
@keyframes eventShred{0%{transform:rotate(-30deg) scale(.7);opacity:0}35%{transform:rotate(8deg) scale(1.2);opacity:1}65%{transform:rotate(0);opacity:1}to{transform:translateY(24px) scale(1.25);opacity:0;filter:blur(3px)}}
@keyframes eventGlow{to{filter:drop-shadow(0 0 7px #ff9d35) brightness(1.25)}}
@keyframes eventBlast{0%{transform:translate(-50%,-50%) scale(.5);opacity:0}25%{transform:translate(-50%,-50%) scale(1.7);opacity:1}to{transform:translate(-50%,-50%) scale(2);opacity:0}}
@media(max-width:699px){.event-art-intro.special-panic,.event-art-intro.special-catbalou{grid-template-columns:minmax(0,1fr) 120px minmax(0,1fr)}.event-art-intro .special-card-art{width:120px;height:130px}.event-art-intro .cinematic-portrait{width:min(25vw,132px)}.event-art-intro .target-card-showcase>strong{font-size:23px}}
@media(orientation:landscape) and (max-height:600px){.event-art-intro .special-card-art{height:130px;width:190px}.event-art-intro .cinematic-portrait{height:150px;width:112px}.event-art-intro{padding:15px;gap:10px}.event-art-intro .special-combatant strong{font-size:18px}}
@media(prefers-reduced-motion:reduce){.event-art-intro .special-card-art,.effect-hazard-mark,.effect-hazard-mark>span,.portrait-effect-badge[data-kind='dynamite']>i{animation:none!important}}
