*{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;overflow:hidden}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#e0e0e0;background:#0d0d1a;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}._topBar_1p4u3_1{background:#1a1a2e;border-bottom:1px solid #333;flex-shrink:0;align-items:center;gap:16px;min-height:52px;padding:8px 16px;display:flex}._left_1p4u3_12{align-items:center;gap:12px;min-width:200px;display:flex}._loadButton_1p4u3_19{color:#fff;cursor:pointer;white-space:nowrap;background:#4361ee;border:none;border-radius:6px;padding:8px 16px;font-size:14px;transition:background .2s}._loadButton_1p4u3_19:hover{background:#3a56d4}._title_1p4u3_34{color:#e0e0e0;text-overflow:ellipsis;white-space:nowrap;max-width:200px;font-size:15px;font-weight:600;overflow:hidden}._center_1p4u3_44{flex:1;justify-content:center;align-items:center;gap:16px;display:flex}._controls_1p4u3_52{align-items:center;gap:4px;display:flex}._controlButton_1p4u3_58{color:#ddd;cursor:pointer;background:0 0;border:1px solid #555;border-radius:6px;justify-content:center;align-items:center;width:38px;height:38px;font-size:18px;transition:all .15s;display:flex}._controlButton_1p4u3_58:hover{background:#333;border-color:#777}._playButton_1p4u3_77{color:#fff;background:#4361ee;border-color:#4361ee}._playButton_1p4u3_77:hover{background:#3a56d4}._seekContainer_1p4u3_86{flex:1;align-items:center;gap:8px;max-width:500px;display:flex}._seekBar_1p4u3_94{accent-color:#4361ee;cursor:pointer;flex:1;height:4px}._time_1p4u3_101{color:#aaa;text-align:center;min-width:36px;font-family:monospace;font-size:12px}._tempoControl_1p4u3_109{color:#aaa;align-items:center;gap:6px;font-size:13px;display:flex}._tempoSelect_1p4u3_117{color:#ddd;cursor:pointer;background:#2a2a3e;border:1px solid #555;border-radius:4px;padding:4px 8px;font-size:13px}._sidePanel_1ib7y_1{background:#16162a;border-right:1px solid #333;flex-direction:column;width:220px;min-width:220px;display:flex;overflow-y:auto}._header_1ib7y_11{color:#aaa;text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid #333;padding:12px 16px;font-size:14px;font-weight:600}._list_1ib7y_21{flex:1;padding:4px 0;overflow-y:auto}._partItem_1ib7y_27{border-bottom:1px solid #222;align-items:center;gap:8px;padding:6px 12px;transition:background .15s;display:flex}._partItem_1ib7y_27:hover{background:#1e1e38}._colorDot_1ib7y_39{border-radius:50%;flex-shrink:0;width:10px;height:10px}._partName_1ib7y_46{color:#ccc;text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;overflow:hidden}._buttons_1ib7y_55{flex-shrink:0;gap:2px;display:flex}._btn_1ib7y_61{cursor:pointer;border:none;border-radius:4px;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:13px;transition:all .15s;display:flex}._btnActive_1ib7y_75{color:#ddd;background:#2a2a4a}._btnActive_1ib7y_75:hover{background:#3a3a5a}._btnInactive_1ib7y_83{color:#666;background:#1a1a2e}._btnInactive_1ib7y_83:hover{color:#999;background:#2a2a3e}._btnSoloActive_1ib7y_92{color:#1a1a2e;background:#f5a623;font-weight:700}._btnSoloActive_1ib7y_92:hover{background:#e09520}._container_3vjjd_1{cursor:grab;background:#0d0d1a;flex:1;position:relative;overflow:hidden}._canvas_3vjjd_9{width:100%;height:100%;display:block}._welcome_ndfa1_1{background:#0d0d1a;justify-content:center;align-items:center;height:100vh;display:flex}._card_ndfa1_9{text-align:center;max-width:480px;padding:48px}._title_ndfa1_15{color:#e0e0e0;margin:0 0 8px;font-size:28px;font-weight:700}._subtitle_ndfa1_22{color:#888;margin:0 0 32px;font-size:15px}._dropZone_ndfa1_28{cursor:pointer;border:2px dashed #444;border-radius:12px;padding:48px 32px;transition:all .2s}._dropZone_ndfa1_28:hover{background:#4361ee0d;border-color:#4361ee}._dropIcon_ndfa1_40{margin-bottom:16px;font-size:48px}._dropText_ndfa1_45{color:#999;margin:0;font-size:14px}._error_ndfa1_51{color:#e74c3c;margin-top:16px;font-size:14px}.app{color:#e0e0e0;background:#0d0d1a;flex-direction:column;height:100vh;display:flex;overflow:hidden}.mainArea{flex:1;display:flex;overflow:hidden}.errorBar{color:#fff;z-index:100;background:#e74c3c;border-radius:8px;align-items:center;gap:12px;padding:8px 20px;font-size:14px;display:flex;position:fixed;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.errorBar button{color:#fff;cursor:pointer;background:0 0;border:none;padding:0 4px;font-size:16px}
