/* Cube interaction additions; the existing composition and navigation remain intact. */
.cube-touch-zone{position:absolute;z-index:1;display:none;touch-action:none;user-select:none;-webkit-user-select:none;border-radius:8%;}
#scene.dragging,.cube-touch-zone.dragging{cursor:grabbing!important}
.cube-current{position:absolute;left:51.7%;top:75.5%;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;gap:16px;color:#d4d4d7;font-size:11px;line-height:1.6;text-decoration:none;white-space:nowrap;padding:10px 4px;opacity:.82;transition:opacity .25s}
.cube-current .mono{font-size:9px;color:#777}.cube-current>span:last-child{font-size:10px;color:#aaa}.cube-current:hover{opacity:1;color:#fff}.cube-current:focus-visible{opacity:1}
.cube-current{width:max-content;max-width:calc(100% - 44px)}.cube-current>span:nth-child(2){min-width:0;white-space:normal;overflow-wrap:anywhere;text-align:center}.cube-current>.mono,.cube-current>span:last-child{flex:none}
.hero .dots{gap:0;right:calc(var(--pad-x) - 24px)}.hero .dot{width:44px;height:44px;border:0;position:relative;padding:0;background:transparent}.hero .dot::before{content:'';position:absolute;inset:17px;border:1px solid #fff;border-radius:50%;background:#fff;transition:background .25s,box-shadow .25s}.hero .dot.active::before{background:transparent;box-shadow:0 0 0 3px #ffffff18}
.hero .hero-interaction-note{line-height:1.9}.cube-entering #scene,.cube-entering .cube-touch-zone{pointer-events:none}.cube-entering .ui{transition:opacity .4s;opacity:.4}.cube-entering .arrows,.cube-entering .dots{pointer-events:none}
body::after{content:'';position:fixed;inset:0;background:#080808;opacity:var(--cube-fade,0);z-index:1000;pointer-events:none}
.hero[data-scene-state=unavailable] .cube-touch-zone{display:none}.hero[data-scene-state=unavailable] .cube-current{opacity:1}.project-trigger{text-decoration:none;color:inherit}
@media(hover:none),(pointer:coarse){.cube-touch-zone{display:block}.cube-current{opacity:1}}
@media(max-width:768px){.cube-touch-zone{display:block}.cube-current{left:50%;top:65%;gap:12px;font-size:11px}.cube-current .mono{font-size:8px}.cube-current>span:last-child{font-size:9px}.hero .dots{right:0}.hero .hero-interaction-note{max-width:142px}}
@media(max-height:710px) and (max-width:768px){.cube-current{top:63.5%}}
