:root{--color-bg-primary:#1a1a1a;--color-bg-secondary:#282828;--color-bg-tertiary:#373737;--color-bg-light:#ebebeb;--color-bg-light-secondary:#d4d4d4;--color-text-primary:#fff;--color-text-secondary:#ebebeb;--color-text-tertiary:#cbcbcb;--color-accent-teal:#118c9b;--color-accent-teal-bright:#1a9db0;--color-accent-red:#c14746;--color-accent-yellow:gold;--color-accent-blue:#4c94e6;--color-accent-green:#7bc378;--color-accent-orange:#f4b447;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:12px;--spacing-lg:16px;--spacing-xl:24px;--header-height:60px;--sidebar-width:260px;--effects-width:280px;--timeline-height:50px;--track-height:50px;--knob-size:40px;--slider-width:24px;--step-width:36px;--transition-fast:.15s ease;--transition-normal:.25s ease}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--color-bg-primary);color:var(--color-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;overflow:hidden}.daw-container{background:var(--color-bg-primary);flex-direction:column;height:100vh;display:flex}.daw-header{height:var(--header-height);border-bottom:1px solid var(--color-bg-tertiary);padding:0 var(--spacing-lg);z-index:10;background:linear-gradient(135deg,#282828 0%,#1a1a1a 100%);justify-content:space-between;align-items:center;display:flex}.daw-main{flex:1;display:flex;overflow:hidden}.daw-sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-bg-tertiary);overflow-y:auto}.daw-content{background:var(--color-bg-primary);flex-direction:column;flex:1;display:flex;overflow:hidden}.daw-footer{height:var(--timeline-height);border-top:1px solid var(--color-bg-tertiary);background:linear-gradient(#1a1a1a 0%,#282828 100%)}.btn{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-primary);color:var(--color-text-primary);padding:var(--spacing-sm) var(--spacing-md);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;font-size:12px;font-weight:500}.btn:hover{background:var(--color-accent-teal);border-color:var(--color-accent-teal)}.btn:active{transform:scale(.98)}.btn-primary{background:var(--color-accent-teal);border-color:var(--color-accent-teal)}.btn-primary:hover{background:var(--color-accent-teal-bright)}.btn-danger{background:var(--color-accent-red);border-color:var(--color-accent-red)}.btn-danger:hover{background:#d44d4c}.btn-icon{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-primary);width:32px;height:32px;color:var(--color-text-primary);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;padding:0;font-size:14px;font-weight:700;display:inline-flex}.btn-icon:hover{background:var(--color-accent-teal);border-color:var(--color-accent-teal)}.knob{align-items:center;gap:var(--spacing-xs);flex-direction:column;display:flex}.knob input{width:var(--knob-size);height:var(--knob-size);background:var(--color-bg-tertiary);border:2px solid var(--color-bg-primary);cursor:pointer;appearance:none;border-radius:50%;position:relative}.slider{background:var(--color-bg-tertiary);appearance:none;cursor:pointer;border-radius:4px;outline:none;width:100%;height:8px}.slider::-webkit-slider-thumb{appearance:none;background:var(--color-accent-teal);cursor:pointer;border-radius:50%;width:16px;height:16px;box-shadow:0 0 8px #118c9b80}.grid{gap:var(--spacing-xs);display:grid}.text-primary{color:var(--color-text-primary)}.text-secondary{color:var(--color-text-secondary)}.text-tertiary{color:var(--color-text-tertiary)}.text-accent{color:var(--color-accent-teal)}.header-left{align-items:center;gap:var(--spacing-md);display:flex}.header-left h1{color:var(--color-text-secondary);letter-spacing:.5px;font-size:18px;font-weight:700}.header-status{color:var(--color-text-tertiary);background:var(--color-bg-tertiary);border-radius:4px;padding:2px 8px;font-size:12px}.transport{gap:var(--spacing-xs);display:flex}.transport-button{letter-spacing:.5px;min-width:72px;height:36px;font-weight:600}.transport-button.is-active{background:var(--color-accent-teal-bright);border-color:var(--color-accent-teal-bright);color:var(--color-text-primary)}.header-right{align-items:center;gap:var(--spacing-md);display:flex}.tempo-control{align-items:center;gap:var(--spacing-xs);color:var(--color-text-tertiary);font-size:12px;display:flex}.tempo-control input{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-primary);width:60px;height:32px;color:var(--color-text-secondary);text-align:center;border-radius:4px;font-size:14px;font-weight:600}.time-signature{color:var(--color-text-secondary);background:var(--color-bg-tertiary);border-radius:4px;align-items:center;gap:4px;padding:4px 10px;font-size:14px;font-weight:600;display:flex}.track-list-header{border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-primary);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.track-list{flex:1;overflow:auto}.track-item{border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary);align-items:center;gap:10px;padding:10px 16px;display:flex}.track-color{border-radius:3px;flex-shrink:0;width:14px;height:14px}.track-item input[type=text]{color:var(--color-text-secondary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.instrument-rack{flex-direction:column;gap:8px;padding:12px;display:flex}.instrument-card{background:var(--color-bg-tertiary);border:1px solid var(--color-bg-primary);cursor:pointer;border-radius:6px;align-items:center;gap:10px;padding:10px 12px;display:flex}.instrument-card:hover{background:var(--color-accent-teal);border-color:var(--color-accent-teal)}.instrument-card.selected{background:var(--color-accent-teal);border-color:var(--color-accent-teal-bright)}.instrument-swatch{background:var(--color-accent-teal);border-radius:4px;flex-shrink:0;width:24px;height:24px}.instrument-name{color:var(--color-text-secondary);flex:1;font-size:12px;font-weight:600}.instrument-action-row{gap:6px;display:flex}.sequencer{flex-direction:column;height:100%;display:flex}.sequencer-header{border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary);align-items:center;height:50px;padding:8px 16px;display:flex}.sequencer-label{width:200px;color:var(--color-text-secondary);font-size:14px;font-weight:600}.steps-header{flex:1;gap:4px;display:flex}.step-header{width:var(--step-width);text-align:center;color:var(--color-text-tertiary);font-size:11px;font-weight:500}.step-header.beat{color:var(--color-accent-yellow)}.sequencer-grid{flex:1;overflow:auto}.sequencer-track{border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-primary);align-items:center;gap:10px;padding:8px 16px;display:flex}.sequencer-track.even{background:#1e1e1e}.track-info{flex-shrink:0;align-items:center;gap:8px;width:200px;display:flex}.track-info .track-color{border-radius:3px;flex-shrink:0;width:16px;height:16px}.track-info input[type=text]{color:var(--color-text-secondary);background:0 0;border:none;outline:none;flex:1;font-size:13px;font-weight:500}.steps{flex:1;gap:3px;display:flex}.step-btn{width:var(--step-width);border:1px solid var(--color-bg-tertiary);background:var(--color-bg-tertiary);cursor:pointer;height:48px;transition:all var(--transition-fast);border-radius:6px;justify-content:center;align-items:flex-end;padding-bottom:3px;display:flex;position:relative}.step-btn:hover{border-color:var(--color-accent-teal-bright)}.step-btn.active{background:var(--color-accent-teal);border-color:var(--color-accent-teal-bright);box-shadow:0 0 10px #118c9b66}.step-btn.playing{border-color:var(--color-accent-yellow);box-shadow:0 0 12px #ffd70080}.velocity-bar{background:linear-gradient(#eee,#fff);border-radius:1px;height:4px;transition:height .1s}.track-actions{flex-shrink:0;gap:4px;margin-left:8px;display:flex}.pattern-buttons{background:var(--color-bg-secondary);border-bottom:1px solid var(--color-bg-tertiary);gap:4px;padding:8px 16px;display:flex}.effects-panel{width:var(--effects-width);background:var(--color-bg-primary);border-left:1px solid var(--color-bg-tertiary);flex-direction:column;display:flex}.panel-header{border-bottom:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary);padding:12px 16px}.panel-header h3{color:var(--color-text-secondary);font-size:14px;font-weight:600}.panel-content{flex:1;padding:12px;overflow:auto}.section{margin-bottom:24px}.section h4{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:12px;font-weight:600}.instrument-list,.effect-list{flex-direction:column;gap:8px;display:flex}.instrument-list .btn,.effect-list .btn{text-align:left;background:var(--color-bg-tertiary);border:1px solid var(--color-bg-primary);color:var(--color-text-secondary);border-radius:6px;padding:10px;font-size:12px}.instrument-list .btn:hover,.effect-list .btn:hover{background:var(--color-accent-teal);border-color:var(--color-accent-teal);color:var(--color-text-primary)}.parameter-controls{margin-top:24px}.param-knob{align-items:center;gap:10px;margin-bottom:16px;display:flex}.param-knob label{color:var(--color-text-tertiary);width:70px;font-size:12px;font-weight:500}.param-knob .param-value{text-align:right;min-width:40px;color:var(--color-text-secondary);font-size:12px}.patch-bay{border:1px solid var(--color-bg-tertiary);background:var(--color-bg-secondary);border-radius:6px;margin-top:24px;padding:12px}.patch-bay h4{color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px;font-size:11px;font-weight:600}.patch-bay svg{width:100%;height:140px}.mixer{background:var(--color-bg-primary);flex-direction:column;flex:1;padding:16px;display:flex}.mixer h2{color:var(--color-text-secondary);border-bottom:1px solid var(--color-bg-tertiary);margin-bottom:16px;padding-bottom:8px;font-size:16px;font-weight:600}.mixer-channels{flex:1;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));align-content:start;gap:16px;padding:4px;display:grid}.mixer-channel{background:var(--color-bg-secondary);border:1px solid var(--color-bg-tertiary);border-radius:8px;flex-direction:column;gap:12px;padding:12px;display:flex}.channel-header{align-items:center;gap:8px;display:flex}.channel-color{border-radius:50%;flex-shrink:0;width:12px;height:12px}.channel-header .channel-name{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:13px;font-weight:600;overflow:hidden}.channel-controls{flex-direction:column;gap:12px;display:flex}.control-row{align-items:center;gap:10px;display:flex}.control-row label{color:var(--color-text-tertiary);text-transform:uppercase;width:36px;font-size:11px;font-weight:600}.control-row input[type=range]{flex:1;height:6px}.control-row .value-display{color:var(--color-text-secondary);text-align:right;width:36px;font-size:11px;font-weight:600}.channel-buttons{gap:6px;display:flex}.channel-buttons .btn{flex:1;padding:6px;font-size:11px;font-weight:600}.timeline{align-items:center;gap:0;height:100%;padding:0 16px;display:flex}.time-display{min-width:80px;color:var(--color-text-secondary);font-size:13px;font-weight:500}.timeline-grid{flex:1;gap:2px;height:24px;padding:0 12px;display:flex}.timeline-step{background:var(--color-bg-tertiary);transition:all var(--transition-fast);border-radius:3px;flex:1;position:relative}.timeline-step.active{background:var(--color-accent-teal)}.timeline-step.loop-marker{background:var(--color-accent-yellow)}.loop-controls{min-width:100px;color:var(--color-text-tertiary);align-items:center;gap:6px;font-size:12px;display:flex}.loop-controls input[type=checkbox]{accent-color:var(--color-accent-teal);width:16px;height:16px}.master-controls{align-items:center;gap:12px;min-width:160px;display:flex}.master-controls .control-row{margin:0}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-primary)}::-webkit-scrollbar-thumb{background:var(--color-bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--color-accent-teal)}
