@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-vietnamese-400-normal-B7Iv8-Rg.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-400-normal-Sle7MYWg.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-ext-400-normal-D42HmrHD.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-400-normal-BH175q6o.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/bricolage-grotesque-latin-400-normal-A6LyuA6R.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-400-normal-D89K-qEP.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-vietnamese-600-normal-Ipewt4hn.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-600-normal-BppAn7jL.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-ext-600-normal-CN5JKkBm.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-600-normal-DF26P3Q7.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/bricolage-grotesque-latin-600-normal-nxTgbNFE.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-600-normal-Bw0J83-2.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-vietnamese-800-normal-RJtJa6zl.woff2)format("woff2"),url(/assets/bricolage-grotesque-vietnamese-800-normal-DJ4hCX8l.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-ext-800-normal-BimIDUhy.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-ext-800-normal-CkoBqIJM.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Bricolage Grotesque;font-style:normal;font-display:swap;font-weight:800;src:url(/assets/bricolage-grotesque-latin-800-normal-J50vIsBe.woff2)format("woff2"),url(/assets/bricolage-grotesque-latin-800-normal-Br4b-5gk.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-vietnamese-400-normal-BNOj0Qhp.woff2)format("woff2"),url(/assets/space-mono-vietnamese-400-normal-B0PMp_xB.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-ext-400-normal-DTLbW2xa.woff2)format("woff2"),url(/assets/space-mono-latin-ext-400-normal-D4cJI_B-.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/space-mono-latin-400-normal-Rg4St2Dn.woff2)format("woff2"),url(/assets/space-mono-latin-400-normal-_3DlpgIW.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-vietnamese-700-normal-DWQgDHuA.woff2)format("woff2"),url(/assets/space-mono-vietnamese-700-normal-D-KrLuLr.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-ext-700-normal-B2s3bDs2.woff2)format("woff2"),url(/assets/space-mono-latin-ext-700-normal-B_E7P90g.woff)format("woff");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/space-mono-latin-700-normal-mWgeinG7.woff2)format("woff2"),url(/assets/space-mono-latin-700-normal-D7A851RN.woff)format("woff");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg:#0d0f13;--bg-deep:#090a0d;--panel:#14171d;--panel-raised:#1b1f27;--panel-hi:#232833;--line:#2a3038;--line-soft:#1f242b;--text:#e9e7df;--muted:#8b93a0;--faint:#5b626e;--accent:#38e1c8;--accent-dim:#1f8b7c;--signal:#ff5a3c;--danger:#ff3b5c;--ok:#57d977;--fam-tone:#ff8a3c;--fam-dynamics:#e6bc46;--fam-modulation:#38e1c8;--fam-time:#7c8cf8;--fam-texture:#ff5ea8;--font-display:"Bricolage Grotesque", system-ui, sans-serif;--font-mono:"Space Mono", ui-monospace, "SFMono-Regular", monospace;--step--2:.7rem;--step--1:.8rem;--step-0:.95rem;--step-1:1.2rem;--step-2:1.7rem;--step-3:2.6rem;--step-4:clamp(2.4rem, 6vw, 4.4rem);--radius:14px;--radius-sm:8px;--tap:44px;--dur:.16s;--ease:cubic-bezier(.22, .61, .36, 1);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:radial-gradient(120% 90% at 78% 8%, #38e1c80f, transparent 60%), radial-gradient(90% 70% at 12% 4%, #ff5a3c0d, transparent 55%), var(--bg);color:var(--text);font-family:var(--font-mono);font-size:var(--step-0);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.45}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.02em;margin:0;font-weight:800}button{font-family:var(--font-mono);color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}.eyebrow{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.28em;text-transform:uppercase;color:var(--faint)}.mono-val{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.panel{background:linear-gradient(180deg, var(--panel-raised), var(--panel));border:1px solid var(--line);border-radius:var(--radius)}.btn{appearance:none;border:1px solid var(--line);background:var(--panel-raised);color:var(--text);border-radius:var(--radius-sm);min-height:var(--tap);font-size:var(--step--1);letter-spacing:.04em;cursor:pointer;transition:border-color var(--dur) var(--ease), background var(--dur) var(--ease), transform var(--dur) var(--ease);padding:.5rem .9rem}.btn:hover{border-color:var(--panel-hi);background:var(--panel-hi)}.btn:active{transform:translateY(1px)}.btn.is-active{border-color:var(--accent-dim);color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-dim)}.btn.warn{border-color:color-mix(in srgb, var(--danger) 55%, var(--line));color:var(--danger)}.deck{flex-direction:column;gap:14px;max-width:1500px;min-height:100%;margin:0 auto;padding:14px clamp(12px,3vw,28px) 28px;display:flex}.masthead{flex-wrap:wrap;align-items:baseline;gap:14px;padding-top:6px;display:flex}.masthead .wordmark{font-family:var(--font-display);font-weight:800;font-size:var(--step-3);letter-spacing:-.04em;line-height:.9}.masthead .wordmark b{color:var(--accent)}.masthead .hook{color:var(--muted);font-size:var(--step--1)}.masthead .spacer{flex:1}.console{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:start;gap:14px;display:grid}@media (max-width:940px){.console{grid-template-columns:1fr}}.section-label{align-items:center;gap:10px;margin:2px 2px 10px;display:flex}.section-label h2{font-size:var(--step-1);font-weight:600}.section-label .rule{background:var(--line-soft);flex:1;height:1px}@media (prefers-reduced-motion:reduce){*{transition-duration:.001ms!important;animation-duration:.001ms!important}}.start{place-items:center;min-height:100%;padding:24px;display:grid}.start-card{text-align:center;flex-direction:column;align-items:center;gap:14px;max-width:480px;display:flex}.start-mark img{filter:drop-shadow(0 0 24px #38e1c840)}.start-word{font-size:var(--step-4);letter-spacing:-.05em;line-height:.9}.start-word b{color:var(--accent)}.start-hook{color:var(--muted);font-size:var(--step-1);font-family:var(--font-display);margin:0;font-weight:400}.btn.power{font-size:var(--step-1);border-color:var(--accent-dim);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--panel-raised));box-shadow:0 0 0 1px var(--accent-dim), 0 8px 30px #38e1c81f;margin-top:6px;padding:.9rem 2rem}.btn.power:hover{background:color-mix(in srgb, var(--accent) 18%, var(--panel-raised))}.start-notes{text-align:left;font-size:var(--step--1);color:var(--muted);flex-direction:column;gap:8px;margin:8px 0 0;padding:0;list-style:none;display:flex}.start-notes b{color:var(--text)}.start-error{color:var(--danger);font-size:var(--step--1)}.transport{flex-wrap:wrap;align-items:center;gap:16px 22px;padding:12px 16px;display:flex}.tp-group{align-items:center;gap:10px;display:flex}.tp-inputs{flex-wrap:wrap}.tp-right{gap:14px;margin-left:auto}.tp-tempo .bpm-input{width:62px}.text-input,.bpm-input{background:var(--bg-deep);border:1px solid var(--line);color:var(--text);border-radius:var(--radius-sm);min-height:var(--tap);font-family:var(--font-mono);padding:.5rem .6rem}.latency{color:var(--faint);font-size:var(--step--2);white-space:nowrap}.btn.rec{color:var(--signal);border-color:color-mix(in srgb, var(--signal) 45%, var(--line));letter-spacing:.1em}.btn.rec.is-recording{background:color-mix(in srgb, var(--signal) 20%, var(--panel-raised));animation:recpulse 1.2s var(--ease) infinite}@keyframes recpulse{50%{box-shadow:0 0 0 3px color-mix(in srgb, var(--signal) 25%, transparent)}}.seg{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--bg-deep);display:inline-flex;overflow:hidden}.seg-btn{appearance:none;color:var(--muted);min-height:var(--tap);cursor:pointer;font-size:var(--step--1);border:0;border-right:1px solid var(--line-soft);transition:background var(--dur) var(--ease), color var(--dur) var(--ease);background:0 0;padding:.5rem .8rem}.seg-btn:last-child{border-right:0}.seg-btn:hover{color:var(--text)}.seg-btn.is-on{background:var(--panel-hi);color:var(--accent)}.seg-sm .seg-btn{text-transform:capitalize;min-height:34px;padding:.35rem .6rem}.meters{align-items:center;gap:12px;display:flex}.meter{align-items:center;gap:6px;display:flex}.meter-track{background:var(--bg-deep);border:1px solid var(--line-soft);border-radius:6px;width:84px;height:8px;overflow:hidden}.meter-fill{background:linear-gradient(90deg, var(--ok), var(--fam-dynamics) 70%, var(--signal));height:100%;transition:width 80ms linear}.meter-fill.clip{background:var(--danger)}.meter-gr{font-size:var(--step--2);color:var(--muted);align-items:center;gap:6px;display:flex}.low-hint{color:var(--signal);font-size:var(--step--2)}.rack{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:12px;display:grid}.pedal{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--panel-raised), var(--panel));cursor:grab;transition:border-color var(--dur) var(--ease), transform var(--dur) var(--ease), opacity var(--dur) var(--ease);flex-direction:column;gap:8px;padding:10px;display:flex;position:relative}.pedal:before{content:"";background:var(--fam);opacity:.5;border-radius:var(--radius) var(--radius) 0 0;height:3px;position:absolute;inset:0 0 auto}.pedal.off{opacity:.62}.pedal.off:before{opacity:.16}.pedal.dragging{opacity:.4;cursor:grabbing}.pedal.drag-over{border-color:var(--accent);transform:translateY(-2px)}.pedal-top{justify-content:space-between;align-items:center;display:flex}.led-btn{appearance:none;cursor:pointer;background:0 0;border:0;padding:4px}.led{background:var(--bg-deep);border:1px solid var(--line);border-radius:50%;width:12px;height:12px;display:block;box-shadow:inset 0 0 3px #000c}.pedal.on .led{background:var(--fam);border-color:var(--fam);box-shadow:0 0 8px var(--fam), 0 0 2px #fff inset}.pedal-slotno{color:var(--faint);font-size:var(--step--2)}.pedal-face{appearance:none;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;flex-direction:column;gap:1px;display:flex}.pedal-short{font-family:var(--font-mono);font-size:var(--step--2);letter-spacing:.22em;color:var(--fam)}.pedal-name{font-family:var(--font-display);font-weight:600;font-size:var(--step-1);letter-spacing:-.02em}.pedal-knob{justify-content:center;padding:2px 0;display:flex}.pedal-reorder{justify-content:space-between;gap:4px;display:flex}.mini{appearance:none;border:1px solid var(--line);background:var(--panel);color:var(--muted);cursor:pointer;min-width:28px;min-height:28px;font-family:var(--font-mono);font-size:var(--step--1);border-radius:6px}.mini:hover:not(:disabled){color:var(--text);border-color:var(--panel-hi)}.mini:disabled{opacity:.3;cursor:default}.mini.edit{letter-spacing:.1em;flex:1}.knob{flex-direction:column;align-items:center;gap:4px;display:flex}.knob svg{display:block}.knob-body{fill:var(--bg-deep);stroke:var(--line);stroke-width:1px}.knob-track{stroke:var(--line);stroke-width:3px}.knob-caption{flex-direction:column;align-items:center;line-height:1.1;display:flex}.knob-label{font-size:var(--step--2);color:var(--muted)}.knob-value{font-size:var(--step--2);color:var(--text);font-variant-numeric:tabular-nums}.knob-hero .knob-value{font-size:var(--step-0);color:var(--accent)}.modal-backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:50;background:#060709b3;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal{border-color:color-mix(in srgb, var(--fam) 30%, var(--line));flex-direction:column;gap:14px;width:min(560px,100%);padding:18px;display:flex;box-shadow:0 24px 80px #0000008c}.modal-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.modal-title{align-items:center;gap:12px;display:flex}.modal-short{font-size:var(--step--1);letter-spacing:.2em;color:var(--fam);border:1px solid color-mix(in srgb, var(--fam) 40%, var(--line));border-radius:6px;padding:6px 8px}.modal h2{font-size:var(--step-2)}.modal-blurb{color:var(--muted);font-size:var(--step--1);margin:2px 0 0}.modal-head-actions{gap:8px;display:flex}.response{background:var(--bg-deep);border:1px solid var(--line-soft);border-radius:var(--radius-sm);width:100%;height:92px}.response-axis{stroke:var(--line);stroke-width:1px;stroke-dasharray:3 4}.modal-body{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.modal-amount{justify-content:center;display:flex}.modal-params{flex:1;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:14px;min-width:200px;display:grid}.param{justify-content:center;display:flex}.param-seg{flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:6px}.param-label{font-size:var(--step--2);color:var(--muted)}.perf{flex-direction:column;gap:14px;display:flex}.perf-pad{padding:12px}.xy{flex-direction:column;gap:10px;display:flex}.xy-assign,.xy-foot{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.xy-foot{justify-content:space-between}.xy-axis-sel{align-items:center;gap:8px;display:flex}.xy-axis-sel select{background:var(--bg-deep);color:var(--text);border:1px solid var(--line);min-height:36px;font-family:var(--font-mono);font-size:var(--step--1);border-radius:6px;max-width:190px;padding:6px 8px}.xy-surface{aspect-ratio:1;border:1px solid var(--line);border-radius:var(--radius-sm);background:radial-gradient(120% 120% at 50% 40%, #38e1c80f, transparent 70%), var(--bg-deep);cursor:crosshair;width:100%;max-height:46vh;position:relative;overflow:hidden}.xy-surface.playing{cursor:default;border-color:var(--accent-dim)}.xy-canvas{width:100%;height:100%;position:absolute;inset:0}.xy-badge{font-size:var(--step--2);color:var(--accent);letter-spacing:.1em;position:absolute;top:8px;right:10px}.xy-gesture{gap:8px;display:flex}.macros{border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg, var(--panel-raised), var(--panel));grid-template-columns:repeat(4,1fr);gap:10px;padding:14px;display:grid}.macro{justify-content:center;display:flex}@media (max-width:420px){.macros{grid-template-columns:repeat(2,1fr)}}.snapshots{flex-direction:column;gap:12px;padding:14px;display:flex}.ab{align-items:stretch;gap:12px;display:flex}.ab-btn{appearance:none;border:1px solid var(--line);background:var(--bg-deep);color:var(--muted);border-radius:var(--radius-sm);cursor:pointer;flex-direction:column;align-items:center;min-width:58px;padding:8px 14px;display:flex}.ab-btn.set{border-color:var(--accent-dim);color:var(--accent)}.ab-tag{font-family:var(--font-display);font-weight:800;font-size:var(--step-1)}.ab-sub{font-size:var(--step--2)}.ab-morph{flex-direction:column;flex:1;justify-content:center;gap:4px;display:flex}.ab-morph input[type=range]{width:100%;accent-color:var(--accent)}.preset-save{gap:8px;display:flex}.preset-save .text-input{flex:1}.preset-list{flex-direction:column;gap:4px;max-height:160px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.preset-list li{gap:6px;display:flex}.preset-name{text-align:left;appearance:none;border:1px solid var(--line-soft);background:var(--panel);color:var(--text);cursor:pointer;font-family:var(--font-mono);font-size:var(--step--1);border-radius:6px;flex:1;padding:8px 10px}.preset-name:hover{border-color:var(--accent-dim)}.snap-actions{flex-wrap:wrap;gap:8px;display:flex}
