/* SAKATA Monsters V10 — cinematic summon / robust mobile portrait display */
.sg-hero-beast{filter:drop-shadow(0 0 12px rgba(130,95,211,.4))}
.v10-demo-btn{width:100%;margin-top:13px;background:linear-gradient(135deg,#1e2445,#322550);color:#d3bfff;border:1px solid #6e569b;border-radius:12px;padding:12px;font-size:11px;font-weight:800}
#gacha-root.v10-impact{animation:v10-screen-hit .42s ease-out 1}
@keyframes v10-screen-hit{0%,100%{transform:translate(0,0)}12%{transform:translate(-4px,2px)}24%{transform:translate(5px,-3px)}38%{transform:translate(-3px,2px)}54%{transform:translate(2px,1px)}}
/* Every summon art is shown without brightness/filter animations. Glow is a distinct layer. */
.v10-reveal .sg-reveal-top{z-index:9}
.v10-reveal .sg-backdrop{background:radial-gradient(ellipse at 50% 32%,#2a315c 0%,#14162e 50%,#070b18 100%)}
.v10-reveal.sg-ssr .sg-backdrop{background:radial-gradient(ellipse at 50% 36%,#56356f 0%,#1a1732 50%,#07091b 100%)}
.v10-reveal.sg-ur .sg-backdrop{background:radial-gradient(ellipse at 50% 32%,#76512c 0%,#2e1f35 48%,#080a18 100%)}
.v10-portrait-zone{position:absolute;top:calc(82px + env(safe-area-inset-top));left:4vw;right:4vw;height:min(46dvh,380px);display:grid;place-items:center;isolation:isolate}
.v10-sigil{position:absolute;width:min(82vw,375px);height:min(82vw,375px);border-radius:50%;border:1px solid rgba(190,160,255,.5);box-shadow:0 0 0 16px rgba(177,143,243,.04),0 0 0 34px rgba(169,142,248,.025),inset 0 0 45px rgba(147,104,234,.12);animation:v10-orbit 16s linear infinite;z-index:-2}
.v10-sigil:before,.v10-sigil:after{content:"✦　✧　✦　✧　✦　✧";position:absolute;inset:12px;border:1px dashed rgba(199,172,255,.52);border-radius:50%;color:rgba(228,204,255,.45);font-size:13px;text-align:center;line-height:3;letter-spacing:7px}
.v10-sigil:after{inset:35px;border-style:solid;opacity:.38;content:""}
.v10-character-halo{position:absolute;width:75%;height:76%;border-radius:50%;background:radial-gradient(circle,rgba(128,116,240,.24),transparent 70%);filter:blur(16px);z-index:-1}
.sg-ur .v10-character-halo{background:radial-gradient(circle,rgba(255,200,103,.25),transparent 73%)}
.v10-monster-frame{margin:0;width:100%;height:100%;display:grid;place-items:center;overflow:hidden;position:relative;z-index:2}
.v10-reveal-portrait{display:block;object-fit:contain;object-position:50% 50%;width:100%;height:100%;max-width:430px;max-height:400px;filter:none!important;mix-blend-mode:normal!important;opacity:1;animation:v10-portrait-enter .62s cubic-bezier(.15,1.25,.21,1) both;transform-origin:center 55%;-webkit-backface-visibility:hidden;backface-visibility:hidden;}
@keyframes v10-portrait-enter{from{opacity:0;transform:translateY(24px) scale(.88)}to{opacity:1;transform:translateY(0) scale(1)}}
.v10-burst-lines{position:absolute;inset:0;z-index:-1;border-radius:50%;background:repeating-conic-gradient(from 30deg,rgba(198,156,255,.09) 0 2deg,transparent 2deg 20deg);mask-image:radial-gradient(circle,transparent 25%,black 35%,transparent 78%);animation:v10-orbit 13s linear infinite reverse}
.sg-ur .v10-burst-lines{background:repeating-conic-gradient(from 30deg,rgba(255,219,150,.16) 0 2deg,transparent 2deg 20deg)}
.v10-identity{position:absolute;top:calc(85px + env(safe-area-inset-top) + min(46dvh,380px));left:17px;right:17px;text-align:center;z-index:3;animation:sgFadeUp .5s ease-out both}
.v10-identity .sg-stars{font-size:19px;line-height:1.3}
.v10-identity .sg-reveal-rank{font-size:12px;margin-top:5px}
.v10-identity h2{font-size:clamp(25px,7vw,34px);line-height:1.13;font-weight:950;margin:6px 0 4px;color:#f8f5ff;text-shadow:0 2px 12px #02050d}
.v10-identity p{color:#c9cbe0;font-size:12px;margin:6px 0}
.v10-evo{font-size:10px;line-height:1.4;display:flex;flex-direction:column;gap:4px;align-items:center;color:#abaed0;white-space:normal}
.v10-evo strong{font-size:11px;color:#e8ddff;display:block}
.v10-reveal-foot{bottom:calc(15px + env(safe-area-inset-bottom));gap:3px;z-index:5}
.v10-reveal-foot .sg-continue{padding:13px 10px;min-height:50px}
.v10-reveal-foot .sg-minor{padding:7px}
.v10-results-screen .sg-result-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.v10-results-screen .sg-result-card{padding:5px 2px 7px;border-radius:9px;gap:2px;min-width:0;overflow:hidden}
.v10-results-screen .sg-result-image{height:clamp(60px,19vw,90px);background:radial-gradient(circle,rgba(173,149,244,.13),transparent 75%)}
.v10-results-screen .sg-result-image img{width:100%;height:100%;object-fit:contain;filter:none!important}
.v10-results-screen .sg-result-card>b{font-size:clamp(8px,2.1vw,11px);line-height:1.25;overflow-wrap:anywhere}
.v10-results-screen .sg-result-card small{font-size:8px;line-height:1.25}
.v10-results-screen .sg-result-rank{font-size:10px}
.v10-results-screen .sg-result-new{font-size:8px;padding:2px 4px;top:2px;left:2px}
.v10-results-screen .sg-count-ranks{margin:9px 0 15px}
.v10-results-screen .sg-count-ranks span{padding:7px 11px}
.v10-results-screen .sg-result-scroll{padding-top:calc(24px + env(safe-area-inset-top))}
.v10-results-screen .sg-res-head h2{font-size:25px;margin:7px 0 3px}
.v10-results-screen .sg-res-head p{margin:0}
.v10-results-screen .sg-result-card.sg-border-ur{box-shadow:0 0 0 1px #e6bb72,0 0 13px #f9bf593d}
.sg-pool-item img,.sg-h-entry img{filter:none!important}
@keyframes v10-orbit{to{transform:rotate(360deg)}}
/* Short-screen iPhones and embedded browsers */
@media(max-height:760px){
.v10-portrait-zone{top:calc(66px + env(safe-area-inset-top));height:39dvh}
.v10-identity{top:calc(69px + env(safe-area-inset-top) + 39dvh)}
.v10-identity h2{font-size:24px}
.v10-identity .sg-stars{font-size:16px}
.v10-identity p{font-size:10px;margin:4px 0}
.v10-evo{gap:1px;font-size:9px}
.v10-evo strong{font-size:10px}
.v10-reveal-foot .sg-continue{min-height:43px;padding:10px}
}
@media(max-height:635px){
.v10-portrait-zone{top:calc(53px + env(safe-area-inset-top));height:36dvh}
.v10-identity{top:calc(55px + env(safe-area-inset-top) + 36dvh)}
.v10-identity .sg-reveal-rank{font-size:10px}
.v10-identity p{display:none}
.v10-reveal-foot{bottom:calc(6px + env(safe-area-inset-bottom))}
.v10-reveal-foot .sg-minor{display:none}
}
@media(prefers-reduced-motion:reduce){.v10-portrait-zone *,#gacha-root.v10-impact{animation:none!important}}

.v10-fx-canvas{position:absolute;inset:0;width:100%;height:100%;pointer-events:none;z-index:6;mix-blend-mode:screen}
/* Readability wins over squeezing 10 illegible cards into a single viewport. */
.v10-results-screen .sg-result-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.v10-results-screen .sg-result-card{padding:7px 4px 9px;gap:4px}
.v10-results-screen .sg-result-image{height:clamp(95px,27vw,118px)}
.v10-results-screen .sg-result-card>b{font-size:11px;line-height:1.4}
.v10-results-screen .sg-result-card small{font-size:9px}
