:root,[data-theme=light]{--bg-app: #f0f0f2;--bg-panel: #ffffff;--bg-subpanel: #f6f6f8;--bg-elevated: #ffffff;--text-primary: #1a1a1a;--text-secondary: #444444;--text-muted: #888888;--border-subtle: #e0e0e2;--border-strong: #c0c0c4;--accent: #2563eb;--accent-contrast: #ffffff;--focus-ring: rgba(37, 99, 235, .4);--header-bg: #ffffff;--header-border: #e0e0e2;--header-height: 48px;--editor-bg: #ffffff;--editor-text: #1a1a1a;--editor-placeholder: #aaaaaa;--editor-border: #c8c8cc;--editor-caret: #1a1a1a;--editor-selection: rgba(37, 99, 235, .18);--editor-token-pitch: #1d6cd8;--editor-token-rhythm: #7c3aed;--editor-token-structural: #b45309;--editor-token-tag: #047857;--editor-token-modifier: #c2410c;--editor-token-muted: #9ca3af;--editor-token-header: #0f4bb8;--editor-token-header-value:#4b5563;--editor-diagnostic-error: #dc2626;--mc-link-active-bg: rgba(37, 99, 235, .42);--mc-link-editor-selection-bg: rgba(37, 99, 235, .34);--mc-link-preview-highlight-color: #1d4ed8;--mc-link-preview-highlight-opacity: .26;--mc-playback-highlight-color: #e67e00;--mc-playback-highlight-opacity: .35;--mc-playback-cursor-bg: rgba(230, 126, 0, .28);--mc-token-pitch-core: #1055c4;--mc-token-pitch-modifier: #4a7ec0;--mc-token-rhythm-core: #7c3aed;--mc-token-rhythm-count: #6d54b8;--mc-token-rhythm-dot: #6d54b8;--mc-token-tuplet: #5b4a96;--mc-token-rest: #707880;--mc-token-directive-name: #1a6060;--mc-token-directive-punctuation: #508070;--mc-token-directive-value: #2a6858;--mc-token-structure-keyword: #5a4090;--mc-token-structure-symbol: #7058a8;--mc-token-expression-keyword: #0a7070;--mc-token-dynamic: #1a6868;--mc-token-articulation: #808890;--mc-token-ornament: #808890;--mc-token-tie: #707880;--mc-token-comment: #a0a8b0;--mc-source-default: #4f5b66;--preview-bg: #fafafa;--preview-border: #dddde0;--status-bg: #f6f6f8;--status-border: #e0e0e2;--status-text: #888888;--status-ok-text: #15803d;--status-ok-bg: #f0fdf4;--status-ok-border: #bbf7d0;--status-err-text: #b91c1c;--status-err-bg: #fef2f2;--status-err-border:#fecaca;--status-draft-text:#92400e;--status-draft-bg: #fffbeb;--status-draft-border:#fde68a;--inspector-header-bg: #ebebed;--inspector-header-text: #555555;--inspector-panel-bg: #f8f8f9;--inspector-border: #e0e0e2;--tab-bg: #ebebed;--tab-bg-active: #ffffff;--tab-text: #555555;--tab-text-active: #1a1a1a;--debug-bg: #f8f8f9;--debug-border: #e0e0e2;--error-text: #b91c1c;--success-text: #15803d;--btn-bg: #e8e8ea;--btn-text: #1a1a1a;--btn-border: #c8c8cc;--btn-bg-hover: #d8d8da;--btn-aux-bg: transparent;--btn-aux-text: #666666;--btn-aux-border: #c8c8cc;--btn-aux-hover: #ebebed;--btn-primary-bg: #2563eb;--btn-primary-text: #ffffff;--btn-primary-hover:#1d4ed8;--scrollbar-track: #f1f3f5;--scrollbar-thumb: #c3c8d0;--scrollbar-thumb-hover: #9aa3af}[data-theme=dark]{--bg-app: #18181b;--bg-panel: #232327;--bg-subpanel: #1e1e22;--bg-elevated: #2c2c31;--text-primary: #e8e8ec;--text-secondary: #b0b0b8;--text-muted: #6b6b75;--border-subtle: #333338;--border-strong: #47474f;--accent: #60a5fa;--accent-contrast: #0f172a;--focus-ring: rgba(96, 165, 250, .4);--header-bg: #1f1f24;--header-border: #2e2e34;--editor-bg: #1e1e22;--editor-text: #d8d8e0;--editor-placeholder: #555560;--editor-border: #3a3a42;--editor-caret: #e8e8ec;--editor-selection: rgba(96, 165, 250, .22);--editor-token-pitch: #7dd3fc;--editor-token-rhythm: #c084fc;--editor-token-structural: #fbbf24;--editor-token-tag: #34d399;--editor-token-modifier: #fb923c;--editor-token-muted: #6b7280;--editor-token-header: #93c5fd;--editor-token-header-value:#b4bbc7;--editor-diagnostic-error: #f87171;--mc-link-active-bg: rgba(216, 180, 254, .58);--mc-link-editor-selection-bg: rgba(216, 180, 254, .44);--mc-link-preview-highlight-color: #d8b4fe;--mc-link-preview-highlight-opacity: .3;--mc-playback-highlight-color: #f5a623;--mc-playback-highlight-opacity: .45;--mc-playback-cursor-bg: rgba(245, 166, 35, .32);--mc-token-pitch-core: #7ec8f0;--mc-token-pitch-modifier: #5090b8;--mc-token-rhythm-core: #c084fc;--mc-token-rhythm-count: #a78bfa;--mc-token-rhythm-dot: #a78bfa;--mc-token-tuplet: #8b7cc8;--mc-token-rest: #808898;--mc-token-directive-name: #60c0b0;--mc-token-directive-punctuation: #408878;--mc-token-directive-value: #50a898;--mc-token-structure-keyword: #a898d8;--mc-token-structure-symbol: #8878b8;--mc-token-expression-keyword: #50c8b0;--mc-token-dynamic: #40b0a0;--mc-token-articulation: #606878;--mc-token-ornament: #606878;--mc-token-tie: #606878;--mc-token-comment: #505860;--mc-source-default: #9aa3b2;--preview-bg: #232327;--preview-border: #3a3a42;--status-bg: #1e1e22;--status-border: #333338;--status-text: #6b6b75;--status-ok-text: #4ade80;--status-ok-bg: #0f2318;--status-ok-border: #166534;--status-err-text: #f87171;--status-err-bg: #2a1010;--status-err-border:#7f1d1d;--status-draft-text:#fbbf24;--status-draft-bg: #1f1a0a;--status-draft-border:#78350f;--inspector-header-bg: #1c1c20;--inspector-header-text: #9090a0;--inspector-panel-bg: #1e1e22;--inspector-border: #333338;--tab-bg: #2a2a2f;--tab-bg-active: #232327;--tab-text: #8a8a96;--tab-text-active: #e8e8ec;--debug-bg: #1e1e22;--debug-border: #333338;--error-text: #f87171;--success-text: #4ade80;--btn-bg: #2e2e34;--btn-text: #d0d0d8;--btn-border: #3e3e46;--btn-bg-hover: #3a3a42;--btn-aux-bg: transparent;--btn-aux-text: #8888a0;--btn-aux-border: #3a3a42;--btn-aux-hover: #2a2a30;--btn-primary-bg: #2563eb;--btn-primary-text: #ffffff;--btn-primary-hover:#1d4ed8;--scrollbar-track: #171a22;--scrollbar-thumb: #4b5563;--scrollbar-thumb-hover: #6b7280}*,*:before,*:after{box-sizing:border-box}html,body{height:100%;overflow:hidden;margin:0}#root{height:100%;overflow:hidden}body{font-family:system-ui,-apple-system,sans-serif;font-size:14px;background:var(--bg-app);color:var(--text-primary);transition:background .15s ease,color .15s ease}.workbench{display:flex;flex-direction:column;height:100%;background:var(--bg-app);color:var(--text-primary);overflow:hidden}.workbench-header{display:flex;align-items:center;justify-content:flex-start;gap:0;padding:0 8px;min-height:48px;flex-shrink:0;background:var(--header-bg);border-bottom:1px solid var(--header-border);flex-wrap:wrap;z-index:10;overflow:visible}.workbench-main{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.main-split{display:flex;flex:1;min-height:0;overflow:hidden}.editor-pane{flex:0 0 calc(var(--editor-split-ratio, .38) * 100%);display:flex;flex-direction:column;min-width:120px;max-width:calc(var(--editor-split-ratio, .38) * 100%);min-height:0;overflow:hidden;background:var(--editor-bg)}.editor-pane--hidden{display:none}.main-split-resizer{flex:0 0 6px;width:6px;min-height:0;cursor:col-resize;background:transparent;border:0;-webkit-user-select:none;user-select:none;touch-action:none;position:relative;z-index:1}.main-split-resizer:before{content:"";position:absolute;inset:0 auto 0 50%;transform:translate(-50%);width:1px;background:var(--border-subtle);transition:width .1s ease,background .1s ease}.main-split-resizer:hover:before,.main-split-resizer:active:before,.main-split-resizer:focus-visible:before{width:2px;background:var(--accent)}.main-split--preview-focus .preview-pane-col{flex:1 1 100%}.preview-pane-col{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.preview-viewport{flex:1;min-height:0;overflow-y:auto;overflow-x:auto;background:var(--preview-bg);padding:4px 5px}.score-scale-control{position:relative;display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.score-scale-step{min-width:28px;justify-content:center;padding-inline:0}.score-scale-toggle{min-width:88px;justify-content:center}.score-scale-popover{position:absolute;left:0;bottom:calc(100% + 8px);display:flex;flex-direction:column;gap:6px;width:172px;padding:8px 10px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:0 8px 20px #0000002e;z-index:20}.score-scale-slider-label{font-size:11px;color:var(--text-secondary)}.score-scale-slider{width:100%;margin:0}.advanced-panel{flex-shrink:0;max-height:260px;overflow-y:auto;display:flex;flex-direction:column;background:var(--inspector-panel-bg);border-top:1px solid var(--inspector-border)}.advanced-panel-header{display:flex;align-items:center;gap:8px;padding:4px 12px;min-height:34px;flex-shrink:0;background:var(--inspector-header-bg);border-bottom:1px solid var(--inspector-border);flex-wrap:wrap}.advanced-panel-title{font-size:12px;font-weight:600;color:var(--inspector-header-text);white-space:nowrap;margin-right:4px}.advanced-panel-tabs{display:flex;align-items:center;gap:2px;flex:1}.advanced-tab{padding:3px 10px;font-size:12px;background:var(--tab-bg);color:var(--tab-text);border:1px solid var(--border-subtle);border-radius:3px;cursor:pointer;white-space:nowrap;transition:background .1s ease}.advanced-tab:hover{background:var(--btn-bg-hover)}.advanced-tab:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.advanced-tab--active{background:var(--tab-bg-active);color:var(--tab-text-active);font-weight:600;border-color:var(--border-strong)}.advanced-panel-close{margin-left:auto;padding:2px 8px;font-size:12px;background:transparent;border:none;border-radius:3px;cursor:pointer;color:var(--text-muted);transition:background .1s ease,color .1s ease;flex-shrink:0}.advanced-panel-close:hover{background:var(--bg-subpanel);color:var(--text-primary)}.advanced-panel-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.advanced-panel-body{flex:1;overflow-y:auto;padding:12px 16px}.advanced-tab-content{display:flex;flex-direction:column;gap:10px}.advanced-tab-content--debug{gap:0;padding:0;flex:1;min-height:0}.advanced-note{margin:0;font-size:11px;color:var(--text-muted);font-style:italic;line-height:1.5}.advanced-field-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.advanced-field-label{font-size:12px;font-weight:500;color:var(--text-secondary);white-space:nowrap;min-width:60px}.advanced-field-value{font-size:12px;color:var(--text-primary)}.advanced-bridge-status{font-size:12px;font-weight:500;color:var(--text-primary)}.advanced-bridge-status--ok{color:var(--status-ok-text)}.advanced-bridge-status--error{color:var(--status-err-text)}.advanced-btn-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.advanced-checkbox-label{display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-primary);cursor:pointer}.help-panel{flex-shrink:0;height:min(var(--help-panel-height, 320px),65vh);max-height:65vh;overflow:hidden;display:flex;flex-direction:column;background:var(--inspector-panel-bg);border-top:1px solid var(--inspector-border)}.help-panel-resizer{position:relative;height:6px;flex-shrink:0;cursor:row-resize;touch-action:none}.help-panel-resizer:before{content:"";position:absolute;left:0;right:0;top:3px;height:1px;background:var(--inspector-border)}.help-panel-resizer:hover:before,.help-panel-resizer:active:before,.help-panel-resizer:focus-visible:before{top:2px;height:2px;background:var(--accent)}.help-panel-header{display:flex;align-items:center;padding:4px 12px;min-height:34px;flex-shrink:0;gap:8px;background:var(--inspector-header-bg);border-bottom:1px solid var(--inspector-border)}.help-panel-title{font-size:12px;font-weight:600;color:var(--inspector-header-text);flex:1}.help-panel-close{margin-left:auto;padding:2px 8px;font-size:12px;background:transparent;border:none;cursor:pointer;color:var(--text-secondary);border-radius:3px;flex-shrink:0}.help-panel-close:hover{background:var(--bg-subpanel);color:var(--text-primary)}.help-panel-close:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.help-panel-body{flex:1;overflow-y:auto;padding:12px 16px;font-size:13px;color:var(--text-primary)}.help-section{margin-bottom:16px}.help-section:last-child{margin-bottom:0}.help-section-heading{font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-secondary);margin:0 0 6px}.help-para{margin:0 0 6px;line-height:1.5}.help-para:last-child{margin-bottom:0}.help-note{color:var(--text-secondary);font-size:12px}.help-code{font-family:var(--font-mono, monospace);font-size:12px;background:var(--bg-subpanel);border:1px solid var(--border-subtle);border-radius:4px;padding:8px 10px;margin:0 0 8px;white-space:pre;overflow-x:auto;line-height:1.5}.help-code-wrap{position:relative;margin:0 0 8px}.help-code-wrap .help-code{margin-bottom:0}.help-code-wrap--copyable .help-code{padding-right:58px}.help-tutorial-section{padding-top:12px;border-top:1px solid var(--border-subtle)}.help-subheading{margin:10px 0 6px;font-size:12px;font-weight:600;color:var(--text-primary)}.help-copy-btn{position:absolute;top:6px;right:6px;padding:3px 9px;border:1px solid var(--btn-border);border-radius:4px;background:var(--btn-bg);color:var(--btn-text);font-size:12px;cursor:pointer}.help-copy-btn:hover{background:var(--btn-bg-hover)}.help-copy-btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.help-quote{margin:8px 0;padding:8px 10px;border-left:3px solid var(--accent);background:var(--bg-subpanel);color:var(--text-primary);line-height:1.5}.help-table{width:100%;border-collapse:collapse;margin:8px 0 12px;font-size:12px}.help-table th,.help-table td{padding:5px 7px;border:1px solid var(--border-subtle);text-align:left;vertical-align:top}.help-table th{background:var(--bg-subpanel);color:var(--text-secondary);font-weight:600}.help-list{margin:0 0 6px;padding-left:20px;line-height:1.6}.help-list li{margin-bottom:2px}.help-link{color:var(--accent);text-decoration:none}.help-link:hover{text-decoration:underline}.help-manual{max-width:980px;padding-bottom:12px}.help-manual-heading{color:var(--text-primary);line-height:1.25}.help-manual-heading--h1{margin:0 0 10px;font-size:20px;font-weight:700}.help-manual-heading--h2{margin:18px 0 8px;padding-top:4px;font-size:16px;font-weight:700;border-top:1px solid var(--border-subtle)}.help-manual-heading--h3{margin:14px 0 6px;font-size:13px;font-weight:700;color:var(--text-secondary)}.help-manual-heading--h4{margin:12px 0 5px;font-size:12px;font-weight:700;color:var(--text-secondary)}.help-manual-para code,.help-manual-list code,.help-manual-table code{font-family:var(--font-mono, monospace);font-size:.92em;padding:1px 4px;border-radius:3px;background:var(--bg-subpanel);border:1px solid var(--border-subtle)}.help-manual-code{margin:8px 0 10px}.help-manual-table-wrap{overflow-x:auto;margin:8px 0 12px}.help-manual-table{min-width:420px;margin:0}.feedback-form{display:grid;grid-template-columns:minmax(180px,320px) minmax(260px,560px);gap:10px 14px;max-width:900px}.feedback-privacy{grid-column:1 / -1;margin-bottom:2px;color:var(--text-secondary)}.feedback-field{display:flex;flex-direction:column;gap:4px}.feedback-field:nth-of-type(2){grid-row:span 3}.feedback-label{font-size:12px;font-weight:600;color:var(--text-secondary)}.feedback-optional,.feedback-hint{font-size:11px;font-weight:400;color:var(--text-muted)}.feedback-control{width:100%;min-height:30px;padding:5px 8px;border:1px solid var(--border-strong);border-radius:4px;background:var(--bg-elevated);color:var(--text-primary);font:inherit}.feedback-control:focus{outline:2px solid var(--focus-ring);outline-offset:1px}.feedback-message{min-height:126px;resize:vertical;line-height:1.45}.feedback-error{font-size:12px;color:var(--status-err-text)}.feedback-success{font-size:12px;color:var(--status-ok-text)}.feedback-actions{grid-column:1 / -1;display:flex;align-items:center;gap:10px;flex-wrap:wrap}.feedback-honeypot{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}@media (max-width: 720px){.feedback-form{grid-template-columns:1fr}.feedback-field:nth-of-type(2){grid-row:auto}}.problems-panel{flex-shrink:0;max-height:220px;overflow-y:auto;display:flex;flex-direction:column;background:var(--inspector-panel-bg);border-top:1px solid var(--inspector-border)}.problems-panel-header{display:flex;align-items:center;padding:4px 12px;min-height:30px;flex-shrink:0;background:var(--inspector-header-bg);border-bottom:1px solid var(--inspector-border)}.problems-panel-title{font-size:12px;font-weight:600;color:var(--inspector-header-text);flex:1}.problems-panel-close{background:transparent;border:none;cursor:pointer;color:var(--text-muted);font-size:12px;padding:2px 4px;line-height:1;border-radius:3px}.problems-panel-close:hover{background:var(--bg-subpanel);color:var(--text-secondary)}.problems-panel-body{flex:1;overflow-y:auto;padding:0}.problems-empty{margin:0;padding:8px 12px;font-size:12px;color:var(--text-muted)}.problems-table{width:100%;border-collapse:collapse;font-size:12px;font-family:var(--font-mono, monospace)}.problems-table thead tr{background:var(--inspector-header-bg);position:sticky;top:0;z-index:1}.problems-table th{padding:4px 8px;text-align:left;font-weight:600;font-size:11px;color:var(--inspector-header-text);border-bottom:1px solid var(--inspector-border);white-space:nowrap}.problems-row td{padding:3px 8px;border-bottom:1px solid var(--inspector-border);vertical-align:top;color:var(--text-primary)}.problems-row:last-child td{border-bottom:none}.problems-row--clickable{cursor:pointer}.problems-row--clickable:hover td{background:var(--bg-subpanel)}.problems-code{white-space:nowrap;color:var(--status-err-text);font-weight:500}.problems-span{white-space:nowrap;color:var(--text-muted)}.problems-message{color:var(--text-primary);word-break:break-word;font-family:inherit;font-size:12px}.app-status-bar{display:flex;align-items:center;gap:0;padding:0 12px;height:22px;min-height:22px;flex-shrink:0;background:var(--status-bg);border-top:1px solid var(--status-border);overflow:hidden;font-size:11px;color:var(--status-text);white-space:nowrap}.app-status-bar__segment{flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-status-bar__segment+.app-status-bar__segment:before{content:" · ";flex-shrink:0}.app-status-bar__segment--file{font-weight:500;color:var(--text-secondary);flex-shrink:0;max-width:240px}.app-status-bar__segment--save{color:var(--text-muted)}.app-status-bar__segment--error{color:var(--status-err-text)}.app-status-bar__segment--parse{color:var(--status-text)}.app-status-bar__segment--playback{color:var(--text-muted);flex-shrink:0}.app-status-bar__segment--errors-btn{background:transparent;border:none;padding:0;margin:0;cursor:pointer;color:var(--status-err-text);font-size:inherit;font-family:inherit;line-height:inherit;text-decoration:underline dotted;flex-shrink:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.app-status-bar__segment--errors-btn:hover{text-decoration:underline}.btn{display:inline-flex;align-items:center;padding:4px 12px;border:1px solid var(--btn-border);border-radius:4px;background:var(--btn-bg);color:var(--btn-text);font-size:13px;cursor:pointer;transition:background .1s ease;line-height:1.4;white-space:nowrap}.btn:hover:not(:disabled){background:var(--btn-bg-hover)}.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn:disabled{opacity:.45;cursor:default}.btn-primary{background:var(--btn-primary-bg);color:var(--btn-primary-text);border-color:transparent;font-weight:600}.btn-primary:hover:not(:disabled){background:var(--btn-primary-hover)}.btn-aux{background:var(--btn-aux-bg);color:var(--btn-aux-text);border-color:var(--btn-aux-border);font-size:12px;padding:3px 10px}.btn-aux:hover:not(:disabled){background:var(--btn-aux-hover)}.theme-selector{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--text-muted)}.theme-selector label{white-space:nowrap}.theme-selector select,select.control-select{font-size:12px;padding:3px 6px;border:1px solid var(--btn-border);border-radius:4px;background:var(--btn-bg);color:var(--text-secondary);cursor:pointer;-webkit-appearance:auto;-moz-appearance:auto;appearance:auto}.theme-selector select:focus,select.control-select:focus{outline:2px solid var(--accent);outline-offset:1px}.example-loader{display:flex;align-items:center;gap:6px}.example-loader label{font-size:12px;color:var(--text-muted);white-space:nowrap}.example-loader select{font-size:12px;padding:3px 6px;border:1px solid var(--btn-border);border-radius:4px;background:var(--btn-bg);color:var(--text-primary);cursor:pointer}.example-loader select:focus{outline:2px solid var(--accent);outline-offset:1px}.editor-shell{display:flex;flex-direction:column;flex:1;min-height:0;overflow:hidden}.editor-surface{flex:1;min-height:0;background:var(--editor-bg);border:none;overflow:hidden}.editor-surface .cm-editor{height:100%;font-size:13.5px}.editor-surface .cm-scroller{overflow:auto}.editor-surface .cm-gdtn-linked-source-range{background-color:var(--mc-link-active-bg);box-shadow:inset 0 0 0 1px var(--mc-link-preview-highlight-color);border-radius:2px}.editor-surface .cm-gdtn-playback-source-range{background-color:var(--mc-playback-cursor-bg);box-shadow:inset 0 0 0 1px #f5a6238c;border-radius:2px}.editor-surface .cm-selectionBackground,.editor-surface .cm-focused .cm-selectionBackground{background-color:var(--mc-link-editor-selection-bg)!important}.preview-pane{display:block;min-height:0}.preview-pane--draft .preview-score-canvas{outline:2px dashed var(--border-strong);outline-offset:2px}.preview-draft-label{font-size:11px;color:var(--text-muted);font-style:italic;margin-bottom:6px;flex-shrink:0}.preview-empty-hint{color:var(--text-muted);font-style:italic;font-size:13px;padding:4px 0}.preview-score-canvas{background:transparent;display:block;border-radius:2px;box-shadow:0 1px 4px #0000002e;max-width:100%}.preview-score-layer{position:relative;display:inline-block;max-width:100%}.preview-link-overlay{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;overflow:visible;pointer-events:none;z-index:1}.preview-link-target{fill:transparent;stroke:transparent;pointer-events:none}.preview-link-target--active{fill:var(--mc-link-preview-highlight-color);fill-opacity:var(--mc-link-preview-highlight-opacity);stroke:var(--mc-link-preview-highlight-color);stroke-opacity:.95;stroke-width:2.25}.preview-playback-target--active{fill:var(--mc-playback-highlight-color);fill-opacity:var(--mc-playback-highlight-opacity);stroke:var(--mc-playback-highlight-color);stroke-opacity:.95;stroke-width:2.5}.preview-link-target--active.preview-playback-target--active{stroke-width:3}.preview-link-target--clickable{pointer-events:auto;cursor:pointer}.transport-bar{display:contents}.transport-group{display:inline-flex;align-items:center;gap:5px;flex-shrink:0}.transport-status{font-size:11px;color:var(--text-muted);font-style:italic;white-space:nowrap}.transport-divider{display:inline-block;width:1px;height:16px;background:var(--border-subtle);margin:0 2px;flex-shrink:0}.bridge-connected{color:var(--success-text, #15803d)}.bridge-error{color:var(--error-text, #b91c1c)}.expressive-controls{display:inline-flex;align-items:center;gap:6px;flex-shrink:0}.expressive-toggle{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--text-secondary);cursor:pointer;-webkit-user-select:none;user-select:none}.expressive-style-select{font-size:12px;padding:2px 4px;border:1px solid var(--btn-border);border-radius:4px;background:var(--btn-bg);color:var(--text-primary);cursor:pointer}.expressive-style-select:disabled{opacity:.5;cursor:default}.debug-pane{display:flex;flex-direction:column}.debug-tabs{display:flex;margin-bottom:-1px;position:relative;z-index:1;padding:4px 8px 0;background:var(--inspector-header-bg)}.debug-tab{padding:4px 14px;cursor:pointer;border:1px solid var(--border-strong);border-bottom:none;background:var(--tab-bg);color:var(--tab-text);border-radius:4px 4px 0 0;margin-right:2px;font-size:12px;transition:background .1s ease,color .1s ease;line-height:1.5}.debug-tab:hover{background:var(--tab-bg-active);color:var(--tab-text-active)}.debug-tab--active{background:var(--tab-bg-active);color:var(--tab-text-active);font-weight:600;border-bottom-color:var(--tab-bg-active)}.debug-content{border-top:1px solid var(--border-strong);padding:8px;background:var(--bg-panel);color:var(--text-primary)}.debug-empty-hint{color:var(--text-muted);font-style:italic}.debug-section-header{display:flex;align-items:center;justify-content:space-between;padding:4px 8px;background:var(--bg-subpanel);border:1px solid var(--debug-border);border-radius:4px 4px 0 0;cursor:pointer;-webkit-user-select:none;user-select:none;font-size:12px;font-weight:700;color:var(--text-secondary)}.debug-pre{margin:0;padding:8px;font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:12px;overflow:auto;white-space:pre-wrap;word-break:break-word;max-height:200px;background:var(--debug-bg);border:1px solid var(--debug-border);border-radius:0 4px 4px;color:var(--text-secondary)}.debug-error-code{font-family:monospace;color:var(--error-text)}.debug-success-text{color:var(--success-text)}.debug-muted{color:var(--text-muted)}.debug-table{width:100%;border-collapse:collapse;font-size:13px}.debug-table thead tr{background:var(--bg-subpanel)}.debug-table th{padding:4px 8px;text-align:left;border-bottom:2px solid var(--border-strong);color:var(--text-secondary)}.debug-table td{padding:4px 8px;vertical-align:top;border-bottom:1px solid var(--border-subtle)}.debug-error-row--clickable{cursor:pointer}.debug-error-row--clickable:hover{background:var(--bg-subpanel)}.playback-event-list{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:11px;line-height:1.6;padding:4px 0}.playback-event-row{padding:1px 8px;white-space:pre;color:var(--text-secondary)}.playback-event-row:hover{background:var(--bg-subpanel)}.playback-event-row--rest{color:var(--text-muted)}.playback-event-row--grace{color:var(--text-muted);font-style:italic}.copy-btn{font-size:11px;padding:2px 8px;cursor:pointer;border:1px solid var(--btn-border);border-radius:3px;background:var(--btn-bg);color:var(--text-secondary);margin-left:8px;transition:background .1s ease}.copy-btn:hover{background:var(--btn-bg-hover)}@media (max-width: 700px){.main-split{flex-direction:column;flex:1;min-height:0;overflow:hidden}.editor-pane{flex:0 0 40%;width:100%;max-width:100%;min-height:120px;min-width:0;overflow:hidden;border-bottom:1px solid var(--border-subtle)}.main-split-resizer{display:none}.editor-shell,.editor-surface{flex:1;min-height:0;overflow:hidden}.preview-pane-col{flex:1;min-height:0;width:100%;overflow:hidden}.preview-viewport{flex:1;min-height:0;overflow:auto}}.solfege-spike-container{border-top:1px solid var(--border-subtle);font-size:12px}.solfege-spike-toggle{width:100%;display:flex;align-items:center;gap:6px;padding:4px 8px;background:var(--bg-subpanel);border:none;color:var(--text-muted);font-size:11px;font-family:inherit;cursor:pointer;text-align:left}.solfege-spike-toggle:hover{color:var(--text-secondary);background:var(--bg-elevated)}.solfege-spike-badge{margin-left:auto;font-size:10px;background:var(--accent);color:var(--accent-contrast);border-radius:8px;padding:1px 6px}.solfege-spike-panel{padding:8px 10px;background:var(--bg-subpanel);border-top:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:8px}.solfege-spike-controls{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.solfege-spike-status{font-size:11px;color:var(--text-muted)}.solfege-spike-errors{display:flex;flex-direction:column;gap:2px}.solfege-spike-error{font-size:11px;color:var(--status-err-text);background:var(--status-err-bg);border:1px solid var(--status-err-border);border-radius:3px;padding:2px 6px}.solfege-spike-demos{display:flex;flex-wrap:wrap;gap:6px;align-items:center}.solfege-demo-btn{font-size:11px}.solfege-demo-active{background:var(--accent)!important;color:var(--accent-contrast)!important}.solfege-spike-playinfo{border:1px solid var(--border-subtle);border-radius:4px;padding:6px 8px;background:var(--bg-elevated);font-size:11px;max-height:200px;overflow-y:auto}.solfege-spike-playinfo-title{font-weight:600;margin-bottom:4px;color:var(--text-secondary)}.solfege-spike-playinfo-notes{display:flex;flex-direction:column;gap:1px}.solfege-spike-note-row{display:flex;align-items:center;gap:8px;padding:1px 0}.solfege-note-label{width:120px;flex-shrink:0;color:var(--text-muted)}.solfege-note-sample{font-family:monospace;color:var(--text-primary);flex:1}.solfege-note-rate{font-family:monospace;color:var(--accent);width:50px;text-align:right}.solfege-note-miss{color:var(--status-err-text);font-style:italic}.solfege-status-msg{font-size:.8rem;padding:4px 10px;border-radius:4px;margin:4px 0}.solfege-status-loading{color:var(--text-secondary);background:var(--bg-subpanel)}.solfege-status-error{color:var(--status-err-text, #c0392b);background:var(--status-err-bg, #fdecea);border:1px solid currentColor}.command-menu-bar{display:flex;align-items:stretch;gap:0;min-height:48px;flex:1;flex-wrap:wrap}.cmb-app-icon{width:28px;height:28px;flex-shrink:0;align-self:center;margin:0 6px 0 10px;display:block;-webkit-user-select:none;user-select:none}.cmb-menu{position:relative;display:flex;align-items:stretch}.cmb-trigger{display:flex;align-items:center;gap:4px;padding:0 14px;min-height:48px;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:13px;font-weight:500;color:var(--text-primary);white-space:nowrap;transition:background .1s ease}.cmb-trigger:hover{background:var(--bg-subpanel)}.cmb-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cmb-trigger--open{background:var(--bg-subpanel)}.cmb-arrow{font-size:10px;color:var(--text-muted);line-height:1}.cmb-dropdown{position:absolute;top:100%;left:0;min-width:200px;background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:6px;box-shadow:0 8px 24px #00000026;padding:4px 0;z-index:200;display:flex;flex-direction:column}.cmb-dropdown--examples{min-width:220px;max-height:320px;overflow-y:auto;overflow-x:hidden}.cmb-item{display:flex;align-items:center;justify-content:space-between;padding:6px 14px;background:transparent;border:none;border-radius:0;cursor:pointer;font-size:13px;color:var(--text-primary);text-align:left;white-space:nowrap;transition:background .08s ease;width:100%}.cmb-item:hover:not(:disabled){background:var(--bg-subpanel)}.cmb-item:disabled{opacity:.45;cursor:default}.cmb-item:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.cmb-item--label{font-size:11px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;padding:8px 14px 4px;cursor:default;pointer-events:none}.cmb-item--option{padding-left:26px}.cmb-item--selected{color:var(--accent);font-weight:600}.cmb-item--selected:before{content:"✓";position:absolute;left:10px;color:var(--accent);font-size:11px}.cmb-separator{height:1px;background:var(--border-subtle);margin:4px 0}.cmb-shortcut{font-size:11px;color:var(--text-muted);margin-left:24px;font-family:system-ui,-apple-system,sans-serif}.cmb-settings-row{display:flex;align-items:center;gap:12px;padding:6px 14px 8px;width:220px}.cmb-settings-row-main{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}.cmb-settings-row-title{font-size:13px;font-weight:600;color:var(--text-primary)}.cmb-toggle{flex:0 0 auto;min-width:44px;padding:3px 8px;border:1px solid var(--btn-border);border-radius:6px;background:var(--btn-bg);color:var(--text-secondary);font-size:12px;cursor:pointer}.cmb-toggle--on{background:var(--accent);border-color:var(--accent);color:var(--accent-contrast)}.cmb-inline-divider{width:1px;height:20px;background:var(--border-subtle);margin:0 6px;flex-shrink:0;align-self:center}.cmb-inline-divider--compact{height:18px;margin-inline:8px}.cmb-inline-group{display:flex;align-items:center;gap:4px;flex-shrink:0}.cmb-inline-btn{height:28px;padding:0 10px;font-size:12px;white-space:nowrap}.cmb-zoom-step{min-width:28px;justify-content:center;padding-inline:0}.cmb-zoom-label{min-width:52px;justify-content:center}.cmb-zoom-group{position:relative}.cmb-zoom-popover{top:calc(100% + 6px);left:0;bottom:auto}.cmb-icon-btn{min-width:32px;padding-inline:0;justify-content:center}.cmb-instrument-select{height:28px;font-size:12px;padding:0 6px}.cmb-status-hint{font-size:11px;white-space:nowrap;flex-shrink:0}.cmb-status-hint--loading{color:var(--text-muted)}.cmb-status-hint--error{color:var(--status-err-text)}.workbench--drag-over:after{content:"Drop .gdtn / .txt to open";position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:600;color:var(--text-primary);background:#00000073;border:3px dashed var(--btn-primary-bg, #2563eb);border-radius:8px;pointer-events:none;z-index:1000}.editor-surface .cm-scroller,.preview-viewport,.advanced-panel,.advanced-panel-body,.help-panel,.help-panel-body,.problems-panel,.problems-panel-body,.cmb-dropdown--examples,.debug-pre,.solfege-spike-playinfo{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) var(--scrollbar-track)}.editor-surface .cm-scroller::-webkit-scrollbar,.preview-viewport::-webkit-scrollbar,.advanced-panel::-webkit-scrollbar,.advanced-panel-body::-webkit-scrollbar,.help-panel::-webkit-scrollbar,.help-panel-body::-webkit-scrollbar,.problems-panel::-webkit-scrollbar,.problems-panel-body::-webkit-scrollbar,.cmb-dropdown--examples::-webkit-scrollbar,.debug-pre::-webkit-scrollbar,.solfege-spike-playinfo::-webkit-scrollbar{width:10px;height:10px}.editor-surface .cm-scroller::-webkit-scrollbar-track,.preview-viewport::-webkit-scrollbar-track,.advanced-panel::-webkit-scrollbar-track,.advanced-panel-body::-webkit-scrollbar-track,.help-panel::-webkit-scrollbar-track,.help-panel-body::-webkit-scrollbar-track,.problems-panel::-webkit-scrollbar-track,.problems-panel-body::-webkit-scrollbar-track,.cmb-dropdown--examples::-webkit-scrollbar-track,.debug-pre::-webkit-scrollbar-track,.solfege-spike-playinfo::-webkit-scrollbar-track{background:var(--scrollbar-track)}.editor-surface .cm-scroller::-webkit-scrollbar-corner,.preview-viewport::-webkit-scrollbar-corner,.advanced-panel::-webkit-scrollbar-corner,.advanced-panel-body::-webkit-scrollbar-corner,.help-panel::-webkit-scrollbar-corner,.help-panel-body::-webkit-scrollbar-corner,.problems-panel::-webkit-scrollbar-corner,.problems-panel-body::-webkit-scrollbar-corner,.cmb-dropdown--examples::-webkit-scrollbar-corner,.debug-pre::-webkit-scrollbar-corner,.solfege-spike-playinfo::-webkit-scrollbar-corner{background:var(--scrollbar-track)}.editor-surface .cm-scroller::-webkit-scrollbar-thumb,.preview-viewport::-webkit-scrollbar-thumb,.advanced-panel::-webkit-scrollbar-thumb,.advanced-panel-body::-webkit-scrollbar-thumb,.help-panel::-webkit-scrollbar-thumb,.help-panel-body::-webkit-scrollbar-thumb,.problems-panel::-webkit-scrollbar-thumb,.problems-panel-body::-webkit-scrollbar-thumb,.cmb-dropdown--examples::-webkit-scrollbar-thumb,.debug-pre::-webkit-scrollbar-thumb,.solfege-spike-playinfo::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:9999px;border:2px solid var(--scrollbar-track);background-clip:padding-box}.editor-surface .cm-scroller::-webkit-scrollbar-thumb:hover,.preview-viewport::-webkit-scrollbar-thumb:hover,.advanced-panel::-webkit-scrollbar-thumb:hover,.advanced-panel-body::-webkit-scrollbar-thumb:hover,.help-panel::-webkit-scrollbar-thumb:hover,.help-panel-body::-webkit-scrollbar-thumb:hover,.problems-panel::-webkit-scrollbar-thumb:hover,.problems-panel-body::-webkit-scrollbar-thumb:hover,.cmb-dropdown--examples::-webkit-scrollbar-thumb:hover,.debug-pre::-webkit-scrollbar-thumb:hover,.solfege-spike-playinfo::-webkit-scrollbar-thumb:hover{background:var(--scrollbar-thumb-hover);background-clip:padding-box}
