:root{--chassis:#e9e7e1;--panel:#f4f3ee;--panel-2:#e2e0d8;--line:#c9c7bd;--line-soft:#d8d6cd;--ink:#26261f;--muted:#8b897e;--green:#2d6a4f;--green-ink:#fff;--orange:#d0491b;--blue:#4a63d0;--warn:#a06400;--danger:#c03434;--sans:"Helvetica Neue", Helvetica, Arial, -apple-system, sans-serif;--mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, monospace}*{box-sizing:border-box}html,body{background:var(--chassis);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0;font-size:13px;line-height:1.5}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}::selection{background:var(--green);color:var(--green-ink)}.wrap{width:100%;max-width:1080px;margin:0 auto;padding:22px 24px 260px;overflow-x:hidden}.bar{flex-wrap:wrap;align-items:center;gap:8px;padding-bottom:16px;display:flex}.bar h1{letter-spacing:.02em;text-transform:lowercase;margin:0;font-size:15px;font-weight:700}.bar h1 span{color:var(--green)}.spacer{flex:1}.chip{border:1px solid var(--line);background:var(--panel);color:var(--muted);white-space:nowrap;border-radius:3px;align-items:center;gap:6px;padding:3px 10px;font-size:11.5px;display:inline-flex}.chip b{color:var(--ink);font-variant-numeric:tabular-nums;font-weight:600}.chip.ok{color:var(--green);border-color:var(--green)}.chip.warn{color:var(--warn);border-color:var(--warn)}.chip.click{cursor:pointer}.chip.click:hover{border-color:var(--ink);color:var(--ink)}button.chip{margin:0}.chip.ok.click{color:var(--green)}.dot:before{content:"●";font-size:7px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:4px;min-width:0;margin-bottom:14px;padding:16px 20px 18px;overflow:hidden;box-shadow:0 1px #26261f0f}.panel h2,.panel-head{color:var(--muted);text-transform:lowercase;letter-spacing:.14em;border-bottom:1px solid var(--line-soft);margin:0 0 14px;padding-bottom:8px;font-size:10.5px;font-weight:600}.panel-head{text-align:left;cursor:pointer;background:0 0;border-top:none;border-left:none;border-right:none;justify-content:space-between;align-items:center;gap:12px;width:100%;display:flex}.panel-head:hover{color:var(--ink)}.panel-head span:first-child{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.panel.shut{padding-bottom:12px}.panel.shut .panel-head{border-bottom:none;margin-bottom:0;padding-bottom:0}.knobs-top.shut .iterate-line{border-top:none;margin-top:8px;padding-top:0}.row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.drop{border:1px dashed var(--line);text-align:center;cursor:pointer;background:var(--panel);border-radius:4px;padding:44px 20px;transition:border-color .12s;display:block}.drop.over,.drop:hover{border-color:var(--green)}.drop strong{margin-bottom:4px;font-size:14px;font-weight:600;display:block}.drop span{color:var(--muted);font-size:12px}.ideas{flex-wrap:wrap;gap:8px;display:flex}.idea{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:3px;flex-direction:column;flex:1;gap:3px;min-width:150px;padding:9px 13px;transition:border-color .12s;display:flex}.idea:hover:not(:disabled){border-color:var(--ink)}.idea.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.idea strong{text-transform:lowercase;font-size:12.5px;font-weight:600}.idea span{color:var(--muted);font-size:11px;line-height:1.4}.strip{flex-direction:column;gap:2px;display:flex}.strip-group{flex-wrap:wrap;align-items:center;gap:4px;padding:4px 0;display:flex}.strip-group+.strip-group{border-top:1px solid var(--line-soft)}.strip-title{letter-spacing:.18em;width:52px;color:var(--muted);text-transform:lowercase;flex-shrink:0;font-size:9.5px}.knob{flex-direction:column;align-items:center;width:58px;padding:2px 0;display:flex}.knob-dial{cursor:ns-resize;touch-action:none;border-radius:50%;outline:none;width:44px;height:44px}.knob-dial:focus-visible{box-shadow:0 0 0 2px var(--green)}.knob-dial svg{width:100%;height:100%;display:block}.knob-track{stroke:var(--line)}.knob-fill{stroke:var(--green)}.knob-needle{stroke:var(--ink)}.knob-value{font-family:var(--mono);color:var(--ink);font-variant-numeric:tabular-nums;margin-top:2px;font-size:10.5px}.knob-label{color:var(--muted);text-transform:lowercase;letter-spacing:.06em;margin-top:1px;font-size:10px}.fader-row{align-items:center;gap:8px;height:30px;display:flex}.fader-row label{width:44px;color:var(--muted);text-transform:lowercase;flex-shrink:0;font-size:11px}.fader-row select,.fader-row input[type=number],.row input[type=number]{background:var(--panel);border:1px solid var(--line);border-radius:3px;flex:1;height:28px;padding:4px 8px;font-size:12px}.toggle{color:var(--muted);cursor:pointer;text-transform:lowercase;align-items:center;gap:6px;font-size:11.5px;display:inline-flex}.toggle input{display:none}.toggle .box{color:var(--line);font-size:10px}.toggle input:checked+.box{color:var(--green)}.btn{background:var(--panel);border:1px solid var(--line);text-transform:lowercase;border-radius:3px;padding:5px 14px;font-size:12px;transition:border-color .12s}.btn:hover:not(:disabled){border-color:var(--ink)}.btn.primary{background:var(--green);color:var(--green-ink);border-color:var(--green);font-weight:600}.btn.primary:hover:not(:disabled){background:#35795b}.btn.sm{padding:3px 10px;font-size:11px}.track{align-items:center;gap:12px;padding:6px 0;display:flex}.track .name{text-transform:lowercase;flex-shrink:0;width:64px;font-size:11px;font-weight:600}.track .name em{color:var(--muted);font-size:9.5px;font-style:normal;font-weight:400;font-family:var(--mono);display:block}.track .viz{background:var(--panel-2);border:1px solid var(--line-soft);border-radius:3px;flex:1;height:44px;position:relative;overflow:hidden}.track .viz canvas{width:100%;height:100%;display:block}.track .btn{flex-shrink:0}.transport{z-index:20;background:var(--chassis);border-top:1px solid var(--line);position:fixed;bottom:0;left:0;right:0}.transport .inner{flex-wrap:wrap;align-items:center;gap:10px;max-width:1080px;margin:0 auto;padding:10px 24px;display:flex}.transport.dock .inner{flex-direction:column;align-items:stretch;gap:8px;padding:10px 24px 12px}.live-diff{min-height:18px;font-family:var(--mono);color:var(--muted);flex-wrap:wrap;align-items:baseline;gap:16px;font-size:11px;display:flex}.live-item{align-items:baseline;gap:7px;display:inline-flex}.live-item.live{color:var(--ink)}.live-item .k{font-family:var(--sans);letter-spacing:.1em;text-transform:lowercase;color:var(--muted);font-size:10px}.live-diff .diff{font-family:var(--mono);font-size:11px}.live-diff .diff .add{color:var(--green)}.live-diff .diff .del{color:var(--danger)}.dock-takes{flex-direction:column;gap:6px;display:flex}.dock-takes .versions{overflow-x:auto}.dock-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.seg{border:1px solid var(--line);border-radius:3px;display:inline-flex;overflow:hidden}.seg button{background:var(--panel);color:var(--muted);text-transform:lowercase;border:none;padding:5px 13px;font-size:11px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{background:var(--green);color:var(--green-ink);font-weight:600}.fader{align-items:center;gap:8px;display:flex}.versions{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.version{background:var(--panel);border:1px solid var(--line);text-align:left;border-radius:3px;flex-direction:column;flex-shrink:0;gap:3px;min-width:170px;padding:8px 12px;display:flex}.version:hover:not(:disabled){border-color:var(--ink)}.version.active{border-color:var(--green);box-shadow:inset 0 0 0 1px var(--green)}.version .vh{align-items:baseline;gap:7px;display:flex}.version .vh b{text-transform:lowercase;font-size:12px}.version .vh span{color:var(--muted);font-size:10px;font-family:var(--mono)}.version .diff{color:var(--muted);font-size:10px;font-family:var(--mono);line-height:1.5}.version .diff .add{color:var(--green)}.version .diff .del{color:var(--danger)}.note{color:var(--muted);margin:8px 0 0;font-size:11px;line-height:1.55}.err{color:var(--danger);margin-top:10px;font-size:12px}.lede{color:var(--muted);font-size:13px;line-height:1.55}.playhead{background:var(--orange);pointer-events:none;z-index:2;width:1px;position:absolute;top:0;bottom:0}.preview-shade{background:repeating-linear-gradient(-45deg, transparent, transparent 4px, var(--line-soft) 4px, var(--line-soft) 5px);opacity:.6;pointer-events:none;position:absolute;top:0;bottom:0;right:0}.spin:before{content:"";border:1.5px solid;border-top-color:#0000;border-radius:50%;width:7px;height:7px;margin-right:2px;animation:.7s linear infinite rotor;display:inline-block}@keyframes rotor{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spin:before{animation:none}}.lane-btn{border:1px solid var(--line);background:var(--panel);width:22px;height:22px;color:var(--line);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;padding:0;font-size:9px;display:inline-flex}.lane-btn.on{color:var(--green);border-color:var(--green)}.lane-btn:hover{border-color:var(--ink)}.strip-top{flex-direction:column;align-items:stretch;gap:0}.strip-top .strip-group{border-top:none;flex-wrap:wrap;flex:none;width:100%;min-width:0;padding:6px 0}.strip-top .strip-group+.strip-group{border-left:none;border-top:1px solid var(--line-soft);padding-left:0}.knobs-top{padding-bottom:14px;overflow:hidden}.iterate-line{border-top:1px solid var(--line-soft);flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;padding-top:10px;display:flex}.seed-field{color:var(--muted);text-transform:lowercase;align-items:center;gap:6px;font-size:11px;display:inline-flex}.seed-field input{background:var(--panel);border:1px solid var(--line);width:9ch;height:28px;font-size:12px;font-family:var(--mono);font-variant-numeric:tabular-nums;border-radius:3px;flex:none;padding:4px 8px}.shape-more{border-top:1px solid var(--line-soft);flex-direction:column;gap:10px;margin-top:10px;padding-top:10px;display:flex}.session-strip{flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 12px;display:flex}.song-actions{flex-shrink:0;gap:4px;margin-left:auto;display:flex}.sw{background:var(--line);border-radius:8px;flex-shrink:0;width:26px;height:15px;transition:background .12s;display:inline-block;position:relative}.sw:after{content:"";background:var(--panel);border-radius:50%;width:11px;height:11px;transition:transform .12s;position:absolute;top:2px;left:2px;box-shadow:0 1px 1px #0000002e}.toggle input:checked+.sw{background:var(--green)}.toggle input:checked+.sw:after{transform:translate(11px)}.toggle:hover .sw{filter:brightness(.96)}.knob{width:50px}.knob-dial{width:38px;height:38px}.knob-value{margin-top:1px;font-size:10px}.knob-label{font-size:9.5px}.strip-title,.knob-slot .knob{width:44px}.knob-slot .knob-dial{width:32px;height:32px}.knob-slot .knob-label{display:none}.track{gap:10px;padding:4px 0}.track .viz{height:40px}.sessions{margin-bottom:14px}.session-list{flex-direction:column;gap:6px;display:flex}.session-row{border:1px solid var(--line);background:var(--panel-2);border-radius:3px;align-items:center;gap:8px;padding:2px 6px 2px 0;display:flex}.session-row:hover{border-color:var(--ink)}.session-open{text-align:left;background:0 0;border:none;flex-direction:column;flex:1;gap:5px;padding:8px 14px;display:flex}.session-song{align-items:baseline;gap:8px;min-width:0;display:flex}.session-song .chip{flex-shrink:0;padding:1px 7px;font-size:10.5px}.session-open b{text-transform:lowercase;font-size:13px;font-weight:600}.session-song em{color:var(--green);font-size:11px;font-style:normal;font-family:var(--mono)}.session-row.pair{padding-top:4px;padding-bottom:4px}.session-open .meta{color:var(--muted);font-size:11px;font-family:var(--mono)}.song-list{flex-direction:column;gap:6px;display:flex}.song-row{border:1px solid var(--line-soft);border-radius:3px;flex-wrap:wrap;align-items:center;gap:8px;padding:8px 10px;display:flex}.song-body{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.song-body b{text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:600;overflow:hidden}.song-body .meta{color:var(--muted);font-size:10.5px;font-family:var(--mono);white-space:normal}.dropzone{border:1px dashed var(--line);text-align:center;cursor:pointer;background:var(--panel);border-radius:4px;flex-direction:column;align-items:center;gap:6px;padding:40px 20px 30px;transition:border-color .15s,background .15s;display:flex}.dropzone:hover,.dropzone.over{border-color:var(--green)}.dropzone.over{background:#eef2ec}.dropzone strong{margin-top:10px;font-size:15px;font-weight:600}.dropzone span{color:var(--muted);font-size:12px}.dropzone .dz-fine{opacity:.75;margin-top:8px;font-size:10.5px}.dz-bars{align-items:center;gap:3px;height:56px;display:flex}.dz-bars span{background:var(--line);width:4px;height:calc(var(--h) * 56px);transform-origin:50%;border-radius:2px;transition:background .2s;animation:none}.dropzone:hover .dz-bars span{background:var(--muted);animation-name:dz-idle;animation-timing-function:ease-in-out;animation-iteration-count:infinite}.dropzone.over .dz-bars span{background:var(--green);animation-name:dz-excited;animation-timing-function:ease-in-out;animation-iteration-count:infinite;animation-duration:.35s!important}@keyframes dz-idle{0%,to{transform:scaleY(.55)}50%{transform:scaleY(1)}}@keyframes dz-excited{0%,to{transform:scaleY(.7)}50%{transform:scaleY(1.9)}}@media (prefers-reduced-motion:reduce){.dz-bars span{animation:none!important}}
