﻿@layer buefy, common, utilities, theme;

@import '../lib/buefy/buefy.min.css' layer(buefy);

@layer common {
    :root {
        --spacing: 0.25rem;
    }

    *:focus, *:focus-visible {
        outline: none;
    }

    module {
        display: none;
    }

    * {
        box-sizing: border-box;
    }

    html, body {
        position: relative;
        height: 100vh;
        font-size: 14px;
        overflow-y: auto;
    }

    [hidden] {
        display: none !important;
    }

    .realign-outline {
        outline: 2px dashed orange;
        outline-offset: -3px;
        color: orange;
    }



    .middle-align {
        position: relative;
        top: 50%;
        transform: translateY(-50%);
    }


    .middle-align-abs {
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
    }


    .context-menu-list.context-menu-root {
        font-size: 13px;
    }

    .menu-label {
        font-weight: bolder !important;
    }

    .columns, .column {
        margin: 0;
        padding: 0;
    }

    .clickable {
        cursor: pointer;
        user-select: none;
    }

        .clickable:hover {
            outline: 1px solid orange;
        }

        .clickable:active {
            color: red;
        }
}

@layer utilities {
    .flex {
        display: flex;
    }

    .flex-col {
        flex-direction: column;
    }

    .flex-grow-1, .grow {
        flex-grow: 1;
    }

    .grow-0 {
        flex-grow: 0;
    }

    .flex-basis-auto {
        flex-basis: auto;
    }

    .w-full {
        width: 100%;
    }

    .h-full {
        height: 100%;
    }

    .items-center {
        align-items: center;
    }

    .items-baseline {
        align-items: baseline;
    }

    .items-stretch {
        align-items: stretch;
    }

    .gap-1 {
        gap: calc(var(--spacing) * 1);
    }

    .gap-2 {
        gap: calc(var(--spacing) * 2);
    }

    .gap-3 {
        gap: calc(var(--spacing) * 3);
    }

    .gap-4 {
        gap: calc(var(--spacing) * 4);
    }

    .center {
        text-align: center;
    }

    .ml-1 {
        margin-left: calc(var(--spacing) * 1);
    }

    .ml-2 {
        margin-left: calc(var(--spacing) * 2);
    }

    .mr-1 {
        margin-right: calc(var(--spacing) * 1);
    }

    .mr-2 {
        margin-right: calc(var(--spacing) * 2);
    }

    .mr-3 {
        margin-right: calc(var(--spacing) * 3);
    }

    .mr-4 {
        margin-right: calc(var(--spacing) * 4);
    }

    .mb-1 {
        margin-bottom: calc(var(--spacing) * 1);
    }

    .mr-4 {
        margin-right: calc(var(--spacing) * 4);
    }

    .px-1 {
        padding-inline: calc(var(--spacing) * 1);
    }

    .pl-1 {
        padding-left: calc(var(--spacing) * 1);
    }

    .pr-1 {
        padding-right: calc(var(--spacing) * 1);
    }

    .text-center {
        text-align: center;
    }

    .contain-size {
        contain: size;
    }

    .cursor-pointer {
        cursor: pointer;
    }

    .text-black {
        color: black;
    }

    .bold {
        font-weight: bold;
    }

    .small {
        font-size: small;
    }

    .select-none {
        user-select: none;
    }
}
