/* NodeX infrastructure concept — locally rendered CSS 3D and inline SVG. */
.nx-server-scene{--nx-copper:#ee8247;--nx-copper-light:#ffc494;position:relative;isolation:isolate;min-width:0;width:100%;max-width:660px;height:500px;overflow:hidden;overflow:clip;border:1px solid rgba(168,183,202,.16);border-radius:28px;background:#0c1017;color:#e8edf4;box-sizing:border-box;contain:layout style}
.nx-server-scene *, .nx-server-scene *::before,.nx-server-scene *::after{box-sizing:border-box}
.nx-server-scene .nx-scene{--nx-scene-scale:1;--nx-tilt-x:0deg;--nx-tilt-z:0deg;position:relative;width:100%;height:100%;perspective:1100px;background:radial-gradient(ellipse at 58% 43%,rgba(63,75,92,.16),transparent 62%);font-family:inherit}
.nx-server-scene .nx-scene-art{position:absolute;inset:0;perspective:1100px;pointer-events:none}
.nx-server-scene .nx-scene-aura{position:absolute;inset:5% -15% 15%;background:radial-gradient(ellipse at 60% 57%,rgba(233,112,54,.09),transparent 53%);opacity:.82}
.nx-server-scene .nx-scene-floor{position:absolute;inset:30% -24% -30%;background-image:linear-gradient(rgba(133,151,174,.065) 1px,transparent 1px),linear-gradient(90deg,rgba(133,151,174,.065) 1px,transparent 1px);background-size:30px 30px;transform:perspective(550px) rotateX(64deg) rotateZ(-29deg);mask-image:radial-gradient(ellipse at center,#000,transparent 67%);-webkit-mask-image:radial-gradient(ellipse at center,#000,transparent 67%)}
.nx-server-scene .nx-scene-orbit{position:absolute;left:50%;top:56%;width:80%;height:36%;border:1px solid rgba(170,184,204,.075);border-radius:50%;transform:translate(-50%,-50%) rotate(-17deg)}
.nx-server-scene .nx-scene-orbit--two{width:94%;height:48%;border-style:dashed;border-color:rgba(170,184,204,.045)}
.nx-server-scene .nx-scene-eyebrow{position:absolute;top:27px;left:27px;display:flex;align-items:center;gap:9px;font-size:9px;line-height:1.2;font-weight:650;letter-spacing:.17em;color:#b8c1ce}
.nx-server-scene .nx-scene-eyebrow>span{width:5px;height:5px;border-radius:50%;background:var(--nx-copper);box-shadow:0 0 10px rgba(238,130,71,.5)}
.nx-server-scene .nx-scene-view-label{position:absolute;right:26px;top:23px;color:#c9d1dc;font-size:12px;font-weight:750;letter-spacing:.24em;text-align:right}
.nx-server-scene .nx-scene-view-label>span{display:block;margin-top:4px;color:#6e7d91;font-size:6px;letter-spacing:.22em}
.nx-server-scene .nx-scene-model{position:absolute;left:50%;top:54%;width:370px;height:236px;transform:translate(-50%,-50%) scale(var(--nx-scene-scale));transform-style:preserve-3d;transition:top .9s cubic-bezier(.22,.68,0,1)}
.nx-server-scene .nx-scene-machine{position:relative;width:370px;height:236px;transform-style:preserve-3d;transform:rotateX(calc(58deg + var(--nx-tilt-x))) rotateZ(calc(-31deg + var(--nx-tilt-z)));transition:transform .32s ease}
.nx-server-scene .nx-chassis-shadow{position:absolute;inset:-12px;transform:translateZ(-47px);background:#020407;border-radius:19px;box-shadow:0 10px 45px 17px rgba(0,0,0,.72);opacity:.72}
.nx-server-scene .nx-chassis{position:absolute;inset:0;transform-style:preserve-3d}
.nx-server-scene .nx-chassis-floor{position:absolute;inset:0;border:1px solid #56616e;border-radius:5px;background:linear-gradient(130deg,#424c59 0%,#242d39 22%,#151e28 60%,#2d3845 100%);box-shadow:inset 0 0 0 6px #232d3a,inset 0 0 0 7px #67717c,inset 0 0 0 9px #1b242f}
.nx-server-scene .nx-chassis-floor::after{content:"";position:absolute;inset:10px;border:1px solid rgba(171,186,203,.18);border-radius:2px}
.nx-server-scene .nx-chassis-brand{position:absolute;left:136px;bottom:7px;font-size:8px;line-height:1;font-weight:800;letter-spacing:.28em;color:#8996a6}
.nx-server-scene .nx-screw{position:absolute;width:5px;height:5px;border-radius:50%;background:linear-gradient(135deg,#aab2bc,#26313e);box-shadow:inset 0 0 0 1px rgba(207,216,225,.22)}
.nx-server-scene .nx-screw::after{content:"";position:absolute;left:1px;right:1px;top:2px;height:1px;background:#161b21;transform:rotate(45deg)}
.nx-server-scene .nx-screw--tl{top:6px;left:6px}.nx-server-scene .nx-screw--tr{top:6px;right:6px}.nx-server-scene .nx-screw--bl{bottom:6px;left:6px}.nx-server-scene .nx-screw--br{bottom:6px;right:6px}
.nx-server-scene .nx-chassis-front{position:absolute;top:236px;left:0;width:370px;height:39px;transform:rotateX(-90deg);transform-origin:50% 0;transform-style:preserve-3d;border:1px solid #65707e;border-top:2px solid var(--nx-copper);border-radius:0 0 4px 4px;background:linear-gradient(180deg,#3b4656,#202936 60%,#151d28);box-shadow:inset 0 -4px 0 rgba(0,0,0,.25)}
.nx-server-scene .nx-front-vent{position:absolute;left:35px;top:9px;width:186px;height:16px;border:1px solid #111822;border-radius:2px;background:repeating-linear-gradient(90deg,#080d14 0 3px,#424d5a 3px 5px);box-shadow:inset 0 1px 3px #000}
.nx-server-scene .nx-front-type{position:absolute;left:237px;top:12px;font-size:9px;line-height:1;color:#e2e6ed;font-weight:800;letter-spacing:.08em}
.nx-server-scene .nx-front-type b{display:block;margin-top:4px;font-size:4px;letter-spacing:.2em;color:#929fb0}
.nx-server-scene .nx-front-leds{position:absolute;top:10px;left:290px;display:flex;gap:4px}
.nx-server-scene .nx-front-leds i{width:3px;height:3px;border-radius:50%;background:#ecb98b;box-shadow:0 0 4px rgba(238,130,71,.6)}
.nx-server-scene .nx-front-leds i:nth-child(2){background:#77b39e;box-shadow:0 0 4px rgba(117,192,161,.5)}
.nx-server-scene .nx-front-leds i:nth-child(3){background:#516173;box-shadow:none}
.nx-server-scene .nx-power-switch{position:absolute;left:320px;top:11px;width:11px;height:11px;border:1px solid #8995a4;border-radius:50%;background:#1a2430;box-shadow:inset 0 0 0 3px #303d4e}
.nx-server-scene .nx-rack-handle{position:absolute;width:16px;height:21px;top:6px;border:3px solid #697380;border-radius:3px;background:#111821;box-shadow:1px 1px 2px rgba(0,0,0,.5)}
.nx-server-scene .nx-rack-handle--left{left:7px}.nx-server-scene .nx-rack-handle--right{right:7px}
.nx-server-scene .nx-chassis-side{position:absolute;left:370px;top:0;width:39px;height:236px;transform:rotateY(90deg);transform-origin:0 50%;border:1px solid #333e4b;border-left:1px solid #697586;border-radius:0 3px 3px 0;background:linear-gradient(90deg,#242d39,#141b25)}
.nx-server-scene .nx-chassis-side>span{position:absolute;inset:17px 8px;background:repeating-linear-gradient(0deg,transparent 0 5px,#0b121b 5px 8px);opacity:.7}
.nx-server-scene .nx-chassis-rear{position:absolute;top:0;left:0;width:370px;height:39px;transform:rotateX(-90deg);transform-origin:50% 0;background:#1c2632;border:1px solid #455362}
.nx-server-scene .nx-mainboard{position:absolute;left:18px;top:18px;width:334px;height:200px;transform:translateZ(7px);transform-style:preserve-3d;border:1px solid #2b5b56;border-radius:3px;background:linear-gradient(125deg,#16352f,#0b2525 46%,#15302d);box-shadow:inset 0 0 0 3px #0d2021}
.nx-server-scene .nx-board-traces{position:absolute;inset:0;width:100%;height:100%;overflow:visible;fill:none;stroke:#9b8156;stroke-width:1;opacity:.48}
.nx-server-scene .nx-trace-terminals{fill:#ad956c;stroke:none}
.nx-server-scene .nx-host-chip{position:absolute;left:124px;top:68px;width:68px;height:64px;border:7px solid #414b4e;background:linear-gradient(145deg,#777f87,#3d494f);box-shadow:0 0 0 3px #101c20,inset 0 0 0 1px #899196}
.nx-server-scene .nx-host-chip>i{position:absolute;inset:5px;background:repeating-linear-gradient(0deg,transparent 0 3px,rgba(210,220,221,.09) 3px 4px);border:1px solid rgba(200,213,221,.25)}
.nx-server-scene .nx-host-chip>b{position:absolute;left:0;right:0;top:20px;text-align:center;font-size:7px;letter-spacing:.2em;color:#bec8cd}
.nx-server-scene .nx-board-memory{position:absolute;left:77px;top:58px;width:7px;height:84px;border:1px solid #6e6d51;background:repeating-linear-gradient(0deg,#12171a 0 12px,#606447 12px 15px);box-shadow:1px 0 0 #151d20}
.nx-server-scene .nx-board-memory--two{left:90px}.nx-server-scene .nx-board-memory--three{left:103px}
.nx-server-scene .nx-cooling-rail{position:absolute;left:21px;top:27px;width:26px;height:184px;transform:translateZ(17px);border:1px solid #4c5969;background:#18232c;display:flex;flex-direction:column;align-items:center;justify-content:space-evenly;box-shadow:0 0 0 2px #101a23}
.nx-server-scene .nx-fan{display:block;width:100%;height:100%;overflow:visible}.nx-server-scene .nx-rail-fan{width:23px;height:23px}.nx-server-scene .nx-fan-rim{fill:#33404f;stroke:#8e9aa8;stroke-width:.6}.nx-server-scene .nx-fan-well{fill:#0c131d;stroke:#101823;stroke-width:.8}.nx-server-scene .nx-fan-blades{fill:#617080;stroke:#82909d;stroke-width:.22}.nx-server-scene .nx-fan-hub{fill:#3d4b5e;stroke:#9cabb7;stroke-width:.45}.nx-server-scene .nx-fan-pin{fill:#c99570}.nx-server-scene .nx-fan-mark{fill:none;stroke:var(--nx-copper);stroke-width:.8}
.nx-server-scene .nx-gpu-blade{position:absolute;left:59px;width:282px;height:46px;transform:translateZ(28px);transform-style:preserve-3d;transition:transform .9s cubic-bezier(.22,.68,0,1)}
.nx-server-scene .nx-gpu-blade--1{top:31px;transition-delay:80ms}.nx-server-scene .nx-gpu-blade--2{top:97px;transition-delay:40ms}.nx-server-scene .nx-gpu-blade--3{top:163px}
.nx-server-scene .nx-gpu-face{position:absolute;inset:0;border:1px solid #727c85;border-radius:3px;background:linear-gradient(130deg,#3f4d5f,#273240 35%,#4c5967 70%,#2a3746);box-shadow:inset 0 0 0 2px #182331,inset 0 -3px 0 rgba(11,16,24,.75)}
.nx-server-scene .nx-gpu-face::before{content:"";position:absolute;left:45px;right:8px;top:4px;height:1px;background:linear-gradient(90deg,rgba(238,130,71,.9),rgba(238,130,71,.08))}
.nx-server-scene .nx-gpu-pcb{position:absolute;left:3px;top:5px;bottom:5px;width:37px;background:repeating-linear-gradient(90deg,transparent 0 4px,rgba(176,150,87,.13) 4px 5px),#12302b;border:1px solid #3e5b4a}
.nx-server-scene .nx-gpu-pcb i{position:absolute;width:11px;height:8px;background:#10191c;border:1px solid #536057;left:4px;top:4px}.nx-server-scene .nx-gpu-pcb i:nth-child(2){left:20px;top:4px}.nx-server-scene .nx-gpu-pcb i:nth-child(3){top:20px}.nx-server-scene .nx-gpu-pcb i:nth-child(4){left:20px;top:20px}
.nx-server-scene .nx-gpu-bus{position:absolute;left:5px;top:45px;width:27px;height:4px;background:repeating-linear-gradient(90deg,#c2a66f 0 2px,#775b2e 2px 3px)}
.nx-server-scene .nx-gpu-heatsink{position:absolute;left:46px;top:8px;width:122px;height:24px;border:1px solid #86919b;border-radius:1px;background:repeating-linear-gradient(90deg,#73818e 0 1px,#202c39 1px 3px,#475563 3px 4px);box-shadow:inset 0 1px 2px #bbc1c5,0 1px 3px rgba(0,0,0,.4)}
.nx-server-scene .nx-gpu-fan{position:absolute;top:4px;width:37px;height:37px}.nx-server-scene .nx-gpu-fan--one{left:180px}.nx-server-scene .nx-gpu-fan--two{left:230px}
.nx-server-scene .nx-gpu-name{position:absolute;left:48px;bottom:3px;font-size:5px;line-height:1;letter-spacing:.23em;font-weight:600;color:#b5c1ce}
.nx-server-scene .nx-gpu-fastener{position:absolute;width:2px;height:2px;border-radius:50%;background:#abb3bc;right:4px;top:4px}.nx-server-scene .nx-gpu-fastener--two{top:auto;bottom:4px}
.nx-server-scene .nx-gpu-edge{position:absolute;left:0;top:46px;width:282px;height:10px;transform:rotateX(-90deg);transform-origin:50% 0;border:1px solid #161f2b;border-top:1px solid #c2865e;background:linear-gradient(#303d4a,#16202b)}
.nx-server-scene .nx-gpu-edge>span{position:absolute;inset:2px 18px;background:repeating-linear-gradient(90deg,#080f17 0 2px,transparent 2px 5px);opacity:.8}
.nx-server-scene .nx-gpu-end{position:absolute;left:282px;top:0;width:10px;height:46px;transform:rotateY(90deg);transform-origin:0 50%;background:linear-gradient(90deg,#2d3a48,#101a25);border:1px solid #65727f}
.nx-server-scene .nx-chassis-cover{position:absolute;left:3px;top:3px;width:364px;height:230px;transform:translateZ(63px);transform-style:preserve-3d;transition:transform 1s cubic-bezier(.22,.68,0,1),opacity .75s ease;opacity:.47;border:1px solid #8a98a6;border-radius:4px;background:linear-gradient(128deg,rgba(190,219,239,.12),rgba(24,44,63,.025) 38%,rgba(201,220,235,.1) 75%,rgba(95,119,140,.04));box-shadow:inset 0 0 0 3px rgba(160,180,198,.11)}
.nx-server-scene .nx-cover-frame{position:absolute;inset:9px;border:1px solid rgba(153,176,194,.33);border-radius:2px}
.nx-server-scene .nx-cover-line{position:absolute;top:19px;bottom:19px;width:1px;background:rgba(175,192,211,.18);left:52px}.nx-server-scene .nx-cover-line--two{left:auto;right:27px}
.nx-server-scene .nx-cover-caption{position:absolute;right:29px;bottom:11px;line-height:1;font-size:6px;letter-spacing:.24em;color:#becbd6}
.nx-server-scene .nx-cover-corner{position:absolute;width:20px;height:20px;border-color:var(--nx-copper);border-style:solid;border-width:0}.nx-server-scene .nx-cover-corner--tl{top:-1px;left:-1px;border-top-width:2px;border-left-width:2px;border-radius:4px 0 0 0}.nx-server-scene .nx-cover-corner--br{bottom:-1px;right:-1px;border-bottom-width:2px;border-right-width:2px;border-radius:0 0 4px 0}
.nx-server-scene .nx-scene-assembly-guides{position:absolute;inset:0;transform-style:preserve-3d;opacity:0;transition:opacity .55s ease}
.nx-server-scene .nx-scene-assembly-guides i{position:absolute;top:12px;left:12px;width:1px;height:150px;transform:rotateX(90deg);transform-origin:50% 0;background:repeating-linear-gradient(0deg,rgba(235,159,106,.38) 0 3px,transparent 3px 8px)}
.nx-server-scene .nx-scene-assembly-guides i:nth-child(2){left:auto;right:12px}.nx-server-scene .nx-scene-assembly-guides i:nth-child(3){top:auto;bottom:12px}.nx-server-scene .nx-scene-assembly-guides i:nth-child(4){left:auto;right:12px;top:auto;bottom:12px}
.nx-server-scene .nx-scene-callout{position:absolute;display:flex;align-items:flex-start;gap:8px;font-size:8px;line-height:1.2;letter-spacing:.14em;font-weight:600;color:#c3cbd6;transition:opacity .35s ease,transform .6s ease}
.nx-server-scene .nx-scene-callout small{display:block;margin-top:5px;font-size:8px;letter-spacing:.02em;font-weight:400;color:#77889d;white-space:nowrap}
.nx-server-scene .nx-callout-index{border:1px solid rgba(202,149,107,.4);border-radius:3px;padding:3px 4px;color:#ecaf80;font-size:7px;line-height:1;letter-spacing:.04em}
.nx-server-scene .nx-scene-callout--compute{top:89px;right:31px}.nx-server-scene .nx-scene-callout--compute>i{position:absolute;top:33px;left:5px;width:44px;height:36px;border-left:1px solid rgba(233,156,99,.4);border-bottom:1px solid rgba(233,156,99,.4);transform:skewY(-28deg)}
.nx-server-scene .nx-scene-callout--compute>i::after{content:"";position:absolute;bottom:-2px;right:0;width:3px;height:3px;border-radius:50%;background:#e4aa7e}
.nx-server-scene .nx-scene-callout--network{left:28px;bottom:107px}.nx-server-scene .nx-scene-callout--network>i{position:absolute;bottom:32px;left:12px;width:40px;height:24px;border-top:1px solid rgba(159,178,199,.32);border-left:1px solid rgba(159,178,199,.32);transform:skewY(-28deg)}
.nx-server-scene .nx-scene-callout--network>i::after{content:"";position:absolute;top:-2px;right:0;width:3px;height:3px;border-radius:50%;background:#96a8bb}
.nx-server-scene .nx-scene-bottom{position:absolute;left:27px;right:27px;bottom:24px;display:flex;align-items:center;justify-content:space-between;gap:14px;z-index:3}
.nx-server-scene .nx-scene-caption{margin:0!important;padding:0!important;color:#a1adbc;font-size:10px;line-height:1.5;letter-spacing:.01em;max-width:200px}
.nx-server-scene .nx-scene-caption>span{display:block;color:#748398;font-size:9px}
.nx-server-scene .nx-scene-toggle{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:10px;flex-shrink:0;min-height:44px;margin:0;padding:11px 14px;border:1px solid rgba(240,150,92,.42);border-radius:8px;background:linear-gradient(130deg,rgba(112,62,34,.24),rgba(30,28,27,.54));color:#f3c09c;font:inherit;font-size:11px;font-weight:600;line-height:1.2;letter-spacing:.01em;cursor:pointer;box-shadow:inset 0 1px 0 rgba(255,205,159,.07);transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}
.nx-server-scene .nx-scene-toggle>svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round}
.nx-server-scene .nx-scene-toggle>b{font-size:16px;font-weight:400;line-height:1;min-width:10px;color:#e59965}
.nx-server-scene .nx-scene-toggle:focus-visible{outline:2px solid #f6b783;outline-offset:4px}
.nx-server-scene .nx-scene-toggle[aria-pressed="true"]{border-color:rgba(238,130,71,.7);background:rgba(126,68,35,.26)}
.nx-server-scene .nx-scene-sr{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.nx-server-scene .nx-scene.is-exploded .nx-scene-model{top:60%}
.nx-server-scene .nx-scene.is-exploded .nx-gpu-blade--1{transform:translateZ(117px)}
.nx-server-scene .nx-scene.is-exploded .nx-gpu-blade--2{transform:translateZ(87px)}
.nx-server-scene .nx-scene.is-exploded .nx-gpu-blade--3{transform:translateZ(57px)}
.nx-server-scene .nx-scene.is-exploded .nx-chassis-cover{transform:translateZ(171px);opacity:.65}
.nx-server-scene .nx-scene.is-exploded .nx-scene-assembly-guides{opacity:1;transition-delay:.15s}
.nx-server-scene .nx-scene.is-exploded .nx-scene-callout--compute{transform:translateY(-7px)}
@media(hover:hover) and (pointer:fine){.nx-server-scene .nx-scene-toggle:hover{background:rgba(146,77,37,.28);border-color:rgba(248,167,109,.75);box-shadow:inset 0 1px 0 rgba(255,205,159,.13),0 0 18px rgba(178,86,34,.09)}}
@media(max-width:600px){.nx-server-scene{height:360px;border-radius:20px}.nx-server-scene .nx-scene-eyebrow{top:19px;left:19px;font-size:7px;gap:6px;letter-spacing:.13em}.nx-server-scene .nx-scene-view-label{top:17px;right:19px;font-size:10px}.nx-server-scene .nx-scene-view-label>span{font-size:5px}.nx-server-scene .nx-scene-model{top:53%}.nx-server-scene .nx-scene.is-exploded .nx-scene-model{top:58.5%}.nx-server-scene .nx-scene-bottom{left:17px;right:17px;bottom:16px;gap:8px}.nx-server-scene .nx-scene-caption{font-size:9px;max-width:150px}.nx-server-scene .nx-scene-caption>span{font-size:8px}.nx-server-scene .nx-scene-toggle{padding:10px;gap:7px;font-size:10px;min-height:44px}.nx-server-scene .nx-scene-toggle>svg{width:14px;height:14px}.nx-server-scene .nx-scene-callout--compute{top:62px;right:19px;font-size:7px}.nx-server-scene .nx-scene-callout--network{left:19px;bottom:88px;font-size:7px}.nx-server-scene .nx-scene-callout small{font-size:6px;margin-top:4px}.nx-server-scene .nx-callout-index{font-size:6px;padding:2px 3px}.nx-server-scene .nx-scene-callout--compute>i{height:24px;width:25px;top:26px}.nx-server-scene .nx-scene-callout--network>i{height:17px;width:25px;bottom:25px}}
@media(max-width:370px){.nx-server-scene .nx-scene-view-label{display:none}.nx-server-scene .nx-scene-caption{max-width:117px}.nx-server-scene .nx-scene-toggle{gap:6px;padding:10px 8px;font-size:9px}.nx-server-scene .nx-scene-toggle>svg{display:none}.nx-server-scene .nx-scene-callout small{display:none}}
@media(prefers-reduced-motion:reduce){.nx-server-scene *,.nx-server-scene *::before,.nx-server-scene *::after{transition:none!important;animation:none!important}.nx-server-scene .nx-scene-machine{transform:rotateX(58deg) rotateZ(-31deg)!important}}
.nx-server-scene .nx-scene.is-reduced-motion *{transition:none!important;animation:none!important}
