/* An optional 3D surprise: no layout change until the visitor opens it. */
.hero-inner {position:relative}
.site-header .brand[aria-expanded=true] img {box-shadow:0 0 0 4px #b70d2b20;border-radius:2px}
.hero-badge {z-index:5;width:var(--badge-size,260px);color:var(--ink);animation:badge-appear .45s ease both}
.hero-badge.is-floating {position:absolute;left:var(--badge-left);top:var(--badge-top)}
.hero-badge.is-inline {position:relative;width:min(100%,280px);margin:0 auto 26px}
.badge-stage {position:relative;aspect-ratio:1;background:radial-gradient(ellipse at 50% 45%,#fff9 0%,#fff0 70%);isolation:isolate}
.badge-stage:after {content:"";position:absolute;z-index:-1;left:27%;bottom:6%;width:46%;height:8px;border-radius:50%;background:#4b241a20;filter:blur(6px)}
.badge-stage model-viewer {display:block;width:100%;height:100%;background:transparent;--poster-color:transparent;--progress-bar-color:var(--red);--progress-bar-height:2px;opacity:0;transition:opacity .35s;touch-action:pan-y}
.hero-badge.is-ready model-viewer {opacity:1}
.badge-close {position:absolute;top:0;right:0;z-index:3;display:grid;place-items:center;width:34px;height:34px;padding:0;background:var(--paper);border:1px solid var(--line);border-radius:50%;font-size:24px;line-height:1;color:var(--muted);transition:background .2s,color .2s}
.badge-close:hover {background:var(--red);color:#fff}
.badge-status {position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;padding:38px 18px;text-align:center;font-size:15px;line-height:1.6;color:var(--muted)}
.badge-spinner {width:26px;height:26px;border:2px solid #b70d2b20;border-top-color:var(--red);border-radius:50%;animation:badge-spin .9s linear infinite}
.badge-retry {padding:5px 14px;border:1px solid var(--red);background:transparent;color:var(--red);border-radius:3px;font-size:15px}
.hero--arena .hero-badge {color:#fff}
.hero--arena .badge-stage {background:radial-gradient(ellipse at 50% 45%,#ffffff18 0%,#fff0 70%)}
.hero--arena .badge-close {background:#181a1ddd;border-color:#ffffff55;color:#fff}
.hero--arena .badge-close:hover {background:var(--red)}
.hero--arena .badge-status {color:#fff}
.hero--arena .badge-retry {color:#fff;border-color:#ffffff88}
@keyframes badge-appear {from {opacity:0;transform:translateY(12px) scale(.94)} to {opacity:1;transform:none}}
@keyframes badge-spin {to {transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce) {.hero-badge,.badge-spinner {animation:none}.badge-stage model-viewer {transition:none}}
