/* CuanCapital Experience OS: Dark & Mythic Avatar Borders */

.darkmythic-aw {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100px;
    height: 100px;
    pointer-events: none;
    z-index: 5;
}

.darkmythic-aw .darkmythic-ring-svg {
    position: absolute;
    inset: 0;
    width: 100px;
    height: 100px;
    overflow: visible;
}

@keyframes dm-rot-cw { to { transform: rotate(360deg); } }
@keyframes dm-rot-ccw { to { transform: rotate(-360deg); } }
@keyframes dm-pulse-o { 0%,100% { opacity: 1; } 50% { opacity: .15; } }
@keyframes dm-flicker { 0%,100% { opacity: .9; } 25% { opacity: .4; } 50% { opacity: 1; } 75% { opacity: .3; } }
@keyframes dm-throb { 0%,100% { transform: scale(1); } 50% { transform: scale(1.4); } }
@keyframes dm-dash-flow { to { stroke-dashoffset: -300; } }
@keyframes dm-dash-rev { to { stroke-dashoffset: 300; } }
@keyframes dm-crack-in { 0% { opacity: 0; stroke-dashoffset: 80; } 100% { opacity: 1; stroke-dashoffset: 0; } }
@keyframes dm-blink-e { 0%,85%,100% { transform: scaleY(1); } 90% { transform: scaleY(.05); } }
@keyframes dm-haze { 0%,100% { opacity: .5; r: 3; } 50% { opacity: 1; r: 5; } }

