.cx{--cx-bg:#0d0e11;--cx-plate:#1b1d22;--cx-plate-edge:#2a2d34;--cx-dead:#4a505c;--cx-live:#ffc23d;--cx-leak:#ff5a3d;--cx-ok:#43e06b;--cx-sel:#5fa8ff;--cx-text:#c9ced8;--cx-muted:#7d8494;background:var(--cx-bg);height:100%;color:var(--cx-text);font-family:var(--font-mono);-webkit-user-select:none;user-select:none;flex-direction:column;font-size:12px;display:flex}.cx-head{background:linear-gradient(180deg, #14161b, var(--cx-bg));border-bottom:1px solid #1f2128;padding:10px 14px 8px}.cx-head b{letter-spacing:.04em;text-transform:uppercase;font-size:13px}.cx-stage{background:radial-gradient(ellipse at 50% 40%, #14161b, var(--cx-bg) 70%);flex:1;place-items:center;min-height:0;padding:14px;display:grid;position:relative;container-type:size}.cx-board{aspect-ratio:1;grid-template-columns:repeat(var(--cx-n,5), 1fr);grid-template-rows:repeat(var(--cx-n,5), 1fr);touch-action:none;background:linear-gradient(#ffffff06 1px,#0000 1px) 0 0/10px 10px,linear-gradient(90deg,#ffffff06 1px,#0000 1px) 0 0/10px 10px,#07080a;border-radius:12px;gap:4px;width:min(100cqw,100cqh);padding:8px;display:grid;position:relative;box-shadow:0 0 0 1px #000,inset 0 0 0 1px #23262d,inset 0 10px 24px #000000bf,0 1px 0 1px #ffffff0a,0 18px 40px #00000080}.cx-board.flash:after{content:"";z-index:4;border-radius:inherit;pointer-events:none;background:linear-gradient(110deg,#0000 35%,#ffd68238 50%,#0000 65%) 0 0/300% 100% no-repeat;animation:1.1s ease-out forwards cx-sweep;position:absolute;inset:0}@keyframes cx-sweep{0%{background-position:100% 0}to{background-position:0 0}}.cx-cell{cursor:grab;background:linear-gradient(#ffffff0a,#0000 45%),repeating-linear-gradient(90deg,#ffffff04 0 1px,#0000 1px 3px),linear-gradient(#25282e,#18191e);border-radius:7px;min-width:0;min-height:0;transition:transform .14s,box-shadow .25s,filter .15s;position:relative;box-shadow:inset 0 1px #ffffff14,inset 0 0 0 1px #ffffff09,inset 0 -2px #00000059,0 2px 3px #0009}.cx-cell.live{box-shadow:inset 0 1px #ffdc961a,inset 0 0 0 1px #ffb62729,inset 0 0 22px #ffa01e1a,0 2px 3px #0009}.cx-cell.leak{box-shadow:inset 0 1px #ffdc961a,inset 0 0 0 1px #ff5a3d47,inset 0 0 22px #ff5a3d29,0 2px 3px #0009}.cx-cell.fixed{cursor:default;background:linear-gradient(#ffffff0a,#0000 45%),repeating-linear-gradient(135deg,#ffb6270b 0 5px,#0000 5px 10px),linear-gradient(#2a2d33,#1c1e23)}.cx-cell.lit{box-shadow:inset 0 1px #ffdc9624,inset 0 0 0 1px #ffc23d66,inset 0 0 26px #ffbe5038,0 0 22px #ffbe504d}.cx-board:not(.locked):not(.dragging) .cx-cell:not(.fixed):hover{filter:brightness(1.12);transform:translateY(-1px)}.cx-board.locked .cx-cell,.cx-board.dragging .cx-cell{cursor:default}.cx-board.dragging .cx-cell{cursor:grabbing}.cx-cell.lifted{z-index:3;pointer-events:none;filter:drop-shadow(0 10px 12px #000000b3)brightness(1.1);transition:none}.cx-cell.sel{z-index:2;box-shadow:0 0 0 2px var(--cx-sel), 0 0 16px #5fa8ff73, 0 6px 10px #0009;transform:translateY(-2px)}.cx-cell.over{outline:2px dashed var(--cx-sel);outline-offset:1px;filter:brightness(1.15)}.cx-cell.pop{animation:.22s ease-out cx-pop}@keyframes cx-pop{50%{transform:scale(.92)}}.cx-mod{width:100%;height:100%;display:block}.cx-mod path,.cx-mod rect,.cx-mod circle{stroke-linecap:round;stroke-linejoin:round}.cx-screw circle{fill:#2f323a;stroke:#111216;stroke-width:1px}.cx-screw path{stroke:#141519;stroke-width:1.2px}.cx-vent{fill:none;stroke:#111216;stroke-width:3.5px}.cx-groove,.cx-halo,.cx-cable,.cx-sheen,.cx-flow{fill:none}.cx-groove{stroke:#0b0c0f;stroke-width:20px}.cx-cable{stroke:#3b4049;stroke-width:10px;transition:stroke .25s}.cx-sheen{stroke:#ffffff1f;stroke-width:2.5px}.cx-lug,.cx-clip{fill:#4a4f59;stroke:#121317;stroke-width:1px}.cx-block rect{fill:#2a2d34;stroke:#0b0c0f;stroke-width:2px}.cx-block circle{fill:#4a4f59;stroke:#121317;stroke-width:1px}.cx-block path{stroke:#15161a;stroke-width:1.6px}.live .cx-halo{stroke:#ffa81e33;stroke-width:19px}.live .cx-cable{stroke:#eb9a1c}.live .cx-sheen{stroke:#ffe6a1;stroke-width:3px}.live .cx-lug,.live .cx-clip,.live .cx-block circle{fill:#c9901f;stroke:#3a2706}.live .cx-block rect{fill:#33280f}.cx-flow{stroke:#fffaf0;stroke-width:3.5px;stroke-dasharray:4 21;stroke-dashoffset:0;animation:.55s linear infinite cx-flow}@keyframes cx-flow{to{stroke-dashoffset:-25px}}.os-root.embedded .cx-flow,.os-root.embedded .cx-spark-glow,.os-root.embedded .cx-arc,.os-root.embedded .cx-ember,.os-root.embedded .live .cx-src-pulse{animation-play-state:paused}.cx-spark-glow{fill:#ff64374d;animation:.45s steps(3,end) infinite cx-glow}.cx-spark-core{fill:#fff}.cx-arc{fill:none;stroke:#ffe1ad;stroke-width:1.8px;animation:.16s step-end infinite cx-arc}.cx-arc.alt{animation-delay:-.08s}.cx-ember{fill:#ffcf7a;animation:.7s ease-out infinite cx-ember}.cx-ember.e1{--x:-8px;--y:-12px}.cx-ember.e2{--x:9px;--y:-10px;animation-delay:-.25s}.cx-ember.e3{--x:1px;--y:-15px;animation-delay:-.5s}@keyframes cx-glow{33%{opacity:.35}66%{opacity:.8}}@keyframes cx-arc{50%{opacity:0}}@keyframes cx-ember{0%{opacity:1;transform:translate(0)}to{transform:translate(var(--x), var(--y));opacity:0}}.cx-src-ring{fill:#121317;stroke:var(--cx-dead);stroke-width:2.5px}.cx-bolt{fill:var(--cx-dead)}.cx-src-pulse{fill:none;stroke:none}.live .cx-src-ring{stroke:var(--cx-live)}.live .cx-bolt{fill:var(--cx-live)}.live .cx-src-pulse{stroke:#ffb6278c;stroke-width:2px;transform-origin:50px 50px;animation:1.8s ease-out infinite cx-pulse}@keyframes cx-pulse{0%{opacity:.9;transform:scale(1)}to{opacity:0;transform:scale(1.5)}}.cx-lamp-halo{fill:none}.cx-lamp-ring{fill:#121317;stroke:var(--cx-dead);stroke-width:2.5px}.cx-lamp-glass{fill:#1c1e24;stroke:#0b0c0f;stroke-width:1.5px}.cx-lamp-bulb{fill:none;stroke:var(--cx-dead);stroke-width:1.8px}.cx-lamp.on .cx-lamp-halo{fill:#ffcd6e38;transform-origin:50px 50px;animation:2.6s ease-in-out infinite cx-halo}.cx-lamp.on .cx-lamp-ring{stroke:var(--cx-live)}.cx-lamp.on .cx-lamp-glass{fill:#fff2cc;stroke:#ffc23d}.cx-lamp.on .cx-lamp-bulb{fill:#ffcf5c;stroke:#b06d00}@keyframes cx-halo{50%{opacity:.7;transform:scale(1.12)}}.cx-lamp.low .cx-lamp-ring{stroke:#8a6a25}.cx-lamp.low .cx-lamp-glass{animation:1.3s step-end infinite cx-brown}.cx-lamp.low .cx-lamp-bulb{stroke:#9a4f12}@keyframes cx-brown{8%,46%{fill:#6b5a2a}14%,52%{fill:#1c1e24}}.cx-tag{text-align:center;letter-spacing:.08em;color:var(--cx-muted);pointer-events:none;font-size:9px;font-weight:600;position:absolute;bottom:5%;left:0;right:0}.cx-cell.live .cx-tag,.cx-cell.lit .cx-tag{color:#e9c27a}.cx-meter{background:linear-gradient(180deg, #101216, var(--cx-bg));border-top:1px solid #1f2128;grid-template-columns:1fr auto;align-items:start;gap:5px 12px;padding:10px 14px 2px;display:grid}.cx-meter-head{letter-spacing:.08em;color:var(--cx-muted);grid-column:1/-1;justify-content:space-between;gap:8px;font-size:10px;font-weight:600;display:flex}.cx-meter-leak.leaking{color:var(--cx-leak)}.cx-bar{background:#060709;border-radius:4px;grid-template-columns:repeat(20,1fr);gap:2px;height:16px;margin-bottom:15px;padding:2px;display:grid;position:relative;box-shadow:inset 0 0 0 1px #22252c,inset 0 2px 4px #000c}.cx-bar i{background:#15171b;border-radius:1.5px;transition:background .2s,box-shadow .2s}.cx-bar i.idle{background:#2a2312}.cx-bar i.on{background:linear-gradient(#ffd76e,#ea9a1a);box-shadow:0 0 6px #ffaa1e73}.cx-bar i.low{background:linear-gradient(#a8641a,#6e3d0d);animation:1.3s step-end infinite cx-flick}.cx-bar i.leak{background:repeating-linear-gradient(135deg,#ff5a3d 0 3px,#a8291a 3px 6px);animation:.5s steps(2,end) infinite cx-flick;box-shadow:0 0 7px #ff5a3d8c}@keyframes cx-flick{50%{opacity:.65}}.cx-need{background:#e9edf4;border-radius:1px;width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px;box-shadow:0 0 0 1px #000000b3}.cx-need em{letter-spacing:.06em;white-space:nowrap;color:var(--cx-text);margin-top:3px;font-size:9px;font-style:normal;font-weight:600;position:absolute;top:100%;left:50%;transform:translate(-50%)}.cx-meter-v{text-align:right;font-variant-numeric:tabular-nums;min-width:4.5ch;color:var(--cx-muted);margin-top:-2px;font-size:19px;line-height:20px}.cx-meter.on .cx-meter-v{color:var(--cx-ok);text-shadow:0 0 10px #43e06b66}.cx-meter.low .cx-meter-v{color:var(--cx-leak)}.cx-foot.low .cx-status{color:#ff6b5a}@media (prefers-reduced-motion:reduce){.cx-board,.cx-spark *,.live .cx-src-pulse,.cx-lamp *,.cx-bar i{animation:none}}.cx-foot{border-top:1px solid #1f2128;flex-wrap:wrap;align-items:center;gap:4px 8px;padding:8px 14px 10px;display:flex}.cx-led{background:#5a1d18;border-radius:50%;width:8px;height:8px;box-shadow:inset 0 0 0 1px #000}.cx-led.on{background:#43e06b;box-shadow:0 0 6px #43e06b}.cx-status{font-weight:600}.cx-hint{color:var(--cx-muted);flex-basis:100%;font-size:11px}.cx-foot.on .cx-status{color:#43e06b}.cx-foot.tripped .cx-status{color:#ff6b5a}.cx-news{z-index:5;text-align:center;opacity:0;background:radial-gradient(at 50% 45%,#2a200ce6,#07080af0 70%);flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:24px;animation:.5s ease-out 1s forwards cx-news;display:flex;position:absolute;inset:0}.cx-news svg{width:76px;height:76px;overflow:visible}.cx-news b{color:#ffd98a;text-shadow:0 0 14px #ffc23d73;max-width:26ch;font-size:15px;line-height:1.45}@keyframes cx-news{to{opacity:1}}@media (prefers-reduced-motion:reduce){.cx-news{opacity:1;animation:none}}.cx-lock{text-align:center;flex-direction:column;align-items:center;gap:6px;width:min(100%,260px);animation:.45s ease-out cx-in;display:flex}@keyframes cx-in{0%{opacity:0;transform:translateY(6px)}}.cx-lock-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;color:#ff6b5a;width:26px;height:26px}.cx-lock b{letter-spacing:.06em;text-transform:uppercase;font-size:12px}.cx-lock span{color:var(--cx-muted);font-size:11px}.cx-code{gap:8px;margin:8px 0 6px;display:flex}.cx-code span{width:34px;height:42px;color:var(--cx-live);background:#08090b;border-radius:6px;place-items:center;font-size:20px;font-weight:600;display:grid;box-shadow:inset 0 0 0 1px #22252c}.cx-code span.set{box-shadow:inset 0 0 0 1px #5a4a22}.cx-code.denied{animation:.4s cx-shake}.cx-code.denied span{color:#ff6b5a;box-shadow:inset 0 0 0 1px #5a1d18}@keyframes cx-shake{20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.cx-pad{grid-template-columns:repeat(3,1fr);gap:6px;width:100%;display:grid}.cx-key{background:var(--cx-plate);height:36px;box-shadow:inset 0 0 0 1px var(--cx-plate-edge), 0 2px 0 #08090b;color:var(--cx-text);font:inherit;cursor:pointer;border:0;border-radius:7px;font-size:15px}.cx-key:hover{background:#23262d}.cx-key:active{box-shadow:inset 0 0 0 1px var(--cx-plate-edge);transform:translateY(1px)}.cx-key:disabled{visibility:hidden}.cx.compact .cx-stage{padding:10px 16px}
