.giga-app{--m-bg: #202223;--m-panel: #303335;--m-edge: #45494b;--m-ink: #e7e6df;--m-dim: #afb4b5;--m-cyan: #9adadd;position:fixed;inset:0;z-index:50;overflow:auto;background:#17191a;color:var(--m-ink);font-family:Arial,Helvetica,sans-serif;font-size:12px;color-scheme:dark;padding:24px 28px 18px}.giga-app *{box-sizing:border-box}.giga-app ::-moz-selection{background:#9adadd;color:#182325}.giga-app ::selection{background:#9adadd;color:#182325}.giga-app ::-webkit-scrollbar{width:8px;height:8px}.giga-app ::-webkit-scrollbar-thumb{background:#61686a;border-radius:2px}.giga-app button,.giga-app select{font:inherit;color:inherit}.giga-app button,.giga-app select,.giga-app input{accent-color:var(--m-cyan)}.giga-app button,.giga-app select{border:1px solid #626769;border-radius:3px;background:#242729}.giga-app button{cursor:pointer}.giga-app button:hover:not(:disabled){background:#4a5354}.giga-app button:disabled{cursor:default;opacity:.5}.giga-app :focus-visible{outline:2px solid #b2f3f4;outline-offset:4px}.giga-shell{max-width:1340px;margin:0 auto}.giga-header{display:flex;align-items:center;justify-content:space-between;margin:0 2px 22px}.giga-brand{display:flex;align-items:baseline;gap:20px}.giga-brand h1{margin:0;font-size:34px;line-height:1;font-weight:900;letter-spacing:-1.3px;font-stretch:expanded}.giga-brand h1 span{color:var(--m-cyan);font-weight:400}.giga-brand p{margin:0;font-size:11px;color:var(--m-dim)}.giga-back{color:var(--m-dim);text-decoration:none;font-size:11px}.giga-back span{margin-left:10px;color:var(--m-cyan)}.giga-toolbar{display:flex;justify-content:space-between;align-items:center;padding:15px 18px;background:#363a3b;border-top:1px solid #666b6c;border-radius:4px 4px 0 0;margin-bottom:10px;box-shadow:0 6px 15px #0003}.giga-preset{display:flex;align-items:center;gap:15px}.giga-preset>label{font-size:9px;letter-spacing:1px;color:#c2c6c5;font-weight:700}.giga-preset select{width:310px;background:#171e20;color:#c2eef0;padding:9px 12px;font-size:14px;letter-spacing:.2px}.giga-edited{color:#b9c4c3;font-size:8px;letter-spacing:1px}.giga-audio{display:flex;align-items:center;gap:10px;font-size:10px;color:var(--m-dim)}.giga-led{width:6px;height:6px;border-radius:50%;background:#818581}.giga-led.on{background:#b2e5a8}.giga-enable{padding:9px 14px!important;background:#bce7e5!important;color:#182728!important;font-weight:700!important;border:0!important;margin-left:10px}.giga-enable:disabled{opacity:1!important;background:#434e4e!important;color:#d1e8e6!important}.giga-topology{display:grid;grid-template-columns:1.36fr 1fr .85fr;gap:10px}.giga-panel{background:var(--m-panel);border:1px solid var(--m-edge);border-radius:3px}.giga-panel-heading{height:34px;background:#3b3e40;border-bottom:1px solid #484d4e;display:flex;justify-content:space-between;align-items:center;padding:0 12px;gap:12px}.giga-panel h2{font-size:10px;letter-spacing:1px;margin:0;font-weight:700}.giga-panel select{font-size:9px;letter-spacing:.5px;padding:3px 6px;background:#222729;color:#d0e5e5;min-width:110px}.giga-tag{font-size:8px;letter-spacing:1px;color:var(--m-dim)}.giga-oscillators{display:grid;gap:9px}.giga-power{display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1px;font-weight:700;cursor:pointer}.giga-power input{width:12px;height:12px;margin:0}.giga-power>span{display:none}.giga-osc-body{padding:8px 10px 9px;display:grid;grid-template-columns:.9fr 1.4fr;align-items:center;gap:10px}.giga-wave{width:100%;height:77px;border:1px solid #485154;background:#1d2527;padding:4px}.giga-wave polyline,.giga-filter-curve>path:not(.giga-wave-zero),.giga-envelope-graph>path:not(.giga-wave-zero){stroke:var(--m-cyan);fill:none;stroke-width:1.7;vector-effect:non-scaling-stroke;stroke-linejoin:round}.giga-wave-zero{stroke:#465256;fill:none;stroke-width:1;stroke-dasharray:2 4}.giga-dials{display:flex;align-items:start;justify-content:space-around;gap:4px}.giga-dial{position:relative;display:flex;flex:1;min-width:48px;flex-direction:column;align-items:center;text-align:center;cursor:ew-resize;padding-top:2px}.giga-dial-face{position:relative;display:block;width:38px;height:38px;background:linear-gradient(135deg,#5f6263,#2b2e30 65%);border:2px solid #1c1f20;border-radius:50%;box-shadow:0 3px 4px #0005,inset 0 1px 1px #ffffff40;margin:3px 0 5px}.giga-dial-face:after{position:absolute;inset:-5px;border:1px solid #5e686a;border-bottom-color:transparent;border-radius:50%;content:""}.giga-dial-face>span{position:absolute;inset:3px}.giga-dial-face>span:after{position:absolute;top:1px;left:calc(50% - 1px);height:10px;width:2px;background:#bcebec;content:""}.giga-dial input{position:absolute;top:0;left:0;width:100%;height:51px;margin:0;opacity:0;cursor:ew-resize}.giga-dial:focus-within .giga-dial-face{outline:2px solid var(--m-cyan);outline-offset:5px}.giga-dial:hover .giga-dial-face{filter:brightness(1.2)}.giga-dial-name{font-size:9px;text-transform:uppercase;letter-spacing:.3px;white-space:nowrap;color:#d6d9d7;margin-top:3px}.giga-dial output{font-size:10px;line-height:17px;color:var(--m-cyan);font-variant-numeric:tabular-nums}.giga-filters{display:flex;flex-direction:column;gap:9px}.giga-section-title{display:flex;justify-content:space-between;padding:4px 3px;font-size:8px;letter-spacing:.8px;color:#c1c6c5}.giga-section-title>span{color:#8f9c9d;font-size:7px;letter-spacing:.3px}.giga-filter{position:relative;min-height:143px}.giga-filter-curve{position:absolute;left:8px;top:48px;width:45%;height:70px;background:#252c2d;border:1px solid #465052;padding:5px}.giga-filter>.giga-dials{margin:12px 5px 9px 47%}.giga-routing{display:flex;align-items:center;gap:8px;padding:2px 8px 0}.giga-routing>span{font-size:8px;letter-spacing:.6px;max-width:40px;line-height:14px;color:var(--m-dim)}.giga-routing .giga-dial{max-width:64px}.giga-routing .giga-dial-name{display:none}.giga-routing b{font-size:9px;font-weight:400;color:#d8dfdc}.giga-routing p{font-size:9px;color:#aab4b2;margin:6px 0 0}.giga-output{display:flex;flex-direction:column;gap:10px}.giga-scope{display:block;width:calc(100% - 20px);height:75px;margin:10px 10px 0;background:#1b2325;border:1px solid #465154}.giga-master{display:flex;align-items:center;padding:8px 22px 13px;gap:30px}.giga-master .giga-dial{max-width:80px}.giga-master .giga-dial-face{width:48px;height:48px}.giga-master input{height:61px}.giga-voice-display{flex:1;text-align:center}.giga-voice-display strong{display:block;font-size:30px;font-weight:400;color:#b5d6d5;font-variant-numeric:tabular-nums}.giga-voice-display span{font-size:7px;letter-spacing:1px;color:var(--m-dim)}.giga-effects .giga-dials{display:grid;grid-template-columns:1fr 1fr;padding:13px 12px 10px;row-gap:14px}.giga-preset-description{font-size:10px;line-height:1.6;color:#b1b9b7;margin:0 8px}.giga-modulation{display:grid;grid-template-columns:1.36fr 1.88fr;gap:10px;margin-top:10px}.giga-mod-number{color:#9fe0e1;padding-right:9px}.giga-envelope-body{display:flex;padding:10px 10px 8px;align-items:center;gap:10px}.giga-envelope-graph{width:35%;height:86px;background:#222a2b;border:1px solid #485355}.giga-envelope-graph circle{fill:var(--m-cyan)}.giga-envelope-body>.giga-dials{flex:1}.giga-lfo>.giga-dials{padding:14px 15px 10px}.giga-keyboard-section{margin-top:11px;background:#303436;border:1px solid #4a4e50;border-radius:3px;overflow:hidden}.giga-keyboard-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 13px}.giga-octave{display:flex;gap:11px;align-items:center}.giga-octave>span{font-size:8px;letter-spacing:1px;color:#b6bfbe}.giga-octave button{width:23px;height:23px;font-size:15px}.giga-octave strong{font-size:12px;font-weight:400;min-width:8px}.giga-keyboard-toolbar p{font-size:10px;color:#bac1bf;margin:0}.giga-keyboard-toolbar kbd{font:inherit;color:#e2e7e4}.giga-keyboard-hint{color:#929f9c}.giga-panic{text-transform:uppercase;font-size:9px!important;letter-spacing:.6px;padding:5px 13px}.giga-keyboard{position:relative;display:flex;height:128px;margin:0 13px 12px;background:#171a1b;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.giga-keyboard button{border-radius:0 0 3px 3px;touch-action:none;transition:background .05s}.giga-keyboard .white{flex:1;height:100%;padding:0;border:1px solid #777f7c;border-top:0;background:linear-gradient(#b8bdb7,#e0e1d7 22%,#f0f0e4);color:#535953;position:relative;box-shadow:inset 0 -5px #a8afa7}.giga-keyboard .white span{position:absolute;bottom:13px;left:0;right:0;font-size:9px}.giga-keyboard .black{position:absolute;z-index:1;top:0;height:63%;width:4.25%;background:linear-gradient(90deg,#202526,#343a3b 50%,#202526);border:1px solid #111617;box-shadow:inset 0 -6px #101516,0 3px 3px #0005}.giga-keyboard .white:hover:not(:disabled){background:#d2e6df}.giga-keyboard .black:hover:not(:disabled){background:#475b5b}.giga-keyboard .white.pressed{background:#a6d8d3;box-shadow:inset 0 -2px #6faaa5}.giga-keyboard .black.pressed{background:#65999a;box-shadow:inset 0 -2px #355a5c}.giga-keyboard button:disabled{opacity:1}.giga-keyboard.offline{filter:saturate(.25);opacity:.65}.giga-footer{display:flex;justify-content:space-between;color:#9ba7a4;font-size:9px;padding:12px 2px 0;gap:18px}.giga-footer>span:first-child{color:#bbd6d0}.giga-error{background:#603b32;color:#ffe0d5;padding:12px 16px;border-radius:3px}.giga-app select{cursor:pointer}.giga-app a:hover{color:#e6f3ee}@media (min-width: 1450px){.giga-app{padding-top:45px}.giga-osc-body{padding-top:13px;padding-bottom:13px}.giga-filter{min-height:154px}.giga-filter-curve{height:78px}.giga-filter>.giga-dials{margin-top:20px}.giga-keyboard{height:151px}.giga-effects .giga-dials{row-gap:18px}}@media (max-width: 1050px){.giga-app{padding:18px 16px}.giga-topology{grid-template-columns:1.2fr 1fr .8fr}.giga-osc-body{display:block}.giga-wave{height:48px;margin-bottom:7px}.giga-filter-curve{position:static;width:calc(100% - 20px);margin:10px 10px 0;height:50px}.giga-filter>.giga-dials{margin:10px 5px}.giga-section-title>span{display:none}.giga-routing{padding-top:6px;flex-wrap:wrap}.giga-routing>div:last-child{display:none}.giga-output{gap:10px}.giga-master{padding:13px 7px;gap:7px}.giga-effects .giga-dials{row-gap:25px;padding-top:20px;padding-bottom:20px}.giga-preset select{width:240px}.giga-preset>label{display:none}.giga-modulation{grid-template-columns:1fr 1fr}.giga-envelope-body{flex-direction:column;gap:9px}.giga-envelope-graph{width:100%;height:55px}.giga-envelope-body>.giga-dials{width:100%}.giga-lfo>.giga-dials{display:grid;grid-template-columns:1fr 1fr;row-gap:15px}.giga-keyboard-hint{display:none}}@media (max-width: 700px){.giga-app{padding:19px 10px}.giga-header{margin-bottom:20px}.giga-brand{display:block}.giga-brand h1{font-size:30px}.giga-brand p{font-size:9px;margin-top:8px}.giga-toolbar{padding:10px;gap:12px;flex-wrap:wrap}.giga-preset{flex:1}.giga-preset select{width:100%;min-width:180px}.giga-edited{display:none}.giga-audio{width:100%;justify-content:flex-start}.giga-enable{margin-left:auto}.giga-topology{grid-template-columns:1fr 1fr}.giga-oscillators{grid-column:1/-1;grid-template-columns:1fr}.giga-osc-body{display:grid;grid-template-columns:1fr 1.3fr}.giga-wave{height:72px;margin:0}.giga-filters{gap:10px}.giga-section-title{height:18px}.giga-output{padding-top:28px}.giga-routing{justify-content:space-between}.giga-master{flex-wrap:wrap;gap:0;justify-content:center}.giga-voice-display strong{font-size:24px}.giga-voice-display span{font-size:6px}.giga-panel-heading{padding:0 8px}.giga-panel select{min-width:80px;font-size:8px;max-width:135px}.giga-master .giga-dial{min-width:60px}.giga-modulation{grid-template-columns:1fr}.giga-envelope-body{flex-direction:row}.giga-envelope-graph{width:28%;height:70px}.giga-lfo>.giga-dials{display:flex}.giga-keyboard-toolbar{flex-wrap:wrap;gap:8px}.giga-keyboard-toolbar p{order:3;width:100%;text-align:center;font-size:9px}.giga-keyboard{height:112px;margin:0 8px 8px}.giga-keyboard .white span{font-size:7px;bottom:12px}.giga-footer{line-height:1.5;flex-direction:column;gap:4px}.giga-dial-name{font-size:8px}.giga-dial output{font-size:9px}.giga-osc-body .giga-dials{gap:0}}@media (prefers-reduced-motion: reduce){.giga-app *{transition:none!important}}.giga-filter-env-body{display:flex;align-items:center;gap:18px;padding:14px 22px}.giga-filter-env-body .giga-dial{flex:0 0 88px}.giga-filter-env-body p{font-size:11px;line-height:1.7;color:#bcc8c3;max-width:32ch;margin:0}.giga-workbench{--lfo-green: #aedb78;--lfo-muted: #a5b693;margin-top:11px;overflow:hidden}.giga-workbench-heading{height:37px;background:#3b3e40;border-bottom:1px solid #4c5350;padding:0 14px;display:flex;align-items:center;justify-content:space-between;gap:16px}.giga-workbench-heading h2{font-size:10px;letter-spacing:1px;color:#d9e8c9}.giga-workbench-heading>span{font-size:9px;color:#b8c5ae}.giga-workbench-body{display:grid;grid-template-columns:1.12fr 1fr;min-width:0}.giga-curve-column{min-width:0;padding:12px 14px 10px;border-right:1px solid #4a514c}.giga-lfo-tabs{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;margin-bottom:11px}.giga-app .giga-lfo-tabs button{display:flex;align-items:center;justify-content:space-between;gap:5px;text-align:left;border:1px solid #5f7053;border-radius:2px 2px 0 0;background:#313b2c;padding:10px 10px 8px;color:#c1d5b0;font-size:11px;letter-spacing:.3px;font-weight:700}.giga-app .giga-lfo-tabs button[aria-selected=true]{background:#b3db84;border-color:#b3db84;color:#21301b}.giga-lfo-tabs button span{font-size:8px;font-weight:400;letter-spacing:0}.giga-curve-tools{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:9px}.giga-edit-mode{display:flex;gap:0}.giga-edit-mode button{border-radius:0!important;padding:5px 10px;color:#ccd6c4}.giga-edit-mode button:first-child{border-radius:2px 0 0 2px!important}.giga-edit-mode button:last-child{border-radius:0 2px 2px 0!important;border-left:0}.giga-app .giga-edit-mode button[aria-pressed=true]{background:#526841;color:#e5f1db;border-color:#758b60}.giga-shapes{display:flex;gap:4px}.giga-shapes button{padding:5px 7px;font-size:9px;color:#c6d1be;border-color:#59634f}.giga-lfo-graph{display:block;width:100%;height:auto;aspect-ratio:8/3;background:#20291e;border:1px solid #55634b;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;overflow:visible;cursor:crosshair}.giga-lfo-grid-boundary{fill:#263021;stroke:#526347;stroke-width:.7}.giga-lfo-grid{stroke:#47563b;stroke-width:.6}.giga-lfo-zero{stroke:#6a7b55;stroke-width:1}.giga-lfo-fill{fill:#a9d674;opacity:.08;pointer-events:none}.giga-lfo-path{fill:none;stroke:#b9e584;stroke-width:2;stroke-linejoin:round;pointer-events:none;vector-effect:non-scaling-stroke}.giga-lfo-point-hit{fill:transparent;stroke:transparent;cursor:grab}.giga-lfo-point-hit:focus{outline:none;stroke:#e7ffd0;stroke-width:1;fill:#b9e58422}.giga-lfo-point{fill:#b9e584;stroke:#28351e;stroke-width:1;pointer-events:none}.giga-lfo-graph .selected .giga-lfo-point{fill:#efffda;stroke:#efffda;stroke-width:1}.giga-lfo-graph.draw .giga-lfo-point{opacity:.45}.giga-lfo-graph.draw .giga-lfo-point-hit{pointer-events:none}.giga-lfo-graph text{fill:#b2c29f;font-size:8px;pointer-events:none}.giga-curve-parameters{display:grid;grid-template-columns:1.1fr 1fr 1fr auto;align-items:center;gap:13px;padding-top:11px}.giga-curve-parameters label{min-width:0}.giga-curve-parameters label>span{display:flex;justify-content:space-between;gap:5px;font-size:8px;letter-spacing:.3px;color:#c1cdb6;white-space:nowrap}.giga-curve-parameters output{color:#c6e7a5;font-size:9px;font-variant-numeric:tabular-nums;letter-spacing:0}.giga-workbench input[type=range]{display:block;width:100%;height:15px;accent-color:#b3d885;cursor:ew-resize;margin:5px 0 0;padding:0;background:transparent}.giga-workbench input[type=range]:disabled{opacity:.3;cursor:default}.giga-app .giga-delete-point{padding:6px 9px;font-size:9px;white-space:nowrap;color:#cfdbc6;border-color:#5b6752}.giga-editor-help,.giga-matrix-help{color:#bcc7b3;font-size:9px;line-height:1.6;margin:11px 0 0}.giga-matrix-column{padding:13px 14px 10px;min-width:0;background:#2c312d}.giga-matrix-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;height:22px}.giga-matrix-heading h3{font-size:9px;letter-spacing:.7px;color:#d5e1cb;margin:0}.giga-matrix-heading button{font-size:8px;padding:4px 8px;border-color:#5a6651;color:#c5d3b9}.giga-matrix-scroll{max-width:100%;overflow:auto;scrollbar-color:#6b7b58 #252c21}.giga-matrix{width:100%;min-width:410px;border-collapse:collapse;table-layout:fixed}.giga-matrix th{text-align:left;font-size:8px;font-weight:400;color:#d0d6cb;letter-spacing:.15px}.giga-matrix thead th{font-size:8px;letter-spacing:.7px;color:#bdd99e;padding:6px 6px 8px}.giga-matrix th:first-child{width:29%}.giga-matrix thead th:not(:first-child){text-align:center}.giga-matrix td,.giga-matrix tbody th{border-top:1px solid #464f40;padding:5px 7px}.giga-matrix td{border-left:1px solid #444c40;text-align:center;background:#282e25}.giga-matrix tbody th{font-size:8px;color:#d1d9c9;line-height:1.4}.giga-matrix input[type=range]{height:11px;margin:0 0 1px}.giga-matrix output{font-size:8px;font-variant-numeric:tabular-nums;line-height:11px;color:#a7b69b}.giga-matrix td.routed{background:#3d4a32}.giga-matrix td.routed output{color:#d2f4b1}.giga-matrix-help{margin-top:8px;font-size:8px;color:#aebb9f}.giga-matrix-help span{color:#c9e6b1}.giga-visually-hidden{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);overflow:hidden;white-space:nowrap}.giga-workbench button:focus-visible,.giga-workbench input:focus-visible{outline-color:#d2f4b1}.giga-workbench button:hover:not(:disabled){background:#4f6340}.giga-lfo-graph:has(.giga-lfo-point-hit:focus-visible){border-color:#b9e584}@media (min-width: 1450px){.giga-lfo-graph{aspect-ratio:8/3}.giga-matrix td,.giga-matrix tbody th{padding-top:6px;padding-bottom:6px}}@media (max-width: 1100px){.giga-workbench-body{grid-template-columns:1fr}.giga-curve-column{border-right:0;border-bottom:1px solid #4a514c}.giga-lfo-graph{max-height:270px;aspect-ratio:auto}.giga-matrix-column{padding-top:14px}.giga-matrix{min-width:490px}.giga-matrix th:first-child{width:30%}.giga-matrix td{padding:6px 14px}.giga-matrix input[type=range]{height:13px}.giga-filter-env-body{padding:14px;gap:10px}.giga-filter-env-body .giga-dial{flex-basis:65px}.giga-filter-env-body p{font-size:10px}}@media (max-width: 700px){.giga-filter-env-body{padding:8px 14px}.giga-filter-env-body p{max-width:none}.giga-modulation{grid-template-columns:1fr}.giga-workbench-heading{padding:0 10px}.giga-workbench-heading>span{display:none}.giga-curve-column{padding:10px 9px}.giga-lfo-tabs{gap:3px}.giga-app .giga-lfo-tabs button{padding:8px 7px;font-size:10px;display:block}.giga-lfo-tabs button span{display:block;font-size:8px;padding-top:4px}.giga-curve-tools{gap:7px;flex-wrap:wrap}.giga-edit-mode button{font-size:10px;padding:5px 9px}.giga-shapes{gap:3px}.giga-shapes button{font-size:8px;padding:5px 6px}.giga-lfo-graph{height:auto;aspect-ratio:8/3;min-height:155px}.giga-curve-parameters{grid-template-columns:1fr 1fr;gap:9px 18px}.giga-delete-point{justify-self:end;align-self:end;margin-bottom:3px}.giga-curve-parameters label>span{font-size:8px}.giga-workbench input[type=range]{height:21px}.giga-editor-help{font-size:9px;max-width:55ch}.giga-matrix-column{padding:11px 9px}.giga-matrix{min-width:470px}.giga-matrix td{padding:7px 8px}.giga-matrix input[type=range]{height:17px}.giga-matrix tbody th{font-size:8px}.giga-matrix-help{max-width:60ch;font-size:9px}.giga-matrix-scroll:focus-visible{outline-offset:-2px}}
