:root{color-scheme:dark;--bg: #121110;--bg-glow: #2a2218;--panel: #1b1916;--surface: #12100e;--btn: #2a2218;--btn-hover: #3a2e20;--inset: #141210;--elevated: #161410;--line: #2e2a24;--text: #e6dfd4;--muted: #8d8478;--amber: #e39a3c;--amber-dim: #8a5c22;--on-accent: #e6dfd4;--ok: #7cb07a;--warn: #c45c4a;--live: #c8a35a;--knob-track: #2c2822;--knob-needle: #e6dfd4;--pip-off: #4a4540;--tab-idle: #c4b8a8;--shadow: rgb(0 0 0 / .5);--scrim: rgb(0 0 0 / .62);--log: #b7b0a4}html[data-theme=light]{color-scheme:light;--bg: #b7c0c8;--bg-glow: #c5d0d6;--panel: #f4f7f9;--surface: #ffffff;--btn: #ffffff;--btn-hover: #d5e8eb;--inset: #e8eef2;--elevated: #eef3f5;--line: #6d7c86;--text: #152024;--muted: #3e4e56;--amber: #1a7a86;--amber-dim: #2e96a3;--on-accent: #f4fcfd;--ok: #1a6b58;--warn: #9a3a32;--live: #1a7a86;--knob-track: #97a6ae;--knob-needle: #0e4a52;--pip-off: #6a7880;--tab-idle: #2c3c44;--shadow: rgb(18 36 42 / .22);--scrim: rgb(18 32 38 / .42);--log: #243238}html[data-theme=light] .tab[aria-selected=true],html[data-theme=light] .part[data-active=true],html[data-theme=light] .lib-bank[aria-selected=true],html[data-theme=light] .mode-tab[aria-selected=true]{background:var(--amber);color:var(--on-accent);border-color:var(--amber)}html[data-theme=light] .tab:hover:not(:disabled){color:var(--text)}html[data-theme=light] .ports,html[data-theme=light] .store,html[data-theme=light] .sound,html[data-theme=light] .parts,html[data-theme=light] .multi-parts,html[data-theme=light] .log-wrap,html[data-theme=light] .panel{box-shadow:0 1px #ffffffb3 inset,0 10px 22px var(--shadow);border-color:color-mix(in srgb,var(--amber) 28%,var(--line))}html[data-theme=light] .tabs-bar{border-color:var(--amber-dim);box-shadow:inset 0 1px color-mix(in srgb,var(--amber) 18%,transparent),0 10px 18px var(--shadow)}html[data-theme=light] button{border-color:var(--amber-dim)}html[data-theme=light] .cselect-btn{border-color:var(--line)}html[data-theme=light] .cselect-opt{border:none}.theme-field{min-width:7.5em}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:radial-gradient(1400px 700px at 15% -15%,var(--bg-glow) 0%,var(--bg) 50%);color:var(--text);font:14px/1.35 Segoe UI,system-ui,sans-serif}#app{max-width:1600px;margin:0 auto;padding:16px 20px 72px}body.sysex-busy .parts{pointer-events:none;opacity:.58}body.sysex-busy .sound{pointer-events:none}body.sysex-busy .sound>:not(.tabs-bar){opacity:.58}body.sysex-busy .tabs-bar{pointer-events:auto}body.sysex-busy .ports{pointer-events:none;opacity:.5}body.sysex-busy #btn-poke{display:none}.usb-banner{display:flex;align-items:center;gap:8px;margin-left:auto;flex:0 0 auto;padding:2px 8px 2px 12px;max-width:min(320px,40vw);border:none;border-left:1px solid var(--amber-dim);background:transparent}.usb-banner-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;background:var(--pip-off)}.usb-banner-copy{display:flex;flex-direction:column;gap:0;min-width:0}.usb-banner-copy strong{font-size:12px;font-weight:400;letter-spacing:.06em;line-height:1.25;text-transform:uppercase;color:var(--muted)}.usb-banner-copy span{font-size:11px;line-height:1.25;color:var(--muted);text-transform:none;letter-spacing:0}.usb-banner[data-state=ready] .usb-banner-dot{background:var(--ok)}.usb-banner[data-state=ready] .usb-banner-copy strong{color:var(--ok)}.usb-banner[data-state=busy] .usb-banner-dot{background:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 28%,transparent)}.usb-banner[data-state=busy] .usb-banner-copy strong,.usb-banner[data-state=busy] .usb-banner-copy span{color:var(--amber)}.usb-banner[data-state=err] .usb-banner-dot{background:var(--warn)}.usb-banner[data-state=err] .usb-banner-copy strong,.usb-banner[data-state=err] .usb-banner-copy span{color:var(--warn)}.boot-fail{max-width:520px;margin:48px auto;padding:20px 22px;border:1px solid var(--warn);background:color-mix(in srgb,var(--panel) 88%,black)}.boot-fail h2{margin:0 0 10px;font-size:16px;color:var(--warn);text-transform:none;letter-spacing:0}.boot-fail p{margin:0 0 10px;line-height:1.45}.boot-fail pre{margin:0 0 12px;padding:10px 12px;background:var(--surface);border:1px solid var(--line);overflow-x:auto}.boot-fail code{font:12px ui-monospace,Consolas,monospace}.boot-fail a{color:var(--amber)}.top{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:10px}.top-actions{display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px 12px;flex-shrink:0}.top-actions .link{padding-right:4px;padding-bottom:0}.top-actions #btn-connect,.btn-about{min-height:32px;padding:6px 12px;font-size:11px}.btn-about{letter-spacing:.06em;text-transform:none;background:var(--btn);border-color:var(--amber-dim);color:var(--amber);flex-shrink:0}.btn-about:hover:not(:disabled){color:var(--amber);border-color:var(--amber);background:var(--btn-hover)}.about-dialog{width:min(520px,calc(100vw - 32px));max-height:calc(100vh - 32px);margin:auto;padding:0;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 24px 64px var(--shadow);overflow:hidden}.about-dialog::backdrop{background:var(--scrim)}.about-dialog form{padding:16px 18px 18px;overflow:auto;max-height:calc(100vh - 32px);scrollbar-width:thin}.about-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.about-head h2{margin:0;font-size:16px;letter-spacing:.04em;color:var(--text);text-transform:none}.about-close{min-height:28px;min-width:28px;padding:0;font-size:18px;line-height:1;background:transparent;border-color:var(--line);color:var(--muted)}.about-close:hover:not(:disabled){color:var(--text);background:var(--btn)}.about-dialog h3{margin:14px 0 6px;font-size:11px}.about-dialog p,.about-dialog li{margin:0 0 8px;color:var(--text);font-size:13px;line-height:1.45}.about-dialog ul,.about-dialog ol{margin:0 0 8px;padding-left:1.25rem}.about-dialog li{margin-bottom:4px}.about-dialog code{font:12px ui-monospace,Consolas,monospace;color:var(--amber)}.confirm-dialog{width:min(400px,calc(100vw - 32px));margin:auto;padding:0;border:1px solid var(--line);background:var(--panel);color:var(--text);box-shadow:0 20px 48px var(--shadow)}.confirm-dialog::backdrop{background:var(--scrim)}.confirm-form{padding:16px 18px 14px;display:grid;gap:12px}.confirm-dialog h2{margin:0;font-size:15px;letter-spacing:.03em;text-transform:none;color:var(--text)}.confirm-body{display:grid;gap:8px}.confirm-body p{margin:0;font-size:13px;line-height:1.45;color:var(--muted)}.confirm-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:4px}.confirm-actions button{min-height:32px;padding:6px 12px}.confirm-ok{border-color:var(--amber-dim);color:var(--amber)}.about-note{margin-top:12px!important;padding-top:10px;border-top:1px solid var(--line);font-size:12px!important}.about-credit{display:flex;flex-direction:column;align-items:flex-end;margin:12px 0 0;padding-top:10px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.45;text-align:right}.about-credit a{display:block;color:var(--amber);text-decoration:none}.about-credit a:hover{text-decoration:underline}.about-job{margin:0 0 14px;padding:10px 12px;border-left:2px solid var(--amber);background:color-mix(in srgb,var(--amber) 8%,var(--panel))}.about-job-line{margin:0 0 4px!important;color:var(--text)!important;font-size:15px!important;line-height:1.35!important;font-weight:600}.about-job-note{margin:0!important;color:var(--muted)!important;font-size:12px!important}.brand{display:flex;gap:12px;align-items:stretch}.mark{flex:0 0 auto;align-self:center;width:60px;height:60px;display:grid;place-items:center;box-sizing:border-box;border:1px solid var(--amber-dim);color:var(--amber);font:700 32px/1 ui-monospace,Consolas,monospace;letter-spacing:.04em}h1,h2,h3{margin:0;font-weight:600}h1{font-size:18px;letter-spacing:.04em}h2{font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--muted)}h3{font-size:12px;margin-bottom:8px;color:var(--amber);letter-spacing:.06em;text-transform:uppercase}.brand p,.muted,.kicker,.section-head p{margin:1px 0 0;color:var(--muted);font-size:12px}.brand p.brand-job{margin:2px 0 0;color:var(--text);letter-spacing:.04em}.brand .tag-hi,#dump-meta[data-tone=wait]{color:var(--amber)}#dump-meta[data-tone=err]{color:var(--warn)}#dump-meta[data-tone=muted]{color:var(--muted)}.link{display:flex;align-items:center;gap:8px;font:12px ui-monospace,Consolas,monospace}.pip{width:8px;height:8px;border-radius:50%;background:var(--pip-off)}.pip[data-state=on]{background:var(--ok);box-shadow:0 0 10px var(--ok)}.pip[data-state=wait]{background:var(--amber)}.ports,.store-row,.patch-bar{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end}.ports,.store,.sound,.parts,.multi-parts,.log-wrap{border:1px solid var(--line);background:color-mix(in srgb,var(--panel) 88%,black);padding:10px 12px;margin-bottom:10px}label,.field{display:flex;flex-direction:column;gap:4px;font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}[hidden]{display:none!important}select,input,button{font:13px Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:6px 8px;min-height:32px}input[type=number]{width:72px}button{cursor:pointer;background:var(--btn);border-color:var(--amber-dim);color:var(--amber);text-transform:uppercase;letter-spacing:.08em;font-size:11px}button:hover:not(:disabled){background:var(--btn-hover)}button:disabled{opacity:.4;cursor:not-allowed}.cselect{position:relative;display:block;width:100%;min-width:7em}.cselect-native{position:absolute;width:1px;height:1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;pointer-events:none}.cselect-btn{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:32px;padding:6px 8px;text-align:left;text-transform:none;letter-spacing:0;font:13px Segoe UI,system-ui,sans-serif;color:var(--text);background:var(--surface);border:1px solid var(--line)}.cselect-btn:hover:not(:disabled){background:var(--btn-hover);color:var(--text)}.cselect-btn:after{content:"";flex:0 0 auto;width:0;height:0;border:4px solid transparent;border-top-color:var(--muted);margin-top:3px}.cselect[data-disabled="1"] .cselect-btn:after{opacity:.4}.cselect-label{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cselect-menu{position:fixed;z-index:80;max-height:min(280px,50vh);overflow:auto;padding:4px;background:var(--surface);border:1px solid var(--amber-dim);box-shadow:0 12px 28px var(--shadow);scrollbar-width:thin;scrollbar-color:var(--amber-dim) var(--inset)}.cselect-menu::-webkit-scrollbar{width:6px}.cselect-menu::-webkit-scrollbar-track{background:var(--inset)}.cselect-menu::-webkit-scrollbar-thumb{background:var(--amber-dim);border-radius:3px}.cselect-menu::-webkit-scrollbar-thumb:hover{background:var(--amber)}.cselect-opt{display:block;width:100%;min-height:28px;padding:5px 8px;text-align:left;text-transform:none;letter-spacing:0;font:13px Segoe UI,system-ui,sans-serif;color:var(--text);background:transparent;border:none}.cselect-opt:hover:not(:disabled){background:color-mix(in srgb,var(--amber) 16%,var(--inset));color:var(--text)}.cselect-opt[data-selected="1"]{background:var(--amber);color:var(--on-accent)}.midi-help{flex:1 1 100%;margin:2px 0 0;color:var(--warn);font-size:12px;text-transform:none;letter-spacing:0}.port-aside{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;margin-left:auto}.synth-mode{display:flex;flex-direction:column;justify-content:center;gap:4px;box-sizing:border-box;min-height:60px;padding:6px 10px;border:1px solid var(--line);background:none;pointer-events:none;-webkit-user-select:none;user-select:none;cursor:default}.synth-mode .mode-switch-ro{pointer-events:none;min-height:31px;box-sizing:border-box}.synth-mode .mode-switch-opt{cursor:default}.synth-mode .mode-switch-opt>span{display:block;padding:6px 10px;border:1px solid transparent;line-height:1.2;white-space:nowrap;color:var(--muted)}.synth-mode[data-mode=sound] .mode-switch-opt[data-mode=sound]>span,.synth-mode[data-mode=multi] .mode-switch-opt[data-mode=multi]>span{color:var(--text);border-color:var(--amber-dim);background:transparent}.synth-mode[data-mode=unknown] .mode-switch-opt>span{color:var(--muted)}.port-play{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:end;padding:6px 10px;border:1px solid var(--amber-dim);background:color-mix(in srgb,var(--amber) 8%,var(--inset))}.note-mode{display:flex;flex-direction:column;gap:4px}.note-mode-title{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}.mode-switch{display:inline-flex;padding:2px;border:1px solid var(--line);background:var(--inset)}.mode-switch-opt{position:relative;display:flex;margin:0;cursor:pointer;text-transform:none;letter-spacing:.02em;font-size:12px;color:var(--muted)}.mode-switch-opt input{position:absolute;inset:0;opacity:0;margin:0;cursor:pointer}.mode-switch-opt span{display:block;padding:6px 10px;border:1px solid transparent;line-height:1.2;white-space:nowrap;transition:color .1s ease,background .1s ease,border-color .1s ease}.mode-switch-opt:has(input:checked) span{color:var(--amber);border-color:var(--amber-dim);background:color-mix(in srgb,var(--amber) 16%,var(--inset))}.mode-switch-opt:has(input:focus-visible) span{outline:1px solid var(--amber);outline-offset:1px}.keyboard-wrap{min-width:160px}.keyboard-ch{align-self:end;display:inline-flex;align-items:center;gap:6px;min-width:3.2em;padding:4px 8px;border:1px solid var(--line);background:var(--inset);color:var(--muted);font:13px ui-monospace,Consolas,monospace;letter-spacing:.04em;text-transform:uppercase}.keyboard-ch:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--pip-off);box-shadow:none;transition:background .08s ease,box-shadow .08s ease}.keyboard-ch[data-active="1"]{border-color:var(--amber-dim);color:var(--amber)}.keyboard-ch.note-flash:before{background:var(--ok);box-shadow:0 0 8px var(--ok)}.toggle input[type=checkbox]{appearance:none;-webkit-appearance:none;width:16px;height:16px;min-height:0;margin:0;padding:0;border:1px solid var(--amber-dim);background:var(--inset);border-radius:2px;cursor:pointer;flex-shrink:0;display:grid;place-content:center}.toggle input[type=checkbox]:before{content:"";width:10px;height:10px;transform:scale(0);transition:transform .08s ease-out;background:var(--amber);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--amber) 40%,black);clip-path:polygon(14% 44%,0 65%,50% 100%,100% 16%,80% 0,43% 62%)}.toggle input[type=checkbox]:checked{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 18%,var(--inset))}.toggle input[type=checkbox]:checked:before{transform:scale(1)}.toggle input[type=checkbox]:focus-visible{outline:1px solid var(--amber);outline-offset:2px}.toggle input[type=checkbox]:disabled{opacity:.4;cursor:not-allowed}.store-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px}.store-kicker{text-transform:none;letter-spacing:0}.store-warn{flex:1 1 100%;font:12px IBM Plex Sans,Segoe UI,system-ui,sans-serif;color:var(--amber)}.section-head p{display:none}.mode-tabs{display:flex;gap:4px;margin-bottom:0}.mode-tab{min-height:32px;padding:4px 14px;text-transform:none;letter-spacing:.04em;font-size:13px}.mode-tab[aria-pressed=true],.mode-tab[aria-selected=true]{color:var(--amber);border-color:var(--amber-dim);background:color-mix(in srgb,var(--amber) 14%,var(--btn))}.part-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px}.multi-mixer{margin-top:0;margin-bottom:10px;display:flex;flex-direction:column;gap:8px}.wt-load-row{display:flex;flex-wrap:wrap;align-items:center;gap:8px 12px;margin:0 0 10px}.wt-import-hint{font:12px Segoe UI,system-ui,sans-serif;line-height:1.3;max-width:28rem}.wt-file-table-field{min-width:14rem}.wt-preview-block{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin:4px 0 12px;width:fit-content;max-width:100%}.wt-preview-wrap{width:22rem;max-width:calc(100vw - 8rem);min-width:11rem;height:240px;flex:0 0 auto;border:1px solid var(--line);background:var(--inset)}.wt-wave-field{width:100%;max-width:22rem}.wt-wave-row{display:flex;align-items:center;gap:10px;margin-top:4px}.wt-wave-row input[type=range]{flex:1;min-width:0;height:22px;margin:0;padding:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:ew-resize;accent-color:var(--amber)}.wt-wave-row input[type=range]:focus{outline:none}.wt-wave-row input[type=range]:focus-visible{outline:1px solid var(--amber-dim);outline-offset:3px;border-radius:2px}.wt-wave-row input[type=range]::-webkit-slider-runnable-track{height:6px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 22%,var(--knob-track)) 0%,var(--knob-track) 100%);box-shadow:inset 0 1px 2px #00000059}.wt-wave-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;margin-top:-6px;border:1px solid var(--amber-dim);border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--amber) 55%,white),var(--amber) 45%,var(--amber-dim) 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--amber) 25%,transparent),0 1px 3px #00000073}.wt-wave-row input[type=range]:hover::-webkit-slider-thumb{border-color:var(--amber);box-shadow:0 0 0 2px color-mix(in srgb,var(--amber) 28%,transparent),0 1px 3px #00000073}.wt-wave-row input[type=range]::-moz-range-track{height:6px;border:1px solid var(--line);border-radius:999px;background:linear-gradient(90deg,color-mix(in srgb,var(--amber) 22%,var(--knob-track)) 0%,var(--knob-track) 100%);box-shadow:inset 0 1px 2px #00000059}.wt-wave-row input[type=range]::-moz-range-thumb{width:16px;height:16px;border:1px solid var(--amber-dim);border-radius:50%;background:radial-gradient(circle at 35% 30%,color-mix(in srgb,var(--amber) 55%,white),var(--amber) 45%,var(--amber-dim) 100%);box-shadow:0 0 0 1px color-mix(in srgb,var(--amber) 25%,transparent),0 1px 3px #00000073}.wt-wave-row input[type=range]:hover::-moz-range-thumb{border-color:var(--amber)}.wt-wave-label{min-width:2.25ch;padding:2px 0;font:13px ui-monospace,Consolas,monospace;color:var(--amber);text-align:right;letter-spacing:.02em}.wt-wave-field[data-ready="0"]{opacity:.45;pointer-events:none}.wt-send-block{display:flex;flex-direction:column;gap:8px;padding:10px 12px;border:1px solid var(--line);background:var(--elevated);max-width:100%}.wt-send-kicker{margin:0;font:10px Segoe UI,system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted)}.wt-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px}.wt-name{font:14px ui-monospace,Consolas,monospace;width:16ch;padding:4px 6px;background:var(--btn);border:1px solid var(--line);color:var(--text)}.wt-status-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;margin-top:8px}.wt-hint{margin:0;font:12px Segoe UI,system-ui,sans-serif;flex:1 1 12rem}.wt-meta{font:12px ui-monospace,Consolas,monospace;text-align:right;margin-left:auto}.btn-wt-send{border-color:var(--amber-dim);color:var(--amber)}.multi-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 12px;width:100%}.multi-slot-block{display:flex;flex-wrap:wrap;align-items:flex-end;gap:8px 10px}.multi-io-actions{display:flex;align-items:flex-end;margin-left:auto}.multi-io-buttons{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}.btn-multi{min-height:32px;letter-spacing:.06em}.btn-multi-read{background:transparent;border-color:var(--line);color:var(--muted)}.btn-multi-read:hover:not(:disabled){background:var(--inset);border-color:var(--muted);color:var(--text)}.btn-multi-send{background:transparent;border-color:var(--line);color:var(--muted)}.btn-multi-send:hover:not(:disabled){background:var(--inset);border-color:var(--muted);color:var(--text)}.btn-multi-send[data-dirty="1"]{background:var(--btn);border-color:var(--amber-dim);color:var(--amber)}.btn-multi-send[data-dirty="1"]:hover:not(:disabled){background:var(--btn-hover);border-color:var(--amber);color:var(--amber)}.btn-multi-store{background:var(--btn);border-color:var(--amber-dim);color:var(--amber)}.btn-multi-store:hover:not(:disabled){background:var(--btn-hover);border-color:var(--amber);color:var(--amber)}.multi-send{margin-top:10px}.multi-send .btn-multi-send{width:100%}.multi-title{display:flex;flex-direction:column;gap:2px;min-width:8rem;margin-right:4px}.multi-name{font:14px ui-monospace,Consolas,monospace;width:16ch;min-width:16ch;max-width:18rem;padding:4px 6px;background:var(--btn);border:1px solid var(--line);color:var(--text)}.multi-name-field,.multi-prog-field{display:flex;flex-direction:column;gap:2px}.multi-name:disabled{opacity:.55}.multi-status-row{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 16px;width:100%}.multi-meta{font:12px ui-monospace,Consolas,monospace;color:var(--muted);text-align:right;margin-left:auto;flex:0 1 auto}.multi-meta[data-tone=wait],.multi-meta[data-tone=err]{color:var(--warn)}.multi-meta[data-tone=dirty]{color:var(--amber)}.multi-hint{margin:0;font:12px Segoe UI,system-ui,sans-serif;color:var(--muted);flex:1 1 12rem;min-width:0}.multi-prog-field{min-width:7rem}.multi-prog-field .cselect{min-width:6.5rem}.multi-parts{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:4px;width:100%;box-sizing:border-box}.multi-part-col{display:flex;flex-direction:column;align-items:stretch;gap:5px;min-width:0;padding:4px 2px 6px;border:1px solid var(--line);background:var(--inset);cursor:pointer}.multi-part-col:hover:not([data-active="1"]){background:color-mix(in srgb,var(--amber) 8%,var(--inset))}.multi-part-col[data-active="1"]{border-color:var(--amber);box-shadow:inset 0 2px 0 var(--amber)}.multi-part-head{display:flex;align-items:center;justify-content:center;gap:4px;min-height:1.4em;font:13px ui-monospace,Consolas,monospace;color:var(--text)}.multi-part-num{line-height:1.2}.part-play-lamp{display:inline-block;vertical-align:middle;width:7px;height:7px;border-radius:50%;background:var(--pip-off);box-shadow:none;transition:background .08s ease,box-shadow .08s ease}.multi-part-col.note-flash .part-play-lamp{background:var(--ok);box-shadow:0 0 8px var(--ok)}.multi-part-field{display:flex;flex-direction:column;gap:1px;min-width:0}.multi-part-kicker{font:9px Segoe UI,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center}.multi-part-slot{display:flex;flex-direction:column;gap:4px;min-width:0}.multi-part-patch{display:flex;flex-direction:column;gap:1px;min-width:0;min-height:2.4em;padding:0 1px}.multi-part-patch-name,.multi-part-patch-cat{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center;line-height:1.2}.multi-part-patch-name{font:10px ui-monospace,Consolas,monospace;color:var(--text)}.multi-part-patch-cat{font:9px Segoe UI,system-ui,sans-serif;color:var(--muted)}.multi-part-lib{min-height:22px;padding:2px 8px;max-width:max-content;margin-inline:auto;font-size:10px;letter-spacing:.06em;text-transform:uppercase}.multi-part-lib[data-missing="1"]{border-style:dashed;color:var(--muted)}.multi-part-mute{min-height:20px;padding:1px 6px;max-width:max-content;margin-inline:auto;font-size:10px;letter-spacing:.06em;background:var(--btn);border-color:var(--line);color:var(--muted)}.multi-part-mute[aria-pressed=true]{background:var(--amber);border-color:var(--amber);color:var(--on-accent)}.multi-part-col select,.multi-part-col input[type=number]{width:100%;min-width:0;max-width:100%;box-sizing:border-box;font:11px ui-monospace,Consolas,monospace;background:var(--btn);border:1px solid var(--line);color:var(--text);padding:2px 1px}.multi-part-col .cselect{width:100%;min-width:0}.multi-part-col .cselect-btn{width:100%;min-height:24px;padding:2px 14px 2px 2px;font:11px ui-monospace,Consolas,monospace}.multi-part-col .cselect-label{text-align:center}.multi-part-bank select,.multi-part-prog select{padding:2px 0;text-align:center;text-align-last:center}.multi-part-col input[type=number]{text-align:center;-moz-appearance:textfield}.multi-part-col input[type=number]::-webkit-outer-spin-button,.multi-part-col input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.multi-knob{text-align:center;-webkit-user-select:none;user-select:none;cursor:ns-resize;touch-action:none;padding:2px 0}.multi-knob[data-ready="0"]{opacity:.4;pointer-events:none}.multi-knob .knob-name{display:block;font:9px Segoe UI,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);margin-bottom:1px}.multi-knob canvas{display:block;margin:0 auto;width:44px;height:44px}.multi-knob .knob-val{display:block;font:10px ui-monospace,Consolas,monospace;color:var(--muted);margin-top:1px}.part{position:relative;min-height:40px;background:var(--inset);border:1px solid var(--line);color:var(--text);padding:4px 2px;letter-spacing:0;text-transform:none;font:14px ui-monospace,Consolas,monospace}.part:before{content:"";position:absolute;top:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--pip-off);box-shadow:none;transition:background .08s ease,box-shadow .08s ease}.part.note-flash:before{background:var(--ok);box-shadow:0 0 8px var(--ok)}.part[data-dirty="1"]:after{content:"*";position:absolute;top:1px;left:4px;font:700 12px/1 ui-monospace,Consolas,monospace;color:var(--amber);pointer-events:none}.part[data-active=true]{border-color:var(--amber);background:var(--btn);color:var(--amber)}.part[data-disabled=true]{opacity:.32;border-style:dashed;cursor:not-allowed}.patch-bar{justify-content:space-between;margin-bottom:10px;padding-bottom:10px;border-bottom:1px solid var(--line)}.patch-meta{display:flex;flex-wrap:nowrap;gap:12px;align-items:end}.name-field{flex:0 0 auto}.patch-read{display:flex;flex-direction:column;gap:4px;min-width:0}.patch-read .kicker,.patch-read .field{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.patch-read-name{font:20px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.04em;color:var(--amber);min-height:1.2em}.patch-read-cat{font:18px/1.2 Segoe UI,system-ui,sans-serif;color:var(--text);min-height:1.2em}.patch-read-name:empty,.patch-read-cat:empty{color:var(--muted)}.category-field{flex:0 0 auto}.category-field .cselect{min-width:10ch}.patch-meta #btn-dump,.patch-meta #btn-sketch{align-self:end;white-space:nowrap}.sketch-tools:not([hidden]){display:contents}.sketch-field .cselect{min-width:18ch}#store-name{font:16px/1.2 ui-monospace,Consolas,monospace;letter-spacing:.04em;width:20ch;text-transform:none}.tabs-bar{position:sticky;top:0;z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:4px 8px;margin-top:24px;margin-bottom:24px;padding:6px;border:1px solid var(--amber-dim);background:var(--elevated);box-shadow:inset 0 1px color-mix(in srgb,var(--amber) 14%,transparent),0 10px 18px var(--shadow)}.tabs{display:flex;flex-wrap:wrap;gap:4px;flex:1 1 auto;min-width:0}.tab{position:relative;background:transparent;border-color:transparent;color:var(--tab-idle);min-height:36px;padding:8px 14px;font-size:15px;font-weight:400;letter-spacing:.06em}.tab[data-dirty="1"]:after{content:"*";position:absolute;top:2px;left:5px;font:700 12px/1 ui-monospace,Consolas,monospace;color:var(--amber);pointer-events:none}.tab:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--amber) 8%,var(--panel))}.tab:disabled{opacity:.35;cursor:not-allowed;color:var(--muted)}.tab[aria-selected=true]{color:var(--amber);border-color:var(--amber-dim);background:color-mix(in srgb,var(--amber) 14%,var(--btn))}.tab-note{margin:0 0 10px}.fx-status{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:color-mix(in srgb,var(--panel) 70%,black);color:var(--text)}.fx-lock-note{min-height:1.2em;margin:0 0 8px;font-size:12px;color:var(--muted)}.panel[data-fx-lock=off]{opacity:.48}.panel[data-fx-lock=mix] .osc-head,.panel[data-fx-lock=mix] .fx-params{opacity:.42}.fx-params-body .knobs{margin-top:4px}.osc-grid,.filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:10px}.osc-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.rand-bar{grid-column:1 / -1;display:flex;flex-direction:column;align-items:stretch;gap:6px;padding:8px 10px;border:1px solid var(--amber-dim);background:color-mix(in srgb,var(--amber) 5%,var(--inset));overflow:visible;position:relative}.rand-bar>h3{margin-bottom:0}.rand-bar-row{display:flex;align-items:end;gap:10px}.rand-bar button{white-space:nowrap}.rand-spinner{width:18px;height:18px;margin:0 4px 7px;flex-shrink:0;border:2px solid var(--amber-dim);border-top-color:var(--amber);border-radius:50%;animation:rand-spin .6s linear infinite}.rand-spinner[hidden]{display:none!important}@keyframes rand-spin{to{transform:rotate(360deg)}}.rand-bar-intensity{position:relative;min-width:120px;max-width:180px;z-index:2}.rand-bar-intensity:hover,.rand-bar-intensity:focus-within{z-index:30}.rand-chaos-tip{display:none;position:absolute;left:0;bottom:calc(100% + 8px);width:min(360px,72vw);padding:10px 12px;border:1px solid var(--amber-dim);border-radius:6px;background:var(--elevated);box-shadow:0 10px 28px var(--shadow);color:var(--text);font-size:12px;font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;pointer-events:none}.rand-bar-intensity:hover .rand-chaos-tip,.rand-bar-intensity:focus-within .rand-chaos-tip{display:block}.rand-chaos-tip p{margin:0 0 6px}.rand-chaos-tip p:last-child{margin:0}.rand-chaos-tip strong{color:var(--amber)}.rand-slots{display:flex;align-items:end;gap:4px;margin-left:auto}.rand-slots-label{font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin-right:4px;align-self:center}.rand-slot{width:30px;height:30px;padding:0;font-size:12px;font-weight:600;text-align:center;border:1px solid var(--line);background:var(--surface);color:var(--muted);cursor:pointer;transition:border-color .12s,color .12s,background .12s}.rand-slot:disabled{opacity:.3;cursor:not-allowed}.rand-slot-filled{border-color:var(--amber-dim);color:var(--amber);opacity:1}.rand-slot-active{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 20%,var(--surface));color:var(--amber);box-shadow:0 0 6px color-mix(in srgb,var(--amber) 30%,transparent)}.lfo-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:10px}.matrix-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 12px}.matrix-row{display:grid;grid-template-columns:28px minmax(0,1fr) 72px minmax(0,1fr);gap:6px;align-items:center;padding:4px 0;border-bottom:1px solid var(--line)}#mod-matrix .matrix-row{grid-template-columns:22px minmax(0,1fr) 72px;align-items:center;padding:6px 0}.matrix-io{display:flex;flex-direction:column;gap:6px;min-width:0}.matrix-slot-ops{display:flex;align-items:center;gap:8px}.matrix-slot-ops .toggle{min-height:26px;font-size:10px}.matrix-clear{min-height:26px;padding:2px 8px;font-size:11px;text-transform:none;letter-spacing:0}#mod-matrix .matrix-row[data-off="1"] .matrix-io .field,#mod-matrix .matrix-row[data-off="1"] .knob{opacity:.45}#mod-modifiers .matrix-row{grid-template-columns:28px minmax(0,1fr) 72px minmax(0,1fr) 72px}.matrix-idx{font:12px ui-monospace,Consolas,monospace;color:var(--amber);padding-bottom:0;align-self:center}#arp-main{margin-bottom:10px}.arp-steps-title{margin-top:14px}.arp-grid{display:grid;grid-template-columns:repeat(16,minmax(0,1fr));gap:6px 4px;align-items:start;padding:10px 8px 8px;border:1px solid var(--line);background:var(--inset);margin-bottom:8px}.arp-actions{display:flex;justify-content:flex-end;margin-bottom:8px}.btn-arp-panic{background:transparent;border-color:var(--line);color:var(--muted)}.btn-arp-panic:hover:not(:disabled){background:var(--inset);border-color:var(--warn);color:var(--warn)}.arp-cell{display:flex;flex-direction:column;align-items:stretch;gap:6px;min-width:0;padding:4px 2px 2px;border:1px solid transparent;color:var(--text)}.arp-cell[data-active="0"]{opacity:.28}.arp-cell-draw{display:flex;flex-direction:column;align-items:center;justify-content:flex-end;gap:2px;height:102px;flex:0 0 102px}.arp-cell-bar{display:block;width:52%;min-width:4px;min-height:6px;border-radius:2px 2px 0 0;background:linear-gradient(180deg,var(--amber),var(--amber-dim))}.arp-cell[data-silent="1"] .arp-cell-bar{background:var(--line)}.arp-cell[data-length="0"] .arp-cell-bar{border-radius:2px}.arp-cell[data-type="1"] .arp-cell-bar{background:transparent;border:1px dashed var(--muted)}.arp-cell-idx{font:9px ui-monospace,Consolas,monospace;color:var(--muted)}.arp-cell-params{display:flex;flex-direction:column;gap:4px;min-width:0}.arp-step-field{display:flex;flex-direction:column;gap:1px;min-width:0;cursor:help}.arp-step-kicker{font:9px Segoe UI,system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);text-align:center;line-height:1.2}.arp-cell-params select{display:block;width:100%;min-width:0;min-height:26px;padding:2px;font-size:10px;letter-spacing:0;text-transform:none}.arp-cell-params .toggle{display:flex;flex-direction:row;align-items:center;gap:4px;min-height:0;padding:2px 0 0;font-size:10px;text-transform:none;letter-spacing:0}.arp-step[data-lit="1"]{background:color-mix(in srgb,var(--amber) 8%,transparent)}.arp-steps{display:flex;flex-direction:column;gap:2px}.arp-step-head,.arp-step{display:grid;grid-template-columns:28px minmax(7rem,1fr) 4.5rem minmax(5.5rem,.8fr) minmax(5.5rem,.8fr) minmax(5.5rem,.8fr);gap:6px;align-items:end}.arp-step-head{font-size:10px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);padding-bottom:4px;border-bottom:1px solid var(--line);margin-bottom:4px}.arp-step{padding:3px 0;border-bottom:1px solid var(--line)}.arp-step .field{gap:0}.arp-step .toggle{min-height:32px;padding-bottom:0}#mod-modifiers,#mod-matrix{margin-bottom:10px}#mod-modifiers .knob canvas,#mod-matrix .knob canvas{width:56px;height:56px}.panels,.panels-2,.panels-amp{display:grid;grid-template-columns:1fr 1.15fr;gap:10px;margin-bottom:10px}#osc-common-row{margin-bottom:10px}#osc-common-row>.rand-bar,#mix-row>.rand-bar,#mod-env-row>.rand-bar{grid-column:1 / -1}.panels-mix{grid-template-columns:1.15fr 1fr;align-items:stretch}#mod-matrix .rand-bar,#mod-modifiers .rand-bar,#arp-pattern .rand-bar{margin-top:12px}.panels-amp{grid-template-columns:.55fr 1.45fr}.osc-panel{display:flex;flex-direction:column;gap:8px}.osc-head{display:grid;grid-template-columns:1.4fr .8fr auto;gap:8px;align-items:end}.param-group{border-top:1px solid var(--line);padding-top:6px}.param-group-label{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.knobs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px 6px}.knobs.knobs-1{grid-template-columns:1fr}.knobs.knobs-2{grid-template-columns:repeat(2,minmax(0,1fr))}.filter-aux{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px 10px;border-top:1px solid var(--line);padding-top:6px}.filter-aux .param-group{border-top:none;padding-top:0}.filter-aux .knobs{margin-bottom:6px}.knobs.knobs-3{grid-template-columns:repeat(3,minmax(0,1fr))}.knobs.knobs-5{grid-template-columns:repeat(5,minmax(0,1fr))}.knob{width:auto;text-align:center;-webkit-user-select:none;user-select:none;cursor:ns-resize;touch-action:none;position:relative}.knob[data-inspect="1"]{outline:1px solid var(--amber);outline-offset:2px;background:color-mix(in srgb,var(--amber) 10%,transparent)}.knob-mods{display:flex;flex-wrap:wrap;justify-content:center;gap:2px;min-height:14px;margin-top:2px}.mod-badge{margin:0;padding:0 4px;min-height:0;border:1px solid var(--amber-dim);background:color-mix(in srgb,var(--amber) 14%,var(--inset));color:var(--amber);font-size:9px;letter-spacing:.02em;text-transform:none;line-height:1.4;cursor:pointer}.mod-badge[data-kind=builtin]{border-style:dashed}.mod-badge-more{color:var(--muted);border-color:var(--line);background:var(--inset)}.knob-name,.param-name{cursor:pointer}.param-name:hover,.param-name[data-inspect="1"],.knob-name:hover{color:var(--amber)}.matrix-row[data-lit="1"]{outline:1px solid var(--amber);outline-offset:1px;background:color-mix(in srgb,var(--amber) 8%,var(--elevated))}.mod-inspector{position:fixed;top:72px;right:16px;z-index:40;width:min(340px,calc(100vw - 24px));max-height:calc(100vh - 96px);overflow:auto;margin:0;padding:12px 14px;border:1px solid var(--amber-dim);background:color-mix(in srgb,var(--panel) 94%,var(--btn));box-shadow:0 12px 40px var(--shadow)}.mod-inspector-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.mod-inspector-head h3{margin:0;font-size:14px;color:var(--amber);letter-spacing:.02em;text-transform:none}.mod-inspector-help{margin:0 0 8px;font-size:12px;line-height:1.4;color:var(--text)}.mod-inspector-base{margin:0 0 8px;font-size:12px}.mod-inspector-body{display:flex;flex-direction:column;gap:4px;max-height:220px;overflow:auto;margin-bottom:8px}.mod-inspector-row{display:flex;gap:8px;align-items:baseline;width:100%;text-align:left;padding:6px 8px;border:1px solid var(--line);background:var(--inset);color:var(--text);text-transform:none;letter-spacing:0;font-size:12px}.mod-inspector-row:hover{border-color:var(--amber-dim)}.mod-inspector-tag{flex:0 0 auto;color:var(--amber);font:11px ui-monospace,Consolas,monospace}.mod-inspector-full{color:var(--muted)}.mod-inspector-actions{display:flex;flex-wrap:wrap;gap:8px}.knob[data-ready="0"],.field[data-ready="0"],.toggle[data-ready="0"]{opacity:.42;pointer-events:none;cursor:not-allowed}.knob canvas{display:block;width:64px;height:64px;margin:0 auto}.knob-name{display:block;margin-top:2px;font-size:10px;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}.knob-val{display:block;font:12px ui-monospace,Consolas,monospace}.fields-row{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:end}.fields-row .field{flex:1 1 120px;min-width:110px}.toggle{flex-direction:row;align-items:center;gap:6px;text-transform:none;letter-spacing:0;font-size:12px;color:var(--text);min-height:32px;white-space:nowrap}.panel{border:1px solid var(--line);padding:10px;background:var(--elevated)}.env-graph-wrap{margin:8px 0 10px;height:88px;border:1px solid var(--line);background:var(--inset)}.env-graph-wrap.wt-preview-wrap{margin:0;height:240px}.env-graph,.osc-graph,.lfo-graph,.rout-graph,.mix-graph,.filt-graph{display:block;width:100%;height:100%}.osc-graph-wrap{position:relative}.osc-graph-tip{display:none;position:absolute;left:8px;right:8px;bottom:8px;margin:0;padding:5px 8px;border:1px solid var(--line);background:color-mix(in srgb,var(--elevated) 92%,var(--bg));color:var(--muted);font-size:11px;line-height:1.3;letter-spacing:0;text-transform:none;pointer-events:none}.osc-graph-wrap[data-standin="1"]:hover .osc-graph-tip{display:block}.routing-panel{display:flex;flex-direction:column}.routing-panel .rout-graph-wrap{flex:1 1 auto;height:auto;min-height:100px;margin-bottom:0}.mix-viz-panel{display:flex;flex-direction:column}.mix-viz-panel .tab-note{margin:0 0 8px}.mix-viz-panel .mix-graph-wrap{flex:1 1 auto;height:auto;min-height:240px;margin:0}.mix-viz-panel canvas.mix-graph{cursor:default}.mixer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px}.mixer-col{text-align:center}.mixer-col .mixer-title{display:block;margin-bottom:4px;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber)}.mixer-col .knobs{grid-template-columns:1fr;gap:6px}#log{margin:6px 0 0;max-height:96px;overflow:auto;font:11px/1.4 ui-monospace,Consolas,monospace;color:var(--log);white-space:pre-wrap}@media(max-width:1100px){.osc-grid,.filter-grid,.lfo-grid,.panels,.panels-2,.panels-amp,.panels-mix,.matrix-grid{grid-template-columns:1fr}.mixer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}.lib-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:10px}.lib-filters{margin-top:-4px;margin-bottom:10px;align-items:end}.lib-filters .field,.lib-filters .cselect{min-width:12em}.lib-banks{display:flex;flex-wrap:wrap;gap:4px}.lib-bank{min-width:2.4em;min-height:32px;padding:6px 10px;background:transparent;border:1px solid transparent;color:var(--tab-idle);font-weight:400;letter-spacing:.06em}.lib-bank:hover:not(:disabled){color:var(--text);background:color-mix(in srgb,var(--amber) 8%,var(--panel))}.lib-bank[aria-selected=true]{color:var(--amber);border-color:var(--amber-dim);background:color-mix(in srgb,var(--amber) 14%,var(--btn))}.lib-table-wrap{max-height:min(70vh,760px);overflow:auto;border:1px solid var(--line);background:var(--inset)}.lib-table{width:100%;border-collapse:collapse;font-size:13px}.lib-table th,.lib-table td{padding:4px 10px;text-align:left;border-bottom:1px solid color-mix(in srgb,var(--line) 55%,transparent);white-space:nowrap}.lib-table thead th{position:sticky;top:0;z-index:1;background:color-mix(in srgb,var(--amber) 12%,var(--panel));color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em;font-weight:600;border-bottom:1px solid var(--amber-dim)}.lib-col-num{width:4.5em;color:var(--amber)}.lib-table td.lib-col-num{font-variant-numeric:tabular-nums;color:var(--amber)}.lib-col-btn{width:1%;white-space:nowrap}.lib-col-get{min-width:9.5em}.lib-col-assign{min-width:9em}.lib-table .lib-get,.lib-table .lib-edit{white-space:nowrap}.lib-table tbody tr[data-filled="0"] td.lib-name,.lib-table tbody tr[data-filled="0"] td.lib-cat{color:var(--muted)}.lib-table tbody tr[data-filled="1"]{cursor:pointer}.lib-table tbody tr:nth-child(2n) td{background:color-mix(in srgb,var(--surface) 55%,transparent)}.lib-table tbody tr:hover td{background:color-mix(in srgb,var(--amber) 10%,var(--surface))}.lib-table tbody tr[data-selected="1"] td,.lib-table tbody tr[data-selected="1"]:hover td{background:color-mix(in srgb,var(--amber) 16%,var(--surface))}.lib-table tbody tr[data-playing="1"] td{box-shadow:inset 3px 0 0 var(--amber)}.lib-table button{min-height:26px;padding:3px 8px;font-size:11px}@media(max-width:800px){.part-grid{grid-template-columns:repeat(8,minmax(0,1fr))}.knobs,.mixer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.osc-head{grid-template-columns:1fr 1fr}}#btn-learn[aria-pressed=true]{border-color:var(--amber);background:var(--btn-hover)}.learn-panel{position:fixed;left:16px;bottom:16px;z-index:41;width:min(360px,calc(100vw - 32px));max-height:min(70vh,560px);overflow:auto;margin:0;padding:12px 14px;border:1px solid var(--amber-dim);background:color-mix(in srgb,var(--panel) 94%,var(--btn));box-shadow:0 12px 40px var(--shadow)}.learn-panel h3{margin:0;font-size:14px;color:var(--amber);letter-spacing:.02em;text-transform:none}.learn-body{font-size:13px;line-height:1.45;color:var(--text)}.learn-body p{margin:0 0 8px}.learn-intro{color:var(--muted);font-size:12px}.learn-list{display:flex;flex-direction:column;gap:6px;margin-bottom:8px}.learn-item{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;padding:8px 10px;text-align:left;text-transform:none;letter-spacing:0;background:var(--inset);border:1px solid var(--line);color:var(--text)}.learn-item:hover:not(:disabled){border-color:var(--amber-dim)}.learn-item-title{font-size:13px;font-weight:600}.learn-item-blurb{font-size:12px;color:var(--muted)}.learn-tick{color:var(--ok)}.learn-crumbs{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:4px 0 6px}.learn-link{min-height:0;padding:0;border:0;background:none;color:var(--amber);font-size:12px;text-transform:none;letter-spacing:0;text-decoration:underline}.learn-pips{display:flex;gap:4px}.learn-pip{width:8px;height:8px;border-radius:50%;background:var(--pip-off)}.learn-pip[data-state=done]{background:var(--amber-dim)}.learn-pip[data-state=now]{background:var(--amber)}.learn-title{margin:0 0 4px;font-size:14px}.learn-step-n{font-size:11px}.learn-text{font-size:14px}.learn-goal{font-size:12px;color:var(--muted)}.learn-goal[data-done="1"]{color:var(--ok);font-weight:600}.learn-after{padding:6px 8px;border-left:2px solid var(--ok);background:var(--inset)}.learn-nav{display:flex;gap:6px;margin-top:10px}.learn-nav button{flex:1}.learn-next[data-done="1"]{border-color:var(--amber);color:var(--amber)}.learn-note{margin-top:8px;font-size:12px;color:var(--live)}.learn-restore{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:10px;padding-top:8px;border-top:1px solid var(--line);font-size:12px}[data-learn="1"]{outline:2px solid var(--amber);outline-offset:3px;animation:learn-pulse 1.4s ease-in-out infinite}@keyframes learn-pulse{50%{outline-color:transparent}}@media(prefers-reduced-motion:reduce){[data-learn="1"]{animation:none}}.learn-group{display:flex;justify-content:space-between;align-items:center;width:100%;margin:8px 0 6px;padding:6px 8px;font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--amber);background:none;border:1px solid var(--line)}.learn-group:before{content:"▸";margin-right:6px}.learn-group[aria-expanded=true]:before{content:"▾"}.learn-group>span:first-child{flex:1;text-align:left}
