/* studio-scene.css — the 3D card stage (shared by the editor preview and the headless render page) */
.st-host { position: relative; }
.st-stage { position: relative; overflow: hidden; background: #000; direction: ltr; transform-style: flat; }
.st-bg { position: absolute; inset: 0; }
.st-world { position: absolute; left: 50%; top: 50%; width: 0; height: 0; transform-style: preserve-3d; }
.st-card { position: absolute; left: 0; top: 0; overflow: hidden; background: #111; backface-visibility: hidden; -webkit-backface-visibility: hidden; will-change: transform, opacity; }
.st-card img, .st-card video { width: 100%; height: 100%; object-fit: cover; display: block; pointer-events: none; }
.st-card-empty { display: grid; place-items: center; background: linear-gradient(135deg, #2a2a36, #15151d); color: rgba(255,255,255,.35); font-family: var(--font); font-weight: 900; font-size: 42px; line-height: 1; border: 1px solid rgba(255,255,255,.08); }
.st-fx { position: absolute; inset: 0; pointer-events: none; }
.st-overlay { position: absolute; inset: 0; pointer-events: none; direction: rtl; }
.st-text { position: absolute; display: flex; flex-direction: column; gap: .2em; max-width: 62%; font-family: var(--font); line-height: 1.25; text-shadow: 0 2px 24px rgba(0,0,0,.45); }
.st-text strong { font-weight: 900; font-size: 1em; }
.st-text span { font-weight: 500; font-size: .5em; opacity: .85; }
.st-logo { position: absolute; width: auto; object-fit: contain; }
.st-pos-top-right { top: 6%; right: 6%; text-align: right; }
.st-pos-top-left { top: 6%; left: 6%; text-align: left; }
.st-pos-bottom-right { bottom: 6%; right: 6%; text-align: right; }
.st-pos-bottom-left { bottom: 6%; left: 6%; text-align: left; }
.st-pos-center { left: 50%; top: 50%; transform: translate(-50%, -50%); text-align: center; align-items: center; }
.st-pos-bottom-center { bottom: 6%; left: 50%; transform: translateX(-50%); text-align: center; align-items: center; }
.st-safe { position: absolute; inset: 5%; border: 1px dashed rgba(255,255,255,.4); pointer-events: none; }
