@import"https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=JetBrains+Mono:wght@400;500&display=swap";:root{--bg-app: #080c14;--bg-panel: rgba(15, 22, 36, .7);--bg-panel-hover: rgba(22, 32, 54, .85);--border-color: rgba(255, 255, 255, .08);--border-color-glow: rgba(0, 242, 254, .4);--neon-cyan: #00f2fe;--neon-magenta: #fe0979;--neon-purple: #7f00ff;--neon-green: #00f5a0;--neon-yellow: #ffd200;--text-primary: #f5f6fa;--text-secondary: #8e99b3;--text-dim: #525f7a;--font-sans: "Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "JetBrains Mono", monospace;--glow-cyan: 0 0 12px rgba(0, 242, 254, .5);--glow-magenta: 0 0 12px rgba(254, 9, 121, .5);--glow-green: 0 0 12px rgba(0, 245, 160, .5);--glass-shadow: 0 8px 32px 0 rgba(0, 0, 0, .37)}*{box-sizing:border-box;margin:0;padding:0;-webkit-user-select:none;user-select:none}body{font-family:var(--font-sans);background-color:var(--bg-app);color:var(--text-primary);height:100vh;overflow:hidden;display:flex;flex-direction:column}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#ffffff05}::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#fff3}header{height:60px;background:#0a101cd9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 24px;z-index:10}.brand{display:flex;align-items:center;gap:12px}.brand-logo{width:28px;height:28px;background:linear-gradient(135deg,var(--neon-cyan),var(--neon-purple));border-radius:50%;position:relative;box-shadow:var(--glow-cyan)}.brand-logo:after{content:"";position:absolute;top:6px;left:6px;right:6px;bottom:6px;background:var(--bg-app);border-radius:50%}.brand h1{font-size:20px;font-weight:700;letter-spacing:1px;background:linear-gradient(to right,var(--neon-cyan),var(--neon-magenta));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;text-shadow:0 0 30px rgba(0,242,254,.15)}.brand span{font-size:11px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:2px;margin-top:4px}.toolbar{display:flex;align-items:center;gap:16px}.control-btn{background:var(--bg-panel);border:1px solid var(--border-color);color:var(--text-primary);padding:8px 16px;border-radius:8px;cursor:pointer;display:flex;align-items:center;gap:8px;font-weight:500;font-size:13px;transition:all .2s ease}.control-btn:hover:not(:disabled){background:var(--bg-panel-hover);border-color:#fff3;transform:translateY(-1px)}.control-btn:active:not(:disabled){transform:translateY(0)}.control-btn.btn-record{background:#fe097926;border-color:#fe09794d;color:#ff3e9e}.control-btn.btn-record:hover:not(:disabled){background:#fe097940;border-color:var(--neon-magenta);box-shadow:var(--glow-magenta)}.control-btn.btn-record.recording{background:var(--neon-magenta);border-color:var(--neon-magenta);color:#fff;animation:pulse-red 1.5s infinite}.control-btn.btn-play{background:#00f5a026;border-color:#00f5a04d;color:var(--neon-green)}.control-btn.btn-play:hover:not(:disabled){background:#00f5a040;border-color:var(--neon-green);box-shadow:var(--glow-green)}.control-btn.btn-play.playing{background:var(--neon-green);border-color:var(--neon-green);color:#080c14;box-shadow:var(--glow-green)}.control-btn:disabled{opacity:.3;cursor:not-allowed}.metronome-area{display:flex;align-items:center;gap:10px;border-left:1px solid var(--border-color);border-right:1px solid var(--border-color);padding:0 16px;height:32px}.metronome-visual{width:12px;height:12px;border-radius:50%;background:var(--text-dim);transition:background-color .1s ease}.metronome-visual.tick{background:var(--neon-cyan);box-shadow:var(--glow-cyan)}.metronome-visual.tock{background:var(--neon-magenta);box-shadow:var(--glow-magenta)}.tempo-input{background:#0000004d;border:1px solid var(--border-color);border-radius:6px;color:var(--neon-cyan);width:50px;text-align:center;font-family:var(--font-mono);font-size:14px;font-weight:600;padding:4px 2px;outline:none}.tempo-input:focus{border-color:var(--neon-cyan);box-shadow:var(--glow-cyan)}main{flex:1;display:flex;overflow:hidden;position:relative}.daw-section{flex:1;display:flex;flex-direction:column;border-right:1px solid var(--border-color);background:#0a0e1a;overflow-y:auto;position:relative}.multitrack-container{display:flex;flex-direction:column;padding:16px;gap:12px;border-bottom:1px solid var(--border-color)}.track-lane{background:var(--bg-panel);border:1px solid var(--border-color);border-radius:12px;height:90px;display:flex;overflow:hidden;transition:border-color .2s,background-color .2s;box-shadow:var(--glass-shadow);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.track-lane:hover{background:var(--bg-panel-hover)}.track-lane.armed{border-color:#fe097966;box-shadow:0 0 10px #fe09790d}.track-lane.selected{border-color:#00f2fe66;box-shadow:0 0 10px #00f2fe0d}.track-controls{width:220px;border-right:1px solid var(--border-color);padding:12px;display:flex;flex-direction:column;justify-content:space-between;background:#0003}.track-header{display:flex;align-items:center;justify-content:space-between}.track-title-wrapper{display:flex;align-items:center;gap:8px}.track-color-indicator{width:6px;height:18px;border-radius:3px}.track-title{font-size:13px;font-weight:600;letter-spacing:.5px;color:var(--text-primary)}.track-delete-btn{background:transparent;border:none;color:var(--text-dim);cursor:pointer;font-size:14px;padding:2px 6px;border-radius:4px;transition:all .2s}.track-delete-btn:hover{color:#ff3860;background:#ff38601a}.track-buttons{display:flex;gap:6px}.track-btn{width:26px;height:26px;border-radius:6px;border:1px solid var(--border-color);background:#ffffff05;color:var(--text-secondary);font-weight:600;font-size:11px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s}.track-btn:hover{border-color:#ffffff26;color:var(--text-primary)}.track-btn.btn-mute.active{background:#ffd20033;border-color:var(--neon-yellow);color:var(--neon-yellow)}.track-btn.btn-solo.active{background:#00f2fe33;border-color:var(--neon-cyan);color:var(--neon-cyan)}.track-btn.btn-arm{color:var(--text-dim)}.track-btn.btn-arm:hover{color:#ff3e9e;border-color:#fe09794d}.track-btn.btn-arm.active{background:#fe097933;border-color:var(--neon-magenta);color:#ff3e9e;animation:pulse-border-red 1.5s infinite}.track-params{display:flex;align-items:center;gap:8px}.synth-select{background:#0000004d;border:1px solid var(--border-color);border-radius:6px;color:var(--text-secondary);font-size:11px;padding:2px 4px;outline:none;font-family:var(--font-sans);cursor:pointer;flex:1}.synth-select:focus{border-color:var(--neon-cyan)}.track-volume-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:60px;height:4px;border-radius:2px;background:#ffffff1a;outline:none}.track-volume-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:10px;height:10px;border-radius:50%;background:var(--text-secondary);cursor:pointer;transition:background .2s}.track-volume-slider::-webkit-slider-thumb:hover{background:var(--neon-cyan);box-shadow:var(--glow-cyan)}.track-visual-area{flex:1;position:relative;background:#0000001a;cursor:pointer}.track-canvas{position:absolute;top:0;left:0;width:100%;height:100%}.track-empty-state{position:absolute;top:0;left:0;width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--text-dim);font-size:12px;pointer-events:none;font-style:italic;gap:6px}.track-empty-state svg{width:14px;height:14px;stroke:currentColor}.editor-section{height:380px;border-top:1px solid var(--border-color);background:#07090f;display:flex;flex-direction:column}.editor-header{height:40px;background:#0a101c99;border-bottom:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 16px}.editor-title{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;color:var(--text-secondary)}.editor-controls{display:flex;align-items:center;gap:12px}.editor-btn{background:transparent;border:1px solid var(--border-color);color:var(--text-secondary);padding:4px 10px;border-radius:6px;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s}.editor-btn:hover{background:#ffffff0d;border-color:#fff3;color:var(--text-primary)}.editor-canvas-container{flex:1;position:relative;overflow:hidden;display:flex}#piano-roll-canvas{width:100%;height:100%;background:#070a0f}.analytics-section{width:320px;border-left:1px solid var(--border-color);background:#0c132199;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);display:flex;flex-direction:column;padding:20px;gap:20px;overflow-y:auto}.panel-title{font-size:13px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:1px;display:flex;align-items:center;gap:8px;padding-bottom:8px;border-bottom:1px solid var(--border-color)}.panel-title svg{width:16px;height:16px;stroke:var(--neon-cyan)}.viz-panel{background:#0003;border:1px solid var(--border-color);border-radius:12px;height:120px;position:relative;overflow:hidden}#contour-canvas{width:100%;height:100%}.viz-label{position:absolute;top:8px;left:12px;font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;pointer-events:none}.freq-readout{position:absolute;bottom:8px;right:12px;font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--neon-cyan);text-shadow:var(--glow-cyan);pointer-events:none}.stats-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.stat-card{background:#ffffff05;border:1px solid var(--border-color);border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.stat-label{font-size:10px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:15px;font-weight:700;color:var(--text-primary)}.stat-value.neon-cyan{color:var(--neon-cyan);text-shadow:var(--glow-cyan)}.stat-value.neon-magenta{color:var(--neon-magenta);text-shadow:var(--glow-magenta)}.key-match-panel{display:flex;flex-direction:column;gap:8px;flex:1}.key-list{display:flex;flex-direction:column;gap:6px;max-height:150px;overflow-y:auto;padding-right:4px}.key-item{display:flex;align-items:center;justify-content:space-between;font-size:11px;padding:6px 10px;background:#ffffff03;border:1px solid var(--border-color);border-radius:6px;transition:all .2s;cursor:pointer}.key-item:hover{background:#ffffff0a;border-color:#ffffff26;transform:translate(2px)}.key-item.active{background:#00f2fe0d;border-color:#00f2fe40}.key-item.active:hover{background:#00f2fe14;border-color:#00f2fe66;transform:translate(2px)}.key-name{font-weight:600;color:var(--text-secondary)}.key-item.active .key-name{color:var(--neon-cyan)}.key-bar-wrapper{width:100px;height:6px;background:#ffffff0d;border-radius:3px;overflow:hidden;position:relative}.key-bar{height:100%;background:var(--text-dim);border-radius:3px;width:0%;transition:width .3s ease}.key-item.active .key-bar{background:linear-gradient(90deg,var(--neon-cyan),var(--neon-purple));box-shadow:var(--glow-cyan)}.key-score{font-family:var(--font-mono);font-size:10px;color:var(--text-dim);width:32px;text-align:right}.key-item.active .key-score{color:var(--text-primary)}footer{height:36px;background:#080c14f2;border-top:1px solid var(--border-color);display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:11px;color:var(--text-secondary);z-index:10}.status-left{display:flex;align-items:center;gap:16px}.status-indicator{display:flex;align-items:center;gap:6px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.status-dot{width:8px;height:8px;border-radius:50%;background:var(--text-dim)}.status-dot.active{background:var(--neon-green);box-shadow:var(--glow-green);animation:pulse-green 1s infinite alternate}.status-dot.warning{background:var(--neon-yellow);box-shadow:0 0 8px #ffd20080}.status-right{display:flex;align-items:center;gap:16px}.latency-compensation{display:flex;align-items:center;gap:8px}.latency-input{background:#0000004d;border:1px solid var(--border-color);border-radius:4px;color:var(--text-primary);width:40px;font-family:var(--font-mono);font-size:11px;text-align:center;padding:2px 0;outline:none}.latency-input:focus{border-color:var(--neon-cyan)}@keyframes pulse-red{0%{box-shadow:0 0 #fe0979b3}70%{box-shadow:0 0 0 10px #fe097900}to{box-shadow:0 0 #fe097900}}@keyframes pulse-border-red{0%{border-color:#fe097966}50%{border-color:#fe0979;box-shadow:0 0 8px #fe09794d}to{border-color:#fe097966}}@keyframes pulse-green{0%{opacity:.5;transform:scale(.95)}to{opacity:1;transform:scale(1.05)}}.dropdown{position:relative;display:inline-block}.dropdown-trigger{display:flex;align-items:center;gap:6px}.dropdown-arrow{font-size:8px;color:var(--text-dim);transition:transform .2s ease;margin-left:2px}.dropdown:hover .dropdown-arrow{transform:rotate(180deg);color:var(--neon-cyan)}.dropdown-content{display:none;position:absolute;top:100%;left:0;min-width:170px;background:#141419f2;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:8px;box-shadow:0 10px 25px #00000080,0 0 15px #00f2fe1a;padding:6px 0;z-index:1000;margin-top:0;opacity:0;transform:translateY(10px);transition:opacity .2s ease,transform .2s ease}.dropdown:hover .dropdown-content{display:block;opacity:1;transform:translateY(0)}.dropdown-item{width:100%;padding:10px 14px;background:transparent;border:none;color:var(--text-secondary);font-family:inherit;font-size:11px;font-weight:500;text-align:left;display:flex;align-items:center;gap:8px;cursor:pointer;transition:background .2s ease,color .2s ease}.dropdown-item:hover:not(:disabled){background:#00f2fe26;color:var(--neon-cyan)}.dropdown-item:disabled{color:var(--text-dim);opacity:.5;cursor:not-allowed}.dropdown-item svg{color:var(--text-dim);transition:color .2s ease}.dropdown-item:hover:not(:disabled) svg{color:var(--neon-cyan)}@media(max-width:900px){.control-btn .btn-text,.dropdown-trigger .btn-text{display:none}.control-btn,.dropdown-trigger{padding:8px;justify-content:center;gap:0;min-width:32px;height:32px}.metronome-area{gap:4px}.toolbar{gap:6px}}
