/* LapViz Studio: what the Tailwind / KTUI classes of the web site do not cover. */

#blazor-error-ui[style*="display: block"],
#blazor-error-ui.show {
    display: block !important;
}

.lv-studio-loading {
    width: 3rem;
    height: 3rem;
    border-radius: 9999px;
    border: 3px solid var(--border);
    border-top-color: var(--primary);
    animation: lv-studio-spin 0.8s linear infinite;
}

@keyframes lv-studio-spin {
    to {
        transform: rotate(360deg);
    }
}

/* uPlot in the theme colors */
.lv-studio-chart .uplot {
    font-family: var(--font-sans);
    color: var(--muted-foreground);
}

.lv-studio-chart .u-legend {
    display: none;
}

.lv-studio-chart .u-cursor-x {
    border-right: 1px dashed var(--muted-foreground);
}

.lv-studio-chart .u-cursor-y {
    display: none;
}

.lv-studio-chart .u-select {
    background: color-mix(in oklab, var(--primary) 15%, transparent);
}

/* Drop zone shown while a file is dragged over the window */
.lv-studio-drop {
    position: fixed;
    inset: 0;
    z-index: 60;
    display: none;
    align-items: center;
    justify-content: center;
    background: color-mix(in oklab, var(--background) 80%, transparent);
    border: 3px dashed var(--primary);
}

.lv-studio-drop.active {
    display: flex;
}

.lv-studio-drop input[type=file] {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: copy;
}

/* Canvas views (map, scatter, histogram) fill their box */
.lv-studio-canvas {
    display: block;
    width: 100%;
    height: 100%;
}
