#missionsBody{cursor: pointer;}
.mission-scene-container{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,0.98);z-index:10;display:none;pointer-events:auto;overflow:hidden}
.locked-overlay{position:absolute;width:100%;height:100%;background-image:url(/images/mission/mission_locked.webp);background-size: 100% auto;background-position: center;;z-index:1;pointer-events:none;filter:brightness(0.5)}
.mission-black-overlay{position:absolute;inset:0;background:rgb(0 0 0 / 50%);z-index:2;pointer-events:none}
#mission-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:1;display:none}
#mission-rain-canvas{position:absolute;inset:0;z-index:20;pointer-events:none}
#overlay{position:absolute;inset:0;background:#0000006e;z-index:25;pointer-events:none;opacity:0}
#night-vision-flash{position:absolute;inset:0;background:#000;z-index:30;pointer-events:none;opacity:0;transition:opacity 0.2s}
#night-vision-flash.flash-active{opacity:1}
.typing-container,.hint-text,#end-scene-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;max-width:800px;color:#fff;font-family:monospace;font-size:16px;text-align:center;z-index:100;display:none}
.highlighted{color:red;font-weight:bold}
#mission-dialogue-container{position:absolute;bottom:0;left:0;width:100%;height:350px;z-index:50;opacity:0;transition:opacity 0.8s ease-in-out;pointer-events:none}
#mission-dialogue-container.visible{opacity:1;pointer-events:auto}
#mission-character-container{position:relative;width:100%;height:200px;display:flex;top:20px}
.character-box{width:50%;height:100%;position:relative;overflow:hidden;z-index:2}
.character{position:absolute;bottom:0;left:50%;transform:translateX(-50%);width:100%;height:100%;object-fit:contain;transition:filter 0.6s ease,opacity 1.0s ease}
.character.active{filter:grayscale(0);opacity:1}
#character-center{position:absolute;inset:0;display:flex;justify-content:center;align-items:flex-end;pointer-events:none;z-index:1}
#character-center img{height:100%;object-fit:contain;filter:grayscale(1);opacity:0;transition:filter 0.5s,opacity 0.5s}
#character-center img.active{filter:grayscale(0);opacity:1}
#mission-dialogue-box{position:relative;width:100%;height:150px;z-index:2}
#dialogue-image{position:absolute;inset:0;width:100%;height:100%;object-fit:fill}
#dialogue-text-container{position:absolute;inset:10% 5%;color:black;text-align:center}
#character-status{font-style:italic;font-size:0.9em}
#dialogue-text{font-size:1em;text-align:justify}
@keyframes shake{0%,100%{transform:translate(0,0)}25%{transform:translate(-5px,5px)}50%{transform:translate(5px,-5px)}75%{transform:translate(-5px,-5px)}}
@keyframes glow{0%{box-shadow:0 0 10px yellow,0 0 20px yellow,0 0 30px yellow}100%{box-shadow:0 0 20px orange,0 0 40px orange,0 0 60px orange}}
.mission-completion-overlay,.mission-reward-overlay{opacity:0;transform:scale(0.65);transition:opacity 1.2s ease-out,transform 1.4s cubic-bezier(0.34,1.56,0.64,1);background:rgba(0,0,0,0.7);position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:20px;z-index:999;pointer-events:auto}
.mission-completion-overlay.visible,.mission-reward-overlay.visible{opacity:1;transform:scale(1)}
.overlay-canvas{width:500px;max-width:100%;height:200px}
.mission-message,.mission-hint,.mission-reward-message,.next-mission-text{color:white;font-size:20px}
.reward-items-container{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;padding:20px;width:100%}
.reward-item-img{width:100%;aspect-ratio:1/1;border:2px solid var(--yellow);border-radius:10px;animation:glow 2s infinite alternate}
.mission-reward-btn{background:url(/images/arena/battle/vs-button.webp) center center / 100% 100% no-repeat!important;padding:10px 20px!important;font-weight:900!important;text-transform:uppercase!important;text-shadow:2px 2px 4px #000!important;color:var(--swal2-footer-border-color)!important;transition:all 0.3s cubic-bezier(0.25,0.46,0.45,0.94)!important;position:relative!important;overflow:hidden!important;text-align:center!important;filter:drop-shadow(0 0 20px var(--blue))!important;cursor:pointer!important;outline:none!important}
@media (max-width:767px){#completion-overlay{position:fixed!important}}
@media (min-width:1024px){.reward-items-container{width:50%}}
