.app-container{display:grid;grid-template-columns:22% 53% 25%;gap:16px;padding:16px;flex:1;overflow:hidden;height:calc(100vh - 65px)}@keyframes motorBodyPulse{0%{filter:brightness(1.1) drop-shadow(0 0 8px rgba(33,150,243,.4))}to{filter:brightness(1.2) drop-shadow(0 0 12px rgba(33,150,243,.6))}}@keyframes motorBodyErrorPulse{0%{filter:brightness(1.2) drop-shadow(0 0 12px rgba(244,67,54,.6))}to{filter:brightness(1.4) drop-shadow(0 0 16px rgba(244,67,54,.9))}}select.glass-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url(data:image/svg+xml;charset=US-ASCII,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20width%3D%22292.4%22%20height%3D%22292.4%22%3E%3Cpath%20fill%3D%22%2300f0ff%22%20d%3D%22M287%2069.4a17.6%2017.6%200%200%200-13-5.4H18.4c-5%200-9.3%201.8-12.9%205.4A17.6%2017.6%200%200%200%200%2082.2c0%205%201.8%209.3%205.4%2012.9l128%20127.9c3.6%203.6%207.8%205.4%2012.8%205.4s9.2-1.8%2012.8-5.4L287%2095c3.5-3.5%205.4-7.8%205.4-12.8%200-5-1.9-9.2-5.5-12.8z%22%2F%3E%3C%2Fsvg%3E);background-repeat:no-repeat;background-position:right 12px top 50%;background-size:10px auto;padding:10px 32px 10px 12px;background-color:#0d142699;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid rgba(0,240,255,.3);font-size:13px;font-weight:600;color:#e2e8f0;transition:all .3s ease;border-radius:8px;cursor:pointer}select.glass-select:hover,select.glass-select:focus{border-color:#00f0ff;box-shadow:0 0 15px #00f0ff33;background-color:#0d1426cc;outline:none}select.glass-select option{background-color:#0d1426;color:#e2e8f0;padding:8px}.btn-primary,.btn-secondary{width:100%;padding:12px;border-radius:8px;font-family:var(--font-main);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease;border:1px solid rgba(255,255,255,.1);background:#0d142699;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#e2e8f0;margin-bottom:10px}.btn-primary{border-color:#00f0ff4d;color:#00f0ff;box-shadow:0 0 10px #00f0ff1a}.btn-primary:hover:not(.disabled){background:#00f0ff26;border-color:#00f0ff;box-shadow:0 0 20px #00f0ff66;transform:translateY(-2px)}.btn-secondary{border-color:#ff17444d;color:#ff1744;box-shadow:0 0 10px #ff17441a}.btn-secondary:hover:not(.disabled){background:#ff174426;border-color:#ff1744;box-shadow:0 0 20px #ff174466;transform:translateY(-2px)}.btn-primary.disabled,.btn-secondary.disabled{background:#1e293b66;color:#64748b;border-color:#64748b33;cursor:not-allowed;box-shadow:none;transform:none;opacity:.6}.btn-small{background:#ffffff0d;border:1px solid rgba(255,255,255,.1);color:#94a3b8;padding:4px 10px;border-radius:4px;font-size:11px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-small:hover{background:#00f0ff1a;border-color:#00f0ff;color:#00f0ff;box-shadow:0 0 8px #00f0ff4d}:root{--bg-dark: #070a13;--panel-bg: rgba(13, 20, 38, .7);--panel-border: rgba(255, 255, 255, .06);--panel-shadow: 0 12px 32px rgba(0, 0, 0, .5);--color-text: #e2e8f0;--color-text-dim: #94a3b8;--color-primary: #00f0ff;--color-primary-glow: rgba(0, 240, 255, .3);--color-yellow: #ffd214;--color-green: #00e676;--color-red: #ff1744;--color-blue: #2979ff;--color-black: #111111;--font-main: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: "Share Tech Mono", "Courier New", Courier, monospace}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-dark);background-image:radial-gradient(at 0% 0%,rgba(13,20,38,.8) 0px,transparent 50%),radial-gradient(at 50% 0%,rgba(0,240,255,.05) 0px,transparent 50%),radial-gradient(at 100% 100%,rgba(255,23,68,.03) 0px,transparent 50%);color:var(--color-text);font-family:var(--font-main);overflow:hidden;height:100vh;display:flex;flex-direction:column}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#0000001a}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}.app-header{background:#0a0f1ccc;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--panel-border);padding:10px 24px;display:flex;justify-content:space-between;align-items:center;height:65px;z-index:100}.logo-area{display:flex;align-items:center;gap:12px}.logo-icon{font-size:26px;filter:drop-shadow(0 0 8px #ffd214)}.logo-text h1{font-size:18px;font-weight:700;letter-spacing:.5px;background:linear-gradient(135deg,#fff 30%,#a5b4fc);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.version-badge{font-size:10px;color:var(--color-primary);background:#00f0ff1a;border:1px solid rgba(0,240,255,.25);padding:1px 6px;border-radius:4px;font-weight:600}.nav-selectors{flex:1;display:flex;justify-content:center;max-width:500px;margin:0 20px}.selector-group{display:flex;flex-direction:column;width:100%}.selector-group label{font-size:10px;color:var(--color-text-dim);margin-bottom:2px;text-transform:uppercase;letter-spacing:1px}.glass-select{background:#ffffff0a;border:1px solid var(--panel-border);border-radius:6px;color:var(--color-text);padding:6px 12px;font-family:var(--font-main);font-size:13px;font-weight:600;outline:none;cursor:pointer;transition:all .3s ease}.glass-select:focus,.glass-select:hover{border-color:var(--color-primary);background:#ffffff14;box-shadow:0 0 10px #00f0ff26}.header-actions{display:flex;align-items:center}.system-status{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--color-green);background:#00e67614;border:1px solid rgba(0,230,118,.15);padding:4px 10px;border-radius:20px}.pulse-dot{width:8px;height:8px;background-color:var(--color-green);border-radius:50%;box-shadow:0 0 8px var(--color-green);animation:pulse 1.5s infinite}@keyframes pulse{0%{transform:scale(.9);opacity:.6}50%{transform:scale(1.1);opacity:1;box-shadow:0 0 12px var(--color-green)}to{transform:scale(.9);opacity:.6}}.app-container{display:grid;grid-template-columns:28% 47% 25%;gap:16px;padding:16px;flex:1;overflow:hidden;height:calc(100vh - 65px)}.glass-card{background:var(--panel-bg);border:1px solid var(--panel-border);border-radius:12px;box-shadow:var(--panel-shadow);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);overflow:hidden;display:flex;flex-direction:column}.panel{height:100%}.panel-header{padding:12px 16px;border-bottom:1px solid var(--panel-border);display:flex;justify-content:space-between;align-items:center;background:#ffffff03}.panel-header h2{font-size:14px;font-weight:700;color:var(--color-text);display:flex;align-items:center;gap:6px}.panel-actions{display:flex;gap:6px}.btn-icon{background:#ffffff0a;border:1px solid var(--panel-border);border-radius:4px;color:var(--color-text);width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:10px;transition:all .2s ease}.btn-icon:hover{background:#ffffff1a;border-color:var(--color-primary)}.schematic-panel{display:flex;flex-direction:column}.schematic-viewport{flex:1;overflow:auto;background:#fff;position:relative;padding:10px;display:flex;align-items:center;justify-content:center;border-bottom:1px solid var(--panel-border)}.schematic-viewport svg{max-width:100%;max-height:100%;transform-origin:center;transition:transform .2s ease}.schematic-legend{padding:10px 16px;display:flex;gap:16px;font-size:11px;color:var(--color-text-dim);background:#0003}.legend-item{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.legend-dot.normal{background:#999}.legend-dot.connected{background:#00c853;box-shadow:0 0 6px #00c853}.legend-dot.active{background:#ff3d00;box-shadow:0 0 8px #ff3d00}.board-panel{display:flex;flex-direction:column;position:relative;gap:12px}.toolbar{background:#0a101ebf;border:1px solid rgba(255,255,255,.08);border-radius:10px;box-shadow:0 8px 32px #0000004d;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);padding:8px 16px;display:flex;align-items:center;justify-content:space-between;z-index:10;gap:12px;flex-shrink:0}.divider{width:1px;height:24px;background:#ffffff1a}.tool-section{display:flex;align-items:center;gap:8px}.tool-label{font-size:11px;color:var(--color-text-dim);font-weight:600}.color-btn{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;background-color:var(--btn-color);position:relative;transition:all .2s ease}.color-btn:hover{transform:scale(1.15)}.color-btn.active{border-color:#fff;box-shadow:0 0 10px var(--btn-color);transform:scale(1.1)}.btn-text{background:#ffffff0a;border:1px solid var(--panel-border);color:var(--color-text-dim);padding:6px 12px;border-radius:6px;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s ease}.btn-text:hover{border-color:var(--color-primary);color:var(--color-text);background:#00f0ff0d}.btn-text.active{border-color:var(--color-primary);color:var(--color-primary);background:#00f0ff1a}.btn-text.danger{background:#ff17440d;border-color:#ff174433;color:#ff1744e6}.btn-text.danger:hover{background:#ff174426;border-color:var(--color-red);color:#fff}.photo-overlay{font-size:11px;gap:6px}.glass-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:80px;height:4px;background:#ffffff1a;border-radius:2px;outline:none;cursor:pointer}.glass-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:12px;height:12px;border-radius:50%;background:var(--color-primary);box-shadow:0 0 6px var(--color-primary);transition:all .1s ease}.glass-slider::-webkit-slider-thumb:hover{transform:scale(1.3)}#overlay-value{font-family:var(--font-mono);font-size:11px;color:var(--color-primary);width:32px;text-align:right}.board-viewport{flex:1;border:1px solid var(--panel-border);border-radius:12px;background:#0f1422;box-shadow:inset 0 4px 20px #0009;overflow:hidden;position:relative;display:flex;justify-content:center;align-items:center}.board-viewport svg{width:100%;height:100%;-webkit-user-select:none;user-select:none}.terminal-screw{cursor:pointer;transition:all .2s ease}.terminal-screw:hover .screw-highlight{fill:#ffd2144d!important;stroke:var(--color-yellow)!important;stroke-width:2px}.terminal-screw.selected .screw-highlight{fill:#00f0ff66!important;stroke:var(--color-primary)!important;stroke-width:2.5px;animation:terminal-glow 1.2s infinite alternate}@keyframes terminal-glow{0%{filter:drop-shadow(0 0 2px var(--color-primary))}to{filter:drop-shadow(0 0 8px var(--color-primary))}}.svg-wire{cursor:pointer;transition:stroke-width .2s ease}.svg-wire:hover{stroke-width:7px!important;filter:drop-shadow(0 0 4px rgba(255,255,255,.6))}.svg-wire.live{animation:wire-current 2s linear infinite;stroke-dasharray:8,4}@keyframes wire-current{0%{stroke-dashoffset:24}to{stroke-dashoffset:0}}.console-panel{gap:12px;padding-bottom:12px}.console-widget{background:#ffffff04;border:1px solid rgba(255,255,255,.03);border-radius:8px;padding:12px;margin:0 12px}.console-widget h3{font-size:11px;font-weight:700;color:var(--color-text-dim);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.phase-lights{display:flex;justify-content:space-around;padding:4px 0}.phase-light{display:flex;flex-direction:column;align-items:center;gap:6px}.light-bulb{width:16px;height:16px;border-radius:50%;background-color:#222;border:2px solid rgba(255,255,255,.05);box-shadow:inset 0 2px 4px #000c;transition:all .3s ease}.light-label{font-size:10px;color:var(--color-text-dim);font-weight:600}.light-bulb.red.on{background-color:var(--color-red);box-shadow:0 0 14px var(--color-red),inset 0 1px 3px #fff}.light-bulb.green.on{background-color:var(--color-green);box-shadow:0 0 14px var(--color-green),inset 0 1px 3px #fff}.light-bulb.yellow.on{background-color:var(--color-yellow);box-shadow:0 0 14px var(--color-yellow),inset 0 1px 3px #fff}@keyframes motorRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes motorRotateReverse{0%{transform:rotate(360deg)}to{transform:rotate(0)}}.board-content svg *{transition:all .3s ease}#switch-rocker-S1,#switch-rocker-S2{transition:transform .2s ease;cursor:pointer}#btn-sb1-physical,#btn-sb2-physical,#btn-sb3-physical{cursor:pointer}#rcd-handle,#breaker-3p-handle{transition:transform .3s ease;cursor:pointer}.actions-widget{display:flex;flex-direction:column;gap:10px;background:transparent;border:none;margin-top:5px;margin-bottom:5px}.btn-control{width:100%;padding:12px;border-radius:8px;border:none;font-family:var(--font-main);font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .3s ease}.btn-control.run{background:linear-gradient(135deg,#00c853,#00e676);color:#000;box-shadow:0 4px 15px #00e67633}.btn-control.run:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 20px #00e67666}.btn-control.stop{background:linear-gradient(135deg,#d50000,#ff1744);color:#fff;box-shadow:0 4px 15px #ff174426}.btn-control.stop:hover:not(.disabled){transform:translateY(-2px);box-shadow:0 6px 20px #ff174459}.btn-control.disabled{background:#1e293b!important;color:#64748b!important;cursor:not-allowed;box-shadow:none!important;transform:none!important;opacity:.5}.dashboard-meters{display:flex;gap:8px}.meter-item{flex:1;background:#0006;border:1px solid rgba(255,255,255,.03);border-radius:6px;padding:8px;display:flex;flex-direction:column;align-items:center;gap:4px}.meter-title{font-size:9px;color:var(--color-text-dim);font-weight:600}.meter-readout{font-family:var(--font-mono);font-size:18px;font-weight:700;color:var(--color-primary);text-shadow:0 0 6px rgba(0,240,255,.4)}.meter-readout .unit{font-size:9px;color:var(--color-text-dim)}.log-widget{flex:1;display:flex;flex-direction:column;overflow:hidden;margin-bottom:0}.log-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.btn-small-link{background:none;border:none;color:var(--color-primary);font-size:10px;cursor:pointer;font-weight:600}.btn-small-link:hover{text-decoration:underline}.log-terminal{background:#020617;border:1px solid rgba(255,255,255,.04);border-radius:6px;flex:1;padding:8px;font-family:var(--font-mono);font-size:11px;line-height:1.5;overflow-y:auto;display:flex;flex-direction:column;gap:4px}.log-line{border-left:2.5px solid transparent;padding-left:6px}.log-line.info{border-color:var(--color-primary);color:#38bdf8}.log-line.success{border-color:var(--color-green);color:#4ade80}.log-line.error{border-color:var(--color-red);color:#f87171;animation:flash-text 1s infinite alternate}.log-line.warning{border-color:var(--color-yellow);color:#fbbf24}@keyframes flash-text{0%{opacity:.75}to{opacity:1;text-shadow:0 0 4px var(--color-red)}}.alert-flash-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#fff;opacity:0;pointer-events:none;z-index:1000;transition:opacity .05s ease-out}.alert-flash-overlay.active{animation:screen-spark .3s cubic-bezier(.1,.8,.3,1)}@keyframes screen-spark{0%{opacity:.9;background:#fff;filter:brightness(2)}10%{opacity:.7;background:#ff3d00}30%{opacity:.8;background:#fff}to{opacity:0}}@keyframes fan-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.fan-rotating{animation:fan-spin .4s linear infinite;transform-origin:center}@keyframes meter-digital-pulse{0%{opacity:.9}50%{opacity:.5}to{opacity:.9}}.digital-pulse{animation:meter-digital-pulse 1s infinite}.schematic-tabs{display:flex;background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:2px;gap:2px}.tab-btn{background:none;border:none;color:var(--color-text-dim);padding:4px 10px;font-size:11px;font-weight:700;cursor:pointer;border-radius:4px;transition:all .2s ease;font-family:var(--font-main)}.tab-btn:hover{color:var(--color-text);background:#ffffff08}.tab-btn.active{background:#00f0ff26;color:var(--color-primary);box-shadow:0 0 8px #00f0ff1a}.blueprint-container{width:100%;height:100%;overflow:hidden;position:relative;background:#fff;display:flex;align-items:center;justify-content:center}.blueprint-image{position:absolute;width:200%;height:200%;object-fit:fill;pointer-events:none}.subject-lighting .blueprint-image{left:-100%;top:0}.subject-jogging .blueprint-image{left:0;top:-100%}.subject-reverse .blueprint-image{left:-100%;top:-100%}.subject-transformer .blueprint-image{left:0;top:0}.terminal-screw-static{cursor:default;pointer-events:none!important}.svg-wire-static{pointer-events:none!important;opacity:.85}.component{cursor:help;transition:filter .25s ease}.component:hover{filter:drop-shadow(0 0 5px rgba(0,240,255,.45)) drop-shadow(0 4px 8px rgba(0,0,0,.45))!important}
