/* 16.3 · Film-noir scene and cinematic transition */
#rf162Portal .rf163-stage{border:0!important;background:#050407!important;box-shadow:none!important;min-height:0!important}
#rf162Portal .rf163-film{height:min(72dvh,650px);min-height:420px;position:relative;overflow:hidden;border-radius:16px;background:#030306;isolation:isolate;border:1px solid #391c2c}
#rf162Portal .rf163-character{position:absolute;inset:-10% -8%;background-image:var(--rf163-image);background-position:center 30%;background-size:cover;filter:contrast(1.24) brightness(.64) saturate(.66);transform:scale(1.28);animation:rf163-approach 2.7s cubic-bezier(.2,.6,.3,1) both}
#rf162Portal .rf163-shade{position:absolute;inset:0;background:linear-gradient(0deg,#030208 0%,transparent 40%,#02020888 100%),linear-gradient(90deg,#09020a77,transparent 55%,#08010988);pointer-events:none}
#rf162Portal .rf163-fog{position:absolute;inset:-20%;background:radial-gradient(ellipse at 40% 85%,#e3d5e522,transparent 45%),radial-gradient(ellipse at 65% 40%,#b50c2928,transparent 50%);filter:blur(30px);animation:rf163-fog 3s ease-in-out both}
#rf162Portal .rf163-label{position:absolute;left:20px;bottom:28px;right:20px;font-size:clamp(16px,4vw,24px);letter-spacing:.17em;font-weight:800;color:#fff;text-shadow:0 2px 12px #000;z-index:5}
#rf162Portal .rf163-skip{position:absolute;top:14px;right:14px;z-index:8;border:1px solid #ffffff55;background:#08060baa;color:#fff;padding:9px 12px;border-radius:10px;font-size:13px}
#rf162Portal .rf163-prop{position:absolute;z-index:4;pointer-events:none}
#rf162Portal .rf163-knife,#rf162Portal .rf163-blade{width:22px;height:225px;right:25%;bottom:13%;background:linear-gradient(90deg,#24272f,#e2e5e7 38%,#79838d 75%,#13171c);clip-path:polygon(50% 0,100% 72%,73% 85%,73% 100%,28% 100%,28% 85%,0 72%);filter:drop-shadow(0 0 18px #f1e4e4);transform-origin:50% 90%;animation:rf163-slash 2.6s ease-in-out both}
#rf162Portal .rf163-claws{width:145px;height:145px;right:18%;bottom:18%;background:repeating-linear-gradient(100deg,transparent 0 18px,#d8dfe4 20px 25px,#39434a 30px 35px);clip-path:polygon(0 0,100% 0,100% 100%,0 100%);transform:rotate(-30deg);animation:rf163-slash 2.6s both}
#rf162Portal .rf163-balloon{width:100px;height:128px;left:13%;top:10%;border-radius:49% 51% 48% 52%;background:radial-gradient(circle at 32% 20%,#ff9c9b,#c40928 45%,#39000a);box-shadow:0 0 45px #a40029;animation:rf163-balloon 2.6s both}
#rf162Portal .rf163-balloon:after{content:'';position:absolute;left:50%;top:100%;height:210px;border-left:1px solid #ccc}
#rf162Portal .rf163-saw{width:270px;height:110px;right:-12%;bottom:23%;background:repeating-linear-gradient(90deg,#373a3d 0 12px,#85898b 12px 16px);clip-path:polygon(0 25%,82% 25%,100% 0,96% 100%,82% 75%,0 75%);filter:drop-shadow(0 0 20px #ff1e1e);animation:rf163-saw 2.6s both}
#rf162Portal .rf163-shadow,#rf162Portal .rf163-mirror,#rf162Portal .rf163-flash{inset:0;background:radial-gradient(ellipse at 55% 40%,transparent 20%,#020206cc 75%);animation:rf163-flash 2.7s both}
#rf162Portal .rf163-scratch{position:absolute;inset:0;z-index:6;background:linear-gradient(125deg,transparent 46%,#fff9 48%,#9e1b37 49%,transparent 51%);opacity:0;animation:rf163-cut 2.7s both;pointer-events:none}
@keyframes rf163-approach{0%{transform:scale(1.08) translateX(-4%);filter:brightness(.12) contrast(1.3) saturate(.5)}65%{filter:brightness(.57) contrast(1.25) saturate(.7)}90%{transform:scale(1.4) translateX(2%);filter:brightness(.76) contrast(1.3)}100%{transform:scale(1.46) translateX(2%);filter:brightness(.2)}}
@keyframes rf163-slash{0%,28%{opacity:0;transform:rotate(-70deg) translateY(80px)}55%{opacity:1;transform:rotate(-30deg)}78%{transform:rotate(68deg) translate(-80px,-50px)}100%{opacity:0;transform:rotate(95deg) translate(-100px,-80px)}}
@keyframes rf163-balloon{0%{opacity:0;transform:translateY(250px) scale(.5)}45%{opacity:1}85%{transform:translateY(-25px) scale(1.1)}100%{opacity:0;transform:translateY(-100px) scale(1.25)}}
@keyframes rf163-saw{0%{transform:translateX(160px) rotate(12deg)}60%{transform:translateX(-80px) rotate(-8deg)}90%{transform:translateX(-180px) rotate(-15deg)}100%{opacity:0;transform:translateX(-230px)}}
@keyframes rf163-fog{from{transform:translateX(-15%);opacity:.2}to{transform:translateX(15%);opacity:1}}
@keyframes rf163-flash{0%,70%{opacity:.1}77%{opacity:.9}90%{opacity:.1}100%{opacity:1}}
@keyframes rf163-cut{0%,68%{opacity:0}73%{opacity:.95}82%{opacity:0}100%{opacity:0}}
@media(prefers-reduced-motion:reduce){#rf162Portal .rf163-stage *{animation:none!important}#rf162Portal .rf163-character{filter:brightness(.65)}}
