/* The raster alone moves. Captions, classification and gameplay values stay fixed. */
.operation-cover {position:relative;display:block;width:100%;height:100%;overflow:hidden;isolation:isolate;pointer-events:none;}
.operation-cover>img {display:block;width:100%;height:100%;object-fit:cover;transform:scale(1.3);transform-origin:50% 50%;}
.operation-cover:before,.operation-cover:after {content:"";position:absolute;pointer-events:none;inset:0;z-index:1;}
.operation-cover:before {background:repeating-linear-gradient(to bottom,transparent 0 3px,#1612160a 3px 4px);}
.operation-cover:after {inset:-30% 0 auto;height:22%;background:linear-gradient(transparent,#f4eedb0b 35%,#16121610 54%,transparent);animation:cover-scan var(--scan-duration,30s) linear var(--scan-delay,0s) infinite;animation-direction:var(--scan-direction,normal);animation-play-state:paused;}
.cover-motion-active:after {animation-play-state:running;}
@keyframes cover-scan {from {top:-30%;}to {top:115%;}}
.brief-card-image>.operation-cover {position:absolute;inset:0;width:100%;height:100%;padding:0;background:none;}
.brief-card-image>span:not(.operation-cover),.brief-card-image>b {z-index:2;}
.operations-modal .planning-header-visual>.operation-cover {position:absolute;inset:0;padding:0;background:none;display:block;width:100%;height:100%;}
.operations-modal .planning-header-visual>.operation-cover>img {min-height:0;height:100%;}
.planning-header-visual>span:not(.operation-cover),.planning-header-visual>em {z-index:2;}
.case-cover {aspect-ratio:2 / 1;height:auto;margin-bottom:12px;}
.case-cover>img {position:absolute;inset:0;}
.dispatch-hero>.operation-cover {position:absolute;inset:0;}
.dispatch-effects {z-index:2;}
@media(prefers-reduced-motion:reduce) {
  .operation-cover>img {transform:scale(1.15)!important;}
  .operation-cover:after {animation:none;display:none;}
}
