/* Reference reconstruction: front camera / top X / right Y.
   All three emblems live in the coordinate systems of real CSS 3D faces. */
.logo-builder-v15 { --pointer-x:0deg; --pointer-y:0deg; perspective:1600px; }
.logo-view-v15 {
  transform:rotateX(calc(-22deg + var(--pointer-x))) rotateY(calc(-34deg + var(--pointer-y)));
}
.logo-builder-v15 .cube-face-v15 {
  animation:none; transform:var(--face-final); opacity:1;
}
.logo-builder-v15 .glass-material-v15,
.logo-builder-v15 .glass-frame-v15,
.logo-builder-v15 .camera-symbol-v15,
.logo-builder-v15 .x-symbol-v15,
.logo-builder-v15 .y-symbol-v15,
.logo-builder-v15 .cube-volume-v15 { animation:none; opacity:1; }
.logo-builder-v15 .cube-vertex-v15,
.logo-builder-v15 .cube-light-v15 { display:none; }
/* Keep the original glass, edge bloom and blue ambient lighting from logo-cube.css. */
.logo-builder-v15 .camera-symbol-v15,
.logo-builder-v15.is-engaged .camera-symbol-v15 {
  width:76%;height:76%;transform:translateZ(1.5px);
}
.camera-glass-v2 {
  display:block;width:100%;height:100%;overflow:visible;
  filter:drop-shadow(0 0 4px rgba(206,237,255,.48)) drop-shadow(0 0 11px rgba(102,184,255,.2));
}
.logo-builder-v15 .x-symbol-v15,
.logo-builder-v15.is-engaged .x-symbol-v15 {
  position:absolute;inset:0;width:100%;height:100%;transform:translateZ(0);
}
.logo-builder-v15 .x-symbol-v15 b { display:none; }
.logo-builder-v15 .x-symbol-v15::before,
.logo-builder-v15 .x-symbol-v15::after {
  content:'';position:absolute;inset:0;
  /* Reference-derived unequal straight bands in top-face coordinates:
     .76x <= y <= .76x+24 and 64-.64x <= y <= 100-.64x.
     The right edge occupies y=0..36 and 76..100; after folding,
     right-face u=100-y maps these EXACTLY to Y's u=64..100 and 0..24.
     No extra strokes may exit through the camera/front face. */
  clip-path:polygon(0 0,45.714286% 34.742857%,100% 0,100% 36%,71.428571% 54.285714%,100% 76%,100% 100%,54.285714% 65.257143%,0 100%,0 64%,28.571429% 45.714286%,0 24%);
  background:linear-gradient(90deg,rgba(185,215,237,.9),var(--ice-white) 38%,rgba(200,226,244,.78));
}
.logo-builder-v15 .x-symbol-v15::before { transform:translateZ(-1px);background:#7995b1; }
.logo-builder-v15 .x-symbol-v15::after { box-shadow:inset 0 0 5px rgba(255,255,255,.9); }
.logo-builder-v15 .y-symbol-v15,
.logo-builder-v15.is-engaged .y-symbol-v15 {
  position:absolute;inset:0;width:100%;height:100%;transform:translateZ(0);
  border:0;filter:none;
  /* Shared 0..24 / 64..100 edge intervals with X above; proportions
     follow the reference's open fork and slightly left-offset stem. */
  clip-path:polygon(0 0,24% 0,47% 31%,64% 0,100% 0,61% 45%,61% 100%,35% 100%,35% 54%);
  background:linear-gradient(90deg,rgba(179,211,235,.82),var(--ice-white) 43%,rgba(198,224,242,.76));
  box-shadow:inset 0 0 8px rgba(247,252,255,.8);
}
.logo-builder-v15 .y-symbol-v15 b { display:none; }
.logo-builder-v15 .cube-volume-v15 { display:none; }
.logo-builder-v15 .logo-float-v15 { animation:referenceFloatV2 8s ease-in-out infinite; }
@keyframes referenceFloatV2 { 0%,100%{transform:translateY(-2px)}50%{transform:translateY(2px)} }
@media(prefers-reduced-motion:reduce){.logo-builder-v15 .logo-float-v15{animation:none}}
