.o3d{--o3d-rx: -24deg;--o3d-ry: -36deg;--o3d-tx: 0deg;--o3d-ty: 0deg;position:relative;width:var(--o3d-size, 320px);max-width:100%;aspect-ratio:var(--o3d-ratio, 1);perspective:var(--o3d-persp, 1100px);perspective-origin:50% 40%;container-type:size;pointer-events:none;user-select:none}.o3d[data-tilt]{pointer-events:auto}.o3d-obj,.o3d-rig,.o3d-obj *:not(.o3d-f,.o3d-led,.o3d-port){transform-style:preserve-3d}.o3d-obj{position:absolute;left:50%;top:var(--o3d-oy, 62%);width:0;height:0;transform:rotateX(calc(var(--o3d-rx) + var(--o3d-tx))) rotateY(calc(var(--o3d-ry) + var(--o3d-ty)));transition:transform .6s cubic-bezier(.2,.7,.2,1)}.o3d-rig{position:absolute;inset:0}.o3d-obj{--o3d-u: calc(1cqw * var(--o3d-scale, 1))}.o3d-box,.o3d-hex,.o3d-plane,.o3d-shadow,.o3d-stack{--c: #1a2130;--a: var(--cyan, #56d4dd);--x: 0;--y: 0;--z: 0;--ry: 0deg;--gl: color-mix(in srgb, var(--a) 24%, transparent);--lt: color-mix(in srgb, var(--c), #fff 16%);--W: calc(var(--w, 10) * var(--o3d-u));--H: calc(var(--h, 10) * var(--o3d-u));--D: calc(var(--d, 10) * var(--o3d-u));position:absolute;left:0;top:0;transform:translate3d(calc(var(--x) * var(--o3d-u)),calc(var(--y) * -1 * var(--o3d-u)),calc(var(--z) * var(--o3d-u))) rotateY(var(--ry))}.o3d-plane{--D: calc(var(--d, var(--h, 10)) * var(--o3d-u))}.o3d-stack>.o3d-box{--y: calc(var(--i, 0) * (var(--h) + var(--gap, 2)))}.o3d-slab{--h: 3}.o3d-f{position:absolute;left:0;top:0;display:block;backface-visibility:hidden;-webkit-backface-visibility:hidden;background:var(--c);box-shadow:inset 0 0 0 1px #ffffff12}.o3d-top,.o3d-bottom{width:var(--W);height:var(--D);margin:calc(var(--D) / -2) 0 0 calc(var(--W) / -2)}.o3d-front,.o3d-back{width:var(--W);height:var(--H);margin:calc(var(--H) / -2) 0 0 calc(var(--W) / -2)}.o3d-left,.o3d-right{width:var(--D);height:var(--H);margin:calc(var(--H) / -2) 0 0 calc(var(--D) / -2)}.o3d-top{transform:translateY(calc(-1 * var(--H))) rotateX(90deg)}.o3d-bottom{transform:rotateX(-90deg)}.o3d-front{transform:translate3d(0,calc(var(--H) / -2),calc(var(--D) / 2))}.o3d-back{transform:translate3d(0,calc(var(--H) / -2),calc(var(--D) / -2)) rotateY(180deg)}.o3d-right{transform:translate3d(calc(var(--W) / 2),calc(var(--H) / -2),0) rotateY(90deg)}.o3d-left{transform:translate3d(calc(var(--W) / -2),calc(var(--H) / -2),0) rotateY(-90deg)}.o3d-top{background:linear-gradient(135deg,var(--lt),color-mix(in srgb,var(--c),#fff 7%));box-shadow:inset 0 0 0 1px #ffffff1f}.o3d-front{background:linear-gradient(180deg,color-mix(in srgb,var(--c),#fff 4%),var(--c));box-shadow:inset 0 1px #ffffff24,inset 0 0 0 1px #ffffff0f}.o3d-right,.o3d-hex>.o3d-f:nth-child(n+5){background:linear-gradient(180deg,color-mix(in srgb,var(--c),#000 26%),color-mix(in srgb,var(--c),#000 40%))}.o3d-left,.o3d-back,.o3d-bottom{background:color-mix(in srgb,var(--c),#000 45%)}.o3d-glow>.o3d-top,.o3d-f.o3d-glow{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 70%,transparent),inset 0 0 22px color-mix(in srgb,var(--a) 28%,transparent)}.o3d-glass>.o3d-f{background:linear-gradient(160deg,color-mix(in srgb,var(--a) 16%,transparent),transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--a) 45%,transparent)}.o3d-glass>.o3d-top{background:linear-gradient(160deg,var(--gl),transparent)}.o3d-grid>.o3d-top{--g: linear-gradient(135deg, var(--lt), var(--c));background-image:linear-gradient(var(--gl) 1px,transparent 1px),linear-gradient(90deg,var(--gl) 1px,transparent 1px),var(--g);background-size:2.5cqw 2.5cqw,2.5cqw 2.5cqw,auto}.o3d-glass.o3d-grid>.o3d-top{--g: linear-gradient(160deg, var(--gl), transparent)}.o3d .o3d-f.o3d-sh1{background:linear-gradient(180deg,color-mix(in srgb,var(--c),#fff 9%),color-mix(in srgb,var(--c),#fff 2%))}.o3d .o3d-f.o3d-sh2{background:linear-gradient(180deg,color-mix(in srgb,var(--c),#000 10%),color-mix(in srgb,var(--c),#000 22%))}.o3d .o3d-f.o3d-sh3{background:linear-gradient(180deg,color-mix(in srgb,var(--c),#000 30%),color-mix(in srgb,var(--c),#000 44%))}.o3d-f.o3d-vent{background-image:radial-gradient(rgba(0,0,0,.55) .32cqw,transparent .42cqw),linear-gradient(180deg,color-mix(in srgb,var(--c),#000 18%),color-mix(in srgb,var(--c),#000 38%));background-size:1.4cqw 1.4cqw,auto}.o3d-plane>.o3d-f{width:var(--W);height:var(--H);margin:calc(var(--H) / -2) 0 0 calc(var(--W) / -2);transform:translateY(calc(var(--H) / -2));backface-visibility:visible}.o3d-plane--floor>.o3d-f{height:var(--D);margin-top:calc(var(--D) / -2);transform:rotateX(90deg)}.o3d-shadow{width:var(--W);height:var(--D);margin:calc(var(--D) / -2) 0 0 calc(var(--W) / -2);transform:translate3d(calc(var(--x) * var(--o3d-u)),0,calc(var(--z) * var(--o3d-u))) rotateX(90deg);background:radial-gradient(closest-side,rgba(0,0,0,.6),transparent)}.o3d-hex{--R: calc(var(--r, 10) * var(--o3d-u))}.o3d-hex>.o3d-top{--W: calc(var(--R) * 2);--D: calc(var(--R) * 1.732);clip-path:polygon(25% 0,75% 0,100% 50%,75% 100%,25% 100%,0 50%)}.o3d-hex>.o3d-f:not(.o3d-top){width:var(--R);height:var(--H);margin:calc(var(--H) / -2) 0 0 calc(var(--R) / -2);transform:translateY(calc(var(--H) / -2)) rotateY(var(--k)) translateZ(calc(var(--R) * .866))}.o3d-hex>.o3d-f:nth-child(2){--k: 0deg}.o3d-hex>.o3d-f:nth-child(3){--k: 60deg}.o3d-hex>.o3d-f:nth-child(4){--k: 120deg}.o3d-hex>.o3d-f:nth-child(5){--k: 180deg}.o3d-hex>.o3d-f:nth-child(6){--k: 240deg}.o3d-hex>.o3d-f:nth-child(7){--k: 300deg}.o3d-hex>.o3d-f:nth-child(2),.o3d-hex>.o3d-f:nth-child(7){background:linear-gradient(180deg,color-mix(in srgb,var(--c),#fff 4%),var(--c))}.o3d-ru{--c: #161c26}.o3d-ru>.o3d-front{display:flex;align-items:center;gap:.9cqw;padding:0 2.2cqw;background:repeating-linear-gradient(90deg,rgba(255,255,255,.05) 0 1px,transparent 1px .9cqw) 62% 50% / 30% 50% no-repeat,linear-gradient(180deg,#232b38,#161c26)}.o3d-led{display:block;width:1.1cqw;height:1.1cqw;border-radius:50%;background:var(--accent, #39d353);box-shadow:0 0 1.4cqw var(--accent, #39d353)}.o3d-led--warn{background:var(--orange, #ffa657);box-shadow:0 0 1.4cqw var(--orange, #ffa657)}.o3d-port{display:block;width:1.6cqw;height:1.1cqw;border-radius:1px;background:#0a0d12;box-shadow:inset 0 0 0 1px #ffffff1f}@media(prefers-reduced-motion:no-preference){.o3d--turn .o3d-rig{--_t: o3d-turn 16s ease-in-out infinite alternate}.o3d--spin .o3d-rig{--_t: o3d-spin 24s linear infinite}.o3d--float .o3d-rig{--_b: o3d-bob 6s ease-in-out infinite}.o3d-rig{animation:var(--_t, none),var(--_b, none)}.o3d--breathe :is(.o3d-rig,.o3d-stack)>:is(.o3d-box,.o3d-hex,.o3d-plane){animation:o3d-breathe 7s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.12s)}.o3d--assemble :is(.o3d-rig,.o3d-stack)>:is(.o3d-box,.o3d-hex,.o3d-plane){animation:o3d-assemble .9s cubic-bezier(.2,.8,.2,1) both;animation-delay:calc(var(--i, 0) * .08s)}.o3d-led{animation:o3d-blink 2.6s steps(1,end) infinite;animation-delay:calc(var(--i, 0) * -.37s)}.o3d.is-off *,.o3d.is-paused *,.o3d-hidden .o3d *,.o3d.is-off *:before,.o3d.is-off *:after,.o3d.is-paused *:before,.o3d.is-paused *:after,.o3d-hidden .o3d *:before,.o3d-hidden .o3d *:after{animation-play-state:paused!important}}@keyframes o3d-turn{0%{transform:rotateY(-12deg)}to{transform:rotateY(12deg)}}@keyframes o3d-spin{to{transform:rotateY(360deg)}}@keyframes o3d-bob{50%{translate:0 calc(-1.6 * var(--o3d-u)) 0}}@keyframes o3d-breathe{50%{translate:0 calc(var(--i, 0) * -2.2 * var(--o3d-u)) 0}}@keyframes o3d-assemble{0%{translate:0 calc((-14 - var(--i, 0) * 2) * var(--o3d-u)) 0}}@keyframes o3d-blink{0%,82%{opacity:1}88%{opacity:.25}94%{opacity:1}97%{opacity:.4}}@supports not (transform-style: preserve-3d){.o3d-f:not(.o3d-front),.o3d-shadow{display:none}.o3d-obj{transform:none}}
