.floating-stage { position: relative; height: min(820px, 80svh); min-height: 420px; overflow: hidden; isolation: isolate; touch-action: pan-y; cursor: grab; background: radial-gradient(ellipse at center, #fff 25%, #eeeef1 100%); }
.floating-stage.dragging { cursor: grabbing; }
.floating-space { position: absolute; inset: 0; filter: blur(var(--blur, 0px)); }
.floating-object { position: absolute; top: 0; left: 0; margin: 0; display: grid; place-items: center; will-change: transform; }
.floating-object img, .floating-object video { display: block; width: 100%; height: 100%; object-fit: contain; pointer-events: none; user-select: none; }
.floating-object.kind-logo { padding: 6px; }
.floating-object video { position: absolute; inset: 0; }
.floating-object.kind-ui { filter: drop-shadow(0 8px 15px rgb(0 0 0 / 10%)); }
.floating-reveal { position: absolute; inset: 0; display: grid; place-items: center; pointer-events: none; opacity: var(--reveal, 0); background: rgb(255 255 255 / 48%); z-index: 10; }
.floating-reveal p { margin: 0; padding: 20px; text-align: center; font-size: clamp(48px, 9vw, 128px); line-height: .91; letter-spacing: -.065em; font-weight: 800; transform: translateY(var(--float, 0px)) scale(var(--scale, 1)); }
@media (prefers-reduced-motion: reduce) { .floating-space { filter: none; } }

.floating-stage:focus-visible { outline: 3px solid #6952e8; outline-offset: -3px; }
.floating-object[data-rotatable=true]{cursor:grab;outline:none}.floating-object[data-rotatable=true]:focus-visible{outline:2px solid #6f8d70;outline-offset:5px}.floating-object.spinning{cursor:grabbing}

.floating-object[data-rotatable=true]:focus-visible{outline:none}.floating-object[data-rotatable=true]:focus-visible::after{content:'';position:absolute;bottom:-8px;left:calc(50% - 3px);width:6px;height:6px;border-radius:50%;background:#334c40}
