/* SAKATA MONSTERS V22 - REBIRTH CINEMATIC
   Intent: a collectible that looks dimensional, an uninterrupted theatre, and an evolution gallery.
   Keep visuals separate from V21.1's save/draw logic. */
:root{--v22-gold:#e9c785;--v22-ink:#050917}
#gacha-root .v22-ready,#gacha-root .v22-cinema{position:fixed!important;inset:0!important;width:100vw!important;height:100dvh!important;overflow:hidden!important;z-index:1000!important;background:#050912!important;color:#f8e8c5!important;font-family:'Hiragino Mincho ProN','Yu Mincho',Georgia,serif!important;isolation:isolate!important;user-select:none;-webkit-user-select:none;touch-action:pan-y}
.v22-ready *, .v22-cinema *,.v22-evo-veil *{box-sizing:border-box}
#gacha-root .v22-ready-bg,.v22-ready-mist,.v22-ready-beam{position:absolute;inset:0;pointer-events:none}
#gacha-root .v22-ready-bg{background:linear-gradient(180deg,#050717d0 0%,#0a11222d 31%,#080b1e41 53%,#050716ee 91%),url('assets/v22/summoning_hall.webp') center 46%/cover no-repeat;filter:contrast(1.15) saturate(1.2);transform:scale(1.08);animation:v22-scene-drift 13s ease-in-out infinite alternate}
.v22-ready-mist{background:radial-gradient(ellipse at 50% 42%,#9063d742,transparent 42%),radial-gradient(ellipse at 46% 78%,#cba05822,transparent 60%);mix-blend-mode:screen;animation:v22-breathe 3.1s ease-in-out infinite alternate}
.v22-ready-beam{left:45%;right:45%;width:10%;background:linear-gradient(#e8d69d44,transparent 54%);filter:blur(17px);transform:scaleX(3)}
.v22-ready-head{position:absolute;top:calc(18px + env(safe-area-inset-top));left:12px;right:12px;z-index:9;text-align:center;text-shadow:0 5px 18px #000}
.v22-ready-head span{display:block;font:700 clamp(21px,6.5vw,31px) Georgia,serif;letter-spacing:.12em;color:#f5d7a0;line-height:1.2}
.v22-ready-head em{font-style:normal;color:#dfc9ff}
.v22-ready-head small{display:block;font-size:9px;letter-spacing:.33em;margin-top:5px;color:#dbcfae}
#gacha-root .v22-close{position:absolute;top:calc(14px + env(safe-area-inset-top));right:12px;z-index:20;border:1px solid #e9d5aa6d;border-radius:50%;background:#0c1024c9;color:#fceacb;font:26px/1 Arial,sans-serif;width:40px;height:40px;padding:0}
#gacha-root .v22-speed{position:absolute;top:calc(79px + env(safe-area-inset-top));right:12px;z-index:20;background:#090c1ecc!important;border:1px solid #e3c58a76!important;border-radius:24px;color:#eddfc8;padding:9px 14px;font:12px sans-serif}
.v22-stage-label{position:absolute;left:0;right:0;top:calc(112px + env(safe-area-inset-top));z-index:4;text-align:center;color:#d6cae9;font-size:11px;letter-spacing:.13em;text-shadow:0 4px 16px #000}
#gacha-root .v22-ritual-space{position:absolute!important;inset:14% 0 32%!important;z-index:3;touch-action:none;cursor:grab;--pulldown:0px;perspective:780px;filter:drop-shadow(0 5px 22px #050411)}
#gacha-root .v22-ritual-space:active{cursor:grabbing}
.v22-outer-halo,.v22-inner-halo,.v22-ritual-orbit{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);width:min(100vw,470px);aspect-ratio:1;border:2px solid #e3c27f68;border-radius:50%;box-shadow:0 0 31px #b885e343,inset 0 0 29px #dabd9133;pointer-events:none}
.v22-outer-halo:before,.v22-outer-halo:after{content:'';position:absolute;border:2px dashed #f2d6a45d;border-radius:50%;inset:7%;animation:v22-rotor 35s linear infinite}
.v22-outer-halo:after{inset:14%;border-style:dotted;animation-direction:reverse;animation-duration:20s}
.v22-inner-halo{width:min(72vw,340px);top:44%;border:1px solid #c5abe177;animation:v22-orbit-bob 6s ease-in-out infinite alternate}
.v22-arc{position:absolute;left:50%;top:44%;width:min(86vw,380px);height:min(30vw,130px);border:3px solid #e3c18dba;border-radius:50%;box-shadow:0 0 25px #ac8afe77;pointer-events:none}
.v22-arc-one{transform:translate(-50%,-50%) rotate(-26deg);animation:v22-arc-sway 8s ease-in-out infinite alternate}
.v22-arc-two{transform:translate(-50%,-50%) rotate(66deg);animation:v22-arc-sway-2 7s ease-in-out infinite alternate}
.v22-gold-chain{position:absolute;top:18%;width:37%;height:8px;background:repeating-linear-gradient(110deg,#38251e 0 7px,#f9dc9d 8px 12px,#63462a 13px 20px);border-radius:8px;border:1px solid #f5d89c9c;box-shadow:0 0 11px #cda06992,0 4px 4px #000;transform-origin:100% 50%;transition:filter .2s;pointer-events:none}
.v22-gold-chain.left{left:-6%;transform:rotate(26deg)}.v22-gold-chain.right{right:-6%;transform:rotate(-26deg)}
#gacha-root .v22-grab{position:absolute!important;left:50%!important;top:45%!important;width:min(96vw,420px)!important;height:auto!important;aspect-ratio:1!important;margin:0!important;padding:0!important;background:none!important;box-shadow:none!important;filter:drop-shadow(0 0 30px #9e65f3af) drop-shadow(0 10px 25px #02040d)!important;transform:translate3d(-50%,calc(-50% + var(--pulldown)),0) scale(1)!important;transition:filter .15s!important;will-change:transform;z-index:5}
.v22-grab img{display:block;width:100%;height:auto;user-select:none;pointer-events:none;animation:v22-core-float 3.1s ease-in-out infinite alternate}
.v22-core-bloom{position:absolute;inset:27%;border-radius:50%;background:radial-gradient(circle,#ffffff5c,#b16cf341,transparent 71%);mix-blend-mode:screen;filter:blur(11px);pointer-events:none;animation:v22-breathe 2s ease-in-out infinite alternate}
.v22-ritual-space.charged .v22-grab{filter:drop-shadow(0 0 47px #fff1b8) drop-shadow(0 0 80px #ae7de7)!important;animation:v22-tension .09s linear infinite alternate}
.v22-ritual-space.charged .v22-outer-halo{border-color:#fff2c8;box-shadow:0 0 65px #e0bc7fac}
.v22-ritual-space.charged .v22-gold-chain{filter:brightness(1.65)}
.v22-pull-echo{position:absolute;bottom:5%;left:50%;transform:translateX(-50%);font-size:32px;color:#eed1a6;text-shadow:0 0 20px #e6ae8c;opacity:.65;animation:v22-down 1.5s ease-in-out infinite;pointer-events:none}
.v22-energy-floor{position:absolute;bottom:0;left:50%;width:90%;height:18%;border-radius:50%;transform:translateX(-50%) perspective(180px) rotateX(65deg);border:3px solid #e7c785aa;box-shadow:0 0 40px #e8c579,0 0 80px #af77d54a,inset 0 0 70px #8c4ecd61;pointer-events:none}
.v22-ritual-orbit{top:83%;height:13%;width:63%;border:1px dashed #f6d9b6ba;opacity:.53;transform:translateX(-50%) perspective(160px) rotateX(75deg)}
.v22-ready-bottom{position:absolute;z-index:11;left:16px;right:16px;bottom:calc(17px + env(safe-area-inset-bottom));padding:15px 14px 11px;border-radius:24px 24px 12px 12px;border:1px solid #d5b68a7d;background:linear-gradient(180deg,#0b1227e4,#060c19ed);box-shadow:0 -13px 47px #0304119c,0 0 20px #b6904f22;text-align:center;backdrop-filter:blur(17px)}
.v22-line{display:flex;justify-content:space-between;align-items:center;gap:8px;font:10px sans-serif;color:#dfcda7;margin-bottom:7px}
.v22-line span:last-child{color:#c9c3db;text-align:right}
#gacha-root .v22-pressure{height:6px!important;width:100%!important;margin:0 0 10px!important;background:#251c33!important;border:1px solid #a88c7e66!important;border-radius:8px!important;overflow:hidden!important}
#gacha-root #sg-force-fill{height:100%;width:0;background:linear-gradient(90deg,#725adb,#d8b1fc,#ffe5a2)!important;box-shadow:0 0 15px #ddaffb}
.v22-ready-bottom h2{margin:0;color:#ffebbd;font:700 clamp(18px,5.3vw,25px) 'Yu Mincho',Georgia,serif;letter-spacing:.04em}
.v22-ready-bottom p{margin:5px 0 12px;font:12px sans-serif;color:#ddced5}
#gacha-root .v22-summon-btn{width:100%;max-width:380px;margin:0 auto;display:block;padding:14px 12px;background:linear-gradient(135deg,#fce5b1,#b895ed 55%,#e2d2a3)!important;border:1px solid #f6eac7!important;border-radius:16px;color:#191322!important;font:bold 16px 'Yu Mincho',Georgia,serif;letter-spacing:.04em;box-shadow:0 5px 20px #b58bee68!important}
.v22-ready-footer{display:flex;justify-content:space-between;margin-top:10px;gap:9px;font:10px sans-serif;color:#d9c598}.v22-ready-footer span{opacity:.7}
.v22-haruno-brief{position:absolute;left:0;bottom:calc(240px + env(safe-area-inset-bottom));z-index:8;display:flex;align-items:center;max-width:55%;filter:drop-shadow(0 6px 15px #000)}
.v22-haruno-brief img{width:60px;height:86px;object-fit:contain;object-position:bottom}
.v22-haruno-brief span{padding:8px 9px;background:#080a16d6;border:1px solid #ecd9b882;color:#fff0d6;font:10px/1.5 sans-serif;border-radius:9px;max-width:126px}
/* The contiguous summon film. Only phase classes move the same world objects. */
#gacha-root .v22-cinema{background:#070a16!important;touch-action:pan-y}
.v22-film-world,.v22-film-bg,.v22-film-fog,.v22-film-columns,.v22-cinema-front,.v22-cinematic-light,.v22-cinema-impact{position:absolute;inset:0;pointer-events:none}
.v22-film-world{transform:scale(1.06);transition:transform 1.7s cubic-bezier(.2,.75,.2,1),filter 1.2s}
.v22-film-bg{background:linear-gradient(180deg,#080a1a72,#06081c1a 32%,#05061470 79%,#060714d9),url('assets/v22/summoning_hall.webp') center 46%/cover no-repeat;filter:contrast(1.25) saturate(1.16)}
.v22-film-fog{background:radial-gradient(ellipse at 50% 40%,#8660cd51,transparent 44%),radial-gradient(ellipse at 50% 83%,#dcb37836,transparent 52%);mix-blend-mode:screen;animation:v22-breathe 4s ease-in-out infinite alternate}
.v22-film-columns{background:linear-gradient(90deg,#000a,transparent 20% 79%,#0009),linear-gradient(180deg,#040617c7,transparent 20% 70%,#040517cc)}
.v22-scene-ring-back,.v22-scene-ring-front{position:absolute;left:50%;top:42%;width:min(102vw,490px);aspect-ratio:1;border:2px solid #e1bf8f7a;border-radius:50%;transform:translate(-50%,-50%);box-shadow:0 0 27px #af80e44b,inset 0 0 31px #a780e444;animation:v22-ring-spin 30s linear infinite;pointer-events:none}
.v22-scene-ring-back:before{content:'✧　ᚱ　✧　ᛟ　✧　ᚷ　✧';position:absolute;inset:6%;border:2px dashed #e6ca987a;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:14px;letter-spacing:.7em;color:#ffedc8ab}
.v22-scene-ring-front{width:min(71vw,340px);border:1px solid #eac0da9a;animation-direction:reverse;animation-duration:17s}
.v22-gate{position:absolute;left:50%;top:43%;width:min(76vw,380px);height:47vh;transform:translate(-50%,-50%);perspective:750px;pointer-events:none;z-index:1;opacity:.8}
.v22-gate-left,.v22-gate-right{position:absolute;top:0;height:100%;width:50%;background:linear-gradient(95deg,#141a37eb,#473359c5,#0d0d20ea);border:3px solid #d5b4827a;box-shadow:inset 0 0 36px #100b1d,0 0 22px #b588eb66;transition:transform 1.3s cubic-bezier(.16,.8,.22,1),opacity .95s;opacity:.55}
.v22-gate-left{left:0;border-radius:47% 0 0 4px / 12% 0 0 4px;transform-origin:left center}.v22-gate-right{right:0;border-radius:0 47% 4px 0 / 0 12% 4px 0;transform-origin:right center}
.v22-cinema-core{position:absolute;z-index:6;top:39%;left:50%;width:min(93vw,430px);aspect-ratio:1;transform:translate(-50%,-50%) scale(1);transition:opacity .65s,filter .6s,transform .9s cubic-bezier(.15,.85,.1,1);filter:drop-shadow(0 0 32px #b06ae39a);pointer-events:none}
.v22-cinema-core>img{display:block;width:100%;height:100%;object-fit:contain;animation:v22-core-float 3.7s ease-in-out infinite alternate}
.v22-core-light{position:absolute;inset:27%;background:radial-gradient(circle,#fff7be88,#b87ce359,transparent);mix-blend-mode:screen;filter:blur(17px);animation:v22-breathe 1.1s alternate infinite}
.v22-cinema-beast{position:absolute;z-index:7;left:50%;top:42%;height:min(54dvh,530px);width:min(99vw,500px);transform:translate(-50%,-30%) scale(.35);opacity:0;transition:opacity .65s,transform 1.5s cubic-bezier(.2,.8,.2,1),filter 1.1s;pointer-events:none;filter:brightness(.02)}
.v22-cinema-beast img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 12px 23px #0009);-webkit-mask-image:radial-gradient(ellipse 66% 65% at 50% 53%,black 55%,transparent 98%);mask-image:radial-gradient(ellipse 66% 65% at 50% 53%,black 55%,transparent 98%)}
.v22-beast-aura{position:absolute;inset:10%;border-radius:50%;background:radial-gradient(ellipse,#5e91f178,transparent 71%);filter:blur(26px);animation:v22-breathe 1.8s alternate infinite}
.v22-cinematic-light{background:linear-gradient(180deg,#ead8ab4b,transparent 46%);clip-path:polygon(49% 0,51% 0,95% 100%,5% 100%);filter:blur(17px);opacity:.3;z-index:2;transition:opacity .7s}
.v22-cinema-front{z-index:9;background:linear-gradient(180deg,#050614ad,transparent 18% 60%,#030611ee 100%),linear-gradient(90deg,#020410a8,transparent 13% 87%,#020410a8)}
.v22-cinema-impact{z-index:8;opacity:0;background:radial-gradient(ellipse at 50% 45%,#fff6d7,transparent 55%);mix-blend-mode:screen;transition:opacity .17s}
.v22-cinema-header{position:absolute;top:calc(19px + env(safe-area-inset-top));left:9px;right:9px;z-index:14;text-align:center;text-shadow:0 5px 16px #000}.v22-cinema-header span{font:700 23px Georgia,serif;letter-spacing:.15em;color:#f5dbad}.v22-cinema-header small{display:block;font:12px sans-serif;letter-spacing:.1em;color:#d9c9d9;margin-top:6px}
.v22-beatline{z-index:15!important;top:calc(89px + env(safe-area-inset-top))!important;left:8%!important;right:8%!important;bottom:auto!important;display:flex;gap:4px}
.v22-beatline i{height:3px!important;flex:1;background:#ffffff2d;border-radius:8px}.v22-beatline i.done{background:linear-gradient(90deg,#a778e8,#f9e1a5)!important;box-shadow:0 0 9px #dcbe8a77}
.v22-rarity-announcement{position:absolute;left:0;right:0;top:35%;z-index:10;text-align:center;display:flex;flex-direction:column;align-items:center;opacity:0;transform:translateY(35px) scale(1.2);pointer-events:none;text-shadow:0 4px 18px #000;transition:opacity .3s,transform .48s}
.v22-rarity-announcement small{font:10px Georgia,serif;letter-spacing:.24em;color:#fff2cd}.v22-rarity-announcement strong{font:900 clamp(68px,24vw,118px) Georgia,serif;letter-spacing:.12em;line-height:1.1;background:linear-gradient(#fff2bf 15%,#d0a85e 46%,#fffad9 70%,#dba667);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 6px 6px #090811)}.v22-rarity-announcement span{font:13px sans-serif;color:#fff4d1}
.v22-story-sub{position:absolute!important;bottom:calc(110px + env(safe-area-inset-bottom))!important;top:auto!important;left:14px!important;right:14px!important;z-index:14;text-align:center}.v22-story-sub p{color:#fbe7c1!important;text-shadow:0 4px 10px #000;font-size:14px;letter-spacing:.08em}
.v22-cinema-haruno{z-index:13!important;bottom:calc(168px + env(safe-area-inset-bottom))!important;top:auto!important;left:4px!important;transform:none!important;max-width:72vw!important;opacity:1}.v22-cinema-haruno img{width:55px!important;height:75px!important;object-fit:contain!important}.v22-cinema-haruno span{font:10px/1.5 sans-serif!important;padding:8px 9px!important;background:#0a1023d9!important;color:#fff6df!important;border:1px solid #d3c09b70!important;border-radius:10px!important}
.v22-cinema-skip{position:absolute!important;bottom:calc(16px + env(safe-area-inset-bottom))!important;right:12px!important;top:auto!important;z-index:18!important;border:1px solid #e7cb946e!important;border-radius:22px!important;background:#060b1dcf!important;color:#f9e4ba!important;padding:11px 16px!important;font:12px sans-serif!important}
.v22-preview-tag{position:absolute;bottom:calc(17px + env(safe-area-inset-bottom));left:10px;z-index:14;color:#decfb2;font:9px sans-serif;letter-spacing:.09em}
.v22-cinema[data-phase="seals"] .v22-cinema-core{transform:translate(-50%,-50%) scale(1.11);filter:drop-shadow(0 0 32px #c58dff)}
.v22-cinema[data-phase="fracture"] .v22-cinema-core{animation:v22-shudder .12s linear infinite alternate;filter:drop-shadow(0 0 46px #f2c8fe)}
.v22-cinema[data-phase="silence"] .v22-film-world{filter:brightness(.5)}
.v22-cinema[data-phase="silence"] .v22-cinema-core{filter:brightness(.27) drop-shadow(0 0 15px #9971ce)}
.v22-cinema[data-phase="silence"] .v22-cinematic-light{opacity:.03}
.v22-cinema[data-phase="secret"] .v22-film-world{filter:hue-rotate(92deg) brightness(.57)}
.v22-cinema[data-phase="secret"] .v22-cinema-core{filter:hue-rotate(80deg) contrast(1.5) drop-shadow(0 0 44px #e23252)}
.v22-cinema[data-phase="ascension"] .v22-cinema-core{filter:hue-rotate(-27deg) brightness(1.27) drop-shadow(0 0 55px #e3b3f8)}
.v22-cinema[data-phase="shatter"] .v22-cinema-core{animation:v22-core-break 1.05s cubic-bezier(.25,.6,.35,1) both!important}
.v22-cinema[data-phase="shatter"] .v22-cinema-impact{animation:v22-white-hit .8s ease-out both}
.v22-cinema[data-phase="shatter"] .v22-gate-left{transform:rotateY(-78deg);opacity:.6}.v22-cinema[data-phase="shatter"] .v22-gate-right{transform:rotateY(78deg);opacity:.6}
.v22-cinema[data-phase="entrance"] .v22-gate-left,.v22-cinema[data-phase="landing"] .v22-gate-left,.v22-cinema[data-phase="identity"] .v22-gate-left,.v22-cinema[data-phase="standard"] .v22-gate-left{transform:rotateY(-85deg);opacity:.16}
.v22-cinema[data-phase="entrance"] .v22-gate-right,.v22-cinema[data-phase="landing"] .v22-gate-right,.v22-cinema[data-phase="identity"] .v22-gate-right,.v22-cinema[data-phase="standard"] .v22-gate-right{transform:rotateY(85deg);opacity:.16}
.v22-cinema[data-phase="entrance"] .v22-cinema-core,.v22-cinema[data-phase="landing"] .v22-cinema-core,.v22-cinema[data-phase="identity"] .v22-cinema-core,.v22-cinema[data-phase="standard"] .v22-cinema-core{opacity:0;transform:translate(-50%,-50%) scale(2.2)}
.v22-cinema[data-phase="entrance"] .v22-cinema-beast{opacity:.85;transform:translate(-50%,-46%) scale(.86);filter:brightness(.08) drop-shadow(0 0 50px #849dff)}
.v22-cinema[data-phase="landing"] .v22-cinema-beast{opacity:1;transform:translate(-50%,-53%) scale(1.08);filter:brightness(1.05) drop-shadow(0 0 31px #a6bdff);animation:v22-land 1.1s cubic-bezier(.1,.8,.2,1)}
.v22-cinema[data-phase="landing"] .v22-film-world{transform:scale(1.15)}
.v22-cinema[data-phase="identity"] .v22-cinema-beast,.v22-cinema[data-phase="standard"] .v22-cinema-beast{opacity:1;transform:translate(-50%,-56%) scale(.99);filter:brightness(.95) contrast(1.05) drop-shadow(0 0 26px #b1bcf4)}
.v22-cinema[data-phase="identity"] .v22-cinema-haruno,.v22-cinema[data-phase="standard"] .v22-cinema-haruno{opacity:0;pointer-events:none}
.v22-reward-panel{position:absolute!important;top:auto!important;bottom:calc(85px + env(safe-area-inset-bottom))!important;left:15px!important;right:15px!important;padding:14px 14px!important;text-align:center!important;transform:none!important;background:linear-gradient(180deg,#07122ac9,#070c1aef)!important;border:1px solid #efce936e!important;border-radius:19px!important;box-shadow:0 5px 50px #000d,0 0 30px #ad7bd32b!important;z-index:16!important;backdrop-filter:blur(15px)!important}
.v22-reward-panel[hidden]{display:none!important}
.v22-reward-panel span{display:block;font:10px Georgia,serif;letter-spacing:.18em;color:#f9d8a0}.v22-reward-panel h2{font:700 27px 'Yu Mincho',Georgia,serif!important;color:#ffedc3!important;margin:4px 0!important}.v22-reward-panel p{font:11px sans-serif;color:#d9d3cf;margin:0 0 8px!important}
.v22-reward-panel button{width:100%;padding:11px 13px!important;border:1px solid #fae1a8!important;border-radius:13px!important;background:linear-gradient(100deg,#fce2a3,#c4a5e4)!important;color:#151326!important;font-weight:bold!important}
/* The Evolution Ritual is a gallery event, not a pile of text over a cropped illustration. */
.v22-evo-veil.v20-evo-veil{position:fixed!important;inset:0!important;z-index:9000!important;display:block!important;overflow:hidden!important;background:#061c22!important;color:#fbeacf!important;isolation:isolate}
.v22-evo-bg,.v22-evo-drift,.v22-evo-mandala{position:absolute;inset:0;pointer-events:none}
.v22-evo-bg{background:linear-gradient(180deg,#082122b8 0%,#072a2954 35%,#0b1e24c7 100%),url('assets/v22/awakening_grove.webp') center 46%/cover no-repeat;filter:saturate(1.05) contrast(1.03)}
.v22-evo-drift{background:radial-gradient(ellipse at 50% 40%,#fff0bd44,transparent 40%),radial-gradient(ellipse at 50% 70%,#72cfaf3a,transparent 63%);animation:v22-breathe 5s ease-in-out infinite alternate}
.v22-evo-mandala{position:absolute;left:50%;top:41%;width:min(100vw,580px);height:min(100vw,580px);border-radius:50%;border:1px solid #f8d89c6f;box-shadow:0 0 42px #d8c98837,inset 0 0 20px #fded9d3b;transform:translate(-50%,-50%);animation:v22-mandala-spin 45s linear infinite}
.v22-evo-mandala:after{content:'';position:absolute;inset:8%;border:2px dashed #eed3a967;border-radius:50%}
.v22-evo-header{position:absolute;top:calc(18px + env(safe-area-inset-top));left:10px;right:10px;text-align:center;z-index:14;text-shadow:0 4px 17px #000}.v22-evo-header span{display:block;font:700 23px Georgia,serif;letter-spacing:.12em;color:#ffedd2}.v22-evo-header small{display:block;font:10px sans-serif;letter-spacing:.12em;margin-top:6px;color:#dcebd2}
.v22-evo-center{position:absolute;top:calc(94px + env(safe-area-inset-top));left:7px;right:7px;height:calc(100dvh - 306px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:660px;min-height:230px;z-index:5;display:flex;align-items:center;justify-content:center;pointer-events:none}
.v22-evo-backglow{position:absolute;inset:12%;border-radius:50%;background:radial-gradient(ellipse,#ffeab454,#7dc9b123,transparent 70%);filter:blur(21px)}
.v22-evo-center img{position:absolute;inset:0;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:contain!important;object-position:center!important;transform:scale(.94);-webkit-mask-image:none!important;mask-image:none!important;mix-blend-mode:normal!important;filter:brightness(.96) contrast(1.06)!important;transition:opacity 1s ease,transform 1.6s ease,filter 1s ease;pointer-events:none}
.v22-evo-before{opacity:1}.v22-evo-after{opacity:0;transform:scale(.78) translateY(14px)!important}
.v22-evo-veil[data-phase="fracture"] .v22-evo-before{opacity:.65;transform:scale(1.035) rotate(-1.5deg);filter:brightness(.76) contrast(1.2)!important}
.v22-evo-veil[data-phase="morph"] .v22-evo-before,.v22-evo-veil[data-phase="complete"] .v22-evo-before{opacity:0;transform:scale(1.14) translateY(-8px)}
.v22-evo-veil[data-phase="morph"] .v22-evo-after{opacity:1;transform:scale(.94) translateY(0)!important;filter:brightness(.95) contrast(1.06)!important}
.v22-evo-veil[data-phase="complete"] .v22-evo-after{opacity:1;transform:scale(.98) translateY(0)!important;filter:brightness(1) contrast(1.07)!important;animation:v22-evo-gallery-idle 6s ease-in-out infinite alternate}
.v22-evo-sparks{position:absolute;inset:15%;border-radius:50%;background:radial-gradient(circle,#fffef14f,transparent 64%);opacity:0;pointer-events:none}
.v22-evo-veil[data-phase="fracture"] .v22-evo-sparks{opacity:.65;animation:v22-breathe .23s ease-in-out infinite alternate}
.v22-evo-veil[data-phase="morph"] .v22-evo-sparks{animation:v22-soft-wipe 1.5s ease-out both}
.v22-evo-story{position:absolute;z-index:14;left:0;right:0;bottom:calc(80px + env(safe-area-inset-bottom));padding:18px 13px 12px;text-align:center;background:linear-gradient(180deg,transparent,#07171ee8 24%,#061921f4);text-shadow:0 3px 11px #000}
.v22-evo-chapter{font:10px Georgia,serif;letter-spacing:.12em;color:#e9d39f}.v22-evo-live{font:700 22px/1.5 'Yu Mincho',Georgia,serif;color:#fff0bc;margin-top:7px}
.v22-evo-ending{display:none}.v22-evo-ending small{font:10px sans-serif;letter-spacing:.16em;color:#f7dc9b}.v22-evo-ending h2{font:700 clamp(23px,7vw,36px) 'Yu Mincho',Georgia,serif;color:#fff8d8;margin:5px 0 9px}.v22-evo-statline{display:flex;gap:6px;justify-content:center}.v22-evo-statline span{flex:1;min-width:0;border:1px solid #e8d7ab55;padding:6px;border-radius:10px;background:#041923aa;font:11px sans-serif;color:#d5efe0}.v22-evo-statline b{display:block;color:#bdf9db;font:700 18px Georgia,serif;margin-top:3px}.v22-evo-ending p{margin:8px 0 0;color:#e2e6d1;font:11px sans-serif}
.v22-evo-veil[data-phase="complete"] .v22-evo-live,.v22-evo-veil[data-phase="complete"] .v22-evo-chapter{display:none}.v22-evo-veil[data-phase="complete"] .v22-evo-ending{display:block;animation:v22-title-in .9s both}
.v22-evo-controls{position:absolute;z-index:16;bottom:calc(18px + env(safe-area-inset-bottom));left:11px;right:11px;display:flex;justify-content:center;flex-wrap:wrap;gap:8px}
.v22-evo-controls button,.v22-evo-gallery-back{min-width:0;padding:12px 13px;border-radius:12px;border:1px solid #efdda99c;background:#071e2de0;color:#ffedc6;font:12px sans-serif}
.v22-evo-controls .v22-evo-finish{background:linear-gradient(120deg,#f6e2a6,#d0bf83);color:#15272b;border-color:#fff0bf;font-weight:bold}
.v22-evo-controls .v22-evo-replay,.v22-evo-controls .v22-evo-view,.v22-evo-controls .v22-evo-finish{display:none}
.v22-evo-veil[data-phase="complete"] .v22-evo-controls .v22-evo-skip{display:none}
.v22-evo-veil[data-phase="complete"] .v22-evo-controls .v22-evo-replay,.v22-evo-veil[data-phase="complete"] .v22-evo-controls .v22-evo-view,.v22-evo-veil[data-phase="complete"] .v22-evo-controls .v22-evo-finish{display:block}
.v22-evo-gallery-back{display:none;position:absolute;z-index:20;bottom:calc(18px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%)}
.v22-evo-veil.v22-gallery .v22-evo-story,.v22-evo-veil.v22-gallery .v22-evo-controls{display:none!important}
.v22-evo-veil.v22-gallery .v22-evo-center{top:calc(90px + env(safe-area-inset-top));height:calc(100dvh - 152px - env(safe-area-inset-top) - env(safe-area-inset-bottom));max-height:none}
.v22-evo-veil.v22-gallery .v22-evo-gallery-back{display:block}
@keyframes v22-scene-drift{to{transform:scale(1.16) translateY(-1.4%)}}
@keyframes v22-breathe{to{opacity:.43;filter:brightness(1.15)}}
@keyframes v22-core-float{to{transform:translateY(-7px) scale(1.016)}}
@keyframes v22-ring-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes v22-mandala-spin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@keyframes v22-rotor{to{transform:rotate(360deg)}}
@keyframes v22-arc-sway{to{transform:translate(-50%,-50%) rotate(22deg)}}
@keyframes v22-arc-sway-2{to{transform:translate(-50%,-50%) rotate(95deg)}}
@keyframes v22-orbit-bob{to{box-shadow:0 0 34px #ad8bdf,inset 0 0 30px #d3bbab}}
@keyframes v22-down{50%{transform:translate(-50%,12px);opacity:1}}
@keyframes v22-tension{to{transform:translate3d(-49.7%,calc(-50% + var(--pulldown)),0) rotate(.3deg)}}
@keyframes v22-shudder{to{transform:translate(-49.7%,-50%) rotate(.4deg) scale(1.09)}}
@keyframes v22-core-break{0%{opacity:1;transform:translate(-50%,-50%) scale(1)}20%{filter:brightness(1.24) drop-shadow(0 0 60px #f5d4fd)}45%{opacity:1;transform:translate(-50%,-50%) scale(1.17)}100%{opacity:0;transform:translate(-50%,-50%) scale(2.1) rotate(7deg)}}
@keyframes v22-white-hit{0%{opacity:0}12%{opacity:.8}100%{opacity:0}}
@keyframes v22-land{0%{opacity:.7;transform:translate(-50%,-91%) scale(1.42)}55%{opacity:1;transform:translate(-50%,-51%) scale(1.13)}80%{transform:translate(-50%,-54%) scale(1.045)}100%{transform:translate(-50%,-53%) scale(1.08)}}
@keyframes v22-soft-wipe{0%{opacity:0}30%{opacity:.65}100%{opacity:0}}
@keyframes v22-title-in{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:none}}
@keyframes v22-evo-gallery-idle{to{transform:scale(1.01) translateY(-6px)}}
@media(max-height:750px){.v22-haruno-brief{bottom:calc(217px + env(safe-area-inset-bottom))}.v22-ready-bottom{padding:10px 11px}.v22-ready-bottom h2{font-size:18px}.v22-ready-bottom p{margin:4px 0 8px}.v22-ritual-space{inset:13% 0 35%!important}.v22-evo-center{height:calc(100dvh - 270px - env(safe-area-inset-top) - env(safe-area-inset-bottom));top:calc(70px + env(safe-area-inset-top))}.v22-evo-story{bottom:calc(69px + env(safe-area-inset-bottom));padding:10px 9px 9px}.v22-evo-controls{bottom:calc(7px + env(safe-area-inset-bottom))}.v22-evo-controls button{padding:9px 8px}}
@media(max-width:350px){.v22-ready-head span{font-size:20px}.v22-ready-head small{font-size:8px}.v22-stage-label{font-size:9px}.v22-haruno-brief img{width:48px}.v22-ready-bottom p{font-size:10px}.v22-evo-statline span{font-size:10px}.v22-evo-ending h2{font-size:23px}.v22-evo-controls button{font-size:11px;padding:10px 7px}}
@media(prefers-reduced-motion:reduce){.v22-ready *, .v22-cinema *, .v22-evo-veil *{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
/* Responsive override after legacy .sg-access positioning. */
#gacha-root .v22-ready .v22-summon-btn{position:relative!important;inset:auto!important;left:auto!important;right:auto!important;bottom:auto!important;top:auto!important;transform:none!important;margin:0 auto!important;height:auto!important;min-height:50px!important}
#gacha-root .v22-ready .v22-ready-bottom h2{display:block!important;position:relative!important;margin:3px 0 5px!important;opacity:1!important;visibility:visible!important}
#gacha-root .v22-ready .v22-ready-bottom p{display:block!important;position:relative!important;opacity:1!important;visibility:visible!important}
#gacha-root .v22-ready .v22-ready-head{left:44px;right:44px}
#gacha-root .v22-ready .v22-ready-head span{font-size:clamp(19px,5.7vw,27px)!important}
