.fx-editor{display:flex;flex-direction:column;gap:10px;width:100%;max-width:300px;user-select:text;-webkit-user-select:text}.fx-row{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}.fx-chans{display:inline-flex;gap:6px}.fx-editor .dds4-key{flex:0 0 auto;width:auto;font-family:var(--mono);font-weight:400}.fx-editor button:not(:disabled){cursor:pointer}.fx-well{padding:8px}.fx-well--thin{padding:6px 8px}.fx-curves-svg,.fx-track,.fx-levels-hist{display:block;width:100%;user-select:none;-webkit-user-select:none;touch-action:none}.fx-curves-svg{aspect-ratio:1;cursor:crosshair;border-radius:6px;outline:none}.fx-curves-svg:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fx-track{height:20px;cursor:pointer}.fx-levels-hist{height:80px}.fx-defs{position:absolute;width:0;height:0;overflow:hidden}.fx-hist{fill:var(--text-3);opacity:.22}.fx-hist--solid{opacity:.55}.fx-grid line,.fx-grid-line{stroke:var(--hairline);stroke-width:1;vector-effect:non-scaling-stroke}.fx-frame{fill:none;stroke:var(--hairline);stroke-width:1}.fx-diag{stroke:var(--text-3);stroke-width:1;stroke-dasharray:3 4;opacity:.5}.fx-curve{fill:none;stroke-width:2;stroke-linejoin:round}.fx-pt{fill:var(--key);stroke:var(--text);stroke-width:1.5;cursor:grab}.fx-pt.is-sel{fill:var(--accent);stroke:var(--accent-edge, var(--text))}.fx-clip{fill:var(--well-shadow)}.fx-handle{stroke:var(--text-2);stroke-width:1;cursor:ew-resize}.fx-handle--dark{fill:#111}.fx-handle--mid{fill:#8a8780}.fx-handle--light{fill:#fafaf7}.fx-readout{display:flex;gap:14px;min-height:16px}.fx-readout b{font-weight:400;color:var(--text)}.fx-nums{display:flex;gap:10px;flex-wrap:wrap}.fx-numfield{display:inline-flex;flex-direction:column;gap:4px;cursor:text}.fx-num{width:64px;padding:6px 8px;border:0;border-radius:8px;background:var(--well);color:var(--text);font:400 13px/1.2 var(--mono);box-shadow:inset 0 1px 3px var(--well-shadow)}.fx-num:focus-visible{outline:2px solid var(--accent);outline-offset:1px}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Regular-BvAVvUOA.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Medium-DcLEJ-H6.ttf) format("truetype");font-weight:500;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-SemiBold-UZei7QLa.ttf) format("truetype");font-weight:600;font-display:swap}@font-face{font-family:Space Grotesk;src:url(/assets/SpaceGrotesk-Bold-BJAIjiFf.ttf) format("truetype");font-weight:700;font-display:swap}@font-face{font-family:Space Mono;src:url(/assets/SpaceMono-Regular-DFDYVJRE.ttf) format("truetype");font-weight:400;font-display:swap}@font-face{font-family:Space Mono;src:url(/assets/SpaceMono-Bold-9tno74N4.ttf) format("truetype");font-weight:700;font-display:swap}.dds4{--sans: "Space Grotesk", system-ui, sans-serif;--mono: "Space Mono", ui-monospace, monospace;--lcd-glass: #1F1F1B;--lcd-text: #F2B33D;--lcd-dim: #C9A45A;--lcd-label: #8F8B80;--lcd-off: #3A3934;--lcd-ok: #7BC34E;--led-ok: #5E9E3A;--led-ok-glow: #7BC34E;--led-warn: #E0A100;--led-error: #D23C2C;--done-edge: #3F6F25;--r-seg: 2px;--r-thumb: 6px;--r-chip: 7px;--r-tip: 8px;--r-card: 10px;--r-field: 12px;--r-key: 14px;--r-panel: 16px;--r-grille: 18px;--r-unit: 22px;--r-pill: 28px;--g-xs: 4px;--g-sm: 8px;--g-md: 12px;--g-lg: 16px;--g-xl: 24px;--g-xxl: 32px;--t-press: 90ms;--t-quick: .18s;--t-normal: .32s;--t-slow: .6s;--spring: cubic-bezier(.34, 1.56, .64, 1);--spring-strong: cubic-bezier(.34, 1.8, .5, 1);--out: cubic-bezier(.2, .8, .2, 1);font-family:var(--sans);color:var(--text);-webkit-font-smoothing:antialiased}.dds4-light,.dds4.dds4-light{--page: #DEDCD6;--body: #F1F0EB;--key: #F7F6F2;--key-edge: #C9C6BD;--well: #E4E2DC;--well-shadow: rgba(40, 36, 30, .18);--hairline: #D6D3CB;--text: #2A2A28;--text-2: #5A5750;--text-3: #7A776F;--led-off: #C9C6BD;--grille-dot: #3A3934;--unit-shadow: 0 30px 60px -30px rgba(40, 36, 30, .25), 0 2px 6px rgba(40, 36, 30, .12);--unit-border: transparent;--key-drop: rgba(40, 36, 30, .1);color-scheme:light}.dds4-dark,.dds4.dds4-dark{--page: #111110;--body: #1C1C1A;--key: #262624;--key-edge: #0B0B0A;--well: #151513;--well-shadow: rgba(0, 0, 0, .5);--hairline: #2E2E2B;--text: #EDECE6;--text-2: #B5B2A9;--text-3: #8C8980;--led-off: #3A3A36;--grille-dot: #4A4945;--unit-shadow: 0 30px 60px -30px rgba(0, 0, 0, .6), 0 2px 6px rgba(0, 0, 0, .4);--unit-border: #2E2E2B;--key-drop: rgba(0, 0, 0, .35);color-scheme:dark}.dds4-tools.dds4-light,.dds4-light .dds4-tools,.dds4-light.dds4-tools{--accent: #D6249F;--on-accent: #FFFFFF;--accent-edge: #141896;--tile: #D6249F}.dds4-tools.dds4-dark,.dds4-dark .dds4-tools,.dds4-dark.dds4-tools{--accent: #FF5CC8;--on-accent: #0B0B0B;--accent-edge: #3B40C4;--tile: #D6249F}.dds4{--accent-wash: color-mix(in srgb, var(--accent) 8%, transparent)}.dds4-display{font:600 44px/1 var(--sans);letter-spacing:-1.5px}.dds4-title{font:600 26px/1.1 var(--sans);letter-spacing:-.6px}.dds4-heading{font:600 17px/1.25 var(--sans)}.dds4-body{font:400 15px/1.5 var(--sans)}.dds4-body-sm{font:500 13px/1.4 var(--sans);color:var(--text-3)}.dds4-mono{font:400 14px/1.4 var(--mono)}.dds4-label{font:400 11px/1.3 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--text-3)}.dds4-page{background:var(--page)}.dds4-unit{background:var(--body);border-radius:var(--r-unit);padding:24px 28px 32px;box-shadow:var(--unit-shadow);border:1px solid var(--unit-border)}.dds4-panel{background:var(--key);border-radius:var(--r-panel);padding:16px;box-shadow:0 3px 0 var(--key-edge),0 4px 10px var(--key-drop)}.dds4-well{background:var(--well);border-radius:var(--r-panel);padding:14px;box-shadow:inset 0 2px 5px var(--well-shadow);border-top:1.5px solid var(--well-shadow)}.dds4-hdr{display:flex;align-items:center;gap:12px;min-height:28px}.dds4-hdr>.dds4-label:first-child{flex:1}.dds4-hdr .dds4-hdr-actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-end}.dds4-labelrow{display:flex;justify-content:space-between;gap:12px}.dds4-key{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;color:var(--text);font:600 15px/1.2 var(--sans);padding:13px 16px;border-radius:var(--r-key);background:var(--key);display:inline-flex;align-items:center;justify-content:center;gap:8px;box-shadow:0 3px 0 var(--key-edge),0 4px 10px var(--key-drop);transition:transform var(--t-press) ease-out,box-shadow var(--t-press) ease-out,background var(--t-press)}.dds4-key:hover{transform:translateY(-1px);box-shadow:0 4px 0 var(--key-edge),0 5px 12px var(--key-drop)}.dds4-key:active,.dds4-key.is-on{transform:translateY(3px);box-shadow:0 1px 6px var(--well-shadow);background:color-mix(in srgb,var(--key) 55%,var(--well))}.dds4-key.is-on{color:var(--accent)}.dds4-key:disabled{opacity:.5;cursor:default;transform:none}.dds4-key:focus-visible,.dds4-action:focus-visible,.dds4-mini:focus-visible,.dds4-toggle:focus-visible,.dds4-check:focus-visible{outline:2px solid var(--accent);outline-offset:3px}.dds4-key--sm{padding:8px 12px;font-size:13px;border-radius:10px}.dds4-key--icon{width:44px;height:44px;padding:0}.dds4-key--icon.dds4-key--sm{width:32px;height:32px;border-radius:9px}.dds4-key svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.dds4-action{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;position:relative;overflow:hidden;height:44px;min-width:150px;padding:0 22px;border-radius:var(--r-pill);background:var(--accent);color:var(--on-accent);font:600 16px/1 var(--sans);display:inline-flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 3px 0 var(--accent-edge),0 6px 14px color-mix(in srgb,var(--accent) 35%,transparent);transition:transform var(--t-press),box-shadow var(--t-press),background var(--t-quick)}.dds4-action:active,.dds4-action.is-busy{transform:translateY(2px);box-shadow:0 1px 0 var(--accent-edge)}.dds4-action.is-busy{animation:dds4-hum .12s linear infinite alternate}.dds4-action.is-done{background:var(--led-ok);color:#fff;box-shadow:0 3px 0 var(--done-edge),0 6px 14px #5e9e3a59}.dds4-action:disabled{opacity:.45;cursor:default}.dds4-action--block{width:100%}.dds4-action svg{width:20px;height:20px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}.dds4-action .dds4-ripple{position:absolute;left:50%;top:50%;width:10px;height:10px;margin:-5px;border-radius:50%;background:#ffffff73;pointer-events:none;animation:dds4-ripple .7s ease-out forwards}@keyframes dds4-hum{0%{translate:-.8px 0}to{translate:.8px 0}}@keyframes dds4-ripple{to{transform:scale(40);opacity:0}}.dds4-mini{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;width:36px;height:36px;border-radius:50%;background:var(--well);color:var(--text);font:400 18px/1 var(--mono);box-shadow:0 2px 0 var(--key-edge);transition:transform var(--t-press),box-shadow var(--t-press)}.dds4-mini:active{transform:translateY(2px);box-shadow:none}.dds4-led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--led-off);flex:none;transition:background var(--t-quick),box-shadow var(--t-quick)}.dds4-led--lg{width:12px;height:12px}.dds4-led.is-on,.dds4-led.is-busy{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 70%,transparent);animation:dds4-pop var(--t-normal) var(--spring-strong)}.dds4-led.is-ok{background:var(--led-ok-glow);box-shadow:0 0 8px #7bc34eb3;animation:dds4-pop var(--t-normal) var(--spring-strong)}.dds4-led.is-warn{background:var(--led-warn);box-shadow:0 0 8px #e0a100b3}.dds4-led.is-error{background:var(--led-error);box-shadow:0 0 8px #d23c2cb3}.dds4-led.is-busy{animation:dds4-blink .32s ease-in-out infinite alternate}@keyframes dds4-pop{0%{transform:scale(2)}to{transform:scale(1)}}@keyframes dds4-blink{0%{opacity:.35}to{opacity:1}}.dds4-chase{display:flex;gap:10px}.dds4-chase i{width:8px;height:8px;border-radius:50%;background:var(--led-off)}.dds4-chase.is-active i{animation:dds4-chase .9s linear infinite;animation-delay:calc(var(--i) * 56ms)}.dds4-chase.is-done i{animation:dds4-flash 1.1s steps(1) 1}@keyframes dds4-chase{0%{background:var(--accent);box-shadow:0 0 8px color-mix(in srgb,var(--accent) 70%,transparent)}30%{background:color-mix(in srgb,var(--accent) 25%,var(--led-off));box-shadow:none}to{background:var(--led-off)}}@keyframes dds4-flash{0%,34%,67%{background:var(--led-ok-glow);box-shadow:0 0 8px #7bc34eb3}17%,50%,84%{background:var(--led-off)}}.dds4-lcd{position:relative;overflow:hidden;background:var(--lcd-glass);color:var(--lcd-text);border-radius:var(--r-panel);padding:16px 20px 18px;box-shadow:0 2px 8px #00000080;font-family:var(--mono)}.dds4-lcd:after{content:"";position:absolute;left:0;right:0;top:-26px;height:26px;pointer-events:none;background:linear-gradient(#f2b33d00,#f2b33d14,#f2b33d00);animation:dds4-scan 3.2s linear infinite}@keyframes dds4-scan{to{top:100%}}.dds4-lcd.is-flicker>*{animation:dds4-flicker .55s steps(6) 1}@keyframes dds4-flicker{0%{opacity:0}17%{opacity:.8}33%{opacity:.2}50%{opacity:1}67%{opacity:.4}to{opacity:1}}.dds4-lcd-label{display:flex;justify-content:space-between;gap:12px;margin-bottom:12px;font:400 11px/1.3 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--lcd-label)}.dds4-lcd-text{font:400 26px/1.25 var(--mono);color:var(--lcd-text);text-shadow:0 0 12px rgba(242,179,61,.4);word-break:break-all}.dds4-lcd-text.is-sm{font-size:15px}.dds4-lcd-dim{color:var(--lcd-dim)}.dds4-lcd-ok{color:var(--lcd-ok);text-shadow:0 0 12px rgba(123,195,78,.4)}.dds4-caret{animation:dds4-caret 1s steps(1) infinite}@keyframes dds4-caret{50%{opacity:0}}.dds4-segs{display:flex;gap:3px}.dds4-segs i{flex:1;height:14px;border-radius:var(--r-seg);background:var(--lcd-off);transition:background var(--t-quick),box-shadow var(--t-quick)}.dds4-segs i.on{background:var(--lcd-text);box-shadow:0 0 6px #f2b33d8c}.dds4-segs.is-done i.on{background:var(--lcd-ok);box-shadow:0 0 6px #7bc34e8c}.dds4-seg{position:relative;display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:4px;padding:4px;background:var(--well);border-radius:var(--r-field)}.dds4-seg--v{grid-auto-flow:row}.dds4-seg button{position:relative;z-index:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;cursor:pointer;height:38px;font:400 13px/1 var(--mono);color:var(--text);transition:color var(--t-normal);white-space:nowrap}.dds4-seg button[aria-pressed=true]{color:var(--body)}.dds4-seg .dds4-seg-ind{position:absolute;z-index:0;border-radius:9px;background:var(--text);box-shadow:0 2px 6px #00000040;transition:all .45s var(--spring)}.dds4-toggle{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;width:56px;height:32px;padding:3px;flex:none;border-radius:16px;background:var(--led-off);box-shadow:0 1px 4px #28241e40;transition:background var(--t-normal);position:relative}.dds4-toggle:after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#f7f6f2;box-shadow:0 2px 4px #00000040;transition:transform .42s var(--spring-strong)}.dds4-toggle[aria-checked=true]{background:var(--accent)}.dds4-toggle[aria-checked=true]:after{transform:translate(24px)}.dds4-togglerow{display:flex;align-items:center;gap:12px;padding:12px 16px}.dds4-togglerow>div{flex:1}.dds4-togglerow .dds4-heading{font-size:15px}.dds4-check,.dds4-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;margin:0;cursor:pointer;flex:none;width:24px;height:24px;background:var(--key);border-radius:7px;box-shadow:0 2px 0 var(--key-edge);display:inline-grid;place-content:center;transition:transform var(--t-press),box-shadow var(--t-press),background var(--t-quick)}.dds4-radio{border-radius:50%}.dds4-check:checked,.dds4-radio:checked{transform:translateY(2px);box-shadow:inset 0 1px 3px var(--well-shadow);background:var(--well)}.dds4-check:before{content:"";width:12px;height:7px;border:solid var(--accent);border-width:0 0 2.5px 2.5px;transform:rotate(-45deg) scale(0);margin-top:-3px;transition:transform var(--t-normal) var(--spring-strong)}.dds4-check:checked:before{transform:rotate(-45deg) scale(1)}.dds4-radio:before{content:"";width:10px;height:10px;border-radius:50%;background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 60%,transparent);transform:scale(0);transition:transform var(--t-normal) var(--spring-strong)}.dds4-radio:checked:before{transform:scale(1)}.dds4-choice{display:flex;align-items:center;gap:10px;font:500 14px/1.3 var(--sans);cursor:pointer}.dds4-field{width:100%;box-sizing:border-box;border:0;outline:0;background:var(--well);color:var(--text);font:400 15px/1.4 var(--sans);padding:14px;border-radius:var(--r-field);box-shadow:inset 0 2px 5px var(--well-shadow);transition:box-shadow var(--t-quick)}.dds4-field::placeholder{color:var(--text-3)}.dds4-field:focus{box-shadow:inset 0 2px 5px var(--well-shadow),0 0 0 2px var(--accent)}.dds4-field.is-mono{font-family:var(--mono);font-size:14px}textarea.dds4-field{resize:vertical;min-height:96px}.dds4-field.is-error{box-shadow:inset 0 2px 5px var(--well-shadow),0 0 0 2px var(--led-error)}.dds4-fieldnote{font:400 11px/1.3 var(--mono);letter-spacing:1.3px;text-transform:uppercase;color:var(--text-3);margin-top:6px}.dds4-fieldnote.is-error{color:var(--led-error)}.dds4-search{position:relative}.dds4-search svg{position:absolute;left:14px;top:50%;translate:0 -50%;width:18px;height:18px;stroke:var(--text-3);fill:none;stroke-width:2}.dds4-search .dds4-field{padding-left:42px}.dds4-copyfield{display:flex;gap:8px;align-items:stretch}.dds4-copyfield .dds4-field{flex:1}.dds4-slider{display:grid;gap:4px}.dds4-slider input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;height:32px;background:none;margin:0;cursor:pointer;--pct: 50%}.dds4-slider input[type=range]::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:linear-gradient(to right,var(--accent) var(--pct),var(--hairline) var(--pct))}.dds4-slider input[type=range]::-moz-range-track{height:4px;border-radius:2px;background:var(--hairline)}.dds4-slider input[type=range]::-moz-range-progress{height:4px;border-radius:2px;background:var(--accent)}.dds4-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;margin-top:-8px;border-radius:50%;background:var(--key);box-shadow:0 2px 0 var(--key-edge),0 2px 6px var(--key-drop)}.dds4-slider input[type=range]::-moz-range-thumb{width:20px;height:20px;border:0;border-radius:50%;background:var(--key);box-shadow:0 2px 0 var(--key-edge),0 2px 6px var(--key-drop)}.dds4-slider output{font:400 13px/1 var(--mono);color:var(--text)}.dds4-fader{display:grid;justify-items:center;gap:8px;width:56px}.dds4-fader-track{position:relative;width:8px;height:160px;border-radius:4px;background:var(--well);box-shadow:inset 0 1px 3px var(--well-shadow);cursor:ns-resize;touch-action:none}.dds4-fader-fill{position:absolute;left:0;right:0;bottom:0;border-radius:4px;background:var(--accent)}.dds4-fader-cap{position:absolute;left:50%;width:40px;height:22px;translate:-50% 50%;border-radius:6px;background:var(--key);box-shadow:0 3px 0 var(--key-edge),0 4px 8px var(--key-drop);background-image:linear-gradient(var(--text-3),var(--text-3));background-size:24px 2px;background-repeat:no-repeat;background-position:center}.dds4-fader-ticks{position:absolute;left:-14px;top:0;bottom:0;width:6px;background:repeating-linear-gradient(to bottom,var(--hairline) 0 1.5px,transparent 1.5px 16px)}.dds4-stepper{display:inline-flex;align-items:center;gap:4px;padding:4px;background:var(--well);border-radius:22px;box-shadow:inset 0 1px 3px var(--well-shadow)}.dds4-stepper output{min-width:56px;text-align:center;font:400 16px/1 var(--mono)}.dds4-dial{display:inline-grid;justify-items:center;gap:6px;padding:14px 14px 12px}.dds4-dial svg{width:104px;height:104px;cursor:grab;touch-action:none}.dds4-dial-row{display:flex;align-items:center}.dds4-dial-row output{width:54px;text-align:center;font:400 16px/1 var(--mono)}.dds4-grille{display:grid;grid-template-columns:repeat(var(--cols, 12),1fr);gap:0;padding:18px;border-radius:var(--r-grille)}.dds4-grille i{aspect-ratio:1;display:grid;place-items:center}.dds4-grille i:before{content:"";width:46%;aspect-ratio:1;border-radius:50%;background:var(--grille-dot);animation:dds4-breathe 2.4s ease-in-out infinite;animation-delay:calc(var(--d) * -1s)}.dds4-grille.is-working i:before{animation:dds4-work 1s ease-in-out infinite;animation-delay:calc(var(--d) * -.38s)}.dds4-grille.is-done i:before{animation:dds4-burst 1.2s ease-out 1 both;animation-delay:calc(var(--r) * .5s)}.dds4-grille.is-error i:before{animation:dds4-burst-err 1.2s ease-out 1 both;animation-delay:calc(var(--r) * .5s)}@keyframes dds4-breathe{50%{transform:scale(.72)}}@keyframes dds4-work{0%,to{transform:scale(.55);background:var(--grille-dot)}50%{transform:scale(1.3);background:var(--accent);box-shadow:0 0 6px color-mix(in srgb,var(--accent) 50%,transparent)}}@keyframes dds4-burst{40%{transform:scale(1.6);background:var(--led-ok-glow);box-shadow:0 0 6px #7bc34e80}}@keyframes dds4-burst-err{40%{transform:scale(1.6);background:var(--led-error);box-shadow:0 0 6px #d23c2c80}}.dds4-drop{text-align:center;padding:26px 20px;background:var(--well);border-radius:var(--r-grille);border:1.5px solid var(--hairline);transition:background var(--t-normal),border-color var(--t-normal)}.dds4-drop:hover,.dds4-drop.is-over{background:color-mix(in srgb,var(--well) 94%,var(--accent));border-color:color-mix(in srgb,var(--accent) 60%,transparent)}.dds4-drop.is-over{border:3px solid var(--accent)}.dds4-fan{position:relative;width:120px;height:62px;margin:0 auto 14px}.dds4-fan i{position:absolute;bottom:0;left:40px;width:40px;height:52px;border-radius:7px;background:var(--key);box-shadow:0 2px 0 var(--key-edge);transform-origin:bottom center;transition:transform var(--t-slow) var(--spring)}.dds4-fan i:nth-child(1){transform:translate(-18px) rotate(-12.6deg)}.dds4-fan i:nth-child(2){transform:translate(18px) rotate(12.6deg)}.dds4-fan i:nth-child(3){background:var(--accent)}.dds4-drop:hover .dds4-fan i:nth-child(1){transform:translate(-29px,-6px) rotate(-20deg)}.dds4-drop:hover .dds4-fan i:nth-child(2){transform:translate(29px,-6px) rotate(20deg)}.dds4-drop:hover .dds4-fan i:nth-child(3){transform:translateY(-6px)}.dds4-drop .dds4-heading{margin:0 0 4px}.dds4-drop .dds4-body-sm{margin:0 0 16px}.dds4-tray{position:relative}.dds4-tray-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-top:10px}.dds4-card{background:var(--key);border-radius:var(--r-card);padding:10px;border:2px solid transparent;box-shadow:0 2px 0 var(--key-edge);animation:dds4-flyin .75s cubic-bezier(.2,.9,.25,1.15) both;animation-delay:calc(var(--i, 0) * 90ms)}.dds4-card.is-working{border-color:var(--accent)}.dds4-card-top{display:flex;align-items:center;gap:8px}.dds4-card-top .dds4-mono{flex:1;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dds4-thumb{width:28px;height:28px;border-radius:var(--r-thumb);flex:none;background:linear-gradient(135deg,var(--accent),var(--accent-edge))}.dds4-bar{height:4px;border-radius:2px;background:var(--well);margin:10px 0 6px;overflow:hidden}.dds4-bar b{display:block;height:100%;width:var(--p, 0%);background:var(--accent);transition:width var(--t-normal) ease-out}.dds4-card.is-done .dds4-bar b{background:var(--led-ok);width:100%}.dds4-card.is-error .dds4-bar b{background:var(--led-error)}.dds4-card.is-error .dds4-label{color:var(--led-error)}.dds4-status-ok,.dds4-status-err{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;color:#fff;font:700 11px/1 var(--sans);animation:dds4-popspin .5s var(--spring-strong) both}.dds4-status-ok{background:var(--led-ok)}.dds4-status-err{background:var(--led-error)}@keyframes dds4-popspin{0%{transform:rotate(-40deg) scale(0)}}@keyframes dds4-flyin{0%{opacity:0;transform:translate(-120px,-60px) rotate(-14deg) scale(.7)}}.dds4-stamp{position:absolute;right:18px;top:-16px;padding:6px 12px;border:2.5px solid var(--accent);border-radius:8px;color:var(--accent);background:var(--body);font:700 13px/1 var(--mono);letter-spacing:2px;text-transform:uppercase;transform:rotate(-10deg);animation:dds4-stamp .6s cubic-bezier(.2,1.2,.4,1) both}@keyframes dds4-stamp{0%{opacity:0;transform:rotate(-24deg) scale(2.6)}}.dds4-tabs{display:flex;gap:6px;padding:4px;background:var(--well);border-radius:var(--r-field);overflow-x:auto}.dds4-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;cursor:pointer;display:inline-flex;align-items:center;gap:8px;white-space:nowrap;padding:8px 12px;border-radius:9px;background:transparent;color:var(--text-2);font:400 12px/1 var(--mono)}.dds4-tab[aria-selected=true]{background:var(--key);color:var(--text);box-shadow:0 2px 0 var(--key-edge)}.dds4-tab .x{opacity:.5}.dds4-chip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:8px;background:var(--key);font:400 12px/1 var(--mono);color:var(--text);box-shadow:0 2px 0 var(--key-edge)}.dds4-chip.is-on{background:var(--accent);color:var(--on-accent);box-shadow:0 2px 0 var(--accent-edge)}.dds4-iconchip{width:24px;height:24px;border-radius:var(--r-chip);display:grid;place-items:center;flex:none;background:color-mix(in srgb,var(--accent) 13%,transparent);border:1px solid color-mix(in srgb,var(--accent) 22%,transparent);color:var(--accent)}.dds4-iconchip svg{width:14px;height:14px;stroke:currentColor;fill:none;stroke-width:2}.dds4-letter{width:24px;height:24px;border-radius:var(--r-chip);display:grid;place-items:center;background:var(--accent);color:var(--on-accent);font:400 12px/1 var(--mono)}.dds4-badge{min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--accent);color:var(--on-accent);display:inline-grid;place-items:center;font:700 10px/1 var(--mono)}.dds4-kbd{display:inline-block;padding:3px 7px;border-radius:6px;background:var(--key);box-shadow:0 2px 0 var(--key-edge);font:400 11px/1.2 var(--mono);color:var(--text-2)}.dds4-toast{display:inline-flex;align-items:center;gap:12px;padding:12px 16px;border-radius:var(--r-field);background:var(--lcd-glass);color:var(--lcd-text);font:400 14px/1.3 var(--mono);box-shadow:0 8px 24px #00000059;animation:dds4-toast .42s var(--spring) both}@keyframes dds4-toast{0%{opacity:0;transform:translateY(16px) scale(.96)}}.dds4-tip{display:inline-block;padding:6px 10px;border-radius:var(--r-tip);background:var(--lcd-glass);color:var(--lcd-text);font:400 11px/1.3 var(--mono);letter-spacing:1.3px;text-transform:uppercase}.dds4-scrim{background:#11111073;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);border-radius:var(--r-unit);padding:28px;display:grid;place-items:center}.dds4-dialog{max-width:380px;width:100%;animation:dds4-dialog .42s var(--spring) both}@keyframes dds4-dialog{0%{opacity:0;transform:translateY(24px) scale(.94)}}.dds4-dialog-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}.dds4-meter{height:8px;border-radius:4px;background:var(--well);box-shadow:inset 0 1px 2px var(--well-shadow);overflow:hidden}.dds4-meter b{display:block;height:100%;width:var(--p);border-radius:4px;background:var(--accent);transition:width var(--t-slow) var(--out)}.dds4-battery{display:inline-flex;align-items:center}.dds4-battery-body{display:flex;gap:3px;padding:4px;width:92px;height:34px;box-sizing:border-box;border-radius:8px;background:var(--lcd-glass);border:1.5px solid #4A4943;box-shadow:0 2px 6px #0006}.dds4-battery-body i{flex:1;border-radius:2px;background:var(--lcd-off)}.dds4-battery-body i.on{background:var(--led-ok-glow);box-shadow:0 0 6px #7bc34e73}.dds4-battery.is-low .dds4-battery-body i.on{background:var(--led-error);box-shadow:0 0 6px #d23c2c73}.dds4-battery-tip{width:4px;height:12px;border-radius:0 2px 2px 0;background:#4a4943}.dds4-vu{display:flex;align-items:flex-end;gap:3px;height:64px}.dds4-vu i{width:8px;border-radius:2px;background:linear-gradient(to top,var(--led-ok-glow) 0 60%,var(--led-warn) 60% 85%,var(--led-error) 85%);height:100%;clip-path:inset(calc(100% - var(--h, 20%)) 0 0 0);transition:clip-path 90ms linear}.dds4-ring{--p: 60;width:72px;height:72px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--accent) calc(var(--p) * 1%),var(--well) 0)}.dds4-ring:before{content:attr(data-v);width:56px;height:56px;border-radius:50%;background:var(--key);display:grid;place-items:center;font:400 14px/1 var(--mono);box-shadow:0 2px 0 var(--key-edge)}.dds4-widget{display:grid;grid-template-rows:30px repeat(4,28px);row-gap:0}.dds4-widget-hd{display:flex;align-items:center;gap:9px;margin-bottom:4px}.dds4-widget-hd .dds4-label{flex:1;color:var(--text)}.dds4-widget-hd .age{font:400 11px/1 var(--mono);color:var(--text-3)}.dds4-row{display:flex;align-items:center;gap:10px;font:500 14px/1 var(--sans)}.dds4-row .k{flex:1;color:var(--text-2)}.dds4-row .v{font-family:var(--mono);color:var(--text)}.dds4-keypad{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:12px}.dds4-toolkey{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;text-align:left;justify-content:stretch;align-items:start;padding:16px}.dds4-toolkey svg{grid-row:span 2;width:24px;height:24px;transition:color var(--t-quick)}.dds4-toolkey:hover svg{color:var(--accent)}.dds4-toolkey .code{position:absolute;right:12px;top:12px}.dds4-toolkey{position:relative}.dds4-odo{display:inline-flex;font-family:var(--mono);overflow:hidden;height:1.3em;line-height:1.3em}.dds4-odo span{display:inline-block}.dds4-odo .col{display:flex;flex-direction:column;transition:transform .7s var(--out)}.dds4-empty{text-align:center;padding:18px;color:var(--text-3);font:500 13px/1.4 var(--sans)}@media (prefers-reduced-motion: reduce){.dds4 *,.dds4 *:before,.dds4 *:after{animation:none!important;transition:none!important}.dds4-lcd:after{display:none}}.dds4-studio.dds4-light,.dds4-light .dds4-studio{--accent: #7A0F33;--on-accent: #FFFFFF;--accent-edge: #3A0618;--tile: #7A0F33}.dds4-studio.dds4-dark,.dds4-dark .dds4-studio{--accent: #E0507D;--on-accent: #0B0B0B;--accent-edge: #7A0F33;--tile: #7A0F33}html,body,#root{height:100%}body{margin:0;background:var(--page);color:var(--text);overflow:hidden}*{box-sizing:border-box}button,input,select,textarea{font:inherit;color:inherit}button:not(:disabled),select,label.dds4-choice,.lrow{cursor:pointer}::selection{background:var(--accent);color:var(--on-accent)}p{margin:0}.lockup{display:inline-flex;align-items:center;flex:none}.lockup .tile rect{fill:var(--tile)}.lockup .tile text{fill:#fff;font-family:var(--sans)}.lockup .tile circle{fill:#fff}.lockup__word{font:700 24px/1 var(--sans);letter-spacing:-.5px;white-space:nowrap}.app{height:100dvh;display:grid;gap:12px;padding:12px;grid-template-columns:auto minmax(0,1fr) 340px;grid-template-rows:auto minmax(0,1fr);grid-template-areas:"top top top" "rail stage side"}.app.is-empty{grid-template-columns:1fr;grid-template-areas:"top" "main"}.topbar{grid-area:top;display:flex;align-items:center;gap:16px;flex-wrap:wrap;padding:10px 14px;border-radius:18px}.topbar__group{display:flex;gap:8px;align-items:center}.topbar__center{display:flex;align-items:center;gap:8px;margin-left:auto}.topbar__end{display:flex;align-items:center;gap:12px;margin-left:auto}.topbar .dds4-action{min-width:0}.dds4-mini:disabled{opacity:.45;cursor:default}.status{display:inline-flex;align-items:center;gap:8px;min-width:92px}.readout{display:flex;align-items:center;gap:16px;padding:8px 14px;border-radius:12px;font-size:13px;line-height:1;white-space:nowrap;text-shadow:0 0 10px rgba(242,179,61,.35)}.readout__cell{display:inline-flex;align-items:baseline;gap:6px}.readout__k{color:var(--lcd-label);font-size:10px;letter-spacing:1.3px;text-shadow:none}.readout__xy{min-width:128px}.rail{grid-area:rail;display:flex;flex-direction:column;align-items:center;gap:12px;padding:14px 10px;border-radius:18px;overflow-y:auto}.rail__swatch{width:28px;height:28px;margin-top:auto;border-radius:50%;box-shadow:0 0 0 3px var(--key),0 3px 0 3px var(--key-edge)}.stage{grid-area:stage;position:relative;min-width:0;min-height:0;overflow:hidden;border-radius:var(--r-grille);background:var(--well);box-shadow:inset 0 2px 8px var(--well-shadow);border-top:1.5px solid var(--well-shadow)}.stage canvas{position:absolute;top:0;right:0;bottom:0;left:0;display:block;touch-action:none;user-select:none;-webkit-user-select:none}.side{grid-area:side;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:14px;padding:16px;border-radius:18px}.side .dds4-tabs{flex:none}.side .dds4-tab{flex:1;justify-content:center}.panel-body{display:flex;flex-direction:column;gap:14px}.group{display:flex;flex-direction:column;gap:10px;padding-top:4px}.group+.group{border-top:1px solid var(--hairline);padding-top:14px}.name{text-transform:none;color:var(--text-2)}.row-keys,.seg{display:flex;flex-wrap:wrap;gap:8px}.seg .dds4-key--sm{padding:7px 10px;font-size:12px}.is-accent{color:var(--accent)}.slider{position:relative}.slider input[type=range]{height:26px}.options{display:flex;flex-direction:column;gap:12px;flex:none}.colors{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.colorwell{position:relative;width:32px;height:32px}.colorwell input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.colorwell span{display:block;width:100%;height:100%;border-radius:9px;pointer-events:none;box-shadow:inset 0 0 0 2px #ffffff40,0 2px 0 var(--key-edge)}.swatch{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:22px;height:22px;border-radius:50%;box-shadow:0 2px 0 var(--key-edge),inset 0 0 0 1px #00000026;transition:transform var(--t-press)}.swatch.is-on{transform:translateY(2px);box-shadow:0 0 0 2px var(--accent)}.hex{margin-left:auto;font-size:12px;color:var(--text-2)}.textbox{min-height:72px;max-width:560px;resize:vertical}.looks{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.look{flex-direction:column;gap:6px;padding:6px 6px 8px;border-radius:12px}.look__img{border-radius:8px;background:var(--well);max-width:100%;height:auto!important;aspect-ratio:1}.look__name{font:400 11px/1 var(--mono);letter-spacing:1px;text-transform:uppercase}.layers{list-style:none;margin:0;padding:6px;display:flex;flex-direction:column;gap:6px;max-height:300px;overflow-y:auto}.lrow{display:flex;align-items:center;gap:10px;padding:6px 8px;border-radius:10px;transition:background var(--t-quick)}.lrow:hover{background:color-mix(in srgb,var(--key) 50%,transparent)}.lrow.is-on{background:var(--key);box-shadow:0 2px 0 var(--key-edge)}.lrow.is-hidden .lrow__thumb,.lrow.is-hidden .lrow__name{opacity:.45}.lrow__thumb{flex:none;border-radius:6px;background:repeating-conic-gradient(#e4e2dc 0,#e4e2dc 25%,#cfccc4 0,#cfccc4 50%) 0 0 / 10px 10px}.lrow__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:500 14px/1.3 var(--sans)}.lrow__input{flex:1;min-width:0;padding:6px 8px;font-size:14px}.field-row{display:flex;align-items:center;gap:12px}.select{width:auto;flex:1;max-width:220px;padding:10px 12px;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.size-row{display:flex;align-items:flex-end;gap:10px}.size-field{display:flex;flex-direction:column;gap:6px;width:120px}.size-field .dds4-field{padding:10px 12px}.size-x{padding-bottom:12px;color:var(--text-3);font-family:var(--mono)}.name-field{display:flex;flex-direction:column;gap:8px}.name-row{display:flex;align-items:center;gap:8px}.name-row .dds4-field{max-width:260px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:16px;background:#11111080;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.dialog{max-width:440px;display:flex;flex-direction:column;gap:14px}.toast-wrap{position:fixed;left:0;right:0;bottom:24px;display:flex;justify-content:center;pointer-events:none;z-index:30;padding:0 16px}.dropveil{grid-area:stage;z-index:5;display:grid;place-items:center;border-radius:var(--r-grille);background:color-mix(in srgb,var(--accent) 18%,transparent);outline:2px dashed var(--accent);outline-offset:-10px;pointer-events:none}.welcome{grid-area:main;display:grid;place-items:center;overflow-y:auto;padding:12px 0}.welcome__unit{width:min(640px,100%);display:flex;flex-direction:column;gap:18px}.welcome__title{margin:0;max-width:14ch}.welcome__lede{color:var(--text-2);max-width:46ch}.drop{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;color:var(--text);display:flex;flex-direction:column;align-items:center;gap:8px;padding:36px 16px;border-radius:var(--r-grille);text-align:center;transition:box-shadow var(--t-quick)}.drop.is-over,.drop:hover{box-shadow:inset 0 2px 5px var(--well-shadow),0 0 0 2px var(--accent)}.drop__icon{color:var(--accent)}.drop__icon svg,.dds4-action svg,.dds4-key svg{stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}.welcome__keys{display:flex;flex-wrap:wrap;gap:12px}.welcome__chips{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}@media (max-width: 900px){.app{grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto minmax(0,42dvh);grid-template-areas:"top" "stage" "rail" "side";gap:8px;padding:8px}.topbar{gap:10px}.topbar__group .dds4-key--sm:not(.dds4-key--icon){padding:8px 10px}.topbar__center{order:5;margin-left:0;width:100%;justify-content:center}.readout__xy,.status{display:none}.rail{flex-direction:row;overflow-x:auto;overflow-y:hidden;padding:10px;justify-content:flex-start}.rail__swatch{margin:0 0 0 auto;flex:none}.looks{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (max-width: 520px){.lockup__word{display:none}.looks{grid-template-columns:repeat(3,minmax(0,1fr))}}.menubar{display:flex;gap:2px;align-items:center}.menu{position:relative}.menu__top{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:8px 10px;border-radius:9px;font:500 14px/1 var(--sans);color:var(--text-2);cursor:pointer}.menu__top:hover,.menu__top.is-open{background:var(--well);color:var(--text)}.menu__list{position:absolute;top:calc(100% + 6px);left:0;z-index:40;list-style:none;margin:0;min-width:240px;max-height:75dvh;overflow-y:auto;padding:6px;border-radius:14px}.menu__sub>.menu__list{top:-6px;left:calc(100% - 4px)}.menu__li{position:relative}.menu__item{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;width:100%;display:flex;align-items:center;gap:8px;padding:8px 10px;border-radius:8px;font:500 14px/1.2 var(--sans);color:var(--text);text-align:left;cursor:pointer}.menu__item:hover:not(:disabled){background:var(--key);box-shadow:0 2px 0 var(--key-edge)}.menu__item:disabled{color:var(--text-3);cursor:default}.menu__item svg{stroke:currentColor;fill:none;stroke-width:2;margin-left:auto}.menu__check{width:10px;color:var(--accent);font-size:9px}.menu__label{flex:1;white-space:nowrap}.menu__kbd{margin-left:16px}.menu__sep{height:1px;margin:6px 8px;background:var(--hairline)}.rail{gap:8px;padding:12px 8px}.rail__key{position:relative}.rail__more{position:absolute;right:3px;bottom:3px;width:0;height:0;border-left:5px solid transparent;border-bottom:5px solid var(--text-3)}.rail__colors{position:relative;width:44px;height:44px;margin-top:auto;flex:none}.rail__fg,.rail__bg{position:absolute;width:28px;height:28px}.rail__fg{left:0;top:0;z-index:1}.rail__bg{right:0;bottom:0}.rail__fg input,.rail__bg input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.rail__fg span,.rail__bg span{display:block;width:100%;height:100%;border-radius:8px;box-shadow:0 0 0 2px var(--key),0 3px 0 2px var(--key-edge);pointer-events:none}.rail__swap{position:absolute;right:-4px;top:-6px;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--text-2);padding:2px;cursor:pointer}.rail__swap svg{stroke:currentColor;fill:none;stroke-width:2}.fxdialog{grid-area:stage;z-index:10;align-self:start;justify-self:end;margin:12px;width:min(340px,calc(100% - 24px));max-height:calc(100% - 24px);overflow-y:auto;display:flex;flex-direction:column;gap:12px;padding:16px;border-radius:18px}.fxdialog__body{display:flex;flex-direction:column;gap:12px}.fxdialog .dds4-dialog-actions{margin-top:4px}.param{display:flex;flex-direction:column;gap:6px}.param.field-row{flex-direction:row;align-items:center}.lrow.is-child{padding-left:26px}.lrow__fold{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;color:var(--text-2);width:36px;display:grid;place-items:center;cursor:pointer}.lrow__fold svg{stroke:currentColor;fill:none;stroke-width:1.8}.lrow__mask{flex:none;border-radius:5px;background:#000;box-shadow:0 0 0 1px var(--hairline)}.lrow__mask.is-off{opacity:.35}.lrow__badges{display:inline-flex;align-items:center;gap:4px;color:var(--text-3)}.lrow__badges svg{stroke:currentColor;fill:none;stroke-width:2}.anchor{display:grid;grid-template-columns:repeat(3,22px);gap:4px;padding:6px;width:max-content;background:var(--well);border-radius:10px;box-shadow:inset 0 2px 5px var(--well-shadow)}.anchor__cell{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;width:22px;height:22px;border-radius:6px;background:var(--key);box-shadow:0 2px 0 var(--key-edge);cursor:pointer}.anchor__cell.is-on{background:var(--accent);box-shadow:0 2px 0 var(--accent-edge)}.preset-group{display:flex;flex-direction:column;gap:6px}.swatch--none{background:linear-gradient(135deg,transparent 45%,var(--led-error) 45% 55%,transparent 55%),var(--key)}.colorwell .is-none{background:linear-gradient(135deg,transparent 45%,var(--led-error) 45% 55%,transparent 55%)!important}.frame-dot{width:12px;height:12px;border-radius:4px;box-shadow:0 0 0 1px var(--hairline);display:inline-block}.working{min-width:260px;padding:12px 16px}.working .dds4-lcd-label{margin-bottom:8px}.side .seg .dds4-key--sm{font-size:12px}@media (max-width: 900px){.menubar{order:4;width:100%;overflow-x:auto}.menu__list{position:fixed;top:auto;left:8px;right:8px;max-height:60dvh}.menu__sub>.menu__list{left:8px}.rail__colors{margin:0 0 0 auto}.fxdialog{grid-area:side;margin:0;justify-self:stretch;width:auto}}.topbar{flex-wrap:nowrap;gap:12px}.topbar__center{margin-left:auto}.topbar__end{margin-left:0}.dds4-choice.param{flex-direction:row;align-items:center}@media (max-width: 1500px){.status{display:none}}@media (max-width: 1300px){.readout__xy,.lockup__word{display:none}}@media (max-width: 900px){.topbar{flex-wrap:wrap}}.rail{overflow-x:hidden}
