/* Keep the live battle visible around the portrait film and behind the translucent veil. */
#v182-rare-cutin[hidden] { display:none !important; }
#v182-rare-cutin {
    --v182-accent:#f1b8d6; --v182-glow:rgba(166,55,111,.28); --v182-soft-glow:rgba(212,107,158,.33);
    position:fixed; inset:0; z-index:2147483647; isolation:isolate; overflow:hidden;
    background:rgba(8,4,16,.28); color:#f8ecd2; outline:0;
    pointer-events:auto; touch-action:none;
    font-family:"Yu Mincho","Hiragino Mincho ProN",Georgia,serif;
    animation:v182-curtain-arrival .32s ease-out both;
}
#v182-rare-cutin::before {
    content:""; position:absolute; inset:0; z-index:0; pointer-events:none;
    background:radial-gradient(ellipse at 60% 43%,transparent 27%,rgba(24,6,31,.24) 66%,rgba(3,1,8,.5) 100%);
}
#v182-rare-cutin::after {
    content:""; position:absolute; z-index:1; top:-25%; bottom:-25%; left:-20%;
    width:18%; transform:skewX(-18deg); pointer-events:none;
    background:linear-gradient(90deg,transparent,rgba(229,157,192,.17) 48%,rgba(255,237,196,.22) 52%,transparent);
    animation:v182-sigil-blade 1.05s .08s both;
}
.v182-night-veil {
    position:absolute; inset:0; z-index:1; pointer-events:none;
    background:linear-gradient(90deg,rgba(20,5,27,.2),transparent 48%,rgba(11,3,18,.16)),
        linear-gradient(0deg,rgba(8,3,14,.27),transparent 22% 79%,rgba(8,3,14,.28));
}
.v182-film {
    position:absolute; top:50%; right:6%; z-index:2;
    width:min(39vw,45.5vh); aspect-ratio:8 / 13;
    transform:translateY(-50%); overflow:visible;
    border:1px solid rgba(246,207,151,.84); background:#140817;
    box-shadow:0 0 0 5px rgba(29,10,30,.75),0 0 0 6px rgba(222,171,107,.44),
        0 18px 64px rgba(0,0,0,.62),0 0 46px var(--v182-glow);
    animation:v182-portrait-enter .48s cubic-bezier(.15,.8,.18,1) both;
}
.v182-film::before {
    content:""; position:absolute; inset:9px; z-index:4; pointer-events:none;
    border:1px solid rgba(232,186,124,.57);
    box-shadow:inset 0 0 18px rgba(4,1,9,.55),0 0 17px rgba(249,190,130,.14);
}
.v182-film::after {
    content:""; position:absolute; z-index:5; pointer-events:none;
    left:-11px; right:-11px; top:50%; height:34%; transform:translateY(-50%);
    border-left:2px solid rgba(239,187,130,.67);
    border-right:2px solid rgba(239,187,130,.67);
}
.v182-film .v182-ambient,
.v182-film video {
    position:absolute; inset:0; width:100%; height:100%; display:block;
    object-fit:contain; object-position:center;
}
.v182-film .v182-ambient { z-index:0; opacity:.35; filter:brightness(.42) blur(12px); }
.v182-film video { z-index:1; background:transparent; }
.v182-gilded-rules {
    position:absolute; inset:5% 3%; z-index:3; pointer-events:none;
    border-top:1px solid rgba(234,187,122,.63);
    border-bottom:1px solid rgba(234,187,122,.63);
    box-shadow:0 -5px 0 -4px rgba(229,176,112,.34),0 5px 0 -4px rgba(229,176,112,.34);
}
.v182-gilded-rules::before,.v182-gilded-rules::after {
    content:""; position:absolute; width:48px; height:48px;
    border:1px solid rgba(246,199,130,.72); transform:rotate(45deg);
    box-shadow:inset 0 0 18px rgba(197,90,150,.27),0 0 18px rgba(0,0,0,.42);
}
.v182-gilded-rules::before { top:-25px; left:7%; }
.v182-gilded-rules::after { bottom:-25px; right:7%; }
.v182-gilded-rules span { position:absolute; color:#efc691; font-size:12px; text-shadow:0 0 8px #1c0714; }
.v182-gilded-rules span:first-child { top:-10px; left:calc(7% + 19px); }
.v182-gilded-rules span:last-child { bottom:-10px; right:calc(7% + 19px); }
.v182-sigil {
    position:absolute; width:min(13vw,150px); height:auto; left:7%; top:9%; z-index:4;
    fill:none; stroke:rgba(244,195,132,.84); stroke-width:.9;
    filter:drop-shadow(0 2px 11px #09010e) drop-shadow(0 0 12px var(--v182-soft-glow));
}
.v182-caption {
    position:absolute; left:6%; top:52%; z-index:5; width:36%;
    padding:25px 28px 28px; transform:translateY(-50%);
    background:linear-gradient(100deg,rgba(8,3,17,.9),rgba(23,7,31,.72) 76%,rgba(23,7,31,.08));
    border-left:3px solid rgba(243,196,129,.88);
    box-shadow:-9px 12px 34px rgba(2,0,6,.25);
    text-shadow:0 3px 10px #030107,0 0 27px #12010e;
    animation:v182-caption-enter .56s .13s both;
}
.v182-caption p { margin:0; }
.v182-caption .v182-kicker { font-size:clamp(10px,1.05vw,15px); letter-spacing:.35em; color:#eacc98; }
.v182-caption .v182-skin-name { margin-top:20px; font-size:clamp(17px,2vw,29px); letter-spacing:.18em; color:var(--v182-accent); }
.v182-caption h2 {
    margin:12px 0 0; font-family:inherit; font-size:clamp(30px,4vw,68px);
    font-weight:800; line-height:1.2; letter-spacing:.05em; white-space:nowrap;
    color:#fff0d5; text-shadow:0 3px 1px #2f1223,0 0 28px var(--v182-soft-glow);
}
.v182-caption .v182-character-name { margin-top:18px; font-size:clamp(13px,1.6vw,21px); letter-spacing:.18em; }
.v182-caption-flourish {
    display:flex; align-items:center; gap:16px; margin-top:22px; max-width:300px;
    color:#e2b877; font-size:16px;
}
.v182-caption-flourish::before,.v182-caption-flourish::after {
    content:""; height:1px; flex:1; background:linear-gradient(90deg,transparent,#e2b877);
}
.v182-caption-flourish::after { transform:scaleX(-1); }
#v182-rare-cutin.is-exiting { animation:v182-curtain-departure .22s ease-in both; }
#v182-rare-cutin.is-still .v182-film video { opacity:0; }
#v182-rare-cutin.is-still .v182-film .v182-ambient { filter:none; opacity:1; }
@keyframes v182-curtain-arrival { from { opacity:0; } to { opacity:1; } }
@keyframes v182-curtain-departure { from { opacity:1; } to { opacity:0; } }
@keyframes v182-sigil-blade {
    0% { opacity:0; transform:skewX(-18deg) translateX(-55vw); }
    28% { opacity:.65; }
    100% { opacity:0; transform:skewX(-18deg) translateX(145vw); }
}
@keyframes v182-portrait-enter {
    from { opacity:0; transform:translate(14%,-50%) scale(.95); }
    to { opacity:1; transform:translate(0,-50%) scale(1); }
}
@keyframes v182-caption-enter {
    from { opacity:0; transform:translate(-28px,-50%); filter:blur(4px); }
    to { opacity:1; transform:translate(0,-50%); filter:blur(0); }
}
@media (max-aspect-ratio:1/1) {
    .v182-film {
        top:9%; right:50%; width:min(60vw,32vh);
        transform:translateX(50%);
        animation-name:v182-portrait-enter-vertical;
    }
    .v182-night-veil {
        background:linear-gradient(0deg,rgba(10,3,17,.36),transparent 29% 79%,rgba(10,3,17,.2));
    }
    .v182-caption {
        top:auto; bottom:max(6%,calc(env(safe-area-inset-bottom) + 20px));
        left:7%; width:86%; padding:13px 13px 15px;
        transform:none; text-align:center;
        background:linear-gradient(90deg,rgba(10,4,20,.62),rgba(17,5,25,.88) 20% 80%,rgba(10,4,20,.62));
        border-left:0; border-top:2px solid rgba(239,190,132,.8);
        animation-name:v182-caption-enter-vertical;
    }
    .v182-caption .v182-kicker { font-size:10px; letter-spacing:.28em; }
    .v182-caption .v182-skin-name { margin-top:8px; font-size:17px; }
    .v182-caption h2 { margin-top:5px; font-size:clamp(27px,9.1vw,50px); letter-spacing:.04em; }
    .v182-caption .v182-character-name { margin-top:7px; font-size:12px; }
    .v182-caption-flourish { margin:7px auto 0; width:55%; }
    .v182-sigil { width:56px; left:6%; top:max(7%,env(safe-area-inset-top)); }
    .v182-gilded-rules { inset:3% 4%; }
    .v182-gilded-rules::before,.v182-gilded-rules::after { width:30px; height:30px; }
    .v182-gilded-rules::before { top:-16px; }
    .v182-gilded-rules::after { bottom:-16px; }
}
@keyframes v182-portrait-enter-vertical {
    from { opacity:0; transform:translate(50%,14px) scale(.94); }
    to { opacity:1; transform:translate(50%,0) scale(1); }
}
@keyframes v182-caption-enter-vertical {
    from { opacity:0; transform:translateY(18px); filter:blur(4px); }
    to { opacity:1; transform:translateY(0); filter:blur(0); }
}
@media (max-height:500px) and (min-aspect-ratio:1/1) {
    .v182-sigil { width:54px; top:8%; }
    .v182-caption { left:5%; width:39%; padding:12px 17px 13px; }
    .v182-caption .v182-skin-name { margin-top:9px; font-size:17px; }
    .v182-caption h2 { font-size:35px; margin-top:7px; }
    .v182-caption .v182-character-name { margin-top:9px; font-size:12px; }
    .v182-caption-flourish { margin-top:10px; }
}
@media (prefers-reduced-motion:reduce) {
    #v182-rare-cutin,#v182-rare-cutin::after,.v182-film,.v182-caption {
        animation-duration:.01s; animation-delay:0s;
    }
    #v182-rare-cutin.is-exiting { animation-duration:.01s; }
}

#v182-rare-cutin[data-cutin-character="monty-larasa"] {
    --v182-accent:#cbb5f6; --v182-glow:rgba(133,89,212,.28); --v182-soft-glow:rgba(185,136,238,.33);
}
#v182-rare-cutin[data-cutin-character="nol-leonard"] {
    --v182-accent:#f0929d; --v182-glow:rgba(183,45,63,.28); --v182-soft-glow:rgba(216,79,99,.33);
}
