@use "variables";

// color indicator circles

.#{variables.$ms-prefix}-ci {

    // base styles
    border-radius: 100%;
    box-shadow: inset 0 0 1px #fff; // to remove spill over
    line-height: 0.95em; // shifts the border up a touch
    width: 1em;
    height: 1em;

    // set the border color
    &::before { color: variables.$ms-border-black; }

    // borders based on number of colors in identity
    &-1::before { content: "\e98a"; }
    &-2::before { content: "\e98b"; }
    &-3::before { content: "\e98c"; }
    &-4::before { content: "\e98d"; }
    &-5::before { content: "\e98e"; }

    // 1 color backgrounds
    &-w { background: variables.$ms-white; }
    &-u { background: variables.$ms-blue; }
    &-b { background: variables.$ms-black; }
    &-r { background: variables.$ms-red; }
    &-g { background: variables.$ms-green; }

    // 2 color backgrounds
    &-wu,
    &-uw,
    &-azorius {
        background: conic-gradient(
            variables.$ms-white 45deg,
            variables.$ms-blue 45deg 225deg,
            variables.$ms-white 225deg
        );
    }
    &-wb,
    &-bw,
    &-orzhov {
        background: conic-gradient(
            variables.$ms-white 45deg,
            variables.$ms-black 45deg 225deg,
            variables.$ms-white 225deg
        );
    }
    &-ub,
    &-bu,
    &-dimir {
        background: conic-gradient(
            variables.$ms-blue 45deg,
            variables.$ms-black 45deg 225deg,
            variables.$ms-blue 225deg
        );
    }
    &-ur,
    &-ru,
    &-izzet {
        background: conic-gradient(
            variables.$ms-blue 45deg,
            variables.$ms-red 45deg 225deg,
            variables.$ms-blue 225deg
        );
    }
    &-bg,
    &-gb,
    &-golgari,
    &-rock {
        background: conic-gradient(
            variables.$ms-black 45deg,
            variables.$ms-green 45deg 225deg,
            variables.$ms-black 225deg
        );
    }
    &-br,
    &-rb,
    &-rakdos {
        background: conic-gradient(
            variables.$ms-black 45deg,
            variables.$ms-red 45deg 225deg,
            variables.$ms-black 225deg
        );
    }
    &-rw,
    &-wr,
    &-boros {
        background: conic-gradient(
            variables.$ms-red 45deg,
            variables.$ms-white 45deg 225deg,
            variables.$ms-red 225deg
        );
    }
    &-rg,
    &-gr,
    &-gruul {
        background: conic-gradient(
            variables.$ms-red 45deg,
            variables.$ms-green 45deg 225deg,
            variables.$ms-red 225deg
        );
    }
    &-gu,
    &-ug,
    &-simic {
        background: conic-gradient(
            variables.$ms-green 45deg,
            variables.$ms-blue 45deg 225deg,
            variables.$ms-green 225deg
        );
    }
    &-gw,
    &-wg,
    &-selesnya {
        background: conic-gradient(
            variables.$ms-green 45deg,
            variables.$ms-white 45deg 225deg,
            variables.$ms-green 225deg
        );
    }

    // 3-color backgrounds
    &-wug,
    &-wgu,
    &-ugw,
    &-uwg,
    &-gwu,
    &-guw,
    &-bant {
        background: conic-gradient(
            variables.$ms-blue 60deg,
            variables.$ms-green 60deg 180deg,
            variables.$ms-white 180deg 300deg,
            variables.$ms-blue 300deg
        );
    }
    &-ubw,
    &-uwb,
    &-buw,
    &-bwu,
    &-wub,
    &-wbu,
    &-esper {
        background: conic-gradient(
            variables.$ms-black 60deg,
            variables.$ms-white 60deg 180deg,
            variables.$ms-blue 180deg 300deg,
            variables.$ms-black 300deg
        );
    }
    &-bru,
    &-bur,
    &-rbu,
    &-rub,
    &-ubr,
    &-urb,
    &-grixis {
        background: conic-gradient(
            variables.$ms-red 60deg,
            variables.$ms-blue 60deg 180deg,
            variables.$ms-black 180deg 300deg,
            variables.$ms-red 300deg
        );
    }
    &-rgb,
    &-rbg,
    &-grb,
    &-gbr,
    &-brg,
    &-bgr,
    &-jund {
        background: conic-gradient(
            variables.$ms-green 60deg,
            variables.$ms-black 60deg 180deg,
            variables.$ms-red 180deg 300deg,
            variables.$ms-green 300deg
        );
    }
    &-gwr,
    &-grw,
    &-wgr,
    &-wrg,
    &-rgw,
    &-rwg,
    &-naya {
        background: conic-gradient(
            variables.$ms-white 60deg,
            variables.$ms-red 60deg 180deg,
            variables.$ms-green 180deg 300deg,
            variables.$ms-white 300deg
        );
    }
    &-wbg,
    &-wgb,
    &-bwg,
    &-bgw,
    &-gwb,
    &-gbw,
    &-abzan,
    &-junk,
    &-necra {
        background: conic-gradient(
            variables.$ms-black 60deg,
            variables.$ms-green 60deg 180deg,
            variables.$ms-white 180deg 300deg,
            variables.$ms-black 300deg
        );
    }
    &-urw,
    &-uwr,
    &-ruw,
    &-rwu,
    &-wur,
    &-wru,
    &-jeskai,
    &-raka {
        background: conic-gradient(
            variables.$ms-red 60deg,
            variables.$ms-white 60deg 180deg,
            variables.$ms-blue 180deg 300deg,
            variables.$ms-red 300deg
        );
    }
    &-bgu,
    &-bug,
    &-gbu,
    &-gub,
    &-ubg,
    &-ugb,
    &-sultai,
    &-bug,
    &-ana {
        background: conic-gradient(
            variables.$ms-green 60deg,
            variables.$ms-blue 60deg 180deg,
            variables.$ms-black 180deg 300deg,
            variables.$ms-green 300deg
        );
    }
    &-rwb,
    &-rbw,
    &-wrb,
    &-wbr,
    &-brw,
    &-bwr,
    &-mardu,
    &-dega {
        background: conic-gradient(
            variables.$ms-white 60deg,
            variables.$ms-black 60deg 180deg,
            variables.$ms-red 180deg 300deg,
            variables.$ms-white 300deg
        );
    }
    &-gur,
    &-gru,
    &-ugr,
    &-urg,
    &-rgu,
    &-rug,
    &-temur,
    &-ceta {
        background: conic-gradient(
            variables.$ms-blue 60deg,
            variables.$ms-red 60deg 180deg,
            variables.$ms-green 180deg 300deg,
            variables.$ms-blue 300deg
        );
    }

    // 4 color backgrounds
    &-ubrg,
    &-glint {
        background: conic-gradient(
            variables.$ms-blue 45deg,
            variables.$ms-black 45deg 135deg,
            variables.$ms-red 135deg 225deg,
            variables.$ms-green 225deg 315deg,
            variables.$ms-blue 315deg
        );
    }
    &-brgw,
    &-dune {
        background: conic-gradient(
            variables.$ms-black 45deg,
            variables.$ms-red 45deg 135deg,
            variables.$ms-green 135deg 225deg,
            variables.$ms-white 225deg 315deg,
            variables.$ms-black 315deg
        );
    }
    &-rgwu,
    &-ink {
        background: conic-gradient(
            variables.$ms-red 45deg,
            variables.$ms-green 45deg 135deg,
            variables.$ms-white 135deg 225deg,
            variables.$ms-blue 225deg 315deg,
            variables.$ms-red 315deg
        );
    }
    &-gwub,
    &-witch {
        background: conic-gradient(
            variables.$ms-green 45deg,
            variables.$ms-white 45deg 135deg,
            variables.$ms-blue 135deg 225deg,
            variables.$ms-black 225deg 315deg,
            variables.$ms-green 315deg
        );
    }
    &-wubr,
    &-yore {
        background: conic-gradient(
            variables.$ms-white 45deg,
            variables.$ms-blue 45deg 135deg,
            variables.$ms-black 135deg 225deg,
            variables.$ms-red 225deg 315deg,
            variables.$ms-white 315deg
        );
    }

    // 5 color background
    &-wubrg,
    &-5 {
        background: conic-gradient(
            variables.$ms-white 36deg,
            variables.$ms-blue 36deg 108deg,
            variables.$ms-black 108deg 180deg,
            variables.$ms-red 180deg 252deg,
            variables.$ms-green 252deg 324deg,
            variables.$ms-white 324deg
        );
    }
}