:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}:root{--scope-bg: #111;--scope-grid: #333;--scope-text: #0f0;--brand-primary: #00ff00;--panel-bg: #222;--panel-border: #444}body{margin:0;background-color:var(--scope-bg);color:#eee;font-family:Courier New,Courier,monospace}.app-container{display:flex;flex-direction:column;height:100vh;width:100vw;overflow:hidden}.menu-bar{display:flex;background:#333;padding:4px 8px;border-bottom:1px solid #555}.menu-item{padding:4px 12px;cursor:pointer;color:#ccc;-webkit-user-select:none;user-select:none}.menu-item:hover,.menu-item.active{background:#555;color:#fff}.main-workspace{display:flex;flex:1;overflow:hidden}.scope-display{flex:2;position:relative;background-color:#000;margin:10px;border:4px solid #666;border-radius:4px;overflow:hidden;box-shadow:inset 0 0 20px #000c}.grid-background{width:100%;height:100%;background-image:linear-gradient(var(--scope-grid) 1px,transparent 1px),linear-gradient(90deg,var(--scope-grid) 1px,transparent 1px);background-size:10% 12.5%}.signal-overlay{position:absolute;bottom:10px;left:10px;font-size:12px;color:var(--scope-text);pointer-events:none}.control-panel{flex:0 0 20%;min-width:300px;background:var(--panel-bg);border-left:1px solid var(--panel-border);padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:15px}.panel-section{border:1px solid #444;padding:8px;border-radius:4px}.panel-header{margin-top:0;margin-bottom:8px;font-size:14px;color:#bbb;text-transform:uppercase;border-bottom:1px solid #444;padding-bottom:4px}.channel-controls{display:flex;flex-direction:column;gap:8px}.control-row{display:flex;align-items:center;justify-content:space-between;font-size:12px}.control-row label{color:#aaa}input[type=range]{width:100px}input[type=number]{width:60px;background:#333;border:1px solid #555;color:#fff}.ch-header{display:flex;justify-content:space-between;align-items:center}.toggle-btn{background:#444;border:1px solid #666;color:#ccc;cursor:pointer;padding:2px 6px;font-size:10px}.toggle-btn.active{background:#0a0;color:#000;border-color:#0f0}.modal-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#222;border:1px solid #444;padding:20px;border-radius:8px;width:400px;box-shadow:0 0 20px #000c;color:#eee}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;border-bottom:1px solid #444;padding-bottom:10px}.modal-header h2{margin:0;font-size:18px;color:#0f0}.close-btn{background:transparent;border:none;color:#888;font-size:20px;cursor:pointer}.close-btn:hover{color:#fff}.modal-row{margin-bottom:15px;display:flex;flex-direction:column}.modal-row label{color:#aaa;font-size:12px;margin-bottom:5px}.modal-row input,.modal-row select{background:#333;border:1px solid #555;color:#fff;padding:5px;border-radius:4px}.dual-input-row{display:flex;justify-content:space-between;gap:10px}.dual-input-group{flex:1;display:flex;flex-direction:column}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-primary{background:#0a0;color:#000;border:none;padding:8px 16px;border-radius:4px;cursor:pointer;font-weight:700}.btn-primary:hover{background:#0f0}.btn-secondary{background:#444;color:#ccc;border:none;padding:8px 16px;border-radius:4px;cursor:pointer}.btn-secondary:hover{background:#555}
