:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#eceef4;background:#08090d;--font-display: "Space Grotesk", "Inter", system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, monospace;--bg-0: #08090d;--bg-1: #0d1017;--panel: rgba(255, 255, 255, .028);--panel-solid: #10141c;--line: rgba(255, 255, 255, .08);--line-soft: rgba(255, 255, 255, .05);--text-dim: #9aa3b5;--text-faint: #6b7488;--accent: #8b7cff;--accent-2: #22d3ee;--play: #34d399;--danger: #fb7185;color-scheme:dark}*{box-sizing:border-box}::selection{background:#8b7cff66}body{background:var(--bg-0);min-height:100vh}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(1100px 480px at 12% -8%,rgba(139,124,255,.13),transparent 60%),radial-gradient(900px 420px at 88% 4%,rgba(34,211,238,.09),transparent 60%),radial-gradient(1000px 700px at 50% 110%,rgba(57,255,106,.05),transparent 60%)}.app{padding:12px 24px 32px;max-width:1680px;margin:0 auto}header{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;position:sticky;top:0;z-index:20;background:#0a0d13;padding:12px 0;border-bottom:1px solid var(--line-soft)}.header-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%}.app-brand{display:flex;flex-wrap:wrap;align-items:center;gap:12px}.app-brand p.muted{margin:0}h1{margin:0;font-family:var(--font-display);font-size:22px;font-weight:700;letter-spacing:.01em;white-space:nowrap;background:linear-gradient(100deg,#fff 20%,#a5b4fc,#67e8f9);-webkit-background-clip:text;background-clip:text;color:transparent}.muted{margin:4px 0 0;color:var(--text-dim)}p.muted{display:inline-block;font-size:11px;font-weight:600;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--line);border-radius:999px;padding:3px 10px;margin-top:8px;background:var(--panel)}span.muted{margin:0;font-size:12px}.fps-meter{position:fixed;right:12px;bottom:12px;z-index:50;font-family:var(--font-mono);font-size:11px;color:#e2e8f0;background:#0a0d13e6;border:1px solid var(--line);border-radius:8px;padding:5px 10px;pointer-events:none;white-space:nowrap}.kbd-hint{font-family:var(--font-mono);font-size:10px;color:var(--text-faint);border:1px solid var(--line);border-bottom-width:2px;border-radius:6px;padding:2px 6px;background:#ffffff0a;user-select:none;-webkit-user-select:none}.mixer{position:sticky;bottom:0;z-index:15;margin-top:16px;background:#0a0d13;border:1px solid var(--line-soft);border-radius:14px;padding:10px 12px;box-shadow:0 -12px 32px -16px #000c}.mixer-toggle{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;margin-bottom:8px}.mixer-toggle svg{display:block;transition:transform .18s ease}.mixer-toggle[aria-expanded=false] svg{transform:rotate(-90deg)}.mixer-channels{display:flex;gap:10px;overflow-x:auto;padding:2px 2px 4px;scrollbar-width:thin;scrollbar-color:transparent transparent}.mixer-channels:hover{scrollbar-color:#3a4354 transparent}.mixer-channel{--track-color: #4f9bff;display:grid;grid-template-columns:8px 36px auto;align-items:center;gap:6px;min-width:132px;padding:8px 6px;border:1px solid var(--line-soft);border-top:2px solid var(--track-color);border-radius:10px;background:var(--panel)}.mixer-name{grid-column:1 / -1;font-size:11px;font-weight:600;max-width:120px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text-dim)}.mixer-meter{height:36px;display:flex;align-items:stretch}.mixer-meter canvas{width:8px;height:36px;border:1px solid #1e293b;border-radius:999px;background:#0f172a}.mixer-buttons{display:flex;gap:4px;flex-direction:column}.mixer-ms-btn{width:26px;height:22px;padding:0;font-size:10px;font-weight:700;border-radius:6px;color:var(--text-dim)}.mixer-ms-btn.active-mute{border-color:#fb7185a6;color:#fda4af;background:#fb718524;box-shadow:0 0 10px -2px #fb718580}.mixer-ms-btn.active-solo{border-color:#facc15;color:#fde68a;background:#facc1524;box-shadow:0 0 10px -2px #facc1580}.timeline{display:flex;align-items:stretch;gap:10px;width:100%}.timeline-loop-btn{font-size:12px;font-weight:600;padding:4px 12px;border-radius:999px;flex:0 0 auto;align-self:center}.timeline-loop-btn.active{border-color:#8b7cffb3;background:linear-gradient(180deg,#8b7cff4d,#8b7cff1f),#12101f;box-shadow:0 0 16px -4px #8b7cffb3,inset 0 1px #ffffff1f}.timeline-strip{position:relative;flex:1;min-width:0;height:46px;border:1px solid var(--line-soft);border-radius:10px;background:#ffffff05;cursor:text;touch-action:none;overflow:hidden;user-select:none;-webkit-user-select:none}.timeline-ticks{position:absolute;inset:0;pointer-events:none}.timeline-tick{position:absolute;top:2px;font-family:var(--font-mono);font-size:10px;color:var(--text-faint);transform:translate(4px)}.timeline-brace{position:absolute;top:16px;bottom:4px;border:1px solid rgba(139,124,255,.8);border-radius:6px;background:#8b7cff21;box-shadow:0 0 14px -4px #8b7cffcc,inset 0 1px #ffffff1f;cursor:move}.timeline-brace.is-hidden{visibility:hidden}.timeline-handle{position:absolute;top:-1px;bottom:-1px;width:10px;cursor:ew-resize}.timeline-handle:after{content:"";position:absolute;top:4px;bottom:4px;left:50%;width:3px;transform:translate(-50%);border-radius:999px;background:#c4b5fde6}.timeline-handle-l{left:-5px}.timeline-handle-r{right:-5px}.timeline-playhead{position:absolute;top:0;bottom:0;left:0;width:2px;margin-left:-1px;background:#f5c542;box-shadow:0 0 10px #f5c542e6;pointer-events:none;will-change:transform}.transport{display:flex;flex-wrap:wrap;grid-column:1 / -1;align-items:center;gap:8px;font-size:12px}.transport-group{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:6px 10px;min-height:48px;border:1px solid var(--line-soft);border-radius:10px;background:var(--panel)}.transport-view{margin-left:auto}.master{grid-column:2;grid-row:1;font-size:12px;display:grid;grid-template-columns:auto auto auto;gap:8px;align-items:center}button{font:inherit;background:linear-gradient(180deg,#ffffff0f,#ffffff04),#161b26;color:#f1f3f9;border:1px solid var(--line);padding:7px 14px;border-radius:10px;cursor:pointer;user-select:none;-webkit-user-select:none;touch-action:manipulation;box-shadow:inset 0 1px #ffffff12;transition:transform .08s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease}button:hover{border-color:#ffffff38;box-shadow:0 4px 18px -6px #8b7cff73}button:active{transform:translateY(1px) scale(.98)}button:disabled{opacity:.55;cursor:default;transform:none;box-shadow:none}button:focus-visible,input:focus-visible,select:focus-visible,.knob:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.play-btn{font-family:var(--font-display);font-weight:700;letter-spacing:.06em;min-width:108px;padding:9px 20px;border-radius:999px;border:1px solid rgba(52,211,153,.5);background:linear-gradient(180deg,#34d39947,#34d3991f),#0c1512;box-shadow:0 0 22px -6px #34d3998c,inset 0 1px #ffffff1f;text-shadow:0 1px 8px rgba(52,211,153,.5)}.play-btn:hover{border-color:#34d399e6;box-shadow:0 0 30px -4px #34d399b3,inset 0 1px #ffffff29}.play-btn.is-playing{border-color:#fb71858c;background:linear-gradient(180deg,#fb718542,#fb71851a),#150e11;box-shadow:0 0 22px -6px #fb71858c,inset 0 1px #ffffff1f;text-shadow:0 1px 8px rgba(251,113,133,.5)}.export button{font-weight:600;border-color:#8b7cff80;background:linear-gradient(180deg,#8b7cff4d,#8b7cff1f),#12101f;box-shadow:0 0 22px -8px #8b7cffb3,inset 0 1px #ffffff1f}.export button:hover:not(:disabled){border-color:#8b7cffe6;box-shadow:0 0 28px -6px #8b7cffd9,inset 0 1px #ffffff29}.toolbar{display:flex;gap:10px;margin-bottom:16px;flex-wrap:wrap;align-items:center;padding:12px;border:1px solid var(--line-soft);border-radius:12px;background:var(--panel);font-size:12px}.toolbar-line{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.toolbar-session{order:1;flex-basis:100%;padding-top:10px;border-top:1px solid var(--line-soft)}.toolbar-label{color:var(--text-dim);font:10px var(--font-mono);text-transform:uppercase;letter-spacing:.1em;min-width:54px}.save-status{margin-left:auto!important}.toolbar-group{display:flex}.toolbar-group button{border-radius:0;margin-left:-1px}.toolbar-group button:first-child{border-radius:10px 0 0 10px;margin-left:0}.toolbar-group button:last-child{border-radius:0 10px 10px 0}.toolbar-group button:hover,.toolbar-group button:active,.toolbar-group button:focus-visible{position:relative;z-index:1}.toolbar-toggle-active{border-color:#22d3ee99;color:#a5f3fc;box-shadow:0 0 12px -2px #22d3ee80,inset 0 1px #ffffff1a}.export{display:flex;gap:10px;align-items:center;margin-left:auto;flex-wrap:wrap}.grid{display:flex;flex-direction:column;gap:16px}.track{position:relative;--track-color: #4f9bff;background:linear-gradient(180deg,#ffffff09,#fff0 32%),var(--panel-solid);border:1px solid var(--line-soft);border-left:4px solid var(--track-color);border-radius:16px;padding:14px;display:grid;grid-template-columns:300px minmax(0,1fr) 16px;gap:12px;box-shadow:0 18px 44px -22px #000c,0 0 28px -18px var(--track-color),inset 0 1px #ffffff0d;transition:box-shadow .2s ease,border-color .2s ease}.track:hover{border-color:#ffffff1f;box-shadow:0 18px 44px -22px #000c,0 0 34px -14px var(--track-color),inset 0 1px #ffffff0f}.row{content-visibility:auto;contain-intrinsic-size:auto 40px}.track-meter{display:flex;align-items:center;justify-content:center}.track-meter canvas{width:10px;height:100%;border:1px solid #1e293b;border-radius:999px;background:#0f172a}.track-meta{display:flex;flex-direction:column;gap:10px;min-width:0;max-height:560px;overflow-y:auto;padding-right:4px;scrollbar-width:thin;scrollbar-color:transparent transparent}.track-meta:hover,.track-meta:focus-within{scrollbar-color:#334155 transparent}.track-meta::-webkit-scrollbar{width:6px}.track-meta::-webkit-scrollbar-track{background:transparent}.track-meta::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.track-meta:hover::-webkit-scrollbar-thumb,.track-meta:focus-within::-webkit-scrollbar-thumb{background:#334155}.track-meta>:is(.control-row,.knob-row,.control-grid-compact)+:is(.control-row,.knob-row,.control-grid-compact){margin-top:2px;padding-top:10px;border-top:1px solid #1f2430}.track-title{display:flex;align-items:center;gap:8px}.track-move{display:flex;gap:4px}.track-move-btn{width:24px;height:24px;padding:0;border-radius:7px;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.track-move-btn:hover:not(:disabled){color:#fff}.track-move-btn:disabled{opacity:.3}.track-name-input{min-width:0;width:148px;background:#101722;color:#e8e8e8;border:1px solid #2a3240;border-radius:8px;padding:4px 8px;font-weight:600}.track-name-display{width:148px;padding:4px 8px;text-align:left;font-family:var(--font-display);font-weight:600;letter-spacing:.02em;background:transparent;border:1px solid transparent;color:#e8e8e8;border-radius:8px}.track-name-display:hover{border-color:#2a3240}.track-color-picker{position:relative}.track-color-current{width:18px;height:18px;padding:0;border-radius:9px;border:1px solid rgba(0,0,0,.55);box-shadow:0 0 8px #fff3}.track-palette{position:absolute;top:22px;left:0;display:grid;grid-template-columns:repeat(4,16px);gap:4px;padding:6px;background:#101722;border:1px solid #2a3240;border-radius:8px;z-index:5}.track-color-swatch{width:16px;height:16px;padding:0;border-radius:8px;border:1px solid rgba(0,0,0,.45);box-shadow:0 0 6px #fff3}.track-color-swatch.selected{outline:2px solid #e2e8f0;outline-offset:1px}.track-title canvas{border:1px solid #1e293b;border-radius:6px;background:#0f172a;margin-left:auto}.badge{font-size:12px;padding:2px 6px;border-radius:8px;background:#2b2f36;color:var(--track-color);border:1px solid #3a4354}.track-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.solo-btn{padding:4px 10px;border-radius:999px;font-size:12px;line-height:1.1;background:#141a24;border:1px solid #334155;color:#cbd5e1}.solo-btn.active{background:#facc1524;border-color:#facc15;color:#fde68a;box-shadow:0 0 14px -2px #facc158c,inset 0 1px #ffffff1a}.solo-dim-label{font-size:11px;color:#8a94a8}.track-remove-btn{position:absolute;top:-12px;right:-12px;width:32px;height:32px;padding:0;border-radius:999px;line-height:1;font-size:16px;background:#171b23;border:1px solid #2d3748;z-index:3}.track-remove-btn:hover{border-color:#fb7185b3;color:var(--danger);box-shadow:0 0 16px -4px #fb718599}.track-collapse-btn{position:absolute;top:-12px;right:28px;width:32px;height:32px;padding:0;border-radius:999px;line-height:1;font-size:14px;background:#171b23;border:1px solid #2d3748;z-index:3;display:flex;align-items:center;justify-content:center}.track-collapse-btn:hover{border-color:var(--accent-2);box-shadow:0 0 16px -4px #22d3ee99}.track-collapse-btn svg,.track-remove-btn svg{display:block}.track-collapse-btn svg{transition:transform .18s ease}.track-collapse-btn[aria-expanded=false] svg{transform:rotate(-90deg)}.track-collapsed{grid-column:1 / -1;display:flex;align-items:center}.track-collapsed .track-title{margin-right:16px}.track.is-collapsed{padding-top:10px;padding-bottom:10px}input[type=checkbox]{appearance:none;-webkit-appearance:none;width:34px;height:20px;margin:0;flex:0 0 auto;border-radius:999px;background:#ffffff14;border:1px solid var(--line);box-shadow:inset 0 2px 4px #0006;position:relative;cursor:pointer;transition:background .15s ease,border-color .15s ease}input[type=checkbox]:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:#8b93a3;box-shadow:0 1px 3px #00000080;transition:transform .15s ease,background .15s ease}input[type=checkbox]:checked{background:#34d39959;border-color:#34d399a6}input[type=checkbox]:checked:after{transform:translate(14px);background:#34d399;box-shadow:0 0 8px #34d399b3}input[type=checkbox].danger:checked{background:#fb71854d;border-color:#fb7185a6}input[type=checkbox].danger:checked:after{background:#fb7185;box-shadow:0 0 8px #fb7185b3}input[type=checkbox]:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.inline{display:flex;gap:6px;align-items:center}.control-row{display:grid;grid-template-columns:60px 1fr auto;gap:8px;align-items:center}.control-col{display:flex;flex-direction:column;gap:10px}.control-grid-compact{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.compact-control{display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;color:#9aa0a6;font-size:12px}.compact-control span{white-space:nowrap}.compact-control select{width:110px;min-width:0}.plugin-section{margin-top:8px;padding-top:8px;border-top:1px solid #1f2430;display:flex;flex-direction:column;gap:8px}.plugin-header{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:12px;color:#9aa0a6}.plugin-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;flex:1;justify-items:stretch}.plugin-actions button{width:100%;padding:5px 8px;font-size:12px}.plugin-card{background:#ffffff06;border:1px solid var(--line-soft);border-radius:12px;padding:10px}.plugin-title{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}.plugin-remove{font-size:12px;padding:4px 8px}.note-context-menu{position:fixed;z-index:30;display:flex;flex-direction:column;min-width:168px;gap:4px;padding:6px;background:#10141deb;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--line);border-radius:12px;box-shadow:0 18px 44px #0000008c}.note-context-menu button{width:100%;text-align:left;font-size:12px;padding:6px 8px;border-radius:8px}.note-context-menu button:disabled{opacity:.55;cursor:default}.velocity-drag-indicator{position:fixed;z-index:31;font-family:var(--font-mono);font-size:11px;color:#e2e8f0;background:#0f172aeb;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid #334155;border-radius:8px;padding:3px 7px;pointer-events:none;white-space:nowrap}.knob-row{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start}.knob-field{position:relative;display:flex;flex-direction:column;align-items:center;gap:6px;min-width:56px}.knob-label{font-size:11px;color:#9aa0a6;line-height:1}.knob-value-static{font-family:var(--font-mono);font-size:11px;color:#e2e8f0;min-width:36px}.knob-value{position:absolute;top:-18px;left:50%;transform:translate(-50%);font-size:11px;color:#e2e8f0;background:#0f172a;border:1px solid #334155;border-radius:6px;padding:2px 6px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .12s ease}.knob-field:hover .knob-value,.knob-field:focus-within .knob-value{opacity:1}.roll-scroll{position:relative;overflow-x:auto;overflow-anchor:none;width:100%;min-width:0;scrollbar-width:thin;scrollbar-color:transparent transparent;padding-bottom:2px;will-change:scroll-position}.roll-scroll:hover,.roll-scroll:focus-within{scrollbar-color:#3a4354 transparent}.roll-scroll::-webkit-scrollbar{height:6px}.roll-scroll::-webkit-scrollbar-track{background:transparent}.roll-scroll::-webkit-scrollbar-thumb{background:transparent;border-radius:999px}.roll-scroll:hover::-webkit-scrollbar-thumb,.roll-scroll:focus-within::-webkit-scrollbar-thumb{background:#3a4354}.roll{display:flex;flex-direction:column;gap:8px;width:max-content;min-width:100%}.roll-carousel{display:flex;flex-direction:column}.roll-carousel.is-transitioning{transition:transform .48s cubic-bezier(.42,0,.2,1)}.roll-pane{flex:0 0 auto;width:max-content;min-width:100%}.roll-carousel-viewport{display:inline-block;width:max-content;min-width:100%;overflow-y:clip;overflow-x:visible}.row{position:relative;display:grid;grid-template-columns:52px minmax(0,1fr);gap:10px;align-items:center}.row-ruler{margin-bottom:2px}.roll-single{height:auto;justify-content:flex-start}.roll-single .row{flex:0 0 auto}.note-label{color:#9aa0a6;font-family:var(--font-mono);font-size:11px;text-align:right;width:52px;min-width:52px;height:100%;display:flex;align-items:center;justify-content:flex-end;position:sticky;left:0;z-index:2;background:#10141c;padding:0 6px 0 0;box-sizing:border-box}.steps{position:relative;z-index:1;display:grid;grid-auto-flow:column;grid-auto-columns:max-content;width:max-content;min-width:100%;gap:4px}.steps-ruler{margin-bottom:2px}.ruler-cell{width:36px;height:16px;font-family:var(--font-mono);font-size:11px;color:#8b93a3;display:flex;align-items:center;justify-content:flex-start;padding-left:2px}.ruler-cell.bar-start{color:#c9d1e1;font-weight:600}.cell{width:36px;aspect-ratio:1 / 1;min-height:36px;background:linear-gradient(180deg,#ffffff0b,#fff0 55%),#141922;border-radius:7px;border:1px solid rgba(255,255,255,.06);box-shadow:inset 0 1px #ffffff0d;position:relative;padding:0}.cell:hover{border-color:#ffffff40}.steps .cell:active{transform:scale(.88);filter:brightness(1.25)}.steps .cell.beat{box-shadow:inset 2px 0 #94a3c480,inset 0 1px #ffffff0d}.steps-spacer{min-height:1px}.steps .cell{touch-action:none}.cell.on{background:linear-gradient(180deg,#5b93ff,#2f6bf0 70%);border-color:#93bbffb3;box-shadow:0 0 14px -2px #3b82f6cc,inset 0 1px #ffffff59}.cell.tail{background:linear-gradient(180deg,#ffffff24,#fff0 60%),color-mix(in srgb,var(--track-color) 45%,#0f1115);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--track-color) 35%,#1f2430)}.cell.fm.on{background:linear-gradient(180deg,#5b93ff,#2f6bf0 70%)}.cell.audio.on{background:linear-gradient(180deg,#4ade80,#16a34a 70%);border-color:#86efacb3;box-shadow:0 0 14px -2px #22c55ecc,inset 0 1px #ffffff59}.cell.drum.on{background:linear-gradient(180deg,#fbbf24,#d97706 70%);border-color:#fde047b3;box-shadow:0 0 14px -2px #f59e0bcc,inset 0 1px #ffffff59}.track .cell.on{background:linear-gradient(180deg,#ffffff52,#fff0 55%),var(--track-color);border-color:color-mix(in srgb,var(--track-color) 60%,white);box-shadow:0 0 16px -3px var(--track-color),inset 0 1px #fff6}.cell.active{border-color:#f5c542}.cell.play-active{border-color:#f5c542d9;box-shadow:inset 0 0 0 1px #f5c54259}@media(prefers-reduced-motion:reduce){.roll-carousel.is-transitioning{transition:none}.play-btn.is-playing{animation:none}}body.perf-mode .cell{background:#141922;box-shadow:none}body.perf-mode .steps .cell.beat{box-shadow:inset 2px 0 #94a3c480}body.perf-mode .cell.on,body.perf-mode .cell.fm.on,body.perf-mode .cell.audio.on,body.perf-mode .cell.drum.on,body.perf-mode .track .cell.on{background:var(--track-color);border-color:transparent;box-shadow:none}body.perf-mode .cell.tail{background:color-mix(in srgb,var(--track-color) 45%,#0f1115);box-shadow:none}body.perf-mode .cell.play-active{border-color:#f5c542;box-shadow:inset 0 0 0 1px #f5c542cc;animation:none}.cell .handle{position:absolute;right:2px;top:2px;bottom:2px;width:5px;border-radius:3px;background:#ffffff8c;cursor:ew-resize}.bpm{color:var(--text-dim);display:grid;grid-template-columns:auto 72px;align-items:center;gap:8px;font-family:var(--font-display);font-weight:600;letter-spacing:.08em;font-size:13px}.bpm input{font-family:var(--font-mono);font-weight:600;background:#ffffff0d;color:#fff;border:1px solid var(--line);border-radius:8px;padding:5px 8px}select{font:inherit;appearance:none;-webkit-appearance:none;background-color:#ffffff0d;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%239aa3b5' stroke-width='1.5' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;color:#fff;border:1px solid var(--line);padding:5px 28px 5px 10px;border-radius:8px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}select:hover{border-color:#ffffff38}select option{background:#12161e}select.knob-octave{background-image:none;padding:4px}.knob{--p: .5;--arc: var(--track-color, var(--accent-2));position:relative;border-radius:50%;background:radial-gradient(circle at 50% 38%,#2b3648,#161d29 72%);border:1px solid rgba(255,255,255,.1);box-shadow:0 6px 16px -8px #000000e6,inset 0 1px #ffffff14;cursor:grab;touch-action:none;transition:border-color .15s ease,box-shadow .15s ease}.knob:hover{border-color:#ffffff47;box-shadow:0 6px 18px -6px #000000e6,0 0 14px -4px var(--arc, rgba(124, 156, 255, .6)),inset 0 1px #ffffff1a}.knob:active{cursor:grabbing}.knob:before{content:"";position:absolute;inset:-6px;border-radius:50%;background:conic-gradient(from 225deg,var(--arc) 0deg calc(var(--p) * 270deg),rgba(255,255,255,.09) calc(var(--p) * 270deg) 270deg,transparent 270deg 360deg);-webkit-mask:radial-gradient(closest-side,transparent 76%,#000 77%);mask:radial-gradient(closest-side,transparent 76%,#000 77%);pointer-events:none}.knob:focus-visible{outline:2px solid var(--accent-2);outline-offset:2px}.knob-indicator-rotor{position:absolute;inset:0}.knob-indicator{position:absolute;left:50%;top:5px;width:2px;height:42%;transform:translate(-50%);background:#e2e8f0;border-radius:999px}.knob-center{position:absolute;left:50%;top:50%;width:34%;height:34%;transform:translate(-50%,-50%);border-radius:50%;background:#111827;border:1px solid #475569}.knob-octave{width:48px;padding:4px;text-align:center}@media(max-width:900px){.track{grid-template-columns:minmax(0,1fr)}.track-meter{display:none}.track-meta{max-height:240px;padding-bottom:12px;border-bottom:1px solid var(--line)}.transport-view{margin-left:0}}@media(max-width:600px){.app{padding:8px 12px 24px}header{position:static}.app-brand{gap:4px}.app-brand p.muted{font-size:9px;padding:0;border:0}h1{font-size:18px}.transport{gap:6px}.transport-group{gap:8px;padding:6px}.transport-scale,.transport-view{flex:1 0 100%}.transport-scale select{min-width:0}.transport .kbd-hint{display:none}.play-btn{min-width:76px;padding:8px 12px}.toolbar{padding:10px}.toolbar-label{flex-basis:100%}.toolbar button{padding:7px 10px}.export{margin-left:0;gap:6px}.save-status{margin-left:0!important}.track{padding:12px 10px}.track-collapsed{flex-wrap:wrap;gap:8px}.mixer{padding:8px;position:static}}@media(max-height:600px){header,.mixer{position:static}}.automation-lane{display:flex;flex-direction:column;gap:4px;padding:4px 8px 6px}.automation-toggle{align-self:flex-start;font-size:11px;padding:2px 8px}.automation-body{display:flex;flex-direction:column;gap:4px}.automation-tabs{display:flex;gap:4px}.automation-tabs button{font-size:11px;padding:2px 8px}.automation-tab-active{border-color:#22d3ee99;color:#a5f3fc}.automation-strip{position:relative;display:flex;align-items:stretch;gap:1px;height:48px;border:1px solid #1e293b;border-radius:4px;background:#0f172a;touch-action:none;cursor:crosshair;overflow:hidden}.automation-hint{margin:auto;font-size:11px;color:#475569;pointer-events:none}.automation-cell{flex:1 1 0;min-width:0;display:flex;align-items:flex-end}.automation-fill{width:100%;min-height:2px;opacity:.8}.songbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:4px 12px 8px;font-size:12px}.songbar-toggle{display:flex;align-items:center;gap:4px;font-weight:600}.songbar-summary{font-size:11px}.songbar-row{display:flex;align-items:center;gap:6px;border:1px solid #1e293b;border-radius:4px;padding:2px 6px;background:#0f172a}.songbar-row label{display:flex;align-items:center;gap:3px;font-size:11px;color:#94a3b8}.songbar-row input[type=number]{width:44px}.songbar-name{width:90px}.songbar-add{font-size:11px;padding:2px 8px}body{margin:0;background:#0f1115}
