/* Battle V3 academy corner showcases: open textbooks and enamel school pins. */
.vshop-skin-effect-preview.is-academy-relic {
    isolation: isolate;
    pointer-events: none;
    color: var(--academy-light);
    border-color: var(--academy-3);
    background: radial-gradient(ellipse at 50% 76%, color-mix(in srgb, var(--academy-4) 50%, transparent), color-mix(in srgb, var(--academy-dark) 45%, #10121e) 78%);
    box-shadow: 0 4px 12px #000b, 0 0 14px color-mix(in srgb, var(--academy-4) 45%, transparent), inset 0 0 10px color-mix(in srgb, var(--academy-3) 24%, transparent);
}
.vshop-academy-seal { position:absolute; inset:12%; border:1px solid var(--academy-3); border-radius:50%; opacity:.6; box-shadow:0 0 0 3px color-mix(in srgb,var(--academy-2) 30%,transparent); animation:vshopAcademySeal 5s ease-in-out infinite; }
.vshop-academy-seal::after { content:''; position:absolute; inset:8%; border:1px solid var(--academy-light); border-radius:3px; transform:rotate(45deg); }
.vshop-skin-effect-preview.is-academy-relic > .vshop-academy-asset { inset:5% 10% 15%; width:80%; height:80%; z-index:2; filter:drop-shadow(0 0 4px var(--academy-4)); animation:vshopAcademyRelic 3.6s ease-in-out infinite; }
.vshop-academy-book { position:absolute; inset:0; width:100%; height:100%; z-index:4; filter:drop-shadow(0 0 2px var(--academy-3)); }
.vshop-academy-pin { position:absolute; right:5%; top:3%; width:25%; height:30%; z-index:5; transform:rotate(12deg); filter:drop-shadow(0 1px 2px #000); }
.vshop-academy-pages { position:absolute; inset:0; z-index:1; }
.vshop-academy-pages i { position:absolute; left:calc(18% + var(--page)*25%); top:65%; width:13%; height:18%; border:1px solid var(--academy-light); border-radius:1px; background:repeating-linear-gradient(0deg,transparent 0 3px,color-mix(in srgb,var(--academy-3) 55%,transparent) 3px 4px); animation:vshopAcademyPage 4s ease-in-out infinite; animation-delay:calc(var(--page)*-1.3s); }
.vshop-academy-ray { position:absolute; z-index:3; left:-12%; top:42%; height:3%; width:110%; background:linear-gradient(90deg,transparent,var(--academy-4),var(--academy-light),transparent); box-shadow:0 0 5px var(--academy-2); transform:rotate(-28deg); animation:vshopAcademyRay 3.8s ease-in-out infinite; }
.is-academy-paired > .vshop-academy-asset { animation:vshopAcademySwap 6s ease-in-out infinite !important; animation-delay:calc(var(--relic)*-3s) !important; }
.vshop-skin-effect-preview.is-academy-arobius > .vshop-academy-asset { animation:vshopAcademyBlade 8s linear infinite; }
.vshop-skin-effect-preview.is-academy-zahira > .vshop-academy-asset { animation:vshopAcademyLasso 4.2s ease-in-out infinite; }
.vshop-skin-effect-preview.is-academy-eda > .vshop-academy-asset { animation:vshopAcademyRecoil 3.8s ease-in-out infinite; }
.vshop-academy-beats { position:absolute; z-index:1; display:flex; gap:6%; align-items:end; inset:25% 15% 30%; }
.vshop-academy-beats i { width:16%; height:65%; background:var(--academy-2); opacity:.55; transform-origin:bottom; animation:vshopAcademyBeat .9s ease-in-out infinite alternate; animation-delay:calc(var(--beat)*-.17s); }
.vshop-academy-stones { position:absolute; inset:0; z-index:3; }
.vshop-academy-stones i { position:absolute; width:22%; height:22%; left:calc(7% + var(--stone)*31%); top:calc(37% - var(--stone)*9%); filter:drop-shadow(0 0 3px var(--academy-4)); animation:vshopAcademyRelic 3.2s ease-in-out infinite; animation-delay:calc(var(--stone)*-.9s); }
.vshop-academy-stones svg { width:100%; height:100%; }
@keyframes vshopAcademyRelic { 50% { transform:translateY(-3px) rotate(5deg); } }
@keyframes vshopAcademySeal { 50% { transform:scale(.9); opacity:.3; } }
@keyframes vshopAcademyPage { 0%,100% { opacity:0; transform:translateY(0) rotate(-15deg); } 25%,70% { opacity:.7; } 90% { opacity:0; transform:translateY(-32px) rotate(20deg); } }
@keyframes vshopAcademyRay { 0%,35%,65%,100% { opacity:0; scale:.4 1; } 44%,52% { opacity:.9; scale:1 1; } }
@keyframes vshopAcademySwap { 0%,38% { opacity:1; transform:translateY(-2px) rotate(-4deg); } 48%,88% { opacity:0; transform:translateY(3px) rotate(5deg); } 98%,100% { opacity:1; transform:translateY(-2px) rotate(-4deg); } }
@keyframes vshopAcademyBlade { to { transform:rotate(360deg); } }
@keyframes vshopAcademyLasso { 50% { transform:rotate(14deg) translateY(-4px) scale(.93); } }
@keyframes vshopAcademyRecoil { 0%,35%,65%,100% { transform:rotate(-3deg); } 44% { transform:translate(-3px,2px) rotate(-11deg); } 52% { transform:rotate(2deg); } }
@keyframes vshopAcademyBeat { to { transform:scaleY(.25); } }
@media (prefers-reduced-motion:reduce) {
    .vshop-skin-effect-preview.is-academy-relic, .vshop-skin-effect-preview.is-academy-relic * { animation:none !important; }
    .is-academy-paired > .vshop-academy-asset { width:57% !important; height:65% !important; left:calc(2% + var(--relic)*35%) !important; top:14% !important; }
    .vshop-academy-pages i { opacity:.45; transform:translateY(-15px); }
    .vshop-academy-ray { opacity:.35; }
}
