body {
    font-family: "Inter", sans-serif;
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background-color: #f87171;
    /* red-400 */
    animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

@keyframes pulse {
    50% {
    opacity: 0.5;
    }
}

#recordBtn[disabled],
#cropCheckbox:disabled+label,
#systemAudioToggle:disabled+label,
#micAudioToggle:disabled+label {
    cursor: not-allowed;
    opacity: 0.7;
}

#systemAudioToggle:disabled,
#micAudioToggle:disabled {
    cursor: not-allowed;
}

/* Cropping Styles */
#cropBox {
    position: absolute;
    border: 2px dashed #fff;
    box-shadow: 0 0 0 9999px rgba(0, 0, 0, 0.5);
    cursor: move;
    z-index: 10;
}

.resize-handle {
    position: absolute;
    width: 12px;
    height: 12px;
    background: #fff;
    border: 1px solid #333;
    border-radius: 2px;
    z-index: 11;
}

.resize-handle.top-left {
    top: -6px;
    left: -6px;
    cursor: nwse-resize;
}

.resize-handle.top-right {
    top: -6px;
    right: -6px;
    cursor: nesw-resize;
}

.resize-handle.bottom-left {
    bottom: -6px;
    left: -6px;
    cursor: nesw-resize;
}

.resize-handle.bottom-right {
    bottom: -6px;
    right: -6px;
    cursor: nwse-resize;
}

.resize-handle.top {
    top: -6px;
    left: 50%;
    transform: translateX(-50%);
    cursor: ns-resize;
}

.resize-handle.bottom {
    bottom: -6px;
    left: 50%;
    transform: translateX(-50%);
    cursor: ns-resize;
}

.resize-handle.left {
    left: -6px;
    top: 50%;
    transform: translateY(-50%);
    cursor: ew-resize;
}

.resize-handle.right {
    right: -6px;
    top: 50%;
    transform: translateY(-50%);
    cursor: ew-resize;
}

#cropBox.is-recording {
    border-style: none;
}

#cropBox.is-recording .resize-handle {
    display: none;
}
