.cam-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.2fr) minmax(260px, 0.8fr);
    gap: 1.25rem;
    align-items: start;
}

.cam-preview-wrap {
    position: relative;
    border: 1px solid var(--tool-border);
    border-radius: var(--tool-radius-sm);
    background: rgba(0, 0, 0, 0.2);
    overflow: hidden;
    min-height: 240px;
}

.cam-preview,
.cam-snapshot {
    display: block;
    width: 100%;
    max-height: min(62vh, 520px);
    object-fit: contain;
    background: #0a0a08;
}

.cam-preview.is-mirror {
    transform: scaleX(-1);
}

.cam-res-info {
    margin: 0;
    padding: 0.55rem 0.75rem;
    border-top: 1px solid var(--tool-border);
    font-size: 0.82rem;
}

.tool-check {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    margin-top: 1.6rem;
    color: var(--tool-muted);
    font-size: 0.9rem;
}

@media (max-width: 860px) {
    .cam-layout {
        grid-template-columns: 1fr;
    }
}
