/* SAKATA MONSTERS V20 — Full-bleed summon and evolution cinematics */
:root{--v20-gold:#ffe2a1}
.v20-demo-lab{margin:17px 0 6px;padding:15px 12px;background:radial-gradient(ellipse at 50% 5%,#4b3768a8,transparent 75%),linear-gradient(135deg,#17172c,#0b0f20);border:1px solid #d8ac73;border-radius:16px;box-shadow:0 0 28px #b47eff25,inset 0 0 0 1px #ffffff16}
.v20-demo-lab-head small{color:#e8c58b;letter-spacing:.13em;font:800 9px Georgia,serif}.v20-demo-lab-head b{display:block;font-size:17px;color:#fff3d7;margin:6px 0}.v20-demo-lab-head p{font-size:11px;color:#cabfd3;line-height:1.6}
.v20-demo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:13px}.v20-demo-grid button{border-radius:11px;border:1px solid #b9b1c5;background:#181833;color:#f9f2ff;padding:12px 6px;display:grid;text-align:center;gap:4px;min-height:58px}.v20-demo-grid button small{font:700 8px Georgia,serif;letter-spacing:.1em;color:#ddd0ff}.v20-demo-grid button strong{font-size:13px}.v20-demo-grid button:nth-child(2){background:linear-gradient(140deg,#50346a,#201338);border-color:#d8afff}.v20-demo-grid button:nth-child(3){background:linear-gradient(140deg,#a86a1a,#38211e);border-color:#ffe5a4;color:#fff1c3}.v20-demo-grid button:nth-child(4){background:linear-gradient(140deg,#7d233e,#180b19);border-color:#ff84a5}
.v20-demo-grid button:active{transform:scale(.97)}
/* Core engine: radically different, full viewport scenes per rarity */
#gacha-root .v20-cinema{background:#030713;position:absolute;inset:0;overflow:hidden;font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif}
#gacha-root .v20-cinema *{box-sizing:border-box}
.v20-cinema-bg,.v20-cinema-halo,.v20-cinema-cuts,.v20-camera-flash{position:absolute;inset:0;pointer-events:none}
.v20-cinema-bg{background:linear-gradient(180deg,#04081766,#06091b25 37%,#02050bdc 100%),url('assets/summon_chamber.webp') center center / cover no-repeat;transform:scale(1.08);animation:v20-scene-push 1.8s ease-out both}
.v20-cinema-halo{background:radial-gradient(ellipse at center 45%,#518cf050,transparent 60%);mix-blend-mode:screen;animation:v20-halo 1s ease-in-out infinite alternate}
.v20-cinema-cuts{opacity:.3;background:repeating-linear-gradient(120deg,transparent 0 34px,#c2e8ff22 34px 35px,transparent 35px 80px)}
.v20-camera-flash{z-index:17;opacity:0;background:#fff;pointer-events:none}
.v20-scene-header{position:absolute;top:calc(36px + env(safe-area-inset-top));left:16px;right:16px;display:flex;flex-direction:column;align-items:center;gap:7px;z-index:9;text-shadow:0 3px 8px #000e}
.v20-scene-header span{font:900 12px Georgia,serif;letter-spacing:.15em;color:#f9e5c3}.v20-scene-header em{font-size:9px;font-style:normal;letter-spacing:.3em}.v20-scene-header b{font:700 9px Georgia,serif;letter-spacing:.18em;color:#bad8ff}
.v20-cinema-arena{position:absolute;inset:8% 0 21%;display:grid;place-items:center;isolation:isolate}
.v20-sigil-ring{position:absolute;width:min(88vw,410px);aspect-ratio:1;border:2px solid #7fcaff9e;border-radius:50%;box-shadow:0 0 40px #58a9ee75,inset 0 0 50px #5f9bff44;animation:v20-ring-turn 14s linear infinite}
.v20-sigil-ring.outer:after{content:'✦　✧　✦　✧　✦';position:absolute;top:-18px;left:10%;color:#b8f1ff;font-size:22px;letter-spacing:4px}.v20-sigil-ring.inner{width:min(61vw,310px);border-style:dashed;border-color:#e4f9ff;animation-duration:7s;animation-direction:reverse}
.v20-cinema-rays{position:absolute;inset:0;background:repeating-conic-gradient(from 30deg at 50% 50%,#c4ecff13 0deg 3deg,transparent 3deg 23deg);animation:v20-ring-turn 20s linear infinite}
.v20-glass-core{position:relative;width:min(46vw,225px);aspect-ratio:1;display:grid;place-items:center;filter:drop-shadow(0 0 28px #80bfff);z-index:4;animation:v20-crystal-breathe 1.1s ease-in-out infinite alternate}
.v20-glass-core:before{content:'';position:absolute;inset:6%;background:linear-gradient(140deg,#f2ffff 0%,#6facff 28%,#2356ac 55%,#110d42 76%);clip-path:polygon(50% 0,88% 30%,70% 87%,50% 100%,27% 87%,12% 30%);box-shadow:inset 0 0 25px #fff}.v20-glass-core:after{content:'';position:absolute;inset:20%;border:2px solid #dffaff8f;clip-path:polygon(50% 0,88% 30%,70% 87%,50% 100%,27% 87%,12% 30%)}.v20-glass-core span{font:900 clamp(56px,19vw,105px) Georgia,serif;z-index:1;color:#fff;text-shadow:0 0 32px #fff}
.v20-crack-svg{position:absolute;inset:0;width:100%;height:100%;opacity:0;z-index:10;filter:drop-shadow(0 0 12px white)}.v20-crack-svg path{fill:none;stroke:#fff;stroke-linecap:round;stroke-width:5;stroke-dasharray:1200;stroke-dashoffset:1200}
.v20-shards{position:absolute;inset:0;pointer-events:none;z-index:11}.v20-shards i{position:absolute;top:46%;left:50%;height:8px;width:clamp(20px,10vw,55px);background:linear-gradient(90deg,transparent,#eafaff,transparent);clip-path:polygon(0 45%,65% 0,100% 50%,55% 100%);opacity:0;transform:rotate(var(--angle)) translateX(0)}
.v20-giant-rank{position:absolute;z-index:12;top:50%;left:50%;transform:translate(-50%,-50%);white-space:nowrap;text-align:center;font:900 clamp(42px,18vw,110px) Georgia,serif;letter-spacing:-.04em;opacity:0;line-height:1;text-shadow:0 0 25px #fff9}
.v20-cinema-beast{position:absolute;z-index:6;top:14%;left:50%;width:min(98vw,460px);height:min(63dvh,610px);object-fit:contain;opacity:0;transform:translateX(-50%) scale(.25);pointer-events:none;filter:brightness(0) drop-shadow(0 0 30px #f9dfa0)}
.v20-cinema-floor{position:absolute;bottom:3%;left:0;right:0;height:19%;background:radial-gradient(ellipse at 50% 50%,#a9cfff55,transparent 60%);filter:blur(14px)}
.v20-cinema-caption{position:absolute;z-index:14;bottom:calc(103px + env(safe-area-inset-bottom));left:10px;right:10px;text-align:center;text-shadow:0 3px 13px #000e,0 2px 4px #000}
.v20-cinema-caption small{display:block;color:#b9d9ff;font:900 9px Georgia,serif;letter-spacing:.28em}.v20-cinema-caption h2{font:900 clamp(28px,8.5vw,40px) Georgia,'Yu Mincho',serif;line-height:1.2;color:#fff;padding:0 4px;margin:10px 0 8px}.v20-cinema-caption p{color:#e2eaff;font-size:12px;line-height:1.5}
.v20-cinema-skip{position:absolute;z-index:25;bottom:calc(36px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);font-size:12px;font-weight:850;white-space:nowrap;padding:12px 25px;background:#151b2ed9;color:#fff3d4;border:1px solid #d8c08c;border-radius:99px;box-shadow:0 0 18px #0007}
.v20-preview-ribbon{position:absolute;z-index:16;top:calc(108px + env(safe-area-inset-top));left:50%;transform:translateX(-50%);border:1px solid #f8e7c276;background:#090a14a9;padding:7px 12px;border-radius:30px;color:#f8eccc;font-size:9px;white-space:nowrap;font-weight:800;letter-spacing:.06em}
/* PHASE 1: blue resonance */
.v20-launch .v20-cinema-bg{filter:hue-rotate(2deg)}.v20-launch .v20-glass-core{animation:v20-crystal-breathe .55s infinite alternate}
/* PHASE 2: concrete shatter and violent whiteout */
.v20-fracture .v20-camera-flash{animation:v20-flash .75s ease-out both}.v20-fracture .v20-cinema-bg{filter:brightness(1.3) contrast(1.4)}.v20-fracture .v20-glass-core{animation:v20-break-crystal .65s ease-out forwards}.v20-fracture .v20-crack-svg{opacity:1}.v20-fracture .v20-crack-svg path{animation:v20-crack-draw .48s ease-out forwards}.v20-fracture .v20-shards i{animation:v20-shard-explode .72s ease-out var(--delay) both}.v20-fracture .v20-cinema-caption h2{font-size:clamp(32px,11vw,56px);color:#fff}
/* PHASE 3: PURPLE full-bleed SSR rank-up, not a tint of the same altar */
.v20-ascend{background:#110323!important}.v20-ascend .v20-cinema-bg{background:radial-gradient(ellipse at 50% 45%,#fa9bffbb 0%,#7c33bf80 35%,#1d0335 72%),url('assets/summon_chamber.webp') center / cover;filter:contrast(1.65) saturate(1.6);animation:v20-ascend-background 1s ease-out both}.v20-ascend .v20-cinema-halo{background:repeating-conic-gradient(from 30deg,#bd71ff77 0deg 12deg,#2e0b4b 12deg 30deg);filter:blur(14px)}.v20-ascend .v20-glass-core{opacity:0;transform:scale(2)}.v20-ascend .v20-sigil-ring{border-color:#ffe0ff;box-shadow:0 0 50px #e86aff,inset 0 0 60px #df6eff}.v20-ascend .v20-giant-rank{font-size:clamp(64px,17vw,120px);background:linear-gradient(#fff,#f1caff 45%,#a743d5);background-clip:text;color:transparent;animation:v20-rank-slam .7s cubic-bezier(.09,.9,.25,1.1) both}.v20-ascend .v20-camera-flash{animation:v20-flash .58s ease-out both}.v20-ascend .v20-cinema-caption h2{color:#ffdcfa}
/* PHASE 4: gold fiery divine impact with huge form dominating viewport */
.v20-surge{background:#241004!important}.v20-surge .v20-cinema-bg{background:linear-gradient(180deg,#12080160,#330c00ae),radial-gradient(ellipse at 50% 44%,#fff2af 0%,#ff9533 30%,#891e0c 66%,#170306 90%);filter:contrast(1.3)}.v20-surge .v20-cinema-halo{background:repeating-conic-gradient(from 0deg at 50% 48%,#fff1b69e 0deg 5deg,#ff8f2400 5deg 17deg);filter:blur(11px);animation:v20-ring-turn 6s linear infinite}.v20-surge .v20-sigil-ring{border:2px solid #fff1a9;box-shadow:0 0 66px #ff8b00,inset 0 0 66px #ffb52c}.v20-surge .v20-glass-core{display:none}.v20-surge .v20-giant-rank{top:37%;font-size:clamp(100px,39vw,220px);color:#fff6cf;opacity:1;animation:v20-rank-slam 1s both;text-shadow:0 0 20px #fff,0 0 72px #ffbf3e,0 0 120px #ff4e00}.v20-surge .v20-cinema-beast{opacity:.9;animation:v20-beast-rise 1.35s ease-out both;filter:drop-shadow(0 0 30px #ffeb9d) drop-shadow(0 0 60px #ff7921)}.v20-surge .v20-camera-flash{animation:v20-flash .7s ease-out both}.v20-surge .v20-cinema-caption{bottom:calc(95px + env(safe-area-inset-bottom))}.v20-surge .v20-cinema-caption h2{color:#ffefb5}
/* PHASE 5: negative color SECRET dimension, heartbeat red */
.v20-secret{background:#050306!important}.v20-secret .v20-cinema-bg{background:radial-gradient(ellipse at 50% 50%,#ae1747 0%,#16000e 53%,#000 90%);animation:v20-secret-pulse .36s infinite alternate}.v20-secret .v20-cinema-halo{background:repeating-linear-gradient(90deg,transparent 0 18px,#f20b5733 19px 21px,transparent 21px 68px);filter:none;animation:v20-flicker .14s steps(2) infinite}.v20-secret .v20-sigil-ring{border-color:#ff2d66;box-shadow:0 0 66px #ff1c6b}.v20-secret .v20-glass-core{display:none}.v20-secret .v20-giant-rank{opacity:1;color:#fff;text-shadow:4px 0 #ff1345,-4px 0 #54ffff,0 0 55px #ff1252;font-size:clamp(50px,17vw,100px);animation:v20-secret-glitch .32s steps(2) infinite}.v20-secret .v20-cinema-beast{opacity:1;animation:v20-beast-rise 1s ease-out both;filter:brightness(.4) sepia(1) saturate(4) hue-rotate(305deg) drop-shadow(0 0 50px #f61547)}.v20-secret .v20-cinema-caption h2{color:#ff96ad}
/* Rare result: replace timid 'rank flash' with a standalone huge top-of-screen rarity bar */
#gacha-root .sg-ur .v19-reveal-rank-flash,#gacha-root .sg-ssr .v19-reveal-rank-flash{top:calc(72px + env(safe-area-inset-top));font:bold clamp(16px,5vw,23px) Georgia,serif;letter-spacing:.08em;padding:9px 3px;color:#fff4c9;background:linear-gradient(90deg,transparent,#9e672d70,transparent);text-shadow:0 0 30px #ffed8c}
#gacha-root .sg-ur{background:radial-gradient(ellipse at 50% 42%,#75520f,#200f20 63%,#05070c)}
/* Evolution: each phase an actual DIFFERENT FULLSCREEN shot, before/after no side-by-side */
.v20-evo-veil{position:fixed!important;inset:0;z-index:350!important;padding:0!important;margin:0!important;display:block!important;overflow:hidden!important;background:#040617;color:#fff;font-family:Georgia,'Yu Mincho','Hiragino Mincho ProN',serif;isolation:isolate}
.v20-evo-bg,.v20-evo-haze,.v20-evo-flash{position:absolute;inset:0;pointer-events:none}.v20-evo-bg{background:linear-gradient(180deg,#02040fa1,#040514aa),url('assets/summon_chamber.webp') center / cover no-repeat;filter:brightness(.6) hue-rotate(25deg);transform:scale(1.1);animation:v20-scene-push 3.3s ease-out both}.v20-evo-haze{background:radial-gradient(ellipse at 50% 39%,color-mix(in srgb,var(--v20-evo-accent),transparent 55%),transparent 63%);animation:v20-halo .7s ease-in-out infinite alternate}.v20-evo-flash{z-index:15;opacity:0;background:#fff;pointer-events:none}
.v20-evo-top{position:absolute;top:calc(40px + env(safe-area-inset-top));left:8px;right:8px;z-index:11;text-align:center;display:grid;gap:5px;text-shadow:0 2px 13px #000}.v20-evo-top span{font:900 14px Georgia,serif;letter-spacing:.17em;color:#ffe2a6}.v20-evo-top b{font-size:9px;letter-spacing:.25em;color:#e2d5f2}
.v20-evo-orbit{position:absolute;left:0;right:0;top:11%;height:57%;display:grid;place-items:center;z-index:3;isolation:isolate}
.v20-evo-halo{position:absolute;width:min(94vw,430px);aspect-ratio:1;border-radius:50%;border:3px double var(--v20-evo-accent);box-shadow:0 0 53px color-mix(in srgb,var(--v20-evo-accent),transparent 30%),inset 0 0 60px #fff2;animation:v20-ring-turn 7s linear infinite}.v20-evo-halo.inner{width:min(65vw,320px);border-style:dashed;animation-direction:reverse;animation-duration:4s}
.v20-evo-before,.v20-evo-after{position:absolute;top:0;height:100%;width:min(92vw,450px);object-fit:contain;-webkit-mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 41%,transparent 83%);mask-image:radial-gradient(ellipse 80% 80% at 50% 50%,#000 41%,transparent 83%)}
.v20-evo-before{opacity:1;transform:scale(.85);filter:drop-shadow(0 0 18px var(--v20-evo-accent))}.v20-evo-after{opacity:0;transform:scale(.25);filter:brightness(8)}
.v20-evo-lightning{position:absolute;z-index:5;font-size:clamp(110px,38vw,190px);color:#fff;opacity:0;text-shadow:0 0 36px var(--v20-evo-accent),0 0 90px #fff}
.v20-evo-shattered{position:absolute;inset:0;pointer-events:none}.v20-evo-shattered i{position:absolute;top:50%;left:50%;width:8px;height:90px;background:linear-gradient(transparent,#fff,transparent);transform:rotate(var(--rotation));opacity:0}
.v20-evo-narrative{position:absolute;z-index:16;bottom:calc(92px + env(safe-area-inset-bottom));left:10px;right:10px;text-align:center;text-shadow:0 3px 15px #000c}.v20-evo-ornament{font-size:9px;letter-spacing:.12em;color:#e5d1f1}.v20-evo-message{color:#fff2cf;font-size:18px;font-weight:900;margin:10px 0 6px}.v20-evo-name-before{color:#c2b8c7;font-size:15px}.v20-evo-title,.v20-evo-newname,.v20-evo-stats,.v20-evo-newskill{display:none}.v20-evo-title small{font:900 9px Georgia,serif;letter-spacing:.16em;display:block;margin-bottom:8px}.v20-evo-title b{font-size:clamp(35px,12vw,59px);color:#fff4cd;text-shadow:0 0 30px var(--v20-evo-accent)}.v20-evo-newname{font-size:clamp(25px,8vw,40px);line-height:1.1;color:#fff8e7;margin:7px 0 5px}.v20-evo-stats{justify-content:center;gap:6px;align-items:stretch;margin:10px auto 9px;max-width:430px}.v20-evo-stats span{background:#090d1bd9;border:1px solid #f5dba96b;border-radius:9px;padding:8px 7px;flex:1}.v20-evo-stats small{display:block;color:#dcc7aa;font-size:8px;letter-spacing:.06em}.v20-evo-stats b{font-size:clamp(16px,5vw,22px);color:#adffd9}.v20-evo-newskill{margin:8px auto 0;max-width:450px;padding:9px;border:1px solid #f9d1888a;background:#131024bb;border-radius:9px}.v20-evo-newskill small{font-size:8px;display:block;color:#ffdfa4;letter-spacing:.1em}.v20-evo-newskill b{font-size:12px;color:#fff2d2}
.v20-evo-controls{position:absolute;z-index:20;left:12px;right:12px;bottom:calc(21px + env(safe-area-inset-bottom));display:flex;justify-content:center;gap:8px}.v20-evo-controls button{border:1px solid #e9ca9a88;border-radius:26px;padding:12px 18px;background:#090e1bdc;color:#fff3d9;font-size:11px;font-weight:850}.v20-evo-controls [data-v20-evo-action="replay"],.v20-evo-controls .v20-evo-finish{display:none}
.v20-evo-veil[data-phase="fracture"] .v20-evo-flash{animation:v20-flash .6s both}.v20-evo-veil[data-phase="fracture"] .v20-evo-before{animation:v20-old-disintegrate .76s ease-in forwards}.v20-evo-veil[data-phase="fracture"] .v20-evo-lightning{opacity:1;animation:v20-rank-slam .65s ease-out both}.v20-evo-veil[data-phase="fracture"] .v20-evo-shattered i{animation:v20-evo-sparks .7s ease-out both}
.v20-evo-veil[data-phase="morph"] .v20-evo-bg{filter:brightness(.98)}.v20-evo-veil[data-phase="morph"] .v20-evo-before{opacity:0}.v20-evo-veil[data-phase="morph"] .v20-evo-after{animation:v20-new-creature-arrive 1.3s ease-out forwards}.v20-evo-veil[data-phase="morph"] .v20-evo-message{font-size:25px}.v20-evo-veil[data-phase="morph"] .v20-evo-name-before{display:none}
.v20-evo-veil[data-phase="complete"] .v20-evo-bg{filter:brightness(.85) hue-rotate(-20deg)}.v20-evo-veil[data-phase="complete"] .v20-evo-halo{box-shadow:0 0 69px var(--v20-evo-accent),inset 0 0 35px #fff4}.v20-evo-veil[data-phase="complete"] .v20-evo-before{opacity:0}.v20-evo-veil[data-phase="complete"] .v20-evo-after{opacity:1;transform:scale(.94);filter:drop-shadow(0 0 24px var(--v20-evo-accent));animation:v20-form-hover 3.5s ease-in-out infinite alternate}.v20-evo-veil[data-phase="complete"] .v20-evo-orbit{top:8%;height:45%}.v20-evo-veil[data-phase="complete"] .v20-evo-halo{width:min(76vw,350px)}.v20-evo-veil[data-phase="complete"] .v20-evo-halo.inner{width:min(55vw,260px)}
.v20-evo-veil[data-phase="complete"] .v20-evo-narrative{bottom:calc(88px + env(safe-area-inset-bottom))}.v20-evo-veil[data-phase="complete"] .v20-evo-ornament,.v20-evo-veil[data-phase="complete"] .v20-evo-name-before,.v20-evo-veil[data-phase="complete"] .v20-evo-message{display:none}.v20-evo-veil[data-phase="complete"] .v20-evo-title,.v20-evo-veil[data-phase="complete"] .v20-evo-newname,.v20-evo-veil[data-phase="complete"] .v20-evo-newskill{display:block;animation:v20-reveal-in .45s both}.v20-evo-veil[data-phase="complete"] .v20-evo-stats{display:flex;animation:v20-reveal-in .65s both}.v20-evo-veil[data-phase="complete"] .v20-evo-controls [data-v20-evo-action="skip"]{display:none}.v20-evo-veil[data-phase="complete"] .v20-evo-controls [data-v20-evo-action="replay"],.v20-evo-veil[data-phase="complete"] .v20-evo-controls .v20-evo-finish{display:block}.v20-evo-veil[data-phase="complete"] .v20-evo-controls .v20-evo-finish{background:linear-gradient(125deg,#ffdf96,#d59f5b);border-color:#fff0c8;color:#251627;font-weight:950}
body:has(.v20-evo-veil) #v18-haruno-scene,body:has(.v20-evo-veil) #guide-trigger{display:none!important}
@media(max-height:750px){.v20-cinema-caption{bottom:calc(82px + env(safe-area-inset-bottom))}.v20-cinema-arena{inset:4% 0 24%}.v20-cinema-skip{bottom:calc(19px + env(safe-area-inset-bottom))}.v20-evo-orbit{height:50%;top:8%}.v20-evo-veil[data-phase="complete"] .v20-evo-orbit{top:6%;height:38%}.v20-evo-veil[data-phase="complete"] .v20-evo-narrative{bottom:calc(68px + env(safe-area-inset-bottom))}.v20-evo-veil[data-phase="complete"] .v20-evo-title b{font-size:31px}.v20-evo-veil[data-phase="complete"] .v20-evo-title small{margin-bottom:3px}.v20-evo-stats{margin:5px 0 6px}.v20-evo-stats span{padding:5px}.v20-evo-newskill{margin:5px 0 0;padding:6px}.v20-evo-controls{bottom:calc(10px + env(safe-area-inset-bottom))}}
@media(max-width:350px){.v20-cinema-caption h2{font-size:27px}.v20-evo-controls button{padding:10px 12px}.v20-evo-veil[data-phase="complete"] .v20-evo-title b{font-size:29px}}
@media(prefers-reduced-motion:reduce){.v20-cinema *,.v20-evo-veil *{animation-duration:.01ms!important;animation-iteration-count:1!important}}
@keyframes v20-scene-push{from{transform:scale(1.17)}to{transform:scale(1)}}
@keyframes v20-halo{to{opacity:.52;transform:scale(1.08)}}@keyframes v20-ring-turn{to{transform:rotate(360deg)}}
@keyframes v20-crystal-breathe{to{transform:scale(1.14) rotate(5deg);filter:brightness(1.4)}}
@keyframes v20-flash{0%{opacity:.98}15%{opacity:.14}24%{opacity:.95}52%{opacity:.3}100%{opacity:0}}
@keyframes v20-break-crystal{0%{transform:scale(.8);opacity:1}40%{transform:scale(1.65);filter:brightness(8)}100%{transform:scale(3.5) rotate(30deg);opacity:0}}
@keyframes v20-crack-draw{0%{stroke-dashoffset:1200;stroke-width:1}50%{stroke-width:7}100%{stroke-dashoffset:0;stroke-width:2}}
@keyframes v20-shard-explode{0%{opacity:1;transform:rotate(var(--angle)) translateX(0) scale(.2)}100%{opacity:0;transform:rotate(var(--angle)) translateX(min(65vw,300px)) scale(1)}}
@keyframes v20-rank-slam{0%{opacity:0;transform:translate(-50%,-50%) scale(5);filter:blur(16px)}45%{opacity:1;transform:translate(-50%,-50%) scale(.88);filter:blur(0)}100%{opacity:1;transform:translate(-50%,-50%) scale(1);filter:blur(0)}}
@keyframes v20-ascend-background{from{opacity:0;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}
@keyframes v20-beast-rise{0%{opacity:0;transform:translate(-50%,100px) scale(.25);filter:brightness(0)}45%{opacity:.4;filter:brightness(0) drop-shadow(0 0 30px #ffdb83)}100%{opacity:1;transform:translate(-50%,0) scale(1);filter:drop-shadow(0 0 33px #ffdd7c)}}
@keyframes v20-secret-pulse{to{filter:brightness(1.9)}}@keyframes v20-flicker{to{opacity:.3}}@keyframes v20-secret-glitch{0%{transform:translate(-51%,-50%)}50%{transform:translate(-48%,-52%)}100%{transform:translate(-50%,-50%)}}
@keyframes v20-old-disintegrate{0%{opacity:1;transform:scale(.85);filter:brightness(1)}50%{opacity:1;transform:scale(1.15);filter:brightness(9)}100%{opacity:0;transform:scale(1.7) rotate(8deg);filter:brightness(12) blur(13px)}}
@keyframes v20-evo-sparks{0%{opacity:1;transform:rotate(var(--rotation)) translateY(-30px) scale(.2)}100%{opacity:0;transform:rotate(var(--rotation)) translateY(-210px) scale(1.6)}}
@keyframes v20-new-creature-arrive{0%{opacity:0;transform:scale(.3);filter:brightness(13) blur(13px)}35%{opacity:.85;transform:scale(1.35);filter:brightness(5)}100%{opacity:1;transform:scale(.94);filter:drop-shadow(0 0 28px #e9ddff)}}
@keyframes v20-form-hover{to{transform:scale(.99) translateY(-7px)}}@keyframes v20-reveal-in{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:none}}

/* Blend the original rectangular art into a cinematic silhouette without square edges. */
.v20-cinema-beast{mix-blend-mode:screen;-webkit-mask-image:radial-gradient(ellipse 66% 60% at 50% 49%,#000 35%,#000c 55%,transparent 87%);mask-image:radial-gradient(ellipse 66% 60% at 50% 49%,#000 35%,#000c 55%,transparent 87%)}

/* Individual transparent gacha portrait; preserve creature silhouette instead of the old square artwork. */
.v20-cinema-beast{mix-blend-mode:normal;-webkit-mask-image:none;mask-image:none}
.v20-surge .v20-cinema-beast{top:20%;height:55dvh;opacity:1;filter:drop-shadow(0 0 35px #ffdd8c) drop-shadow(0 0 56px #ff9a26)}
.v20-secret .v20-cinema-beast{top:20%;height:53dvh}
/* Reveal the monster early enough that it remains visible for most of the UR/SECRET sequence. */
.v20-surge .v20-cinema-beast,.v20-secret .v20-cinema-beast{animation:v20-beast-rise .65s cubic-bezier(.15,.78,.25,1) both}
