@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Josefin+Sans:wght@300&family=Manrope:wght@400;500;600;700;800&display=swap";:root,:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f2eef4;--surface:#fff;--surface-2:#f9f6fa;--surface-3:#ece5f0;--border:#e2d9e7;--border-strong:#c8bbcf;--text:#231a26;--text-muted:#685d6d;--text-faint:#998e9e;--accent:#7d3f95;--accent-hover:#67307e;--accent-soft:#f2e6f6;--on-accent:#fff;--kicker:#8d4aa6;--value:#7d3f95;--grad-a:#f08cbc;--grad-b:#7d3f95;--danger:#c41a3d;--focus:#7d3f95;--toggle-off-knob:#fff;--ok:#1f9d5c;--warn:#d99a00;--shadow:0 1px 2px #32143c0f, 0 10px 30px -12px #32143c29;--pedal-shadow:#501e6461}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#120e14;--surface:#1b161e;--surface-2:#211b25;--surface-3:#2a222f;--border:#322a37;--border-strong:#4a3f51;--text:#efe9f2;--text-muted:#a99fae;--text-faint:#75697b;--accent:#ef9fc7;--accent-hover:#f7bdd9;--accent-soft:#3a2442;--on-accent:#241526;--kicker:#c79ad8;--value:#f7bdd9;--grad-a:#f7bdd9;--grad-b:#b16dcb;--danger:#ff6b84;--focus:#f7bdd9;--toggle-off-knob:#cfc4d4;--ok:#3ddc84;--warn:#ffc23d;--shadow:0 1px 2px #0000004d, 0 12px 32px -14px #0009;--pedal-shadow:#0009}:root{--pedal-body-top:#cc98d8;--pedal-body-bottom:#bd86cb;--pedal-edge:#a36cb2;--pedal-print:#fff;--pedal-print-wet:#f1e4f5;--pedal-print-loop:#fdd9ea;--pedal-frame-wet:#5f2a6e;--pedal-frame-loop:#f9d4e8;--pedal-pointer:#fff;--pedal-scale-active:#fff;--pedal-chip:#46165494;--pedal-knob-face:#f4cdf2;--pedal-knob-skirt:#e2a9e5;--pedal-knob-rib:#e8b3ea;--pedal-emblem-wet:#6a2e7e;--pedal-emblem-loop:#f6c6dd;--pedal-word:#fff;--pedal-focus:#fff;--led:#ff2d4f;--pedal-hw:#f7f1f8;--pedal-hw-inset:#e4d6ea;--pedal-hw-line:#5f2a6e;--pedal-jack:#3d2c44;--font-sans:"Manrope", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--font-display:"Josefin Sans", var(--font-sans);--radius:16px;--radius-sm:10px;--content:1440px;--gutter:24px;font-family:var(--font-sans);color:var(--text);background:var(--page);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased}*{box-sizing:border-box}body{background:var(--page);min-width:320px;margin:0;transition:background-color .25s}button,input,select{font:inherit;color:inherit}button{cursor:pointer}input[type=range]{accent-color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}button:disabled,input:disabled,select:disabled{cursor:not-allowed;opacity:.45}h1,h2,h3{margin:0}kbd{border:1px solid var(--border-strong);font:500 10px var(--font-mono);border-bottom-width:2px;border-radius:4px;padding:1px 5px}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.panel-kicker{color:var(--kicker);font:500 11px / 1.2 var(--font-mono);letter-spacing:.12em;text-transform:uppercase}.hint{color:var(--text-muted);margin:10px 0 0;font-size:12px}select,input[type=number],input[type=text]{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);width:100%;min-height:40px;color:var(--text);padding:8px 12px;transition:border-color .15s}select:hover,input[type=number]:hover,input[type=text]:hover{border-color:var(--text-faint)}input::placeholder{color:var(--text-faint)}.button{border-radius:var(--radius-sm);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-size:14px;font-weight:700;transition:background-color .15s,border-color .15s,color .15s,transform .1s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--accent);color:var(--on-accent)}.button.primary:not(:disabled):hover{background:var(--accent-hover)}.button.secondary{border-color:var(--border-strong);color:var(--text);background:0 0}.button.secondary:not(:disabled):hover{background:var(--surface-3)}.button.ghost{color:var(--text-muted);background:0 0}.button.ghost:not(:disabled):hover{background:var(--surface-3);color:var(--text)}.button.ghost.danger:not(:disabled):hover{color:var(--danger)}.button.small{min-height:34px;padding:0 12px;font-size:13px}.button-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.icon-button{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);justify-content:center;align-items:center;gap:6px;min-width:40px;height:40px;padding:0 12px;font-size:13px;font-weight:700;transition:background-color .15s;display:inline-flex}.icon-button:hover{background:var(--surface-3)}.icon-button svg{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.card{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:24px}.card-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.card h2{letter-spacing:-.02em;margin-top:6px;font-size:22px}.card p{color:var(--text-muted);margin:0 0 18px;font-size:13px;line-height:1.55}.app{flex-direction:column;min-height:100dvh;display:flex}.app-header{z-index:30;border-bottom:1px solid var(--border);background:color-mix(in srgb, var(--page) 86%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);position:sticky;top:0}.header-row{max-width:var(--content);padding:12px var(--gutter) 10px;grid-template-columns:1fr auto 1fr;align-items:center;gap:16px;margin:0 auto;display:grid}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-mark{background:radial-gradient(circle at 38% 70%, var(--pedal-emblem-wet) 0 7px, transparent 7.5px), radial-gradient(circle at 62% 72%, var(--pedal-emblem-loop) 0 7px, transparent 7.5px), radial-gradient(circle at 26% 22%, var(--pedal-knob-face) 0 3.5px, transparent 4px), radial-gradient(circle at 74% 22%, var(--pedal-knob-face) 0 3.5px, transparent 4px), radial-gradient(circle at 50% 22%, var(--pedal-knob-face) 0 3.5px, transparent 4px), linear-gradient(170deg, var(--pedal-body-top), var(--pedal-body-bottom));width:28px;height:40px;box-shadow:inset 0 0 0 1px var(--pedal-edge), 0 3px 8px -2px var(--pedal-shadow);border-radius:6px;flex:none;position:relative}.brand h1{letter-spacing:.1em;font-size:20px;font-weight:800;line-height:1}.brand h1 b{color:var(--accent);letter-spacing:.06em;margin-left:.35em;font-size:.7em;font-weight:700}.brand-sub{color:var(--text-muted);font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap;margin-top:4px;display:block}.view-nav{gap:4px;display:flex}.desktop-nav{background:var(--surface-3);border-radius:12px;padding:4px}.view-tab{min-height:38px;color:var(--text-muted);background:0 0;border:0;border-radius:9px;align-items:center;gap:8px;padding:0 18px;font-size:14px;transition:background-color .15s,color .15s;display:inline-flex}.view-tab:hover{color:var(--text)}.view-tab[aria-current=page]{background:var(--surface);color:var(--text);box-shadow:0 1px 3px #0000001f}.view-tab strong{font-weight:700}.view-count{background:var(--accent-soft);min-width:20px;color:var(--text);font:500 10px / 1.5 var(--font-mono);border-radius:999px;padding:1px 6px}.view-icon{width:18px;height:18px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor}.view-icon.pedal{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round'%3E%3Crect x='5' y='2' width='14' height='20' rx='3'/%3E%3Ccircle cx='9' cy='7' r='1.5'/%3E%3Ccircle cx='15' cy='7' r='1.5'/%3E%3Ccircle cx='12' cy='16' r='2.5'/%3E%3C/svg%3E")}.view-icon.synth{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linejoin='round'%3E%3Crect x='2' y='5' width='20' height='14' rx='2'/%3E%3Cpath d='M7 5v8M12 5v8M17 5v8M7 13v6M12 13v6M17 13v6'/%3E%3C/svg%3E")}.view-icon.presets{--icon:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h12v18l-6-4-6 4z'/%3E%3C/svg%3E")}.desktop-nav .view-icon{display:none}.header-actions{justify-self:end;align-items:center;gap:8px;display:flex}.theme-switch{border:1px solid var(--border);background:var(--surface);border-radius:12px;gap:2px;min-width:0;margin:0;padding:3px;display:flex}.theme-option{min-height:32px;color:var(--text-muted);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:0 10px 0 7px;font-size:13px;font-weight:700;transition:background-color .15s,color .15s;display:inline-flex}.theme-option:hover{color:var(--text)}.theme-option:has(input:focus-visible){outline:2px solid var(--focus);outline-offset:2px}.theme-option:has(input:checked){background:var(--surface-3);color:var(--text)}.theme-icon{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round;stroke-linejoin:round;width:16px;height:16px}.theme-option:has(input:checked) .theme-icon{color:var(--accent)}.install-control{position:relative}.install-help{z-index:40;border:1px solid var(--border);background:var(--surface);width:280px;box-shadow:var(--shadow);border-radius:12px;gap:6px;padding:14px 16px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.install-help strong{font-size:13px}.install-help span{color:var(--text-muted);font-size:12px;line-height:1.5}.midi-bar{max-width:var(--content);padding:0 var(--gutter) 12px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:12px 24px;margin:0 auto;display:grid}.connection-copy{align-items:center;gap:10px;min-width:0;display:flex}.connection-copy strong,.connection-copy small{display:block}.connection-copy strong{font-size:13px}.connection-copy small{color:var(--text-muted);margin-top:2px;font-size:11px}.status-dot{background:var(--text-faint);border-radius:50%;flex:none;width:10px;height:10px}.midi-bar.waiting .status-dot{background:var(--warn);box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 22%, transparent);animation:1.6s ease-in-out infinite pulse}.midi-bar.connected .status-dot{background:var(--ok);box-shadow:0 0 0 4px color-mix(in srgb, var(--ok) 22%, transparent)}@keyframes pulse{50%{opacity:.45}}.connection-fields{align-items:center;gap:10px;display:flex}.field{align-items:center;gap:8px;display:flex}.field>span{color:var(--text-muted);font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase}.field select{min-height:36px;padding:6px 10px;font-size:13px}.output-field select{width:240px}.channel-field select{width:64px}.connection-fields .button{min-height:36px}.midi-monitor{min-width:0;max-width:100%;color:var(--text-muted);font:400 12px var(--font-mono);white-space:nowrap;justify-self:end;align-items:center;gap:8px;display:flex;overflow:hidden}.midi-monitor>span{border:1px solid var(--border-strong);color:var(--text-faint);letter-spacing:.1em;border-radius:5px;flex:none;padding:2px 6px;font-size:9px}.app-main{width:100%;max-width:var(--content);padding:28px var(--gutter) 24px;flex:1;margin:0 auto}.app-footer{padding:8px var(--gutter) 28px;color:var(--text-faint);text-align:center;font-size:12px}.mobile-nav{display:none}.view-heading{margin-bottom:20px}.view-heading h2{letter-spacing:-.03em;margin-top:6px;font-size:30px}.pedal-workspace{grid-template-columns:minmax(380px,540px) minmax(0,1fr);align-items:start;gap:32px;display:grid}.pedal-stage{min-width:0;padding:8px 0 0}.pedal-hint{color:var(--text-muted);text-align:center;margin:22px 0 0;font-size:12px}.control-rail{gap:20px;min-width:0;display:grid}.slot-badge{background:var(--accent-soft);font:500 12px var(--font-mono);white-space:nowrap;border-radius:999px;padding:4px 10px}.program-stepper{grid-template-columns:52px 1fr 52px;gap:8px;display:grid}.step-button{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--surface);min-height:56px;font-size:22px;transition:background-color .15s}.step-button:not(:disabled):hover{background:var(--surface-3)}.program-stepper input{min-height:56px;font:500 26px var(--font-mono);text-align:center;-moz-appearance:textfield}.program-stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.program-stepper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.program-range{width:100%;margin:16px 0}.slot-note b{background:var(--accent-soft);width:18px;height:18px;color:var(--text);font:500 10px var(--font-mono);border-radius:50%;place-items:center;margin-right:4px;display:inline-grid}.parameter-section{border-top:1px solid var(--border)}.section-heading{text-align:left;background:0 0;border:0;grid-template-columns:1fr auto 14px;align-items:center;gap:12px;width:100%;min-height:54px;padding:0 4px;display:grid}.section-heading>span{font-size:15px;font-weight:700}.section-heading:hover>span{color:var(--accent)}.section-heading small{background:var(--surface-3);color:var(--text-muted);font:500 11px var(--font-mono);border-radius:999px;padding:2px 8px}.section-heading i{border-right:2px solid var(--text-muted);border-bottom:2px solid var(--text-muted);width:8px;height:8px;transition:transform .2s;transform:translateY(-2px)rotate(45deg)}.parameter-section.open .section-heading i{transform:translateY(2px)rotate(-135deg)}.controls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:2px 0 18px;display:grid}.range-control,.select-control,.toggle-control,.action-control{border:1px solid var(--border);background:var(--surface-2);min-height:88px;color:var(--text);text-align:left;border-radius:12px;padding:14px}.control-copy strong,.control-copy small{display:block}.control-copy strong{font-size:13px}.control-copy small,.action-control small{color:var(--text-muted);font:400 11px / 1.5 var(--font-mono);margin-top:4px}.range-control{grid-template-columns:1fr auto;align-content:space-between;gap:12px;display:grid}.range-control input{grid-column:1/-1;width:100%}.range-control output{color:var(--value);font:500 14px var(--font-mono)}.select-control{align-content:space-between;gap:10px;display:grid}.select-control select{min-height:36px;font-size:13px}.toggle-control{align-items:center;gap:12px;transition:border-color .15s,background-color .15s;display:flex}.toggle-control:hover{border-color:var(--border-strong)}.toggle-track{background:var(--border-strong);border-radius:999px;flex:none;width:40px;height:24px;padding:3px;transition:background-color .15s}.toggle-track span{background:var(--toggle-off-knob);border-radius:50%;width:18px;height:18px;transition:transform .18s;display:block;box-shadow:0 1px 2px #00000040}.toggle-control.on{border-color:color-mix(in srgb, var(--accent) 45%, var(--border));background:var(--accent-soft)}.toggle-control.on .toggle-track{background:var(--accent)}.toggle-control.on .toggle-track span{background:var(--on-accent);transform:translate(16px)}.dip-switch-banks{gap:16px;padding-bottom:18px;display:grid}.dip-bank-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:8px;display:flex}.dip-bank-heading strong{font-size:13px}.dip-bank-heading small{color:var(--text-muted);font-size:12px}.dip-switch-bank .controls-grid{padding:0}.dip-switches-section .toggle-control{min-height:64px;padding:10px 12px}.action-control{flex-direction:column;justify-content:center;transition:border-color .15s,background-color .15s;display:flex}.action-control strong{font-size:13px}.action-control:not(:disabled):hover{border-color:var(--border-strong);background:var(--surface-3)}.action-control.danger{border-color:color-mix(in srgb, var(--danger) 40%, var(--border));color:var(--danger)}.pedal-shell{--knob-size:64px;--nut-size:42px;border:1px solid var(--pedal-edge);isolation:isolate;background:linear-gradient(176deg, var(--pedal-body-top), var(--pedal-body-bottom));width:min(100%,500px);box-shadow:inset 0 1px 0 #fff6, inset 0 -8px 20px #5014641f, 0 2px 0 var(--pedal-edge), 0 30px 50px -20px var(--pedal-shadow);border-radius:20px;margin:0 auto;padding:24px 20px 18px;position:relative}.pedal-shell:before,.pedal-shell:after{content:"";z-index:-1;background:var(--pedal-jack);width:12px;height:52px;box-shadow:0 92px 0 var(--pedal-jack);border-radius:4px;position:absolute;top:37%}.pedal-shell:before{left:-12px}.pedal-shell:after{right:-12px}.pedal-columns{grid-template-rows:auto auto auto;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:12px;display:grid}.pedal-column{grid-row:span 3;grid-template-rows:subgrid;justify-items:center;row-gap:0;min-width:0;display:grid}.column-frame{grid-row:span 2;grid-template-rows:subgrid;width:100%;padding:12px 0 calc(var(--nut-size) / 2 + 6px);border:2px solid #0000;border-radius:14px;row-gap:16px;display:grid}.column-wet .column-frame{border-color:var(--pedal-frame-wet)}.column-loop .column-frame{border-color:var(--pedal-frame-loop)}.pedal-knob-control{text-align:center;flex-direction:column;align-self:start;align-items:center;min-width:0;display:flex}.pedal-knob{width:var(--knob-size);height:var(--knob-size);touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;display:grid;position:relative}.column-frame>:nth-child(2) .pedal-knob{margin-top:16px}.pedal-knob:has(input:focus-visible){outline:2px solid var(--pedal-focus);outline-offset:3px}.knob-cap{width:100%;height:100%;transform:rotate(var(--knob-rotation));background:radial-gradient(circle at 50% 50%, var(--pedal-knob-face) 0 62%, transparent 63%), repeating-conic-gradient(var(--pedal-knob-rib) 0 3deg, var(--pedal-knob-skirt) 3deg 6deg);border-radius:50%;display:block;position:relative;box-shadow:0 6px 9px -3px #46145a73,0 1px 2px #46145a4d,inset 0 0 0 1px #ffffff59}.knob-cap:before{content:"";background:radial-gradient(circle at 50% 28%,#ffffffb3,#0000 55%);border-radius:50%;position:absolute;inset:19%;box-shadow:inset 0 -3px 6px #aa5ab459}.knob-cap i{background:var(--pedal-pointer);border-radius:2px;width:3px;height:44%;position:absolute;top:6%;left:calc(50% - 1.5px);box-shadow:0 0 0 .5px #9646a040}.pedal-knob input{opacity:0;pointer-events:none;width:100%;height:100%;margin:0;position:absolute;inset:0}.pedal-knob-control>strong{color:var(--pedal-print);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;margin-top:7px;font-size:15px;font-weight:800;line-height:1.1}.pedal-knob-control>strong span{margin-left:4px;font-size:.75em}.column-wet .pedal-knob-control>strong{color:var(--pedal-print-wet)}.column-loop .pedal-knob-control>strong{color:var(--pedal-print-loop)}.pedal-knob-control>output{background:var(--pedal-chip);color:#fff;max-width:100%;font:500 11px / 1.45 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin-top:5px;padding:1px 7px;overflow:hidden}.clock-scale{width:calc(var(--knob-size) * 1.95);height:calc(var(--knob-size) * 1.95);pointer-events:none;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.clock-scale line{stroke:var(--pedal-print);stroke-width:1.2px;opacity:.7}.clock-scale text{fill:var(--pedal-print);opacity:.8;font:800 10px var(--font-sans);text-anchor:middle;transition:opacity .15s}.clock-scale .selected line,.clock-scale .selected text{opacity:1}.clock-scale .selected text{fill:var(--pedal-scale-active);text-decoration:underline}.pedal-switch-control{width:100%;min-width:0;margin:calc(var(--nut-size) / -2 - 4px) 0 0;text-align:center;border:0;align-self:start;padding:0}.switch-hardware{height:calc(var(--nut-size) + 8px);cursor:pointer;place-items:center;display:grid}.switch-nut{width:var(--nut-size);height:var(--nut-size);overflow:visible}.switch-nut polygon{fill:var(--pedal-hw);stroke:var(--pedal-hw-line);stroke-width:1.6px;stroke-linejoin:round}.switch-washer{fill:var(--pedal-hw-inset);stroke:var(--pedal-hw-line);stroke-width:1.4px}.switch-lever{transform-origin:0 0;transition:transform .18s cubic-bezier(.3,1.4,.5,1)}.switch-lever rect,.switch-lever circle{fill:var(--pedal-hw);stroke:var(--pedal-hw-line);stroke-width:1.4px}.switch-hardware[data-position="0"] .switch-lever{transform:rotate(-34deg)}.switch-hardware[data-position="2"] .switch-lever{transform:rotate(34deg)}.switch-legend{min-height:62px}.switch-options{justify-content:center;gap:1px;display:flex}.switch-options button{min-width:0;color:var(--pedal-print);opacity:.78;font:800 11px / 1 var(--font-sans);letter-spacing:.02em;text-transform:uppercase;background:0 0;border:0;border-radius:5px;padding:3px 2px;transition:background-color .15s,opacity .15s}.switch-wet .switch-options button,.switch-loop .switch-options button{writing-mode:vertical-rl;text-align:right;min-height:58px;transform:rotate(180deg)}.switch-center .switch-options button{align-items:center;gap:1px;min-height:22px;padding:3px 5px;display:inline-flex}.switch-options button:hover{opacity:1;background:#3c0a461f}.switch-options button.selected{background:var(--pedal-chip);color:#fff;opacity:1}.switch-options button:focus-visible{outline-color:var(--pedal-focus)}.pedal-icon{fill:currentColor;flex:none;width:12px;height:12px}.pedal-icon.loop{fill:none;stroke:currentColor;stroke-width:2px;stroke-linecap:round}.routing-bracket{border:1.5px solid var(--pedal-print);opacity:.8;width:72%;height:7px;color:var(--pedal-print);border-top:0;margin:3px auto 0;display:block;position:relative}.routing-bracket .pedal-icon{width:9px;height:12px;position:absolute;top:6px;left:50%;transform:translate(-50%)}.pedal-emblem{aspect-ratio:300/180;margin:6px -2px 0;position:relative}.pedal-emblem-art{z-index:-1;width:100%;height:100%;position:absolute;inset:0}.emblem-wet{fill:var(--pedal-emblem-wet);opacity:.94}.emblem-loop{fill:var(--pedal-emblem-loop)}.emblem-stripes line{stroke:var(--pedal-body-top)}.wordmark{color:var(--pedal-word);font:300 clamp(42px, 13vw, 58px) / 1 var(--font-display);letter-spacing:.14em;text-indent:.14em;justify-content:center;align-items:center;gap:6px;display:flex;position:absolute;top:25%;left:0;right:0}.wordmark small{font:700 11px / 1 var(--font-sans);letter-spacing:.04em;text-indent:0;border:0;border-left:1px solid;border-right:1px solid;padding:2px 3px}.pedal-led-row{grid-template-columns:repeat(3,1fr);align-items:end;display:grid;position:absolute;bottom:11%;left:8%;right:8%}.pedal-led,.center-tap{color:var(--pedal-word);background:0 0;border:0;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:4px;display:flex}.pedal-led:focus-visible,.center-tap:focus-visible,.pedal-footswitch:focus-visible{outline-color:var(--pedal-focus)}.pedal-led>span,.center-tap>span{border:1.6px solid var(--pedal-hw-line);background:var(--pedal-hw);border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.pedal-led>span i{background:var(--pedal-hw-line);border-radius:50%;width:11px;height:11px;transition:background .15s,box-shadow .15s}.pedal-led.on>span i{background:var(--led);box-shadow:0 0 10px 3px color-mix(in srgb, var(--led) 60%, transparent)}.center-tap>span i{border:1.4px solid var(--pedal-hw-line);background:var(--pedal-hw-inset);border-radius:50%;width:14px;height:14px;transition:transform .1s}.center-tap:active>span i{transform:scale(.85)}.pedal-led small,.center-tap small{font:700 10px var(--font-mono);letter-spacing:.06em;text-transform:uppercase;text-shadow:0 1px 2px #28003266}.pedal-foot-row{grid-template-columns:repeat(2,1fr);margin-top:4px;display:grid}.pedal-footswitch{color:var(--pedal-print);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;padding:6px;display:flex}.footswitch-led{border:1.5px solid var(--pedal-hw-line);background:var(--pedal-hw-line);border-radius:50%;width:8px;height:8px;margin-bottom:7px;transition:background .15s,box-shadow .15s}.pedal-footswitch.on .footswitch-led{background:var(--led);box-shadow:0 0 10px 2px color-mix(in srgb, var(--led) 70%, transparent)}.footswitch-metal{border:2px solid var(--pedal-hw-line);background:var(--pedal-hw);border-radius:24%;place-items:center;width:72px;height:72px;transition:transform 80ms;display:grid}.footswitch-metal i{border:1.6px solid var(--pedal-hw-line);background:var(--pedal-hw-inset);border-radius:50%;width:52px;height:52px}.pedal-footswitch:active .footswitch-metal{transform:translateY(2px)scale(.98)}.pedal-footswitch small{font:700 10px / 1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;align-items:center;gap:5px;margin-top:8px;display:inline-flex}.pedal-footswitch small .pedal-icon{width:11px;height:11px}.pedal-footswitch:not(.on) small{opacity:.75}.pedal-led:hover>span,.center-tap:hover>span,.pedal-footswitch:hover .footswitch-metal,.switch-hardware:hover .switch-nut{filter:brightness(1.04)}.pedal-secondary{border:1px dashed color-mix(in srgb, var(--pedal-print) 70%, transparent);max-width:100%;color:var(--pedal-print);font:700 10px / 1.25 var(--font-mono);letter-spacing:.03em;text-align:center;text-transform:uppercase;border-radius:8px;justify-items:center;gap:1px;margin-top:6px;padding:3px 7px 4px;transition:background-color .15s,border-color .15s,color .15s;animation:.2s ease-out secondary-in;display:grid}.pedal-secondary>span{opacity:.85}.pedal-secondary b{text-transform:none;align-items:center;gap:4px;font-weight:500;display:inline-flex}.pedal-secondary.active{border-style:solid;border-color:var(--pedal-print);background:var(--pedal-chip)}.pedal-switch-control .pedal-secondary{margin:14px auto 0}@keyframes secondary-in{0%{opacity:0;transform:translateY(-3px)}}.waveform-glyph{flex:none;width:24px;height:12px;overflow:visible}.waveform-glyph path{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round}.pedal-secondary .waveform-glyph{width:20px;height:10px}.secondary-target{display:grid}.secondary-target:has(.waveform-control){grid-column:1/-1}.controls-grid:has(.waveform-control){grid-auto-flow:dense}.waveform-control{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;min-width:0;margin:0;padding:14px}.waveform-control legend{float:left;width:100%;margin-bottom:10px;padding:0}.waveform-options{clear:both;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;display:grid}.waveform-options button{border:1px solid var(--border);background:var(--surface);min-height:58px;color:var(--text-muted);border-radius:10px;align-content:center;place-items:center;gap:6px;padding:8px 2px;transition:border-color .15s,background-color .15s,color .15s;display:grid}.waveform-options button:not(:disabled):hover{border-color:var(--border-strong);color:var(--text)}.waveform-options button small{font:500 10px var(--font-mono)}.waveform-options button.selected{border-color:var(--accent);background:var(--accent-soft);color:var(--value)}.synth-workspace{gap:20px;display:grid}.synth-intro,.synth-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:28px}.synth-intro{background:radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--grad-a) 22%, transparent), transparent 40%), radial-gradient(circle at 70% 120%, color-mix(in srgb, var(--grad-b) 18%, transparent), transparent 45%), var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:24px;display:grid}.synth-intro h2{letter-spacing:-.03em;margin-top:6px;font-size:30px}.synth-intro p{max-width:620px;color:var(--text-muted);margin:10px 0 0;font-size:14px;line-height:1.6}.synth-ready-card{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-items:center;gap:12px;padding:14px 16px;display:flex}.synth-ready-light{background:var(--warn);width:10px;height:10px;box-shadow:0 0 0 4px color-mix(in srgb, var(--warn) 22%, transparent);border-radius:50%;flex:none;animation:1.6s ease-in-out infinite pulse}.synth-ready-card strong,.synth-ready-card small{display:block}.synth-ready-card strong{font-size:13px}.synth-ready-card small{color:var(--text-muted);margin-top:2px;font-size:11px}.synth-section-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:20px;display:flex}.synth-section-heading h3{letter-spacing:-.02em;margin-top:6px;font-size:20px}.synth-section-heading p{max-width:420px;color:var(--text-muted);text-align:right;margin:0;font-size:13px;line-height:1.5}.output-mode-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.output-mode-grid button{border:1px solid var(--border);background:var(--surface-2);text-align:left;border-radius:12px;flex-direction:column;gap:6px;min-height:136px;padding:18px;transition:border-color .15s,background-color .15s;display:flex;position:relative}.output-mode-grid button:hover{border-color:var(--border-strong)}.output-mode-grid button small{color:var(--kicker);font:500 10px var(--font-mono);letter-spacing:.1em;text-transform:uppercase}.output-mode-grid button strong{font-size:18px}.output-mode-grid button span{color:var(--text-muted);font-size:13px;line-height:1.5}.output-mode-grid button:after{content:"";border:2px solid var(--border-strong);border-radius:50%;width:18px;height:18px;position:absolute;top:18px;right:18px}.output-mode-grid button.selected{border-color:var(--accent);background:var(--accent-soft)}.output-mode-grid button.selected:after{border-color:var(--accent);background:radial-gradient(circle, var(--accent) 0 4px, transparent 4.5px)}.envelope-layout{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:16px;display:grid}.envelope-display{border:1px solid var(--border);background:linear-gradient(var(--border) 1px, transparent 1px) 0 0 / 100% 25%, var(--surface-2);border-radius:12px;flex-direction:column;height:100%;min-height:260px;max-height:340px;padding:18px 18px 10px;transition:opacity .2s;display:flex}.envelope-display svg{flex:1;width:100%;height:100%;min-height:0;overflow:visible}.envelope-display polyline{fill:none;stroke:url(#envelope-gradient);stroke-width:3px;stroke-linejoin:round;vector-effect:non-scaling-stroke}.envelope-fill{fill:var(--grad-b);opacity:.12}.envelope-labels{color:var(--text-muted);font:500 11px var(--font-mono);justify-content:space-between;margin-top:8px;display:flex}.envelope-section:not(.enabled) .envelope-display{opacity:.5}.envelope-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.synth-slider{border:1px solid var(--border);background:var(--surface-2);border-radius:12px;align-content:space-between;gap:14px;padding:14px;display:grid}.synth-slider-heading{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.synth-slider-heading>span strong,.synth-slider-heading>span small{display:block}.synth-slider-heading>span strong{font-size:13px}.synth-slider-heading>span small{color:var(--text-muted);font:400 10px / 1.5 var(--font-mono);margin-top:3px}.synth-slider output{color:var(--value);font:500 14px var(--font-mono);white-space:nowrap}.synth-slider input{background:linear-gradient(to right, var(--synth-accent) var(--synth-progress), var(--border-strong) var(--synth-progress));appearance:none;border-radius:999px;width:100%;height:6px;margin:8px 0}.synth-slider input::-webkit-slider-thumb{border:3px solid var(--synth-accent);background:var(--surface);appearance:none;border-radius:50%;width:20px;height:20px;box-shadow:0 1px 3px #0000004d}.synth-slider input::-moz-range-thumb{border:3px solid var(--synth-accent);background:var(--surface);border-radius:50%;width:14px;height:14px}.synth-slider button{border:1px solid var(--border-strong);background:0 0;border-radius:8px;justify-self:start;min-height:30px;padding:0 12px;font-size:12px;font-weight:700}.synth-slider button:hover{background:var(--surface-3)}.octave-control{margin-bottom:16px}.octave-copy{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:10px;display:flex}.octave-copy strong{font-size:13px}.octave-copy small{color:var(--text-muted);font:400 11px var(--font-mono)}.octave-options{grid-template-columns:repeat(9,minmax(0,1fr));gap:6px;display:grid}.octave-options button{border:1px solid var(--border);background:var(--surface-2);border-radius:10px;place-content:center;gap:2px;min-height:64px;padding:8px 4px;transition:border-color .15s,background-color .15s;display:grid}.octave-options button:hover{border-color:var(--border-strong)}.octave-options button strong{font:500 20px / 1 var(--font-mono)}.octave-options button span{display:none}.octave-options button small{color:var(--text-muted);font:400 9px var(--font-mono)}.octave-options button.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.octave-options button.selected small{color:inherit;opacity:.8}.performance-controls{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.browser-presets-panel{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.preset-create h3,.preset-collection-heading h3{letter-spacing:-.01em;font-size:18px}.preset-create h3{margin-top:6px}.preset-create p{margin:8px 0 18px}.preset-create label{color:var(--text-muted);font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;display:block}.preset-create-row{grid-template-columns:1fr auto;gap:8px;display:grid}.preset-create-row input{min-height:44px}.preset-collection{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);padding:8px 24px 12px}.preset-collection-heading{justify-content:space-between;align-items:baseline;padding:16px 0 12px;display:flex}.preset-collection-heading small{color:var(--text-muted);font:500 11px var(--font-mono)}.preset-empty{border:1px dashed var(--border-strong);text-align:center;border-radius:12px;gap:6px;margin:4px 0 14px;padding:40px 20px;display:grid}.preset-empty strong{font-size:14px}.preset-empty span{color:var(--text-muted);font-size:13px}.preset-list{margin:0;padding:0;list-style:none}.preset-list li{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;padding:14px 0;display:flex}.preset-meta{min-width:0}.preset-meta strong,.preset-meta small{display:block}.preset-meta strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.preset-meta small{color:var(--text-muted);margin-top:3px;font-size:12px}.preset-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;display:flex}.preset-rename{grid-template-columns:1fr auto auto;align-items:center;gap:8px;width:100%;display:grid}.preset-rename input{min-width:0}@media (width<=1180px){.pedal-workspace{grid-template-columns:minmax(0,1fr)}.control-rail{grid-template-columns:minmax(280px,.8fr) minmax(0,1.4fr);align-items:start}.midi-bar{grid-template-columns:auto auto}.midi-monitor{grid-column:1/-1;justify-self:start}}@media (width<=860px){:root{--gutter:16px}.app{padding-bottom:calc(64px + env(safe-area-inset-bottom))}.app-header{position:static}.header-row{grid-template-columns:minmax(0,1fr) auto}.desktop-nav{display:none}.mobile-nav{z-index:40;padding:4px 8px env(safe-area-inset-bottom);border-top:1px solid var(--border);background:color-mix(in srgb, var(--surface) 92%, transparent);-webkit-backdrop-filter:saturate(1.4)blur(14px);grid-template-columns:repeat(3,1fr);gap:0;display:grid;position:fixed;inset:auto 0 0}.mobile-nav .view-tab{flex-direction:column;justify-content:center;gap:3px;min-height:56px;padding:0;font-size:11px;position:relative}.mobile-nav .view-tab[aria-current=page]{box-shadow:none;color:var(--accent);background:0 0}.mobile-nav .view-tab[aria-current=page]:before{content:"";background:currentColor;border-radius:0 0 3px 3px;width:28px;height:3px;position:absolute;top:-4px}.mobile-nav .view-count{position:absolute;top:6px;left:calc(50% + 6px)}.midi-bar{grid-template-columns:minmax(0,1fr);gap:10px}.connection-fields{flex-wrap:wrap}.output-field{flex:1}.output-field select{width:100%}.connection-fields>.button{flex:1}.midi-monitor{grid-column:auto}.app-main{padding-top:20px}.control-rail,.browser-presets-panel,.synth-intro,.envelope-layout,.output-mode-grid,.performance-controls{grid-template-columns:minmax(0,1fr)}.output-mode-grid button{min-height:0}.octave-options{grid-template-columns:repeat(5,minmax(0,1fr))}.synth-section-heading{flex-direction:column;align-items:flex-start;gap:12px}.synth-section-heading p{text-align:left}.app-footer{padding-bottom:20px}}@media (width<=560px){.brand-sub,.theme-label,.icon-button-label{display:none}.theme-option{padding:0 7px}.icon-button{padding:0}.card,.synth-intro,.synth-section{padding:20px 16px}.preset-collection{padding:4px 16px 8px}.controls-grid,.envelope-controls{grid-template-columns:minmax(0,1fr)}.preset-list li{flex-direction:column;align-items:stretch;gap:10px}.preset-actions{justify-content:flex-start}.preset-rename{grid-template-columns:1fr}.pedal-shell{--knob-size:56px;--nut-size:38px;border-radius:18px;padding:22px 12px 16px}.pedal-columns{gap:6px}.pedal-led-row{left:4%;right:4%}.footswitch-metal{width:64px;height:64px}.footswitch-metal i{width:46px;height:46px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
