/* public/css/sematagraph.css */
/* Shared behavioral styles - animations, drag states, global layout */

html {
    background-color: lightgrey;
}
body {
    margin: 0px;
    background-color: lightgrey;
}

/* Edge editing UI */
.addingEdgeFormBox {
    position: absolute;
    border-radius: 1em;
    padding: .5em;
    background-color: lightgray;
}
.addingEdgeFormBox button {
    border-radius: .5em;
}

/* URL input during drag */
.draggingVisualizable input[type=url] {
    border: 1em solid var(--input-border);
    border-color: red;
    border-style: dotted;
    animation: dropzone-glow 1.5s ease-in-out infinite;
}
input[type=url]:hover {
    background-color: gold;
    border-style: dashed;
}

/* Shared dropzone glow — geometry-stable (no transform: scale).
   Uses box-shadow so hit areas stay fixed during animation. */
@keyframes dropzone-glow {
    0%, 100% { box-shadow: 0 0 4px 1px rgba(50, 205, 50, 0.4); }
    50%      { box-shadow: 0 0 12px 4px rgba(50, 205, 50, 0.9); }
}

/* General drag styling */
.draggedChit {
    font-style: bold;
    position: absolute;
    border: 2px;
    border-color: black;
    background-color: lightblue;
    margin: 5px;
    border-radius: 1em;
    cursor: move;
    z-index: 1000;
}

.dropzone {
    border-width: 2px;
    border-color: green;
}

/* NEWS/Replace buttons - show and animate during drag */
.draggingVisualizable .Visualizations,
.draggingVisualizable .Replace,
.draggingVisualizable .East,
.draggingVisualizable .West,
.draggingVisualizable .North,
.draggingVisualizable .South {
    display: flex;
    animation: dropzone-glow 1.5s ease-in-out infinite;
}

.draggingVisualizable .Visualizations:hover,
.draggingVisualizable .Replace:hover,
.draggingVisualizable .East:hover,
.draggingVisualizable .West:hover,
.draggingVisualizable .North:hover,
.draggingVisualizable .South:hover {
    box-shadow: 0 0 16px 6px rgba(50, 205, 50, 1);
}

/* Top-level menus */
.TopMenu {
    top: 0em;
    right: 3em;
}

.MainMenu {
    user-select: none;
    display: inherit;
    font-size: large;
    font-weight: bold;
    background-color: orange;
    position: absolute;
    cursor: pointer;
    z-index: 2000;
    top: 0px;
    right: 7em;   /* past TopBar + gear overflow */
    text-align: center;
    width: auto;
    min-width: 1em;
    padding: .2em;
    padding-left: .4em;
    padding-right: .4em;
    border-bottom-right-radius: .5em;
    border-bottom-left-radius: .5em;
}

/* Single-panel: Close hidden, class-dispenser 64px + gear 26px ≈ 90px */
.single-panel .MainMenu {
    right: 6em;
}

.VisibleMenu {
    display: block !important;
    z-index: 2000;
}

.TheMainMenu {
    display: none;
    position: absolute;
    top: 0em;
    right: 1em;
    background-color: #f0f0f0;
    border-radius: 8px;
    overflow: hidden;
    font-family: Arial, sans-serif;

    ul {
        list-style-type: none;
        padding: 0;
        margin: 0;
    }

    li {
        display: flex;
        align-items: center;
        padding: .1em .2em;
        transition: background-color 0.3s;
        
        &:hover {
            background-color: #e0e0e0;
            cursor: pointer;
        }
    }

    i {
        font-style: normal;
        font-size: 20px;
        width: 30px;
        text-align: center;
        margin-right: 10px;
    }
    
    span {
        font-size: 16px;
    }
    
    .CurrentUserItem {
        background-color: #d0d0d0;
        font-weight: bold;
    }
    
    .menudiv {
        height: 1px;
        background-color: #ccc;
        margin: 8px 0;
        padding: 0;
        
        &:hover {
            background-color: #ccc;
            cursor: default;
        }
    }

    .codeQuality::after {
        content: '';
    }
}

.Visualizations {
    user-select: none;
    display: none;
    font-size: large;
    font-weight: bold;
    background-color: lightblue;
    position: absolute;
    cursor: pointer;
    z-index: 2000;
    left: 8em;
    top: 0px;
    width: auto;
    border-bottom-left-radius: .5em;
    border-bottom-right-radius: .5em;
}

