.web-menubar{display:flex;align-items:stretch;flex:0 0 auto;height:34px;padding:0 calc(2 * var(--space-unit));background:var(--ui-bg);border-bottom:1px solid var(--ui-border);font-family:var(--font-ui);font-size:var(--font-size-standard);-webkit-user-select:none;user-select:none;position:relative;z-index:1400}.web-menubar-menu{position:relative;display:flex}.web-menubar-title{border:0;background:transparent;color:var(--text);font:inherit;padding:0 calc(2.5 * var(--space-unit));margin:calc(.75 * var(--space-unit)) 0;cursor:default;border-radius:var(--radius-button)}.web-menubar-title:hover,.web-menubar-title.is-open{background:var(--mode-select);color:var(--paper)}.web-menu-dropdown,.web-menu-submenu,.web-context-menu,.web-menubar{touch-action:manipulation}.web-menu-dropdown,.web-menu-submenu,.web-context-menu{max-height:calc(100vh - 16px);overflow-y:auto}.web-menu-dropdown,.web-menu-submenu{position:absolute;background:var(--ui-raised);color:var(--text);border:1px solid var(--ui-border);border-radius:var(--radius-sm, 6px);box-shadow:var(--paper-shadow);padding:calc(1.5 * var(--space-unit)) calc(1 * var(--space-unit));min-width:232px;z-index:51}.web-menu-dropdown,.web-menu-submenu{position:fixed}.web-menu-list{list-style:none;margin:0;padding:0}.web-menu-item{position:relative;display:flex;align-items:center}.web-menu-item>button{flex:1;text-align:left;border:0;background:transparent;color:var(--text);font:inherit;padding:calc(1.5 * var(--space-unit)) calc(3 * var(--space-unit));cursor:default;white-space:nowrap;border-radius:var(--radius-button)}.web-menu-item>button:hover,.web-menu-parent:hover{background:var(--mode-select);color:var(--paper)}.web-menu-parent{padding:calc(1.5 * var(--space-unit)) calc(3 * var(--space-unit));border-radius:var(--radius-button);justify-content:space-between;gap:calc(3 * var(--space-unit));white-space:nowrap}.web-menu-arrow{opacity:.7}.web-menu-separator{height:1px;margin:calc(1 * var(--space-unit)) 0;background:var(--ui-border)}.web-context-menu{position:fixed;background:var(--ui-raised);color:var(--text);border:1px solid var(--ui-border);border-radius:var(--radius-sm, 6px);box-shadow:var(--paper-shadow);padding:calc(1.5 * var(--space-unit)) calc(1 * var(--space-unit));min-width:232px;font-family:var(--font-ui);font-size:var(--font-size-standard);-webkit-user-select:none;user-select:none;z-index:1400}.web-unsaved-scrim{z-index:2100}body[data-mobile=true]{--mobile-strip-height: 116px}body[data-mobile=true] .app-root{box-sizing:border-box;padding-bottom:var(--mobile-strip-height)}body[data-mobile=true] .canvas-scroll-area{touch-action:pan-x pan-y;padding:4px!important}.mobile-strip{position:fixed;left:0;right:0;bottom:0;z-index:1200;display:flex;flex-direction:column;gap:4px;padding:6px 6px calc(6px + env(safe-area-inset-bottom));background:var(--ui-bg);border-top:1px solid var(--ui-border)}.mobile-strip-row{display:flex;gap:4px}.mobile-key{flex:1;min-width:0;height:46px;display:flex;align-items:center;justify-content:center;border:1px solid var(--ui-border);border-radius:var(--radius-button);background:var(--ui-raised);color:var(--text);font-size:17px;touch-action:manipulation;-webkit-tap-highlight-color:transparent}.mobile-key.is-active{background:var(--mode-speedy);border-color:var(--mode-speedy);color:var(--on-mode-text)}.mobile-key-text{font-size:19px;line-height:1;white-space:nowrap}.mobile-key-text--word{font-size:14px;letter-spacing:-.02em}.mobile-strip-row--secondary .mobile-key{height:40px;font-size:15px}.mobile-bubble{position:fixed;z-index:1300;transform:translate(-50%,-100%);pointer-events:none;padding:2px 4px;border-radius:10px;background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text);box-shadow:var(--paper-shadow)}.mobile-ghost{position:fixed;z-index:1250;width:13px;height:9px;margin:-4.5px 0 0 -6.5px;border-radius:50%;background:var(--mode-speedy);transform:rotate(-18deg);pointer-events:none}body[data-mobile=true] .web-menubar,body[data-mobile=true] .app-toolbar{overflow-x:auto;overflow-y:hidden;flex-wrap:nowrap;white-space:nowrap;scrollbar-width:none}body[data-mobile=true] .web-menubar::-webkit-scrollbar,body[data-mobile=true] .app-toolbar::-webkit-scrollbar{display:none}body[data-mobile=true] .web-menubar-menu,body[data-mobile=true] .web-menubar-title{flex:0 0 auto}:root{--desk: #16161a;--paper: #ffffff;--ink: #111111;--ui-bg: #1e1e23;--ui-raised: #26262c;--ui-border: #33333c;--text: #eceef2;--text-dim: #9b9ba6;--mode-select: #4c8dff;--mode-speedy: #b183f0;--mode-chord: #2fbfad;--mode-text: #ff8f4d;--danger: #ff6b60;--warning: #ffab40;--selection-fill: rgba(76, 141, 255, .18);--paper-shadow: 0 1px 2px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .55);--scrim: rgba(0, 0, 0, .55);--on-mode-text: #ffffff;--font-ui: system-ui, -apple-system, "Hiragino Sans", sans-serif;--font-size-label: 12px;--font-size-standard: 13px;--font-size-dialog: 14px;--font-size-heading: 17px;--space-unit: 4px;--radius-button: 8px;--radius-panel: 14px;--radius-speedy-frame: 3px;--toolbar-height: 48px;--traffic-light-inset: 78px;--statusbar-height: 30px;--symbol-palette-width: 232px;--button-height: 32px;--symbol-palette-cell: 32px;--dialog-width: 420px;--dialog-width-wide: 640px;--page-gap: 32px;--canvas-padding: 48px}@media(prefers-color-scheme:light){:root[data-theme=system]{--desk: #e8e8ec;--ui-bg: #f6f6f8;--ui-raised: #ffffff;--ui-border: #dcdce2;--text: #1d1d1f;--text-dim: #6f6f76;--mode-select: #0a6fe8;--mode-speedy: #8e5bd8;--mode-chord: #0e9888;--mode-text: #c2410c;--danger: #d64545;--warning: #e8930c;--selection-fill: rgba(10, 111, 232, .1);--paper-shadow: 0 1px 3px rgba(20, 20, 40, .12), 0 10px 28px rgba(20, 20, 40, .16);--scrim: rgba(20, 20, 40, .32)}}:root[data-theme=dark]{--desk: #202023;--ui-bg: #29292c;--ui-raised: #333338;--ui-border: #414147;--text: #e9e9ec;--text-dim: #9a9aa2;--mode-select: #3e8bff;--mode-speedy: #a97fe8;--mode-chord: #2bb3a3;--mode-text: #f3813c;--danger: #ff6b60;--warning: #ffab40;--selection-fill: rgba(62, 139, 255, .16);--paper-shadow: 0 1px 3px rgba(0, 0, 0, .4), 0 10px 28px rgba(0, 0, 0, .5);--scrim: rgba(0, 0, 0, .5)}:root[data-theme=light]{--desk: #ececef;--ui-bg: #f4f4f6;--ui-raised: #ffffff;--ui-border: #d9d9de;--text: #1d1d1f;--text-dim: #6f6f76;--mode-select: #0a6fe8;--mode-speedy: #8e5bd8;--mode-chord: #0e9888;--mode-text: #c2410c;--danger: #d64545;--warning: #e8930c;--selection-fill: rgba(10, 111, 232, .1);--paper-shadow: 0 1px 3px rgba(20, 20, 40, .12), 0 8px 24px rgba(20, 20, 40, .14);--scrim: rgba(20, 20, 40, .32)}body{margin:0;background:var(--desk);color:var(--text);font-family:var(--font-ui)}@keyframes reject-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.reject-shake{animation:reject-shake .12s ease-in-out}@media(prefers-reduced-motion:reduce){.reject-shake{animation:none}}@keyframes speedy-caret-blink{0%,49%{opacity:1}50%,to{opacity:0}}.speedy-caret{position:absolute;width:1.5px;background:var(--mode-speedy);pointer-events:none;animation:speedy-caret-blink 1.1s step-end infinite}@media(prefers-reduced-motion:reduce){.speedy-caret{animation:none}}.speedy-frame{position:absolute;inset:0;border:2px solid var(--mode-speedy);border-radius:var(--radius-speedy-frame);pointer-events:none}.speedy-tuplet-badge{position:absolute;right:-1px;bottom:100%;margin-bottom:1px;padding:0 4px;border-radius:var(--radius-speedy-frame);background:var(--mode-speedy);color:var(--paper);font-family:var(--font-ui);font-size:var(--font-size-label);line-height:1.4;font-variant-numeric:tabular-nums;pointer-events:none;white-space:nowrap}.pitch-cursor-ghost{position:absolute;border-radius:50%;background:var(--mode-speedy);opacity:.35;transform:rotate(-20deg);pointer-events:none}.pitch-cursor-ledger{position:absolute;background:var(--mode-speedy);opacity:.35;pointer-events:none}.chord-entry-input{position:absolute;border:none;background:transparent;color:var(--ink);padding:0;margin:0;width:auto;outline:none;caret-color:var(--mode-chord)}.chord-entry-input.is-empty{border-bottom:1px solid var(--mode-chord)}[data-editing] [data-voice="1"]{fill:var(--mode-select);stroke:var(--mode-select)}[data-chord-unparsed]{fill:var(--danger)}.selection-marquee{position:fixed;pointer-events:none;z-index:1000;background:var(--selection-fill);border:1px dashed var(--mode-select)}.selection-box{position:absolute;pointer-events:none;background:var(--selection-fill);border:1px dashed var(--mode-select);border-radius:var(--radius-speedy-frame)}.element-selected,.element-selected *{fill:var(--mode-select)}.dialog-scrim{position:fixed;inset:0;background:var(--scrim);display:flex;align-items:center;justify-content:center;z-index:2000}.dialog-panel{background:var(--ui-raised);color:var(--text);border-radius:var(--radius-panel);box-shadow:var(--paper-shadow);width:var(--dialog-width);max-width:calc(100vw - var(--canvas-padding));max-height:calc(100vh - var(--canvas-padding));overflow:auto;padding:calc(var(--space-unit) * 5);font-family:var(--font-ui);font-size:var(--font-size-dialog)}.dialog-heading{font-size:var(--font-size-heading);font-weight:600;margin:0 0 calc(var(--space-unit) * 4)}.dialog-field{display:flex;align-items:center;gap:calc(var(--space-unit) * 2);margin-bottom:calc(var(--space-unit) * 3)}.dialog-field>label{min-width:64px;color:var(--text-dim)}.dialog-field select,.dialog-field input{font-family:var(--font-ui);font-size:var(--font-size-dialog);color:var(--text);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--radius-button);padding:calc(var(--space-unit) * 1) calc(var(--space-unit) * 2);height:var(--button-height)}.dialog-radio-group{display:flex;gap:calc(var(--space-unit) * 3)}.dialog-radio-group label{display:inline-flex;align-items:center;gap:var(--space-unit);color:var(--text)}.dialog-error{color:var(--danger);margin:calc(var(--space-unit) * 2) 0 0}.dialog-hint{color:var(--text-dim);font-size:var(--font-size-label)}.dialog-panel--wide{width:var(--dialog-width-wide)}.dialog-subheading{font-weight:600;color:var(--text);margin:calc(var(--space-unit) * 4) 0 var(--space-unit)}.dialog-subheading:first-child{margin-top:0}.dialog-kbd{display:inline-block;font-family:var(--font-ui);font-size:var(--font-size-label);color:var(--text);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--radius-speedy-frame);padding:1px calc(var(--space-unit) * 1.5);white-space:nowrap}.dialog-table{border-collapse:collapse;width:100%}.dialog-table th{text-align:left;color:var(--text-dim);font-size:var(--font-size-label);font-weight:400;padding:0 calc(var(--space-unit) * 2) var(--space-unit) 0}.dialog-table td{padding:var(--space-unit) calc(var(--space-unit) * 2) var(--space-unit) 0}.dialog-add-row{margin-top:calc(var(--space-unit) * 2)}.dialog-num-sm{width:calc(var(--space-unit) * 14)}.dialog-footer{display:flex;justify-content:flex-end;gap:calc(var(--space-unit) * 2);margin-top:calc(var(--space-unit) * 5)}.dialog-button{font-family:var(--font-ui);font-size:var(--font-size-dialog);height:var(--button-height);padding:0 calc(var(--space-unit) * 4);border-radius:var(--radius-button);border:1px solid var(--ui-border);background:var(--ui-bg);color:var(--text);cursor:pointer}.dialog-button-primary{background:var(--mode-select);border-color:var(--mode-select);color:var(--on-mode-text)}.dialog-button:disabled{opacity:.5;cursor:default}@media print{[data-editorial]{display:none}.element-selected,.element-selected *{fill:var(--ink)!important}[data-app-chrome]{display:none!important}.canvas-scroll-area{padding:0!important;background:none!important;overflow:visible!important}.score-page{box-shadow:none!important;margin-bottom:0!important}.score-page:not(:last-child){break-after:page}.score-page:last-child{overflow:hidden!important}.text-box-selected{outline:none!important}}:root[data-platform]:not([data-platform=darwin]){--traffic-light-inset: calc(3 * var(--space-unit))}.guide section{margin-bottom:calc(var(--space-unit) * 5)}.guide h3{font-size:var(--font-size-dialog);font-weight:600;margin:0 0 calc(var(--space-unit) * 2);color:var(--text)}.guide p{margin:0 0 calc(var(--space-unit) * 2);line-height:1.75;color:var(--text-dim)}.guide code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.92em;padding:1px calc(var(--space-unit) * 1.5);border-radius:4px;background:var(--ui-bg);border:1px solid var(--ui-border);color:var(--text)}.guide strong{color:var(--text)}.licenses-text{margin:calc(var(--space-unit) * 3) 0 0;max-height:52vh;overflow:auto;white-space:pre-wrap;word-break:break-word;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.6;color:var(--text-dim);background:var(--ui-bg);border:1px solid var(--ui-border);border-radius:var(--radius-button);padding:calc(var(--space-unit) * 3)}.page-break-mark{writing-mode:vertical-rl;font-family:var(--font-ui);font-size:16px;line-height:1;letter-spacing:2px;color:var(--mode-select);border-right:3px solid var(--mode-select);padding-right:4px;pointer-events:none;-webkit-user-select:none;user-select:none;white-space:nowrap}#root{height:100vh;display:flex;flex-direction:column;overflow:hidden}#root>.web-menubar{flex:0 0 auto}#root>.app-root{flex:1 1 auto;min-height:0;height:auto!important}@media print{#root{display:block;height:auto;overflow:visible}#root>.app-root{display:block!important;height:auto!important}}body.drop-active:after{content:"";position:fixed;inset:0;z-index:1500;pointer-events:none;border:3px dashed var(--mode-select);background:var(--selection-fill)}
