.window-context-highlight {
    fill: rgba(112, 56, 219, .10);
    stroke: #6d3bd1;
    stroke-width: 2;
    vector-effect: non-scaling-stroke;
    rx: 3px;
    filter: drop-shadow(0 0 3px rgba(57, 142, 210, .28));
}

.window-context-highlight.is-frame {
    fill: none;
    stroke-width: 4;
}

.window-context-hint {
    position: fixed;
    z-index: 24990;
    max-width: 220px;
    padding: 6px 9px;
    border: 1px solid rgba(62, 126, 190, .28);
    border-radius: 7px;
    background: rgba(10, 35, 58, .94);
    color: #fff;
    box-shadow: 0 5px 14px rgba(9, 30, 52, .18);
    font: 600 12px/1.25 Arial, sans-serif;
    pointer-events: none;
}

.window-context-menu {
    position: fixed;
    z-index: 25000;
    width: min(260px, calc(100vw - 16px));
    padding: 7px;
    border: 1px solid rgba(47, 125, 190, .34);
    border-radius: 11px;
    background: #fff;
    box-shadow: 0 15px 38px rgba(8, 31, 54, .25);
    font-family: Arial, sans-serif;
}

.window-context-menu[hidden] {
    display: none;
}

.window-context-menu-title {
    margin: -7px -7px 6px;
    padding: 10px 12px;
    border-radius: 10px 10px 5px 5px;
    background: linear-gradient(115deg, #158fc8, #6e3bd2);
    color: #fff;
    font-size: 13px;
    font-weight: 800;
}

.window-context-menu-action {
    display: block;
    width: 100%;
    min-height: 36px;
    padding: 8px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: #10283c;
    font-size: 13px;
    font-weight: 700;
    text-align: left;
    cursor: pointer;
}

.window-context-menu-action:hover,
.window-context-menu-action:focus-visible {
    outline: none;
    background: #eef6fc;
    color: #6333ca;
}

@media (max-width: 800px) {
    .window-context-hint {
        display: none !important;
    }

    .window-context-menu {
        width: min(290px, calc(100vw - 20px));
        padding: 8px;
        border-radius: 14px;
    }

    .window-context-menu-title {
        margin: -8px -8px 7px;
        padding: 12px 13px;
    }

    .window-context-menu-action {
        min-height: 44px;
        font-size: 14px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .window-context-menu-action,
    .window-context-highlight {
        transition: none;
    }
}
