.process-track{pointer-events:none;position:absolute}.process-track[data-orientation=h]{top:15px;left:var(--start);width:var(--length);height:2px}.process-track[data-orientation=v]{left:15px;top:var(--start);height:var(--length);width:2px}.process-track__base,.process-track__lit{border-radius:2px;position:absolute;inset:0}.process-track__base{background:color-mix(in srgb, var(--copper) 35%, transparent)}.process-track__lit{background:linear-gradient(90deg, var(--copper), var(--signal));transform-origin:0;transform:scaleX(var(--p,0));box-shadow:0 0 12px #f2c94c80}[data-orientation=v] .process-track__lit{background:linear-gradient(180deg, var(--copper), var(--signal));transform-origin:top;transform:scaleY(var(--p,0))}.process-track__head{width:10px;height:10px;transform:translateX(calc(var(--p,0) * var(--length)));opacity:calc(var(--p,0) * 40);background:#fff6d6;border-radius:50%;margin:-4px 0 0 -5px;position:absolute;box-shadow:0 0 0 3px #f2c94c73,0 0 18px 4px #f2c94cb3}[data-orientation=v] .process-track__head{transform:translateY(calc(var(--p,0) * var(--length)));margin:-5px 0 0 -4px}.process-pad{z-index:1;border:2px solid color-mix(in srgb, var(--copper) 55%, transparent);background:var(--board-deep);width:32px;height:32px;color:var(--on-board-muted);border-radius:50%;place-items:center;font-size:14px;font-weight:600;transition:background-color .35s,border-color .35s,color .35s,box-shadow .35s,transform .35s cubic-bezier(.3,1.6,.5,1);display:grid;position:relative}.process-title,.process-text{transition:color .4s,opacity .4s}.process-title{opacity:.55}.process-text{color:var(--on-board-muted);opacity:.5}.process-step[data-on] .process-pad{border-color:var(--signal);background:var(--signal);color:#1a1606;transform:scale(1.12);box-shadow:0 0 22px #f2c94c8c}.process-step[data-on] .process-title,.process-step[data-on] .process-text{opacity:1}@media (prefers-reduced-motion:reduce){.process-pad,.process-title,.process-text{transition:none}}
.ecu-stage{--s:1;--rx:18deg;--rz:-6deg;aspect-ratio:4/3;perspective:1800px;perspective-origin:50% 30%;opacity:0;width:100%;transition:opacity .6s;position:relative}.ecu-stage.is-ready{--rx:54deg;--rz:-32deg;opacity:1}.ecu-scale{transform:translate(-50%, -50%) scale(var(--s));transform-style:preserve-3d;position:absolute;top:50%;left:50%}.ecu-board{transform-style:preserve-3d;transform:rotateX(var(--rx)) rotateZ(var(--rz));transition:transform 1.5s cubic-bezier(.2,.8,.2,1);position:absolute;inset:0}.ecu-stage.is-live .ecu-board{transition:none}.ecu-shadow{filter:blur(28px);background:#0a162d73;border-radius:24px;position:absolute;inset:4% 3%;transform:translateZ(-60px)}.ecu-pcb{background:radial-gradient(120% 90% at 30% 20%,#1d4479 0%,#10284a 48%,#0b1d38 100%);border-radius:14px;position:absolute;inset:0;box-shadow:inset 0 0 0 1px #ffffff0f}.ecu-pcb-edge{background:#091a33;position:absolute}.ecu-pcb-edge--s{transform-origin:top;height:6px;top:100%;left:14px;right:14px;transform:rotateX(-90deg)}.ecu-pcb-edge--e{transform-origin:0;background:#06132a;width:6px;top:14px;bottom:14px;left:100%;transform:rotateY(90deg)}.ecu-svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.ecu-silk{fill:none;stroke:#e6f0ec52;stroke-width:1px}.ecu-silk text{fill:#e6f0ec80;stroke:none;letter-spacing:.04em;font-size:11px;font-weight:600;font-stretch:125%}.ecu-hole-ring{fill:#c98a52}.ecu-hole{fill:#06122a}.ecu-trace{fill:none;stroke:#c47a43;stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:100;stroke-dashoffset:100px;opacity:.9;transition:stroke-dashoffset 1.4s cubic-bezier(.4,0,.2,1) .5s}.ecu-stage.is-ready .ecu-trace{stroke-dashoffset:0}.ecu-pad{fill:#d99a60}.ecu-pulse{fill:none;stroke:var(--signal);stroke-width:3.2px;stroke-linecap:round;stroke-dasharray:5 95;stroke-dashoffset:5px;opacity:0;filter:drop-shadow(0 0 4px #f2c94ce6)}.ecu-stage.is-ready .ecu-pulse{opacity:1;animation:ecu-pulse var(--dur) linear var(--delay) infinite backwards}.ecu-stage.is-paused .ecu-pulse{animation-play-state:paused}@keyframes ecu-pulse{0%{stroke-dashoffset:5px}to{stroke-dashoffset:-95px}}.ecu-part{--lift:180px;transform-style:preserve-3d;transform:translateZ(var(--lift));transition:transform .8s cubic-bezier(.2, .9, .25, 1) calc(.8s + var(--i) * 70ms);position:absolute}.ecu-stage.is-ready .ecu-part{--lift:0px}.ecu-face{backface-visibility:visible;position:absolute}.ecu-face--ns{transform-origin:top;left:0;transform:rotateX(90deg)}.ecu-face--ew{transform-origin:0;top:0;transform:rotateY(-90deg)}.ecu-face--top{place-items:center;display:grid;inset:0}.ecu-part--chip .ecu-face--top{background:linear-gradient(135deg,#2b3332 0%,#1a2120 60%,#141a19 100%);border-radius:2px;box-shadow:inset 0 0 0 1px #ffffff0d}.ecu-part--chip .ecu-face{background:#0f1413}.ecu-part--chip .ecu-face--lit{background:#232b2a}.ecu-part--connector .ecu-face--top{background:#2b3534;border-radius:3px;padding:7px 10px}.ecu-part--connector .ecu-face{background:#151c1b}.ecu-part--connector .ecu-face--lit{background:#26302f}.ecu-pins{background-image:radial-gradient(circle,#0b100f 0 2.2px,#0000 2.6px);background-size:9px 10px;border-radius:2px;width:100%;height:100%}.ecu-part--crystal .ecu-face--top{background:linear-gradient(90deg,#dfe4e2,#aab3b0);border-radius:3px}.ecu-part--crystal .ecu-face{background:#8d9693}.ecu-part--crystal .ecu-face--lit{background:#b7bfbc}.ecu-label{color:#dce4e173;letter-spacing:.06em;font-size:9px;font-weight:600;font-stretch:125%}.ecu-dot{background:#ffffff1f;border-radius:50%;width:7px;height:7px;position:absolute;top:9px;left:9px}.ecu-cap-layer,.ecu-cap-top{border-radius:50%;position:absolute;inset:0}.ecu-cap-layer{background:#8f9895}.ecu-cap-top{background:linear-gradient(#3c46448c,#3c46448c) 50%/2px 64% no-repeat,linear-gradient(90deg,#3c46448c,#3c46448c) 50%/64% 2px no-repeat,radial-gradient(circle at 35% 30%,#f1f4f2,#b9c1be 70%)}.ecu-stage.is-live .ecu-part{--lift:calc(var(--ex) * var(--explode,0));transition:none}.ecu-tag{color:#0e1726;white-space:nowrap;pointer-events:none;opacity:clamp(0, calc((var(--explode,0) - .55 - var(--i) * .03) * 4), 1);transform:translate(-50%, -50%) translateZ(calc(var(--h) + 26px)) rotateZ(calc(-1 * var(--rz))) rotateX(calc(-1 * var(--rx)));background:#fffffff0;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:600;position:absolute;top:50%;left:50%;box-shadow:0 4px 14px #0a162d40}.ecu-part--focus .ecu-face--top{transition:box-shadow .4s}.ecu-stage[data-glow] .ecu-part--focus .ecu-face--top{box-shadow:0 0 0 1.5px var(--signal), 0 0 34px #f2c94c8c}.ecu-flash{opacity:0;background:#ffffff1a;border-radius:4px;height:7px;transition:opacity .3s;position:absolute;bottom:16%;left:14%;right:14%;overflow:hidden}.ecu-flash span{height:100%;width:calc(var(--flash,0) * 100%);background:var(--signal);box-shadow:0 0 10px var(--signal);display:block}.ecu-stage[data-flash] .ecu-flash{opacity:1}.ecu-stage.is-ready .ecu-pulse--busy{opacity:var(--busy,0)}.ecu-plug{transform-style:preserve-3d;transform:translateZ(calc(28px + (1 - var(--plug,0)) * 340px));visibility:hidden;position:absolute;inset:0}.ecu-stage[data-plug] .ecu-plug{visibility:visible}.ecu-plug .ecu-part{--lift:0px;transition:none}.ecu-part--plug .ecu-face--top{background:linear-gradient(#3a4a63,#2a374c);border-radius:3px}.ecu-part--plug .ecu-face{background:#1b2537}.ecu-part--plug .ecu-face--lit{background:#33425a}.ecu-part--cable .ecu-face--top{background:linear-gradient(90deg,#151b26,#2b3444 50%,#151b26);border-radius:6px}.ecu-part--cable .ecu-face{background:#10151e}.ecu-shine{border-radius:inherit;background:linear-gradient(105deg,#0000 35%,#ffffff3d 48%,#0000 60%) 0 0/300% 100%;background-position:calc(100% - var(--turn,0) * 100%) 0;opacity:clamp(0, calc(min(var(--turn,0), 1 - var(--turn,0)) * 6), 1);pointer-events:none;position:absolute;inset:0}@media (prefers-reduced-motion:reduce){.ecu-stage,.ecu-board,.ecu-part,.ecu-trace{transition:none}.ecu-stage.is-ready .ecu-pulse{opacity:0;animation:none}}
