:root{--radius: 16px;--mono: ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--sans: system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--fs-2xs: 9px;--fs-xs: 10px;--fs-sm: 11px;--fs-md: 12px;--fs-lg: 13px;--fs-base: 15px;--fs-tracker: 13px;--fs-title: 21px;--accent: #ff5a1f;--accent-fg: #1b1209;--lcd: #131310;--lcd-border: #070706;--lcd-text: #ffb24a;--lcd-dim: rgba(255, 226, 188, .5);--c1: #ff8a5c;--c2: #6fd8ff;--c3: #ffd166;--c4: #a6ff7a}[data-theme=dark]{--bg: #15130f;--surface: #1e1b16;--surface-2: #26221b;--surface-3: #302b23;--border: #3b342a;--border-strong: #544a3b;--fg: #f4ecdf;--muted: #a89c88;--button-shadow: #0b0a08;--panel-shadow: 0 10px 30px rgba(0, 0, 0, .35)}[data-theme=light]{--bg: #e9e1d2;--surface: #f8f3e9;--surface-2: #efe8db;--surface-3: #e4dbcb;--border: #c8bda9;--border-strong: #a99b82;--fg: #241f17;--muted: #6f6453;--button-shadow: #b9ac96;--panel-shadow: 0 10px 24px rgba(70, 58, 40, .16)}[data-palette=nord][data-theme=dark]{--bg: #242933;--surface: #2e3440;--surface-2: #3b4252;--surface-3: #434c5e;--border: #4c566a;--border-strong: #5f6f88;--fg: #eceff4;--muted: #a3abbd;--accent: #88c0d0;--accent-fg: #22303b;--button-shadow: #1b1f27;--c1: #bf616a;--c2: #88c0d0;--c3: #ebcb8b;--c4: #a3be8c}[data-palette=nord][data-theme=light]{--bg: #e5e9f0;--surface: #f8fafc;--surface-2: #eceff4;--surface-3: #dfe5ee;--border: #c2cad8;--border-strong: #a8b5c6;--fg: #2e3440;--muted: #5e6779;--accent: #5e81ac;--accent-fg: #ffffff;--button-shadow: #c0c9d6;--c1: #bf616a;--c2: #5e81ac;--c3: #b58a20;--c4: #4f8a55}[data-palette=gruvbox][data-theme=dark]{--bg: #1d2021;--surface: #282828;--surface-2: #32302f;--surface-3: #3c3836;--border: #504945;--border-strong: #665c54;--fg: #ebdbb2;--muted: #a89984;--accent: #fe8019;--accent-fg: #1d2021;--button-shadow: #100f0f;--c1: #fb4934;--c2: #83a598;--c3: #fabd2f;--c4: #b8bb26}[data-palette=gruvbox][data-theme=light]{--bg: #f2e5bc;--surface: #fbf1c7;--surface-2: #ebdbb2;--surface-3: #e0cf9f;--border: #d5c4a1;--border-strong: #bdae93;--fg: #3c3836;--muted: #7c6f64;--accent: #d65d0e;--accent-fg: #ffffff;--button-shadow: #c3b18a;--c1: #af3a03;--c2: #076678;--c3: #b57614;--c4: #79740e}[data-palette=solarized][data-theme=dark]{--bg: #00212b;--surface: #002b36;--surface-2: #073642;--surface-3: #0b404c;--border: #1c515c;--border-strong: #2b6570;--fg: #eee8d5;--muted: #93a1a1;--accent: #b58900;--accent-fg: #002b36;--button-shadow: #00161c;--c1: #dc322f;--c2: #268bd2;--c3: #b58900;--c4: #859900}[data-palette=solarized][data-theme=light]{--bg: #fdf6e3;--surface: #fffaf0;--surface-2: #eee8d5;--surface-3: #e6dfc8;--border: #d5cdb4;--border-strong: #b9b096;--fg: #073642;--muted: #657b83;--accent: #cb4b16;--accent-fg: #ffffff;--button-shadow: #cfc6ac;--c1: #dc322f;--c2: #268bd2;--c3: #b58900;--c4: #859900}[data-palette=dracula][data-theme=dark]{--bg: #21222c;--surface: #282a36;--surface-2: #303341;--surface-3: #383a4a;--border: #44475a;--border-strong: #6272a4;--fg: #f8f8f2;--muted: #a4a8bd;--accent: #bd93f9;--accent-fg: #21222c;--button-shadow: #14151c;--c1: #ff5555;--c2: #8be9fd;--c3: #f1fa8c;--c4: #50fa7b}[data-palette=dracula][data-theme=light]{--bg: #efeaf5;--surface: #faf8fc;--surface-2: #f0ecf6;--surface-3: #e4ddef;--border: #d6cfe3;--border-strong: #b4a8c8;--fg: #2b2b36;--muted: #6c6780;--accent: #7c4dbc;--accent-fg: #ffffff;--button-shadow: #cbc0dc;--c1: #c53030;--c2: #1f7f9c;--c3: #9a7c00;--c4: #2f8a4a}[data-palette=catppuccin][data-theme=dark]{--bg: #181825;--surface: #1e1e2e;--surface-2: #252537;--surface-3: #313244;--border: #45475a;--border-strong: #585b70;--fg: #cdd6f4;--muted: #a6adc8;--accent: #f5a97f;--accent-fg: #1e1e2e;--button-shadow: #101018;--c1: #f38ba8;--c2: #89b4fa;--c3: #f9e2af;--c4: #a6e3a1}[data-palette=catppuccin][data-theme=light]{--bg: #e6e9ef;--surface: #f7f8fb;--surface-2: #eff1f5;--surface-3: #e2e5ec;--border: #ccd0da;--border-strong: #acb0be;--fg: #4c4f69;--muted: #7c7f93;--accent: #fe640b;--accent-fg: #ffffff;--button-shadow: #c5c9d3;--c1: #d20f39;--c2: #1e66f5;--c3: #9c6b00;--c4: #2f8f4e}[data-palette=tokyonight][data-theme=dark]{--bg: #16161e;--surface: #1a1b26;--surface-2: #24283b;--surface-3: #292e42;--border: #3b4261;--border-strong: #545c7e;--fg: #c0caf5;--muted: #7f87b0;--accent: #7aa2f7;--accent-fg: #16161e;--button-shadow: #0f0f16;--panel-shadow: 0 10px 30px rgba(0, 0, 0, .4);--c1: #f7768e;--c2: #7dcfff;--c3: #e0af68;--c4: #9ece6a}[data-palette=tokyonight][data-theme=light]{--bg: #e6e7ed;--surface: #f7f8fc;--surface-2: #ececf4;--surface-3: #dfe1ea;--border: #c4c8d4;--border-strong: #a8adbc;--fg: #343b58;--muted: #6a6f94;--accent: #2e7de9;--accent-fg: #ffffff;--button-shadow: #c0c3d0;--c1: #f52a65;--c2: #007197;--c3: #8c6c3e;--c4: #587539}[data-palette=solarized-osaka][data-theme=dark]{--bg: #00141a;--surface: #001d26;--surface-2: #002d38;--surface-3: #073541;--border: #0e4652;--border-strong: #1c5a66;--fg: #b6c2c2;--muted: #647a82;--accent: #ca4c16;--accent-fg: #00141a;--button-shadow: #000a0d;--panel-shadow: 0 10px 30px rgba(0, 0, 0, .45);--c1: #dc322f;--c2: #2aa198;--c3: #b58900;--c4: #859900}[data-palette=solarized-osaka][data-theme=light]{--bg: #fdf6e2;--surface: #fffaf0;--surface-2: #eee8d5;--surface-3: #e6dfc8;--border: #d5cdb4;--border-strong: #b9b096;--fg: #073642;--muted: #657b83;--accent: #cb4b16;--accent-fg: #ffffff;--button-shadow: #cfc6ac;--c1: #dc322f;--c2: #007a8a;--c3: #b58900;--c4: #859900}*{box-sizing:border-box}[hidden]{display:none!important}html,body{margin:0;min-height:100%}body{background:var(--bg);color:var(--fg);font-family:var(--sans);font-size:var(--fs-base);line-height:1.35;-webkit-font-smoothing:antialiased;padding-bottom:28px}body:before{content:"";position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 15% -10%,rgba(255,90,31,.12),transparent 45%),radial-gradient(circle at 90% 110%,rgba(95,212,255,.08),transparent 45%)}button,input,select{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}#app{width:min(1480px,100%);margin:0 auto;padding:18px 18px 8px;display:flex;flex-direction:column;gap:14px}.topbar{display:flex;flex-wrap:wrap;align-items:center;gap:12px 14px;padding:12px 16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--panel-shadow)}.brand{display:flex;align-items:center;gap:11px;margin-right:8px}.brand-mark{width:38px;height:38px;border-radius:12px;background:var(--accent);position:relative;box-shadow:inset 0 -3px #0000002e,0 3px 0 var(--button-shadow);flex:none}.brand-mark:after{content:"";position:absolute;inset:9px;border:2.5px solid #1b1209;border-radius:50%}.brand-mark:before{content:"";position:absolute;inset:16px;background:#1b1209;border-radius:50%}.brand-text h1{margin:0;font-size:var(--fs-title);letter-spacing:.16em;font-weight:800}.brand-text p{margin:1px 0 0;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.09em;text-transform:uppercase}.topgroup{display:flex;flex-direction:column;gap:4px}.micro-label{font-size:var(--fs-2xs);letter-spacing:.12em;color:var(--muted);font-weight:700}.lcd-value{font-family:var(--mono);font-size:16px;font-variant-numeric:tabular-nums;color:var(--fg)}.tempo-row{display:flex;align-items:center;gap:4px}.swing-group{align-items:flex-start}.swing-row{display:flex;align-items:center;gap:8px}.swing-group input{width:78px}.swing-group output,.tempo-group output{min-width:30px;text-align:center}.transport-group{flex-direction:row;gap:6px}.transport-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-width:58px;padding:7px 10px;border-radius:9px;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--fg);font-size:var(--fs-2xs);letter-spacing:.1em;font-weight:700;cursor:pointer;box-shadow:0 3px 0 var(--button-shadow);transition:transform .06s ease,box-shadow .06s ease}.transport-btn .icon{font-size:13px;line-height:1}.transport-btn:hover{background:var(--surface-3)}.transport-btn:active{transform:translateY(2px);box-shadow:0 1px 0 var(--button-shadow)}.transport-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.transport-btn.rec.on{background:#e63a3a;border-color:#e63a3a;color:#fff}.transport-btn.small{flex-direction:row;gap:6px;min-width:0;font-size:var(--fs-xs);padding:7px 9px}.transport-btn:disabled{opacity:.55;cursor:default;transform:none}.master-row{display:flex;align-items:center;gap:8px}.fader{display:flex;align-items:center;gap:5px;height:64px}.fader-slot{position:relative;display:block;width:24px;height:64px;flex:none}.fader-input{position:absolute;left:50%;top:50%;width:64px;height:24px;margin:0;transform:translate(-50%,-50%) rotate(-90deg);cursor:pointer}.fader-value{font-family:var(--mono);font-size:var(--fs-sm);color:var(--fg);min-width:34px;text-align:right}.fader-unit{font-size:var(--fs-2xs);color:var(--muted);letter-spacing:.05em}.meter{display:flex;align-items:flex-end;gap:3px;height:24px;width:22px}.meter i{flex:1;height:100%;border-radius:2px;transform-origin:bottom;transform:scaleY(var(--level, 0));background:linear-gradient(to top,var(--c4) 0%,var(--c3) 55%,var(--accent) 88%);transition:transform .05s linear}.meter i:last-child{transform:scaleY(calc(var(--level, 0) * .82));opacity:.7}.pattern-buttons{display:flex;gap:3px}.pattern-btn{width:25px;height:25px;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);font-family:var(--mono);font-size:var(--fs-sm);font-weight:700;cursor:pointer;box-shadow:0 2px 0 var(--button-shadow)}.pattern-btn.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.utility-group{flex-direction:row;align-items:center;gap:8px;margin-left:auto}.theme-switch,.lang-switch,.mode-switch,.palette-picker{display:flex;gap:2px;padding:2px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}.palette-picker{gap:2px}.palette-picker select{max-width:118px;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 4px;font-size:var(--fs-sm)}.theme-switch button{width:27px;height:25px;display:grid;place-items:center;border:0;border-radius:6px;background:transparent;color:var(--muted);cursor:pointer}.theme-switch button[aria-pressed=true]{background:var(--surface);color:var(--accent);box-shadow:inset 0 0 0 1px var(--border)}.theme-switch svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}.lang-switch button,.mode-switch button{padding:3px 7px;border:0;border-radius:5px;background:transparent;color:var(--muted);font-size:var(--fs-xs);font-weight:700;letter-spacing:.05em;cursor:pointer}.lang-switch button[aria-pressed=true],.mode-switch button[aria-pressed=true]{background:var(--surface);color:var(--fg);box-shadow:inset 0 0 0 1px var(--border)}.mode-switch button[aria-pressed=true]{color:var(--accent)}.layout-control{display:flex;align-items:center;gap:5px}.layout-switch button{min-width:42px}.workspace{display:grid;grid-template-columns:minmax(0,1fr) 352px;gap:14px;align-items:stretch}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--panel-shadow);padding:12px 13px;display:flex;flex-direction:column;gap:10px;min-width:0}.panel-head{display:flex;align-items:center;gap:8px;min-height:20px;flex-wrap:wrap}.panel-head h2{margin:0;font-size:var(--fs-sm);letter-spacing:.15em;color:var(--muted);font-weight:800}.status{margin-left:auto;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.06em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:65%}.help-btn{width:24px;height:24px;padding:0;margin-left:2px}.chip{border:1px solid var(--border);background:var(--surface-2);color:var(--fg);border-radius:7px;padding:4px 8px;font-size:var(--fs-xs);font-weight:700;letter-spacing:.06em;cursor:pointer;box-shadow:0 2px 0 var(--button-shadow);transition:transform .06s ease,box-shadow .06s ease}.chip:hover{background:var(--surface-3)}.chip:active{transform:translateY(1px);box-shadow:0 1px 0 var(--button-shadow)}.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.chip.tiny{min-width:22px;padding:2px 6px;font-size:var(--fs-xs)}.chip.wide{width:100%}.tracker-panel{min-height:0}.tracker-scroll{flex:1;max-height:520px;overflow:auto;background:var(--lcd);border:1px solid var(--lcd-border);border-radius:10px;padding:8px 6px 10px;box-shadow:inset 0 0 0 1px #ffffff0b,inset 0 18px 50px #0000008c;scrollbar-color:#4a4034 var(--lcd)}.tracker{min-height:382px;min-width:calc(2.1rem + (var(--track-count, 4) * 196px));font-family:var(--mono);font-size:var(--fs-tracker);color:var(--lcd-text);outline:none;-webkit-user-select:none;user-select:none;font-variant-numeric:tabular-nums;display:flex;flex-direction:column;gap:1px}.trow{display:grid;grid-template-columns:2.1rem repeat(var(--track-count, 4),minmax(0,1fr));gap:5px;align-items:center;padding:1px 4px;border-radius:4px;min-height:23px}.tspacer{flex:0 0 auto;width:100%;pointer-events:none}.tracker.center-follow .trow.center-active{position:relative;z-index:3;min-height:calc(23px * var(--tracker-mag, 1));background:var(--lcd);box-shadow:0 0 0 1px #ffb24a47}.tracker.center-follow .trow.center-active .idx{font-size:calc(var(--fs-sm) * var(--tracker-mag, 1))}.tracker.center-follow .trow.center-active .col{font-size:calc(var(--fs-md) * var(--tracker-mag, 1));line-height:1.1}.trow.head{position:sticky;top:0;z-index:2;background:var(--lcd);padding:2px 4px 6px;border-bottom:1px solid rgba(255,178,74,.22);border-radius:0;margin-bottom:2px}.idx{font-size:var(--fs-sm);color:#ffe2bc52;text-align:right;letter-spacing:.04em}.trow.beat{border-top:1px solid rgba(255,178,74,.1)}.thead{display:flex;flex-direction:column;gap:2px;padding:1px 4px;border-left:1px solid rgba(255,226,188,.07);cursor:pointer}.thead-name{font-size:var(--fs-sm);font-weight:700;letter-spacing:.08em;color:var(--tc, var(--lcd-text));opacity:.75}.thead.active .thead-name{opacity:1;text-shadow:0 0 10px currentColor}.thead-kind{font-style:normal;font-size:var(--fs-2xs);color:#ffe2bc59;margin-left:5px;letter-spacing:.08em}.tcols,.tcell{display:grid;grid-template-columns:1.55fr .78fr .78fr .78fr .7fr .78fr;gap:2px;min-width:0}.tcell{padding:0 4px;border-left:1px solid rgba(255,226,188,.05)}.tcol-label{font-size:var(--fs-2xs);letter-spacing:.05em;color:#ffe2bc4d;text-align:center}.tcol-label.c-note{text-align:left;padding-left:3px}.tcell[data-track="0"]{--tc: var(--c1)}.tcell[data-track="1"]{--tc: var(--c2)}.tcell[data-track="2"]{--tc: var(--c3)}.tcell[data-track="3"]{--tc: var(--c4)}.thead[data-track="0"]{--tc: var(--c1)}.thead[data-track="1"]{--tc: var(--c2)}.thead[data-track="2"]{--tc: var(--c3)}.thead[data-track="3"]{--tc: var(--c4)}.col{text-align:center;padding:1px;border-radius:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tc, var(--lcd-text));font-size:var(--fs-md)}.col.c0{text-align:left;padding-left:4px;font-weight:700}.col.c1,.col.c2,.col.c3,.col.c4,.col.c5{color:#ffecd18c}.col.empty{color:#ffecd129}.col.cursor{background:var(--accent);color:#1b1209!important;box-shadow:inset 0 0 0 1px #ffffff40}.trow.cursor-row{background:#ffb24a0e}.trow.playing{background:#ff8a5c29}.trow.playing .idx{color:var(--accent);font-weight:700}.tracker-hint{margin:0;font-size:var(--fs-xs);color:var(--muted);letter-spacing:.02em}.instrument-panel{gap:8px}.instrument-sections{display:flex;flex-direction:column;gap:4px}.instrument-section{border:1px solid var(--border);border-radius:8px;background:var(--surface-2);overflow:hidden}.instrument-section-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:7px 9px;cursor:pointer;list-style:none;color:var(--muted);font-size:var(--fs-2xs);font-weight:800;letter-spacing:.1em}.instrument-section-head::-webkit-details-marker{display:none}.instrument-section-head:after{content:"⌄";font-size:14px;line-height:1;color:var(--muted);transition:transform .15s ease}.instrument-section[open]{border-color:var(--border-strong)}.instrument-section[open] .instrument-section-head{color:var(--accent);border-bottom:1px solid var(--border)}.instrument-section[open] .instrument-section-head:after{transform:rotate(180deg)}.instrument-section-body{padding:6px}.instrument-body{display:flex;flex-direction:column;gap:5px;min-height:382px;max-height:520px;overflow-y:auto;padding-right:3px;scrollbar-color:var(--border-strong) transparent}.control-row{display:grid;grid-template-columns:96px minmax(0,1fr) 46px;align-items:center;gap:6px;font-size:var(--fs-sm);min-height:22px}.patch-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:5px;margin-bottom:6px;padding:5px 6px;border:1px solid var(--border);border-radius:7px;background:var(--surface-2)}.patch-track-label{color:var(--accent);font-family:var(--mono);font-size:var(--fs-2xs);font-weight:700;letter-spacing:.04em;white-space:nowrap}.patch-toolbar select{min-width:0;max-width:180px;padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--fg);font:inherit;font-size:var(--fs-sm)}.patch-toolbar .hint{flex-basis:100%;margin:0}.patch-target-hint{margin:0 0 6px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-2xs);line-height:1.4}.control-row.compact{grid-template-columns:auto minmax(0,1fr);width:100%}.control-label{color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.control-row output{font-family:var(--mono);font-size:var(--fs-xs);text-align:right;color:var(--fg);background:var(--surface-2);border:1px solid var(--border);border-radius:4px;padding:1px 4px;overflow:hidden;text-overflow:ellipsis}.control-row select{grid-column:2 / 4;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:var(--fs-sm)}input[type=range]{-webkit-appearance:none;appearance:none;width:100%;height:18px;background:transparent;cursor:pointer}input[type=range]::-webkit-slider-runnable-track{height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:15px;margin-top:-5.5px;border-radius:3px;background:var(--accent);border:1px solid var(--border-strong);box-shadow:0 1px #00000059}input[type=range]::-moz-range-track{height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px}input[type=range]::-moz-range-thumb{width:10px;height:14px;border-radius:3px;background:var(--accent);border:1px solid var(--border-strong)}.slot-list{display:flex;flex-direction:column;gap:2px;max-height:220px;overflow-y:auto;scrollbar-color:var(--border-strong) transparent}.slot-row{display:grid;grid-template-columns:20px minmax(0,1fr) auto;gap:7px;align-items:center;padding:4px 6px;border:1px solid transparent;border-radius:6px;background:var(--surface-2);color:var(--fg);text-align:left;cursor:pointer;font-size:var(--fs-sm)}.slot-row.selected{border-color:var(--accent)}.slot-index{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted)}.slot-name{font-weight:700;letter-spacing:.04em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.slot-name.empty{color:var(--muted);font-weight:400;font-style:italic}.slot-badges{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--accent);letter-spacing:.05em}.slot-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;margin-top:4px}.slot-url{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px}.slot-url input{min-width:0;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:var(--fs-sm)}.slot-env{display:flex;flex-direction:column;gap:3px;padding-top:6px;border-top:1px solid var(--border)}.slot-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.choke-control{display:flex;align-items:center;gap:5px;font-size:var(--fs-sm);color:var(--muted);margin-left:auto}.choke-control select{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 4px;font-size:var(--fs-sm)}.performance{display:grid;grid-template-columns:292px minmax(0,1fr) 236px;gap:14px;align-items:stretch}.mixer{display:flex;flex-direction:column;gap:6px;min-height:156px}.channel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 6px;padding:5px 7px;border-radius:8px;background:var(--surface-2);border:1px solid transparent}.channel.selected{border-color:var(--accent)}.channel{box-shadow:inset 2px 0 0 var(--tc, transparent)}.channel-head{display:flex;align-items:baseline;gap:6px;min-width:0}.channel-name{padding:0;border:0;background:none;color:var(--fg);font-family:var(--mono);font-size:var(--fs-md);font-weight:700;cursor:pointer}.channel-kind{padding:1px 4px;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--muted);font-family:inherit;font-size:var(--fs-2xs);letter-spacing:.08em;cursor:pointer}.channel-voice{font-size:var(--fs-2xs);min-width:34px}.channel-kind:hover,.channel-kind:focus-visible{color:var(--accent);text-decoration:underline;text-underline-offset:2px}.channel-color{appearance:none;-webkit-appearance:none;flex:none;width:18px;height:18px;margin-left:auto;padding:0;border:1px solid rgba(255,255,255,.3);border-radius:50%;background:transparent;cursor:pointer;overflow:hidden;touch-action:manipulation}.channel-color::-webkit-color-swatch-wrapper{padding:0}.channel-color::-webkit-color-swatch{border:0;border-radius:50%}.channel-color::-moz-color-swatch{border:0;border-radius:50%}.channel-color:hover,.channel-color:focus-visible{border-color:var(--fg)}.channel-buttons{display:flex;gap:3px}.channel input[type=range]{grid-column:1 / -1}.play-panel .panel-head{gap:8px}.octave-display{display:flex;align-items:center;gap:4px;margin-left:auto}.scope-head{display:flex;align-items:center;gap:8px;margin-top:2px}.scope-head select{margin-left:auto;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 5px;font-size:var(--fs-xs);letter-spacing:.04em}.scope-canvas{width:100%;height:64px;display:block;border-radius:8px;background:var(--lcd);border:1px solid var(--lcd-border);box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 0 24px #0000008c}.pads{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));gap:6px;min-height:66px}.pads.po{grid-template-columns:repeat(4,minmax(0,1fr))}.pads.po .pad{min-height:54px}.mode-hint{margin:2px 0 0;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.02em}.pad{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:66px;padding:7px 8px 17px;border-radius:10px;border:1px solid var(--border-strong);background:linear-gradient(180deg,var(--surface-2),var(--surface));color:var(--fg);cursor:pointer;text-align:left;box-shadow:0 3px 0 var(--button-shadow),inset 0 1px #ffffff0f;transition:transform .06s ease,background .06s ease;overflow:hidden}.pad:hover{background:var(--surface-3)}.pad.selected{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 3px 0 var(--button-shadow)}.pad.hit{transform:translateY(2px);background:var(--accent);color:var(--accent-fg)}.pad-index{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted)}.pad.selected .pad-index{color:var(--accent)}.pad.hit .pad-index,.pad.hit .pad-key{color:var(--accent-fg)}.pad-name{font-size:var(--fs-sm);font-weight:800;letter-spacing:.03em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.pad-key{position:absolute;right:6px;bottom:4px;font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted);border:1px solid var(--border);border-radius:3px;padding:0 3px;line-height:1.3}.piano{display:grid;grid-template-columns:repeat(18,minmax(0,1fr));gap:2px;margin-top:8px;height:82px;min-height:82px}.piano-key{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:4px;padding:4px 0;border-radius:4px;border:1px solid var(--border);background:var(--surface-2);color:var(--muted);cursor:pointer;overflow:hidden}.piano-key.sharp{background:var(--surface-3);filter:brightness(.82)}.piano-key:hover{border-color:var(--accent)}.piano-key:active{background:var(--accent);color:var(--accent-fg)}.piano-note{font-family:var(--mono);font-size:var(--fs-2xs);color:var(--muted)}.piano-key-label{font-family:var(--mono);font-size:var(--fs-xs);border:1px solid var(--border);border-radius:2px;padding:0 3px;color:var(--fg)}.loop-controls{display:flex;flex-direction:column;gap:8px;min-height:150px}.fx-track-picker{display:flex;gap:4px}.fx-track-picker .chip{flex:1}.fx-list{display:flex;flex-direction:column;gap:6px}.fx-card{border:1px solid var(--border);border-radius:8px;padding:6px 8px 7px;background:var(--surface-2);display:flex;flex-direction:column;gap:3px}.fx-card-head{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-bottom:2px}.fx-name{font-size:var(--fs-xs);font-weight:800;letter-spacing:.08em;color:var(--accent)}.fx-add{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px;align-items:center;margin-top:2px}.fx-add select,.fx-add .hint{grid-column:auto}.fx-add select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:4px 6px;font-size:var(--fs-sm);min-width:0}.fx-add .hint{grid-column:1 / -1}.song-head{display:flex;gap:6px}.song-head .chip{flex:1}.chain-list{display:flex;flex-wrap:wrap;align-items:center;gap:4px;min-height:32px;padding:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:8px}.chain-item{display:inline-flex;align-items:center;gap:3px;padding:1px 3px 1px 6px;border:1px solid var(--border);border-radius:5px;background:var(--surface);font-family:var(--mono);font-size:var(--fs-lg);font-weight:700}.chain-item.active{border-color:var(--accent);color:var(--accent)}.chain-remove{border:0;background:none;color:var(--muted);font-size:var(--fs-md);line-height:1;padding:0 1px;cursor:pointer}.chain-remove:hover{color:var(--fg)}.chain-append{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.chain-append .micro-label{width:100%}.hint{margin:0;font-size:var(--fs-xs);color:var(--muted);line-height:1.4}.loop-panel .panel-head{justify-content:space-between}.loop-panel .status{max-width:55%}.page-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:6px 16px;padding:0 6px}.hints{display:flex;flex-wrap:wrap;gap:6px 16px;padding:0;font-size:var(--fs-xs);color:var(--muted);font-family:var(--mono)}.credit{color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs);text-decoration:none;white-space:nowrap;border-bottom:1px solid transparent}.credit:hover{color:var(--fg);border-bottom-color:var(--accent)}@media(max-width:520px){.credit{width:100%}}.hints kbd{font-family:var(--mono);font-size:var(--fs-2xs);background:var(--surface-2);border:1px solid var(--border);border-radius:3px;padding:1px 4px;margin-right:4px;color:var(--fg)}.overlay{position:fixed;inset:0;z-index:50;display:grid;place-items:center;padding:18px;background:#0807059e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.overlay[hidden]{display:none}.overlay-card{width:min(640px,100%);max-height:84vh;overflow:auto;background:var(--surface);border:1px solid var(--border-strong);border-radius:16px;padding:16px 18px 18px;box-shadow:0 30px 80px #0000008c}.overlay-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.overlay-head h2{margin:0;font-size:var(--fs-md);letter-spacing:.16em;color:var(--muted)}.help-row{display:grid;grid-template-columns:215px minmax(0,1fr);gap:12px;align-items:center;padding:5px 0;border-bottom:1px dashed var(--border);font-size:var(--fs-md)}.help-row kbd{font-family:var(--mono);font-size:var(--fs-xs);white-space:normal;background:var(--surface-2);border:1px solid var(--border);border-bottom-width:2px;border-radius:4px;padding:2px 6px;width:fit-content;color:var(--fg)}.help-fx{margin:12px 0 0;font-size:var(--fs-sm);color:var(--muted);font-family:var(--mono)}@media(max-width:1180px){.workspace{grid-template-columns:minmax(0,1fr)}.instrument-body{max-height:340px}.performance{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr)}.loop-panel{grid-column:span 2}.loop-controls{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));align-items:center}.loop-controls .transport-btn.small,.loop-controls .chip.wide{width:100%}}@media(max-width:820px){#app{padding:10px 10px 6px}.topbar{gap:10px 14px;padding:10px 12px}.brand{width:100%;margin-right:0}.brand-text p{display:none}.utility-group{margin-left:auto}.palette-picker select{max-width:96px}.scope-canvas{height:54px}.performance{grid-template-columns:minmax(0,1fr)}.loop-panel{grid-column:auto}.loop-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.pads{grid-template-columns:repeat(4,minmax(0,1fr))}.piano{display:flex;overflow-x:auto;padding-bottom:4px}.piano-key{flex:0 0 34px}.instrument-body{max-height:none}.help-row{grid-template-columns:120px minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}.master-group input.fader-input{position:absolute;left:50%;top:50%;width:64px;height:24px;margin:0;transform:translate(-50%,-50%) rotate(-90deg)}.fader-slot:before{content:"";position:absolute;left:50%;top:2px;bottom:2px;width:6px;margin-left:-3px;border-radius:3px;background:linear-gradient(to bottom,var(--surface-3),var(--surface-2));border:1px solid var(--border);box-shadow:inset 0 0 4px #00000073}.master-group input.fader-input::-webkit-slider-runnable-track{background:transparent;border-color:transparent}.master-group input.fader-input::-moz-range-track{background:transparent;border-color:transparent}.sample-wave{display:block;width:100%;height:56px;border-radius:8px;border:1px solid var(--lcd-border);background:var(--lcd);box-shadow:inset 0 0 18px #0000008c}.topbar-controls{display:flex;align-items:center;flex-wrap:wrap;gap:12px;flex:1 1 auto;min-width:0}@media(max-width:1470px){.brand-text p{display:none}}.bars-control{display:flex;align-items:center;gap:4px}.bars-control select{background:var(--surface-2);border:1px solid var(--border);border-radius:5px;padding:2px 4px;font-family:var(--mono);font-size:var(--fs-sm)}.track-tools{display:flex;align-items:center;gap:3px;margin-left:auto}.track-tools select{width:48px;padding:2px 3px;font-size:var(--fs-xs);background:var(--surface-2);border:1px solid var(--border);border-radius:5px}.song-file{display:grid;grid-template-columns:1fr 1fr;gap:5px;margin-top:2px}.song-section{display:flex;flex-direction:column;gap:6px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}.song-section h3{margin:0;font-size:var(--fs-2xs);font-weight:800;letter-spacing:.12em;color:var(--accent)}.song-section select,.library-name{min-width:0;padding:4px 6px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--fg);font:inherit;font-size:var(--fs-sm)}.library-list{display:flex;flex-direction:column;gap:4px;max-height:150px;overflow-y:auto;scrollbar-color:var(--border-strong) transparent}.library-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:4px;align-items:center;padding:4px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2)}.library-details{display:flex;flex-direction:column;min-width:0;gap:1px}.library-details strong{overflow:hidden;color:var(--fg);font-size:var(--fs-sm);text-overflow:ellipsis;white-space:nowrap}.library-details span{color:var(--muted);font-family:var(--mono);font-size:var(--fs-2xs)}.keys-card{width:min(760px,100%)}.flow-card{width:min(1120px,96vw);height:min(780px,92vh);display:flex;flex-direction:column;overflow:hidden}.flow-editor-root{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.flow-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.flow-palette,.flow-zoom{display:flex;align-items:center;flex-wrap:wrap;gap:3px}.flow-canvas-wrap{flex:1;min-height:0;overflow:hidden;border:1px solid var(--lcd-border);border-radius:9px;background:var(--lcd)}.flow-canvas{width:100%;height:100%;display:block;cursor:grab;touch-action:none;background:var(--lcd)}.flow-canvas:active{cursor:grabbing}.flow-node rect{fill:var(--surface-2);stroke:var(--border-strong);stroke-width:1.5}.flow-node.type-start rect{fill:var(--surface-3)}.flow-node.type-loop rect{fill:var(--surface)}.flow-node.selected rect{stroke:var(--accent);stroke-width:2.5}.flow-node.active rect{fill:color-mix(in srgb,var(--accent) 18%,var(--surface-2));stroke:var(--accent)}.flow-node-title,.flow-node-sub,.flow-port-label{font-family:var(--mono);pointer-events:none}.flow-node-title{fill:var(--fg);font-size:12px;font-weight:700}.flow-node-sub{fill:var(--muted);font-size:9px}.flow-port{fill:var(--surface);stroke:var(--accent);stroke-width:1.5;cursor:crosshair}.flow-port.input{fill:var(--accent)}.flow-port-label{fill:var(--muted);font-size:8px}.flow-edge{fill:none;stroke:var(--border-strong);stroke-width:2;marker-end:url(#flow-arrow);cursor:pointer}.flow-edge.selected,.flow-edge.active{stroke:var(--accent)}.flow-connect{fill:none;stroke:var(--accent);stroke-width:2;stroke-dasharray:5 4;pointer-events:none}.flow-inspector{flex:none;max-height:210px;overflow:auto;display:flex;flex-direction:column;gap:5px;padding:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-family:var(--mono);font-size:var(--fs-xs)}.flow-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:6px}.flow-inspector-title{color:var(--accent);font-weight:700}.flow-inspector-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.flow-inspector select,.flow-inspector input{background:var(--surface);border:1px solid var(--border);border-radius:5px;color:var(--fg);font:inherit;padding:2px 4px}.flow-mux-controls{display:flex;gap:4px}.flow-branch{display:flex;flex-direction:column;gap:3px;padding-top:4px;border-top:1px solid var(--border)}.flow-track-map{display:grid;grid-template-columns:repeat(auto-fit,minmax(52px,1fr));gap:3px}.flow-track-map label{display:flex;align-items:center;gap:2px;color:var(--muted);font-size:var(--fs-2xs)}.flow-track-map select{min-width:0;width:100%}.flow-validation{display:flex;flex-wrap:wrap;gap:5px 12px;color:var(--muted);font-size:var(--fs-2xs)}.flow-warning{color:var(--c3)}.flow-error{color:var(--c1)}.keys-toolbar{display:flex;align-items:center;gap:10px;margin:4px 0 8px}.keys-toolbar .control-row{flex:1}.keys-toolbar select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:3px 6px;font-size:var(--fs-sm)}.keys-body{display:flex;flex-direction:column;gap:12px;margin-top:8px}.keys-section h3{margin:0 0 5px;font-size:var(--fs-xs);letter-spacing:.14em;color:var(--accent)}.keys-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(142px,1fr));gap:4px}.keys-item{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:3px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);min-width:0}.keys-item.listening{border-color:var(--accent)}.keys-item-name{font-size:var(--fs-xs);color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.key-cap{min-width:42px;padding:2px 5px;border-radius:4px;border:1px solid var(--border-strong);background:var(--surface);color:var(--fg);font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;cursor:pointer;flex:none}.keys-item.listening .key-cap{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.piano.piano-staggered{display:block;height:104px;overflow-x:auto;padding-bottom:2px}.piano-staggered .piano-stage{position:relative;display:flex;height:100%;min-width:460px}.piano-staggered .piano-white-row{display:flex;gap:2px;width:100%;height:100%}.piano-staggered .piano-black-row{position:absolute;inset:0;pointer-events:none}.piano-staggered .piano-key{border-radius:0 0 5px 5px;justify-content:flex-end;padding-bottom:4px}.piano-staggered .piano-key.white{flex:1 1 0;min-width:0}.piano-staggered .piano-key.black{position:absolute;top:0;height:62%;width:6.5%;transform:translate(-50%);pointer-events:auto;z-index:2;background:var(--lcd);border-color:var(--border-strong);color:var(--lcd-text);box-shadow:0 2px 4px #00000059}.piano-staggered .piano-key.black .piano-note{display:none}.piano-staggered .piano-key.black .piano-key-label{border-color:#ffffff47;color:var(--lcd-text)}@media(max-width:820px){.piano.piano-staggered{display:block}.piano-staggered .piano-stage{min-width:430px}.keys-grid{grid-template-columns:repeat(auto-fill,minmax(124px,1fr))}}.topbar{gap:10px 12px;padding:10px 14px}.brand{gap:9px;margin-right:4px}.brand-text p{display:none}.brand-text h1{font-size:19px;letter-spacing:.1em}.brand-mark{width:34px;height:34px;border-radius:10px}.topbar-controls{gap:10px}.pattern-btn{width:23px;height:23px}.swing-group input{width:70px}.theme-switch button{width:24px;height:23px}.palette-picker select{max-width:106px}.lang-switch button{padding:2px 5px}@media(min-width:1270px)and (max-width:1405px){.brand-text{display:none}.topbar{gap:10px;padding:10px 12px}.palette-picker select{max-width:96px}}.topbar{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.topbar-controls{min-width:0}@media(max-width:1269px){.topbar{grid-template-columns:auto auto;justify-content:space-between}.brand{grid-column:1;grid-row:1;width:auto}.utility-group{grid-column:2;grid-row:1;margin-left:0}.topbar-controls{grid-column:1 / -1;grid-row:2;flex-basis:auto}}@media(max-width:820px){.brand-text{display:none}}.sequencer-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:6px}.seq-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.seq-inspector{padding:5px 7px;border:1px solid var(--border);border-radius:8px;background:var(--surface-2);font-family:var(--mono);font-size:var(--fs-xs)}.seq-inspector-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px}.seq-inspector-title{color:var(--accent);font-weight:700;min-width:62px}.seq-fx-field{display:flex;align-items:center;gap:4px;color:var(--muted);font-size:var(--fs-2xs)}.seq-fx-field input[type=range]{width:70px}.seq-fx-field output{min-width:24px;color:var(--fg);text-align:right}.seq-inspector-actions{display:flex;flex-wrap:wrap;gap:3px}.seq-note-fx{display:flex;flex-direction:column;gap:5px;margin-top:5px;padding-top:5px;border-top:1px solid var(--border)}.seq-note-fx-head{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.seq-note-fx-head select{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 4px;color:var(--fg);font:inherit;font-size:var(--fs-2xs)}.seq-note-fx-hint{color:var(--muted);font-family:var(--mono);font-size:var(--fs-2xs)}.seq-note-fx-card{padding:4px 5px;border:1px solid var(--border);border-radius:6px;background:var(--surface)}.seq-note-fx-card-head{display:flex;align-items:center;justify-content:space-between;gap:5px;margin-bottom:2px}.seq-note-fx-actions{display:flex;gap:2px}.seq-note-fx-card .control-row{grid-template-columns:72px minmax(0,1fr) 38px;min-height:19px}.seq-note.has-fx{outline:1px dashed var(--accent);outline-offset:-2px}.seq-auto-picker{margin-left:auto}.seq-auto-picker select{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 4px;font:inherit;color:var(--fg)}.seq-auto{position:relative;height:40px;background:#ffe2bc09;border-top:1px solid rgba(255,226,188,.14);cursor:crosshair}.seq-auto-label{position:absolute;left:5px;top:3px;z-index:2;color:#ffe2bc61;font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.04em;pointer-events:none}.seq-auto-line{position:absolute;inset:0;width:100%;height:100%;pointer-events:none}.seq-auto-line polyline{fill:none;stroke:var(--accent);stroke-width:1.5;vector-effect:non-scaling-stroke}.seq-auto-point{position:absolute;z-index:3;width:8px;height:8px;margin:-4px 0 0 -4px;padding:0;border:1px solid var(--accent);border-radius:50%;background:var(--accent);cursor:grab}.seq-auto-point:hover{transform:scale(1.35)}.seq-track-tabs{display:flex;gap:3px;flex-wrap:wrap}.seq-range{margin-left:auto;font-family:var(--mono);font-size:var(--fs-xs);letter-spacing:.04em;color:var(--muted)}.sequencer-scroll{flex:1;max-height:480px;overflow:auto;background:var(--lcd);border:1px solid var(--lcd-border);border-radius:10px;padding:6px;box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 14px 36px #00000080;scrollbar-color:#4a4034 var(--lcd)}.sequencer{--step-w: 28px;--row-h: 14px;--keys-w: 62px;--steps: 16;width:max-content;min-width:100%}.seq-canvas{display:grid;grid-template-columns:var(--keys-w) auto;grid-template-rows:24px auto;position:relative;width:max-content}.seq-corner{grid-column:1;grid-row:1;position:sticky;left:0;top:0;z-index:5;display:flex;align-items:center;justify-content:center;background:var(--lcd);border-right:1px solid rgba(255,226,188,.18);border-bottom:1px solid rgba(255,226,188,.18);color:#ffe2bc73;font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:.08em}.seq-ruler{grid-column:2;grid-row:1;position:sticky;top:0;z-index:4;display:flex;width:calc(var(--steps) * var(--step-w));background:var(--lcd);border-bottom:1px solid rgba(255,226,188,.18)}.seq-tick{flex:0 0 var(--step-w);width:var(--step-w);display:flex;align-items:center;justify-content:center;border-left:1px solid rgba(255,226,188,.08);color:#ffe2bc4d;font-family:var(--mono);font-size:var(--fs-2xs)}.seq-tick.beat{color:#ffe2bc80}.seq-tick.bar{color:var(--lcd-text);font-weight:700;border-left-color:#ffb24a73}.seq-keys{grid-column:1;grid-row:2;position:sticky;left:0;z-index:3;width:var(--keys-w);background:var(--lcd);border-right:1px solid rgba(255,226,188,.18)}.seq-key-row{height:var(--row-h);display:flex;align-items:center;justify-content:flex-end;padding-right:5px;border-bottom:1px solid rgba(255,226,188,.06);color:#ffe2bc80;font-family:var(--mono);font-size:var(--fs-2xs);white-space:nowrap}.seq-key-row.black{background:#00000047;color:#ffe2bc59}.seq-grid{grid-column:2;grid-row:2;position:relative;background-color:var(--lcd);background-image:repeating-linear-gradient(to right,rgba(255,178,74,.45) 0 1px,transparent 1px calc(var(--step-w) * 16)),repeating-linear-gradient(to right,rgba(255,226,188,.18) 0 1px,transparent 1px calc(var(--step-w) * 4)),repeating-linear-gradient(to right,rgba(255,226,188,.07) 0 1px,transparent 1px var(--step-w)),repeating-linear-gradient(to bottom,rgba(255,226,188,.07) 0 1px,transparent 1px var(--row-h))}.seq-note-layer{position:absolute;inset:0}.seq-note{position:absolute;display:flex;align-items:center;padding:0 3px;border-radius:2px;background:var(--tc);color:#131310;font-family:var(--mono);font-size:var(--fs-2xs);font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:grab;touch-action:none;box-shadow:inset 0 -1px #00000040}.seq-note.dragging{cursor:grabbing;opacity:.8;z-index:6}.seq-note:hover{filter:brightness(1.18)}.seq-note.selected{outline:1px solid var(--fg);outline-offset:-1px}.seq-playhead{position:absolute;top:0;bottom:0;left:0;width:1px;background:var(--accent);box-shadow:0 0 8px var(--accent);pointer-events:none;z-index:4}.seq-mode-switch{flex:none}.seq-note.compact{padding:0}@media(max-width:820px){.sequencer-scroll{max-height:420px}}.seq-zoom{align-items:center;gap:0}.seq-zoom button{min-width:24px;padding:3px 5px}.seq-zoom .seq-zoom-readout{min-width:42px;color:var(--muted);font-family:var(--mono);font-size:var(--fs-2xs);letter-spacing:0}.seq-combined .seq-key-row.drum{justify-content:flex-start;padding-left:4px;color:var(--accent);background:#ffb24a14;border-top:1px solid rgba(255,178,74,.22);overflow:hidden;text-overflow:ellipsis}.seq-combined .seq-key-row.drum span{overflow:hidden;text-overflow:ellipsis}.seq-stack{width:max-content;min-width:100%}.seq-stack-canvas{grid-template-columns:var(--keys-w) auto}.seq-stack-list{grid-column:1 / -1;grid-row:2;display:flex;flex-direction:column;align-items:flex-start;width:max-content;min-width:100%}.seq-stack-section{width:max-content;border-top:1px solid rgba(255,226,188,.14);background:var(--lcd)}.seq-stack-section:first-child{border-top:0}.seq-stack-head{width:100%;display:flex;align-items:center;gap:6px;height:24px;padding:0 6px;border:0;border-bottom:1px solid rgba(255,226,188,.08);background:#ffe2bc0a;color:var(--muted);font-family:var(--mono);font-size:var(--fs-2xs);text-align:left;cursor:pointer}.seq-stack-head span{color:var(--tc, var(--lcd-text));font-size:var(--fs-xs);font-weight:700}.seq-stack-head em{font-style:normal;color:#ffe2bc6b}.seq-stack-head:hover{background:#ffe2bc14}.seq-stack-section.active .seq-stack-head{background:#ffb24a1f;box-shadow:inset 2px 0 0 var(--tc, var(--accent))}.seq-stack-section.muted{opacity:.5}.seq-stack-row{display:grid;grid-template-columns:var(--keys-w) auto}.seq-stack-row .seq-keys{position:sticky;left:0;z-index:3}.seq-stack-row .seq-grid{min-width:0}.seq-stack-row .seq-playhead{z-index:2}.seq-stack .seq-canvas{width:max-content}.seq-stack .seq-key-row.drum{justify-content:flex-start;padding-left:4px;color:var(--accent);background:#ffb24a0f;overflow:hidden;text-overflow:ellipsis}.bank-control{display:flex;align-items:center;gap:5px}.bank-control .micro-label{color:var(--muted)}.bank-switch button{min-width:36px}.slot-kit{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:5px}.kit-note{display:flex;align-items:center;gap:4px;margin-left:auto}.kit-zone{display:flex;align-items:center;gap:4px}.kit-zone-row{margin-top:2px}.kit-note select,.kit-zone select{min-width:74px;background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 4px;color:var(--fg);font:inherit;font-size:var(--fs-xs)}.track-scope{position:relative;width:100%;height:20px;margin:1px 0;overflow:hidden;background:#00000029;border-radius:3px}.track-wave{display:block;width:100%;height:17px}.track-level{display:block;width:100%;height:2px;transform:scaleX(var(--level, 0));transform-origin:left center;background:var(--tc, var(--accent));opacity:.8;transition:transform 40ms linear}.flow-mux-controls{align-items:center;flex-wrap:wrap}.flow-sync-control{display:flex;align-items:center;gap:4px;margin-left:auto}.flow-branch>.micro-label{display:flex;align-items:center;gap:4px}.flow-branch-actions{display:flex;gap:2px;margin-left:auto}.flow-branch-summary{color:var(--muted);font-size:var(--fs-2xs);line-height:1.4;overflow-wrap:anywhere}.strudel-code{width:100%;min-height:170px;resize:vertical;box-sizing:border-box;padding:7px;border:1px solid var(--border);border-radius:7px;background:var(--surface);color:var(--fg);font-family:var(--mono);font-size:var(--fs-xs);line-height:1.45;white-space:pre}.strudel-scope{display:flex;align-items:center;gap:5px;margin-bottom:4px}.strudel-scope select{background:var(--surface);border:1px solid var(--border);border-radius:5px;padding:2px 5px;color:var(--fg);font:inherit;font-size:var(--fs-xs)}.sampler-bank-row{display:flex;align-items:center;flex-wrap:wrap;gap:5px;margin-bottom:6px}.sampler-bank-row .danger{color:var(--error)}.sampler-bank-row select{min-width:0;max-width:190px;padding:3px 5px;border:1px solid var(--border);border-radius:5px;background:var(--surface);color:var(--fg);font:inherit;font-size:var(--fs-sm)}.midi-channel{display:flex;align-items:center;gap:4px;min-width:0}.midi-channel select{flex:1;min-width:0}.strudel-overlay{z-index:60}.strudel-card{width:min(1100px,100%);max-height:92vh;display:flex;flex-direction:column}.strudel-card .hint{margin:0 0 4px}.strudel-repl-actions{margin-bottom:8px}.strudel-frame{width:100%;min-height:420px;height:70vh;border:1px solid var(--border);border-radius:8px;background:var(--surface-2)}@media(max-width:640px){.strudel-card{padding:12px}.strudel-frame{min-height:320px;height:62vh}}.strudel-panel{flex:1;min-height:0;display:flex;flex-direction:column;gap:8px}.strudel-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:6px}.strudel-scope{display:flex;align-items:center;gap:4px}.strudel-editor{position:relative;flex:1;min-height:360px;overflow:hidden;border:1px solid var(--lcd-border);border-radius:10px;background:var(--lcd);box-shadow:inset 0 0 0 1px #ffffff0a,inset 0 18px 50px #0000008c}.strudel-highlight,.strudel-input{position:absolute;inset:0;margin:0;padding:12px;border:0;font-family:var(--mono);font-size:var(--fs-md);line-height:1.55;tab-size:2;white-space:pre}.strudel-highlight{overflow:hidden;pointer-events:none;color:var(--lcd-text)}.strudel-input{overflow:auto;resize:none;background:transparent;color:transparent;caret-color:var(--lcd-text);outline:none}.strudel-input::selection{background:var(--accent);color:transparent}.tok-comment{color:var(--muted)}.tok-string{color:var(--c4)}.tok-number{color:var(--c3)}.tok-function{color:var(--c2)}.mag-control{display:flex;align-items:center;gap:4px}.mag-control select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:2px 4px;color:var(--fg);font:inherit;font-size:var(--fs-xs)}.channel-voice,.kit-toggle,.chain-mode,.flow-mode{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--fg);font:inherit;font-size:var(--fs-2xs);padding:2px 4px}.channel-voice{min-width:48px}.master-group .fader{flex-direction:row;height:auto;gap:6px}.master-group .fader-slot{width:118px;height:18px}.master-group input.fader-input{position:static;width:118px;height:18px;margin:0;transform:none}.master-group .fader-slot:before{display:none}.master-group input.fader-input::-webkit-slider-runnable-track{height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px}.master-group input.fader-input::-moz-range-track{height:6px;background:var(--surface-2);border:1px solid var(--border);border-radius:3px}.master-group .fader-value{min-width:40px;text-align:right}.topbar{align-items:end}.brand{align-self:center}.topgroup{min-height:45px;justify-content:space-between}.topbar-controls{align-items:flex-end}.transport-group{justify-content:flex-end}.transport-group,.utility-group{align-self:flex-end}:root{--lcd-grid: rgba(255, 178, 74, .12);--lcd-grid-soft: rgba(255, 226, 188, .12)}[data-theme=light]{--lcd: #fbf7ec;--lcd-border: #c8bda9;--lcd-text: #7a4a12;--lcd-dim: rgba(70, 58, 40, .55);--lcd-grid: rgba(120, 80, 30, .24);--lcd-grid-soft: rgba(70, 58, 40, .16)}[data-theme=light] .tracker-scroll,[data-theme=light] .sequencer-scroll,[data-theme=light] .strudel-editor,[data-theme=light] .scope-canvas,[data-theme=light] .sample-wave{box-shadow:inset 0 0 0 1px #ffffffa6,inset 0 12px 30px #463a2814;scrollbar-color:var(--border-strong) var(--lcd)}[data-theme=light] .idx,[data-theme=light] .seq-tick,[data-theme=light] .seq-key-row{color:#463a2894}[data-theme=light] .thead{border-left-color:#463a281f}[data-theme=light] .trow.beat{border-top-color:#78501e2e}[data-theme=light] .tcol-label,[data-theme=light] .seq-stack-head em{color:#463a2880}[data-theme=light] .col.empty{color:#463a2847}[data-theme=light] .col.c1,[data-theme=light] .col.c2,[data-theme=light] .col.c3,[data-theme=light] .col.c4,[data-theme=light] .col.c5{color:#463a28ad}[data-theme=light] .seq-corner,[data-theme=light] .seq-ruler,[data-theme=light] .seq-tick,[data-theme=light] .seq-keys,[data-theme=light] .seq-key-row{border-color:#463a2829}[data-theme=light] .seq-tick.beat{color:#463a28b3}[data-theme=light] .seq-key-row.black{background:#463a2814;color:#463a2880}[data-theme=light] .seq-grid{background-image:repeating-linear-gradient(to right,rgba(120,80,30,.38) 0 1px,transparent 1px calc(var(--step-w) * 16)),repeating-linear-gradient(to right,rgba(70,58,40,.16) 0 1px,transparent 1px calc(var(--step-w) * 4)),repeating-linear-gradient(to right,rgba(70,58,40,.09) 0 1px,transparent 1px var(--step-w)),repeating-linear-gradient(to bottom,rgba(70,58,40,.09) 0 1px,transparent 1px var(--row-h))}[data-theme=light] .seq-stack-section{border-top-color:#463a2829}[data-theme=light] .seq-stack-head{background:#463a280a;border-bottom-color:#463a281a;color:var(--muted)}[data-theme=light] .seq-stack-head:hover{background:#463a2814}[data-theme=light] .seq-stack-head em{color:#463a2880}[data-theme=light] .tok-comment{color:#746a5a}[data-theme=light] .tok-string{color:#2f6f3f}[data-theme=light] .tok-number{color:#8a5a00}[data-theme=light] .tok-function{color:#176b8a}[data-theme=light] .thead-kind{color:#463a2885}[data-theme=light] .thead-name,[data-theme=light] .seq-stack-head span{filter:brightness(.72) saturate(1.2)}[data-theme=light] .col.c0:not(.cursor){-webkit-text-stroke:.2px rgba(36,31,23,.3)}.strudel-now{display:flex;align-items:center;gap:7px;min-height:25px;flex-wrap:wrap}.strudel-now-chips{display:flex;align-items:center;flex-wrap:wrap;gap:4px}.strudel-voice{display:inline-flex;align-items:center;min-height:21px;padding:1px 7px;border-radius:4px;background:var(--accent);color:var(--accent-fg);font-family:var(--mono);font-size:var(--fs-xs);font-weight:700;box-shadow:0 0 0 1px var(--border-strong),0 2px 7px #0000002e}.strudel-voice.synth{background:var(--c2);color:#10232b}.strudel-now-empty{color:var(--muted);font-family:var(--mono);font-size:var(--fs-xs)}.strudel-position{font-family:var(--mono);font-size:var(--fs-xs);color:var(--muted);letter-spacing:.04em;min-width:54px}.strudel-highlight .tok-active{background:var(--accent);color:var(--accent-fg)!important;border-radius:3px;box-shadow:0 0 0 1px var(--border-strong),0 0 8px #ff5a1f59}.tracker-scroll.center-locked{overflow-y:hidden;overscroll-behavior:contain}.song-strip{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:7px 12px;background:var(--surface);border:1px solid var(--border);border-radius:10px;box-shadow:var(--panel-shadow)}.song-overview{display:flex;align-items:center;gap:3px;flex-wrap:wrap;min-width:0}.song-step{width:24px;height:24px;padding:0;border:1px solid var(--border);border-radius:6px;background:var(--surface-2);color:var(--muted);font-family:var(--mono);font-size:var(--fs-sm);font-weight:700;cursor:pointer}.song-step.current{border-color:var(--accent)}.song-step.active{background:var(--accent);border-color:var(--accent);color:var(--accent-fg)}.song-flow{margin-left:4px;color:var(--accent);font-family:var(--mono);font-size:var(--fs-xs);white-space:nowrap}.play-mode-control{display:flex;align-items:center;gap:5px;margin-left:auto}.play-mode-control select{background:var(--surface-2);border:1px solid var(--border);border-radius:6px;color:var(--fg);font:inherit;font-size:var(--fs-xs);padding:2px 5px}
