.knob{display:inline-flex;flex-direction:column;align-items:center;gap:2px;position:relative;padding:0 2px;-webkit-user-select:none;user-select:none}.knob-rotary{cursor:pointer;transition:transform .05s}.knob-rotary:hover{transform:scale(1.05)}.knob-rotary:active{transform:scale(.98)}.knob-disabled .knob-rotary{cursor:not-allowed;opacity:.5}.knob-disabled .knob-rotary:hover{transform:none}.knob-svg{width:100%;height:100%;filter:drop-shadow(0 2px 4px rgba(0,0,0,.3))}.knob-svg line{stroke:var(--value)}.knob-svg circle:last-child{fill:var(--value)}.knob-disabled .knob-svg line{stroke:var(--edge-strong)}.knob-disabled .knob-svg circle:last-child{fill:var(--edge-strong)}.knob-small .knob-svg{width:36px;height:36px}.knob-medium .knob-svg{width:50px;height:50px}.knob-large .knob-svg{width:64px;height:64px}.knob-label{font-family:var(--panel-font);font-size:var(--type-caption);font-weight:600;color:var(--text-label);text-transform:uppercase;letter-spacing:.06em;text-align:center;max-width:64px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.knob-value-input{font-family:var(--led-font);font-size:var(--type-caption);font-weight:400;color:var(--value);background:var(--surface-field);box-sizing:content-box;width:8.5ch;min-width:4.5ch;max-width:none;padding:1px 2px;border:1px solid transparent;border-radius:var(--corner-control);text-align:center}@supports (field-sizing: content){.knob-value-input{field-sizing:content;width:auto}}.knob-rotary:focus-visible{border-radius:50%}.knob-auto-mark{position:absolute;top:0;right:0;width:7px;height:7px;border-radius:50%;background:var(--on);box-shadow:0 0 0 1px var(--gap),var(--shadow-lamp)}.knob-rotary[data-wheel=ready]{cursor:ns-resize}.effects-panel{display:grid;grid-template-columns:var(--plate) minmax(0,1fr);gap:12px;align-items:start;min-width:0}.effects-panel-header{position:relative;display:flex;flex-direction:column;align-items:flex-start;justify-content:space-between;gap:6px}.effects-panel-header h3{margin:0;font-family:var(--panel-font);font-size:var(--type-title);letter-spacing:.08em;color:var(--text)}.effects-returns{display:flex;gap:2px}.effects-returns .knob-label{max-width:96px}.effects-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:6px}.effects-block{grid-column:span var(--span, 4);display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 10px;border:1px solid var(--edge-faint);border-radius:var(--corner-panel);background:var(--surface-inset);padding:6px 8px;min-width:0}.effects-block h4{margin:0;font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;color:var(--text-faint);text-transform:uppercase}.effects-row-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px}.effects-row-head>.rack-menu{margin-left:auto}.effects-knobs{grid-column:1 / -1;display:flex;flex-direction:row;align-items:center;justify-content:center;gap:4px}.effects-toggle{display:inline-flex;align-items:center;gap:5px;min-height:24px;font-size:var(--type-caption);color:var(--text-label)}.effects-block .rack-menu-list{left:auto;right:0}.effects-unit{container-type:inline-size}@container (max-width: 900px){.effects-panel{grid-template-columns:minmax(0,1fr)}.effects-panel-header{flex-direction:row;align-items:center;flex-wrap:wrap}.effects-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.effects-block{grid-column:span 1}}@container (max-width: 560px){.effects-grid{grid-template-columns:minmax(0,1fr)}}.midi-panel{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border:1px solid var(--edge-faint);border-radius:var(--corner-panel);background:var(--surface-inset);min-width:0}.midi-drum-channel{display:flex;align-items:center;gap:6px;color:var(--text-label)}.midi-ties{flex-wrap:wrap}.midi-learn-status,.midi-pad-status{color:var(--text-plain);font-family:var(--sentence-font)}.midi-tie-list{list-style:none;margin:6px 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.midi-pad-list,.midi-device-list{list-style:none;margin:0;padding:0;display:grid;gap:4px}.midi-pad-list{grid-template-columns:repeat(auto-fill,minmax(min(240px,100%),1fr))}.midi-pad-list b,.midi-device-list b{color:var(--text);flex:1;min-width:0}.midi-pad-note{color:var(--value);font-family:var(--led-font);font-size:var(--type-label);min-width:9ch;text-align:right}.midi-pad-note.none{color:var(--text-faint)}.midi-tie-list li,.midi-pad-list li,.midi-device-list li{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-control);padding:4px 8px;color:var(--text-plain)}.midi-tie-list b{color:var(--text);flex:1}.midi-tie-arrow{color:var(--text-faint)}.midi-status-dot{width:7px;height:7px;border-radius:50%;background:var(--lamp-off);border:1px solid var(--edge-deep);flex-shrink:0}.midi-status-dot.connected{background:var(--on);box-shadow:var(--shadow-lamp)}.midi-panel select{min-width:0}.midi-mode-buttons{display:flex;gap:4px}.midi-last-message{flex:1 1 14ch;min-width:0;color:var(--text-label);font-family:var(--led-font);font-size:var(--type-label);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.midi-note{margin:0;font-size:var(--type-label);color:var(--text-label);max-width:60ch}.sample-panel{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:10px 12px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.sample-panel h2{margin:0;font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.sample-panel p{margin:0}.sample-upload{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sample-upload input{max-width:100%}.sample-list{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:4px}.sample-list li{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.sample-list li span{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere}.synth-controls-panel{display:flex;flex-direction:column;gap:10px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);padding:10px 12px;min-width:0;max-width:none;height:auto}.synth-level-row{display:flex;align-items:flex-end;justify-content:space-between;gap:4px 10px;flex-wrap:wrap;border-bottom:1px solid var(--edge-faint)}.synth-controls-panel .synth-levels{border-bottom:0}.synth-controls-panel .synth-levels button{min-width:88px;padding:7px 18px;font-weight:700}.synth-level-row .synth-header-tools{flex-wrap:nowrap;padding-bottom:4px;margin-left:auto}.synth-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.synth-header .model-selector-wrap{flex-direction:row;margin-left:0}.synth-columns{display:flex;flex-wrap:wrap;gap:8px}.synth-columns[data-tab=notes],.synth-columns[data-tab=arp]{display:none}.synth-columns[data-tab=osc] .synth-column:not([data-tab=osc]),.synth-columns[data-tab=inserts] .synth-column:not([data-tab=inserts]),.synth-columns[data-tab=filter] .synth-column:not([data-tab=filter]),.synth-columns[data-tab=amp] .synth-column:not([data-tab=amp]),.synth-columns[data-tab=lfo] .synth-column:not([data-tab=lfo]),.synth-columns[data-tab=sends] .synth-column:not([data-tab=sends]){display:none}.synth-column{background:var(--surface-well);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);padding:8px 10px}.synth-column h3{margin:0 0 6px;font-family:var(--panel-font);font-size:var(--type-label);font-weight:700;letter-spacing:.12em;color:var(--text-faint);text-align:left}.synth-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.synth-section-header h3{margin:0}.synth-column-controls{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;gap:6px 8px}.synth-filter-type-row{display:flex;justify-content:center;gap:4px;width:100%}.synth-select,.synth-filter-type-select{text-transform:uppercase;text-align:center;cursor:pointer}.synth-select{min-width:56px}.arp-select{min-width:66px}.synth-lfo-rate-row{display:flex;align-items:center;gap:.3rem}.synth-header-tools,.preset-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.synth-header-tools,.preset-controls{justify-content:flex-end}.arp-controls{display:flex;align-items:center;gap:6px;flex-wrap:wrap;justify-content:flex-start}.model-selector-wrap{display:flex;flex-direction:column;align-items:center;gap:6px;margin-left:6px}.model-selector-wrap label,.octave-shift-value{font-family:var(--panel-font);font-size:var(--type-label);font-weight:600;color:var(--text-faint)}.model-selector-wrap label{letter-spacing:1px}.octave-shift-value{min-width:18px;text-align:center}.preset-name-input{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;letter-spacing:.04em;text-transform:none;padding:4px 6px;width:130px;min-width:92px;max-width:100%}.preset-import{display:inline-flex;align-items:center}.arp-gate-label{display:flex;align-items:center;gap:6px;font-size:var(--type-caption);color:var(--text-label)}.arp-gate-label input[type=range]{width:84px}.synth-waveform-selector{display:flex;flex-direction:column;align-items:center;gap:4px;padding:6px}.synth-waveform-selector label{font-family:var(--panel-font);font-size:var(--type-caption);font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px}.synth-model-macro-grid{display:grid;gap:6px;grid-template-columns:repeat(auto-fit,minmax(92px,1fr))}.synth-sample-select{max-width:18ch;text-transform:none;text-align:left}.synth-sample-note{max-width:24ch;margin:0;color:var(--text-faint);font-size:var(--type-caption)}.synth-routes{display:flex;flex-direction:column;gap:6px}.synth-route{display:flex;align-items:center;gap:6px;flex-wrap:wrap;color:var(--text-faint)}.synth-route .synth-select{min-width:0;text-transform:none;text-align:left}.synth-route-source{min-width:9ch;color:var(--text-label)}.synth-route-lfo+.synth-route:not(.synth-route-lfo){margin-top:6px;padding-top:8px;border-top:1px solid var(--edge-faint)}.synth-env-viz .synth-column-controls{padding:4px 0}.synth-env-viz svg{opacity:.8}.synth-env-viz polyline{stroke:var(--value)}.lane-name{width:14ch;background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font-family:var(--sentence-font);font-size:var(--type-label);padding:4px 6px;text-transform:none}.synth-glide-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;color:var(--text-label);font-size:var(--type-label)}.synth-glide-options label{display:inline-flex;align-items:center;gap:4px}.keyboard-container{background:var(--surface-well);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);padding:8px 10px;overflow:hidden}.keyboard-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.keyboard-header h2{font-size:var(--type-label);font-weight:600;letter-spacing:.12em;color:var(--text-faint);margin:0}.keyboard-range{font-size:var(--type-label);color:var(--text-faint);font-family:var(--led-font);letter-spacing:0}.keyboard{display:flex;width:100%;-webkit-user-select:none;user-select:none}.octave{flex:1;position:relative;display:flex;min-width:0}.white-keys{display:flex;flex:1;gap:2px}.key{border:none;cursor:pointer;transition:all .1s;position:relative;flex:1;min-width:0}.key.white{height:84px;background:#fff;border:1px solid #ccc;border-radius:0 0 var(--corner-panel) var(--corner-panel);box-shadow:var(--shadow-control)}.key.white:hover{background:#f0f0f0}.key.white.active,.key.black.active{background:var(--on);border-color:var(--on-bright);transform:translateY(2px);box-shadow:var(--shadow-control)}.key-label{position:absolute;bottom:10px;left:50%;transform:translate(-50%);font-size:var(--type-label);color:#666;font-weight:500;pointer-events:none}.key.white.active .key-label{color:var(--text-on)}.black-keys{position:absolute;top:0;left:0;width:100%;height:52px;pointer-events:none}.key.black{position:absolute;width:calc(100% / 7 * .55);height:52px;background:#1a1a1a;border:1px solid #000;border-radius:0 0 var(--corner-panel) var(--corner-panel);box-shadow:var(--shadow-control);pointer-events:all;z-index:10}.key.black:hover{background:#2a2a2a}.black-spacer{width:calc(100% / 7 * .55)}.key.out-of-scale{filter:brightness(.6)}.piano-roll{background:var(--surface-well);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);padding:8px 10px}.piano-roll-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.piano-roll-chord{display:flex;align-items:center;gap:6px;color:var(--text-label);font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.piano-roll-chord select{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;text-transform:none;letter-spacing:0;padding:3px 6px}.piano-roll-header h2{margin:0;font-size:var(--type-label);font-weight:600;letter-spacing:.12em;color:var(--text-faint)}.piano-roll-grid{display:grid;gap:1px;background:var(--gap);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);overflow:auto;max-height:180px}.piano-roll-row,.piano-roll-slot{display:contents}.piano-roll-corner,.piano-roll-step-header,.piano-roll-note-label,.piano-roll-cell{min-height:18px}.piano-roll-step-header,.piano-roll-note-label{display:flex;align-items:center;justify-content:center;font-size:var(--type-caption);color:var(--text-faint);background:var(--surface-control)}.piano-roll-step-header.beat{color:var(--text)}.piano-roll-note-label{justify-content:flex-start;padding-left:5px}.piano-roll-note-label.sharp{background:var(--surface-field)}.piano-roll-cell{position:relative;padding:0;background:var(--surface-inset);border:none;cursor:pointer}.piano-roll-cell.active{background:var(--on)}.piano-roll-cell.active.late{background:linear-gradient(90deg,var(--surface-inset) var(--late),var(--on) var(--late))}.piano-roll-resize{position:absolute;top:0;right:0;bottom:0;width:7px;cursor:ew-resize;background:#ffffffb3;touch-action:none}.piano-roll-hint{flex:1;margin:0 10px;font-family:var(--sentence-font);font-size:var(--type-label);font-weight:400;letter-spacing:0;text-transform:none;line-height:1.4;color:var(--text-faint);text-align:right}.piano-roll-cell.held{background:linear-gradient(var(--on-glow),var(--on-glow)),var(--surface-inset)}.piano-roll-cell.selected,.piano-roll-step-header.selected{outline:1px solid var(--select);outline-offset:-1px}.piano-roll-cell.playing,.piano-roll-step-header.playing{box-shadow:inset 0 0 0 9999px #ffffff14}.piano-roll-note-label.out-of-scale{color:var(--text-faint)}.piano-roll-cell.out-of-scale:not(.active):not(.held){opacity:.35;cursor:not-allowed}.keyboard-quantize{display:flex;align-items:center;gap:6px;color:var(--text-label);font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.08em;text-transform:uppercase}.keyboard-quantize select{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;letter-spacing:0;padding:3px 6px}.keyboard-panel{width:100%;min-height:0;overflow:hidden}.keyboard-panel-toggle{display:flex;gap:6px;margin-bottom:6px;align-items:center}.keyboard-panel-toggle .octave-shift-value{font-family:var(--led-font);color:var(--value)}.scope{display:flex;align-items:stretch;gap:8px;min-width:0}.scope-canvas{flex:1 1 auto;min-width:0;height:56px;background:var(--surface-display);border:1px solid var(--edge-control);border-radius:var(--corner-control)}.scope-modes{display:flex;flex-direction:column;justify-content:center;gap:4px}.scope-modes .rack-btn{font-size:var(--type-caption);padding:2px 8px}.drum-knob{display:flex;flex-direction:column;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.drum-knob-rotary{width:44px;height:44px;cursor:ns-resize;position:relative}.drum-knob-svg{width:100%;height:100%;display:block}.drum-knob-svg line{stroke:var(--value)}.drum-knob-svg circle:last-child{fill:var(--value)}.drum-knob-label{font-size:var(--type-caption);color:var(--text-label);text-transform:uppercase;letter-spacing:.5px}.drum-knob-value-input{font-family:var(--led-font);font-size:var(--type-caption);font-weight:400;color:var(--value);background:var(--surface-field);box-sizing:content-box;width:8.5ch;min-width:4.5ch;max-width:none;padding:1px 2px;border:1px solid transparent;border-radius:var(--corner-control);text-align:center}@supports (field-sizing: content){.drum-knob-value-input{field-sizing:content;width:auto}}.drum-knob-rotary:focus-visible{border-radius:50%}.fader{display:inline-flex;flex-direction:column;align-items:center;gap:6px;-webkit-user-select:none;user-select:none}.fader-slot{position:relative;width:32px;height:120px;cursor:ns-resize;border-radius:var(--corner-control)}.fader-groove{position:absolute;left:50%;top:6px;bottom:6px;width:6px;margin-left:-3px;background:var(--surface-well);border:1px solid var(--edge-deep);border-radius:var(--corner-control)}.fader-home{position:absolute;left:3px;right:3px;bottom:calc(9px + var(--fader-at) * 100px);height:2px;background:linear-gradient(to right,var(--edge-strong) 0 6px,transparent 6px calc(100% - 6px),var(--edge-strong) calc(100% - 6px))}.fader-cap{position:absolute;left:3px;right:3px;bottom:calc(var(--fader-at) * 100px);height:20px;box-sizing:border-box;background:var(--surface-control);border:1px solid var(--edge-strong);border-radius:var(--corner-control);box-shadow:var(--shadow-control)}.fader-cap:after{content:"";position:absolute;left:2px;right:2px;top:50%;height:2px;margin-top:-1px;background:var(--value)}.fader-slot:hover .fader-cap{border-color:var(--hover)}.fader-value{box-sizing:border-box;width:100%;min-width:0;padding:1px 2px;text-align:center;font-family:var(--led-font);font-size:var(--type-caption);font-weight:400;color:var(--value);background:var(--surface-field);border:1px solid transparent;border-radius:var(--corner-control)}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/discobot/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2) format("woff2"),url(/discobot/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/discobot/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/discobot/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/discobot/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/discobot/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff")}@font-face{font-family:Share Tech Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/discobot/assets/share-tech-mono-latin-400-normal-CCqdbj5z.woff2) format("woff2"),url(/discobot/assets/share-tech-mono-latin-400-normal-15MgdvEM.woff) format("woff")}.rack-page,.rack-page [data-sample=studio]{--surface-page: #0b0c0d;--surface-rail: #111213;--surface-panel-top: #34373a;--surface-panel-bottom: #2a2c2f;--surface-panel: linear-gradient(var(--surface-panel-top), var(--surface-panel-bottom));--surface-inset: #1f2123;--surface-control: #1a1b1c;--surface-hover: #2c2f32;--surface-well: #18191a;--surface-field: #121314;--surface-display: #0a0b0a;--edge: #4a4d50;--edge-strong: #6d7174;--edge-faint: #3c3f42;--edge-beat: #8f9396;--edge-control: #55585b;--edge-deep: #000000;--edge-rail: #232527;--text: #f1f1ee;--text-plain: #dcdedf;--text-label: #c9cbcc;--text-faint: #a3a7aa;--text-on: #111111;--on: #ffb000;--on-bright: #ffcf66;--on-glow: rgba(255, 176, 0, .45);--lamp-off: #3a2a10;--on-deep: #8a6a1f;--lit: #ffffff;--value: #ffb000;--value-glow: rgba(255, 176, 0, .6);--action: #f1f1ee;--action-text: #111111;--action-hover: #ffffff;--focus: #ffffff;--select: #f1f1ee;--gap: #0b0c0d;--hover: #d9dbdc;--danger: #e35d3a;--danger-surface: #2a1a12;--danger-ink: #ffd9cc;--danger-word: #ff8f80;--drum-kick: #ef4444;--drum-snare: #f59e0b;--drum-clap: #f97316;--drum-closed-hat: #3b82f6;--drum-open-hat: #22c55e;--drum-low-tom: #14b8a6;--drum-high-tom: #8b5cf6;--drum-cymbal: #ec4899;--drum-added: #94a3b8;--scene-red: #ef4444;--scene-green: #22c55e;--scene-blue: #3b82f6;--scene-teal: #14b8a6;--scene-violet: #8b5cf6;--scene-pink: #ec4899;--person-0: #3b82f6;--person-1: #22c55e;--person-2: #ec4899;--person-3: #14b8a6;--person-4: #8b5cf6;--person-5: #f97316;--person-6: #06b6d4;--person-7: #ef4444;--panel-font: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;--sentence-font: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--led-font: "Share Tech Mono", Consolas, "Courier New", monospace;--type-caption: 11px;--type-label: 13px;--type-body: 14px;--type-large: 16px;--type-title: 18px;--type-display: 26px;--type-hero: 40px;--corner-panel: 2px;--corner-control: 3px;--shadow-control: 0 2px 4px rgba(0, 0, 0, .3);--shadow-float: 0 10px 24px rgba(0, 0, 0, .6);--shadow-lamp: 0 0 6px var(--on);--shadow-lit: 0 0 6px var(--on-glow);--plate: 124px;--side: 120px;--knobs: 256px;color-scheme:dark}.rack-page{height:100vh;height:100dvh;box-sizing:border-box;background:var(--surface-page);padding:0 12px 40px;overflow:auto;color:var(--text-label);font-family:var(--panel-font);font-weight:600;letter-spacing:.06em;text-transform:uppercase;font-size:var(--type-label);-webkit-tap-highlight-color:transparent}:root[data-scheme=daylight] .rack-page,.rack-page [data-sample=daylight]{--surface-page: #c4c8cb;--surface-rail: #b3b7ba;--surface-panel-top: #eef0f1;--surface-panel-bottom: #e1e4e6;--surface-inset: #f7f8f8;--surface-control: #f8f9fa;--surface-hover: #eceef0;--surface-well: #ffffff;--surface-field: #ffffff;--surface-display: #e9e3cf;--edge: #9ea3a7;--edge-strong: #757a7e;--edge-faint: #c4c8cb;--edge-beat: #585d61;--edge-control: #9a9fa3;--edge-deep: #6b7074;--edge-rail: #c4c8cb;--text: #121416;--text-plain: #212427;--text-label: #2f3336;--text-faint: #53585c;--text-on: #111111;--on: #cc7a00;--on-bright: #e8961a;--on-glow: rgba(204, 122, 0, .4);--lamp-off: #dccca6;--on-deep: #8f5600;--lit: #16181a;--value: #8a5200;--value-glow: rgba(138, 82, 0, .3);--action: #202326;--action-text: #f6f6f4;--action-hover: #000000;--focus: #111111;--select: #16181a;--gap: #ffffff;--hover: #3a3e42;--danger: #b7361a;--danger-surface: #fbe3db;--danger-ink: #6b1a07;--danger-word: #a3290f;--shadow-control: 0 1px 2px rgba(0, 0, 0, .18);--shadow-float: 0 10px 24px rgba(0, 0, 0, .25);color-scheme:light}:root[data-scheme=contrast] .rack-page,.rack-page [data-sample=contrast]{--surface-page: #000000;--surface-rail: #000000;--surface-panel-top: #0d0d0d;--surface-panel-bottom: #0d0d0d;--surface-inset: #000000;--surface-control: #000000;--surface-hover: #1c1c1c;--surface-well: #141414;--surface-field: #000000;--surface-display: #000000;--edge: #bdbdbd;--edge-strong: #ffffff;--edge-faint: #8c8c8c;--edge-beat: #ffffff;--edge-control: #d4d4d4;--edge-deep: #8c8c8c;--edge-rail: #8c8c8c;--text: #ffffff;--text-plain: #ffffff;--text-label: #f2f2f2;--text-faint: #d9d9d9;--text-on: #000000;--on: #ffd400;--on-bright: #ffe866;--on-glow: rgba(255, 212, 0, .5);--lamp-off: #3d3300;--on-deep: #b39500;--lit: #ffffff;--value: #ffd400;--value-glow: rgba(255, 212, 0, .6);--action: #ffffff;--action-text: #000000;--action-hover: #ffd400;--focus: #00e5ff;--select: #ffffff;--gap: #000000;--hover: #ffffff;--danger: #ff6a4d;--danger-surface: #2b0a03;--danger-ink: #ffe2da;--danger-word: #ffa08c}:root[data-scheme=midnight] .rack-page,.rack-page [data-sample=midnight]{--surface-page: #060a13;--surface-rail: #0b111e;--surface-panel-top: #1c2740;--surface-panel-bottom: #162036;--surface-inset: #111a2d;--surface-control: #0e1626;--surface-hover: #1e2b46;--surface-well: #0c1321;--surface-field: #09101c;--surface-display: #050913;--edge: #34446a;--edge-strong: #5a6e97;--edge-faint: #27344f;--edge-beat: #7f92b8;--edge-control: #3d4f78;--edge-deep: #02050b;--edge-rail: #18223a;--text: #eef2fb;--text-plain: #d7deed;--text-label: #c4cde1;--text-faint: #9ca8c3;--text-on: #04121c;--on: #4cc3ff;--on-bright: #8fdbff;--on-glow: rgba(76, 195, 255, .45);--lamp-off: #0f2b3d;--on-deep: #1f6b8f;--lit: #ffffff;--value: #4cc3ff;--value-glow: rgba(76, 195, 255, .55);--action: #eef2fb;--action-text: #04121c;--action-hover: #ffffff;--focus: #ffffff;--select: #eef2fb;--gap: #060a13;--hover: #c9d4ea;--danger: #ff7a5c;--danger-surface: #2a1210;--danger-ink: #ffdcd2;--danger-word: #ff9c85}.rack{width:100%;max-width:1400px;min-width:1060px;margin:14px auto 0;padding:10px 28px;display:flex;flex-direction:column;gap:5px;border-radius:var(--corner-control);background-color:var(--surface-rail);background-image:radial-gradient(circle at 14px 23px,#050505 0 3px,#3a3c3e 3.5px 5px,transparent 5.5px),radial-gradient(circle at calc(100% - 14px) 23px,#050505 0 3px,#3a3c3e 3.5px 5px,transparent 5.5px);background-size:100% 46px;background-repeat:repeat-y}.rack-main,.rack-side{display:contents}.rack-unit{background:var(--surface-panel);border:1px solid var(--edge);border-radius:var(--corner-panel);padding:10px 14px;display:flex;flex-direction:column;gap:10px;min-width:0}.rack-unit.selected{border-color:var(--on)}.rack-unit.empty{flex-direction:row;align-items:center;gap:14px;border-style:dashed}.rack-row{display:flex;align-items:center;gap:12px;min-width:0}.rack-grow{flex:1}.rack-hint{color:var(--text-faint);font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-label);line-height:1.4}.rack-readout{font-family:var(--led-font);color:var(--value);letter-spacing:0;min-width:3.5ch}.rack-plate{width:var(--plate);flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:none;border:0;padding:2px 0;color:var(--text-faint);font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;cursor:pointer;font-size:var(--type-caption)}.rack-plate.static{cursor:default}.rack-plate b,.rack-plate h1{font-size:var(--type-title);font-weight:700;letter-spacing:.08em;color:var(--text);margin:0;line-height:1.05}.rack-plate[aria-pressed=true] b{color:var(--on)}.rack-plate:not(.static):hover b{text-decoration:underline}.rack-plate span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.rack-plate span[data-scene-sound]:before{content:"";display:inline-block;width:.55em;height:.55em;margin-right:.35em;border-radius:50%;background:var(--scene-color, var(--on));vertical-align:.05em}.rack-plate-actions{display:flex;gap:4px}.rack-plate.helped,.rack-plate-box{position:relative}.rack-plate-box{width:var(--plate);min-width:0;flex:none;display:flex}.rack-plate-box .rack-plate{width:100%}.rack-btn.unit-help{position:absolute;top:0;right:6px;width:20px;height:20px;padding:0;font-size:var(--type-caption);line-height:1;color:var(--text-faint)}.rack-btn.unit-fold{position:absolute;top:24px;right:6px;width:20px;height:20px;padding:0;font-size:var(--type-caption);line-height:1;color:var(--text-faint)}.unit-fold>span{display:inline-block}.unit-fold[aria-expanded=false]>span{transform:rotate(-90deg)}.rack-plate:has(.unit-fold)>span,.rack-plate-box:has(.unit-fold) .rack-plate>span{padding-right:26px;box-sizing:border-box}.rack-plate:has(.unit-fold)>select{max-width:calc(100% - 26px)}.rack-unit[data-folded]{padding-block:6px}.rack-btn{background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text-plain);font:inherit;text-transform:inherit;letter-spacing:inherit;padding:5px 9px;cursor:pointer;white-space:nowrap;line-height:1.2}.rack-btn:not(.on):hover:not(:disabled){border-color:var(--hover);color:var(--text);background:var(--surface-control)}.rack-btn:disabled,.rack-btn.go:disabled,.rack-btn.on:disabled{background:var(--surface-well);border-color:var(--edge-faint);color:var(--text-faint);cursor:not-allowed}.rack-btn.on{background:var(--on);color:var(--text-on);border-color:var(--on)}.rack-btn.go{background:var(--action);border-color:var(--action);color:var(--action-text);font-size:var(--type-body);padding:7px 16px}.rack-btn.go:hover:not(:disabled){background:var(--action-hover);border-color:var(--action-hover);color:var(--action-text)}.rack-btn.go.playing,.rack-btn.go.playing:hover:not(:disabled){background:var(--on);border-color:var(--on);color:var(--text-on)}@media(hover:hover){.rack-btn.on:hover:not(:disabled),.rack-btn.go.playing:hover:not(:disabled),.rack-ms button.on:hover,.scene-chip.on:hover,.synth-tabs button.active:hover,.step-cell.has-note:hover{background:var(--on-bright);border-color:var(--on-bright);color:var(--text-on)}.drum-step-btn.active:hover{border-color:var(--hover)}}.rack-btn.danger:not(.on):hover:not(:disabled){border-color:var(--danger);color:var(--danger)}.rack-page :is(button,select,input,textarea,a,summary,[role=slider],[tabindex="0"],.help-sections h3):focus-visible{outline:2px solid var(--focus);outline-offset:2px;box-shadow:0 0 0 2px var(--gap)}.rack-page :is(.rack-menu-list button,.song-block button,.song-timeline-entry,.timeline-clip,.piano-roll-cell,.key):focus-visible{outline-offset:-2px;box-shadow:inset 0 0 0 4px var(--gap)}.rack-led{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--lamp-off);border:1px solid var(--edge-deep);margin-right:4px;vertical-align:middle}.rack-led.on{background:var(--on);box-shadow:var(--shadow-lamp)}.rack-ms{display:flex;gap:3px;flex:none}.rack-ms button{width:24px;height:24px;padding:0;display:grid;place-items:center;background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-panel);color:var(--text-faint);font:inherit;cursor:pointer}.rack-ms.small button{width:24px;height:24px;font-size:var(--type-caption)}.rack-ms button:hover{border-color:var(--hover);color:var(--text)}.rack-ms button.on{background:var(--on);border-color:var(--on);color:var(--text-on)}.rack select,.rack-dialog select,.rack .save-name-input,.rack .tempo-led-input{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;letter-spacing:.04em;padding:4px 6px;max-width:100%}.rack select:hover{border-color:var(--hover)}.rack input[type=range]{accent-color:var(--value)}.rack input[type=checkbox]{accent-color:var(--on)}.app-alert-actions{display:flex;gap:6px;flex:none}.rack-menu{position:relative}.rack-menu-list{position:absolute;right:0;top:calc(100% + 4px);z-index:30;display:flex;flex-direction:column;min-width:170px;background:var(--surface-control);border:1px solid var(--edge-strong);border-radius:var(--corner-control);padding:4px;box-shadow:var(--shadow-float)}.rack-menu-list button{background:none;border:0;border-radius:var(--corner-panel);color:var(--text-label);font:inherit;text-transform:inherit;letter-spacing:inherit;text-align:left;padding:7px 10px;cursor:pointer;white-space:nowrap}.rack-menu-list button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.rack-menu-list button:disabled{color:var(--text-faint);cursor:not-allowed}.rack-menu-list button.danger:not(:hover):not(:focus-visible):not(:disabled){color:var(--danger)}.rack-menu-sep{height:1px;margin:4px 2px;background:var(--edge)}.rack-btn.rack-menu-pick{display:inline-flex;align-items:center;gap:6px;width:172px;text-align:left}.rack-menu-pick>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rack-menu.nested>.rack-menu-list{left:0;right:auto}.rack-menu.nested.flip>.rack-menu-list{left:auto;right:0}.rack-menu-group{position:relative;display:flex;flex-direction:column}.rack-menu-group>button{display:flex;justify-content:space-between;gap:14px}.rack-menu-group>button[aria-expanded=true]{background:var(--surface-hover);color:var(--text)}.rack-menu-group>.rack-menu-list{left:calc(100% + 6px);right:auto;top:-5px;max-height:60vh;overflow-y:auto}.rack-menu.flip .rack-menu-group>.rack-menu-list{left:auto;right:calc(100% + 6px)}.rack-menu-head{padding:6px 12px 4px;font-size:var(--type-caption);letter-spacing:.12em;color:var(--text-faint);border-top:1px solid var(--edge);margin-top:4px}.rack-menu-search{padding:4px 6px 6px}.rack-menu-search input{width:100%;box-sizing:border-box;background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;font-family:var(--sentence-font);font-size:var(--type-label);padding:5px 8px;text-transform:none}.owner-tools h4{margin:10px 0 0;font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-label)}.account-danger{margin-top:18px;padding-top:12px;border-top:1px solid var(--edge)}.account-danger .rack-btn.danger:not(.on){border-color:var(--danger);color:var(--danger)}.transport .brand{width:auto;min-width:var(--plate);max-width:340px}.project-name{background:none;border:0;padding:0;color:var(--value);font:inherit;font-size:var(--type-caption);text-transform:none;letter-spacing:.04em;cursor:pointer;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.project-name:hover{text-decoration:underline}.project-line{display:flex;align-items:baseline;gap:8px;max-width:100%}.project-line .project-name{min-width:0;flex:0 1 auto}.save-state{position:relative;flex:none;width:7.2em;font-size:var(--type-caption);letter-spacing:.06em;text-transform:uppercase;color:var(--text-faint)}.save-state.full{margin-left:12px;align-self:center;width:auto;font-family:var(--sentence-font);font-weight:400;font-size:var(--type-label);text-transform:none;letter-spacing:0}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.tempo-display-group{display:flex;align-items:center;gap:6px}.metronome-switches{display:flex;align-items:center;gap:4px}.tempo-led{display:flex;align-items:baseline;gap:8px;cursor:text;background:var(--surface-display);border:1px solid var(--edge-deep);border-radius:var(--corner-panel);padding:3px 10px;font-family:var(--led-font);letter-spacing:.04em}.tempo-led-label{font-size:var(--type-caption);color:var(--text-faint)}.tempo-led-value{font-size:var(--type-display);color:var(--value);text-shadow:0 0 8px var(--value-glow);white-space:pre}.tempo-led.tap-flash{border-color:var(--on)}.rack .tempo-led-input{width:5ch;font-family:var(--led-font);font-size:var(--type-display);color:var(--value)}.save-inline,.load-inline{display:flex;align-items:center;gap:4px}.rack .save-name-input{width:150px;text-transform:none}.save-confirm-btn,.save-cancel-btn{background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text-label);padding:4px 8px;cursor:pointer}.save-confirm-btn:hover{border-color:var(--hover);color:var(--text)}.save-feedback{color:var(--text)}.app-alert{display:flex;align-items:center;justify-content:space-between;gap:12px;background:var(--danger-surface);border:1px solid var(--danger);border-radius:var(--corner-panel);padding:8px 14px;color:var(--danger-ink);font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-body)}.live-people{display:flex;align-items:center;flex-wrap:wrap;gap:8px;background:var(--surface-inset);border:1px solid var(--edge);border-radius:var(--corner-panel);padding:8px 14px;color:var(--text-plain);font-family:var(--sentence-font);font-size:var(--type-body)}.live-snap{margin-left:auto}.live-person{display:inline-flex;align-items:center;gap:6px;color:var(--text)}.live-person:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--present)}.rack [data-unit][data-present]{position:relative;box-shadow:inset 0 3px 0 var(--present)}.rack [data-unit][data-present]:after{content:attr(data-present-names);position:absolute;top:0;right:0;pointer-events:none;background:var(--present);color:var(--text-on);border-radius:0 0 0 var(--corner-control);padding:1px 8px;font-family:var(--panel-font);font-size:var(--type-caption);font-weight:600;text-transform:uppercase;letter-spacing:.06em}.unit-bar .unit-tab[data-present]{background-image:linear-gradient(var(--present),var(--present));background-size:100% 3px;background-position:bottom;background-repeat:no-repeat}.export-status{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;background:var(--surface-control);border:1px solid var(--on);border-radius:var(--corner-panel);padding:8px 14px;color:var(--text);font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-body)}.starter-options{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;flex:1 1 auto;min-width:0}.starter-hint{flex:0 1 auto;min-width:0}.scene-strip,.song-chain{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-width:0}.song-chain{flex:1}.scene-chip{background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text-plain);font:inherit;text-transform:inherit;letter-spacing:inherit;padding:6px 12px;cursor:pointer;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scene-chip:hover{border-color:var(--hover);color:var(--text)}.scene-chip.on{background:var(--on);border-color:var(--on);color:var(--text-on)}.rack .scene-name-input{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);font:inherit;padding:5px 8px;width:150px;text-transform:none}[data-color=red]{--scene-color: var(--scene-red)}[data-color=green]{--scene-color: var(--scene-green)}[data-color=blue]{--scene-color: var(--scene-blue)}[data-color=teal]{--scene-color: var(--scene-teal)}[data-color=violet]{--scene-color: var(--scene-violet)}[data-color=pink]{--scene-color: var(--scene-pink)}.scene-strip .scene-chip[data-color],.song-chain .song-block[data-color]{border-left:5px solid var(--scene-color)}.scene-color,.scene-time{display:flex;align-items:center;gap:6px;color:var(--text-label)}[data-order-list]{user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.drag-from{opacity:.45}.drag-over{box-shadow:inset 0 0 0 2px var(--hover)}.scene-tempo input{width:4.5em}.mode-toggle{width:var(--side)}.mode-toggle button{width:auto;flex:1;height:24px;padding:0 4px;font-size:var(--type-caption);text-transform:inherit;letter-spacing:inherit}.song-block{display:flex;align-items:stretch;background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-control);overflow:hidden}.song-block.start{border-color:var(--text)}.song-block.playing{border-color:var(--on);box-shadow:var(--shadow-lit)}.song-block-name{display:flex;align-items:center;gap:8px;background:none;border:0;color:var(--text-plain);font:inherit;text-transform:inherit;letter-spacing:inherit;padding:5px 8px 5px 10px;cursor:pointer;max-width:170px;white-space:nowrap;overflow:hidden}.song-block.playing .song-block-name{background:var(--on);color:var(--text-on)}.song-block-name:hover{color:var(--text);text-decoration:underline}.song-block.playing .song-block-name:hover{color:var(--text-on)}.song-block-count{font-family:var(--led-font);letter-spacing:0;color:var(--value)}.song-block.playing .song-block-count{color:var(--text-on)}.song-block-tools{display:flex;border-left:1px solid var(--edge)}.song-block-tools button{background:none;border:0;color:var(--text-label);font:inherit;width:26px;padding:0;cursor:pointer}.song-block-tools button:last-child{margin-left:10px;border-left:1px solid var(--edge)}.song-block-tools button:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.song-block-tools button:disabled{color:var(--text-faint);cursor:not-allowed}.song-loop{flex:none}.song-view{display:flex;gap:3px;flex:none}.timeline{--timeline-head: 190px;display:flex;flex-direction:column;gap:8px;padding-top:8px}.timeline-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.timeline-place,.timeline-number,.timeline-clip-tools label{display:inline-flex;align-items:center;gap:6px;color:var(--text-label)}.timeline-place input,.timeline-number input,.timeline-clip-tools select,.timeline-name{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);padding:4px 6px;font:inherit}.timeline-place input,.timeline-number input{width:7ch}.timeline-scroll{overflow-x:auto;border:1px solid var(--edge-faint);border-radius:var(--corner-panel);background:var(--surface-inset)}.timeline-grid{display:flex;flex-direction:column;min-width:100%}.timeline-row{display:flex;min-height:44px;border-bottom:1px solid var(--edge-faint)}.timeline-row:last-child{border-bottom:0}.timeline-row[data-chosen] .timeline-head{box-shadow:inset 3px 0 0 var(--on)}.timeline-head{position:sticky;left:0;z-index:2;flex:none;width:var(--timeline-head);box-sizing:border-box;display:flex;align-items:center;gap:4px;padding:4px 6px;background:var(--surface-panel-bottom);border-right:1px solid var(--edge)}.timeline-name{flex:1;min-width:0}.timeline-lane{position:relative;flex:1}.timeline-ruler{min-height:32px}.timeline-ruler .timeline-lane{cursor:pointer}.timeline-block{position:absolute;top:4px;bottom:4px;box-sizing:border-box;padding:3px 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;font-size:var(--type-caption);color:var(--text-plain);border-left:4px solid var(--scene-color, var(--edge-strong));background:linear-gradient(90deg,var(--edge) 1px,transparent 1px) left top / 64px 100% repeat-x,var(--surface-control)}.timeline-playing{position:absolute;top:0;bottom:0;background:var(--on-glow);pointer-events:none}.timeline-mark{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--value);pointer-events:none}.timeline-clip{position:absolute;top:6px;bottom:6px;box-sizing:border-box;display:flex;align-items:center;padding:0 9px;overflow:hidden;border:1px solid var(--edge-strong);border-radius:var(--corner-control);background:var(--surface-hover);color:var(--text);font-size:var(--type-caption);cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.timeline-clip.on{background:var(--on);color:var(--text-on);border-color:var(--on-bright)}.timeline-clip.moving{cursor:grabbing;box-shadow:var(--shadow-float);z-index:1}.timeline-clip-name{overflow:hidden;white-space:nowrap;text-overflow:ellipsis;pointer-events:none}.timeline-trim{position:absolute;top:0;bottom:0;width:8px;cursor:ew-resize;background:var(--on-deep)}.timeline-trim.start{left:0}.timeline-trim.end{right:0}.timeline-zoom{display:inline-flex;gap:3px}.record-session{display:inline-flex;align-items:center;gap:8px}.record-session-time{font-family:var(--led-font)}.record-session-error{color:var(--danger-word);font-family:var(--sentence-font);font-size:var(--type-label)}.timeline-fade{position:absolute;top:0;bottom:0;pointer-events:none;background:var(--surface-well)}.timeline-fade.in{left:0;clip-path:polygon(0 0,100% 0,0 100%)}.timeline-fade.out{right:0;clip-path:polygon(0 0,100% 0,100% 100%)}.timeline-fade-handle{position:absolute;top:0;width:12px;height:12px;border-radius:50%;background:var(--lit);border:1px solid var(--edge-deep);cursor:ew-resize;z-index:1}.timeline-clip-tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:8px 10px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.song-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:3px}.song-list-row{background:var(--surface-inset);border:1px solid var(--edge-faint);border-left:5px solid var(--scene-color, var(--edge-faint));border-radius:var(--corner-panel)}.song-list-row.start{border-top-color:var(--text);border-right-color:var(--text);border-bottom-color:var(--text)}.song-list-row.playing{border-top-color:var(--on);border-right-color:var(--on);border-bottom-color:var(--on);box-shadow:var(--shadow-lit)}.song-list-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 12px;padding:5px 8px}.song-list-place{flex:none;width:36px;font-family:var(--led-font);letter-spacing:0;color:var(--value);white-space:nowrap}.song-list-name{flex:1 1 130px;min-width:0;max-width:280px;display:flex;align-items:center;gap:8px;text-align:left}.song-list-scene{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.song-list-start{flex:none;font-size:var(--type-caption);color:var(--text-label)}.song-list-repeats{display:flex;align-items:center;gap:4px;flex:none}.song-list-repeats .rack-btn,.song-list-tools .rack-btn:not([data-control=add],.danger){min-width:34px;padding-left:0;padding-right:0}.song-list-count{min-width:5ch;text-align:center;font-family:var(--led-font);letter-spacing:0;color:var(--value)}.song-list-bars{flex:none;width:180px;color:var(--text-plain);white-space:nowrap}.song-list-time{flex:none;width:150px;color:var(--text-label);white-space:nowrap}.song-list-bars b,.song-list-time b,.song-list-total b{font-family:var(--led-font);font-weight:400;letter-spacing:0;color:var(--value)}.song-list-tools{display:flex;gap:4px;flex:none;margin-left:auto}.song-list-tools .rack-btn.danger{margin-left:10px}.song-list-foot{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin-top:8px}.song-list-total{color:var(--text-label)}.synth-module>.rack-row,.drum-top{display:grid;grid-template-columns:var(--plate) var(--side) minmax(0,1fr) var(--knobs);align-items:center}.drum-top{grid-template-columns:var(--plate) minmax(0,1fr) var(--knobs);align-items:start}.synth-module .rack-ms{justify-content:flex-end}.rack-knobs{display:flex;align-items:flex-start;justify-content:flex-end;gap:4px}.rack-knobs .synth-model-macro-grid{display:flex;gap:4px;margin:0;padding:0;border:0;background:none}.rack-knobs .knob-label{max-width:46px}.step-row,.auto-strip{display:grid;gap:3px;min-width:0}.step-cell{position:relative;height:36px;min-width:0;padding:0;background:var(--surface-well);border:1px solid var(--edge-strong);border-radius:var(--corner-panel);color:var(--text-on);font-family:var(--led-font);font-size:var(--type-caption);letter-spacing:0;cursor:pointer;display:grid;place-items:center;overflow:hidden}.step-cell.beat{border-color:var(--edge-beat)}.step-cell:hover{border-color:var(--hover)}.step-cell.has-note{background:var(--on);border-color:var(--on-bright);box-shadow:var(--shadow-lit)}.step-cell.has-slide.has-note{background:linear-gradient(90deg,var(--on) 70%,var(--on-bright))}.step-cell.held{background:linear-gradient(var(--on-glow),var(--on-glow)),var(--surface-well);border-color:var(--on-deep)}.step-cell.chance{border-style:dashed;border-color:var(--text-on)}.step-note sup{font-size:.75em;margin-left:1px}.step-cell.selected:not(.has-note):not(.held),.drum-step-btn.picked:not(.active){background:var(--surface-hover)}.step-cell.selected{box-shadow:inset 0 0 0 1px var(--gap),inset 0 0 0 3px var(--select),inset 0 0 0 4px var(--gap)}.step-cell.selected.has-note{box-shadow:inset 0 0 0 1px var(--gap),inset 0 0 0 3px var(--select),inset 0 0 0 4px var(--gap),var(--shadow-lit)}.rack-page .step-cell.selected:focus-visible,.rack-page .drum-step-btn.picked:focus-visible{box-shadow:inset 0 0 0 1px var(--gap),inset 0 0 0 3px var(--select),inset 0 0 0 4px var(--gap),0 0 0 2px var(--gap)}.rack-page .step-cell:focus-visible,.rack-page .drum-step-btn:focus-visible{z-index:2}.steps-32 .step-cell,.step-row.fine .step-cell{font-size:var(--type-caption)}.step-light{position:absolute;top:2px;left:50%;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:transparent}.step-light.on{background:var(--lit);box-shadow:0 0 6px var(--lit)}.step-cell:not(.has-note) .step-light.on{background:var(--on);box-shadow:var(--shadow-lamp)}.step-velocity-bar{position:absolute;left:0;bottom:0;height:3px;background:#00000073}.synth-module>.auto-row>.auto-pick{grid-column:1 / 3}.auto-pick{display:flex;align-items:center;gap:8px;min-width:0;color:var(--text-label)}.auto-pick select{flex:1;min-width:0}.auto-cell{position:relative;height:36px;min-width:0;box-sizing:border-box;overflow:hidden;cursor:crosshair;touch-action:none;background:var(--surface-well);border:1px solid var(--edge-strong);border-radius:var(--corner-panel)}.auto-cell.beat{border-color:var(--edge-beat)}.auto-cell:hover{border-color:var(--hover)}.auto-bar{position:absolute;left:0;right:0;bottom:0;background:var(--value);pointer-events:none}.auto-rest{position:absolute;left:0;right:0;height:1px;background:var(--edge-control);pointer-events:none}.auto-cell.playing{background:var(--surface-hover);border-color:var(--on-bright)}.auto-cell.playing .auto-bar{background:var(--on-bright)}.rack-page .auto-cell:focus-visible{z-index:2}.auto-empty{min-height:36px;display:flex;align-items:center}.auto-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;min-width:0}.auto-tools .rack-btn{padding:3px 8px;min-width:0}.auto-readout{flex:none;width:9ch;text-align:right;white-space:nowrap;overflow:hidden}.synth-tabs{display:flex;gap:2px;border-bottom:1px solid var(--edge-faint)}.synth-tabs button{background:var(--surface-control);border:1px solid var(--edge-control);border-bottom:0;border-radius:var(--corner-control) var(--corner-control) 0 0;color:var(--text-plain);font:inherit;text-transform:inherit;letter-spacing:inherit;padding:6px 14px;cursor:pointer}.synth-tabs button:hover{border-color:var(--hover);color:var(--text)}.synth-tabs button.active{background:var(--on);border-color:var(--on);color:var(--text-on)}.synth-arp-panel .arp-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.synth-notes{display:flex;flex-direction:column;gap:10px}.step-tools,.drum-step-details{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}.step-tools label,.drum-step-details label{display:flex;align-items:center;gap:6px;color:var(--text-label)}.step-tools-name{color:var(--text);font-size:var(--type-label);min-width:8ch;font-variant-numeric:tabular-nums}.step-tools-controls .rack-readout{min-width:4ch;text-align:right}.step-tools-swap{flex:1 1 520px;min-width:0;display:grid;align-items:center}.step-tools-swap>*{grid-area:1 / 1;min-width:0}.step-tools-controls{display:flex;align-items:center;gap:8px 18px;flex-wrap:wrap}.step-tools-controls label{display:flex;align-items:center;gap:6px;color:var(--text-label)}.randomize-tool{display:inline-flex;align-items:center;gap:6px 10px;flex-wrap:wrap;min-width:0}.drum-grid{display:flex;flex-direction:column;gap:3px;min-width:0}.drum-grid-row{display:grid;grid-template-columns:64px 50px minmax(0,1fr);column-gap:6px;align-items:center}.drum-grid-row>.drum-cells{margin-left:6px}.drum-grid-row .rack-ms{justify-content:flex-end;gap:2px}.drum-name{height:24px;padding:0;background:var(--surface-control);border:1px solid var(--edge-control);border-radius:var(--corner-panel);color:var(--text-label);font:inherit;font-size:var(--type-caption);cursor:pointer;text-transform:uppercase;white-space:nowrap}.drum-name:hover{border-color:var(--hover);color:var(--text)}.drum-name[data-handed]{border-style:dashed}.drum-name-sample{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 3px}.rack-plate .handed-to{font-size:var(--type-caption);color:var(--text-faint);white-space:nowrap}.drum-grid-row.selected .drum-name{background:var(--drum-color);border-color:var(--drum-color);color:var(--text-on)}.drum-cells{display:grid;grid-template-columns:repeat(var(--bar, 16),minmax(0,1fr));gap:3px;min-width:0}.drum-step-indicator{text-align:center;font-family:var(--led-font);font-size:var(--type-caption);letter-spacing:0;color:var(--text-faint)}.drum-step-indicator.active{color:var(--on);text-shadow:0 0 6px var(--on)}.drum-step-btn{height:24px;min-width:0;padding:0;background:var(--surface-well);border:1px solid var(--edge-strong);border-radius:var(--corner-panel);cursor:pointer;color:var(--text-on);font-family:var(--led-font);font-size:var(--type-caption);letter-spacing:0;line-height:1}.drum-step-btn.beat{border-color:var(--edge-beat)}.drum-step-btn:hover{border-color:var(--hover)}.drum-step-btn.active{background:var(--drum-color);border-color:var(--drum-color)}.drum-step-btn.chance{border-style:dashed;border-color:var(--lit)}.drum-step-btn.current{box-shadow:0 0 0 1px var(--text)}.drum-step-btn.picked{box-shadow:inset 0 0 0 1px var(--gap),inset 0 0 0 3px var(--select),inset 0 0 0 4px var(--gap)}.drum-step-btn.picked.current{box-shadow:inset 0 0 0 1px var(--gap),inset 0 0 0 3px var(--select),inset 0 0 0 4px var(--gap),0 0 0 1px var(--text)}[data-drum=kick]{--drum-color: var(--drum-kick)}[data-drum=snare]{--drum-color: var(--drum-snare)}[data-drum=clap]{--drum-color: var(--drum-clap)}[data-drum=closedHH]{--drum-color: var(--drum-closed-hat)}[data-drum=openHH]{--drum-color: var(--drum-open-hat)}[data-drum=snare2]{--drum-color: var(--drum-low-tom)}[data-drum=ride]{--drum-color: var(--drum-high-tom)}[data-drum=crash]{--drum-color: var(--drum-cymbal)}[data-drum^=extra]{--drum-color: var(--drum-added)}.drum-add-row{grid-template-columns:auto;justify-items:start}.drum-top .drum-kit-select{width:100%;font-size:var(--type-caption)}.drum-top .rack-plate{gap:6px}.drum-strip,.drum-sends{border-top:1px solid var(--edge-faint);padding-top:10px;flex-wrap:wrap;gap:10px 18px}.drum-strip-name{width:var(--plate);flex:none;display:flex;align-items:center;gap:8px;color:var(--text);font-size:var(--type-body)}.drum-selected-dot{width:9px;height:9px;border-radius:50%;background:var(--drum-color);box-shadow:0 0 6px var(--drum-color);flex:none}.note-length-select{width:12ch}.bar-tabs{display:inline-flex;gap:3px;align-items:center}.bar-tabs .rack-btn{padding:3px 8px;min-width:0}.bar-tabs .rack-btn.playing:not(.on){border-color:var(--on);color:var(--on)}.drum-sound{display:flex;align-items:center;gap:6px}.drum-sound select{max-width:16ch}.drum-tools,.drum-strip-toggles{display:flex;gap:4px}.copy-to{display:inline-flex}.copy-to .rack-menu-list{left:0;right:auto}.transpose-tool{display:inline-flex;gap:3px;align-items:center}.transpose-tool-name{color:var(--text-label);margin-right:3px}.transpose-tool .rack-btn{padding:3px 8px;min-width:0}.drum-strip .rack-knobs,.drum-sends .rack-knobs{gap:10px;flex:1;justify-content:flex-start}.drum-send-name{width:var(--plate);flex:none;display:flex;align-items:center;gap:8px;color:var(--text);font-size:var(--type-body);line-height:1.15}.drum-sends .rack-knobs.drum-own-sends{flex:none;padding-right:18px;border-right:1px solid var(--edge-faint)}.drum-step-details input[type=range]{width:90px}.rack-dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000b3;display:grid;place-items:center;padding:16px}.rack-dialog{width:min(680px,100%);max-height:min(86vh,760px);display:flex;flex-direction:column;background:var(--surface-panel);border:1px solid var(--edge-strong);border-radius:var(--corner-control);box-shadow:var(--shadow-float)}.rack-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;border-bottom:1px solid var(--edge)}.rack-dialog-header h2{margin:0;font-size:var(--type-title);letter-spacing:.08em;color:var(--text)}.rack-dialog-body{padding:14px 16px 18px;overflow-y:auto;display:flex;flex-direction:column;gap:10px;font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-body);line-height:1.5;color:var(--text-plain)}.rack-dialog-body h3{margin:6px 0 0;font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text)}.rack-dialog-body p{margin:0}.rack-dialog-body .rack-btn,.app-alert .rack-btn,.live-people .rack-btn,.export-status .rack-btn,.guest-ask .rack-btn{font-family:var(--panel-font);text-transform:uppercase;letter-spacing:.06em;font-weight:600;font-size:var(--type-label)}.rack-dialog-actions{display:flex;justify-content:flex-end}.rack-dialog-actions.start{justify-content:flex-start}.rack-dialog-overlay.small{z-index:110;padding:16px;place-items:center}.rack-dialog-overlay.small .rack-dialog{font-family:var(--panel-font);font-weight:600;font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;width:min(440px,100%);height:auto;max-height:min(86vh,760px);padding:0;border:1px solid var(--edge-strong);border-radius:var(--corner-control)}.rack-dialog-overlay.small .rack-dialog-body{flex:none;gap:14px}.confirm-actions{gap:6px}.export-dialog{display:flex;flex-direction:column;gap:12px}.export-choice{border:1px solid var(--edge-faint);border-radius:var(--corner-panel);padding:8px 10px;margin:0;display:flex;flex-direction:column;gap:8px}.export-choice legend{font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-label);padding:0 4px}.export-choice label{color:var(--text);cursor:pointer}.export-choice label:has(input:disabled){color:var(--text-faint);cursor:not-allowed}.export-hint{display:block;margin-left:22px;color:var(--text-faint);font-size:var(--type-label)}.export-choice input{accent-color:var(--on)}.export-length,.export-progress{margin:0;color:var(--text-plain)}.recordings-name{display:flex;align-items:center;gap:8px}.recordings-name input{flex:1;min-width:0}.recordings-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:4px;max-height:50vh;overflow-y:auto}.recordings-row{display:flex;align-items:center;justify-content:space-between;gap:8px}.recordings-file{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recordings-row[data-clash] select{border-color:var(--danger)}.recordings-state{margin:0;min-height:1.4em;color:var(--text-faint)}.export-progress{min-height:2.6em;color:var(--text-faint)}.export-progress[data-phase=done]{color:var(--text)}.export-bar{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:8px;border:1px solid var(--edge-control);border-radius:var(--corner-control);background:var(--surface-well);overflow:hidden}.export-bar::-webkit-progress-bar{background:var(--surface-well)}.export-bar::-webkit-progress-value{background:var(--on);transition:width .2s}.export-bar::-moz-progress-bar{background:var(--on)}.export-status .export-bar{flex-basis:100%}.rack-dialog-body .confirm-actions .rack-btn.danger{border-color:var(--danger);color:var(--danger)}.rack-dialog-overlay.sheet{place-items:end center;padding:0 max(8px,env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))}.rack-dialog-overlay.sheet .rack-dialog{width:min(520px,100%);height:auto;max-height:none;padding:0;border:1px solid var(--on);border-radius:var(--corner-control)}.rack-dialog-overlay.sheet .rack-dialog-body{flex:none;gap:14px;padding:14px 12px 16px}.knob-sheet-value{align-self:center;min-width:6ch;padding:4px 16px;text-align:center;white-space:pre;background:var(--surface-display);border:1px solid var(--edge-deep);border-radius:var(--corner-panel);font-family:var(--led-font);font-size:var(--type-display);line-height:1.2;color:var(--value);text-shadow:0 0 8px var(--value-glow)}.knob-sheet-row{display:flex;align-items:center;gap:10px}.rack-dialog .knob-sheet-row .rack-btn{flex:none;width:48px;height:48px;padding:0;font-size:var(--type-display)}.knob-sheet-row input[type=range]{flex:1;min-width:0;height:48px;margin:0;background:none;-moz-appearance:none;appearance:none;-webkit-appearance:none;cursor:pointer;touch-action:none}.knob-sheet-row input[type=range]::-webkit-slider-runnable-track{height:10px;background:var(--surface-well);border:1px solid var(--edge-deep);border-radius:var(--corner-control)}.knob-sheet-row input[type=range]::-moz-range-track{height:10px;background:var(--surface-well);border:1px solid var(--edge-deep);border-radius:var(--corner-control)}.knob-sheet-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:38px;height:38px;margin-top:-15px;border-radius:50%;background:linear-gradient(var(--value),var(--value)) center 5px / 3px 11px no-repeat,radial-gradient(circle,#1a1a1a 0,#1a1a1a 58%,#2a2a2a 60%);border:2px solid var(--edge-strong);box-shadow:var(--shadow-control)}.knob-sheet-row input[type=range]::-moz-range-thumb{width:34px;height:34px;border-radius:50%;background:linear-gradient(var(--value),var(--value)) center 5px / 3px 11px no-repeat,radial-gradient(circle,#1a1a1a 0,#1a1a1a 58%,#2a2a2a 60%);border:2px solid var(--edge-strong);box-shadow:var(--shadow-control)}.knob-sheet-hint{margin:0;color:var(--text-label)}.rack-list-row.current{border-color:var(--on)}.rack-share{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--surface-control);border:1px solid var(--on);border-radius:var(--corner-panel)}.rack-share form{display:flex;gap:6px}.rack-share input{flex:1;min-width:0;background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);padding:7px 9px;font:inherit}.rack-list-row>span:first-child{display:flex;flex-direction:column}.rack-list-row small{color:var(--text-faint);font-size:var(--type-label)}.rack-family-pick{align-self:flex-start;margin:4px 0}.rack-list-row input{flex:1;min-width:0;background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);padding:5px 8px;font:inherit}.shared-page{display:grid;place-items:center;text-transform:none;letter-spacing:0;font-weight:500;font-size:var(--type-large)}.shared-card{width:min(620px,100%);padding:28px 30px;gap:16px;align-items:flex-start}.shared-card h1{margin:0;font-size:var(--type-hero);line-height:1.05;letter-spacing:.02em;color:var(--text);text-transform:uppercase;overflow-wrap:anywhere}.shared-eyebrow{font-size:var(--type-label);letter-spacing:.14em;text-transform:uppercase;color:var(--text-label);font-weight:600}.shared-facts{margin:0;font-family:var(--led-font);color:var(--text-label);font-size:var(--type-label)}.song-timeline{position:relative;display:flex;gap:3px;width:100%;box-sizing:border-box;overflow-x:auto;padding-bottom:2px}.song-timeline-entry{flex:1 0 0;min-width:56px;box-sizing:border-box;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;border:1px solid var(--edge-control);border-left:5px solid var(--scene-color, var(--edge-control));border-radius:var(--corner-control);padding:10px 8px;font:inherit;font-size:var(--type-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-plain);background:var(--surface-control)}button.song-timeline-entry{cursor:pointer}button.song-timeline-entry:hover{border-top-color:var(--hover);border-right-color:var(--hover);border-bottom-color:var(--hover)}.song-timeline-entry.playing{background:var(--on);color:var(--text-on)}.song-timeline-line{position:absolute;top:0;bottom:2px;width:2px;margin-left:-1px;background:var(--text);pointer-events:none}.song-player{display:flex;align-items:center;gap:12px;width:100%;box-sizing:border-box;padding:10px 12px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.song-player input[type=range]{flex:1;min-width:0;accent-color:var(--value)}.song-player-time{flex:none;font-family:var(--led-font);font-size:var(--type-large);letter-spacing:0;color:var(--value);white-space:nowrap}.shared-play{font-size:var(--type-title);padding:12px 26px}.shared-actions{display:flex;flex-wrap:wrap;gap:6px}.shared-card .rack-btn{text-transform:uppercase;letter-spacing:.06em;font-weight:600}.shared-card p{margin:0;font-family:var(--sentence-font);font-weight:400}.shared-eyebrow a{color:inherit}.shared-songs{list-style:none;margin:0;padding:0;width:100%;display:flex;flex-direction:column;gap:4px}.shared-songs a{color:var(--text);text-decoration:none}.shared-songs a:hover{border-color:var(--hover)}.shared-songs strong{overflow-wrap:anywhere}.rack-empty{color:var(--text-faint)}.import-notes{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:6px}.rack-unit.transport{position:sticky;top:0;z-index:40;box-shadow:var(--shadow-float)}.guest-unit .rack-plate{width:var(--plate);flex:none}.guest-status{flex:0 1 auto;min-width:0}.guest-frame{width:100%;height:560px;border:1px solid var(--edge-strong);border-radius:var(--corner-panel);background:#fff}.guest-ask{display:flex;flex-direction:column;gap:10px;align-items:flex-start;font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-body);color:var(--text-plain)}.guest-ask p{margin:0;max-width:70ch}.mixer-desk{--mixer-pan: 72px;display:flex;flex-wrap:wrap;align-items:stretch;gap:10px;min-width:0;overflow-x:auto;padding-bottom:6px}.mixer-group{flex:none;display:flex;flex-direction:column;gap:6px;padding:5px 6px 8px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.mixer-group-name{display:flex;align-items:baseline;gap:8px;color:var(--text-faint);font-size:var(--type-caption);white-space:nowrap}.mixer-group-name b{color:var(--text-label);font-size:var(--type-label);font-weight:700}.mixer-strips{display:flex;justify-content:center;gap:2px}.mixer-slot{display:contents}.mixer-slot.drag-from>.mixer-strip{opacity:.45}.mixer-slot.drag-over>.mixer-strip{box-shadow:inset 0 0 0 2px var(--hover)}.mixer-picture{flex:none;width:180px;display:flex;flex-direction:column;justify-content:center;padding-top:5px;border-top:3px solid var(--edge)}.mixer-picture .scope{flex-direction:column}.mixer-picture .scope-canvas{flex:none;height:120px}.mixer-picture .scope-modes{flex-direction:row;justify-content:center}.mixer-strip{flex:none;width:60px;display:flex;flex-direction:column;align-items:center;gap:6px;padding-top:5px;border-top:3px solid var(--edge)}.mixer-strip[data-drum]{border-top-color:var(--drum-color)}.mixer-name{width:100%;height:3.45em;overflow:hidden;display:flex;flex-direction:column;align-items:center;text-align:center;font-size:var(--type-caption);line-height:1.15;letter-spacing:.02em}.mixer-name b{color:var(--text);font-weight:700}.mixer-name span{max-width:100%;color:var(--text-faint);overflow:hidden;overflow-wrap:anywhere;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.mixer-strip[data-muted] .mixer-name b{color:var(--text-faint);text-decoration:line-through}.mixer-pan{min-height:var(--mixer-pan);display:flex;justify-content:center}.mixer-ms{min-height:24px;display:flex;gap:3px;justify-content:center}.mixer-ms .rack-btn{width:26px;height:24px;padding:0;border-radius:var(--corner-panel)}.account-button{flex:none;max-width:14ch;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.transport>.rack-row{flex-wrap:wrap;gap:5px}.account-tabs,.account-actions{display:flex;flex-wrap:wrap;gap:6px}.account-form{display:flex;flex-direction:column;gap:10px}.account-field{display:flex;flex-direction:column;gap:3px}.account-field>label{font-family:var(--panel-font);font-size:var(--type-label);letter-spacing:.12em;text-transform:uppercase;color:var(--text-label)}.account-field input{background:var(--surface-field);border:1px solid var(--edge-control);border-radius:var(--corner-control);color:var(--text);padding:7px 9px;font:inherit}.account-field small{color:var(--text-faint);font-size:var(--type-label)}.account-code{font-family:var(--led-font);font-size:clamp(12px,calc((100vw - 80px) / 21),20px);letter-spacing:.06em;white-space:nowrap;overflow-x:auto;color:var(--value);background:var(--surface-field);border:1px solid var(--edge-strong);border-radius:var(--corner-control);padding:12px 14px;-webkit-user-select:all;user-select:all}.account-mono{font-family:var(--led-font);letter-spacing:.04em}.account-check{display:flex;align-items:flex-start;gap:8px}.account-check input{margin-top:4px}.rack-dialog-body [role=alert]{color:var(--danger-word)}.rack-dialog-body [role=status]{color:var(--text-label)}.rack-list-row{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.rack-list-row>span:first-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.help-sections{display:flex;flex-direction:column;gap:12px}.help-sections section[hidden]{display:none}.help-sections h3{scroll-margin-top:8px}.help-search-row{display:flex;gap:8px}.help-search-row input{flex:1;min-width:0}.help-count{min-height:1.5em}.help-contents{display:flex;flex-wrap:wrap;gap:6px}.help-list{margin:4px 0 0;padding-left:20px;display:flex;flex-direction:column;gap:4px}.help-list-plain{list-style:none;padding-left:0}.scheme-choices{margin:0;padding:0;border:0;display:flex;flex-direction:column;gap:6px}.scheme-choices legend{margin-bottom:8px}.scheme-choice{display:flex;align-items:center;gap:12px;padding:8px 10px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel);cursor:pointer}.scheme-choice:has(input:checked){border-color:var(--on)}.scheme-choice input{accent-color:var(--on)}.scheme-sample{flex:none;display:flex;width:66px;height:34px;border:1px solid var(--edge-strong);border-radius:var(--corner-control);overflow:hidden;background:var(--surface-panel-top)}.scheme-sample i{flex:1}.scheme-sample i:nth-child(1){background:var(--surface-control)}.scheme-sample i:nth-child(2){background:var(--on)}.scheme-sample i:nth-child(3){margin:9px 6px;border-radius:var(--corner-control);background:var(--text)}.scheme-words{display:flex;flex-direction:column;gap:2px}.scheme-words strong{color:var(--text)}.scheme-words span{color:var(--text-plain)}.shortcut-groups{display:flex;flex-direction:column;gap:14px}.shortcut-groups h3{margin:0 0 6px}.shortcut-list{margin:0;display:flex;flex-direction:column;gap:4px}.shortcut-row{display:grid;grid-template-columns:minmax(150px,38%) 1fr;gap:10px;align-items:baseline;padding:6px 8px;background:var(--surface-inset);border:1px solid var(--edge-faint);border-radius:var(--corner-panel)}.shortcut-row dt{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.shortcut-row dd{margin:0;color:var(--text-plain)}.shortcut-keys{display:inline-flex;align-items:center;gap:3px;color:var(--text-faint)}.shortcut-keys>span{display:inline-flex;align-items:center;gap:3px}.shortcut-or{margin-right:5px;font-size:var(--type-caption)}.shortcut-row kbd{font-family:var(--panel-font);font-size:var(--type-label);font-weight:600;letter-spacing:.04em;color:var(--text);background:var(--surface-control);border:1px solid var(--edge-control);border-bottom-width:2px;border-radius:var(--corner-control);padding:1px 6px;min-width:1.4em;text-align:center}.tour-shade{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200}.tour-shade.dark{background:#000000b3}.tour-spot{position:fixed;z-index:201;box-sizing:border-box;pointer-events:none;border:2px solid var(--on);border-radius:var(--corner-control);box-shadow:0 0 0 200vmax #000000b3}.tour-card{position:fixed;z-index:202;box-sizing:border-box;width:min(340px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto;display:flex;flex-direction:column;gap:8px;padding:14px 16px;background:var(--surface-panel);border:1px solid var(--on);border-radius:var(--corner-control);box-shadow:var(--shadow-float)}.tour-count{font-size:var(--type-label);letter-spacing:.12em;color:var(--value)}.tour-card h2{margin:0;font-size:var(--type-title);letter-spacing:.08em;color:var(--text)}.tour-card p{margin:0;font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-body);line-height:1.5;color:var(--text-plain)}.tour-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin-top:4px}.tour-skip{margin-right:auto}@media(max-width:1059px),(max-width:960px)and (max-height:500px)and (orientation:landscape){.shortcut-row{grid-template-columns:1fr;gap:4px}.timeline{--timeline-head: 160px}.timeline-head{flex-wrap:wrap;align-content:center}.timeline-name{flex:1 1 100%}.rack-page{padding:0 0 calc(24px + env(safe-area-inset-bottom))}.rack-page.has-unit-bar{--unit-bar: 54px;padding-bottom:calc(var(--unit-bar) + 16px + env(safe-area-inset-bottom));scroll-padding-bottom:calc(var(--unit-bar) + 8px + env(safe-area-inset-bottom))}.rack{min-width:0;margin:0;gap:4px;border-radius:0;background-image:none;padding:0 max(4px,env(safe-area-inset-right)) 0 max(4px,env(safe-area-inset-left))}.rack-unit{padding:8px}.rack-row{flex-wrap:wrap;gap:8px}.rack-grow{display:none}.rack-plate,.drum-strip-name,.mode-toggle,.guest-unit .rack-plate,.rack-plate-box{width:auto}.rack-plate.helped,.rack-plate-box,.effects-unit .effects-panel-header{padding-right:44px}.rack-btn.unit-help{right:0;width:36px;height:36px;font-size:var(--type-label)}.rack-btn.unit-fold{top:0;right:40px;width:36px;height:36px;font-size:var(--type-label)}.rack-plate.helped:has(.unit-fold),.rack-plate-box:has(.unit-fold),.effects-unit .effects-panel-header{padding-right:84px}.rack-plate:has(.unit-fold)>span,.rack-plate-box:has(.unit-fold) .rack-plate>span{padding-right:0}.app-alert{flex-wrap:wrap}.rack-btn{padding:9px 12px;font-size:var(--type-label)}.rack-btn.go{padding:9px 16px}.rack-ms button{width:36px;height:36px;font-size:var(--type-label)}.rack-ms.small button{width:30px;height:30px;font-size:var(--type-label)}.rack select,.rack-dialog select{padding:8px 6px;font-size:var(--type-label)}.rack input[type=checkbox],.rack-dialog input[type=checkbox]{width:20px;height:20px}.scene-chip{padding:9px 12px}.mode-toggle button{flex:none;width:auto;height:36px;padding:0 12px;font-size:var(--type-label)}.song-row .song-chain{flex-basis:100%}.song-block-name{padding:9px 8px 9px 10px}.song-block-tools button{width:32px}.synth-tabs{flex-wrap:wrap}.synth-tabs button{padding:9px 12px}.bar-tabs .rack-btn{padding:8px 12px}.transpose-tool .rack-btn{padding:8px 12px;min-width:44px}.step-tools input[type=range],.drum-step-details input[type=range]{width:130px;height:28px}.rack-unit.transport{padding-top:max(6px,env(safe-area-inset-top));padding-bottom:6px}.transport>.rack-row{flex-wrap:nowrap;gap:6px}.transport .tempo-display-group,.transport .tempo-led-input{flex:none}.transport .tempo-led{padding:3px 8px}.transport .play-all-button{flex:1 1 0;min-width:0;min-height:42px;padding:9px 8px;overflow:hidden;text-overflow:ellipsis}.bar-icon{flex:none;display:inline-flex;align-items:center;justify-content:center;width:44px;min-height:42px;padding:0}.bar-icon svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.bar-history{display:none}@media(min-width:375px){.bar-history{display:inline-flex}.more-group.more-history{display:none}}.transport .rack-dialog-overlay.sheet .rack-dialog{max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))}.transport .rack-dialog-overlay.sheet .rack-dialog-body{flex:0 1 auto;min-height:0;overflow-y:auto;gap:12px}.more-project{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 12px}.more-project .project-name{max-width:100%;padding:6px 0;font-family:var(--panel-font);font-weight:600;font-size:var(--type-title)}.more-project .save-state.full{margin-left:0}.more-group,.more-rows,.more-hint{padding-top:12px;border-top:1px solid var(--edge)}.more-group{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.more-gap{flex:1}.more-rows{display:flex;flex-direction:column;gap:8px}.more-row{display:flex;align-items:center;gap:12px}.more-row>.rack-btn,.more-row>.rack-menu{flex:none;box-sizing:border-box;width:104px;max-width:none}.more-row>.rack-menu>.rack-btn{box-sizing:border-box;width:100%}.more-group .rack-btn,.more-row .rack-btn{min-height:44px}.more-row>span{flex:1;min-width:0;font-size:var(--type-label);line-height:1.3;color:var(--text-faint)}.more-hint{font-size:var(--type-label);color:var(--text-faint)}.rack-plate b,.rack-plate h1{font-size:var(--type-large)}.tempo-led-value{font-size:var(--type-display)}.rack-menu-list{position:fixed;left:8px;right:8px;top:auto;bottom:calc(8px + env(safe-area-inset-bottom));max-height:70dvh;overflow-y:auto;box-shadow:0 0 0 100vmax #0000008c,var(--shadow-float)}.rack-menu.nested>.rack-menu-list,.copy-to .rack-menu-list,.effects-block .rack-menu-list{left:8px;right:8px;z-index:45}.rack-menu-list button{padding:13px 12px;font-size:var(--type-body)}.rack-menu-list button[data-hint]:after{content:attr(data-hint);display:block;margin-top:3px;font-size:var(--type-label);line-height:1.3;text-transform:none;letter-spacing:0;white-space:normal;color:var(--text-faint)}.rack-menu-list button[data-hint]:hover:after,.rack-menu-list button[data-hint]:focus-visible:after{color:inherit}.rack-menu-list button.danger[data-hint]:not(:hover):not(:focus-visible):after{color:var(--text-faint)}.synth-module>.rack-row{grid-template-columns:minmax(0,1fr) auto;gap:8px}.synth-module>.rack-row>.step-row,.synth-module>.rack-row>.rack-knobs{grid-column:1 / -1}.synth-module>.rack-row>.rack-knobs{justify-content:space-between}.step-row,.auto-strip{grid-template-columns:repeat(var(--across, 8),minmax(0,1fr))!important;gap:4px}.step-cell{height:44px;font-size:var(--type-label)}.steps-32 .step-cell,.step-row.fine .step-cell{height:36px;font-size:var(--type-caption)}.synth-module>.auto-row>.auto-pick,.synth-module>.auto-row>.auto-strip,.synth-module>.auto-row>.auto-empty,.synth-module>.auto-row>.auto-tools{grid-column:1 / -1}.auto-cell{height:44px}.auto-strip.fine .auto-cell{height:36px}.auto-pick select{min-height:44px}.auto-tools{justify-content:flex-start}.auto-tools .rack-btn{padding:8px 12px;min-width:44px;min-height:44px}.auto-readout{margin-left:auto}.rack .synth-controls-panel{padding:8px}.rack .synth-header{flex-wrap:wrap;gap:8px}.rack .synth-levels{flex-wrap:nowrap}.rack .synth-controls-panel .synth-levels button{min-width:0;padding:9px 16px}.rack .preset-name-input{width:110px}.step-tools-swap{flex-basis:100%}.rack .keyboard-container{--key-h: clamp(110px, calc(100dvh - 215px) , 170px);padding:6px 0 0;background:none;border:0}.rack .keyboard-header{justify-content:flex-start;gap:6px;margin-bottom:6px}.rack .keyboard-header h2{margin-right:auto}.rack .keyboard-reach{min-width:44px;min-height:44px;padding:0;font-size:var(--type-large)}.rack .keyboard-range{min-width:9ch;text-align:center;font-family:var(--led-font);font-size:var(--type-large);letter-spacing:0;color:var(--value)}.rack .keyboard{overflow:hidden;padding-bottom:8px;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.rack .octave{flex:0 0 100%}@media(min-width:660px){.rack .octave{flex-basis:50%}}.rack .key.white{height:var(--key-h)}.rack .black-keys,.rack .key.black{height:calc(var(--key-h) * .6)}.rack .key.black{width:calc(100% / 7 * .72);margin-left:calc(100% / 7 * -.085)}.rack .key-label{font-size:var(--type-label)}.rack .piano-roll{padding:6px 0 0;background:none;border:0}.piano-roll-header{flex-wrap:wrap;gap:6px}.piano-roll-header h2{margin-right:auto}.piano-roll-hint{order:1;flex:0 0 100%;margin:0;text-align:left;font-size:var(--type-label)}.piano-roll-pager{display:flex;align-items:center;gap:4px}.piano-roll-pager .rack-btn,.rack .piano-roll-action{min-width:44px;min-height:44px;padding:0 10px;font-size:var(--type-body)}.piano-roll-window{min-width:6ch;padding:5px 6px;text-align:center;background:var(--surface-display);border:1px solid var(--edge-deep);border-radius:var(--corner-panel);font-family:var(--led-font);font-size:var(--type-large);letter-spacing:0;color:var(--value)}.piano-roll-grid{--roll-label: 46px;grid-template-columns:var(--roll-label) repeat(var(--roll-columns),calc((100% - var(--roll-label) - var(--roll-fit) * 1px) / var(--roll-fit)))!important;max-height:max(230px,calc(100dvh - 215px));overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;scroll-padding:30px 0 0 var(--roll-label);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.piano-roll-cell,.piano-roll-note-label{min-height:44px}.piano-roll-corner,.piano-roll-step-header{min-height:28px;position:sticky;top:0;z-index:2;font-size:var(--type-label)}.piano-roll-note-label{position:sticky;left:0;z-index:1;font-size:var(--type-label)}.piano-roll-corner{left:0;z-index:3;background:var(--surface-control)}.piano-roll-resize{width:20px;background:linear-gradient(90deg,#fff3 calc(100% - 6px),#fffc calc(100% - 6px))}.drum-top{grid-template-columns:minmax(0,1fr)}.drum-top .rack-plate{flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px}.drum-top .drum-kit-select{width:auto;flex:1;min-width:0;font-size:var(--type-label)}.drum-top>.rack-knobs{justify-content:flex-start;flex-wrap:wrap}.drum-tools{flex-wrap:wrap}.drum-grid{gap:6px}.drum-grid-row{grid-template-columns:52px 64px minmax(0,1fr);align-items:stretch}.drum-grid-row .rack-ms{align-items:center}.drum-cells{grid-template-columns:repeat(var(--across, 8),minmax(0,1fr));gap:4px}.drum-name{height:auto;min-height:30px;font-size:var(--type-label);white-space:normal;line-height:1.1;padding:2px;overflow-wrap:anywhere}.drum-step-btn{height:30px;font-size:var(--type-caption)}.drum-step-indicator{font-size:var(--type-caption)}.drum-sound select{max-width:60vw}.drum-send-name{width:100%}.drum-sends .rack-knobs.drum-own-sends{border-right:0;padding-right:0;flex:1 1 100%}.effects-unit .effects-panel{grid-template-columns:minmax(0,1fr)}.effects-unit .effects-panel-header{flex-direction:row;flex-wrap:wrap;align-items:center;gap:12px}.effects-unit .effects-grid{grid-template-columns:minmax(0,1fr)}.effects-unit .effects-block{grid-column:1 / -1}.effects-unit .effects-knobs{flex-wrap:wrap}.rack[data-shown=song] [data-unit]:not([data-unit=song]):not([data-unit=guests]),.rack[data-shown=synth-1] [data-unit]:not([data-unit=synth-1]):not([data-unit=guests]),.rack[data-shown=synth-2] [data-unit]:not([data-unit=synth-2]):not([data-unit=guests]),.rack[data-shown=synth-3] [data-unit]:not([data-unit=synth-3]):not([data-unit=add-lane]):not([data-unit=guests]),.rack[data-shown=synth-4] [data-unit]:not([data-unit=synth-4]):not([data-unit=guests]),.rack[data-shown=synth-5] [data-unit]:not([data-unit=synth-5]):not([data-unit=guests]),.rack[data-shown=guests] [data-unit]:not([data-unit=guests]),.rack[data-shown=drums] [data-unit]:not([data-unit=drums]):not([data-unit=guests]),.rack[data-shown=mixer] [data-unit]:not([data-unit=mixer]):not([data-unit=guests]),.rack[data-shown=effects] [data-unit]:not([data-unit=effects]):not([data-unit=guests]){display:none}.rack[data-shown]:not([data-shown=guests]) [data-unit=guests]{position:fixed;top:0;left:0;right:0;clip-path:inset(50%);pointer-events:none}.rack [data-unit]:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.unit-bar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;overflow-x:auto;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:var(--surface-panel);border-top:1px solid var(--edge-strong);box-shadow:0 -6px 14px #00000073}.unit-tab{flex:1 1 0;min-width:0;height:var(--unit-bar);padding:0 2px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;background:none;border:0;border-right:1px solid var(--edge-rail);border-radius:0;color:var(--text-faint);font:inherit;font-size:var(--type-label);text-transform:inherit;letter-spacing:.04em;white-space:nowrap;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:manipulation}.unit-tab:last-child{border-right:0}@media(max-width:400px){.unit-tab{font-size:var(--type-caption);letter-spacing:0}}.unit-tab-led{width:7px;height:7px;border-radius:50%;background:var(--lamp-off);border:1px solid var(--edge-deep)}.unit-tab.empty .unit-tab-name{font-style:italic}.unit-tab[aria-current]{background:var(--surface-well);color:var(--text);box-shadow:inset 0 2px 0 var(--on)}.unit-tab-led:not([data-lamp]){visibility:hidden}.unit-tab-led.lit{background:var(--on);box-shadow:var(--shadow-lamp)}.unit-tab[data-muted] .unit-tab-name{color:var(--text-faint);text-decoration:line-through}.unit-tab[data-muted] .unit-tab-led{background:none;border-color:var(--text-faint)}.unit-bar .unit-tab:focus-visible{outline-offset:-3px;box-shadow:inset 0 0 0 5px var(--gap)}.unit-bar .unit-tab[aria-current]:focus-visible{box-shadow:inset 0 2px 0 var(--on),inset 0 0 0 5px var(--gap)}.rack .knob-small .knob-svg{width:44px;height:44px}.rack .knob-value-input,.rack .drum-knob-value-input,.rack .fader-value{font-size:var(--type-label);padding:3px 2px}.mixer-desk{--mixer-pan: 90px;flex-wrap:nowrap}.mixer-strip{width:68px}.rack .fader-slot{width:44px}.mixer-ms{flex-direction:column;gap:6px;min-height:94px}.mixer-ms .rack-btn{width:44px;height:44px}.rack-dialog-overlay{padding:0;place-items:stretch}.rack-dialog{box-sizing:border-box;width:100%;height:100dvh;max-height:none;border:0;border-radius:0;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.rack-dialog-body{flex:1}.rack-dialog-header .rack-btn{padding:10px 14px;min-width:44px;min-height:44px}.rack-dialog-body .rack-btn{font-size:var(--type-label)}.help-contents .rack-btn,.help-search-row .rack-btn{min-height:44px}.rack-list-row{flex-wrap:wrap}.rack-list-row>span:first-child,.rack-list-row>input{flex:1 1 100%}.shared-card{padding:20px 16px}.shared-card h1{font-size:var(--type-display)}}@media(max-width:960px)and (max-height:500px)and (orientation:landscape){.rack-page.has-unit-bar{--unit-bar: 44px}.unit-tab{flex-direction:row;gap:6px}.unit-tab-led:not([data-lamp]){display:none}.piano-roll-header{flex-wrap:nowrap}.piano-roll-header h2{margin-right:0}.piano-roll-hint{order:0;flex:1 1 0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.piano-roll-grid{max-height:max(180px,calc(100dvh - 150px))}}@media(min-width:700px)and (max-width:960px)and (max-height:500px)and (orientation:landscape){.step-row,.auto-strip{grid-template-columns:repeat(var(--bar, 16),minmax(0,1fr))!important}}@media(min-width:1800px){.rack{max-width:2400px;display:grid;grid-template-columns:minmax(1060px,1400px) minmax(600px,1fr);column-gap:5px;align-items:start}.rack>:not(.rack-main):not(.rack-side){grid-column:1 / -1}.rack-main,.rack-side{display:flex;flex-direction:column;gap:5px;min-width:0}.rack-main{grid-column:1}.rack-side{grid-column:2;position:sticky;top:calc(var(--transport-height, 100px) + 5px);max-height:calc(100vh - var(--transport-height, 100px) - 60px);max-height:calc(100dvh - var(--transport-height, 100px) - 60px);overflow-y:auto;overscroll-behavior:contain}}@media(prefers-reduced-motion:reduce){.rack-page *{transition:none!important;scroll-behavior:auto!important}}.guest-confirm{display:inline-flex;gap:4px}.guest-trouble{margin:0;padding:6px 10px;border:1px solid var(--danger);border-radius:var(--corner-panel);color:var(--danger-word);font-family:var(--sentence-font);text-transform:none;letter-spacing:0;font-weight:400;font-size:var(--type-label)}.kids{position:fixed;top:0;right:0;bottom:0;left:0;box-sizing:border-box;overflow:hidden;display:flex;flex-direction:column;gap:12px;padding:max(12px,env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) max(12px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));background:#1b1f3b;color:#fff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;touch-action:none}.kids button{font-family:inherit;color:inherit;border:0;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent}.kids button:focus-visible{outline:4px solid #fff;outline-offset:3px}.kids-top,.kids-bottom{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px}.kids-bottom{justify-content:center;gap:24px}.kids-screens{display:flex;gap:10px}.kids-sounds{order:1;flex:1 0 100%;display:flex;justify-content:space-between;gap:clamp(4px,2vw,10px)}.kids-screen{display:grid;place-items:center;width:clamp(52px,15vw,72px);height:clamp(52px,15vw,72px);border-radius:18px;background:#2f3566;box-shadow:0 4px #00000059}.kids-screen svg{width:68%;height:68%}.kids-screen.on{background:#fff;box-shadow:0 0 0 4px #ffd84d,0 4px #00000059}.kids-screen:active{transform:translateY(3px)}.kids-round{width:clamp(44px,13vw,64px);height:clamp(44px,13vw,64px);border-radius:50%;font-size:clamp(22px,6.5vw,32px);line-height:1;background:#2f3566;box-shadow:0 4px #00000059}.kids-round.on{background:#fff;box-shadow:0 0 0 4px #ffd84d,0 4px #00000059}.kids-round:active{transform:translateY(3px);box-shadow:0 1px #00000059}.kids-pads{flex:1 1 0;min-height:0;align-self:center;width:min(100%,720px);display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:12px}.kids-pad{min-width:64px;min-height:64px;border-radius:24px;font-size:clamp(36px,10vmin,88px);line-height:1;box-shadow:0 6px #0006}.kids-pad:active,.kids-pad.lit{transform:translateY(4px);box-shadow:0 2px #0006;filter:brightness(1.3)}.kids-dots{display:flex;justify-content:center;align-items:center;gap:6px;height:18px}.kids-dots span{width:10px;height:10px;border-radius:50%;background:#2f3566}.kids-dots span.on{background:#8f97d8}.kids-dots span.now{width:16px;height:16px;background:#fff}.kids-grid{flex:1 1 0;min-height:0;align-self:center;width:min(100%,960px);display:grid;grid-template-columns:repeat(9,minmax(0,1fr));grid-template-rows:repeat(4,minmax(0,1fr));gap:8px}.kids-row,.kids-cell{min-width:0;min-height:0;border-radius:16px;font-size:clamp(22px,6vmin,52px);line-height:1}.kids-row{background:var(--pad);box-shadow:0 4px #0006}.kids-row:active,.kids-row.lit{transform:translateY(3px);box-shadow:0 1px #0006;filter:brightness(1.3)}.kids-cell{background:#3a4178;box-shadow:inset 0 4px #0000004d}.kids-cell.beat{background:#4b5496}.kids-cell.on{background:var(--pad);box-shadow:0 4px #0006}.kids-cell.now{box-shadow:inset 0 4px #0000004d,0 0 0 3px #fff}.kids-cell.on.now{transform:translateY(3px);box-shadow:0 1px #0006,0 0 0 3px #fff;filter:brightness(1.3)}.kids-play{width:96px;height:96px;border-radius:50%;font-size:44px;line-height:1;background:#46a758;box-shadow:0 6px #0006}.kids-play.on{background:#e5484d}.kids-play:active{transform:translateY(4px);box-shadow:0 2px #0006}.kids-leave{order:0;position:relative;overflow:hidden;min-width:96px;min-height:44px;padding:0 14px;border-radius:22px;background:#2f3566;font-size:13px;color:#cfd3ff;touch-action:none}.kids-leave-fill{position:absolute;inset:0 auto 0 0;width:0;background:#ffffff59;transition:width linear}.kids-leave.holding .kids-leave-fill{width:100%}.kids-leave-text{position:relative}@media(min-aspect-ratio:3/5){.kids-pads{grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(3,minmax(0,1fr));width:min(100%,960px)}}@media(orientation:portrait){.kids-grid{grid-auto-flow:column;grid-template-columns:repeat(4,minmax(0,1fr));grid-template-rows:repeat(9,minmax(0,1fr));gap:6px}}@media(min-width:760px){.kids-sounds{order:0;flex:0 1 auto;justify-content:flex-start;gap:10px}}@media(max-height:640px){.kids{gap:8px}.kids-play{width:80px;height:80px;font-size:38px}.kids-pads{gap:8px}}@media(max-height:520px){.kids-round{width:52px;height:52px;font-size:26px}.kids-screen{width:52px;height:52px}.kids-play{width:72px;height:72px;font-size:34px}}@media(max-height:520px)and (orientation:landscape){.kids-top{flex-wrap:nowrap}.kids-sounds{order:0;flex:0 1 auto;gap:6px}.kids-screen{width:48px;height:48px}.kids-round{width:46px;height:46px;font-size:24px}.kids-play{width:56px;height:56px;font-size:28px}.kids-pads{grid-template-columns:repeat(6,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));width:min(100%,960px)}.kids-pad{min-height:0;font-size:clamp(30px,14vh,56px)}}@media(prefers-reduced-motion:reduce){.kids-pad:active,.kids-pad.lit,.kids-round:active,.kids-play:active,.kids-screen:active,.kids-row:active,.kids-row.lit,.kids-cell.on.now{transform:none}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#1a1a1a;color:#fff}#root{width:100%;min-height:100vh}
