/* Shared fixed framing. Seven cube ticks per axis, six usable columns. */
.playground .spatial-object{transform:none;max-width:760px;overflow:visible}
.playground .object-wrap{inset:0 0 24% 26%;justify-content:center}
.playground .project-word{font-size:14.3px;font-weight:700}
@media(max-width:760px){.playground{min-height:760px}.playground .object-wrap{inset:23% 0 20%;}.playground .spatial-object{max-width:none}.playground .model-caption{pointer-events:none}.playground .project-hit{pointer-events:all}}

.project-cell.is-internal{display:none}

/* One world-space surface mesh replaces the separately mirrored face layers. */
.project-front-layer,.project-depth-layer{display:none}
.mesh-cube .mesh-front{fill:var(--category)}
.mesh-cube .mesh-cap{fill:color-mix(in srgb,var(--category) 75%,white)}
.mesh-cube .mesh-side{fill:var(--category-side)}
.mesh-solid>polygon{stroke:var(--ink);stroke-width:.65;stroke-linejoin:round;vector-effect:non-scaling-stroke}
.mesh-wire{opacity:0}.mesh-wire polygon{fill:none;stroke:var(--ink);stroke-width:.8;vector-effect:non-scaling-stroke}
.mesh-solid{transition:opacity .32s,filter .32s}.mesh-cube.is-previewed .mesh-solid{opacity:0;filter:blur(7px)}.mesh-cube.is-previewed .mesh-wire{opacity:.85}
.mesh-cube a{cursor:pointer}.mesh-cube.is-falling{animation:iso-z-drop 620ms cubic-bezier(.4,0,.8,.75) var(--drop-delay,0ms) both}
@media(prefers-reduced-motion:reduce){.mesh-cube.is-falling{animation:none}}
/* Interactive surfaces explicitly opt in: the SVG framing inherits pointer-events:none. */
.voxel-mesh .mesh-solid>polygon{pointer-events:all}
.voxel-mesh .project-label,.voxel-mesh .mesh-wire{pointer-events:none}
.voxel-mesh a:focus-visible .mesh-wire{opacity:.85}

/* Hierarchy: fine module grid, defined volume edges, strongest project contacts. */
.voxel-mesh .mesh-solid>polygon{stroke:none}
.voxel-mesh .mesh-wire polygon{display:none}
.voxel-mesh .mesh-solid>path,.voxel-mesh .mesh-wire>path{fill:none;stroke:var(--ink);stroke-linejoin:round;stroke-linecap:round;vector-effect:non-scaling-stroke;pointer-events:none}
.voxel-mesh .mesh-module-edge{stroke-width:.35;stroke-opacity:.23}
.voxel-mesh .mesh-volume-edge{stroke-width:1.05;stroke-opacity:.85}
.voxel-mesh .mesh-contact-edge{stroke-width:1.6;stroke-opacity:1}
