@import"https://fonts.googleapis.com/css2?family=DM+Mono:wght@300;400;500&family=Noto+Sans+JP:wght@400;500;700&display=swap";:root{--ink: #141510;--paper: #e7e4dc;--acid: #d8ff35;--muted: #6d6e67;--line: rgba(20, 21, 16, .24);--mono: "DM Mono", "Noto Sans JP", monospace;color:var(--ink);background:var(--paper);font-family:var(--mono)}html,body{min-height:100%}body{margin:0}.grain{position:fixed;inset:0;z-index:20;pointer-events:none;opacity:.035;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.8'/%3E%3C/svg%3E")}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--ink)}.brand-mark{display:grid;width:42px;height:42px;place-items:center;color:var(--acid);background:var(--ink);font-size:12px}.header-actions,.header-side{display:flex;align-items:center;gap:18px}.header-note{color:#55564f;font-size:9px;line-height:1.7;letter-spacing:.1em;text-align:right}.back-link{padding-bottom:4px;border-bottom:1px solid var(--ink);color:inherit;font-size:9px;letter-spacing:.1em;text-decoration:none}.language-picker select{min-width:82px;padding:5px 0;border:0;border-bottom:1px solid var(--ink);color:inherit;background:transparent;font:9px var(--mono);letter-spacing:.04em;cursor:pointer}.language-picker select:hover,.language-picker select:focus-visible{color:#657b00;outline:none}input[type=range]{--fill: 50%;width:100%;height:1px;appearance:none;background:linear-gradient(90deg,var(--ink) var(--fill),#aaa var(--fill));cursor:pointer}input[type=range]::-webkit-slider-thumb{appearance:none;width:15px;height:15px;border:3px solid var(--paper);border-radius:50%;background:var(--ink);box-shadow:0 0 0 1px var(--ink)}:root{color:#e7e4dc;background:#141510;font-family:DM Mono,Noto Sans JP,monospace;font-synthesis:none;--ink: #141510;--paper: #e7e4dc;--acid: #d8ff35;--panel: #1a1b17;--panel-raised: #23241e;--line: rgba(231, 228, 220, .2);--muted: #9a9b93;--green: var(--acid);--amber: #ff6b35;--mono: "DM Mono", "Noto Sans JP", monospace}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background:radial-gradient(circle at 12% -10%,rgba(216,255,53,.08),transparent 28rem),#141510}button,input,select{font:inherit}button{color:inherit}.app-shell{width:min(1440px,100%);margin:0 auto;padding:0 52px 28px}.site-header{height:94px;display:flex;align-items:center;justify-content:space-between;gap:24px;border-bottom:1px solid var(--line)}.header-side,.section-heading,.keyboard-toolbar{display:flex;align-items:center}.brand{display:flex;align-items:center;gap:14px;color:inherit;font-weight:500;letter-spacing:.08em;text-decoration:none}.brand-mark{display:grid;width:42px;height:42px;place-items:center;color:var(--ink);background:var(--green);font-size:12px}.eyebrow{color:var(--muted);font:500 10px / 1 var(--mono);letter-spacing:.13em}h2,p{margin:0}h2{font:700 18px/1.1 Noto Sans JP,sans-serif;letter-spacing:-.025em}.header-side{display:flex;align-items:center;gap:18px}.back-link{padding-bottom:4px;border-bottom:1px solid currentColor;color:inherit;font-size:9px;letter-spacing:.1em;text-decoration:none}.back-link:hover{color:var(--green)}.header-note{color:var(--muted);font:9px / 1.7 var(--mono);letter-spacing:.1em;text-align:right}.language-picker select{min-width:82px;padding:5px 0;border:0;border-bottom:1px solid rgba(231,228,220,.65);border-radius:0;color:inherit;background:transparent;font:9px var(--mono);letter-spacing:.04em;cursor:pointer}.language-picker select:hover,.language-picker select:focus-visible{color:var(--green);outline:none}.audio-status{display:flex;align-items:center;gap:8px;color:var(--muted);font:500 10px / 1 var(--mono)}.audio-status i{width:7px;height:7px;border-radius:50%;background:#3f4844;box-shadow:0 0 0 3px #3f48442b}.audio-status.active{color:var(--green)}.audio-status.active i{background:var(--green);box-shadow:0 0 10px #85ffc2bf}.monitor-strip{height:150px;display:grid;grid-template-columns:1fr 1fr 130px;border:1px solid var(--line);border-top:0;background:#0c110f}.field-intro{display:flex;align-items:center;justify-content:space-between;min-height:64px;border-bottom:1px solid var(--line);color:var(--muted);font:9px / 1.6 var(--mono);letter-spacing:.1em}.field-intro span:first-child{color:var(--green)}.synth-controls{display:flex;align-items:center;gap:20px;min-height:62px;padding:12px 18px;border:1px solid var(--line);border-top:0;background:var(--panel-raised)}.synth-controls .audio-status{min-width:138px}.scope-panel{position:relative;min-width:0;border-right:1px solid var(--line);overflow:hidden}.scope-panel canvas{display:block;width:100%;height:100%}.monitor-label{position:absolute;z-index:1;top:12px;left:14px;right:14px;display:flex;justify-content:space-between;color:#68736e;font:500 9px / 1 var(--mono);letter-spacing:.08em;pointer-events:none}.voice-readout{display:flex;flex-wrap:wrap;align-content:center;justify-content:center;text-align:center}.voice-readout .eyebrow{width:100%;margin-bottom:10px}.voice-readout strong{color:var(--green);font:400 44px / .9 var(--mono)}.voice-readout small{align-self:flex-end;margin:0 0 3px 5px;color:var(--muted);font:500 11px / 1 var(--mono)}.routing-section{padding:30px 0 26px}.section-heading{justify-content:space-between;margin-bottom:17px}.section-heading h2,.keyboard-toolbar h2{margin-top:5px}.routing-diagram{display:block;width:100%;height:52px;overflow:visible}.operators-grid{display:grid;grid-template-columns:repeat(4,1fr);border:1px solid var(--line)}.operator{min-width:0;background:var(--panel);border-right:1px solid var(--line)}.operator:last-child{border-right:0}.signal-led{width:7px;height:7px;border-radius:50%;background:#37403c}.signal-led.active{background:var(--amber);box-shadow:0 0 10px #ffb84db3}.operator-toggle{display:flex;align-items:center;gap:7px;padding:0;border:0;color:#626d68;background:transparent;font:500 8px / 1 var(--mono);cursor:pointer}.toggle-track{position:relative;width:25px;height:13px;border:1px solid #47514c;background:#0b0f0d}.toggle-track i{position:absolute;top:2px;left:2px;width:7px;height:7px;background:#59635e;transition:transform .12s ease,background-color .12s ease}.operator-toggle.active{color:var(--green)}.operator-toggle.active .toggle-track{border-color:#85ffc28c}.operator-toggle.active .toggle-track i{background:var(--green);transform:translate(12px)}select{min-width:125px;height:34px;padding:0 28px 0 10px;border:1px solid #3a4540;border-radius:0;color:#dce3df;background:#0d1210;font:500 11px / 1 var(--mono)}input[type=range]{display:block;width:100%;height:14px;margin:0;appearance:none;background:transparent;cursor:ew-resize}input[type=range]::-webkit-slider-runnable-track{height:3px;background:#36413c}input[type=range]::-webkit-slider-thumb{width:7px;height:15px;margin-top:-6px;appearance:none;border:1px solid #e9efec;border-radius:0;background:#b7c2bd;box-shadow:0 0 0 3px var(--panel)}input[type=range]::-moz-range-track{height:3px;background:#36413c}input[type=range]::-moz-range-progress{height:3px;background:var(--green)}input[type=range]::-moz-range-thumb{width:6px;height:14px;border:1px solid #e9efec;border-radius:0;background:#b7c2bd}input[type=range]:focus-visible{outline:1px solid var(--green);outline-offset:4px}.preset-menu{position:relative;flex:none;color:#d9e1dd;font:500 9px / 1 var(--mono);letter-spacing:.07em}.preset-menu summary,.preset-json-menu summary{display:flex;align-items:center;min-height:28px;padding:0 9px;border:1px solid #3a4540;background:#0d1210;cursor:pointer;list-style:none}.preset-menu>summary{justify-content:center;width:30px;min-height:14px;padding:0;border:0;background:transparent}.preset-menu>summary:hover,.preset-menu[open]>summary{background:transparent}.preset-menu>summary:focus-visible{outline:1px solid var(--green);outline-offset:3px}.preset-menu-icon{width:14px;height:14px;fill:none;stroke:currentColor;stroke-linecap:square;stroke-linejoin:miter;stroke-width:1.2}.preset-menu summary::-webkit-details-marker,.preset-json-menu summary::-webkit-details-marker{display:none}.preset-menu summary:hover,.preset-menu[open]>summary,.preset-json-menu summary:hover,.preset-json-menu[open]>summary{border-color:var(--green);color:var(--green)}.preset-menu-popover{position:absolute;z-index:20;top:calc(100% + 5px);right:0;display:none;width:max-content;min-width:190px;max-width:min(280px,calc(100vw - 32px));padding:6px;border:1px solid #59655f;background:#111614;box-shadow:0 14px 40px #0000006b}.preset-menu[open]>.preset-menu-popover{display:block}.preset-menu-popover button,.preset-menu-empty{display:block;width:100%;min-height:30px;padding:0 9px;border:0;color:inherit;background:transparent;font:inherit;letter-spacing:inherit;text-align:left}.preset-menu-popover button{cursor:pointer}.preset-menu-popover button:hover,.preset-menu-popover button:focus-visible{outline:none;color:var(--green);background:#d8ff3514}.preset-menu-items{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}.preset-menu-empty{margin:0;color:var(--muted);font-size:8px}.preset-menu-item{display:flex;align-items:stretch}.preset-menu-item>button:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.preset-menu-item .preset-menu-delete{width:30px;padding:0;color:var(--muted);font:300 18px/1 sans-serif;text-align:center}.preset-json-menu{margin-top:5px;padding-top:5px;border-top:1px solid var(--line)}.preset-json-menu summary{min-height:30px;padding:0 9px;border:0}.preset-json-menu[open]>button{margin-top:2px}.keyboard-section{margin-top:28px;border:1px solid var(--line);background:var(--panel)}.keyboard-toolbar{min-height:76px;padding:14px 18px;gap:26px;border-bottom:1px solid var(--line)}.octave-control{display:flex;align-items:center;height:34px;border:1px solid #3d4843}.octave-control button{width:34px;align-self:stretch;border:0;background:#0c110f;cursor:pointer}.octave-control button:hover{color:var(--green)}.octave-control span{padding:0 13px;color:var(--muted);font:500 9px / 1 var(--mono)}.octave-control strong{color:var(--green)}footer{display:flex;justify-content:space-between;padding:20px 2px 0;color:#505b56;font:500 9px / 1 var(--mono);letter-spacing:.08em}.json-dialog{width:min(680px,calc(100vw - 32px));max-height:82vh;padding:0;border:1px solid #59655f;color:#e4ebe7;background:#111614;box-shadow:0 25px 100px #000}.json-dialog::backdrop{background:#030605c7;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.json-status{min-height:16px;margin:0;padding:8px 20px 0;color:var(--green);font:500 10px / 1.4 var(--mono)}.json-status.error{color:#ff8b7d}.audio-status i,.signal-led{background:#5f6059;box-shadow:none}.audio-status.active i{box-shadow:0 0 10px #d8ff358c}.monitor-strip,.octave-control button{background:var(--ink, #141510)}.monitor-label,.operator-toggle,footer{color:var(--muted)}.signal-led.active{box-shadow:0 0 10px #ff6b358c}.toggle-track,.octave-control{border-color:var(--line)}.toggle-track{background:#141510}.operator-toggle.active .toggle-track{border-color:#d8ff35b3}select option{color:#141510;background:#e7e4dc}input[type=range]::-webkit-slider-runnable-track,input[type=range]::-moz-range-track{height:1px;background:#e7e4dc6b}input[type=range]::-webkit-slider-thumb{width:15px;height:15px;margin-top:-7px;border:3px solid #141510;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}input[type=range]::-moz-range-thumb{width:15px;height:15px;border:3px solid #141510;border-radius:50%;background:var(--green);box-shadow:0 0 0 1px var(--green)}.json-dialog{border-color:#e7e4dc6b;color:#e7e4dc;background:var(--panel)}@media(max-width:1050px){.site-header{height:auto;align-items:flex-start;padding:20px 0}.header-side{flex-wrap:wrap;justify-content:flex-end}.operators-grid{grid-template-columns:repeat(2,1fr)}.operator:nth-child(2){border-right:0}.operator:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(max-width:680px){.app-shell{padding:0 24px 20px}.site-header{display:block}.header-side{justify-content:flex-start;gap:14px;margin-top:20px}.synth-controls{flex-wrap:wrap}.field-intro{display:block;padding:16px 0}.field-intro span{display:block}.field-intro span+span{margin-top:4px}.monitor-strip{height:230px;grid-template-columns:1fr 90px;grid-template-rows:1fr 1fr}.scope-panel{grid-column:1}.scope-panel.spectrum{grid-row:2}.voice-readout{grid-column:2;grid-row:1 / 3}.section-heading{display:block}.operators-grid{grid-template-columns:1fr}.operator,.operator:nth-child(2){border-right:0;border-bottom:1px solid var(--line)}.operator:last-child{border-bottom:0}.keyboard-toolbar{flex-wrap:wrap}footer{display:block;line-height:2}}@media(min-width:1450px){.workspace-grid{display:grid;grid-template-columns:minmax(590px,.8fr) minmax(760px,1.2fr);gap:28px;align-items:start}.performance-column{position:sticky;top:0}.performance-column .keyboard-toolbar{flex-wrap:wrap}.performance-column .keyboard-wrap{padding:14px}.synthesis-column .routing-section{padding-top:20px}.synthesis-column .operators-grid{grid-template-columns:repeat(2,1fr)}.synthesis-column .operator:nth-child(2n){border-right:0}.synthesis-column .operator:nth-child(-n+2){border-bottom:1px solid var(--line)}}@media(prefers-reduced-motion:reduce){:root body *,:root body *:before,:root body *:after{scroll-behavior:auto;transition:none}}.app-shell{--panel-edge: var(--line);--text: var(--paper);--accent: var(--acid);--canvas-bg: var(--ink)}[hidden]{display:none!important}.app-shell :is(.synth-controls,.keyboard-section,.synthesis-column) :is(.small-button,select){color:var(--paper);background:var(--panel-raised);border:1px solid var(--line);border-radius:0;cursor:pointer;font:inherit;font-size:10px;padding:4px 8px}.app-shell :is(.synth-controls,.keyboard-section,.synthesis-column) :is(.small-button,select):hover{border-color:var(--acid)}.library-row{flex-wrap:wrap}.app-shell .small-button{white-space:nowrap}.keyboard .key{padding:0;min-width:0}.synth-controls{gap:18px}.synth-controls .patch-bar{min-width:0;flex:1 1 320px}.synth-controls>.slider{min-width:140px;flex:0 1 190px}.panel-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px;font-size:11px;font-weight:700;letter-spacing:.2em;color:var(--muted);margin-bottom:8px}.op-badge{color:#141510;background:var(--op-color);padding:1px 6px;border-radius:0;letter-spacing:.05em}.operator .op-role{color:var(--op-color)}.app-shell .synthesis-column .operator{padding:14px}.app-shell .synthesis-column .lfo{margin-top:12px;padding:14px;border:1px solid var(--line);background:var(--panel)}.lfo .panel-title{padding-bottom:12px;margin-bottom:14px;border-bottom:1px solid var(--line)}.operator-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.operators-grid.operator-row{gap:0}.viz-canvas{display:block;width:100%;height:170px;border-radius:0;background:var(--canvas-bg)}.control-line{display:flex;align-items:center;gap:10px;margin-bottom:6px}.caption,.section-caption{font-size:10px;letter-spacing:.2em;color:var(--muted);min-width:44px}.section-caption{margin:10px 0 12px;padding-top:8px;border-top:1px solid var(--panel-edge)}.segmented{display:inline-flex;border:1px solid var(--panel-edge);border-radius:0;overflow:hidden}.segmented button{border:none;border-radius:0;border-right:1px solid var(--panel-edge);background:#0d1218;color:var(--muted);min-width:38px;min-height:26px;padding:4px 8px;font:inherit;font-size:8px;cursor:pointer}.control-line>.segmented{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);flex:1}.control-line>.segmented button{min-width:0}.spectrum-mode button{padding:2px 8px;font-size:10px}.segmented button:last-child{border-right:none}.segmented button.selected{background:var(--op-color, var(--accent));color:#141510;font-weight:700}.columns{display:grid;grid-template-columns:1fr 1fr;gap:20px}.column{display:flex;flex-direction:column;gap:4px;min-width:0}.column .section-caption{margin-top:0}.env-canvas{display:block;width:100%;height:120px;margin-top:10px;border-radius:0;background:var(--canvas-bg)}.key-scale-canvas{display:block;width:100%;height:64px;margin-top:8px;border-radius:0;background:var(--canvas-bg)}.slider{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;gap:2px 8px;min-height:36px}.slider-label{grid-column:1;grid-row:1;font-size:9px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);white-space:nowrap}.slider-value,.slider-editor{grid-column:2;grid-row:1;min-width:58px;padding:0;font-family:inherit;font-size:9px;color:var(--text);text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;border:1px solid transparent;border-radius:0}.slider-value{background:none;cursor:text}.slider-value:hover{border-color:var(--panel-edge)}.slider-value:focus-visible,.slider-editor{border-color:var(--op-color, var(--accent));outline:none}.slider-editor{background:#141510;-webkit-user-select:text;user-select:text}.slider input[type=range]{--fill: var(--op-color, var(--green));grid-column:1 / -1;grid-row:2;-webkit-appearance:none;appearance:none;width:100%;min-width:0;height:15px;margin:0;background:linear-gradient(to right,rgba(231,228,220,.42) var(--fill-from),var(--fill) var(--fill-from),var(--fill) var(--fill-to),rgba(231,228,220,.42) var(--fill-to)) center / 100% 1px no-repeat;cursor:ew-resize;outline:none}.slider input[type=range]::-webkit-slider-runnable-track{height:1px;background:transparent}.slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:15px;height:15px;margin-top:-7px;border:3px solid var(--ink);border-radius:50%;background:var(--fill);box-shadow:0 0 0 1px var(--fill)}.slider input[type=range]::-moz-range-track{height:1px;background:#e7e4dc6b}.slider input[type=range]::-moz-range-progress{height:1px;background:var(--fill)}.slider input[type=range]::-moz-range-thumb{width:15px;height:15px;border:3px solid var(--ink);border-radius:50%;background:var(--fill)}.slider input[type=range]:focus-visible{outline:1px solid var(--green);outline-offset:4px}.small-button{padding:2px 8px}.keyboard-heading{flex:none}.keyboard-utilities{display:flex;align-items:center;gap:12px;margin-left:auto}.keyboard-utilities .hint,.keyboard-utilities .last-note{margin-left:0}.keyboard-utilities .hint{font-size:9px}.octave-control .octave-readout{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-width:120px}.octave-control .octave-readout>span{padding:0;font:inherit}.octave-control .octave-label{min-width:1ch;text-align:center}.octave-control button{font-size:18px}.hint{color:var(--muted);margin-left:12px}.panel.off .columns,.panel.off .env-canvas,.panel.off .key-scale-canvas{opacity:.4}.lfo-hint{margin:6px 0 0;font-size:11px}.monitor-label .spectrum-mode{pointer-events:auto}.last-note{margin-left:auto;color:var(--accent);font-size:14px;min-width:40px;text-align:right}.keyboard{position:relative;width:100%;min-width:1200px;height:174px;touch-action:none;cursor:pointer;-webkit-user-select:none;user-select:none}.keyboard-wrap{overflow-x:auto;padding:18px 18px 22px}.key{position:absolute;top:0;display:flex;align-items:flex-end;justify-content:center}.key.white{height:100%;background:linear-gradient(180deg,#e6ebe8,#bac2be);border:1px solid #66716c;border-radius:0;z-index:1}.key.black{height:60%;background:linear-gradient(180deg,#202623,#090c0b 80%);border:1px solid #020303;border-radius:0;box-shadow:0 5px 8px #0000008c;z-index:2}.key.white.active{background:linear-gradient(#d8ff355c,#d8ff3538),linear-gradient(180deg,#e6ebe8,#bac2be)}.key.black.active{background:linear-gradient(#d8ff3540,#d8ff351f),linear-gradient(180deg,#202623,#090c0b 80%)}.key-label{white-space:pre-line;text-align:center;font-size:9px;font-weight:600;line-height:1.4;padding-bottom:9px;pointer-events:none}.key.white .key-label{color:#202622}.key.black .key-label{color:#aeb9b4}@media(max-width:900px){.operator-row,.columns{grid-template-columns:1fr}}.algorithm-panel{container-type:inline-size}.algorithm-grid{display:grid;grid-template-columns:repeat(8,minmax(0,1fr));border:1px solid var(--line)}@container (max-width: 800px){.algorithm-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.algorithm-button:nth-child(-n+4){border-bottom:1px solid var(--line)}.algorithm-button:nth-child(4n){border-right:0}}@container (max-width: 400px){.algorithm-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.algorithm-button:nth-child(-n+6){border-bottom:1px solid var(--line)}.algorithm-button:nth-child(2n){border-right:0}}.algorithm-button{display:flex;flex-direction:column;align-items:center;justify-content:space-between;gap:2px;min-width:0;height:88px;padding:7px 8px 8px;background:var(--ink);border:0;border-right:1px solid var(--line);border-radius:0;color:var(--muted);font:inherit;font-size:8px;letter-spacing:.12em;cursor:pointer}.algorithm-button:nth-child(8){border-right:0}.algorithm-button:hover{background:#23261b}.app-shell .synthesis-column .algorithm-button.selected{background:#d8ff3524;color:var(--acid);font-weight:700;box-shadow:inset 0 -3px var(--acid)}.algorithm-button.custom{grid-column:1 / -1;border-top:1px solid var(--line);border-right:0;cursor:default}.algorithm-label{align-self:stretch;text-align:left}.routing-diagram{width:100%;max-width:120px;height:auto;aspect-ratio:100 / 48}.routing-diagram .edges path,.routing-diagram .edges line{fill:none;stroke:var(--muted);stroke-width:1.2}.routing-diagram .edges line.out{stroke:var(--accent)}.routing-diagram .edges path.arrow{fill:var(--accent);stroke:none}.algorithm-button.selected .routing-diagram .edges path,.algorithm-button.selected .routing-diagram .edges line{stroke:var(--acid)}.algorithm-button.selected .routing-diagram .edges path.arrow{fill:var(--acid);stroke:none}.routing-diagram .node rect{fill:var(--canvas-bg);stroke-width:1.2;rx:1.5}.routing-diagram .node text{fill:var(--text);font-size:7px;text-anchor:middle}.routing-diagram .op1 rect{stroke:#5ad1e6}.routing-diagram .op2 rect{stroke:#8fd46b}.routing-diagram .op3 rect{stroke:#c79bf2}.routing-diagram .op4 rect{stroke:#d8ff35}.json-dialog{width:min(720px,92vw);background:var(--panel);color:var(--text);border:1px solid var(--panel-edge);border-radius:0;padding:12px;user-select:text;-webkit-user-select:text}.json-dialog::backdrop{background:#0009}.json-dialog .hint{margin:0 0 8px;font-size:11px}.json-text{display:block;width:100%;height:60vh;resize:vertical;background:var(--canvas-bg);color:var(--text);border:1px solid var(--panel-edge);border-radius:0;padding:8px;font:11px / 1.4 var(--mono)}.json-actions{display:flex;align-items:center;gap:8px;margin-top:8px}.json-status{margin-right:auto;color:var(--muted)}.json-status.error{color:#ff6b6b}.section-caption{display:flex;align-items:center;justify-content:space-between;gap:8px}.panel-title .library,.patch-bar-head .library{margin-left:auto}.library{letter-spacing:normal;font-weight:400;min-width:0}.library-row{display:flex;align-items:center;gap:3px;padding-top:5px}.library .preset-menu-popover{min-width:240px;max-width:min(300px,calc(100vw - 32px))}.library .preset-menu-popover>.small-button,.library .preset-json-menu>.small-button{display:block;width:100%;border:0;background:transparent;text-align:left}.library .preset-json-menu>.small-button{margin-top:2px}.library .preset-menu-items{max-height:min(54vh,420px);overflow-y:auto}.preset-menu-group+.preset-menu-group{padding-top:5px;margin-top:5px;border-top:1px solid var(--line)}.preset-menu-heading{margin:3px 9px 5px;color:var(--muted);font-size:8px;letter-spacing:.1em}.preset-menu-item>button.current{color:var(--acid);background:#d8ff351a;box-shadow:inset 2px 0 var(--acid)}.library input[type=text]{width:120px;min-width:0;padding:2px 4px;font-size:10px}.library input[type=text]{font-family:inherit;color:var(--text);background:#141510;border:1px solid var(--op-color, var(--accent));border-radius:0;outline:none;-webkit-user-select:text;user-select:text}.library .small-button{padding:2px 6px;font-size:10px}.small-button:disabled{opacity:.45;cursor:default}.small-button.danger{color:#141510;background:#ff6b6b;border-color:#ff6b6b}.patch-bar{display:flex;flex-direction:column;gap:4px;padding-left:16px;border-left:1px solid var(--panel-edge)}.patch-bar-head{display:flex;align-items:center;gap:8px}.patch-name{color:var(--accent);font-size:13px;font-weight:700;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
