/* ================================
   Theme-based Background Images
================================ */
/* :root {
    --inforgbg: url('./../../images/infogrbg.png');
} */

:root {
    --inforgbg: url('https://static.igem.wiki/teams/5957/images/banner.webp');
}

:root[data-theme="dark"] {
    --inforgbg: url('https://static.igem.wiki/teams/5957/images/banner.webp');
}

:root[data-theme="protanopia"] {
    --inforgbg: url('https://static.igem.wiki/teams/5957/images/banner.webp');
}

:root[data-theme="deuteranopia"] {
    --inforgbg: url('https://static.igem.wiki/teams/5957/images/banner.webp');
}

:root[data-theme="tritanopia"] {
    --inforgbg: url('https://static.igem.wiki/teams/5957/images/banner.webp');
}
/* ================================
   Container
================================ */
#ccr-header {
    margin: 0;
    background: var(--color-bg);
    /* solid fallback */
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    font-family: var(--font-body);
    color: var(--text-on-bg);
}

#ccr-con {
    width: 90vw;
    height: 90vh;
    position: relative;
    background: var(--inforgbg) center/contain no-repeat;
    /* keep aspect ratio in sync with the SVG/path */
}

/* ================================
   SVG and Paths
================================ */
svg {
    width: 100%;
    height: 100%;
}

path {
    stroke: var(--text-primary);
    stroke-width: 2;
    fill: none;
}

/* ================================
   Dots and Interactive Elements
================================ */
.dt-grp {
    cursor: pointer;
}

.dot {
    fill: var(--color-bg);
    stroke: var(--text-primary);
    stroke-width: 2;
}

/* ================================
   Ripple Effect
================================ */
.ripple {
    fill: none;
    stroke: color-mix(in srgb, var(--text-primary) 30%, transparent);
    stroke-width: 3;
    animation: ripple 3s infinite ease-out;
    transform-origin: center;
}

@keyframes ripple {
    0% {
        r: 15;
        opacity: 0.6;
    }

    100% {
        r: 40;
        opacity: 0;
    }
}

/* ================================
   Tooltip
================================ */
.tooltip {
    position: absolute;
    pointer-events: none;
    opacity: 0;
    transition: opacity 0.2s ease;
    background: var(--color-secondary);
    color: var(--text-on-primary);
    border-radius: 40px;
    padding: var(--spacing-xs) var(--spacing-md);
    font-size: var(--font-size-sm);
    font-weight: 500;
    white-space: nowrap;
    box-shadow: var(--stn-shadow);
    transform: translate(-50%, -120%);
    font-family: var(--font-body);
    line-height: var(--line-height);
}

.tooltip.show {
    opacity: 1;
}