/* Same reserved square as the original artwork. Canvas never owns interaction. */
.oddo-character[data-character-3d=true] { position: relative; isolation: isolate; aspect-ratio: 1 / 1; }
.core-3d-canvas { position: absolute; inset: 0; display: block; width: 100%; height: 100%; opacity: 0; pointer-events: none; transition: opacity 180ms ease-out; }
.oddo-character[data-character-renderer=webgl] .core-3d-canvas { opacity: 1; }
.oddo-character[data-character-renderer=webgl] .oddo-character-image { opacity: 0 !important; }
.core-3d-caption { position: absolute; bottom: 0; right: 8%; font: 8px ui-monospace,SFMono-Regular,monospace; letter-spacing: .5px; color: #637662; pointer-events: none; opacity: 0; }
.oddo-character[data-character-renderer=webgl] .core-3d-caption { opacity: 1; }
.office-world .demo-character-core:has([data-character-renderer=webgl]) { animation: none !important; transform: none !important; }
.office-world .demo-scene:has([data-character-renderer=webgl]) .entry-character-shadow { opacity: 0; }
@media (max-width: 700px) { .core-3d-caption { font-size: 6px; right: 0; bottom: 5px; } }
@media (prefers-reduced-motion: reduce) { .core-3d-canvas { transition: none; } }
