/* CYBER GUARD ACADEMY v1.2 — ステージ画面の演出 */
.heading.has-emblem{grid-template-columns:auto 1fr;column-gap:1rem;align-items:center}
.heading.has-emblem>*:not(.world-emblem){grid-column:2}
.world-emblem{grid-row:1 / span 3;width:clamp(56px,7vw,84px);height:auto;filter:drop-shadow(0 6px 12px #000a);animation:cga-bob 3.6s ease-in-out infinite}
@keyframes cga-bob{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-6px) rotate(3deg)}}
.arena{overflow:hidden}
.cga-confetti{position:absolute;inset:0;pointer-events:none;z-index:5}
.cga-confetti i{position:absolute;top:-14px;width:9px;height:14px;border-radius:2px;animation:cga-fall 2s cubic-bezier(.25,.6,.4,1) forwards}
@keyframes cga-fall{to{transform:translate(var(--x),620px) rotate(var(--r));opacity:.2}}
.clear-stars{display:inline-flex;gap:.15em;margin-left:.45em;vertical-align:middle;font-size:1.1em}
.clear-stars i{font-style:normal;color:#ffffff40}
.clear-stars i.on.a{color:#ffd35a;text-shadow:0 0 12px #ffcf4d;animation:cga-starpop .5s cubic-bezier(.2,1.6,.4,1) both}
.clear-stars i.on.c{color:#6ff1ff;text-shadow:0 0 12px #6ff1ff;animation:cga-starpop .5s .15s cubic-bezier(.2,1.6,.4,1) both}
@keyframes cga-starpop{from{transform:scale(0) rotate(-90deg)}to{transform:none}}
.overlay .primary{font-size:1.1rem;min-height:52px;padding-inline:1.6rem;border-radius:999px;box-shadow:0 5px 0 #0006}
/* 超激レア カットイン */
.cga-cutin{position:absolute;inset:0;z-index:6;pointer-events:none;display:grid;align-items:center;--c:#ffd35a}
.cga-cutin .band{position:absolute;left:-10%;right:-10%;top:28%;height:44%;transform:skewY(-6deg);
  background:linear-gradient(90deg,transparent,#000d 12%,#000d 88%,transparent),repeating-linear-gradient(115deg,color-mix(in srgb,var(--c) 45%,transparent) 0 6px,transparent 6px 22px);
  border-block:4px solid var(--c);box-shadow:0 0 40px var(--c)}
.cga-cutin img{position:absolute;left:4%;top:8%;height:84%;max-width:40%;object-fit:contain;filter:drop-shadow(0 0 18px var(--c)) drop-shadow(0 8px 10px #000)}
.cga-cutin .txt{position:absolute;left:42%;right:3%;top:34%;display:grid;gap:.15rem;color:#fff;text-shadow:0 3px 0 #000,0 0 14px var(--c)}
.cga-cutin small{font-weight:900;letter-spacing:.2em;color:var(--c);font-size:clamp(.7rem,1.6vw,1rem)}
.cga-cutin b{font-size:clamp(.95rem,2.6vw,1.9rem);line-height:1.1;font-weight:900}
.cga-cutin span{font-size:clamp(.65rem,1.4vw,.95rem);font-weight:700;opacity:.92}
.cga-cutin.go .band{animation:cut-band 1.5s cubic-bezier(.2,.9,.2,1) both}
.cga-cutin.go img{animation:cut-hero 1.5s cubic-bezier(.2,.9,.2,1) both}
.cga-cutin.go .txt{animation:cut-txt 1.5s cubic-bezier(.2,.9,.2,1) both}
@keyframes cut-band{0%{transform:skewY(-6deg) scaleY(0)}12%,85%{transform:skewY(-6deg) scaleY(1)}100%{transform:skewY(-6deg) scaleY(0)}}
@keyframes cut-hero{0%{transform:translateX(-120%) scale(.8);opacity:1}18%{transform:translateX(0) scale(1.08);opacity:1}30%,85%{transform:none;opacity:1}100%{transform:translateX(30%);opacity:0}}
@keyframes cut-txt{0%,10%{transform:translateX(60%);opacity:0}28%,85%{transform:none;opacity:1}100%{transform:translateX(-20%);opacity:0}}
/* レア度表示・ボタン */
.rar{display:inline-block;font-size:.7em;font-weight:900;padding:.05em .45em;border-radius:6px;margin-right:.35em;vertical-align:middle}
.rar.ur{background:linear-gradient(90deg,#ff4d6d,#ffd35a,#62f2ff,#c79bff);color:#1a0c00;animation:ur-shine 2.4s linear infinite;background-size:200% 100%}
.rar.sr{background:#ffd35a;color:#2a1a00}
@keyframes ur-shine{to{background-position:200% 0}}
#cat-deck[data-page="2"]{background:linear-gradient(90deg,#4a1030,#3a2a08,#0d3a48);border-color:#ffd35a;color:#fff3c4;box-shadow:0 0 14px #ffd35a66}
.cat-world .control button.cat-deploy.mythic-deploy{border-color:#ffd35a;background:linear-gradient(0deg,#6b3d10 0 var(--ready,0%),#2a1a3a var(--ready,0%) 100%);box-shadow:0 0 12px #ffd35a55,0 3px 0 #15101d}
.cat-world .control button.mythic-deploy img{width:46px;height:46px}
@media (prefers-reduced-motion:reduce){.world-emblem,.cga-confetti i,.clear-stars i,.cga-cutin *{animation:none!important}.cga-confetti{display:none}}
.cat-world .control button.mythic-deploy{flex-direction:column;gap:.05rem;text-align:center;padding:.35rem .3rem;line-height:1.2}
.cat-world .control button.mythic-deploy span{display:grid;justify-items:center}
.cat-world .control button.mythic-deploy b{font-size:.8rem;white-space:nowrap}
