/* An immersive perspective room, entirely drawn in code. */
.dark .hero{height:150svh}.dark .hero-pin{background:#05090b}.dark .hero-world{background:#05090b;transition:opacity .25s ease-out;overflow:hidden}
.cube-room{position:absolute;inset:-2%;transform:scale(var(--cube-depth,1));transform-origin:55% 43%;will-change:transform;background:radial-gradient(ellipse at 63% 68%,#487c4520,transparent 52%),linear-gradient(180deg,#05080b,#07110e)}
.cube-space{width:100%;height:100%;display:block;overflow:hidden;stroke:#bcff81;stroke-width:.8;vector-effect:non-scaling-stroke}.cube-grid-line{opacity:.19}.cube-back-line{opacity:.105}.cube-edge{opacity:.43;stroke-width:1}.cube-back-edge{opacity:.32;stroke-width:1}.cube-trace{stroke:#d6ff71;stroke-width:1.5;opacity:.2;stroke-dasharray:160 650;animation:cube-tracing 16s linear infinite}
.cube-atmosphere{position:absolute;inset:0;background:linear-gradient(90deg,#05090bb3 0%,#05090b55 35%,transparent 66%),radial-gradient(ellipse at 58% 42%,transparent 20%,#05090b33 60%,#05090bb3 100%);pointer-events:none}
@keyframes cube-tracing{to{stroke-dashoffset:-810}}
@media(max-width:850px){.dark .hero{height:145svh}.cube-room{inset:-4% -50% -4% -20%}.cube-grid-line{opacity:.16}.cube-atmosphere{background:linear-gradient(90deg,#05090bc9,#05090b55),radial-gradient(ellipse at 60% 50%,transparent,#05090b88)}}
@media(prefers-reduced-motion:reduce){.dark .hero{height:auto}.cube-room{transform:none}.cube-trace{animation:none}.dark .hero-world{opacity:1!important;transition:none}}
