@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap";:root,:root[data-theme=pink]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--page:#f3eeea;--surface:#fff;--surface-2:#faf6f3;--surface-3:#f0e8e3;--border:#e6dbd5;--border-strong:#cfc1ba;--text:#221e1e;--text-muted:#6d6260;--text-faint:#9b8f8b;--accent:#df1a4b;--accent-hover:#c2103d;--accent-soft:#fde6ec;--on-accent:#fff;--kicker:#df1a4b;--value:#c2103d;--grad-a:#f5b829;--grad-b:#ec2758;--danger:#c41230;--focus:#df1a4b;--toggle-off-knob:#fff;--ok:#1f9d5c;--warn:#d99a00;--shadow:0 1px 2px #46141e0f, 0 10px 30px -12px #46141e24;--pedal-body-top:#ff3d60;--pedal-body-bottom:#df1d50;--pedal-edge:#b01241;--pedal-texture:#ffc4465c;--pedal-print:#ffd23f;--pedal-print-alt:#3b0716;--pedal-print-sub:#4d0a1d;--pedal-pointer:#ffd23f;--pedal-pointer-alt:#fff;--pedal-scale-active:#fff;--pedal-arc:#ffd23f;--pedal-arc-track:#3c001242;--pedal-chip:#3404129e;--pedal-sun:#ff8a1f;--pedal-sun-line:#ffcf45;--pedal-word-bad:#fff;--pedal-word-mood:#fff;--pedal-focus:#fff;--pedal-shadow:#960a3261;--led:#ff2a1f}:root[data-theme=grey]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--page:#141516;--surface:#1c1e20;--surface-2:#222528;--surface-3:#2a2e31;--border:#2f3337;--border-strong:#464b50;--text:#eceef0;--text-muted:#a1a7ad;--text-faint:#6f767c;--accent:#eceef0;--accent-hover:#fff;--accent-soft:#2c3034;--on-accent:#141516;--kicker:#a1a7ad;--value:#fff;--grad-a:#fff;--grad-b:#7b838a;--danger:#ff6b66;--focus:#fff;--toggle-off-knob:#c3c8cc;--ok:#3ddc84;--warn:#ffc23d;--shadow:0 1px 2px #0000004d, 0 12px 32px -14px #0009;--pedal-body-top:#5c6267;--pedal-body-bottom:#43484c;--pedal-edge:#2c3033;--pedal-texture:#dee4e93d;--pedal-print:#fff;--pedal-print-alt:#fff;--pedal-print-sub:#c5cacd;--pedal-pointer:#fff;--pedal-pointer-alt:#fff;--pedal-scale-active:#fff;--pedal-arc:#fff;--pedal-arc-track:#00000047;--pedal-chip:#0a0c0e94;--pedal-sun:#8e959a;--pedal-sun-line:#c8cdd1;--pedal-word-bad:#d3d7da;--pedal-word-mood:#fff;--pedal-focus:#fff;--pedal-shadow:#0000008c;--led:#ff3b30}:root{--font-sans:"Manrope", system-ui, sans-serif;--font-mono:"DM Mono", ui-monospace, monospace;--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 50% 66%, var(--pedal-sun) 0 6px, transparent 6.5px), radial-gradient(circle at 26% 22%, #151515 0 3.5px, transparent 4px), radial-gradient(circle at 74% 22%, #151515 0 3.5px, transparent 4px), radial-gradient(circle at 50% 22%, #151515 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);font-weight:500}:root[data-theme=grey] .brand h1 b{color:var(--text-muted)}.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;padding:3px;display:flex}.theme-option{min-height:32px;color:var(--text-muted);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[aria-checked=true]{background:var(--surface-3);color:var(--text)}.theme-swatch{border-radius:50%;width:18px;height:18px;box-shadow:inset 0 0 0 1px #0000002e}.theme-option.pink .theme-swatch{background:radial-gradient(circle at 50% 70%,#ff8a1f 0 28%,#0000 30%),linear-gradient(160deg,#ff3d60,#df1d50)}.theme-option.grey .theme-swatch{background:radial-gradient(circle at 50% 70%,#a9b0b5 0 28%,#0000 30%),linear-gradient(160deg,#5c6267,#43484c)}.theme-option[aria-checked=true] .theme-swatch{box-shadow:inset 0 0 0 1px #0000002e, 0 0 0 2px var(--surface), 0 0 0 3.5px var(--text)}.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,520px) 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}.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)}:root[data-theme=grey] .section-heading:hover>span{color:var(--text)}.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 10px/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{border:1px solid var(--pedal-edge);isolation:isolate;background:linear-gradient(172deg, var(--pedal-body-top), var(--pedal-body-bottom));width:min(100%,460px);box-shadow:inset 0 1px 0 #ffffff59, inset 0 -10px 24px #00000024, 0 2px 0 var(--pedal-edge), 0 30px 50px -20px var(--pedal-shadow);border-radius:22px;margin:0 auto;padding:34px 24px 22px;transition:background .3s;position:relative}.pedal-shell:before,.pedal-shell:after{content:"";z-index:-2;background:linear-gradient(90deg,#2b2b2b,#575757 50%,#2b2b2b);border-radius:5px;width:14px;height:64px;position:absolute;top:34%;box-shadow:0 86px #3a3a3a}.pedal-shell:before{left:-9px}.pedal-shell:after{right:-9px}.pedal-texture{z-index:-1;clip-path:inset(0 round 22px);pointer-events:none;width:100%;height:100%;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 62%,#0000 92%);mask-image:linear-gradient(#000 0 62%,#0000 92%)}.pedal-texture path{fill:none;stroke:var(--pedal-texture);stroke-width:.55px}.pedal-knobs{grid-template-columns:repeat(3,1fr);gap:22px 6px;display:grid}.pedal-knob-control{text-align:center;flex-direction:column;align-items:center;min-width:0;display:flex}.pedal-knob{touch-action:none;cursor:ns-resize;-webkit-user-select:none;user-select:none;border-radius:50%;place-items:center;width:84px;height:84px;display:grid;position:relative}.pedal-knob:has(input:focus-visible){outline:2px solid var(--pedal-focus);outline-offset:3px}.knob-arc{pointer-events:none;position:absolute;inset:0;overflow:visible;transform:rotate(135deg)}.knob-arc circle{fill:none;stroke-width:3.5px;stroke-linecap:round}.knob-arc-track{stroke:var(--pedal-arc-track)}.knob-arc-value{stroke:var(--pedal-arc);transition:stroke-width .15s}.alt-print .knob-arc-value{stroke:var(--pedal-pointer-alt)}.pedal-knob:hover .knob-arc-value,.pedal-knob:active .knob-arc-value{stroke-width:5px}.knob-cap{width:62px;height:62px;transform:rotate(var(--knob-rotation));background:radial-gradient(circle at 50% 30%,#3b3b3b,#121212 72%);border-radius:50%;display:block;position:relative;box-shadow:0 7px 10px -2px #00000080,0 2px 2px #0006,inset 0 1px #ffffff2e}.knob-cap:before{content:"";background:repeating-conic-gradient(#ffffff17 0 3deg, transparent 3deg 7deg);border-radius:50%;position:absolute;inset:0;-webkit-mask:radial-gradient(circle,#0000 0 72%,#000 74%);mask:radial-gradient(circle,#0000 0 72%,#000 74%)}.knob-cap i{background:var(--pedal-pointer);border-radius:2px;width:4px;height:24px;position:absolute;top:5px;left:calc(50% - 2px)}.alt-print .knob-cap i{background:var(--pedal-pointer-alt)}.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:.04em;text-transform:uppercase;margin-top:6px;font-size:13px;font-weight:800;line-height:1}.pedal-knob-control.alt-print>strong{color:var(--pedal-print-alt)}.pedal-knob-control>small{color:var(--pedal-print-sub);font:500 9px var(--font-mono);letter-spacing:.04em;text-transform:uppercase;margin-top:3px}.pedal-knob-control>output{background:var(--pedal-chip);color:#fff;max-width:100%;font:500 10px/1.4 var(--font-mono);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;margin-top:6px;padding:2px 7px;overflow:hidden}.clock-scale,.radio-station-labels{pointer-events:none;position:absolute;top:50%;left:50%;overflow:visible;transform:translate(-50%,-50%)}.clock-scale{width:150px;height:150px}.clock-scale text{fill:var(--pedal-print-alt);opacity:.62;font:700 7.5px var(--font-mono);text-anchor:middle;transition:opacity .15s}.clock-scale text.selected{fill:var(--pedal-scale-active);opacity:1}.radio-station-labels{z-index:4;visibility:hidden;opacity:0;width:136px;height:136px;transition:opacity .2s}.radio-mode .radio-station-labels{visibility:visible;opacity:1}.radio-station-labels text{fill:var(--pedal-print-sub);font:700 8px var(--font-mono);letter-spacing:-.04em;text-anchor:middle;text-transform:uppercase}.radio-station-labels text.selected{fill:var(--pedal-scale-active)}.pedal-switches{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:20px;display:grid}.pedal-switch-control{text-align:center;border:0;min-width:0;margin:0;padding:0}.switch-hardware{cursor:pointer;place-items:center;height:52px;display:grid}.switch-nut{background:conic-gradient(#e8ebed,#8e959a 15%,#fff 30%,#8a9095 52%,#f4f6f7 76%,#8e959a 90%,#e8ebed);border-radius:50%;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 4px 6px -1px #00000073,inset 0 0 0 4px #0000001f}.switch-nut i{transform-origin:50% 84%;background:linear-gradient(90deg,#7d848a,#f6f7f8 45%,#a5abb0 70%,#6b7277);border-radius:7px;width:13px;height:30px;transition:transform .18s cubic-bezier(.3,1.4,.5,1);box-shadow:0 2px 3px #0006}.switch-hardware[data-position="0"] .switch-nut i{transform:rotate(-32deg)}.switch-hardware[data-position="2"] .switch-nut i{transform:rotate(32deg)}.switch-options{justify-content:center;gap:2px;display:flex}.switch-options button{min-width:0;min-height:26px;color:var(--pedal-print-sub);font:500 9px/1.15 var(--font-mono);letter-spacing:-.02em;text-transform:uppercase;background:0 0;border:0;border-radius:5px;flex:1;padding:2px 1px;transition:background-color .15s,color .15s}.switch-options button:hover{background:#0000001a}.switch-options button.selected{background:var(--pedal-chip);color:#fff}.switch-options button:focus-visible{outline-color:var(--pedal-focus)}.switch-caption{color:var(--pedal-print-sub);opacity:.8;font:500 8px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;margin-top:4px;display:block}.pedal-brand{place-items:center;height:118px;margin-top:6px;display:grid;position:relative}.pedal-sun{z-index:-1;width:150px;height:150px;position:absolute;top:50%;left:50%;transform:translate(-50%,-30%)}.pedal-sun-disc{fill:var(--pedal-sun)}.pedal-sun path{fill:none;stroke:var(--pedal-sun-line);stroke-width:1.1px}.wordmark{color:var(--pedal-word-mood);letter-spacing:.1em;text-shadow:0 2px 6px #00000026;font-size:clamp(34px,9vw,44px);font-weight:600;line-height:1}.wordmark b{color:var(--pedal-word-bad);font-weight:400}.pedal-led-row{grid-template-columns:repeat(3,1fr);align-items:end;padding:0 28px;display:grid}.pedal-led,.center-tap{min-height:52px;color:var(--pedal-print-sub);background:0 0;border:0;border-radius:10px;flex-direction:column;justify-content:flex-end;align-items:center;gap:5px;padding:4px;display:flex}.pedal-led:focus-visible,.center-tap:focus-visible,.pedal-footswitch:focus-visible{outline-color:var(--pedal-focus)}.pedal-led>span{background:radial-gradient(circle at 40% 35%,#5d1b1b,#170606 70%);border:3px solid #1d1d1d;border-radius:50%;width:22px;height:22px;transition:background .15s,box-shadow .15s;box-shadow:0 2px 3px #0006}.pedal-led.on>span{background:radial-gradient(circle at 40% 35%, #fff 0 10%, var(--led) 46%, #7a0700 100%);box-shadow:0 0 16px 2px color-mix(in srgb, var(--led) 70%, transparent), 0 2px 3px #0006}.pedal-led small,.center-tap small{font:500 8px var(--font-mono);letter-spacing:.06em;text-transform:uppercase}.center-tap>span{background:conic-gradient(#e8ebed,#8e959a 15%,#fff 30%,#8a9095 52%,#f4f6f7 76%,#8e959a 90%,#e8ebed);border-radius:50%;width:32px;height:32px;transition:transform .1s;box-shadow:0 3px 5px #0006,inset 0 0 0 9px #0000001a}.center-tap:active>span{transform:scale(.92)}.pedal-foot-row{grid-template-columns:repeat(2,1fr);margin-top:10px;display:grid}.pedal-footswitch{color:var(--pedal-print-sub);background:0 0;border:0;border-radius:14px;flex-direction:column;align-items:center;padding:6px;display:flex}.footswitch-led{background:#3a0d0d;border:2px solid #1d1d1d;border-radius:50%;width:9px;height:9px;margin-bottom:8px;transition:background .15s,box-shadow .15s}.pedal-footswitch.on .footswitch-led{background:var(--led);box-shadow:0 0 12px 2px color-mix(in srgb, var(--led) 70%, transparent)}.footswitch-metal{background:conic-gradient(#d6dadd,#81888d 11%,#fbfcfc 25%,#7d8489 44%,#e4e7e9 60%,#858c91 78%,#d6dadd);border-radius:50%;place-items:center;width:76px;height:76px;transition:transform 80ms;display:grid;box-shadow:0 7px 10px -2px #00000080,inset 0 0 0 3px #00000026}.footswitch-metal i{background:radial-gradient(circle at 40% 30%,#fbfcfc,#9aa1a6 75%);border-radius:50%;width:54px;height:54px;box-shadow:inset 0 0 0 2px #00000024,0 1px 2px #0000004d}.pedal-footswitch:active .footswitch-metal{transform:translateY(2px)scale(.98)}.pedal-footswitch small{font:500 8px/1.4 var(--font-mono);letter-spacing:.06em;text-transform:uppercase;margin-top:8px}.pedal-footswitch small b{color:var(--pedal-print);font-weight:500;display:block}.pedal-footswitch:not(.on) small b{opacity:.7}.pedal-led:hover>span,.center-tap:hover>span,.pedal-footswitch:hover .footswitch-metal,.switch-hardware:hover .switch-nut{filter:brightness(1.08)}.flip-panel{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow);margin-top:32px;padding:28px}.flip-heading{justify-content:space-between;align-items:flex-end;gap:24px;display:flex}.flip-heading h2{letter-spacing:-.02em;margin-top:6px;font-size:22px}.flip-heading p{max-width:560px;color:var(--text-muted);margin:8px 0 0;font-size:13px;line-height:1.55}.flip-status{flex:none;align-items:center;gap:12px;display:flex}.flip-status>span{color:var(--text-muted);font:500 12px var(--font-mono);align-items:center;gap:8px;display:inline-flex}.flip-status>span:before{content:"";background:var(--text-faint);border-radius:50%;width:8px;height:8px}.flip-status.active>span{color:var(--text)}.flip-status.active>span:before{background:var(--led);box-shadow:0 0 0 4px color-mix(in srgb, var(--led) 20%, transparent)}.flip-current{background:var(--surface-2);border:1px solid var(--border);border-radius:12px;grid-template-columns:150px 1fr 170px;align-items:center;gap:16px;margin-top:22px;padding:18px 20px;display:grid}.flip-current span{color:var(--text-muted);font:500 10px var(--font-mono);letter-spacing:.08em;text-transform:uppercase;display:block}.flip-chord-number strong,.flip-midi-value strong{font:500 34px/1 var(--font-mono);margin-top:4px;display:block}.flip-chord-number strong{color:var(--value)}.flip-current-notes{flex-wrap:wrap;gap:8px;display:flex}.flip-current-notes b{background:var(--accent);color:var(--on-accent);font:500 14px var(--font-mono);border-radius:999px;padding:6px 12px}.flip-midi-value{text-align:right}.flip-midi-value small{color:var(--text-muted);font:400 11px var(--font-mono)}.flip-library-heading{justify-content:space-between;align-items:baseline;gap:12px;margin:24px 0 12px;display:flex}.flip-library-heading strong{font-size:14px}.flip-library-heading small{color:var(--text-muted);font-size:12px}.flip-chord-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr));gap:8px;display:grid}.flip-chord-card{border:1px solid var(--border);background:var(--surface-2);text-align:left;border-radius:10px;align-content:space-between;gap:8px;min-height:72px;padding:10px 12px;transition:border-color .15s,background-color .15s;display:grid}.flip-chord-card:hover{border-color:var(--border-strong)}.flip-chord-card>span{justify-content:space-between;align-items:baseline;display:flex}.flip-chord-card>span b{font:500 13px var(--font-mono)}.flip-chord-card>span small{color:var(--text-faint);font:400 10px var(--font-mono)}.flip-chord-card>strong{font:500 12px var(--font-mono);word-spacing:2px}.flip-chord-card.selected{border-color:var(--accent);background:var(--accent);color:var(--on-accent)}.flip-chord-card.selected>span small{color:inherit;opacity:.75}.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}:root[data-theme=grey] .mobile-nav .view-tab[aria-current=page]{color:var(--text)}.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,.flip-heading{flex-direction:column;align-items:flex-start;gap:12px}.synth-section-heading p{text-align:left}.flip-current{grid-template-columns:auto 1fr}.flip-midi-value{text-align:left;grid-column:1/-1}.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,.flip-panel{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}.flip-chord-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.flip-library-heading{flex-direction:column;gap:4px}.pedal-shell{border-radius:18px;padding:28px 12px 18px}.pedal-texture{clip-path:inset(0 round 18px)}.pedal-knob{width:74px;height:74px}.knob-cap{width:54px;height:54px}.knob-cap i{height:20px}.clock-scale{width:136px;height:136px}.pedal-led-row{padding:0 8px}.switch-options button{letter-spacing:-.04em;font-size:8px}.footswitch-metal{width:68px;height:68px}.footswitch-metal i{width:48px;height:48px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation:none!important}}
