/* 3D Stage (12.9) */
.st3-engines { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 10px; }
.st3-eng { display: grid; grid-template-columns: auto 1fr; grid-template-areas: "e b" "e s"; align-items: center; column-gap: 8px; text-align: left; min-height: 64px; padding: 8px 14px; }
.st3-eng > span { grid-area: e; font-size: 28px; } .st3-eng b { grid-area: b; } .st3-eng small { grid-area: s; opacity: .8; font-weight: 500; }
.st3-eng[disabled] { opacity: .45; cursor: not-allowed; }
.st3-models { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .st3-models:empty { display: none; }
.st3-model { min-height: 48px; }
.st3-stagecard { padding: 10px; }
.st3-stage { position: relative; height: clamp(320px, 56vh, 560px); border-radius: 18px; overflow: hidden; background: radial-gradient(120% 90% at 50% 0%, #e9f4ff 0%, #cfe3ff 55%, #b5d0f5 100%); }
:root[data-theme="dark"] .st3-stage { background: radial-gradient(120% 90% at 50% 0%, #1d2f63 0%, #14224a 60%, #0c1530 100%); }
.st3-stage .st3-canvas, .st3-th, .st3-th canvas { position: absolute; inset: 0; width: 100% !important; height: 100% !important; display: block; }
.st3-classic { position: absolute; inset: 0; display: grid; place-items: end center; padding-bottom: 12px; }
.st3-classic > .avatar { width: min(46%, 260px); }
.st3-talker { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.st3-wait { position: absolute; inset: 0; display: grid; place-items: center; font-weight: 700; color: #26407a; }
.st3-acts { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-top: 12px; }
.st3-acts .kbtn[aria-disabled="true"] { opacity: .6; }
@media (max-width: 699px) { .st3-acts { grid-template-columns: repeat(2, minmax(0, 1fr)); } .st3-stage { height: clamp(280px, 48vh, 460px); } }
@media (prefers-reduced-motion: reduce) { .st3-th { transition: none !important; } }