.dm-demon .base { fill: none; stroke: #6b0000; stroke-width: 4; }
.dm-demon .crack {
    fill: none; stroke: #ff1a00; stroke-width: 1.2;
    stroke-dasharray: 80; stroke-dashoffset: 80;
    animation: dm-crack-in 1.4s .3s ease forwards;
    filter: drop-shadow(0 0 3px #ff1a00);
}
.dm-demon .sigil-line { fill: none; stroke: rgba(255,26,0,.25); stroke-width: .8; }
.dm-demon .ember { animation: dm-flicker 1.2s ease-in-out infinite; }
.dm-demon .rot-group { transform-origin: 50px 50px; animation: dm-rot-cw 30s linear infinite; }
.dm-demon .rot-group2 { transform-origin: 50px 50px; animation: dm-rot-ccw 20s linear infinite; }

.dm-wraith .mist {
    fill: none; stroke: rgba(100,80,180,.6); stroke-width: 2;
    stroke-dasharray: 12 18; transform-origin: 50px 50px;
    animation: dm-rot-cw 8s linear infinite;
    filter: drop-shadow(0 0 4px rgba(100,80,180,.8));
}
.dm-wraith .mist2 {
    fill: none; stroke: rgba(60,40,120,.5); stroke-width: 3;
    stroke-dasharray: 6 28; transform-origin: 50px 50px;
    animation: dm-rot-ccw 5s linear infinite;
    filter: drop-shadow(0 0 6px rgba(80,50,160,.6));
}
.dm-wraith .wisp { animation: dm-flicker 1.8s ease-in-out infinite; filter: drop-shadow(0 0 3px #7b5ea7); }
.dm-wraith .wisp-path {
    fill: none; stroke: rgba(140,100,220,.5); stroke-width: 1.5;
    stroke-linecap: round; animation: dm-dash-flow 3s linear infinite;
}

.dm-rune .seg {
    fill: none; stroke: #00ffcc; stroke-width: 2;
    stroke-dasharray: 20 6; transform-origin: 50px 50px;
    animation: dm-rot-cw 14s linear infinite;
    filter: drop-shadow(0 0 3px #00ffcc);
}
.dm-rune .seg2 {
    fill: none; stroke: #006655; stroke-width: 4;
    stroke-dasharray: 8 16; transform-origin: 50px 50px;
    animation: dm-rot-ccw 9s linear infinite;
}
.dm-rune .rune-mark { fill: #00ffcc; opacity: .8; animation: dm-flicker 2.2s ease-in-out infinite; }
.dm-rune .inner-hex { fill: none; stroke: rgba(0,255,204,.2); stroke-width: 1; }

.dm-abyss .vortex1 { fill: none; stroke: #000d40; stroke-width: 5; stroke-dasharray: 260 0; }
.dm-abyss .vortex2 {
    fill: none; stroke: #001aff; stroke-width: 2; stroke-dasharray: 40 20;
    transform-origin: 50px 50px; animation: dm-rot-cw 6s linear infinite;
    filter: drop-shadow(0 0 5px #001aff);
}
.dm-abyss .vortex3 {
    fill: none; stroke: rgba(0,26,255,.3); stroke-width: 1.5; stroke-dasharray: 15 30;
    transform-origin: 50px 50px; animation: dm-rot-ccw 4s linear infinite;
}
.dm-abyss .depth-dot { animation: dm-pulse-o 2.5s ease-in-out infinite; }
.dm-abyss .eye-wrap { transform-origin: 50px 50px; animation: dm-rot-cw 20s linear infinite; }

.dm-blood .vein-ring { fill: none; stroke: #8b0000; stroke-width: 4; }
.dm-blood .vein {
    fill: none; stroke: #cc0000; stroke-width: 1.5; stroke-linecap: round;
    stroke-dasharray: 30 200; stroke-dashoffset: 0;
    animation: dm-dash-flow 4s linear infinite;
    filter: drop-shadow(0 0 2px #cc0000);
}
.dm-blood .vein:nth-child(2) { stroke-dashoffset: -60; animation-delay: -1s; }
.dm-blood .vein:nth-child(3) { stroke-dashoffset: -120; animation-delay: -2s; }
.dm-blood .vein:nth-child(4) { stroke-dashoffset: -180; animation-delay: -3s; }
.dm-blood .drop { animation: dm-throb 1s ease-in-out infinite; transform-origin: 50px 50px; }
.dm-blood .oath-mark { fill: none; stroke: rgba(200,0,0,.3); stroke-width: 1; }

.dm-void .rift-outer {
    fill: none; stroke: #fff; stroke-width: 1.5; stroke-dasharray: 5 8;
    transform-origin: 50px 50px; animation: dm-rot-cw 10s linear infinite;
    filter: drop-shadow(0 0 4px #fff);
}
.dm-void .rift-mid {
    fill: none; stroke: #666; stroke-width: 2.5; stroke-dasharray: 50 10;
    transform-origin: 50px 50px; animation: dm-rot-ccw 7s linear infinite;
}
.dm-void .rift-crack {
    fill: none; stroke: rgba(255,255,255,.7); stroke-width: 1; stroke-linecap: round;
    stroke-dasharray: 60; stroke-dashoffset: 60; animation: dm-crack-in 2s ease forwards;
}
.dm-void .void-dot { animation: dm-pulse-o 1.5s ease-in-out infinite; }
.dm-void .static { fill: rgba(255,255,255,.06); }

.dm-necro .bone-ring { fill: none; stroke: #4a3f00; stroke-width: 4; stroke-dasharray: 260 0; }
.dm-necro .spirit-ring {
    fill: none; stroke: #aaff00; stroke-width: 1.5; stroke-dasharray: 10 8;
    transform-origin: 50px 50px; animation: dm-rot-ccw 12s linear infinite;
    filter: drop-shadow(0 0 3px #aaff00);
}
.dm-necro .spirit-ring2 {
    fill: none; stroke: rgba(170,255,0,.2); stroke-width: 3; stroke-dasharray: 30 20;
    transform-origin: 50px 50px; animation: dm-rot-cw 18s linear infinite;
}
.dm-necro .skull-orb { transform-origin: 50px 50px; animation: dm-rot-cw 8s linear infinite; }
.dm-necro .soul-flicker { animation: dm-flicker 1.5s ease-in-out infinite; }

.dm-eldritch .tentacle {
    fill: none; stroke: #006644; stroke-width: 2; stroke-linecap: round;
    stroke-dasharray: 200; animation: dm-dash-flow 5s linear infinite;
    filter: drop-shadow(0 0 2px #00ff88);
}
.dm-eldritch .tentacle:nth-child(2) { animation-duration: 4s; animation-delay: -1s; stroke-width: 1.5; stroke: #004433; }
.dm-eldritch .tentacle:nth-child(3) { animation-duration: 6s; animation-delay: -2s; stroke-width: 2.5; stroke: #009966; }
.dm-eldritch .eye-group { transform-origin: 50px 50px; animation: dm-rot-cw 15s linear infinite; }
.dm-eldritch .pupil { animation: dm-blink-e 3s ease-in-out infinite; transform-origin: 50px 50px; }
.dm-eldritch .sucker { fill: none; stroke: rgba(0,255,136,.3); stroke-width: .8; }

.dm-plague .decay-ring {
    fill: none; stroke: #3a3a00; stroke-width: 5; stroke-dasharray: 20 5;
    transform-origin: 50px 50px; animation: dm-rot-cw 25s linear infinite;
}
.dm-plague .spore-ring {
    fill: none; stroke: #aaaa00; stroke-width: 1; stroke-dasharray: 4 10;
    transform-origin: 50px 50px; animation: dm-rot-ccw 10s linear infinite;
    filter: drop-shadow(0 0 3px #aaaa00);
}
.dm-plague .spore { animation: dm-haze 2s ease-in-out infinite; }
.dm-plague .bio-line { fill: none; stroke: rgba(170,170,0,.2); stroke-width: 1; }

.dm-herald .ghost-ring {
    fill: none; stroke: rgba(180,210,255,.4); stroke-width: 2; stroke-dasharray: 260 0;
    filter: drop-shadow(0 0 6px rgba(180,210,255,.6));
    animation: dm-pulse-o 3s ease-in-out infinite;
}
.dm-herald .cold-ring {
    fill: none; stroke: rgba(140,180,255,.7); stroke-width: 1; stroke-dasharray: 8 6;
    transform-origin: 50px 50px; animation: dm-rot-ccw 12s linear infinite;
}
.dm-herald .scythe-orbit { transform-origin: 50px 50px; animation: dm-rot-cw 6s linear infinite; }
.dm-herald .soul-chain {
    fill: none; stroke: rgba(180,210,255,.25); stroke-width: 1; stroke-dasharray: 4 8;
    transform-origin: 50px 50px; animation: dm-rot-cw 20s linear infinite;
}
.dm-herald .soul-dot { animation: dm-pulse-o 2s ease-in-out infinite; filter: drop-shadow(0 0 4px #b4d2ff); }
.dm-herald .frost-arc {
    fill: none; stroke: rgba(200,230,255,.15); stroke-width: 8;
    animation: dm-dash-rev 4s linear infinite;
}
