.soc-cabinet .soc-demo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    border: 0;
    pointer-events: none;
    opacity: 0;
}
.soc-cabinet .soc-demo.is-ready { opacity: 1; }
.soc-cabinet .soc-launch {
    position: absolute;
    left: 50%;
    bottom: 12px;
    transform: translateX(-50%);
    white-space: nowrap;
}
.soc-dialog {
    box-sizing: border-box;
    width: min(1160px, 96vw);
    height: min(900px, 94dvh);
    max-width: none;
    max-height: none;
    margin: auto;
    padding: 0;
    border: 3px solid var(--ink);
    background: var(--navy);
    color: white;
}
.soc-dialog[open] { display: grid; grid-template-rows: auto minmax(0, 1fr); }
.soc-dialog::backdrop { background: rgba(13, 19, 45, .8); }
.soc-dialog-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 12px;
}
.soc-dialog iframe { display: block; width: 100%; height: 100%; border: 0; }
html:has(.soc-dialog[open]) { overflow: hidden; }
