:root{--font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Roboto, "Noto Sans", "Noto Sans TC", sans-serif;--mono:ui-monospace, "SF Mono", SFMono-Regular, Menlo, Consolas, "Liberation Mono", monospace;--fs:12px;--fs-s:11px;--fs-xs:10px;--h:24px;--h-s:20px;--r:4px;--topbar:40px;--statusbar:22px;--inspector:340px;--gutter:64px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#131416;--panel:#1a1b1e;--panel-2:#202125;--surface:#26282c;--surface-2:#2d2f34;--hover:#303237;--active:#383a40;--border:#2c2e33;--border-2:#393c42;--text:#e4e5e7;--text-2:#a5a8ae;--text-3:#70747b;--accent:#e2a54a;--accent-2:#f2c27c;--accent-ink:#1b1406;--accent-soft:#e2a54a29;--focus:#e2a54a8c;--danger:#e2685a;--ok:#62b47e;--shadow:0 8px 28px #00000073, 0 1px 0 #ffffff08 inset;--fn-t:#5e9de6;--fn-s:#67bb83;--fn-d:#e2775a;--fn-x:#a88ade;--fn-sec:#dcae4e;--fn-sub:#d673a9;--tr-melody:#e3a64a;--tr-piano:#6aa6e6;--tr-bass:#6fc297;--tr-other:#c39be6;--tr-skeleton:#ef8d7a;--roll-white:#1b1c1f;--roll-black:#17181a;--roll-beat:#26282c;--roll-bar:#3a3d43;--roll-sub:#1f2124;--roll-c:#2a2c31}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#e9e7e2;--panel:#f5f4f0;--panel-2:#fbfaf8;--surface:#fff;--surface-2:#f3f1ec;--hover:#ecebe6;--active:#e2e0da;--border:#dad7d0;--border-2:#c9c5bc;--text:#1e1f22;--text-2:#5b5f66;--text-3:#8a8d93;--accent:#b27318;--accent-2:#8f5a0c;--accent-ink:#fff;--accent-soft:#b2731821;--focus:#b2731880;--danger:#c4483a;--ok:#2f8a52;--shadow:0 8px 28px #2820142e, 0 0 0 1px #0000000a;--fn-t:#2f6fbf;--fn-s:#2f8a52;--fn-d:#c4522f;--fn-x:#7957c2;--fn-sec:#a7740f;--fn-sub:#b0457f;--tr-melody:#c27f16;--tr-piano:#2f74c4;--tr-bass:#2f8f5c;--tr-other:#8a55c9;--tr-skeleton:#d0533c;--roll-white:#fbfaf8;--roll-black:#f0eee9;--roll-beat:#e4e1da;--roll-bar:#c4c0b7;--roll-sub:#efede8;--roll-c:#e6e3dc}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:var(--fs)/1.35 var(--font);-webkit-font-smoothing:antialiased;-webkit-user-select:none;user-select:none;overflow:hidden}input,textarea,select,button{font:inherit;color:inherit}input,textarea{-webkit-user-select:text;user-select:text}:focus{outline:none}:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}::selection{background:var(--accent-soft)}svg{flex:none}.scroll{scrollbar-width:thin;scrollbar-color:var(--border-2) transparent;overflow:auto}.scroll::-webkit-scrollbar{width:8px;height:8px}.scroll::-webkit-scrollbar-thumb{background:var(--border-2);background-clip:padding-box;border:2px solid #0000;border-radius:4px}.scroll::-webkit-scrollbar-track{background:0 0}.ellipsis{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.muted{color:var(--text-2)}.faint{color:var(--text-3)}.grow{flex:auto;min-width:0}.row{align-items:center;gap:6px;min-width:0;display:flex}.col{flex-direction:column;gap:6px;min-width:0;display:flex}.sep{background:var(--border);flex:none;align-self:stretch;width:1px;margin:6px 2px}.hsep{background:var(--border);flex:none;height:1px;margin:8px 0}.app{grid-template-rows:var(--topbar) minmax(0, 1fr) var(--statusbar);min-width:760px;height:100%;display:grid}.main{grid-template-columns:minmax(0,1fr) auto;min-width:0;min-height:0;display:grid}.editor{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;min-width:0;min-height:0;display:flex}.btn{height:var(--h);min-width:var(--h);border:1px solid var(--border-2);border-radius:var(--r);background:var(--surface);color:var(--text);white-space:nowrap;cursor:pointer;text-overflow:ellipsis;flex:none;justify-content:center;align-items:center;gap:5px;max-width:100%;padding:0 8px;display:inline-flex;overflow:hidden}.btn:hover{background:var(--hover)}.btn:active{background:var(--active)}.btn[disabled]{opacity:.45;cursor:default;pointer-events:none}.btn.icon{width:var(--h);padding:0}.btn.ghost{background:0 0;border-color:#0000}.btn.ghost:hover{background:var(--hover)}.btn.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}:root[data-theme=light] .btn.on{color:var(--accent-2)}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink);font-weight:600}.btn.primary:hover{filter:brightness(1.06)}.btn.danger{color:var(--danger)}.btn.small{height:var(--h-s);min-width:var(--h-s);font-size:var(--fs-s);padding:0 6px}.btn.small.icon{width:var(--h-s);padding:0}.btn .lbl{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.btn kbd{margin-left:2px}kbd{font:10px/1 var(--mono);border:1px solid var(--border-2);color:var(--text-2);background:var(--panel-2);white-space:nowrap;border-bottom-width:2px;border-radius:3px;padding:2px 4px}.seg{height:var(--h);border:1px solid var(--border-2);border-radius:var(--r);background:var(--surface);flex:none;display:inline-flex;overflow:hidden}.seg>button{border:0;border-right:1px solid var(--border-2);cursor:pointer;white-space:nowrap;color:var(--text-2);background:0 0;align-items:center;gap:4px;padding:0 8px;display:inline-flex}.seg>button:last-child{border-right:0}.seg>button:hover{background:var(--hover);color:var(--text)}.seg>button.on{background:var(--accent-soft);color:var(--accent-2)}.seg.small{height:var(--h-s);font-size:var(--fs-s)}.seg.small>button{padding:0 6px}.field>.row>.seg,.seg.fill{flex:0 auto;min-width:0}.field>.row>.seg>button,.seg.fill>button{min-width:0}.seg.fill{width:100%;display:flex}.seg.fill>button{flex:1 1 0;justify-content:center}.input,.select{height:var(--h);border:1px solid var(--border-2);border-radius:var(--r);background:var(--surface);min-width:0;padding:0 7px}.input:focus,.select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.input.small,.select.small{height:var(--h-s);font-size:var(--fs-s);padding:0 5px}.input.err{border-color:var(--danger)}.select{appearance:none;cursor:pointer;background-image:linear-gradient(45deg, transparent 50%, var(--text-2) 50%), linear-gradient(135deg, var(--text-2) 50%, transparent 50%);text-overflow:ellipsis;white-space:nowrap;background-position:calc(100% - 11px),calc(100% - 7px);background-repeat:no-repeat;background-size:4px 4px;padding-right:20px;overflow:hidden}textarea.input{resize:vertical;height:auto;font-family:var(--mono);padding:6px 7px;line-height:1.5}.field{min-height:var(--h);grid-template-columns:92px minmax(0,1fr);align-items:center;gap:8px;display:grid}.field>label{color:var(--text-2);font-size:var(--fs-s);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.field>.row>.input,.field>.row>.select{flex:auto}.range{align-items:center;gap:8px;min-width:0;display:flex}.range input[type=range]{min-width:40px;accent-color:var(--accent);flex:auto;height:16px}.range .val{text-align:right;width:34px;font:var(--fs-s) var(--mono);color:var(--text-2);flex:none}.check{cursor:pointer;min-width:0;color:var(--text);align-items:center;gap:6px;display:inline-flex}.check input{accent-color:var(--accent);flex:none;margin:0}.check span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chip{height:var(--h-s);border:1px solid var(--border-2);color:var(--text-2);font-size:var(--fs-s);white-space:nowrap;cursor:pointer;background:0 0;border-radius:10px;flex:none;align-items:center;padding:0 7px;display:inline-flex}.chip:hover{color:var(--text);background:var(--hover)}.chip.on{background:var(--accent-soft);border-color:var(--accent);color:var(--accent-2)}.chips{flex-wrap:wrap;gap:4px;display:flex}.tag{height:16px;font-size:var(--fs-xs);white-space:nowrap;background:var(--surface-2);color:var(--text-2);border-radius:3px;flex:none;align-items:center;padding:0 5px;display:inline-flex}.topbar{background:var(--panel-2);border-bottom:1px solid var(--border);align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex;overflow:hidden}.brand{flex:none;align-items:center;gap:7px;padding-right:4px;display:flex}.brand .mark{background:var(--accent);width:20px;height:20px;color:var(--accent-ink);font:700 12px/1 var(--font);border-radius:4px;place-items:center;display:grid}.brand .name{letter-spacing:.01em;font-weight:600}.projname{min-width:40px;max-width:220px;height:var(--h);border-radius:var(--r);cursor:pointer;color:var(--text-2);border:1px solid #0000;flex:0 auto;align-items:center;gap:6px;padding:0 8px;display:inline-flex}.projname:hover{background:var(--hover);color:var(--text)}.projname .dot{background:var(--accent);border-radius:3px;flex:none;width:6px;height:6px}.transport{flex:none;align-items:center;gap:4px;display:flex}.lcd{height:var(--h);border-radius:var(--r);background:var(--bg);border:1px solid var(--border);font:12px var(--mono);font-variant-numeric:tabular-nums;white-space:nowrap;flex:none;align-items:center;gap:10px;padding:0 9px;display:inline-flex}.lcd .k{color:var(--text-3);font-size:var(--fs-xs);font-family:var(--font);margin-right:3px}.lcd button{cursor:pointer;color:var(--text);background:0 0;border:0;border-radius:3px;height:18px;padding:0 2px}.lcd button:hover{background:var(--hover)}.lcd input{text-align:right;width:42px;height:18px;font:inherit;background:0 0;border:0;padding:0}.lcd input:focus{background:var(--surface)}.spacer{flex:auto;min-width:4px}.topbar .group{flex:none;align-items:center;gap:4px;display:flex}.ebar{border-top:1px solid var(--border);border-bottom:1px solid var(--border);background:var(--panel-2);flex:none;align-items:center;gap:6px;min-width:0;height:32px;padding:0 6px;display:flex;overflow:hidden}.tracks{flex:0 auto;align-items:center;gap:3px;min-width:0;display:flex;overflow:hidden}.ttab{border-radius:var(--r);border:1px solid var(--border);background:var(--surface);cursor:pointer;min-width:70px;max-width:170px;height:24px;color:var(--text-2);flex:0 auto;align-items:center;gap:5px;padding:0 4px 0 8px;display:inline-flex}.ttab:hover{color:var(--text)}.ttab.on{border-color:var(--border-2);background:var(--surface-2);color:var(--text);box-shadow:inset 0 -2px 0 var(--tc)}.ttab .sw{background:var(--tc);border-radius:2px;flex:none;width:8px;height:8px}.ttab .nm{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.ttab .ms{flex:none;gap:1px;display:inline-flex}.ttab .ms button{width:16px;height:16px;color:var(--text-3);cursor:pointer;font:600 9px/16px var(--font);background:0 0;border:0;border-radius:3px;padding:0}.ttab .ms button:hover{background:var(--hover);color:var(--text)}.ttab .ms button.m.on{background:var(--danger);color:#fff}.ttab .ms button.s.on{background:var(--accent);color:var(--accent-ink)}.ttab.muted .nm{opacity:.7;text-decoration:line-through}.timeline{flex-direction:column;flex:auto;min-height:0;display:flex;position:relative}.tl-top,.tl-roll,.tl-lane{flex:none;position:relative;overflow:hidden}.tl-roll{flex:auto;min-height:60px}.tl-top canvas,.tl-roll canvas,.tl-lane canvas{display:block;position:absolute;top:0;left:0}.tl-lane{border-top:1px solid var(--border)}.hscroll{background:var(--panel);border-top:1px solid var(--border);height:12px;margin-left:var(--gutter);flex:none;position:relative}.hscroll .thumb{background:var(--border-2);cursor:grab;border-radius:4px;min-width:18px;height:7px;position:absolute;top:2px}.hscroll .thumb:hover{background:var(--text-3)}.vscroll{z-index:2;width:10px;position:absolute;top:0;bottom:0;right:0}.vscroll .thumb{background:var(--border-2);cursor:grab;opacity:.8;border-radius:3px;width:6px;min-height:18px;position:absolute;left:2px}.vscroll .thumb:hover{background:var(--text-3)}.chord-editor{z-index:20;background:var(--panel-2);border:1px solid var(--accent);border-radius:var(--r);box-shadow:var(--shadow);flex-direction:column;gap:0;display:flex;position:absolute}.chord-editor input{height:26px;font:600 13px var(--font);background:0 0;border:0;width:100%;min-width:0;padding:0 8px}.chord-editor .hint{font-size:var(--fs-xs);color:var(--text-3);border-top:1px solid var(--border);white-space:nowrap;text-overflow:ellipsis;padding:3px 8px 5px;overflow:hidden}.chord-editor .hint.err{color:var(--danger)}.chord-editor .sugg{border-top:1px solid var(--border);flex-direction:column;max-height:180px;display:flex;overflow:auto}.chord-editor .sugg button{text-align:left;cursor:pointer;white-space:nowrap;background:0 0;border:0;align-items:center;gap:8px;height:22px;padding:0 8px;display:flex}.chord-editor .sugg button:hover,.chord-editor .sugg button.on{background:var(--hover)}.chord-editor .sugg .r{color:var(--text-3);font-size:var(--fs-s);margin-left:auto}.palette{border-top:1px solid var(--border);background:var(--panel-2);flex-direction:column;flex:none;gap:6px;min-width:0;padding:6px 6px 7px;display:flex}.palette .head{min-width:0;height:var(--h-s);align-items:center;gap:6px;display:flex}.palette .keys{scrollbar-width:none;gap:4px;min-width:0;padding-bottom:1px;display:flex;overflow:auto hidden}.palette .keys::-webkit-scrollbar{display:none}.pchord{border-radius:var(--r);border:1px solid var(--border-2);border-left:3px solid var(--fc);background:var(--surface);cursor:pointer;flex-direction:column;flex:1 0 74px;justify-content:center;align-items:flex-start;gap:1px;min-width:0;max-width:132px;height:40px;padding:0 7px;display:flex;position:relative}.pchord:hover{background:var(--hover)}.pchord:active{background:var(--active)}.pchord .rn{color:var(--text);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:13px;font-weight:650;line-height:1.1;overflow:hidden}.pchord .sy{font-size:var(--fs-s);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.pchord kbd{padding:1px 3px;font-size:9px;position:absolute;top:4px;right:4px}.inspector{width:var(--inspector);background:var(--panel);flex-direction:column;min-width:0;min-height:0;display:flex}.itabs{border-bottom:1px solid var(--border);background:var(--panel-2);flex:none;gap:1px;height:32px;padding:0 4px;display:flex}.itabs button{min-width:0;color:var(--text-2);cursor:pointer;font-size:var(--fs-s);white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-bottom:2px solid #0000;flex:auto;margin-top:2px;padding:0 2px;overflow:hidden}.itabs button:hover{color:var(--text)}.itabs button.on{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.ibody{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:10px 10px 16px;display:flex}.sec{flex-direction:column;gap:7px;min-width:0;display:flex}.sec>h4{font-size:var(--fs-xs);letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);white-space:nowrap;align-items:center;gap:6px;min-height:18px;margin:0;font-weight:650;display:flex;overflow:hidden}.sec>h4 .grow{text-overflow:ellipsis;overflow:hidden}.card{border:1px solid var(--border);background:var(--panel-2);border-radius:6px;flex-direction:column;gap:7px;min-width:0;padding:8px;display:flex}.empty{color:var(--text-3);text-align:center;font-size:var(--fs-s);padding:18px 8px;line-height:1.6}.bigsym{letter-spacing:-.01em;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:26px;font-weight:650;line-height:1.1;overflow:hidden}.rn-badge{color:#fff;background:var(--fc);white-space:nowrap;text-overflow:ellipsis;border-radius:11px;flex:none;align-items:center;max-width:100%;height:22px;padding:0 8px;font-weight:650;display:inline-flex;overflow:hidden}:root[data-theme=light] .rn-badge{color:#fff}.list{flex-direction:column;gap:2px;min-width:0;display:flex}.li{border-radius:var(--r);cursor:pointer;border:1px solid #0000;border-left:3px solid var(--fc,transparent);background:var(--surface);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:28px;padding:3px 6px 3px 8px;display:grid}.li:hover{background:var(--hover)}.li.on{border-color:var(--accent)}.li .t{flex-direction:column;gap:1px;min-width:0;display:flex}.li .t b{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.li .t span{font-size:var(--fs-xs);color:var(--text-2);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.li .a{flex:none;align-items:center;gap:3px;display:flex}.scale-strip{grid-template-columns:repeat(var(--n), minmax(0, 1fr));gap:2px;display:grid}.scale-strip>div{background:var(--surface);border:1px solid var(--border);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-width:0;height:34px;display:flex;overflow:hidden}.scale-strip .n{font-weight:600;font-size:var(--fs-s);white-space:nowrap}.scale-strip .d{color:var(--text-2);white-space:nowrap;font-size:9px}.scale-strip .root,.scale-strip .chord{background:var(--accent-soft);border-color:var(--accent)}.scale-strip .tension{border-color:var(--fn-t)}.scale-strip .avoid{border-style:dashed;border-color:var(--danger);opacity:.8}.minikbd{border:1px solid var(--border);background:var(--surface);border-radius:4px;height:54px;position:relative;overflow:hidden}.minikbd canvas{cursor:pointer;width:100%;height:100%;display:block}.chart{background:var(--panel);flex:auto;min-height:0;padding:14px 16px 24px}.chart-row{grid-template-columns:54px minmax(0,1fr);align-items:stretch;gap:0;display:grid}.chart-sec{color:var(--accent-2);font-weight:700;font-size:var(--fs-s);text-overflow:ellipsis;white-space:nowrap;padding-top:9px;overflow:hidden}.chart-bars{grid-template-columns:repeat(var(--per), minmax(0, 1fr));border-left:2px solid var(--border-2);display:grid}.cbar{border-right:1px solid var(--border-2);border-bottom:1px solid var(--border);cursor:text;min-width:0;height:58px;padding:4px 0 0;position:relative}.cbar:hover{background:var(--hover)}.cbar.cur{background:var(--accent-soft)}.cbar .bn{font:9px var(--mono);color:var(--text-3);position:absolute;top:2px;left:4px}.cbar .kc{color:var(--accent-2);white-space:nowrap;text-overflow:ellipsis;max-width:60%;font-size:9px;position:absolute;top:2px;right:4px;overflow:hidden}.cchord{cursor:pointer;border-radius:3px;flex-direction:column;justify-content:flex-start;min-width:0;padding:0 4px;display:flex;position:absolute;top:16px;bottom:4px}.cchord:hover{background:var(--surface-2)}.cchord.sel{background:var(--accent-soft);box-shadow:inset 0 0 0 1px var(--accent)}.cchord .s{white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:650;overflow:hidden}.cchord .r{font-size:var(--fs-xs);white-space:nowrap;text-overflow:ellipsis;color:var(--fc,var(--text-2));overflow:hidden}.cchord.bad .s{color:var(--danger);-webkit-text-decoration:underline wavy var(--danger);text-decoration:underline wavy var(--danger)}.statusbar{background:var(--panel-2);border-top:1px solid var(--border);font-size:var(--fs-s);color:var(--text-2);white-space:nowrap;align-items:center;gap:12px;min-width:0;padding:0 10px;display:flex;overflow:hidden}.statusbar .hover{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.statusbar .item{flex:none;align-items:center;gap:5px;display:inline-flex}.led{background:var(--text-3);border-radius:4px;flex:none;width:7px;height:7px}.led.on{background:var(--ok)}.led.busy{background:var(--accent)}.menu{z-index:1000;background:var(--panel-2);border:1px solid var(--border-2);min-width:180px;max-width:320px;max-height:calc(100vh - 16px);box-shadow:var(--shadow);border-radius:6px;padding:4px;position:fixed;overflow:auto}.menu .mi{cursor:pointer;white-space:nowrap;border-radius:4px;align-items:center;gap:8px;min-width:0;height:26px;padding:0 8px;display:flex}.menu .mi:hover,.menu .mi.hot{background:var(--hover)}.menu .mi .l{text-overflow:ellipsis;flex:auto;min-width:0;overflow:hidden}.menu .mi .k{color:var(--text-3);font-size:var(--fs-s);flex:none}.menu .mi.dis{opacity:.45;pointer-events:none}.menu .mi.danger{color:var(--danger)}.menu .mh{font-size:var(--fs-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.07em;white-space:nowrap;text-overflow:ellipsis;padding:6px 8px 3px;overflow:hidden}.menu .ms{background:var(--border);height:1px;margin:4px 2px}.menu .mi .sub{color:var(--text-3)}.overlay{z-index:900;background:#0000006b;place-items:center;padding:16px;display:grid;position:fixed;inset:0}:root[data-theme=light] .overlay{background:#1e180e40}.dialog{background:var(--panel-2);border:1px solid var(--border-2);width:min(560px,100%);min-height:0;max-height:min(720px,100vh - 32px);box-shadow:var(--shadow);border-radius:8px;flex-direction:column;display:flex}.dialog.wide{width:min(820px,100%)}.dialog>header{border-bottom:1px solid var(--border);flex:none;align-items:center;gap:8px;min-width:0;padding:10px 12px;display:flex}.dialog>header h3{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;margin:0;font-size:13px;font-weight:650;overflow:hidden}.dialog>.body{flex-direction:column;gap:10px;min-height:0;padding:12px;display:flex;overflow:auto}.dialog>footer{border-top:1px solid var(--border);flex-wrap:wrap;flex:none;justify-content:flex-end;align-items:center;gap:6px;padding:10px 12px;display:flex}.dialog p{color:var(--text-2);margin:0;line-height:1.55}.toasts{z-index:1100;pointer-events:none;flex-direction:column;align-items:center;gap:6px;display:flex;position:fixed;bottom:34px;left:50%;transform:translate(-50%)}.toast{background:var(--panel-2);border:1px solid var(--border-2);max-width:min(520px,100vw - 32px);box-shadow:var(--shadow);white-space:nowrap;text-overflow:ellipsis;border-radius:6px;padding:7px 12px;overflow:hidden}.toast.error{border-color:var(--danger);color:var(--danger)}.toast.ok{border-color:var(--ok)}table.grid{border-collapse:collapse;table-layout:fixed;width:100%}table.grid th,table.grid td{border-bottom:1px solid var(--border);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-s);padding:4px 6px;overflow:hidden}table.grid th{color:var(--text-3);font-weight:600;font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.05em}table.grid tr.click{cursor:pointer}table.grid tr.click:hover td{background:var(--hover)}.shortcut-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px;display:grid}.shortcut-grid .sc{justify-content:space-between;align-items:center;gap:10px;min-width:0;min-height:22px;display:flex}.shortcut-grid .sc span{text-overflow:ellipsis;white-space:nowrap;color:var(--text-2);overflow:hidden}.shortcut-grid .sc .keys{flex:none;gap:3px;display:flex}.shortcut-grid h5{font-size:var(--fs-xs);text-transform:uppercase;letter-spacing:.07em;color:var(--text-3);grid-column:1/-1;margin:10px 0 2px}.progress{background:var(--border);border-radius:2px;height:3px;overflow:hidden}.progress>div{background:var(--accent);height:100%;transition:width .2s}@media (width<=1180px){:root{--inspector:304px}.brand .name{display:none}}@media (width<=1100px){.hide-md{display:none!important}}@media (width<=960px){.hide-narrow{display:none!important}.lcd{gap:6px;padding:0 6px}.lcd .keybtn{max-width:92px!important}.projname{max-width:120px}}.manual{z-index:950;background:var(--bg);grid-template-rows:46px minmax(0,1fr);min-width:0;display:grid;position:fixed;inset:0}.manual-head{border-bottom:1px solid var(--border);background:var(--panel-2);align-items:center;gap:8px;min-width:0;padding:0 12px;display:flex;overflow:hidden}.manual-head .brand .name{white-space:nowrap;text-overflow:ellipsis;overflow:hidden;display:inline!important}.manual-toc-select{max-width:200px;display:none}.manual-main{grid-template-columns:250px minmax(0,1fr);min-height:0;display:grid}.manual-toc{border-right:1px solid var(--border);background:var(--panel);flex-direction:column;gap:2px;min-height:0;padding:14px 8px;display:flex}.manual-toc button{text-align:left;color:var(--text-2);cursor:pointer;white-space:nowrap;text-overflow:ellipsis;background:0 0;border:0;border-radius:5px;flex:none;padding:7px 10px;font-size:13px;overflow:hidden}.manual-toc button:hover{background:var(--hover);color:var(--text)}.manual-toc button.on{background:var(--accent-soft);color:var(--accent-2);font-weight:600}.manual-body{min-height:0;padding:28px 36px 120px;position:relative}.manual-body article{max-width:780px;color:var(--text);-webkit-user-select:text;user-select:text;margin:0 auto;font-size:14px;line-height:1.75}.manual-body section{scroll-margin-top:16px}.manual-body h2{border-top:1px solid var(--border);letter-spacing:-.01em;margin:44px 0 12px;padding-top:20px;font-size:21px;line-height:1.3}.manual-body section:first-child h2{border-top:0;margin-top:0;padding-top:0}.manual-body h3{color:var(--accent-2);margin:24px 0 6px;font-size:15px}.manual-body p{color:var(--text);margin:8px 0}.manual-body ul,.manual-body ol{margin:8px 0;padding-left:22px}.manual-body li{margin:5px 0}.manual-body b{font-weight:650}.manual-body i{color:var(--accent-2);font-style:normal}.manual-body kbd{vertical-align:1px;padding:1px 5px;font-size:11px}.m-steps{counter-reset:st;list-style:none;padding-left:0!important}.m-steps>li{padding-left:30px;position:relative}.m-steps>li:before{counter-increment:st;content:counter(st);background:var(--surface-2);border:1px solid var(--border-2);width:20px;height:20px;color:var(--text-2);font:600 11px/18px var(--font);text-align:center;border-radius:10px;position:absolute;top:3px;left:0}.m-note{border-left:3px solid var(--accent);background:var(--accent-soft);border-radius:5px;margin:14px 0;padding:10px 14px}.m-note.idea{border-left-color:var(--fn-t);background:#5e9de61f}.m-note.warn{border-left-color:var(--danger);background:#e2685a1f}.m-layers{border:1px solid var(--border);border-radius:6px;flex-direction:column;margin:12px 0;display:flex;overflow:hidden}.m-layers>div{background:var(--panel-2);grid-template-columns:170px minmax(0,1fr);gap:12px;padding:8px 12px;display:grid}.m-layers>div+div{border-top:1px solid var(--border)}.m-layers b{color:var(--text)}.m-layers span{color:var(--text-2)}.m-swatches{flex-wrap:wrap;gap:6px 14px;display:flex}.m-sw{color:var(--text-2);align-items:center;gap:6px;font-size:13px;display:inline-flex}.m-sw i{border-radius:3px;width:12px;height:12px;display:inline-block}.m-keys{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 24px;margin:10px 0;display:grid}.m-keys>div{border-bottom:1px dashed var(--border);justify-content:space-between;align-items:center;gap:10px;min-width:0;padding:4px 0;display:flex}.m-keys>div>span:first-child{color:var(--text-2);overflow-wrap:anywhere;min-width:0;line-height:1.45}.m-keys>div>span:last-child,.m-keys>div>kbd{white-space:nowrap;flex:none}.m-recipes li{margin:8px 0}.m-num{background:var(--accent);width:18px;height:18px;color:var(--accent-ink);border-radius:9px;flex:none;place-items:center;font-size:10px;line-height:1;display:inline-grid}.m-map{color:var(--text-2);-webkit-user-select:none;user-select:none;grid-template-rows:30px 236px 24px;gap:4px;margin:14px 0 6px;font-size:12px;line-height:1.3;display:grid}.m-map .m-mid{grid-template-columns:minmax(0,1fr) 30%;gap:4px;min-height:0;display:grid}.m-map .m-left{grid-template-rows:44px 24px minmax(0,1fr) 28px 34px;gap:4px;min-width:0;min-height:0;display:grid}.m-box{border:1px solid var(--border-2);background:var(--panel-2);border-radius:4px;align-items:center;gap:6px;min-width:0;padding:0 8px;display:flex;overflow:hidden}.m-box>span{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.m-box.m-roll{background:repeating-linear-gradient(0deg, var(--roll-white) 0 9px, var(--roll-black) 9px 18px)}.m-box.m-insp{align-items:flex-start;padding-top:8px}.m-box.m-insp>span{white-space:normal;overflow-wrap:anywhere}@media (width<=860px){.manual-main{grid-template-columns:minmax(0,1fr)}.manual-toc{display:none}.manual-toc-select{display:inline-block}.manual-body{padding:20px 16px 100px}.m-layers>div{grid-template-columns:minmax(0,1fr);gap:2px}.m-keys{grid-template-columns:minmax(0,1fr)}}
