.hall-model{position:relative;overflow:hidden;border:1px solid var(--gray-200);border-radius:var(--radius);background:var(--white)}
.hall-model__frame{display:block;width:100%;height:740px;border:0;background:var(--white)}
.hall-model__fallback{margin:0}.hall-model__fallback img{width:100%;height:auto;aspect-ratio:11/6;object-fit:cover}.hall-model__fallback figcaption{padding:12px 16px;color:var(--gray-600);font-size:.85rem}
.hall-model__fallback[hidden]{display:none}
.hall-model__loader{position:absolute;inset:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:24px;text-align:center;color:var(--blue-900);background:var(--white)}
.hall-model__loader>span:last-child{max-width:300px;color:var(--gray-600);font-size:.9rem}
.hall-model__loader strong{font-size:1.1rem;font-weight:600}
.hall-model__spinner{width:44px;height:44px;border:3px solid var(--blue-100);border-top-color:var(--blue-700);border-radius:50%;animation:hall-model-spin .85s linear infinite;will-change:transform}
.hall-model[data-state=loading] .hall-model__frame{opacity:0;pointer-events:none}
.hall-model__loader[hidden],.hall-model__retry[hidden]{display:none}
.hall-model__retry{margin:0 16px 16px}
@keyframes hall-model-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.hall-model__spinner{animation:none}}
@media(max-width:600px){.hall-model__frame{height:820px}}
