*{box-sizing:border-box}html,body,#root{margin:0;width:100%;height:100%;background:transparent}body{font:12px Arial,sans-serif;color:#e9eeec;overflow:hidden}button{font:inherit;color:inherit;cursor:pointer;transition:background .15s,transform .15s}button:disabled{opacity:.35;cursor:not-allowed}button:focus-visible,[role=button]:focus-visible{outline:2px solid #e5bc68;outline-offset:3px}button:hover:not(:disabled){filter:brightness(1.15)}.nui-stage{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;pointer-events:none;padding:16px}.equipment{pointer-events:auto;width:42vw;max-width:880px;min-width:580px;max-height:calc(100dvh - 32px);overflow:auto;border:2px solid #667070;border-radius:15px;padding:20px 18px 16px;background:repeating-linear-gradient(0deg,rgba(255,255,255,.0078431373) 0px,rgba(255,255,255,.0078431373) 1px,transparent 1px,transparent 3px),linear-gradient(135deg,#434a4a,#252b2c 25%,#303739 70%,#414a4a);box-shadow:0 20px 45px #0008,inset 0 0 0 5px #141b1c,inset 0 0 0 7px #53605e;position:relative;animation:equipment-in .2s ease-out}.equipment:before,.equipment:after{content:"";position:absolute;top:11px;width:8px;height:8px;border-radius:50%;background:linear-gradient(35deg,#151b1c 43%,#8b9691 45%,#8b9691 55%,#151b1c 57%);border:1px solid #67746e}.equipment:before{left:11px}.equipment:after{right:11px}.status-strip{border-radius:5px;display:flex;justify-content:center;align-items:center;padding:0;margin:0;background:transparent;border:0;box-shadow:none;flex-shrink:0}.timer-module{display:flex;align-items:center;gap:16px;position:relative}.timer{font:35px monospace;letter-spacing:3px;color:#f19674;text-shadow:0 0 12px rgba(210,117,82,.3137254902);background:#081311;border:1px solid #42504a;border-radius:3px;font-size:30px;padding:3px 15px}.workspace{display:grid;gap:9px;align-items:stretch;position:relative;grid-template-columns:minmax(0,1fr) 180px}.panel{min-width:0}.case{position:relative;border:1px solid #111a18;border-radius:5px;background:linear-gradient(125deg,#232e28,#1b241f);box-shadow:inset 0 0 0 3px #38463b,inset 0 0 18px #0007;height:100%;display:flex;flex-direction:column;min-height:100%;padding:13px 10px 14px;justify-content:flex-start;gap:12px}.screw{position:absolute;width:6px;height:6px;border-radius:50%;background:linear-gradient(35deg,#333f35 44%,#929c81 46%,#929c81 55%,#333f35 57%);border:1px solid #84907c}.tl{top:7px;left:7px}.tr{top:7px;right:7px}.bl{bottom:7px;left:7px}.br{bottom:7px;right:7px}.circuit{display:block;flex:1;min-height:0;width:100%;height:auto;overflow:hidden}.terminal[aria-disabled=false]{cursor:pointer}.terminal[aria-disabled=false]:hover .terminal-hit{stroke:#e5bc68;stroke-width:3}.red-connected>circle:first-child{stroke:#e06b68;stroke-width:3}.black-connected>circle:first-child{stroke:#a0b2b9;stroke-width:3}.wire [role=button][aria-disabled=false]{cursor:crosshair}.wire [role=button][aria-disabled=false]:hover rect{stroke:#e5bc68}.wire.cut{animation:cut-flash .35s ease-out}.cut-mark{fill:#e5bc68;font-size:21px;pointer-events:none}.meter-panel{border:1px solid #151b1c;border-radius:5px;background:#202729;padding:8px;box-shadow:inset 0 0 0 2px #47514c;align-self:start}.meter-body{padding:10px 8px;border:3px solid #171e1e;border-radius:9px;background:linear-gradient(125deg,#a59159,#887344);box-shadow:inset 0 0 0 1px #b5a172,0 3px 6px #0005;color:#192820}.meter-brand{font:700 7px monospace;letter-spacing:.4px;display:flex;justify-content:space-between;margin-bottom:9px}.meter-brand span{font-size:6px}.display{border:4px solid #28382d;background:#bdd0b3;padding:6px;border-radius:3px;box-shadow:inset 0 1px 4px #0004}.display-top{display:flex;justify-content:space-between;font:6px monospace}.reading{font:26px monospace;letter-spacing:-1.3px;text-align:right;padding:9px 0 6px;white-space:nowrap}.reading small{font-size:12px;margin-left:3px}.display-state{border-top:1px solid rgba(116,133,113,.3333333333);padding-top:5px;font:6px monospace;min-height:18px}.dial{height:68px;position:relative;display:flex;align-items:center;justify-content:center;padding-top:7px}.dial-knob{width:44px;height:44px;border-radius:50%;border:3px solid #18241c;background:repeating-conic-gradient(#26382b,#26382b 5deg,#3d4b3c 5deg,#3d4b3c 10deg);transform:rotate(30deg);display:grid;place-items:center;box-shadow:0 2px 3px #0006}.dial-knob i{width:14px;height:35px;border-radius:3px;background:linear-gradient(90deg,#17251c,#53604c,#17251c)}.dial-knob i:before{content:"";display:block;width:2px;height:7px;margin:3px auto;background:#e5bc68}.dial-label{position:absolute;top:1px;left:65%;font:700 7px monospace}.dial-left,.dial-right{position:absolute;top:34px;font:6px monospace}.dial-left{left:9px}.dial-right{right:12px}.meter-ports{display:flex;justify-content:center;gap:31px;font:700 6px monospace}.meter-ports span{display:flex;align-items:center;flex-direction:column;gap:3px}.port{width:15px;height:15px;border:4px solid #26312c;background:#0c1310;border-radius:50%}.port.red{border-color:#aa4a42}.disarmed .timer{color:#91bda2;text-shadow:0 0 8px rgba(145,189,162,.2509803922)}.warning .timer{color:#e06b68}.exploded{animation:failure .4s ease-out}.dev-toggle{position:fixed;top:18px;left:18px;display:flex;gap:6px;align-items:center;z-index:3}.dev-toggle button{background:#142024db;border:1px solid #687877;border-radius:3px;padding:9px 12px;font:10px monospace}@keyframes equipment-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes cut-flash{0%{opacity:.4}to{opacity:1}}@keyframes failure{0%,to{transform:translate(0)}25%{transform:translate(-5px)}75%{transform:translate(5px)}}.result-feedback{text-align:center;font:10px monospace;color:#e5bc68;margin-top:10px;padding:5px;position:relative;z-index:3}.disarmed .result-feedback{color:#91bda2}.exploded .result-feedback{color:#e06b68}.tool-graphic{display:block;width:24px;height:38px;flex-shrink:0;pointer-events:none}.probe,.cutter-tool,.attached-probe{touch-action:none;user-select:none;-webkit-user-select:none;cursor:grab}.probe:active,.cutter-tool:active,.attached-probe:active{cursor:grabbing}.probe.drag-source .tool-graphic,.cutter-tool.drag-source .tool-graphic{opacity:.25}.drag-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;pointer-events:none;overflow:hidden}.drag-lead{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible}.drag-tool{position:absolute;width:46px;height:74px;transform:translate(-50%,-5px);filter:drop-shadow(0 5px 4px rgba(0,0,0,.5333333333))}.drag-tool .tool-graphic{width:46px;height:74px}.drag-tool.can-drop{filter:drop-shadow(0 0 5px rgba(229,188,104,.6))}.terminal.drop-available>circle:first-child{stroke:#9eab86;stroke-width:3}.terminal.drop-hover>circle:first-child{stroke:#efcc75;stroke-width:5}.wire-drop.drop-hover{stroke:#e5bc6844}.attached-probe[aria-disabled=true]{cursor:default}.probe:disabled,.cutter-tool:disabled{cursor:not-allowed}.equipment:has(.drag-source){-webkit-user-select:none;user-select:none}.tool-rack{display:flex;align-items:center;justify-content:space-around;gap:6px;min-height:95px;padding:10px 0 2px;position:relative}.loose-tool{position:relative;display:flex;align-items:center;justify-content:center;width:42px;height:76px;padding:0;background:transparent;border:0;border-radius:0;box-shadow:none;opacity:1;flex-shrink:0}.loose-tool .tool-graphic{width:40px;height:65px;filter:drop-shadow(1px 3px 2px rgba(0,0,0,.4))}.loose-tool:disabled{opacity:.45}.loose-tool.docked-empty{visibility:hidden}.loose-tool[aria-pressed=true]:focus-visible{outline:1px solid #e5bc68}.probe-rest{position:absolute;bottom:14px;left:50%;width:2px;height:2px;pointer-events:none}.connected-leads{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:2}.attached-probe .tool-graphic{width:28px;height:42px;filter:drop-shadow(1px 2px 1px rgba(0,0,0,.3333333333))}.attached-probe.drag-source .tool-graphic{opacity:0}.terminal.drop-hover .terminal-hit{stroke:#efcc75;stroke-width:3}.circuit-panel{min-height:0}.dev-background{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(ellipse at 50% 45%,#252b2f,#171c20 48%,#0d1114);pointer-events:none}.timer-penalty{position:absolute;left:calc(100% + 9px);top:50%;white-space:nowrap;font:700 13px monospace;color:#e06b68;pointer-events:none;animation:penalty-feedback 2.2s ease-out both}.cut-end-left,.cut-end-right{transform-box:fill-box;transform-origin:center}.fresh-cut .cut-end-left{animation:wire-release-left .28s ease-out}.fresh-cut .cut-end-right{animation:wire-release-right .28s ease-out}@keyframes wire-release-left{0%{transform:translate(12px,5px) rotate(12deg)}to{transform:translate(0) rotate(0)}}@keyframes wire-release-right{0%{transform:translate(-12px,-5px) rotate(12deg)}to{transform:translate(0) rotate(0)}}@keyframes penalty-feedback{0%{opacity:0;transform:translateY(-20%)}15%,75%{opacity:1;transform:translateY(-50%)}to{opacity:0;transform:translateY(-75%)}}@media(min-width:1800px){.meter-body{padding:14px 12px}.reading{font-size:32px}.dial{height:86px}.dial-knob{width:53px;height:53px}.workspace{grid-template-columns:minmax(0,1fr) 195px}}@media(max-width:900px){.equipment{min-width:0;width:min(680px,94vw)}}@media(max-width:540px){.equipment{padding:20px 14px 16px;width:96vw}.nui-stage{padding:8px}.meter-panel{padding:5px}.meter-body{padding:7px 4px}.meter-brand{font-size:6px}.meter-brand span{font-size:5px}.reading{font-size:22px}.display-top{font-size:5px}.dev-toggle{top:6px;left:6px}.dev-toggle button{font-size:8px;padding:6px}.tool-rack{gap:2px;min-height:80px}.loose-tool.probe,.loose-tool.cutter-tool{width:33px;height:66px}.loose-tool .tool-graphic{width:32px;height:55px}.probe-rest{bottom:13px}.workspace{grid-template-columns:minmax(0,1fr) 130px}.case{padding:14px 5px 10px;gap:8px}.timer{font-size:23px;padding:4px 10px}.timer-penalty{left:auto;right:3px;top:calc(100% + 8px);font-size:10px}}@media(max-height:650px)and (min-width:901px){.equipment{width:580px;min-width:0;padding:20px 14px 16px}.meter-body{padding:7px}.dial{height:54px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important}.timer-penalty{animation:none;transform:translateY(-50%)}.fresh-cut .cut-end-left,.fresh-cut .cut-end-right{animation:none}}
