#virtual-glass {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    z-index: 999999;
    pointer-events: none;
    display: none;
    background: transparent;
    cursor: url("data:image/svg+xml;utf8,<svg xmlns=%27http://www.w3.org/2000/svg%27 width=%2724%27 height=%2724%27><circle cx=%2712%27 cy=%2712%27 r=%2710%27 fill=%27red%27 fill-opacity=%270.9%27 stroke=%27white%27 stroke-width=%272%27/></svg>") 12 12, crosshair;
}

#virtual-glass.active {
    display: block;
    pointer-events: auto;
}

#laser-snapshot {
    position: absolute;
    z-index: 0;
    pointer-events: none;
    background: #F1F7ED;
}

#laser-canvas {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
}

#virtual-glass.active #laser-canvas {
    pointer-events: auto;
}

#laser-hud {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 2;
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 4px 10px;
    background: rgba(31, 31, 31, 0.72);
    color: #fff;
    font: 12px/1.3 sans-serif;
    border-radius: 4px;
    pointer-events: auto;
    white-space: nowrap;
}

#laser-hud-exit {
    display: none;
    font: 12px sans-serif;
    cursor: pointer;
}

html.laser-active,
html.laser-active * {
    user-select: none !important;
}

html.laser-capturing,
html.laser-capturing * {
    cursor: wait !important;
}

/* Hide only the live chart under the snapshot; side panels stay visible */
body.laser-chart-frozen #container {
    visibility: hidden !important;
}

.html2canvas-container,
iframe.html2canvas-container {
    position: fixed !important;
    left: -10000px !important;
    top: 0 !important;
    opacity: 0 !important;
    pointer-events: none !important;
}
