:root{--bg:#1a1a1a;--panel:#1a1a1a;--panel-edge:#3a3a3a;--box-edge:#6b6b74;--input-bg:#1a1a1a;--text:#d3d3d3;--dim:#9a9a9a;--accent:#60a5fa;--action:#f472b6;--action-strong:#db2777;--emphasis:#db2777;--comment:#4ade80;--user:#c084fc;--code-ink:#a61e4d;--code-ground:#d1d5db;--hover-edge:#60a5fa;--focus-edge:rgb(59 130 246/0.5);--warn:#e6c96b;--err:#f07878;--mono:"Cascadia Code",Consolas,"Courier New",monospace;--edge:2px solid var(--box-edge);--lift:0.5em 0.5em 0 0 #4a4a52;--lift-sm:0.25em 0.25em 0 0 #4a4a52}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:var(--mono);font-weight:800;-webkit-font-smoothing:antialiased}.app-main{display:contents}.app{display:flex;flex-direction:column;height:100vh}.app.split{display:grid;grid-template-columns:var(--split-at,58%) 6px minmax(260px,1fr);grid-template-rows:auto auto auto minmax(0,1fr) auto auto}.app.split>.said-once{grid-column:1/-1;grid-row:1}.app.split>.pitch-bar{grid-column:1/-1;grid-row:3}.app.split>.toolbar{grid-column:1/-1;grid-row:2}.app.split>.main{grid-column:1;grid-row:4;min-width:0}.app.split>.split-grip{grid-column:2;grid-row:4;cursor:col-resize;background:none;border-left:1px solid var(--panel-edge);touch-action:none}.app.split>.split-grip:hover,body.dragging-split .split-grip{background:var(--accent);opacity:.55}body.dragging-split{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.app.split>.tray{display:contents}.app.split .tray-sheet{grid-column:3;grid-row:4;min-height:0;background:var(--panel);padding:0 10px}.app.split .tray-sheet-resize{display:none}.app.split .tray-sheet-views{height:auto!important;max-height:none!important;flex:1 1;min-height:0}.app.split .tray-bar{grid-column:1/-1;grid-row:5;background:var(--panel);border-top:1px solid var(--panel-edge);padding:0 14px 6px}.toolbar{padding:8px 16px;background:var(--panel);border-bottom:1px solid var(--panel-edge);-webkit-user-select:none;-moz-user-select:none;user-select:none}.toolbar,.toolbar-right{display:flex;align-items:center;gap:8px}.toolbar-right{margin-left:auto}.toolbar button{background:var(--panel-edge);color:var(--text);border:1px solid var(--box-edge);padding:4px 12px;cursor:pointer;font-size:13px}.toolbar button:hover{background:#38384a}.toolbar button.on{border-color:var(--accent);color:var(--accent)}.toolbar-more{position:relative;margin-left:auto}.menu-backdrop{position:fixed;inset:0;z-index:40}.toolbar-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:41;display:flex;flex-direction:column;min-width:200px;padding:4px;background:var(--bg);border:var(--edge);box-shadow:var(--lift)}.toolbar-menu button{background:none;border:none;padding:6px 10px;text-align:left;white-space:nowrap}.toolbar-menu button:hover{background:var(--panel-edge)}.compare-pane{flex:1 1;min-width:0;display:flex;flex-direction:column}.compare-pane.right{border-left:1px solid var(--panel-edge)}.compare-body{display:flex;flex:1 1;min-height:0}.side-rail{flex:none;width:44px;gap:2px;padding:4px 0;background:var(--panel);border-right:1px solid var(--panel-edge)}.side-rail,.side-rail-btn{display:flex;flex-direction:column}.side-rail-btn{align-items:center;gap:1px;padding:6px 0;background:none;border:none;color:var(--dim);font:inherit;font-size:15px;cursor:pointer}.side-rail-btn.on,.side-rail-btn:hover{color:var(--text);background:var(--input-bg)}.side-rail-label{font-size:9px;letter-spacing:.02em}.audition-pane.closing{opacity:.5}.audition-pane{flex:1 1 auto;width:auto;min-width:0}.side-panel.closing{opacity:.5}.side-grip{position:absolute;top:0;bottom:0;right:-3px;width:7px;cursor:col-resize;z-index:2}.side-grip:hover,body.dragging-side .side-grip{background:var(--accent);opacity:.35}body.dragging-side{-webkit-user-select:none;-moz-user-select:none;user-select:none;cursor:col-resize}.audition-pane{width:min(26vw,360px);min-width:230px;flex:0 0 min(26vw,360px);overflow:auto;padding:8px 10px 20px;background:var(--bg);border-right:1px solid var(--panel-edge);scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--dim) 70%,var(--bg)) transparent}.toolbar .gear-btn{background:none;border:0;box-shadow:none;padding:4px 6px;font-size:15px;line-height:1;color:var(--text)}.toolbar .gear-btn:hover{color:var(--hover-edge)}.toolbar .fullscreen-btn,.toolbar .view-btn{display:inline-flex;align-items:center;background:none;border:0;box-shadow:none;padding:4px 5px;line-height:1;color:var(--text)}.toolbar .fullscreen-btn:hover,.toolbar .view-btn:hover{background:none;color:var(--hover-edge)}.toolbar .fullscreen-btn[aria-pressed=true]{color:var(--accent)}.toolbar .lesson-step{display:flex;align-items:center;gap:8px;min-width:0}.toolbar .lesson-step-btn{display:inline-flex;align-items:center;gap:4px;min-width:0;max-width:22ch;padding:2px 8px;background:none;border:0;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.toolbar .lesson-step-btn:before{content:"[";color:var(--dim)}.toolbar .lesson-step-btn:after{content:"]";color:var(--dim)}.toolbar .lesson-step-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar .lesson-step-btn:hover:not(:disabled),.toolbar .lesson-step-btn:hover:not(:disabled):after,.toolbar .lesson-step-btn:hover:not(:disabled):before{color:var(--hover-edge)}.toolbar .lesson-step-btn:disabled{color:var(--dim);opacity:.5;cursor:default}.inspector-resize{flex:none;width:5px;margin-left:-3px;cursor:col-resize;touch-action:none;z-index:3}.inspector-resize:active,.inspector-resize:focus-visible,.inspector-resize:hover{background:var(--panel-edge);outline:none}.audition-pane::-webkit-scrollbar{width:12px}.audition-pane::-webkit-scrollbar-thumb{background:color-mix(in srgb,var(--dim) 70%,var(--bg));border:3px solid transparent;background-clip:padding-box}.audition-pane::-webkit-scrollbar-thumb:hover{background:var(--dim);background-clip:padding-box}.audition-pane::-webkit-scrollbar-track{background:transparent}.audition-head{display:flex;align-items:baseline;gap:8px;min-height:24px;margin-bottom:5px}.audition-title{color:var(--accent);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.audition-head code{min-width:0;overflow:hidden;color:var(--text);font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap}.audition-empty,.audition-variants{color:var(--dim);font-size:12px}.audition-variants{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:8px}.audition-variants select{min-width:92px}.audition-play{margin-bottom:8px;background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);cursor:pointer;padding:4px 9px}.audition-play:hover{border-color:var(--accent);color:var(--accent)}.audition-summary{display:flex;flex-wrap:wrap;gap:5px 10px;margin:2px 0 8px;color:var(--dim);font-family:var(--mono);font-size:10px}.audition-summary span:first-child{color:var(--accent)}.audition-productions,.audition-rules{display:flex;flex-direction:column;gap:8px}.inspector-section{margin-bottom:10px}.inspector-section>h2{margin:5px 0 4px;color:var(--dim);font-family:var(--mono);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.inspector-tree{margin:0 0 12px;padding:6px 0;font-family:var(--mono);font-size:11px}.inspector-tree-line>button,.inspector-tree>button{display:block;width:100%;padding:3px 6px;background:none;border:0;border-left:2px solid transparent;color:var(--dim);cursor:pointer;text-align:left}.inspector-tree-line{display:flex;align-items:center}.inspector-tree-line>button[data-inspector-rule]{flex:1 1;color:var(--rule-color,var(--dim))}.inspector-tree-line>button[data-inspector-rule].playing{background:color-mix(in srgb,var(--rule-color,var(--accent)) 22%,var(--panel-edge));box-shadow:inset 2px 0 var(--rule-color,var(--accent))}.inspector-tree-line>button[data-inspector-rule].hovered{outline:1px solid var(--rule-color,var(--accent));outline-offset:-1px;background:color-mix(in srgb,var(--rule-color,var(--accent)) 14%,var(--panel))}.inspector-tree-toggle{flex:none;font:inherit;width:2ch!important;padding:3px 0!important;border-left:0!important;color:var(--dim)!important;text-align:left!important}.inspector-tree-toggle-none{display:block;pointer-events:none}.inspector-tree-node{margin-left:0}.inspector-tree-stem{flex:none;color:var(--dim);white-space:pre;-webkit-user-select:none;-moz-user-select:none;user-select:none}.inspector-tree button.selected,.inspector-tree button:hover{border-left-color:var(--accent);background:var(--panel-edge);color:var(--rule-color,var(--text))}.audition-rule{border-top:1px solid var(--panel-edge);padding-top:5px}.audition-rule h3{margin:0 0 4px;color:var(--accent);font-family:var(--mono);font-size:11px;font-weight:600}.audition-unplayable{display:inline-block;margin:4px 0 8px;color:var(--dim);font-family:var(--mono);font-size:10px}.audition-production{padding-top:4px;border-top:1px solid var(--panel-edge)}.audition-production .audition-summary{min-height:16px;gap:3px 7px;margin:0 0 3px;font-size:9px}.audition-production .audition-summary code{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.audition-production .audition-play{padding:2px 6px;font-size:10px}.audition-status{color:var(--dim);font-family:var(--mono);font-size:9px}.audition-diagram{overflow:auto;padding:4px 0 12px}.audition-sheet{overflow-x:auto;padding:4px 0 12px}.sheet-music{width:max-content;min-width:100%;border:1px solid var(--box-edge);background:var(--input-bg);color:var(--text)}.sheet-music svg{display:block;min-width:100%;max-width:100%;height:auto}.sheet-bar,.sheet-hold,.sheet-ledger,.sheet-staff-line,.sheet-stem{fill:none;stroke:#c8c8d0;stroke-width:1}.sheet-bar{stroke:#858591}.sheet-ledger{stroke-width:1.2}.sheet-notehead{fill:#e3e3ea;stroke:#e3e3ea}.sheet-notehead.half,.sheet-notehead.whole{fill:var(--input-bg)}.sheet-notehead.drum{fill:none;stroke-width:1.5}.sheet-accidental{font-family:Georgia,serif;font-size:18px;font-weight:600}.sheet-stem{stroke-width:1.5}.sheet-flag{stroke-width:1.2}.sheet-hold{stroke:#858591;stroke-dasharray:2 2}.sheet-clef{fill:#e3e3ea;font-family:Georgia,serif;font-size:48px}.sheet-tempo{fill:#d0d0d8;font-family:var(--mono);font-size:10px;font-weight:600}.sheet-rest{fill:#d0d0d8;font-family:Georgia,serif;font-size:28px}.sheet-rest-count{fill:#9f9faa;font-family:var(--mono);font-size:9px}.sheet-octave-mark{fill:#b2b2be;stroke:#858591;font-family:var(--mono);font-size:10px}.sheet-octave-mark line{stroke-dasharray:3 2;stroke-width:1}.sheet-label,.sheet-meter{fill:#b2b2be;font-family:var(--mono);font-size:9px}.audition-diagram .ps-scroll{margin-left:0}.compare-head{display:flex;align-items:center;gap:6px;padding:6px 12px;background:var(--panel);border-bottom:1px solid var(--panel-edge);-webkit-user-select:none;-moz-user-select:none;user-select:none}.compare-head select{flex:1 1;min-width:0}.compare-head button{background:var(--panel-edge);color:var(--text);border:1px solid var(--box-edge);padding:3px 9px;cursor:pointer;font-size:13px}.compare-head button:hover{background:#38384a}.compare-pane .notebook{flex:1 1}.main{min-height:0}.main,.notebook{display:flex;flex:1 1}.notebook{min-width:0;overflow:auto;flex-direction:column;padding:0;scrollbar-width:none}.notebook::-webkit-scrollbar{width:0;height:0}.pane-col{flex:1 1;min-width:0;display:flex;flex-direction:column}.pane-col>.notebook{flex:1 1;min-height:0}.docbar{position:relative;width:14px;flex-shrink:0;background:var(--panel);cursor:pointer;touch-action:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.docbar-thumb{position:absolute;left:3px;right:3px;background:var(--dim);opacity:.7}.docbar-x{width:auto;height:12px;flex:none;border:0;margin-left:var(--gutter-w,0)}.docbar-x:before{content:"";position:absolute;top:0;bottom:0;right:100%;width:var(--gutter-w,0);background:var(--bg);border-right:1px solid var(--panel-edge)}.docbar-x .docbar-thumb{left:auto;right:auto;top:3px;bottom:3px}.notebook-inner{flex:1 0 auto;width:max-content;min-width:100%}.notebook-inner,.tray{display:flex;flex-direction:column}.tray{position:-webkit-sticky;position:sticky;bottom:0;z-index:5;flex-shrink:0;gap:0;padding:0 14px 6px;border-top:1px solid var(--panel-edge);background:var(--panel);-webkit-user-select:none;-moz-user-select:none;user-select:none;max-height:46vh;min-height:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none}.tray-sheet{border-bottom:1px solid var(--panel-edge);min-width:0}.tray-bar{display:flex;flex-direction:column;gap:4px;min-width:0}.tray-sheet-resize{height:6px;flex:none;cursor:ns-resize;touch-action:none}.tray-sheet-resize:after{content:"";display:block;width:34px;height:2px;margin:2px auto 0;background:transparent}.tray-sheet-resize.resizing:after,.tray-sheet-resize:focus-visible:after,.tray-sheet-resize:hover:after{background:var(--dim)}.tray-sheet-resize:focus-visible{outline:1px solid var(--dim);outline-offset:-1px}.tray-sheet-body{height:100%;min-height:0;overflow-x:auto;overflow-y:hidden;padding-bottom:4px;scrollbar-width:none;overflow-anchor:none;scroll-behavior:auto;overscroll-behavior-x:contain}.tray-sheet-body::-webkit-scrollbar{display:none}.tray-sheet-body{cursor:-webkit-grab;cursor:grab;touch-action:pan-y}.tray-sheet-body.dragging{cursor:-webkit-grabbing;cursor:grabbing;-webkit-user-select:none;-moz-user-select:none;user-select:none}.tray-sheet-body .sheet-music{width:max-content;min-width:max-content}.tray-sheet-zoom{display:inline-flex;align-items:center;gap:4px;margin-left:10px}.tray-sheet-zoom button{width:18px;padding:0;border:1px solid var(--box-edge);background:transparent;color:#9a9aa8;font:inherit;font-size:12px;line-height:16px;cursor:pointer}.tray-sheet-zoom button:disabled{opacity:.35;cursor:default}.tray-sheet-zoom-value{min-width:34px;color:var(--dim);font-size:11px;text-align:center}.tray-sheet-drums{margin-left:8px;padding:1px 7px;border:1px solid var(--box-edge);background:transparent;color:var(--dim);font:inherit;font-size:11px;cursor:pointer}.tray-sheet-drums.on{border-color:#6a5a3a;color:#b8753b}.sheet-music-canvas{display:block;max-width:none;height:100%;background:var(--input-bg)}.sheet-playhead-overlay{position:absolute;inset:0;background:transparent;pointer-events:none}.sheet-music-canvas-wrap{position:relative;width:max-content;min-width:0;height:clamp(150px,28vh,250px);overflow:hidden}.sheet-music-canvas-tiles{position:relative;display:flex;gap:0;margin:0;padding:0;width:max-content;min-width:0;align-items:flex-start}.sheet-music-stage{position:relative;display:block;width:max-content;min-width:100%}.piece-minimap{position:relative;display:block;flex:none;width:100%;min-width:0;margin:0;background:#14141b;cursor:pointer;touch-action:none;overflow:hidden}.piece-minimap canvas{display:block}.piece-minimap-overlay{position:absolute;top:0;left:0;pointer-events:none}.sheet-playhead-global{position:absolute;top:16px;bottom:16px;width:2px;z-index:4;background:rgba(224,196,216,.9);pointer-events:none}.sheet-music-canvas-tiles .sheet-music-canvas-wrap{min-width:0;flex:0 0 auto;margin:0;padding:0}.sheet-music-canvas-wrap .sheet-music-canvas.active{position:absolute;left:0;top:0;background:transparent;pointer-events:none}.sheet-playhead{stroke:rgba(224,196,216,.9);stroke-width:2;pointer-events:none}.sheet-playhead-canvas{position:absolute;top:16px;bottom:16px;width:2px;background:rgba(224,196,216,.9);pointer-events:none}.tray-transport{display:flex;align-items:center;gap:0 8px;flex-wrap:wrap;position:relative}.tray-transport .tray-progress{order:-1;min-width:0}.tray-transport .piece-minimap,.tray-transport .tray-progress{flex-grow:0;flex-shrink:0;flex-basis:calc(100% + 28px);width:calc(100% + 28px);margin:0 -14px}.tray-transport>:not(.tray-progress):not(.piece-minimap){margin-top:6px}.tray-bpm,.tray-clock{font-family:var(--mono);font-size:11px;color:var(--dim)}.tray-progress{flex:1 1;min-width:80px;height:3px;background:var(--input-bg)}.tray-progress-fill{height:100%;background:#4d7fbf}.tray-transport button{background:var(--panel-edge);color:var(--dim);border:1px solid var(--box-edge);font-size:10px;padding:2px 8px;cursor:pointer}.tray-transport button.on{color:var(--text);border-color:var(--accent)}.lights-rows{flex:1 1;min-width:0;display:flex;flex-direction:column;gap:2px}.lights-rows .light-line{justify-content:center}.lights-rows .lights-head{flex:0 0 auto}.light-line{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;white-space:nowrap}.light-line::-webkit-scrollbar{display:none}.light-line .lights-head{width:46px;flex-shrink:0;margin:0}.light-count{margin-left:auto;color:var(--dim);font-family:var(--mono);font-size:10px;flex-shrink:0}.tray::-webkit-scrollbar{display:none}.lights-head{color:var(--dim);font-size:10px;text-transform:uppercase;letter-spacing:.08em;margin:8px 0 4px}.light-block{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;padding:1px 7px;background:var(--input-bg);border:1px solid var(--box-edge);border-left:3px solid var(--light,var(--text));color:var(--light,var(--dim));transition:background .12s,box-shadow .12s,color .12s}.light-block.on{background:var(--light,var(--accent));color:#14141b;box-shadow:0 0 9px var(--light,var(--accent));transition:none}.light-block.on .light-count{color:#14141b}.light-label{font-family:var(--mono);font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.docmap{position:relative;width:76px;flex-shrink:0;background:var(--panel);box-shadow:-14px 0 14px -4px var(--bg);cursor:pointer;overflow:hidden;-webkit-user-select:none;-moz-user-select:none;user-select:none}.docmap-canvas{position:absolute;inset:0;width:100%;height:100%}.docmap-view{position:absolute;left:0;right:0;background:rgba(211,211,211,.14);border:1px solid rgba(211,211,211,.45);pointer-events:none}.cell{display:flex;gap:8px;margin-bottom:14px}.cell-gutter{display:flex;flex-direction:column;align-items:center;gap:2px;width:44px;flex-shrink:0;padding-top:4px;-webkit-user-select:none;-moz-user-select:none;user-select:none}.exec-count{font-family:var(--mono);font-size:11px;color:var(--dim);margin-bottom:2px}.icon-btn{background:none;border:none;color:var(--dim);cursor:pointer;font-size:13px;width:24px;height:22px;line-height:1;padding:0}.icon-btn:hover{background:var(--panel-edge);color:var(--text)}.icon-btn.run:hover{color:var(--accent)}.icon-btn.danger:hover{color:var(--err)}.icon-btn:disabled{opacity:.3;cursor:default}.cell-body{flex:1 1;min-width:0}.editor{border:var(--edge);border-left:3px solid var(--box-edge)}.editor,.editor-rail{display:flex;background:var(--bg)}.editor-rail{position:-webkit-sticky;position:sticky;left:0;z-index:2;flex-shrink:0}.line-nums{flex-shrink:0;padding:8px 5px 8px 3px;font-family:var(--mono);font-size:var(--code-size,13.5px);line-height:1.5;text-align:right;color:var(--dim);border-right:1px solid var(--panel-edge);-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:5ch;box-sizing:content-box}.editor-body{position:relative;flex:1 1;width:max-content;min-width:0}.editor:focus-within{border-left-color:var(--accent)}.editor.dirty,.editor.dirty:focus-within{border-color:var(--warn);border-left-color:var(--warn)}.editor.error,.editor.error:focus-within{border-color:var(--err);border-left-color:var(--err)}.cell-input,.hl-layer{font-family:var(--mono);font-size:var(--code-size,13.5px);line-height:1.5;padding:8px 12px;white-space:pre}.hl-layer{margin:0;min-height:1.5em;color:var(--text);overflow:visible;width:max-content}.ann-col{flex-shrink:0;padding:8px 2px 8px 8px;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;min-width:3ch}.ann-row{height:calc(var(--code-size, 13.5px) * 1.5);display:flex;align-items:center;justify-content:flex-end}.unit-ann{display:inline-block;color:var(--dim);font-size:calc(var(--code-size, 13.5px) - 2.5px);line-height:calc(var(--code-size, 13.5px) + 1.5px);padding:0 5px;border:1px solid var(--box-edge);background:var(--panel);transform:translateY(-1px)}.unit-ann.off{color:#e5c07b;border-color:#7a6a33}.cell-input{position:absolute;inset:0;width:100%;height:100%;background:transparent;color:transparent;caret-color:var(--text);border:none;outline:none;resize:none;overflow:hidden}.cell-input::-webkit-scrollbar{height:9px}.cell-input::-webkit-scrollbar-thumb{background:#33334a}.cell-input::-webkit-scrollbar-thumb:hover{background:#44445c}.cell-input::-webkit-scrollbar-track{background:transparent}.tok-comment{color:#6a9955;font-style:italic}.tok-keyword{color:#c792ea;font-weight:600}.tok-string{color:#e5c07b}.tok-note{color:#6fd7c4}.tok-sound{color:#e8a86e}.tok-chord{color:#c9a0ff}.tok-nondiatonic{-webkit-text-decoration:underline wavy var(--warn);text-decoration:underline wavy var(--warn);text-decoration-thickness:1px;text-underline-offset:3px}.tok-rest{color:var(--dim)}.hl-layer .sig-on{background:#46464f;border-bottom:2px solid #000}.tok-op{color:#8894b8}.tok-brace{color:#d7ba7d}.tok-flag{color:#8894b8}.cell-output{margin:6px 0 0;padding:8px 12px;background:var(--panel);font-family:var(--mono);font-size:calc(var(--code-size, 13.5px) - .5px);line-height:1.5;overflow-x:auto;white-space:pre}.play-btn{background:none;border:1px solid var(--box-edge);color:var(--accent);cursor:pointer;font-size:10px;line-height:1;padding:1px 5px;margin-right:8px;vertical-align:middle}.play-btn:hover{background:var(--panel-edge)}.prefs-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:10}.project-settings .setting{display:flex;flex-direction:column;gap:4px;margin:12px 0}.project-settings .setting-label{color:var(--dim);font-size:11px;letter-spacing:.04em;text-transform:uppercase}.project-settings .setting-pick{display:flex;gap:4px}.project-settings .setting-pick button{flex:1 1;padding:6px 10px;background:var(--bg);color:var(--dim);border:var(--edge);box-shadow:var(--lift-sm);font:inherit;font-size:13px;cursor:pointer}.project-settings .setting-pick button.on{color:var(--accent);border-color:var(--accent)}.project-settings .setting-check{flex-direction:row;align-items:flex-start;gap:8px}.project-settings .setting-check input{margin-top:2px}.project-settings .setting-hint{display:block;color:var(--dim);font-size:12px;line-height:1.45;margin-top:2px}.project-settings input:not([type=checkbox]),.project-settings select{padding-block:5px}.project-settings input:not([type=checkbox]):focus,.project-settings select:focus{outline:none;border-color:var(--accent)}.project-settings .setting-said{margin:10px 0 0;color:var(--accent);font-size:12px;overflow-wrap:anywhere}.prefs{background:var(--panel);border:1px solid var(--box-edge);padding:18px 22px;min-width:340px}.prefs h3{margin:0 0 14px;color:var(--accent)}.pref-row{display:flex;align-items:center;gap:16px}.pref-name{font-weight:600;margin-right:8px}.pref-row label{display:flex;align-items:center;gap:5px;cursor:pointer}.pref-hint{color:var(--dim);font-size:12px;margin:10px 0 14px}.pref-row .font-step{background:var(--panel-edge);color:var(--text);border:1px solid var(--box-edge);padding:2px 8px;cursor:pointer}.pref-row input[type=range]{flex:1 1;accent-color:var(--accent)}.pref-value{color:var(--dim);font-family:var(--mono);font-size:12px;min-width:5ch}.compare-name{flex:1 1;min-width:0;background:var(--input-bg);color:var(--text);border:1px solid var(--accent);padding:3px 6px;font-size:13px}.prefs.lib{min-width:520px;max-height:80vh;display:flex;flex-direction:column}.lib-search{width:100%;background:var(--bg);color:var(--text);border:var(--edge);box-shadow:var(--lift);padding:6px 8px;font:inherit;margin:8px 0}.lib-list{flex:1 1;min-height:0;overflow-y:auto;margin-bottom:10px}.lib-item{display:flex;gap:10px;align-items:baseline;width:100%;text-align:left;background:var(--bg);color:var(--text);border:var(--edge);box-shadow:var(--lift);padding:6px 10px;margin-bottom:4px;cursor:pointer}.lib-item:hover{border-color:var(--accent)}.lib-composer{font-weight:600;white-space:nowrap}.lib-title{flex:1 1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lib-cells{color:var(--dim);font-size:12px;white-space:nowrap}.prefs button{background:var(--panel-edge);color:var(--text);border:1px solid var(--box-edge);padding:4px 14px;cursor:pointer}.ps-root{display:grid;width:max-content;margin:6px 0;background:var(--input-bg)}.ps-cell,.ps-root{border:1px solid var(--box-edge);overflow:hidden}.ps-cell{display:flex;align-items:center;justify-content:center;min-width:0;font-family:var(--mono);font-size:calc(var(--code-size, 13.5px) - 2.5px);white-space:nowrap}.ps-bar{height:1px;background:color-mix(in srgb,var(--accent) 55%,transparent);align-self:start;justify-self:stretch;z-index:1;pointer-events:none}.ps-bar-end{margin-top:-1px}.ps-bar-final{align-self:end}.enum-grid{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-start;margin:6px 0}.enum-item .ps-root,.enum-item .ps-stack{margin:4px 0 0}.out-toggle{display:block;background:none;border:none;color:var(--dim);font-family:var(--mono);font-size:calc(var(--code-size, 13.5px) - 1px);cursor:pointer;padding:2px 0;text-align:left}.out-toggle:hover{color:var(--text)}.mock-score{margin:6px 0;border:1px solid #32323f;background:var(--input-bg);overflow-x:auto}.mock-score .hl-layer{overflow-x:visible;min-width:max-content}.ps-scroll{position:relative;width:max-content;max-width:100%;margin:6px auto}.ps-cursor{position:absolute;left:0;right:0;height:2px;background:var(--accent);box-shadow:0 0 6px var(--accent);z-index:3;pointer-events:none}.ps-scroll .ps-root,.ps-scroll .ps-stack{margin:0}.ps-stack{display:flex;flex-direction:column;gap:2px;margin:6px 0}.ps-stack .ps-root{margin:0}.ps-cell span{overflow:hidden;text-overflow:ellipsis;padding:0 2px}.ps-drum{background:rgba(232,168,110,.18);color:var(--tok-sound,#e8a86e)}.ps-note{background:rgba(111,215,196,.16);color:#6fd7c4}.ps-rest{background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(255,255,255,.04) 0,rgba(255,255,255,.04) 8px)}.ps-unknown{color:var(--dim)}.line-out{color:var(--text)}.line-info{color:var(--dim)}.line-warn{color:var(--warn)}.line-err{color:var(--err)}.cell.pc-block .editor{border-color:#4d7fbf;box-shadow:0 0 0 1px rgba(77,127,191,.35)}.hl-line.pc-line{background:rgba(77,127,191,.16)}.line-nums [data-doc-line].pc-line{color:#8fb8ef;background:rgba(77,127,191,.18);font-weight:600}.light-items{display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;flex:1 1;min-width:0}.light-items::-webkit-scrollbar{display:none}button.light-block{cursor:pointer;font:inherit}.light-block.out-of-scope{opacity:.32}.doc-col{flex-direction:column}.doc-col,.doc-row{display:flex;flex:1 1;min-width:0;min-height:0}.pitch-bar{flex:none;display:flex;align-items:stretch}.pitch-bar-spacer{flex:none;border-right:1px solid var(--panel-edge)}.pitch-bar-rail{width:var(--rail-w,0)}.pitch-bar-panel{width:var(--panel-w,0)}.pitch-bar-gutter{width:var(--gutter-w,0)}.pitch-bar .light-line{flex:1 1;min-width:0;padding-block:.25em}.pitch-bar .light-items{justify-content:center}@media (max-width:720px){.pitch-bar{display:none}}.pitch-bar:empty{display:none}.pitch-bar .light-line{border-bottom:1px solid var(--panel-edge)}.pitch-strip{gap:3px}.pitch-chip{display:inline-flex;align-items:center;gap:4px;flex-shrink:0;min-width:34px;justify-content:center;padding:2px 7px;font-family:var(--mono);font-size:11px;border:1px solid var(--box-edge);transition:background .12s,box-shadow .12s,color .12s}.pitch-chip.white{background:var(--input-bg);color:var(--dim)}.pitch-chip.black{background:#16161d;color:var(--dim)}.pitch-chip.tonic{border-color:#4d7fbf}.pitch-chip.on{background:var(--pitch-color);color:#14141b;box-shadow:0 0 9px var(--pitch-color);transition:none}.pitch-divider{width:1px;height:18px;flex:0 0 auto;margin:0 3px;background:#3a3a4a}.key-chords{display:inline-flex;align-items:center;gap:3px;flex-shrink:0}.chord-chip{min-width:24px;padding:2px 5px;border:1px solid var(--box-edge);color:var(--dim);font-family:var(--mono);font-size:10px;text-align:center;transition:background .12s,box-shadow .12s,color .12s}.chord-chip.on{background:var(--pitch-color);border-color:var(--pitch-color);color:#14141b;box-shadow:0 0 8px var(--pitch-color)}.inversion-detector{min-width:62px;padding-left:5px;color:var(--dim);font-family:var(--mono);font-size:10px;text-align:left}.inversion-detector.detected{color:var(--text)}.docedit{padding:0;flex:1 0 auto;display:flex;flex-direction:column}.docedit,.docedit .editor{width:max-content;min-width:100%}.docedit .editor{flex:1 0 auto;border:none;background:transparent}.ann-row.claimed,.line-nums [data-doc-line].claimed{background:#4a3f22;color:#ffd479}.line-nums [data-doc-line].claimed{margin:0 -5px 0 -3px;padding:0 5px 0 3px}.ann-row.claimed{margin:0 -2px 0 -8px;padding:0 2px 0 8px}.line-nums [data-doc-line].claimed{cursor:help}.jobs-pane{display:flex;flex-direction:column;gap:8px}.jobs-close{margin-left:auto;padding:0 4px;background:none;border:none;color:var(--dim);font:inherit;font-size:14px;cursor:pointer}.jobs-close:hover{color:var(--text)}.jobs-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.job-row{padding:6px 8px;border:1px solid var(--edge);background:var(--panel)}.job-row.running{border-color:#7a6a33;background:#4a3f22}.job-head{display:flex;align-items:baseline;gap:8px}.job-label{color:var(--text);font-family:var(--mono);font-size:12px}.job-when{margin-left:auto;color:var(--dim);font-size:11px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.job-row.running .job-label,.job-row.running .job-when{color:#ffd479}.job-what{color:var(--dim);font-size:11px}.job-state{margin-top:4px;font-size:11px;line-height:1.4}.job-state.running{color:#ffd479}.job-state.done{color:var(--comment)}.job-state.failed{color:#e06c75}.job-dismiss{margin-top:6px;padding:2px 6px;background:none;border:1px solid var(--edge);color:var(--dim);font:inherit;font-size:11px;cursor:pointer}.job-dismiss:hover{color:var(--text);border-color:var(--text)}.job-dismiss-all{align-self:flex-start}.chat-pane{display:flex;flex-direction:column;gap:0;min-height:0;padding:0}.chat-head{flex:0 0 auto;padding:8px 10px 6px;border-bottom:1px solid var(--panel-edge)}.chat-turns{flex:1 1 auto;min-height:0;overflow-y:auto;padding:10px 10px 6px;scrollbar-width:thin;scrollbar-color:color-mix(in srgb,var(--dim) 70%,var(--bg)) transparent}.chat-empty{margin:12px 4px;color:var(--dim);font-size:12px;line-height:1.5}.chat-list{display:flex;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none}.chat-turn{position:relative;max-width:92%;padding:6px 10px 7px;border:1px solid var(--box-edge);border-radius:3px;background:var(--panel)}.chat-turn.reader{align-self:flex-end;border-color:color-mix(in srgb,var(--accent) 35%,var(--box-edge));background:color-mix(in srgb,var(--accent) 9%,var(--panel))}.chat-turn.model{align-self:flex-start;border-left:3px solid var(--accent);background:color-mix(in srgb,var(--text) 5%,var(--panel))}.chat-turn.system{align-self:stretch;max-width:none;padding:2px 6px;border:0;border-radius:0;background:none;text-align:center}.chat-turn.running{border-color:#7a6a33 #7a6a33 #7a6a33 #ffd479;background:#3a3220}.chat-turn-head{display:flex;align-items:baseline;gap:8px;font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--dim)}.chat-turn.system .chat-turn-head{display:inline-flex;gap:6px;margin-right:6px;vertical-align:baseline}.chat-who{color:var(--text);font-weight:600}.chat-turn.model .chat-who{color:var(--accent)}.chat-turn.system .chat-who{color:var(--dim);font-weight:500}.chat-turn.running .chat-when,.chat-turn.running .chat-who{color:#ffd479}.chat-kind{font-family:var(--mono);text-transform:none;letter-spacing:0}.chat-when{margin-left:auto;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chat-turn.system .chat-when{margin-left:0}.chat-text{margin-top:3px;font-size:12.5px;line-height:1.5;white-space:pre-wrap;overflow-wrap:anywhere}.chat-turn.system .chat-text{display:inline;margin:0;color:var(--dim);font-size:11px}.chat-text code{padding:0 3px;background:color-mix(in srgb,var(--text) 10%,transparent);border-radius:2px;font-family:var(--mono);font-size:11.5px}.chat-text strong{font-weight:600;color:var(--text)}.chat-code{margin:4px 0 0;padding:5px 7px;max-height:12em;overflow:auto;background:var(--bg);border:1px solid var(--box-edge);border-radius:2px;font-family:var(--mono);font-size:11px;line-height:1.4;white-space:pre}.chat-pulse{display:inline-block;width:7px;height:7px;margin-right:7px;border-radius:50%;background:#ffd479;vertical-align:1px;animation:chat-pulse 1.2s ease-in-out infinite}@keyframes chat-pulse{0%,to{opacity:.35}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.chat-pulse{animation:none}}.chat-proposal-line{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-top:6px;padding-top:5px;border-top:1px dashed var(--box-edge);color:var(--dim);font-size:11px}.chat-small-btn{padding:1px 8px;background:none;border:1px solid var(--box-edge);border-radius:2px;color:var(--text);font:inherit;font-size:11px;cursor:pointer}.chat-small-btn:hover{border-color:var(--accent);color:var(--accent)}.chat-small-btn.primary{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:600}.chat-small-btn.primary:hover{color:var(--bg);filter:brightness(1.1)}.chat-decide{display:inline-flex;gap:6px;margin-top:6px}.chat-turn.deciding{border-color:color-mix(in srgb,var(--accent) 45%,var(--box-edge));border-left-color:var(--accent);background:color-mix(in srgb,var(--accent) 8%,var(--panel))}.chat-turn.deciding .chat-when,.chat-turn.deciding .chat-who{color:var(--accent)}.chat-composer{flex:0 0 auto;padding:8px 10px 10px;border-top:1px solid var(--panel-edge);background:var(--panel)}.chat-context-chip{display:flex;align-items:center;gap:8px;margin-bottom:6px;padding:3px 4px 3px 9px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--box-edge));border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));font-size:11.5px}.chat-context-chip strong{font-weight:600}.chat-context-drop{margin-left:auto;padding:0 6px;background:none;border:0;color:var(--dim);font:inherit;font-size:14px;line-height:1;cursor:pointer}.chat-context-drop:hover{color:var(--text)}.chat-composer textarea{display:block;width:100%;box-sizing:border-box;resize:vertical;min-height:2.6em;padding:7px 9px;background:var(--bg);border:1px solid var(--box-edge);border-radius:3px;color:var(--text);font:inherit;font-size:12.5px;line-height:1.45}.chat-composer textarea:focus{outline:none;border-color:var(--accent)}.chat-composer textarea:disabled{opacity:.6}.chat-composer-acts{display:flex;align-items:center;gap:10px;margin-top:6px}.chat-hint{flex:1 1 auto;color:var(--dim);font-size:10.5px;line-height:1.4}.chat-send{flex:0 0 auto;padding:4px 14px;background:var(--accent);border:1px solid var(--accent);border-radius:3px;color:var(--bg);font:inherit;font-size:12px;font-weight:600;cursor:pointer}.chat-send:hover:not(:disabled){filter:brightness(1.1)}.chat-send:disabled{background:none;border-color:var(--box-edge);color:var(--dim);cursor:default}.chat-review{display:flex;align-items:center;gap:8px;min-width:0;padding:2px 8px;border:1px solid color-mix(in srgb,var(--accent) 45%,var(--box-edge));border-radius:3px;background:color-mix(in srgb,var(--accent) 10%,var(--panel));font-size:12px}.chat-review-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.toolbar .chat-review-apply,.toolbar .chat-review-discard{flex:0 0 auto;padding:2px 10px;border:1px solid var(--box-edge);border-radius:3px;background:none;color:var(--text);font:inherit;font-size:12px;cursor:pointer}.toolbar .chat-review-apply{border-color:var(--accent);background:var(--accent);color:var(--bg);font-weight:600}.chat-auth{flex:0 0 auto;display:flex;flex-direction:column;gap:6px;padding:10px;border-top:1px solid var(--panel-edge);background:var(--panel)}.chat-auth-say{margin:0 0 2px;font-size:12px;line-height:1.45}.chat-auth-say strong{font-weight:600}.chat-auth input{display:block;width:100%;box-sizing:border-box;padding:6px 9px;background:var(--bg);border:1px solid var(--box-edge);border-radius:3px;color:var(--text);font:inherit;font-size:12.5px}.chat-auth input:focus{outline:none;border-color:var(--accent)}.chat-auth-error{margin:0;color:#e06c75;font-size:11.5px}.chat-auth-note{margin:0;color:var(--dim);font-size:11.5px;line-height:1.4}.chat-link{padding:0;background:none;border:0;color:var(--accent);font:inherit;font-size:inherit;text-decoration:underline;cursor:pointer}.chat-why{flex:0 0 auto;margin:0;padding:10px;border-top:1px solid var(--panel-edge);color:var(--dim);font-size:11.5px;line-height:1.45}.side-rail-count{min-width:14px;padding:0 3px;border:1px solid #7a6a33;background:#4a3f22;color:#ffd479;font-size:9px;line-height:13px;text-align:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line-nums [data-doc-line].has-error{color:#e06c75;font-weight:600}.tray-problems{display:flex;flex-direction:column;gap:2px;max-height:84px;overflow-y:auto;scrollbar-width:thin}.tray-broken{display:grid;align-content:start;grid-gap:8px;gap:8px;padding:12px 14px;min-height:96px}.tray-broken-head{font-family:var(--mono);font-size:12px;color:#e06c75}.tray-broken-head .fine{color:var(--dim);font-size:11px}.tray-problems-broken{max-height:none}.tray-problems-broken .problem{font-size:12px;white-space:pre-wrap}.problem{display:flex;gap:8px;align-items:baseline;text-align:left;background:none;border:none;cursor:pointer;font-family:var(--mono);font-size:11px;padding:1px 2px;color:var(--dim)}.problem:hover{background:var(--input-bg)}.problem.err{color:#e06c75}.problem.warn{color:#d3b06a}.problem-line{min-width:34px;text-align:right;opacity:.7}.tray-play{background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);cursor:pointer;font-size:11px}.tray-transport button.tray-play{min-width:54px;padding-inline:0}.tray-play:disabled{opacity:.4;cursor:default}.tray-progress{position:relative;overflow:hidden;height:7px}.tray-progress.seekable{cursor:pointer;touch-action:none}.tray-seg{position:absolute;top:0;bottom:0;opacity:.55;border-right:1px solid var(--panel)}.tray-progress.seekable:hover .tray-seg{opacity:.8}.tray-progress-fill{position:absolute;top:0;bottom:0;left:0;background:rgba(10,10,14,.55);pointer-events:none}.tray-progress-head{position:absolute;top:-1px;bottom:-1px;width:2px;margin-left:-1px;background:#cfe3ff;pointer-events:none}.tray-knobs{display:flex;align-items:center;gap:10px;margin-left:auto}.tray-knob{display:inline-flex;align-items:center;gap:4px}.tray-knob-head{color:var(--dim);font-size:9px;text-transform:uppercase;letter-spacing:.08em}.tray-temper{font-family:var(--mono);font-size:10px;color:var(--fg);background:transparent;border:1px solid var(--box-edge);padding:1px 2px;cursor:pointer}.tray-temper:hover{border-color:var(--dim)}.tray-knob-value{font-family:var(--mono);font-size:10px;color:var(--dim);min-width:26px;text-align:right}.tray-speed,.tray-vol{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:66px;height:13px;padding:0;border:1px solid var(--box-edge);background:linear-gradient(to right,var(--text) 0 var(--at,0),var(--bg) var(--at,0) 100%);cursor:pointer}.tray-speed::-webkit-slider-thumb,.tray-vol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:7px;height:11px;background:var(--bg);border:1px solid var(--box-edge)}.tray-speed::-moz-range-thumb,.tray-vol::-moz-range-thumb{width:7px;height:11px;border-radius:0;background:var(--bg);border:1px solid var(--box-edge)}.tray-speed{width:132px}.tray-transport .tray-xpose-step{padding:0 5px;line-height:1.4}.tray-transport .tray-xpose-value{background:none;border:none;padding:0 2px;cursor:pointer}.tray-transport .tray-xpose-value[data-semis]:not([data-semis="0"]){color:var(--text)}.tray-xpose-tag{margin-left:4px;font-size:10px;text-transform:none;letter-spacing:0}.tray-loop,.tray-xpose-tag{font-family:var(--mono);color:#e0c4d8}.tray-loop{font-size:11px}.tray-loop-shade{position:absolute;top:0;bottom:0;background:rgba(224,196,216,.22);border-left:1px solid rgba(224,196,216,.85);border-right:1px solid rgba(224,196,216,.85);pointer-events:none}.picker{max-width:900px;margin:0 auto;padding:28px 24px 48px;color:var(--text);font-family:var(--mono)}.picker.picker-wide{max-width:1440px}.picker-head.bare{margin-bottom:6px}.picker-head.bare .picker-tabs{justify-content:flex-end}.picker-head h1{margin:0 0 14px;font-size:20px;font-weight:600;letter-spacing:.02em}.picker-actions{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}.picker-actions button,.picker-import{background:var(--bg);border:var(--edge);box-shadow:var(--lift);color:var(--text);cursor:pointer;font:inherit;font-size:13px;padding:7px 13px}.picker-actions button:hover,.picker-import:hover{border-color:var(--accent);color:var(--accent)}.picker-import input{display:none}.picker-busy,.picker-empty{color:var(--dim);font-size:13px}.loading{display:grid;place-content:center;justify-items:center;align-content:center;grid-gap:14px;gap:14px;padding:24px;min-height:100%;width:100%;box-sizing:border-box;text-align:center;font-family:var(--mono);font-size:15px;letter-spacing:.12em;color:var(--dim)}.loading-boxes{display:flex;gap:8px}.loading-boxes i{display:block;width:18px;height:18px;border:1px solid var(--dim);background:var(--dim);opacity:.15;animation:loading-box 1.8s step-end infinite}.loading-boxes i:first-child{animation-name:loading-box-1}.loading-boxes i:nth-child(2){animation-name:loading-box-2}.loading-boxes i:nth-child(3){animation-name:loading-box-3}.loading-boxes i:nth-child(4){animation-name:loading-box-4}.loading-boxes i:nth-child(5){animation-name:loading-box-5}@keyframes loading-box-1{0%{opacity:.15}16%{opacity:1}to{opacity:1}}@keyframes loading-box-2{0%{opacity:.15}33%{opacity:1}to{opacity:1}}@keyframes loading-box-3{0%{opacity:.15}50%{opacity:1}to{opacity:1}}@keyframes loading-box-4{0%{opacity:.15}66%{opacity:1}to{opacity:1}}@keyframes loading-box-5{0%{opacity:.15}83%{opacity:1}to{opacity:1}}@media (prefers-reduced-motion:reduce){.loading-boxes i{animation:none;opacity:.6}}.picker-error{background:rgba(240,120,120,.1);border:1px solid var(--err);color:var(--err);font-size:13px;padding:8px 12px}.picker-error button{background:none;border:none;color:inherit;cursor:pointer;font:inherit;text-decoration:underline}.picker-list{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.picker-list li{align-items:center;background:var(--bg);border:var(--edge);box-shadow:var(--lift);display:flex;gap:10px;padding:4px 10px 4px 4px}.picker-list li:hover{border-color:var(--accent)}.picker-open{background:none;border:none;color:var(--text);cursor:pointer;display:flex;flex:1 1;flex-direction:column;font:inherit;gap:2px;padding:9px 12px;text-align:left}.picker-name{font-size:14px}.picker-sub{color:var(--dim);font-family:var(--mono);font-size:11px}.picker-row-actions{display:flex;gap:4px}.picker-row-actions button{background:none;border:1px solid transparent;color:var(--dim);cursor:pointer;font:inherit;font-size:12px;padding:5px 9px}.picker-row-actions button:hover:not(:disabled){border-color:var(--box-edge);color:var(--text)}.picker-row-actions button:disabled{cursor:default;opacity:.35}.picker-tabs{align-items:center;border-bottom:1px solid var(--panel-edge);display:flex;gap:4px;margin-bottom:14px;padding-bottom:8px}.picker-tabs>button{background:none;border:1px solid transparent;color:var(--dim);cursor:pointer;font:inherit;font-size:13px;padding:6px 12px}.picker-tabs>button:hover{color:var(--text)}.picker-tabs>button.on{background:var(--panel);border-color:var(--box-edge);color:var(--text)}.picker-tabs>button span{color:var(--dim);font-family:var(--mono);font-size:11px;margin-left:5px}.picker-filter{background:var(--bg);border:var(--edge);box-shadow:var(--lift);color:var(--text);flex:1 1;font:inherit;font-size:13px;margin-left:auto;max-width:280px;padding:6px 10px}.picker-browse section h2{color:var(--dim);font-size:11px;font-weight:600;letter-spacing:.08em;margin:16px 0 6px;text-transform:uppercase}.picker-debug{border-top:1px solid var(--panel-edge);margin-top:30px;padding-top:18px}.picker-debug-head{align-items:baseline;display:flex;justify-content:space-between;gap:12px}.picker-debug-kicker{color:var(--accent);font-family:var(--mono);font-size:10px;letter-spacing:.08em;margin:0 0 4px;text-transform:uppercase}.picker-debug h2{font-size:16px;font-weight:600;margin:0}.picker-debug-card-copy p,.picker-debug-count,.picker-debug-intro{color:var(--dim);font-size:12px}.picker-debug-intro{line-height:1.5;margin:8px 0 14px;max-width:650px}.picker-debug-grid{display:grid;grid-gap:10px;gap:10px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}.picker-debug-card{background:var(--bg);border:var(--edge);box-shadow:var(--lift);overflow:hidden}.picker-debug-score{background:#14141b;height:220px;overflow-x:auto;overflow-y:hidden}.picker-debug-score .sheet-music{min-width:max-content;width:max-content}.picker-debug-preview,.picker-debug-score img{display:block;height:220px;max-width:100%;object-fit:contain;width:100%}.picker-debug-capture{height:220px;left:-10000px;overflow:hidden;position:fixed;top:0;width:900px}.picker-debug-render{align-items:center;background:#14141b;border:0;color:var(--accent);cursor:pointer;display:flex;font:inherit;height:220px;justify-content:center;width:100%}.picker-debug-render:hover{background:#1b1b25}.beam-debug-svg{display:block;height:auto;width:100%}.picker-debug-card-copy{padding:9px 10px 10px}.picker-debug-card-title{align-items:center;display:flex;gap:8px;justify-content:space-between}.picker-debug-card h3{font-size:13px;font-weight:600;margin:0}.picker-debug-card-copy p{line-height:1.4;margin:5px 0 8px}.picker-debug-card code{color:#8d8da0;font-family:var(--mono);font-size:10px}.picker-debug-export{display:flex;gap:5px;margin-top:9px}.picker-debug-export button{background:transparent;border:var(--edge);box-shadow:var(--lift-sm);color:var(--dim);cursor:pointer;font:inherit;font-size:10px;padding:3px 6px}.picker-debug-export button:hover{border-color:var(--accent);color:var(--accent)}.picker-debug-status{border:1px solid;font-family:var(--mono);font-size:9px;padding:2px 4px;text-transform:uppercase}.picker-debug-status.pass{color:#8bd5a5}.picker-debug-status.legal{color:#d4bd7d}.picker-debug-status.review{color:#c8c8d0}.picker-debug-logbar{align-items:center;color:var(--dim);display:flex;flex-wrap:wrap;gap:6px;margin:12px 0 6px}.picker-debug-logbar button{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:var(--text);cursor:pointer;font:inherit;font-size:11px;padding:4px 7px}.picker-debug-logbar button:hover{border-color:var(--accent)}.picker-debug-log{color:#b9b9c8;font:10px/1.4 var(--mono);max-height:180px;overflow:auto;padding:8px;white-space:pre-wrap}.picker-debug-log,.picker-debug-review{background:var(--bg);border:var(--edge);box-shadow:var(--lift)}.picker-debug-review{margin:0 0 10px;padding:10px}.picker-debug-review-empty{color:var(--dim);font-size:12px;margin:0}.picker-debug-review-detail{min-width:0}.picker-debug-review-feedback{color:var(--dim);font-size:12px;margin:10px 0}.picker-debug-review-images{display:flex;gap:16px}.picker-debug-review-images>div{flex:1 1;min-width:0}.picker-debug-review-images h4{color:var(--dim);font-size:11px;margin:0 0 6px;text-transform:uppercase}.picker-debug-review-images canvas,.picker-debug-review-images img{background:var(--bg);border:var(--edge);box-shadow:var(--lift);max-width:100%}.picker-debug-controls-bar{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0 10px}.picker-debug-zoom-controls{display:inline-flex;flex-wrap:wrap;align-items:center;gap:10px}.picker-debug-group-label{padding:0 6px 0 8px;color:var(--dim)}.picker-debug-group-label,.picker-debug-value-badge{display:inline-flex;align-items:center;font-size:11px;background:var(--input-bg);border-right:1px solid var(--panel-edge)}.picker-debug-value-badge{justify-content:center;min-width:38px;padding:0 6px;font-family:var(--mono);color:var(--text)}.picker-debug-toggle-group{display:inline-flex;border:var(--edge);box-shadow:var(--lift);overflow:hidden}.picker-debug-toggle-group button{background:var(--panel);border:0;border-right:1px solid var(--box-edge);color:var(--dim);cursor:pointer;font:inherit;font-size:11px;padding:5px 10px}.picker-debug-toggle-group button:last-child{border-right:0}.picker-debug-toggle-group button.on{background:var(--accent);color:#14141b;font-weight:600}.picker-debug-report-btn{background:var(--bg);border:var(--edge);box-shadow:var(--lift);color:#e3e3ea;cursor:pointer;font:inherit;font-size:11px;padding:5px 12px;margin-left:auto}.picker-debug-report-btn:hover{border-color:var(--accent);color:var(--accent)}.picker-debug-single-container{background:var(--bg);border:var(--edge);box-shadow:var(--lift);margin-top:14px;overflow:hidden}.picker-debug-single-nav{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#14141b;border-bottom:1px solid var(--panel-edge)}.picker-debug-single-nav button{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:var(--text);cursor:pointer;font:inherit;font-size:12px;padding:6px 14px}.picker-debug-single-nav button:disabled{opacity:.3;cursor:not-allowed}.picker-debug-single-nav button:not(:disabled):hover{border-color:var(--accent);color:var(--accent)}.picker-debug-single-pos{font-size:13px;color:#e3e3ea}.picker-debug-single-body{display:flex;flex-direction:column}.picker-debug-single-after,.picker-debug-single-before{background:#14141b;border-bottom:1px solid var(--panel-edge);min-width:0}.picker-debug-single-after h4,.picker-debug-single-before h4{color:var(--dim);font-size:11px;margin:8px 8px 0;text-transform:uppercase}.picker-debug-single-before img{display:block;height:auto;margin:8px auto 0;max-width:1440px;width:100%}.picker-debug-single-before p{color:var(--dim);font-size:12px;margin:10px}.picker-debug-single-score{background:#14141b;min-height:280px;overflow:hidden;padding:16px 8px;border-bottom:1px solid var(--panel-edge);display:flex;justify-content:center;align-items:flex-start}.picker-debug-single-score-scaled{width:max-content;min-width:max-content;margin:0 auto}.picker-debug-single-score-scaled .sheet-music-canvas-wrap{height:var(--beam-staff-base-height);margin-bottom:calc(var(--beam-staff-height) - var(--beam-staff-base-height));transform:scaleY(var(--beam-staff-scale));transform-origin:center top}.picker-debug-single-score .sheet-music{min-width:max-content;width:max-content;margin:0 auto}.picker-debug-single-info{padding:16px;background:#1e1e28}.picker-debug-single-container.review .picker-debug-single-info{order:-1}.picker-debug-single-detail{color:var(--dim);font-size:13px;margin:8px 0 10px}.picker-debug-feedback-box{margin-top:14px;display:flex;flex-direction:column;gap:6px}.picker-debug-feedback-box label{font-size:12px;color:#e3e3ea}.picker-debug-feedback-box textarea{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:#e3e3ea;font:inherit;font-size:12px;padding:8px;resize:vertical}.picker-debug-feedback-box textarea:focus{outline:none;border-color:var(--accent)}.picker-debug-feedback-mini{margin-top:8px}.picker-debug-feedback-mini textarea{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:#e3e3ea;font:inherit;font-size:11px;padding:4px 6px;width:100%;box-sizing:border-box;resize:vertical}.picker-browse ul{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;padding:0}.picker-browse li button{background:none;border:1px solid transparent;color:var(--text);cursor:pointer;display:flex;flex-direction:column;font:inherit;gap:2px;padding:8px 11px;text-align:left;width:100%}.picker-browse li button:hover{background:var(--panel);border-color:var(--box-edge)}.cmp-sort button{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:var(--dim);cursor:pointer;font-size:11px;margin-left:6px;padding:3px 8px}.cmp-sort button.on{border-color:var(--accent);color:var(--accent)}.cmp-second{border-top:1px solid var(--panel-edge);margin-top:26px;padding-top:18px}.cmp-legend{display:flex;flex-wrap:wrap;font-family:var(--mono);font-size:11px;gap:4px 14px;list-style:none;margin:0 0 12px;padding:0}.cmp-legend li{align-items:center;color:var(--dim);display:flex;gap:5px}.cmp-legend li em{color:var(--fg);font-style:normal}.cmp-legend .cmp-dot{display:inline-block;flex:0 0 auto;height:9px;width:9px}.cmp-table{border-collapse:collapse;font-family:var(--mono);font-size:11px;width:100%}.cmp-table th{border-bottom:1px solid var(--panel-edge);color:var(--dim);font-weight:500;padding:4px 8px 4px 0;text-align:left}.cmp-table td{border-bottom:1px solid #1c1c24;padding:3px 8px 3px 0;white-space:nowrap}.cmp-table td.num{text-align:right}.cmp-table tr.bad td{color:#f77e9e}.cmp-table td.cmp-missing{color:var(--dim);max-width:340px;overflow:hidden;text-overflow:ellipsis}.cmp-bar{display:flex;height:9px;min-width:180px;overflow:hidden;width:100%}.cmp-bar span{display:block}.bench-head td:first-child{color:var(--dim)}.bench-meter{background:#14141b;display:inline-block;height:7px;margin-left:6px;overflow:hidden;vertical-align:middle;width:60px}.bench-meter span{display:block;height:100%}.cmp-table tr.bench-us td{color:var(--accent);font-weight:600}.bench-chart{margin:6px 0 14px}.bench-grid{stroke:#23232d;stroke-width:1}.bench-tick{fill:var(--dim);font-family:var(--mono);font-size:8px}.cmp-table td.bench-under{color:#f77e9e}.cmp-table td.bench-over{color:#f7c97e}.cmp-table td.bench-best{color:#7ef7b0}.bench-baseline{align-items:center;gap:8px}.bench-baseline-at{color:var(--dim);font-family:var(--mono);font-size:11px}.bench-baseline-at em{font-style:normal}.bench-best,.bench-up{color:#7ef7b0}.bench-down{color:#f77e9e}.bench-run{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px}.bench-run button{background:#20202a;border:1px solid var(--accent);color:var(--accent);cursor:pointer;font-size:12px;padding:5px 12px}.bench-run button:disabled{border-color:var(--box-edge);color:var(--dim);cursor:default}.bench-note{color:var(--dim);font-size:11px}.bench-log{background:var(--bg);border:var(--edge);box-shadow:var(--lift);color:var(--dim);font-size:10px;margin:0;max-height:90px;overflow:auto;padding:6px 8px;white-space:pre-wrap;width:100%}.picker-progress{align-items:baseline;color:var(--dim);display:flex;flex-wrap:wrap;font-size:12px;gap:6px 18px;margin-bottom:4px}.picker-progress-count{color:var(--text);font-family:var(--mono)}.picker-nextup{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.picker-nextup button{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:var(--text);cursor:pointer;font:inherit;font-size:11px;margin-left:4px;padding:2px 8px}.picker-nextup button:hover{border-color:var(--accent);color:var(--accent)}.picker-saved{margin-left:auto}.picker-saved a{color:var(--accent)}.picker-checklist section h2{margin:12px 0 4px}.picker-section{align-items:baseline;background:none;border:none;color:inherit;cursor:pointer;display:flex;font:inherit;gap:6px;letter-spacing:inherit;padding:4px 0;text-transform:inherit}.picker-section:hover{color:var(--text)}.picker-chevron{display:inline-block;font-size:10px;width:10px}.picker-section-count{font-family:var(--mono);font-weight:400;letter-spacing:0;text-transform:none}.picker-checklist li{align-items:center;display:flex;gap:8px}.picker-checklist li button{flex:1 1}.picker-check{accent-color:var(--accent);cursor:pointer;flex:none;height:15px;margin:0 0 0 4px;width:15px}.picker-seq{display:inline-block;font-family:var(--mono);font-size:11px;margin-right:8px;min-width:2.2em;text-align:right}.picker-checklist li.done .picker-name,.picker-seq{color:var(--dim)}.picker-done-mark{color:var(--accent);margin-left:8px}.picker-next-mark{border:1px solid var(--accent);border-radius:999px;color:var(--accent);font-size:10px;letter-spacing:.04em;margin-left:10px;padding:1px 7px;text-transform:uppercase;vertical-align:1px}.picker-checklist li.next>button{border-color:var(--box-edge)}.prefs.feedback{width:min(680px,calc(100vw - 48px));max-height:calc(100vh - 80px);overflow-y:auto}.prefs.feedback h2{margin:0 0 6px;font-size:18px;font-weight:600}.feedback-about{margin:0 0 10px;color:var(--text);font-weight:600}.feedback-prompt{margin:0 0 14px;color:var(--dim);font-size:12.5px;line-height:1.5}.feedback-axes{display:grid;grid-gap:8px;gap:8px;margin-bottom:14px}.feedback-axis{display:grid;grid-template-columns:1fr auto minmax(0,150px);align-items:center;grid-gap:10px;gap:10px}.feedback-axis-label{font-size:12.5px;color:var(--text)}.feedback-scale{display:inline-flex;gap:3px}.feedback-scale button{width:26px;padding:3px 0;background:var(--input-bg);color:var(--dim);border:1px solid var(--box-edge);font-family:var(--mono);font-size:11px;cursor:pointer}.feedback-scale button:hover{color:var(--text)}.feedback-scale button.on{background:#2a3550;border-color:#4a6aa8;color:#cfe3ff}.feedback-axis-ends{font-size:10.5px;color:var(--dim);text-align:right}.feedback-note{display:block;width:100%;box-sizing:border-box;resize:vertical;background:var(--input-bg);color:var(--text);border:1px solid var(--box-edge);padding:8px 10px;font-family:var(--mono);font-size:12px;line-height:1.5}.feedback-note:focus{outline:none;border-color:#4a6aa8}.feedback-attached,.feedback-error,.feedback-sent{margin:10px 0 0;font-size:11.5px}.feedback-attached{color:var(--dim)}.feedback-error{color:#ff9b9b}.feedback-sent{color:var(--text);font-size:13px}.feedback-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}@media (max-width:620px){.feedback-axis{grid-template-columns:1fr auto}.feedback-axis-ends{display:none}}.tray-view-pick{display:inline-flex;border:1px solid var(--box-edge);overflow:hidden;background:var(--panel)}.tray-view-pick button{padding:1px 7px;border:0;border-right:1px solid var(--box-edge);background:transparent;color:var(--dim);font:inherit;font-size:10px;cursor:pointer}.tray-view-pick button:last-child{border-right:0}.tray-view-pick button.on{background:#30303d;color:var(--text)}.tray-sheet-body{position:relative}.tray-roll-layer{position:absolute;inset:0;z-index:3;background:#16161c}.tray-sheet-views{position:relative;height:32vh;max-height:32vh;min-height:0}.tray-sheet-controls{flex-wrap:wrap;justify-content:flex-end;max-width:calc(100% - 16px);position:absolute;top:8px;right:8px;z-index:4;display:flex;gap:4px;align-items:center}.tray-sheet{position:relative;display:flex;flex-direction:column;min-height:0}.tray-sheet-body.rolling{overflow:hidden}.piano-roll-panel{display:flex;flex-direction:column}.piano-roll-body{position:relative;min-height:0}.piano-roll{position:absolute;inset:0;overflow-x:hidden;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;cursor:text}.piano-roll::-webkit-scrollbar{width:0;height:0}.piano-roll canvas{display:block}.piano-roll-keys{position:absolute;left:0;top:0;z-index:1;pointer-events:none}.piano-roll-range{position:absolute;right:0;top:0;z-index:2;cursor:ns-resize}.piano-roll-playhead{position:absolute;top:0;bottom:0;width:1px;background:#ffd479;pointer-events:none;z-index:2}.piano-roll.falling{overflow-x:auto;overflow-y:hidden}.piano-roll-keys.falling{top:auto;bottom:0;left:0}.piano-roll-playhead.falling{top:auto;left:0;right:0;width:auto;height:1px}.piano-roll-range.falling{right:auto;left:0;top:0;bottom:auto;cursor:ew-resize}.tray-sheet-body.rolling .sheet-music-stage{visibility:hidden}.picker-debug-single-score{position:relative}.picker-debug-single-score.rolling .sheet-music-stage{visibility:hidden}.picker-debug-single-score .tray-view-pick{position:absolute;right:10px;top:8px;z-index:4}.picker-debug-roll-layer{position:absolute;inset:0;z-index:2;background:#16161c}.picker-debug-play-row{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0 4px}.picker-debug-play{width:54px;height:54px;border-radius:50%;border:1px solid #4a6aa8;background:#2a3550;color:#cfe3ff;font-size:20px;line-height:1;cursor:pointer}.picker-debug-play:hover{background:#33406a}.picker-debug-view-pick{padding:4px 12px;border:1px solid var(--box-edge);background:transparent;color:var(--dim);font:inherit;font-size:11px;cursor:pointer}.picker-debug-view-pick.on{background:#30303d;color:var(--text)}.picker-debug-review{margin-top:10px;display:grid;grid-gap:10px;gap:10px}.picker-debug-review-said{margin-right:auto;font-size:11.5px;color:var(--dim)}.save-state{font-family:var(--mono);font-size:11px;padding:2px 6px;cursor:default}.save-state.warn{color:#e0b06f;border:1px solid #5c4526}.save-state button{margin-left:8px;font-family:var(--mono);font-size:11px;padding:1px 6px;color:inherit;background:none;border:1px solid;cursor:pointer;opacity:.85}.save-state button:hover{opacity:1}.feedback-gated{border:1px solid rgba(200,160,110,.4);background:rgba(200,160,110,.1);padding:8px 10px}.said-once{display:flex;align-items:center;gap:10px;padding:7px 10px;font-size:12px;line-height:1.45;border-bottom:1px solid var(--panel-edge);background:var(--panel);color:var(--text)}.said-once-warn{background:#2a2418;border-bottom-color:#4a3f22;color:#e6d5a8}.said-once span{flex:1 1 auto;min-width:0}.said-once button{flex:none;background:none;border:0;color:inherit;opacity:.6;cursor:pointer;font-size:13px;line-height:1;padding:2px 4px}.said-once button:hover{opacity:1}.tray-play-wrap{position:relative;display:inline-flex}.tray-play-hint{position:absolute;bottom:calc(100% + 8px);left:0;z-index:6;font-size:20px;line-height:1.2;color:#ffd479;white-space:nowrap;background:#2a2418;border:0;padding:6px 12px;pointer-events:none;animation:play-hint-bounce 2.6s ease-in-out infinite}@keyframes play-hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(6px)}}@media (prefers-reduced-motion:reduce){.tray-play-hint{animation:none}}.tray-play-hint:after{content:"";position:absolute;top:100%;left:14px;border:6px solid transparent;border-top-color:#2a2418}@media (max-width:760px){.tray-play-hint{display:none}}.app:-webkit-full-screen{width:100vw;height:100vh;background:var(--bg)}.app:fullscreen{width:100vw;height:100vh;background:var(--bg)}.find-dock{position:-webkit-sticky;position:sticky;top:0;height:0;z-index:8}.find-bar{position:absolute;top:6px;right:14px;display:flex;align-items:flex-start;gap:4px;padding:5px 6px;background:var(--panel);border:1px solid var(--box-edge);box-shadow:var(--lift)}.find-rows{display:grid;grid-gap:4px;gap:4px}.find-row{display:flex;align-items:center;gap:4px}.find-bar button{min-width:22px;padding:2px 6px;font-family:var(--mono);font-size:11px;color:var(--dim);background:none;border:1px solid transparent;cursor:pointer}.find-bar button:hover:not(:disabled){color:var(--text);border-color:var(--box-edge)}.find-bar button:disabled{opacity:.4;cursor:default}.find-bar .find-toggle.on{color:var(--accent);border-color:var(--accent)}.find-input{width:190px;padding:3px 7px;font-family:var(--mono);font-size:12px;color:var(--text);background:#14141b;border:1px solid var(--box-edge);outline:none}.find-input:focus{border-color:var(--accent)}.find-status{min-width:9ch;padding:0 4px;font-family:var(--mono);font-size:11px;color:var(--dim);white-space:nowrap}.hl-layer mark.find-mark{color:inherit;background:rgba(230,180,80,.26)}.hl-layer mark.find-mark.current{background:rgba(230,180,80,.62)}.inspector-tree-line>button.inspector-rename{flex:none;width:auto;padding:2px 6px;border-left:0;color:var(--dim);opacity:0}.inspector-tree-line:hover>button.inspector-rename,.inspector-tree-line>button.inspector-rename:focus-visible{opacity:1}.inspector-tree-line>button.inspector-rename:hover{color:var(--text)}.tray-sheet-views.split .tray-sheet-body{height:50%}.tray-sheet-views.split .tray-roll-layer{top:50%;border-top:1px solid var(--panel-edge)}.branch-bar{position:relative;display:flex;align-items:center;gap:6px;min-width:0}.audition-variants select,.branch-head select,.compare-head select,.pick-btn,.project-settings select,.toolbar .pick-btn,select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 10 10'%3E%3Cpath d='M1.5 3.5l3.5 3.5 3.5-3.5' fill='none' stroke='%239a9a9a' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 7px center /9px 9px;border:1px solid transparent;color:var(--text);font:inherit;font-size:13px;padding:3px 22px 3px 8px;max-width:14rem;cursor:pointer}.audition-variants select:hover,.branch-head select:hover,.compare-head select:hover,.pick-btn:hover:not(:disabled),.pick-btn[aria-expanded=true],.project-settings select:hover,.toolbar .pick-btn:hover:not(:disabled),.toolbar .pick-btn[aria-expanded=true],select:hover:not(:disabled){border-color:var(--box-edge);background-color:var(--panel-edge)}.pick-btn:disabled,.toolbar .pick-btn:disabled,select:disabled{color:var(--dim);cursor:default}.branch-pick:disabled{color:var(--dim)}.toolbar .branch-push{background:none;border:0;color:var(--text);font:inherit;font-size:13px;text-transform:lowercase;white-space:nowrap;padding:4px 6px;cursor:pointer}.branch-push:before{content:"[ "}.branch-push:after{content:" ]"}.toolbar .branch-push:focus-visible:after,.toolbar .branch-push:focus-visible:before,.toolbar .branch-push:hover:not(:disabled):after,.toolbar .branch-push:hover:not(:disabled):before{color:var(--hover-edge)}.branch-push .key,.branch-push:hover:not(:disabled) .branch-push-label{text-decoration:underline;text-underline-offset:3px}.branch-push .key{color:var(--action)}.branch-history{background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);font:inherit;font-size:12px;padding:3px 9px;cursor:pointer;background:none;border-color:transparent;color:var(--dim)}.branch-history:hover{color:var(--text);border-color:var(--box-edge)}.toolbar .branch-push:disabled{color:var(--dim);cursor:default}.branch-push:disabled .key{color:var(--dim);text-decoration:none}.toolbar .branch-push.dirty{color:var(--warn)}.branch-push.dirty:disabled{color:var(--warn);opacity:.8}.branch-said{color:var(--dim);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:18rem}.branch-log{position:absolute;top:calc(100% + 6px);left:0;z-index:60;width:min(92vw,560px);max-height:60vh;overflow-y:auto;margin:0;padding:5px;list-style:none;background:var(--bg);border:var(--edge);box-shadow:var(--lift)}.branch-log li{display:grid;grid-template-columns:auto 1fr auto auto;align-items:center;grid-gap:10px;gap:10px;padding:6px 8px;font-size:12px}.branch-log li:hover{background:var(--panel-edge)}.branch-log-sha,.branch-log-when{color:var(--dim);font-family:var(--mono);font-size:11px;white-space:nowrap}.branch-log-what{color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.branch-log button{background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);font:inherit;font-size:12px;padding:3px 8px;cursor:pointer}@media (pointer:coarse){.branch-history,.branch-pick,.branch-push{min-height:24px}}.branch-new{position:absolute;top:calc(100% + 6px);left:0;z-index:61;display:flex;align-items:flex-end;gap:10px;padding:10px 12px;background:var(--bg);border:var(--edge);box-shadow:var(--lift);white-space:nowrap}.branch-new label{display:grid;grid-gap:3px;gap:3px;font-size:11px;color:var(--dim)}.branch-new input,.branch-new select{background:var(--bg);border:var(--edge);box-shadow:var(--lift-sm);color:var(--text);font:inherit;font-size:12px;padding:4px 6px}.branch-new select{max-width:18rem}.branch-new input{width:9rem}.branch-new button{background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);font:inherit;font-size:12px;padding:5px 10px;cursor:pointer}.branch-new button:first-of-type{border-color:var(--accent);color:var(--accent)}.branch-settings{position:absolute;top:calc(100% + 6px);left:0;z-index:61;display:grid;grid-gap:10px;gap:10px;width:min(92vw,520px);max-width:calc(100vw - 32px);padding:12px 14px;background:var(--bg);border:var(--edge);box-shadow:var(--lift);font-size:12px;color:var(--text);min-width:0;overflow-wrap:anywhere}.branch-settings label,.branch-settings select{max-width:100%;min-width:0}.branch-publish{display:grid;grid-template-columns:auto 1fr;grid-gap:8px;gap:8px;align-items:start;line-height:1.5}.branch-publish input{margin-top:2px;accent-color:var(--accent);width:16px;height:16px}.branch-settings .fine{color:var(--dim);margin:0;line-height:1.5}.branch-settings button{background:var(--panel-edge);border:1px solid var(--box-edge);color:var(--text);font:inherit;font-size:12px;padding:3px 9px;cursor:pointer}.branch-head{display:grid;grid-gap:4px;gap:4px;color:var(--dim)}.branch-head select{max-width:100%}.branch-history.on{border-color:var(--accent);color:var(--accent)}.branch-bar .branch-gear{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;padding:0;background:none;border:1px solid transparent;color:var(--dim);cursor:pointer}.branch-bar .branch-gear:hover,.branch-bar .branch-gear[aria-expanded=true]{color:var(--text);border-color:var(--box-edge);background:var(--panel-edge)}.branch-bar .branch-gear:disabled{color:var(--panel-edge);cursor:default}.branch-settings button.danger{border-color:#6a3a3a;color:var(--err)}.branch-settings button.danger:hover{background:#3a2626}@media (pointer:coarse){.branch-bar .branch-gear{width:var(--tap);height:var(--tap)}}.branch-project{max-width:14rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--text);font-weight:600;font-size:13px}@media (max-width:720px){.branch-project{max-width:7rem}}.ctx-menu{position:fixed;z-index:60;min-width:220px;padding:4px;background:var(--bg);border:1px solid var(--line,#33333d);border-radius:6px;box-shadow:0 8px 24px rgba(0,0,0,.45)}.ctx-menu button{display:block;width:100%;padding:7px 10px;text-align:left;background:none;border:0;border-radius:4px;color:var(--text);font:inherit;cursor:pointer}.ctx-menu button:focus-visible,.ctx-menu button:hover{background:rgba(110,168,254,.14);outline:none}.refactor-dock{position:-webkit-sticky;position:sticky;top:0;left:0;height:0;z-index:8}.refactor-note{position:absolute;top:6px;right:14px;max-width:min(560px,70vw);display:flex;align-items:flex-start;gap:8px;padding:8px 12px;border-radius:6px;border:1px solid var(--line,#33333d);background:var(--bg);color:var(--text);font-size:12px}.refactor-note.busy{color:var(--dim)}.refactor-note.ok{border-color:rgba(110,168,254,.5)}.refactor-note.warn{border-color:#d9a441}.refactor-note.err{border-color:#e06c75}.refactor-note-close{margin-left:auto;padding:0 6px;background:none;border:0;color:var(--dim);font:inherit;font-size:14px;cursor:pointer}.setting-act{display:grid;grid-gap:4px;gap:4px}.setting-act button{justify-self:start}.prefs.project-settings{width:60vw;max-width:900px;min-width:min(340px,92vw);max-height:86vh;overflow-y:auto}.prefs-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.prefs-head h2{margin:0}.prefs-x{background:none;border:1px solid transparent;color:var(--dim);cursor:pointer;font-size:20px;line-height:1;padding:2px 8px}.prefs-x:focus-visible,.prefs-x:hover{color:var(--text);border-color:var(--box-edge)}.prefs-foot{margin-top:18px;padding-top:14px;border-top:1px solid var(--panel-edge)}.prefs-close{display:block;width:100%;background:var(--bg);color:var(--text);border:var(--edge);box-shadow:var(--lift);padding:9px 18px;font:inherit;font-size:13px;cursor:pointer}.prefs-close:focus-visible,.prefs-close:hover{border-color:var(--accent);color:var(--accent)}.diff-view{overflow:auto}.diff-view .line-nums .diff-gutter{min-width:2ch}.diff-view .line-nums button{all:unset;display:block;width:100%;text-align:right;cursor:pointer;font-weight:700}.diff-view .line-nums .diff-old button{color:#e0806f}.diff-view .line-nums .diff-new button{color:#8fd08f}.diff-view .line-nums .dropped button{color:var(--dim);text-decoration:line-through;font-weight:400}.diff-view .line-nums button:focus-visible,.diff-view .line-nums button:hover{outline:1px solid #6ea8fe;outline-offset:-1px}.diff-view .hl-line.diff-old{background:rgba(224,128,111,.16)}.diff-view .hl-line.diff-new{background:rgba(79,127,79,.22)}.diff-view .hl-line.dropped{background:transparent;opacity:.45}.refactor-stack{position:absolute;top:6px;right:14px;display:grid;grid-gap:6px;gap:6px;justify-items:end;max-width:min(760px,85vw)}.refactor-stack .refactor-note{position:static}.refactor-proposal{display:grid;grid-gap:8px;gap:8px;padding:10px 12px;border-radius:6px;border:1px solid rgba(110,168,254,.5);background:var(--bg);color:var(--text);font-size:12px;max-width:100%}.refactor-proposal.warn{border-color:#d9a441}.refactor-proposal-head{margin:0;max-width:70ch}.refactor-proposal-diff{max-height:50vh}.refactor-proposal-acts{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.refactor-proposal-acts button{font:inherit;font-size:12px;padding:4px 10px;border-radius:4px;border:1px solid var(--line,#33333d);background:var(--bg);color:var(--text);cursor:pointer}.refactor-proposal-acts button.primary{border-color:#6ea8fe}.refactor-proposal-acts button:hover{border-color:var(--text)}.refactor-proposal-acts .hint{color:var(--dim);margin-left:auto}.refactor-ask-veil{position:fixed;inset:0;z-index:40;display:grid;place-items:center;background:rgba(0,0,0,.45)}.refactor-ask{width:min(560px,92vw);display:grid;grid-gap:8px;gap:8px;padding:14px 16px;border-radius:6px;border:1px solid rgba(110,168,254,.5);background:var(--bg);color:var(--text);font-size:12px}.refactor-ask-head{margin:0;font-weight:600}.refactor-ask textarea{width:100%;box-sizing:border-box;resize:vertical;font:inherit;font-family:var(--mono);font-size:13px;line-height:1.5;padding:6px 8px;border:1px solid var(--line,#33333d);border-radius:4px;background:var(--bg);color:var(--text)}.refactor-ask textarea:focus{outline:1px solid #6ea8fe;outline-offset:-1px}.refactor-ask-hint{margin:0;color:var(--dim)}.refactor-ask-acts{display:flex;gap:8px}.refactor-ask-acts button{font:inherit;font-size:12px;padding:4px 12px;border-radius:4px;border:1px solid var(--line,#33333d);background:var(--bg);color:var(--text);cursor:pointer}.refactor-ask-acts button.primary{border-color:#6ea8fe}.refactor-ask-acts button:hover{border-color:var(--text)}.pick{position:relative;min-width:0}.pick-btn{display:inline-flex;align-items:center;min-width:0;max-width:16rem}.pick-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pick-pop{position:absolute;top:calc(100% + 6px);left:0;text-align:left;z-index:41;width:min(26rem,80vw);display:flex;flex-direction:column;gap:6px;padding:6px;background:var(--bg);border:var(--edge);box-shadow:var(--lift)}.pick-filter{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:5px 8px;background:var(--input-bg);color:var(--text);border:1px solid var(--box-edge)}.pick-filter:focus{outline:none;border-color:var(--accent)}.pick-list{list-style:none;margin:0;padding:0;max-height:55vh;overflow:auto}.pick-group{padding:8px 8px 2px;color:var(--dim);font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.pick-item{display:flex;align-items:baseline;gap:8px;padding:4px 8px;font-size:13px;white-space:nowrap;overflow:hidden;cursor:pointer}.pick-item-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis}.pick-item.active{background:var(--panel-edge)}.pick-item.current{color:var(--accent)}.pick-note{flex:0 0 auto;padding:0 4px;border:1px solid var(--edge);color:var(--dim);font-size:10px;letter-spacing:.02em;vertical-align:1px}.pick-item.current .pick-note{border-color:var(--accent);color:var(--accent)}.pick-none{padding:6px 8px;color:var(--dim);font-size:12px}.pick-pop-right{left:auto;right:0}.pick-pop .pick-row{font:inherit;font-size:13px;text-align:left;color:var(--text);text-decoration:none;background:none;border:0;padding:6px 8px;cursor:pointer}.pick-pop .pick-row:hover:not(:disabled){background:var(--panel-edge)}.pick-pop .pick-who{padding:4px 8px 8px;color:var(--dim);font-size:12px;border-bottom:1px solid var(--panel-edge);margin-bottom:4px;overflow:hidden;text-overflow:ellipsis}.pull-bar{min-width:0}.pull-bar .pull-crumb{color:var(--text);text-decoration:none;white-space:nowrap}.pull-bar .pull-crumb:hover{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.pull-bar .pull-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:28ch}.pull-bar .pull-flow,.pull-bar .pull-sep,.pull-bar .pull-state{color:var(--dim);white-space:nowrap}.pull-bar .pull-state{font-size:11px;padding:1px 8px;border-radius:999px;border:1px solid var(--box-edge)}.pull-bar .pull-open{border-color:var(--action);color:var(--action)}.pull-bar .pull-accepted{border-color:#4f7f4f;color:#8fd08f}.docedit .doc-diff .line-nums{position:-webkit-sticky;position:sticky;left:0;z-index:2;background:var(--bg)}.inst-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:8px 10px 12px;font-size:12px}.inst-how{margin:0 0 10px;color:var(--dim);font-size:11px;line-height:1.5}.inst-how code{font-family:var(--mono);color:var(--text);white-space:nowrap}.inst-head{margin:12px 0 4px;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}.inst-head:first-of-type{margin-top:0}.inst-list{list-style:none;margin:0;padding:0}.inst-item{border-bottom:1px solid var(--panel-edge)}.inst-line{gap:8px}.inst-line,.inst-name{display:flex;align-items:center}.inst-name{flex:1 1 auto;min-width:0;gap:6px;padding:5px 0;background:none;border:0;color:var(--text);font:inherit;font-family:var(--mono);text-align:left;cursor:pointer}.inst-name:disabled{cursor:default;color:var(--dim)}.inst-name:not(:disabled):hover{color:var(--accent)}.inst-caret{flex:none;width:1ch;color:var(--dim)}.inst-edited{color:var(--accent)}.inst-note{flex:none;color:var(--dim);font-size:10.5px}.inst-unknown{color:#e6b866}.inst-knobs{display:grid;grid-gap:4px;gap:4px;padding:2px 0 10px 1ch}.inst-row{display:grid;grid-template-columns:4.5em 1fr 4.5em;align-items:center;grid-gap:8px;gap:8px}.inst-knob-label,.inst-knob-value{color:var(--dim);font-size:10.5px}.inst-knob-value{font-family:var(--mono);text-align:right;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inst-row input[type=range]{width:100%;min-width:0;accent-color:var(--accent)}.inst-row input[type=range]:disabled{opacity:.35}.inst-wave-set{display:flex;flex-wrap:wrap;gap:3px;grid-column:2/-1}.inst-wave{padding:1px 5px;background:none;border:1px solid var(--box-edge);border-radius:2px;color:var(--dim);font:inherit;font-size:10px;cursor:pointer}.inst-wave:hover{color:var(--accent);border-color:var(--accent)}.inst-wave.on{color:var(--bg);background:var(--accent);border-color:var(--accent)}.inst-off{padding:0 4px;background:none;border:1px solid var(--box-edge);border-radius:2px;color:var(--dim);font:inherit;font-family:var(--mono);font-size:10px;cursor:pointer;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.inst-off:hover{color:var(--accent);border-color:var(--accent)}.inst-acts{display:flex;gap:6px;margin-top:4px}.inst-fine{margin:14px 0 0;color:var(--dim);font-size:10px;line-height:1.5}.inst-written{padding:0 4px;border:1px solid var(--box-edge);border-radius:2px;color:var(--dim);font-size:9px;letter-spacing:.04em;text-transform:uppercase}.inst-code{margin:4px 0 0;padding:6px 8px;max-height:220px;overflow:auto;background:var(--panel);border:1px solid var(--panel-edge);font-family:var(--mono);font-size:10px;line-height:1.45;color:var(--dim);white-space:pre}.inst-broke{margin:0 0 4px;color:#e6b866;font-size:10.5px;line-height:1.45}.inst-graph{display:grid;grid-gap:6px;gap:6px;margin:4px 0 0}.inst-graph-svg{width:100%;background:var(--panel);border:1px solid var(--panel-edge)}.inst-node{fill:var(--bg);stroke:var(--box-edge)}.inst-node-text{fill:var(--text);font-family:var(--mono);font-size:10px}.inst-out{fill:var(--dim)}.inst-edge{fill:none;stroke:var(--box-edge);stroke-width:1}.inst-edge.mod{stroke:var(--accent);stroke-dasharray:3 2}.inst-graph-wait{margin:0;color:var(--dim);font-size:10.5px}.inst-source summary{color:var(--dim);font-size:10.5px;cursor:pointer}