*{margin:0;padding:0;box-sizing:border-box}@font-face{font-family:Monaspace Argon;src:url(./MonaspaceArgon-Var-wcj2KKfg.woff2) format("woff2");font-style:normal;font-weight:100 900;font-display:swap}:root{--sidebar-width: 240px;--right-panel-width: 340px;--toolbar-height: 56px;--font-ui: sans-serif;--font-code: "Monaspace Argon", "codicon", monospace;--font-size-sm: 12px;--font-size-base: 12px;--font-size-lg: 14px;--font-size-xl: 14px;--bg-primary: #000;--bg-sidebar: #000;--bg-toolbar: #000;--bg-dialog: #0d0d13;--bg-hover: #313244;--bg-active: #2a2b3ddd;--text-primary: #d6d9e3;--text-secondary: #d6d9e3;--text-muted: #6c7086;--accent: #008eff;--accent-soft: rgba(137, 180, 250, .08);--border: #2a2b3ddd;--dirty: #f9e2af;--warning: #f9e2af;--danger: #ff595f;--success: #a6e3a1;--chip-text: #000000;--shadow-color: rgba(0, 0, 0, .4);--backdrop-color: rgba(0, 0, 0, .5);--pk-white: #e8e8e8;--pk-white-hover: #d0d0d0;--pk-black: #333;--pk-black-hover: #555;--pk-label-white: #555;--pk-label-black: #ccc;--editor-bg: #000000;--editor-fg: #9ba3bf;--editor-line-number: #9ba3bf;--editor-line-number-active: #cdd6f4;--editor-selection: #45475a;--editor-line-highlight: #2a2b3ddd;--editor-token-comment: #d6d9e3;--editor-token-meta: #c586c0;--editor-token-keyword: #56bad6;--editor-token-platform-keyword: #56bad6;--editor-token-string: #b5cea8;--editor-token-string-meta: #9ba3bf;--editor-token-attribute: #dcdcaa;--editor-token-type: #4ec9b0;--editor-token-track: #4ec9b0;--editor-token-number: #b5cea8;--editor-token-note-pitch: #9cdcfe;--editor-token-note-rest: #9cdcfe;--editor-token-style-note-pitch: normal;--editor-token-style-note-rest: normal;--editor-token-variable: #9cdcfe;--editor-token-operator: #d4d4d4;--editor-token-delimiter: #d4d4d4;--fm-carrier: #b5cea8;--editor-codelens: #9ba3bf;--editor-inlay-hint-fg: #9ba3bf;--editor-inlay-hint-bg: rgba(69, 71, 90, .32);--playback-highlight-bg: rgba(255, 200, 50, .45);--playback-highlight-border: rgba(255, 200, 50, .6);--playback-highlight-glow: rgba(255, 200, 50, .5);--playback-highlight-text: #ffffff;--playback-highlight-text-glow: rgba(255, 200, 50, .9);--playback-highlight-text-outline: rgba(255, 255, 255, .5);--piano-roll-panel-bg: #000000;--piano-roll-grid-bg: #000000;--piano-roll-grid-line: rgba(255, 255, 255, .06);--piano-roll-grid-line-beat: rgba(255, 255, 255, .12);--piano-roll-grid-line-measure: rgba(255, 255, 255, .22);--piano-roll-pitch-line-c: rgba(255, 255, 255, .15);--piano-roll-pitch-line: rgba(255, 255, 255, .04);--piano-roll-key-label-text: #8a9bd866;--piano-roll-white-key-overlay: #2a2b3d66;--piano-roll-black-key-overlay: transparent;--piano-roll-note-border: rgba(0, 0, 0, .3);--piano-roll-edit-cursor: #008eff;--piano-roll-edit-cursor-glow: #008eff66;--piano-roll-cursor: rgba(255, 200, 50, .9);--piano-roll-cursor-glow: rgba(255, 200, 50, .6);--piano-roll-loop-bg: rgba(100, 140, 255, .08);--piano-roll-loop-border: rgba(100, 140, 255, .3);--piano-roll-empty-text: #666666;--fm-slider-color: #2a2b3ddd;--track-fm1: hsla(7, 100%, 55%, 1);--track-fm2: hsla(34, 100%, 55%, 1);--track-fm3: hsla(51, 87%, 60%, 1);--track-fm4: hsla(111, 70%, 55%, 1);--track-fm5: hsla(208, 80%, 60%, 1);--track-fm6: hsla(255, 70%, 60%, 1);--track-psg1: hsla(320, 70%, 65%, 1);--track-psg2: hsla(320, 70%, 60%, 1);--track-psg3: hsla(320, 70%, 55%, 1);--track-noise: hsla(0, 0%, 65%, 1);--track-pcm2: hsla(255, 70%, 55%, 1);--track-pcm3: hsla(255, 70%, 45%, 1);--track-fm3a: hsla(51, 87%, 55%, 1);--track-fm3b: hsla(51, 87%, 45%, 1);--track-fm3c: hsla(51, 87%, 35%, 1);--track-fm3d: hsla(51, 87%, 60%, 1)}[data-theme=light]{--bg-primary: #eff1f5;--bg-sidebar: #e6e9ef;--bg-toolbar: #dce0e8;--bg-dialog: #e6e9ef;--bg-hover: #ccd0da;--bg-active: #bcc0cccc;--text-primary: #000000;--text-secondary: #000000;--text-muted: #9ca0b0;--accent: #115bf1;--accent-soft: rgba(30, 102, 245, .08);--border: #ccd0dacc;--dirty: #df8e1d;--warning: #df8e1d;--danger: #d20f39;--success: #1e8a06;--chip-text: #eff1f5;--shadow-color: rgba(0, 0, 0, .12);--backdrop-color: rgba(0, 0, 0, .3);--pk-white: #fff;--pk-white-hover: #eee;--pk-black: #444551;--pk-black-hover: #444;--pk-label-white: #666;--pk-label-black: #bbb;--editor-bg: #eff1f5;--editor-fg: #444551;--editor-line-number: #9ca0b0;--editor-line-number-active: #444551;--editor-selection: #acb0be;--editor-line-highlight: #e6e9efcc;--editor-token-comment: #31313e;--editor-token-meta: #7f29f0;--editor-token-keyword: #115bf1;--editor-token-platform-keyword: #115bf1;--editor-token-string: #1e8a06;--editor-token-string-meta: #444551;--editor-token-attribute: #db6926;--editor-token-type: #179299;--editor-token-track: #179299;--editor-token-number: #1e8a06;--editor-token-note-pitch: #0586e9;--editor-token-note-rest: #0586e9;--editor-token-style-note-pitch: normal;--editor-token-style-note-rest: normal;--editor-token-variable: #0586e9;--editor-token-operator: #444551;--editor-token-delimiter: #444551;--editor-codelens: #444551;--editor-inlay-hint-fg: #7c7f93;--editor-inlay-hint-bg: rgba(172, 176, 190, .32);--playback-highlight-bg: rgba(223, 142, 29, .3);--playback-highlight-border: rgba(223, 142, 29, .6);--playback-highlight-glow: rgba(223, 142, 29, .4);--playback-highlight-text: #1e1e2e;--playback-highlight-text-glow: rgba(223, 142, 29, .8);--playback-highlight-text-outline: rgba(255, 255, 255, .5);--piano-roll-panel-bg: #eff1f5;--piano-roll-grid-bg: #e6e9ef;--piano-roll-grid-line: rgba(76, 79, 105, .06);--piano-roll-grid-line-beat: rgba(76, 79, 105, .12);--piano-roll-grid-line-measure: rgba(76, 79, 105, .22);--piano-roll-pitch-line-c: rgba(76, 79, 105, .14);--piano-roll-pitch-line: rgba(76, 79, 105, .04);--piano-roll-key-label-text: #44455166;--piano-roll-white-key-overlay: transparent;--piano-roll-black-key-overlay: #ccd0da66;--piano-roll-note-border: rgba(255, 255, 255, .5);--piano-roll-cursor: rgba(223, 142, 29, .9);--piano-roll-cursor-glow: rgba(223, 142, 29, .6);--piano-roll-loop-bg: rgba(30, 102, 245, .08);--piano-roll-loop-border: rgba(30, 102, 245, .3);--piano-roll-empty-text: #9ca0b0;--fm-carrier: #40a02b;--fm-slider-color: #ccd0dadd;--track-fm1: hsla(7, 80%, 45%, 1);--track-fm2: hsla(34, 90%, 40%, 1);--track-fm3: hsla(60, 100%, 25%, 1);--track-fm4: hsla(111, 80%, 30%, 1);--track-fm5: hsla(217, 82%, 45%, 1);--track-fm6: hsla(260, 80%, 55%, 1);--track-psg1: hsla(320, 100%, 40%, 1);--track-psg2: hsla(320, 100%, 45%, 1);--track-psg3: hsla(320, 100%, 50%, 1);--track-noise: hsla(0, 0%, 25%, 1);--track-pcm2: hsla(260, 80%, 60%, 1);--track-pcm3: hsla(260, 80%, 65%, 1);--track-fm3a: hsla(60, 100%, 30%, 1);--track-fm3b: hsla(60, 100%, 35%, 1);--track-fm3c: hsla(60, 100%, 40%, 1);--track-fm3d: hsla(60, 100%, 25%, 1)}[data-theme=pro]{--bg-primary: #000000;--bg-sidebar: #000000;--bg-toolbar: #000000;--bg-dialog: #111111;--bg-hover: #1a1a1a;--bg-active: #ffffff22;--text-primary: #ffffff;--text-secondary: #ffffff;--text-muted: #999999;--accent: #999999;--accent-soft: rgba(255, 255, 255, .05);--border: #222222;--dirty: #dfb21d;--warning: #dfb21d;--danger: #ff6161;--success: #bbbbbb;--chip-text: #000000;--shadow-color: rgba(0, 0, 0, .6);--backdrop-color: rgba(0, 0, 0, .6);--pk-white: #ffffff;--pk-white-hover: #eeeeee;--pk-black: #333333;--pk-black-hover: #555555;--pk-label-white: #555555;--pk-label-black: #999999;--editor-bg: #000000;--editor-fg: #ffffff;--editor-line-number: #ffffff44;--editor-line-number-active: #ffffff99;--editor-selection: #ffffff33;--editor-line-highlight: #ffffff22;--editor-token-comment: #ffffff99;--editor-token-meta: #ffffff;--editor-token-keyword: #ffffff;--editor-token-platform-keyword: #ffffff;--editor-token-string: #ffffff;--editor-token-string-meta: #ffffff;--editor-token-attribute: #ffffff;--editor-token-type: #ffffff;--editor-token-track: #ffffff;--editor-token-number: #ffffff;--editor-token-note-pitch: #ffffff;--editor-token-note-rest: #ffffff;--editor-token-style-note-pitch: normal;--editor-token-style-note-rest: normal;--editor-token-variable: #ffffff;--editor-token-operator: #ffffff;--editor-token-delimiter: #ffffff;--fm-carrier: #ffffff;--editor-codelens: #ffffff66;--editor-inlay-hint-fg: #ffffff66;--editor-inlay-hint-bg: rgba(255, 255, 255, .05);--playback-highlight-bg: rgba(255, 255, 255, .3);--playback-highlight-border: rgba(255, 255, 255, .8);--playback-highlight-glow: rgba(255, 255, 255, .3);--playback-highlight-text: #ffffff;--playback-highlight-text-glow: rgba(255, 255, 255, .8);--playback-highlight-text-outline: rgba(255, 255, 255, .5);--piano-roll-panel-bg: #000000;--piano-roll-grid-bg: #000000;--piano-roll-grid-line: rgba(255, 255, 255, .05);--piano-roll-grid-line-beat: rgba(255, 255, 255, .1);--piano-roll-grid-line-measure: rgba(255, 255, 255, .18);--piano-roll-pitch-line-c: rgba(255, 255, 255, .12);--piano-roll-pitch-line: rgba(255, 255, 255, .03);--piano-roll-key-label-text: #ffffff44;--piano-roll-white-key-overlay: #11111166;--piano-roll-black-key-overlay: transparent;--piano-roll-note-border: rgba(0, 0, 0, .4);--piano-roll-edit-cursor: #888888;--piano-roll-edit-cursor-glow: #88888866;--piano-roll-cursor: rgba(255, 255, 255, .7);--piano-roll-cursor-glow: rgba(255, 255, 255, .4);--piano-roll-loop-bg: rgba(255, 255, 255, .04);--piano-roll-loop-border: rgba(255, 255, 255, .15);--piano-roll-empty-text: #444444;--fm-slider-color: #222222dd;--track-fm1: #ffffff;--track-fm2: #eeeeee;--track-fm3: #dddddd;--track-fm4: #cccccc;--track-fm5: #bbbbbb;--track-fm6: #aaaaaa;--track-psg1: #999999;--track-psg2: #888888;--track-psg3: #777777;--track-noise: #666666;--track-pcm2: #8b8b8b;--track-pcm3: #6d6d6d;--track-fm3a: #c3c3c3;--track-fm3b: #a8a8a8;--track-fm3c: #8d8d8d;--track-fm3d: #737373}html,body{height:100%;overflow:hidden;background:var(--bg-primary);color:var(--text-primary);font-family:var(--font-ui);font-feature-settings:"calt" 1;font-size:var(--font-size-base)}button,input,select,textarea{font:inherit}.monaco-editor .mml-track-chip{background:var(--mml-track-chip-bg);color:var(--chip-text)!important}.app-init-error{padding:2em;color:var(--text-secondary);text-align:center}.app-init-error button{color:var(--accent);background:none;border:1px solid var(--accent);padding:4px 12px;border-radius:4px;cursor:pointer}.monaco-editor .mml-track-chip-0{--mml-track-chip-bg: var(--track-fm1)}.monaco-editor .mml-track-chip-1{--mml-track-chip-bg: var(--track-fm2)}.monaco-editor .mml-track-chip-2{--mml-track-chip-bg: var(--track-fm3)}.monaco-editor .mml-track-chip-3{--mml-track-chip-bg: var(--track-fm4)}.monaco-editor .mml-track-chip-4{--mml-track-chip-bg: var(--track-fm5)}.monaco-editor .mml-track-chip-5{--mml-track-chip-bg: var(--track-fm6)}.monaco-editor .mml-track-chip-6{--mml-track-chip-bg: var(--track-psg1)}.monaco-editor .mml-track-chip-7{--mml-track-chip-bg: var(--track-psg2)}.monaco-editor .mml-track-chip-8{--mml-track-chip-bg: var(--track-psg3)}.monaco-editor .mml-track-chip-9{--mml-track-chip-bg: var(--track-noise)}.monaco-editor .mml-track-chip-10{--mml-track-chip-bg: var(--track-pcm2)}.monaco-editor .mml-track-chip-11{--mml-track-chip-bg: var(--track-pcm3)}.monaco-editor .mml-track-chip-12{--mml-track-chip-bg: var(--track-fm3a)}.monaco-editor .mml-track-chip-13{--mml-track-chip-bg: var(--track-fm3b)}.monaco-editor .mml-track-chip-14{--mml-track-chip-bg: var(--track-fm3c)}.monaco-editor .mml-track-chip-15{--mml-track-chip-bg: var(--track-fm3d)}.monaco-overflow-root{position:fixed;inset:0;z-index:30;pointer-events:none;background:transparent}.monaco-overflow-root .monaco-hover,.monaco-overflow-root .suggest-widget,.monaco-overflow-root .parameter-hints-widget,.monaco-overflow-root .monaco-editor-overlaymessage,.monaco-overflow-root .inlineSuggestionsHints{pointer-events:auto}.monaco-editor .monaco-hover,.monaco-overflow-root .monaco-hover,.monaco-editor .monaco-hover .hover-contents,.monaco-overflow-root .monaco-hover .hover-contents,.monaco-editor .monaco-hover .hover-row,.monaco-overflow-root .monaco-hover .hover-row,.monaco-editor .monaco-hover .hover-row-contents,.monaco-overflow-root .monaco-hover .hover-row-contents,.monaco-editor .monaco-hover code,.monaco-overflow-root .monaco-hover code,.monaco-editor .monaco-hover .rendered-markdown,.monaco-overflow-root .monaco-hover .rendered-markdown{font-family:var(--font-code);font-size:var(--font-size-base);line-height:1.6}#app{display:grid;grid-template-columns:var(--sidebar-width) 4px 1fr 4px var( --right-panel-width );grid-template-rows:var(--toolbar-height) 1fr auto auto;height:100%}#app.sidebar-hidden{grid-template-columns:0px 0px 1fr 4px var(--right-panel-width)}#app.right-panel-hidden{grid-template-columns:var(--sidebar-width) 4px 1fr 0px 0px}#app.sidebar-hidden.right-panel-hidden{grid-template-columns:0px 0px 1fr 0px 0px}#app.sidebar-hidden .sidebar{overflow:hidden;border-right:none}#app.sidebar-hidden .resize-handle-v:not(.right-resize-handle){display:none}.resize-handle-v{cursor:col-resize;background:var(--border);grid-row:2 / -1;position:relative;touch-action:none}.resize-handle-v:after{content:"";position:absolute;inset:0 -8px}.resize-handle-v:not(.right-resize-handle){grid-column:2}.resize-handle-v:hover{background:var(--accent)}.right-resize-handle{grid-column:4}#app.right-panel-hidden .right-resize-handle,#app.right-panel-hidden .right-panel{display:none}.right-panel{grid-column:5;grid-row:2 / -1;display:flex;flex-direction:column;overflow:hidden;background:var(--bg-sidebar);border-left:1px solid var(--border)}.right-panel-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden}#app.piano-roll-hidden .resize-handle-h,#app.piano-roll-hidden .piano-roll-container{display:none}.editor-container{grid-column:3;overflow:hidden;position:relative}.editor-container.has-bg-image:before{content:"";position:absolute;inset:0;background-image:var(--bg-url);background-size:var(--bg-size, cover);background-position:var(--bg-position, center);background-repeat:no-repeat;opacity:var(--bg-opacity, 1);pointer-events:none}.editor-container.has-bg-image .monaco-editor,.editor-container.has-bg-image .monaco-editor .overflow-guard,.editor-container.has-bg-image .monaco-editor-background,.editor-container.has-bg-image .margin{background:transparent!important}#app.external-drag .editor-container:after{content:"Drop to insert";position:absolute;inset:0;background:var(--accent-soft);border:2px dashed var(--accent);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xl);color:var(--accent);z-index:10;pointer-events:none}#app.external-drag .file-tree{outline:2px dashed var(--accent);outline-offset:-2px}.toolbar{grid-column:1 / -1;background:var(--bg-toolbar);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 8px;gap:4px}.toolbar button{background:none;border:1px solid transparent;color:var(--text-secondary);padding:4px 10px;border-radius:4px;cursor:pointer;font-size:var(--font-size-base);white-space:nowrap;display:inline-flex;align-items:center;justify-content:center;gap:6px}.toolbar button:hover{background:var(--bg-hover);color:var(--text-primary)}.toolbar .separator{width:1px;height:20px;background:var(--border);margin:0 4px}.toolbar button svg,.toolbar button .codicon,.toolbar button img{display:block;pointer-events:none}.toolbar .brand-btn{padding:6px 8px}.toolbar .brand-btn img{width:auto;height:20px}.play-stop-group{display:inline-flex;gap:2px;position:relative}.play-stop-group>button>span.codicon{font-size:20px}.play-stop-group .stop-btn{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}.toolbar button:disabled{opacity:.4;cursor:default}.toolbar button:disabled:hover{background:none;color:var(--text-secondary)}.toolbar .status-text{color:var(--text-muted);font-size:var(--font-size-sm);margin-left:8px;display:inline-block;min-width:0;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative}.toolbar .status-text.status-error{color:var(--danger)}.toolbar .status-text.status-warning{color:var(--warning)}.toolbar .status-text:not(:empty):hover:after{content:attr(data-full);position:absolute;top:calc(100% + 6px);right:0;max-width:min(60vw,560px);padding:8px 10px;border-radius:999px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-primary);white-space:normal;overflow:visible;text-overflow:initial;line-height:1.35;box-shadow:0 8px 24px var(--shadow-color);z-index:20;pointer-events:none}.toolbar .status-text.status-error:hover:after{border-color:color-mix(in srgb,var(--danger) 40%,var(--border))}.toolbar .status-text.status-warning:hover:after{border-color:color-mix(in srgb,var(--warning) 40%,var(--border))}.toolbar .toggle-btn{opacity:.4}.toolbar .toggle-btn.active{opacity:1}.toolbar-spacer{flex:1 1 0;min-width:0}.toolbar-spacer-half{flex:.5 1 0;min-width:0}.toolbar-status-slot{display:flex;align-items:center}.toolbar .toolbar-overflow-btn{display:none}@media(max-width:599px){.toolbar .toolbar-collapsible{display:none}.toolbar .toolbar-overflow-btn{display:inline-flex}}.sidebar{grid-row:2 / -1;display:flex;flex-direction:column;background:var(--bg-sidebar);border-right:1px solid var(--border);overflow-y:auto;overflow-x:hidden;user-select:none}.sidebar-header{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 12px;font-size:var(--font-size-sm);letter-spacing:.5px;color:var(--text-muted)}.sidebar-header-buttons{display:flex;gap:2px}.sidebar-header-sep{width:1px;margin:2px;background:var(--border)}.sidebar-icon-btn{background:none;border:none;color:var(--text-muted);cursor:pointer;padding:4px 10px;border-radius:3px;display:flex;align-items:center}.sidebar-icon-btn:hover{color:var(--text-primary);background:var(--bg-hover)}.sidebar-icon-btn svg,.sidebar-icon-btn .codicon{display:block}.file-tree{list-style:none;flex:1 1 auto;min-height:0}.sidebar.drag-over-root .file-tree{background:var(--accent-soft);outline:2px dashed var(--accent);outline-offset:-2px}.file-tree li{cursor:pointer}.file-tree-item{display:flex;align-items:center;padding:6px 12px;gap:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.file-tree-item:hover{background:var(--bg-hover)}.file-tree-item.active{background:var(--bg-active);color:var(--accent)}.file-tree-item.active-ancestor{color:var(--accent)}.file-tree-item.dirty .file-name:after{content:" •";color:var(--dirty)}.file-tree-item.has-errors .file-name:after{content:" ●";color:var(--danger);font-size:var(--font-size-sm)}.file-tree-item.drag-over{background:var(--bg-hover);outline:1px dashed var(--accent)}.file-tree-item .icon{flex-shrink:0;width:16px;text-align:center;font-size:var(--font-size-base)}.file-tree-item .icon.codicon{font-size:var(--font-size-lg);line-height:1}.file-tree-item .file-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.file-tree-item .file-notice{flex:0 1 auto;min-width:0;max-width:min(60%,32ch);overflow:hidden;text-overflow:ellipsis;margin-left:6px;padding:1px 6px;border-radius:999px;font-size:var(--font-size-sm);line-height:1.2;white-space:nowrap}.file-tree-item .file-notice-count{flex:0 0 auto;overflow:visible;max-width:none}.file-tree-item .file-notice-warning{background:color-mix(in srgb,var(--warning) 25%,transparent);color:var(--warning);border:1px solid color-mix(in srgb,var(--warning) 30%,transparent)}.file-tree-item .file-notice-error{background:color-mix(in srgb,var(--danger) 25%,transparent);color:var(--danger);border:1px solid color-mix(in srgb,var(--danger) 30%,transparent)}.file-tree .children{list-style:none;padding-left:12px}.inline-rename{background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--accent);padding:1px 4px;font-size:var(--font-size-base);font-family:inherit;outline:none;width:100%}.context-menu{position:fixed;background:var(--bg-dialog);border:1px solid var(--border);border-radius:6px;padding:4px 0;min-width:160px;box-shadow:0 4px 12px var(--shadow-color);z-index:1000}.context-menu-item{display:flex;align-items:center;padding:6px 16px;cursor:pointer;color:var(--text-primary)}.context-menu-item.disabled{color:var(--text-muted);cursor:default}.context-menu-item:hover{background:var(--bg-hover)}.context-menu-item.disabled:hover{background:transparent}.context-menu-item.danger{color:var(--danger)}.context-submenu{position:fixed}.context-menu-item .submenu-arrow{margin-left:auto;padding-left:12px;font-size:12px}.context-menu-separator{height:1px;margin:4px 0;background:var(--border)}dialog{background:var(--bg-dialog);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;padding:20px;width:fit-content;box-shadow:0 8px 24px var(--shadow-color)}dialog.dialog-popup{position:fixed;z-index:1000;margin:0;max-width:min(420px,calc(100vw - 16px));max-height:calc(100vh - 16px);overflow:auto}dialog.dialog-centered{left:50%;top:50%;transform:translate(-50%,-50%)}dialog::backdrop{background:var(--backdrop-color)}dialog h3{margin-bottom:12px;font-size:var(--font-size-lg);white-space:pre-line}dialog .progress-bar{width:100%;height:6px;appearance:none;border:none;border-radius:3px;background:var(--bg-primary)}dialog .progress-bar::-webkit-progress-bar{background:var(--bg-primary);border-radius:3px}dialog .progress-bar::-webkit-progress-value{background:var(--accent);border-radius:3px}dialog .progress-text{font-size:var(--font-size-sm);color:var(--text-muted);margin-top:4px}dialog input[type=text]{width:100%;padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:var(--font-size-base);outline:none}dialog input[type=text]:focus{border-color:var(--accent)}.dialog-input-row{display:flex;align-items:center;gap:2px}.dialog-input-row input{flex:1;min-width:0}.dialog-suffix{color:var(--text-muted);font-size:var(--font-size-base);white-space:nowrap}.dialog-warn{display:block;min-height:1.2em;margin-top:4px;font-size:var(--font-size-sm);color:var(--danger)}dialog .dialog-buttons{display:flex;justify-content:flex-end;gap:8px;margin-top:16px}dialog button{padding:6px 16px;border-radius:4px;border:1px solid var(--border);background:var(--bg-hover);color:var(--text-primary);cursor:pointer;font-size:var(--font-size-base)}dialog button:disabled{opacity:.15;cursor:default}dialog button.primary{background:var(--accent);color:var(--bg-toolbar);border-color:var(--accent)}.select-list{max-height:300px;overflow-y:auto;margin:8px 0}.select-item{padding:6px 12px;cursor:pointer;border-radius:4px;color:var(--text-primary)}.select-item:hover{background:var(--bg-hover)}.dialog-separator{margin:14px 0;border:0;border-top:1px solid var(--border)}.dialog-radio-group{display:flex;flex-direction:column}.dialog-radio-option{display:flex;align-items:center;gap:8px;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;padding:4px 0}.dialog-radio-option input[type=radio]{margin:0}.dialog-radio-option:has(input:disabled){color:var(--text-muted)}.export-dialog{width:fit-content}.about-dialog{min-width:min(840px,calc(100vw - 24px));max-width:min(840px,calc(100vw - 24px));max-height:calc(100vh - 24px);overflow:auto}.about-dialog .dialog-buttons{position:sticky;bottom:0;margin-top:0;padding-top:12px}.about-header{display:flex;align-items:center;gap:16px;margin-bottom:16px}.about-logo{width:72px;height:72px;object-fit:contain;flex:0 0 auto}.about-summary h2{margin:0 0 6px;font-size:var(--font-size-xl)}.about-summary p{margin:0;color:var(--text-secondary)}.about-meta{display:grid;gap:8px;margin-bottom:16px}.about-meta-row{display:grid;grid-template-columns:8em 1fr;gap:12px;align-items:start}.about-meta-label{color:var(--text-muted)}.about-licenses{display:grid;grid-template-columns:220px minmax(0,1fr);gap:16px}.about-license-list h3{margin:0 0 10px}.about-license-buttons{display:flex;flex-direction:column;gap:8px}.about-license-button{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:2px;text-align:left;background:var(--bg-dialog)}.about-license-button.active{border-color:var(--accent);background:var(--bg-active)}.about-license-button-label{color:var(--text-primary)}.about-license-button-caption{font-size:var(--font-size-sm);color:var(--text-muted)}.about-license-viewer{min-width:0;display:flex;flex-direction:column;gap:10px;min-height:0}.about-license-title{color:var(--text-secondary);opacity:0}.about-license-text{margin:0;padding:12px;min-height:0;flex:0 0 auto;overflow:auto;background:var(--bg-dialog);border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-family:var(--font-code);font-size:var(--font-size-sm);line-height:1.45;white-space:pre-wrap}@media(max-width:720px){.about-dialog{min-width:min(520px,calc(100vw - 16px));max-width:min(520px,calc(100vw - 16px))}.about-licenses{grid-template-columns:1fr;min-height:0}.about-license-viewer{min-height:280px}}.scope-label{display:inline-flex;align-items:center;gap:4px}.brand-menu{padding:4px 0;min-width:160px}.brand-menu-list{display:flex;flex-direction:column}.brand-menu-item{display:flex;align-items:center;gap:8px;padding:6px 16px;background:none;border:none;color:var(--text-primary);font-size:var(--font-size-base);cursor:pointer;text-align:left;white-space:nowrap}.brand-menu-item:hover{background:var(--bg-hover)}.brand-menu-item .codicon{color:inherit}.overflow-menu{padding:4px 0;min-width:180px}.overflow-menu-list{display:flex;flex-direction:column}.overflow-menu-section{padding:6px 16px 2px;font-size:var(--font-size-sm);color:var(--text-muted);user-select:none}.overflow-menu-check{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer;user-select:none}.overflow-menu-check:hover{background:var(--bg-hover)}.overflow-menu-check input[type=checkbox]{margin:0;accent-color:var(--accent)}.reset-project-message{margin:0 0 4px;color:var(--text-secondary);font-size:var(--font-size-base);line-height:1.5}dialog button.backup-btn{display:flex;align-items:center;justify-content:center;gap:6px}dialog button.danger-btn{background:var(--danger);color:#fff;border-color:var(--danger)}.share-dialog{min-width:min(620px,calc(100vw - 24px));max-width:min(620px,calc(100vw - 24px))}.share-terms{margin-bottom:12px;border:1px solid var(--border);border-radius:4px;padding:10px 12px;background:var(--bg-primary)}.share-terms-heading{font-size:var(--font-size-base);color:var(--text-primary);margin-bottom:6px}.share-terms-text{font-size:var(--font-size-sm);color:var(--text-secondary);line-height:1.8}.share-terms-text strong{padding-left:2rem}.share-terms-text:last-of-type{margin-bottom:8px}.share-terms-accept{display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer;font-size:var(--font-size-base);color:var(--text-primary);user-select:none}.share-terms-accept input{margin:0;accent-color:var(--accent)}.share-file-list{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}.share-file-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:4px;cursor:pointer;font-size:var(--font-size-base)}.share-file-row:hover{background:var(--bg-hover)}.share-file-row input[type=checkbox]{margin:0;flex-shrink:0}.share-file-row .codicon{flex-shrink:0;color:inherit}.share-file-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-file-size{flex-shrink:0;color:var(--text-muted);font-size:var(--font-size-sm);font-variant-numeric:tabular-nums}.share-optional-row{border-top:1px solid var(--border);margin-top:4px;padding-top:8px}.share-size-bar{display:flex;align-items:center;gap:8px;margin:12px 0 8px}.share-size-bar progress{flex:1;height:6px;appearance:none;border:none;border-radius:3px;background:var(--bg-primary)}.share-size-bar progress::-webkit-progress-bar{background:var(--bg-primary);border-radius:3px}.share-size-bar progress::-webkit-progress-value{background:var(--accent);border-radius:3px}.share-size-text{flex-shrink:0;font-size:var(--font-size-sm);color:var(--text-muted);font-variant-numeric:tabular-nums}.share-size-over{color:var(--danger)}.share-message{color:var(--text-secondary);font-size:var(--font-size-base);margin:8px 0 0}.share-error{color:var(--danger);font-size:var(--font-size-sm);word-break:break-all}.share-url-row{margin-bottom:12px}.share-url-row label{display:block;font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.share-url-input-row{display:flex;gap:4px}.share-url-input-row input[type=text]{flex:1;min-width:0;font-size:var(--font-size-sm);font-family:var(--font-code)}.share-url-input-row button{flex-shrink:0}.share-hint{font-size:var(--font-size-sm);color:var(--text-muted);margin:4px 0 0}.delete-page{grid-column:1 / -1;grid-row:1 / -1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;color:var(--text-primary);background:var(--bg-primary)}.delete-card{background:var(--bg-dialog);border:1px solid var(--border);border-radius:8px;padding:24px;width:100%;max-width:420px;box-shadow:0 8px 24px var(--shadow-color)}.delete-card h2{margin:0 0 16px;font-size:var(--font-size-xl)}.delete-card label{display:block;font-size:var(--font-size-sm);color:var(--text-muted);margin-bottom:4px}.delete-card input[type=text]{width:100%;padding:6px 10px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;font-size:var(--font-size-base);font-family:var(--font-code);outline:none;margin-bottom:12px;box-sizing:border-box}.delete-card input[type=text]:focus{border-color:var(--accent)}.delete-card .delete-status{font-size:var(--font-size-sm);margin-top:8px;min-height:1.2em}.delete-card .delete-status.success{color:var(--success)}.delete-card .delete-status.error{color:var(--danger)}.delete-action-btn{width:100%;padding:8px 16px;border-radius:4px;border:1px solid var(--danger);background:var(--danger);color:#fff;cursor:pointer;font-size:var(--font-size-base)}.delete-action-btn:disabled{opacity:.4;cursor:default}.monaco-editor .mml-playback-highlight{background:var(--playback-highlight-bg);border:1px solid var(--playback-highlight-border);border-radius:2px;box-sizing:border-box;box-shadow:0 0 8px var(--playback-highlight-glow)}.monaco-editor .mml-playback-highlight-text{color:var(--playback-highlight-text)!important;text-shadow:0 0 8px var(--playback-highlight-text-glow),0 0 2px var(--playback-highlight-text-outline)}.resize-handle-h{grid-column:3;height:4px;cursor:row-resize;background:var(--border);position:relative;touch-action:none}.resize-handle-h:after{content:"";position:absolute;inset:-8px 0}.resize-handle-h:hover{background:var(--accent)}.piano-roll-container{grid-column:3;display:flex;flex-direction:column;height:200px;overflow:hidden;position:relative;background:var(--piano-roll-panel-bg)}.piano-roll-legend{display:flex;flex-wrap:wrap;gap:2px 6px;padding:3px 8px;background:var(--bg-toolbar);border-bottom:1px solid var(--border);user-select:none;flex-shrink:0}.piano-roll-ch-btn{display:inline-flex;align-items:center;gap:4px;padding:0 2px;border:none;border-radius:3px;cursor:pointer;background:none;color:var(--text-muted);opacity:.4;font-size:var(--font-size-sm);line-height:18px}.piano-roll-ch-btn.active{opacity:1;color:var(--text-secondary)}.piano-roll-ch-btn:hover{opacity:.7}.piano-roll-ch-btn.active:hover{opacity:.85}.piano-roll-ch-btn .ch-letter{display:inline-flex;align-items:center;justify-content:center;width:16px;background:var(--text-muted);color:var(--bg-toolbar);font-size:var(--font-size-sm);font-weight:600;flex-shrink:0}.piano-roll-ch-btn.active .ch-letter{background:var(--ch-color)}.piano-roll-ch-btn.playing .ch-letter{filter:brightness(1.3);box-shadow:0 0 4px var(--ch-color)}.piano-roll-ch-btn.attack .ch-letter{filter:brightness(2.5);box-shadow:0 0 10px var(--ch-color);transition:none}.piano-roll-ch-btn.playing:not(.attack) .ch-letter{transition:filter .07s ease-out,box-shadow .07s ease-out}.piano-roll-ch-btn .ch-desc{font-size:var(--font-size-sm);color:var(--text-muted)}.piano-roll-ch-btn.active .ch-desc{color:var(--text-secondary)}.piano-roll-viewport{flex:1;min-height:0;overflow:auto;position:relative;transition:opacity .15s ease-out}.piano-roll-sizer{position:relative}.piano-roll-grid{position:sticky;top:0;left:0;z-index:0;pointer-events:none}.piano-roll-notes{position:absolute;top:0;left:0;width:100%;height:100%;z-index:1;transform:translateZ(0);pointer-events:none}.piano-roll-note{position:absolute;z-index:1;border-radius:1px;border:.5px solid var(--piano-roll-note-border);box-sizing:border-box}.piano-roll-note.playing{filter:brightness(1.8);z-index:2;box-shadow:0 0 6px currentColor}.piano-roll-note.attack{filter:brightness(2.6);z-index:3;box-shadow:0 0 12px currentColor;transition:none}.piano-roll-note.playing:not(.attack){transition:filter .12s ease-out,box-shadow .12s ease-out}.piano-roll-cursor{position:absolute;top:0;width:2px;background:var(--piano-roll-cursor);box-shadow:0 0 6px var(--piano-roll-cursor-glow);z-index:3;pointer-events:none}.piano-roll-edit-cursor{position:absolute;top:0;width:1px;border-left:1px dashed var(--piano-roll-edit-cursor);box-shadow:0 0 4px var(--piano-roll-edit-cursor-glow);z-index:2;pointer-events:none;opacity:.95}.piano-roll-loop-marker{position:absolute;pointer-events:none;z-index:1}.piano-roll-loop-marker.loop-start{border-left:1.5px solid}.piano-roll-loop-marker.loop-end{border-left:1.5px dashed}.piano-roll-loop-label{position:absolute;top:-14px;display:block;font:10px sans-serif;white-space:nowrap;padding:1px 3px;opacity:.8;line-height:12px}.piano-roll-loop-marker.loop-end .piano-roll-loop-label{transform:translate(-100%)}.piano-roll-follow-btn{position:absolute;top:33px;right:8px;z-index:4;width:24px;height:24px;display:flex;align-items:center;justify-content:center;border:none;border-radius:4px;background:var(--bg-toolbar);color:var(--piano-roll-cursor);cursor:pointer;opacity:.8;box-shadow:0 1px 4px #0006}.piano-roll-follow-btn:hover{opacity:1;background:var(--accent)}.piano-roll-empty{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--piano-roll-empty-text);font:13px sans-serif;pointer-events:none}.fm-editor-container{padding:16px 0;display:flex;flex-direction:column;gap:12px;min-width:0}.fm-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--font-size-base);padding:0 12px}.fm-editor-container.is-read-only input[type=range],.fm-editor-container.is-read-only input[type=checkbox]{cursor:default}.fm-editor-container.is-read-only input[type=range]{opacity:.8}.fm-editor-container.is-read-only input[type=range]::-webkit-slider-thumb{background:var(--text-muted);cursor:default}.fm-editor-container.is-read-only .fm-editor-am-toggle,.fm-editor-container.is-read-only .fm-editor-check-row{cursor:default}.fm-editor-algorithm{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.fm-editor-algorithm>div{margin:0 12px}.fm-editor-algorithm-row{display:flex;align-items:center;gap:6px}.fm-editor-algorithm-row label{color:var(--text-muted);font-size:var(--font-size-sm);min-width:28px}.fm-editor-algorithm-row input[type=range]{flex:1;min-width:0;height:16px;appearance:none;-webkit-appearance:none;background:var(--border);border-radius:2px;outline:none;cursor:pointer}.fm-editor-algorithm-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--text-secondary);cursor:pointer}.fm-editor-algorithm-row input[type=range]::-webkit-slider-thumb:hover{background:var(--accent)}.fm-editor-algorithm-row .fm-editor-value{color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-code);min-width:16px;text-align:right}.fm-editor-alg-diagram{height:56px;display:flex;align-items:center;justify-content:center}.fm-editor-alg-diagram svg{width:100%;max-width:220px;height:56px}.fm-editor-operators{display:grid;gap:8px;min-width:0;margin-top:3px}.fm-editor-operator>div{margin:0 12px}.fm-editor-operators.cols-1{grid-template-columns:1fr}.fm-editor-operators.cols-2{grid-template-columns:1fr 1fr}.fm-editor-operator{padding:6px 0;display:flex;flex-direction:column;gap:6px;border-top:1px solid var(--border);min-width:0;overflow:hidden}.fm-editor-op-header{display:flex;align-items:center;gap:6px}.fm-editor-op-label{flex:1;font-size:var(--font-size-sm);color:var(--text-muted);font-weight:600}.fm-editor-am-toggle{display:flex;align-items:center;gap:4px;font-size:var(--font-size-sm);color:var(--text-muted);cursor:pointer}.fm-editor-am-toggle input[type=checkbox]{margin:0}.fm-editor-fb-spacer{display:none}.fm-editor-operators.cols-2 .fm-editor-fb-spacer{display:block;height:16px}.fm-editor-envelope{display:flex;gap:4px;align-items:stretch;min-width:0;overflow:hidden;position:relative}.fm-editor-envelope-canvas{flex:1 1 0;min-width:0;max-width:100%;height:86px;border:1px solid var(--border);background:var(--bg-primary);margin:13px 0 17px}.fm-editor-operator.carrier .fm-editor-envelope-canvas{border-color:var(--fm-carrier)}.fm-editor-op-tag{position:absolute;top:-2px;right:0;font-size:var(--font-size-sm);font-weight:400;pointer-events:none;z-index:1}.fm-editor-op-tag.tag-carrier{color:var(--fm-carrier)}.fm-editor-op-tag.tag-mod{color:var(--text-muted);opacity:.6}.fm-editor-vsliders{display:flex;gap:5px;flex-shrink:0}.fm-editor-vslider-col{display:flex;flex-direction:column;align-items:center;gap:1px;width:18px}.fm-editor-vslider-col label{font-size:var(--font-size-sm);color:var(--text-muted);line-height:1}.fm-editor-vslider-col .fm-editor-vslider-value{font-size:var(--font-size-sm);color:var(--text-primary);font-family:var(--font-code);line-height:1}.fm-editor-vslider{writing-mode:vertical-lr;width:100%;height:86px;appearance:none;-webkit-appearance:none;background:var(--fm-slider-color);outline:none;cursor:pointer}.fm-editor-vslider::-webkit-slider-thumb{-webkit-appearance:none;width:18px;height:6px;background:var(--text-secondary);cursor:pointer}.fm-editor-vslider-col.tl,.fm-editor-vslider-col.tl .fm-editor-vslider::-webkit-slider-thumb{width:28px}.fm-editor-vslider::-webkit-slider-thumb:hover{background:var(--accent)}.fm-editor-params{display:flex;flex-direction:column;gap:3px}.fm-editor-param-row{display:flex;align-items:center;gap:6px}.fm-editor-param-row label{color:var(--text-muted);font-size:var(--font-size-sm);min-width:22px}.fm-editor-param-row input[type=range]{flex:1;min-width:0;height:16px;appearance:none;-webkit-appearance:none;background:var(--fm-slider-color);outline:none;cursor:pointer}.fm-editor-param-row input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:16px;height:16px;background:var(--text-secondary);cursor:pointer}.fm-editor-param-row input[type=range]::-webkit-slider-thumb:hover{background:var(--accent)}.fm-editor-param-row .fm-editor-value{color:var(--text-primary);font-size:var(--font-size-sm);font-family:var(--font-code);min-width:24px;text-align:right}.fm-editor-check-row{display:flex;align-items:center;gap:6px;font-size:var(--font-size-sm);color:var(--text-secondary)}.fm-editor-check-row input[type=checkbox]{margin:0}.fm-editor-ssg{display:flex;flex-direction:column;gap:3px}.fm-editor-ssg-canvas{width:100%;height:40px;border:1px solid var(--border);background:var(--bg-primary)}.psg-editor-container{padding:16px 0;display:flex;flex-direction:column;gap:10px;min-width:0}.psg-editor-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--text-muted);font-size:var(--font-size-base)}.psg-editor-header{margin:0 12px}.psg-editor-label{font-size:var(--font-size-sm);font-weight:600;color:var(--text-muted);font-family:var(--font-code)}.psg-editor-canvas{display:block;width:100%;height:200px;background:var(--bg-primary);box-sizing:border-box}.psg-editor-nodes{display:flex;flex-direction:column;gap:0}.psg-node-row{display:flex;align-items:center;gap:8px;padding:4px 12px;border-top:1px solid var(--border)}.psg-node-index{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-code);min-width:18px;text-align:right;flex-shrink:0}.psg-node-value{font-size:var(--font-size-sm);font-family:var(--font-code);color:var(--text-primary);flex:1;min-width:0}.psg-node-len{font-size:var(--font-size-sm);font-family:var(--font-code);color:var(--text-muted);flex-shrink:0;text-align:right}.psg-separator-row{display:flex;align-items:center;padding:3px 12px;gap:6px;border-top:1px solid var(--border)}.psg-separator-row:before,.psg-separator-row:after{content:"";flex:1;height:1px}.psg-separator-sustain{background:color-mix(in srgb,var(--warning) 8%,transparent)}.psg-separator-sustain:before,.psg-separator-sustain:after{background:var(--warning);opacity:.4}.psg-separator-loop{background:color-mix(in srgb,var(--accent) 6%,transparent)}.psg-separator-loop:before,.psg-separator-loop:after{background:var(--accent);opacity:.4}.psg-separator-label{font-size:var(--font-size-sm);font-family:var(--font-code);flex-shrink:0}.psg-separator-sustain .psg-separator-label{color:var(--warning)}.psg-separator-loop .psg-separator-label{color:var(--accent)}.preview-keyboard{flex-shrink:0;background:var(--bg-sidebar);border-top:1px solid var(--border);user-select:none;touch-action:none}.preview-keyboard *:focus{outline:none}.pk-toolbar{display:flex;align-items:center;padding:2px 4px;gap:4px}.pk-octave-input,.pk-layout-select{font-size:11px;padding:1px 2px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer}.pk-toolbar-label{font-size:10px;color:var(--text-secondary);margin-left:4px}.pk-op-toggles{display:flex;gap:1px;margin-right:4px}.pk-op-toggle{font-size:10px;font-family:var(--font-code);line-height:1;min-width:18px;padding:2px 0;border:1px solid var(--border);border-radius:2px;background:transparent;color:var(--text-muted);cursor:pointer;opacity:.5;text-align:center}.pk-op-toggle.active{color:var(--text-primary);background:var(--bg-hover);opacity:1}.pk-psg-mode{display:flex;align-items:center}.pk-psg-mode-select{font-size:10px;padding:1px 2px;background:var(--bg-primary);color:var(--text-primary);border:1px solid var(--border);border-radius:3px;cursor:pointer}.pk-keys-wrap{position:relative;height:60px;padding:0 4px 4px;outline:none}.pk-white-keys{display:flex;height:100%;position:relative}.pk-key.pk-white{flex:1;background:var(--pk-white);border-radius:0 0 3px 3px;cursor:pointer;position:relative;z-index:1;border:.5px solid var(--border)}.pk-key.pk-white:hover{background:var(--pk-white-hover)}.pk-key.pk-white.active{background:var(--accent)}.pk-black-keys{display:flex;position:absolute;top:0;left:0;right:0;height:55%;pointer-events:none;z-index:2}.pk-key.pk-black{width:calc(100% / 7 * .6);background:var(--pk-black);border-radius:0 0 2px 2px;cursor:pointer;pointer-events:auto;position:absolute;height:100%}.pk-key.pk-black:hover{background:var(--pk-black-hover)}.pk-key.pk-black.active{background:var(--accent)}.pk-key.pk-black[data-note="C#"]{left:10%}.pk-key.pk-black[data-note="D#"]{left:calc(100% / 7 * 2 - 100% / 7 * .3)}.pk-key.pk-black[data-note="F#"]{left:calc(100% / 7 * 4 - 100% / 7 * .3)}.pk-key.pk-black[data-note="G#"]{left:calc(100% / 7 * 5 - 100% / 7 * .3)}.pk-key.pk-black[data-note="A#"]{left:calc(100% / 7 * 6 - 100% / 7 * .3)}.pk-label{display:none;position:absolute;bottom:2px;left:50%;transform:translate(-50%);font-size:9px;font-weight:700;line-height:1;pointer-events:none}.pk-key.pk-white .pk-label{color:var(--pk-label-white)}.pk-key.pk-black .pk-label{color:var(--pk-label-black);bottom:auto;top:50%;transform:translate(-50%,-50%)}.preview-keyboard.focused .pk-label{display:block}.license-editor-container{padding:12px;display:flex;flex-direction:column;gap:12px;font-size:var(--font-size-base);overflow-y:auto;height:100%}.license-editor-fieldset{border:1px solid var(--border);border-radius:4px;padding:8px 12px 12px;margin:0}.license-editor-fieldset legend{font-size:var(--font-size-sm);color:var(--text-muted);padding:0 4px;letter-spacing:.3px}.license-editor-radio,.license-editor-checkbox{display:flex;align-items:center;gap:6px;padding:3px 0;cursor:pointer;color:var(--text-secondary);font-size:var(--font-size-base);user-select:none}.license-editor-radio:hover,.license-editor-checkbox:hover{color:var(--text-primary)}.license-editor-radio input,.license-editor-checkbox input{margin:0;accent-color:var(--accent)}.license-editor-cc-options{margin-left:20px;display:flex;flex-direction:column;gap:1px}.license-editor-other-input{margin-left:20px;margin-top:4px;width:calc(100% - 20px)}.license-editor-text-row{display:flex;align-items:center;gap:8px;padding:3px 0}.license-editor-text-label{flex:0 0 auto;min-width:80px;font-size:var(--font-size-sm);color:var(--text-muted)}.license-editor-text-input{flex:1;min-width:0;padding:3px 6px;font-size:var(--font-size-base);font-family:var(--font-code);background:var(--bg-input, var(--bg-primary));color:var(--text-primary);border:1px solid var(--border);border-radius:3px;outline:none}.license-editor-text-input:focus{border-color:var(--accent)}.license-editor-preview{margin-top:6px;padding:6px 8px;font-family:var(--font-code);font-size:var(--font-size-sm);color:var(--text-primary);background:var(--bg-primary);border-radius:3px;white-space:pre-wrap;word-break:break-all}.license-editor-cc-link{display:block;margin-top:2px;font-size:var(--font-size-xs);color:var(--accent);text-decoration:none;opacity:.8}.license-editor-cc-link:hover{text-decoration:underline;opacity:1}.license-editor-write-btn{align-self:flex-end;padding:4px 16px;font-size:var(--font-size-base);background:var(--accent);color:var(--bg-primary);border:none;border-radius:4px;cursor:pointer}.license-editor-write-btn:hover{opacity:.9}.help-panel{display:flex;flex-direction:column-reverse;height:100%;min-height:0;font-size:var(--font-size-base)}.help-panel.layout-row{flex-direction:row}.help-panel-list{overflow-y:auto;flex:3;min-height:0;border-top:1px solid var(--border);padding:0 0 24px}.layout-row .help-panel-list{border-top:none;border-right:1px solid var(--border);flex:none}.help-panel-section{position:sticky;top:0;z-index:1;padding:12px;font-size:var(--font-size-sm);color:var(--text-muted);letter-spacing:.3px;user-select:none;background:var(--bg-sidebar)}.help-panel-section:not(:first-child){margin-top:6px;border-top:1px solid var(--border)}.help-panel-item{padding:3px 12px;cursor:pointer;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-family:var(--font-code);font-size:var(--font-size-sm);line-height:1.6}.help-panel-item:hover{background:var(--bg-hover);color:var(--text-primary)}.help-panel-item.active{background:var(--bg-active);color:var(--text-primary)}.help-panel-detail{flex:1;overflow-y:auto;padding:12px;min-height:0}.layout-row .help-panel-detail{flex:1}.help-panel-detail-label{font-family:var(--font-code);font-size:var(--font-size-lg);font-weight:600;color:var(--text-primary);margin-bottom:8px}.help-panel-detail-doc{color:var(--text-secondary);font-family:var(--font-code);font-size:var(--font-size-base);line-height:1.8;white-space:pre-line}.help-panel-detail-empty{color:var(--text-muted);font-size:var(--font-size-sm);padding:12px}.audio-player-container{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg-primary);z-index:1}.audio-player-icon{font-size:48px;color:var(--text-muted)}.audio-player-icon .codicon{font-size:48px}.audio-player-label{font-size:var(--font-size-lg);color:var(--text-secondary)}.audio-player-controls{display:flex;gap:8px}.audio-player-controls button{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);padding:8px 20px;border-radius:4px;cursor:pointer;font-size:var(--font-size-base);display:inline-flex;align-items:center;gap:6px}.audio-player-controls button:hover{background:var(--bg-active)}.audio-player-info{font-size:var(--font-size-base);color:var(--text-muted);font-family:var(--font-code)}.wav-settings-container{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;background:var(--bg-primary);z-index:1;overflow-y:auto;padding:20px}.wav-settings-icon{font-size:48px;color:var(--text-muted)}.wav-settings-icon .codicon{font-size:48px}.wav-settings-label{font-size:var(--font-size-lg);color:var(--text-secondary)}.wav-settings-section{display:flex;align-items:baseline;gap:12px}.wav-settings-section-label{font-size:var(--font-size-base);color:var(--text-muted);min-width:70px;text-align:right}.wav-settings-radio-group{display:flex;gap:16px}.wav-settings-radio{font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:4px}.wav-settings-rate-group{display:flex;flex-direction:column;gap:4px}.wav-settings-rate-option{font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:8px}.wav-settings-rate-text{min-width:72px}.wav-settings-rate-driver{font-size:var(--font-size-sm);color:var(--text-muted)}.wav-settings-custom-rate{width:64px;background:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);padding:2px 6px;border-radius:3px;font-size:var(--font-size-base);font-family:var(--font-code)}.wav-settings-custom-rate::-webkit-inner-spin-button{-webkit-appearance:none}.wav-settings-range-hint{font-size:var(--font-size-sm);color:var(--danger);padding-left:24px}.wav-settings-preview-block{display:flex;flex-direction:column;align-items:center;gap:2px}.wav-settings-preview-btn{background:var(--bg-hover);border:1px solid var(--border);color:var(--text-primary);padding:8px 20px;border-radius:4px;cursor:pointer;font-size:var(--font-size-base);min-width:180px;display:inline-flex;align-items:center;justify-content:center;gap:6px}.wav-settings-preview-btn:hover:not(:disabled){background:var(--bg-active)}.wav-settings-preview-btn:disabled{opacity:.4;cursor:default}.wav-settings-preview-info{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-code)}.wav-settings-preview-block.disabled{opacity:.4}.image-viewer-container{position:absolute;inset:0;z-index:1;background-color:var(--bg-primary);display:flex;align-items:center;justify-content:center}.image-viewer-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat}.image-viewer-bg[data-fit=cover]{background-size:cover}.image-viewer-bg[data-fit=contain]{background-size:contain}.image-viewer-bg[data-fit=fill]{background-size:100% 100%}.image-viewer-bg[data-fit=none]{background-size:auto}.image-viewer-controls{position:relative;display:flex;flex-direction:column;gap:10px;background:var(--bg-dialog);border:1px solid var(--border);border-radius:8px;padding:16px 20px;box-shadow:0 8px 24px var(--shadow-color);color:var(--text-primary);pointer-events:auto;user-select:none}.image-viewer-section{display:flex;align-items:center;justify-content:center;gap:10px}.image-viewer-section-label{font-size:var(--font-size-base);color:var(--text-muted);text-align:right}.image-viewer-radio-group{display:flex;gap:12px}.image-viewer-radio{font-size:var(--font-size-base);color:var(--text-primary);cursor:pointer;display:flex;align-items:center;gap:4px}.image-viewer-radio input[type=radio]{margin:0}.image-viewer-position-row{display:flex;align-items:center;justify-content:center;gap:12px}.image-viewer-select-group{display:flex;align-items:center;gap:6px}.image-viewer-select-group label{font-size:var(--font-size-base);color:var(--text-muted)}.image-viewer-select-group select{background:var(--bg-primary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);padding:2px 6px;font-size:var(--font-size-base);font-family:inherit}.image-viewer-select-group select:focus{border-color:var(--accent);outline:none}.image-viewer-select-group select:disabled{opacity:.4;cursor:default}.image-viewer-select-group.disabled label{opacity:.4}.image-viewer-opacity-slider{flex:1;height:4px;cursor:pointer;accent-color:var(--accent)}.image-viewer-opacity-value{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-code);min-width:32px;text-align:right}.image-viewer-size-info{font-size:var(--font-size-sm);color:var(--text-muted);font-family:var(--font-code);text-align:center}
