/* ASL V930 — lekka sekwencja przywołania przed odsłonięciem smoka. */
.asl-summon-sequence-v930 {
    --asl-summon-main-v930: #ff8a3d;
    --asl-summon-soft-v930: rgba(255,138,61,.42);
    position: fixed;
    inset: 0;
    z-index: 2147483646;
    display: grid;
    place-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 50% 50%, rgba(15,23,42,.42) 0 16%, rgba(2,6,23,.94) 58%, #02040b 100%);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity .12s ease, visibility 0s linear .12s;
    contain: layout paint style;
}
.asl-summon-sequence-v930.is-active {
    opacity: 1;
    visibility: visible;
    pointer-events: all;
    transition-delay: 0s;
}
.asl-summon-sequence-v930.element-fire { --asl-summon-main-v930:#ff6a32; --asl-summon-soft-v930:rgba(255,90,32,.48); }
.asl-summon-sequence-v930.element-water { --asl-summon-main-v930:#42bfff; --asl-summon-soft-v930:rgba(44,167,255,.48); }
.asl-summon-sequence-v930.element-wind { --asl-summon-main-v930:#68e69b; --asl-summon-soft-v930:rgba(66,218,130,.46); }
.asl-summon-sequence-v930.element-light { --asl-summon-main-v930:#ffe78a; --asl-summon-soft-v930:rgba(255,229,116,.5); }
.asl-summon-sequence-v930.element-dark { --asl-summon-main-v930:#b67cff; --asl-summon-soft-v930:rgba(164,91,255,.5); }

.asl-summon-sequence-v930 .asl-summon-stage-v930 {
    position: relative;
    width: min(72vw, 390px);
    aspect-ratio: 1;
    display: grid;
    place-items: center;
    transform: scale(.72);
    filter: saturate(1.12);
}
.asl-summon-sequence-v930.is-active .asl-summon-stage-v930 {
    animation: asl-summon-stage-in-v930 .8s cubic-bezier(.19,.82,.22,1) both;
}
.asl-summon-sequence-v930 .asl-summon-halo-v930,
.asl-summon-sequence-v930 .asl-summon-ring-v930,
.asl-summon-sequence-v930 .asl-summon-core-v930,
.asl-summon-sequence-v930 .asl-summon-runes-v930 {
    position: absolute;
    border-radius: 50%;
}
.asl-summon-sequence-v930 .asl-summon-halo-v930 {
    inset: 3%;
    background: radial-gradient(circle, transparent 42%, var(--asl-summon-soft-v930) 61%, transparent 72%);
    filter: blur(14px);
    opacity: .2;
}
.asl-summon-sequence-v930.is-active .asl-summon-halo-v930 {
    animation: asl-summon-halo-v930 .78s ease-out both;
}
.asl-summon-sequence-v930 .asl-summon-ring-v930 {
    inset: 15%;
    border: 3px solid var(--asl-summon-main-v930);
    box-shadow:
        0 0 12px var(--asl-summon-main-v930),
        inset 0 0 12px var(--asl-summon-main-v930),
        0 0 42px var(--asl-summon-soft-v930);
    opacity: .16;
}
.asl-summon-sequence-v930 .asl-summon-ring-v930::before,
.asl-summon-sequence-v930 .asl-summon-ring-v930::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    border: 1px dashed currentColor;
    color: var(--asl-summon-main-v930);
}
.asl-summon-sequence-v930 .asl-summon-ring-v930::before { inset: 9%; }
.asl-summon-sequence-v930 .asl-summon-ring-v930::after { inset: 25%; border-style: solid; opacity: .72; }
.asl-summon-sequence-v930.is-active .asl-summon-ring-v930 {
    animation: asl-summon-ring-v930 .92s cubic-bezier(.22,.72,.25,1) both;
}
.asl-summon-sequence-v930 .asl-summon-runes-v930 {
    inset: 7%;
    border: 2px dotted var(--asl-summon-main-v930);
    opacity: .22;
    filter: drop-shadow(0 0 6px var(--asl-summon-main-v930));
}
.asl-summon-sequence-v930.is-active .asl-summon-runes-v930 {
    animation: asl-summon-runes-v930 1.1s linear both;
}
.asl-summon-sequence-v930 .asl-summon-core-v930 {
    width: 31%;
    aspect-ratio: 1;
    background:
        radial-gradient(circle at 42% 38%, #fff 0 6%, var(--asl-summon-main-v930) 25%, rgba(255,255,255,.12) 58%, transparent 72%);
    box-shadow: 0 0 18px #fff, 0 0 55px var(--asl-summon-main-v930), 0 0 95px var(--asl-summon-soft-v930);
    transform: scale(.12);
    opacity: 0;
}
.asl-summon-sequence-v930.is-active .asl-summon-core-v930 {
    animation: asl-summon-core-v930 .82s .08s cubic-bezier(.16,.8,.2,1) both;
}
.asl-summon-sequence-v930 .asl-summon-particle-v930 {
    --angle: 0deg;
    --distance: 120px;
    position: absolute;
    left: calc(50% - 3px);
    top: calc(50% - 3px);
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #fff;
    box-shadow: 0 0 9px 3px var(--asl-summon-main-v930);
    opacity: 0;
    transform: rotate(var(--angle)) translateX(0) scale(.25);
}
.asl-summon-sequence-v930.is-active .asl-summon-particle-v930 {
    animation: asl-summon-particle-v930 .76s var(--delay, 0s) ease-out both;
}
.asl-summon-sequence-v930 .asl-summon-lightning-v930 {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 5px;
    height: 52%;
    background: linear-gradient(to bottom, transparent 0 5%, #fff 10% 18%, var(--asl-summon-main-v930) 23% 42%, #fff 48% 58%, var(--asl-summon-main-v930) 65% 88%, transparent 94%);
    clip-path: polygon(35% 0,100% 0,60% 34%,100% 34%,20% 100%,45% 57%,0 57%);
    filter: drop-shadow(0 0 5px #fff) drop-shadow(0 0 12px var(--asl-summon-main-v930));
    transform-origin: 50% 0;
    transform: translate(-50%, -50%) rotate(var(--bolt-angle, 0deg)) translateY(-36%) scaleY(.2);
    opacity: 0;
    display: none;
}
.asl-summon-sequence-v930.is-rare .asl-summon-lightning-v930 { display: block; }
.asl-summon-sequence-v930.is-active.is-rare .asl-summon-lightning-v930 {
    animation: asl-summon-lightning-v930 .22s var(--bolt-delay, .58s) steps(2,end) both;
}
.asl-summon-sequence-v930 .asl-summon-final-flash-v930 {
    position: absolute;
    inset: -30%;
    border-radius: 50%;
    background: radial-gradient(circle, #fff 0 4%, var(--asl-summon-main-v930) 15%, var(--asl-summon-soft-v930) 34%, transparent 65%);
    opacity: 0;
    transform: scale(.16);
}
.asl-summon-sequence-v930.is-active .asl-summon-final-flash-v930 {
    animation: asl-summon-final-v930 .34s .62s ease-out both;
}
.asl-summon-sequence-v930.is-active.is-rare .asl-summon-final-flash-v930 {
    animation-delay: .92s;
    animation-duration: .42s;
}
.asl-summon-sequence-v930.is-legendary .asl-summon-stage-v930 {
    filter: saturate(1.28) brightness(1.05);
}
.asl-summon-sequence-v930.is-legendary .asl-summon-ring-v930 {
    border-width: 4px;
}

@keyframes asl-summon-stage-in-v930 {
    0% { transform: scale(.68) rotate(-7deg); opacity: .18; }
    55% { transform: scale(1.04) rotate(2deg); opacity: 1; }
    100% { transform: scale(1) rotate(0); opacity: 1; }
}
@keyframes asl-summon-halo-v930 {
    0% { opacity: .08; transform: scale(.58); }
    65% { opacity: .9; transform: scale(1.08); }
    100% { opacity: .52; transform: scale(1); }
}
@keyframes asl-summon-ring-v930 {
    0% { opacity: .08; transform: rotate(-34deg) scale(.48); }
    58% { opacity: 1; transform: rotate(12deg) scale(1.07); }
    100% { opacity: .8; transform: rotate(0) scale(1); }
}
@keyframes asl-summon-runes-v930 {
    0% { opacity: 0; transform: rotate(0) scale(.58); }
    38% { opacity: .76; }
    100% { opacity: .34; transform: rotate(135deg) scale(1); }
}
@keyframes asl-summon-core-v930 {
    0% { opacity: 0; transform: scale(.08); }
    62% { opacity: 1; transform: scale(1.22); }
    100% { opacity: 1; transform: scale(1); }
}
@keyframes asl-summon-particle-v930 {
    0% { opacity: 0; transform: rotate(var(--angle)) translateX(8px) scale(.25); }
    22% { opacity: 1; }
    100% { opacity: 0; transform: rotate(var(--angle)) translateX(var(--distance)) scale(1.15); }
}
@keyframes asl-summon-lightning-v930 {
    0%,100% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--bolt-angle)) translateY(-36%) scaleY(.18); }
    18%,42%,72% { opacity: 1; transform: translate(-50%, -50%) rotate(var(--bolt-angle)) translateY(-36%) scaleY(1); }
    28%,58% { opacity: .16; }
}
@keyframes asl-summon-final-v930 {
    0% { opacity: 0; transform: scale(.14); }
    42% { opacity: 1; transform: scale(1.08); }
    100% { opacity: 0; transform: scale(1.38); }
}

@media (max-width: 700px) {
    .asl-summon-sequence-v930 .asl-summon-stage-v930 { width: min(86vw, 340px); }
    .asl-summon-sequence-v930 .asl-summon-particle-v930 { --distance: 96px; }
}
@media (prefers-reduced-motion: reduce) {
    .asl-summon-sequence-v930 .asl-summon-stage-v930,
    .asl-summon-sequence-v930 .asl-summon-halo-v930,
    .asl-summon-sequence-v930 .asl-summon-ring-v930,
    .asl-summon-sequence-v930 .asl-summon-runes-v930,
    .asl-summon-sequence-v930 .asl-summon-core-v930,
    .asl-summon-sequence-v930 .asl-summon-particle-v930,
    .asl-summon-sequence-v930 .asl-summon-lightning-v930,
    .asl-summon-sequence-v930 .asl-summon-final-flash-v930 {
        animation-duration: .16s !important;
        animation-delay: 0s !important;
    }
}
