/* Meshes carry the visual; transparent controls follow their projected bounds. */
.collection-modeled{position:relative;overflow:hidden;min-height:100svh!important;background:#000}
.collection-model-stage,.collection-model-controls{position:absolute;inset:0;width:100%;height:100%}
.collection-model-stage{z-index:1;pointer-events:none}
.collection-model-stage>canvas{display:block;width:100%;height:100%;background:transparent}
.collection-model-controls{z-index:2;pointer-events:none}
.collection-model-choice{position:absolute;display:block;transform:translateX(-50%);margin:0;padding:0;border:0;background:none;border-radius:0;cursor:pointer;pointer-events:auto;touch-action:manipulation;outline:none!important;-webkit-tap-highlight-color:transparent}
.collection-model-label{position:absolute;left:50%;bottom:100%;width:max-content;max-width:calc(100vw / 3 - 36px);transform:translate(-50%,8px) rotate(-2deg);text-align:center;font-family:Combo,cursive;font-size:clamp(25px,2.45vw,39px);font-weight:400;line-height:1.1;color:#de9d68;text-shadow:0 2px 5px #080a0d,0 0 10px #000;opacity:0;visibility:hidden;transition:opacity .2s ease,transform .3s ease,visibility .2s;pointer-events:none}
.collection-model-choice:is(:hover,:focus-visible,.is-hovered) .collection-model-label{opacity:1;visibility:visible;transform:translate(-50%,0) rotate(-2deg)}
.collection-model-choice:focus-visible .collection-model-label{text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:7px}
.collection-model-choice:disabled{cursor:wait}
.collection-model-choice[hidden]{display:none}
.collection-modeled.collection-paused .collection-model-label{opacity:0;visibility:hidden}
@media(max-width:650px) and (orientation:portrait){.collection-modeled{height:100svh;min-height:690px!important}.collection-model-label{font-size:26px;max-width:190px}}
@media(prefers-reduced-motion:reduce){.collection-model-label{transition:none}}
