.operator-embed {
    position: relative;
    flex: 1;
    min-height: 0;
    overflow: hidden;
    background: var(--bg);
    color: var(--text);
}

#operator-frame {
    width: 100%;
    height: 100%;
    min-height: 520px;
    border: 0;
    background: var(--bg);
}

.operator-embed-state {
    position: absolute;
    inset: var(--space-6);
    display: grid;
    place-content: center;
    justify-items: center;
    gap: var(--space-3);
    min-height: 360px;
    padding: var(--space-7);
    border: 1px solid var(--border);
    border-radius: var(--radius-card);
    background: var(--bg-card);
    text-align: center;
}

.operator-embed-state[hidden] { display: none; }
.operator-embed-state strong { font-size: var(--font-section); }
.operator-embed-state small { max-width: 440px; color: var(--text-dim); line-height: var(--line-body); }
.operator-embed-state[data-state="error"] strong { color: var(--status-error-text); }
.operator-spinner {
    width: 22px;
    height: 22px;
    border: 2px solid var(--border);
    border-top-color: var(--accent);
    border-radius: 50%;
    animation: operator-spin .8s linear infinite;
}

@keyframes operator-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .operator-spinner { animation: none; border-top-color: var(--border); } }
@media (max-width: 760px), (max-height: 560px) {
    .operator-embed-state { inset: var(--space-4); padding: var(--space-5); }
    #operator-frame { min-height: 440px; }
}
