*{box-sizing:border-box;margin:0;padding:0}body{font-family:Courier New,monospace;background:#1a1a1a;color:#e0e0e0;padding:20px;line-height:1.6}.container{max-width:900px;margin:0 auto}h1{color:#0f8;margin-bottom:10px;font-size:28px}.subtitle{color:#888;margin-bottom:30px;font-size:14px}.section{background:#252525;border:1px solid #333;border-radius:4px;padding:20px;margin-bottom:20px}.section h2{color:#0f8;font-size:16px;margin-bottom:15px;text-transform:uppercase;letter-spacing:1px}#graphInput{width:100%;min-height:300px;background:#1a1a1a;color:#e0e0e0;border:1px solid #444;border-radius:4px;padding:15px;font-family:Courier New,monospace;font-size:13px;line-height:1.5;resize:vertical}#graphInput:focus{outline:none;border-color:#0f8}.controls{display:flex;gap:10px;align-items:center}button{background:#0f8;color:#1a1a1a;border:none;padding:12px 24px;font-size:14px;font-weight:700;font-family:Courier New,monospace;border-radius:4px;cursor:pointer;text-transform:uppercase;letter-spacing:1px;transition:all .2s}button:hover{background:#0d7;transform:translateY(-1px)}button:active{transform:translateY(0)}button:disabled{background:#444;color:#666;cursor:not-allowed;transform:none}.start-audio-btn{background:#ffb000;color:#1a1a1a;box-shadow:0 0 0 2px #ffb00059}.start-audio-btn:hover{background:#ff9800}.start-audio-btn:active{transform:translateY(0);box-shadow:0 0 0 2px #ff980059}#status{flex:1;padding:12px;background:#1a1a1a;border:1px solid #444;border-radius:4px;font-size:13px;min-height:44px;display:flex;align-items:center}#status.success{border-color:#0f8;color:#0f8}#status.error{border-color:#f44;color:#f44}#status.info{border-color:#48f;color:#48f}.info-text{color:#888;font-size:12px;margin-top:10px;line-height:1.4}code{background:#1a1a1a;padding:2px 6px;border-radius:2px;color:#0f8}.module-controls{display:flex;gap:8px;margin-bottom:15px;flex-wrap:wrap;align-items:center}.module-controls button{padding:8px 16px;font-size:12px}.randomize-controls{margin-left:auto;display:flex;align-items:center;gap:10px}.binaural-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#d0d0d0}.scope-canvas{display:block;border:1px solid #2a2a2a;border-radius:2px}.scope-canvas.tiny{width:20px;height:20px;margin-left:6px}.patch-matrix .output-header{display:flex;align-items:center;gap:6px}.table-container{overflow-x:auto;margin-bottom:10px}table{width:100%;border-collapse:collapse;background:#1a1a1a;font-size:13px}th,td{border:1px solid #333;padding:8px;text-align:left}th{background:#2a2a2a;color:#0f8;font-weight:700;position:sticky;top:0;z-index:10}#moduleTable tbody tr:hover{background:#252525}#moduleTable input[type=text],#moduleTable input[type=number],#moduleTable select{background:#2a2a2a;border:1px solid #444;color:#e0e0e0;padding:4px 8px;border-radius:2px;font-family:Courier New,monospace;font-size:13px}#moduleTable input[type=text]:focus,#moduleTable input[type=number]:focus,#moduleTable select:focus{outline:none;border-color:#0f8}.id-cell{color:#888;font-family:Courier New,monospace}.no-params{color:#555}.delete-btn{background:#f44;color:#fff;border:none;padding:4px 10px;font-size:16px;cursor:pointer;border-radius:2px;font-weight:700}.delete-btn:hover{background:#c00}.patch-matrix{font-size:11px}.patch-matrix th{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap;padding:4px;min-width:30px}.patch-matrix .output-header{writing-mode:horizontal-tb;transform:none;text-align:right;padding-right:10px}.patch-matrix td{text-align:center;padding:2px;background:#1a1a1a}.patch-matrix td:hover{background:#2a2a2a}.patch-matrix input[type=checkbox]{cursor:pointer;width:16px;height:16px;accent-color:#00ff88}.patch-matrix thead th:first-child{writing-mode:horizontal-tb;transform:none}
