:root{--gs-bg:#14161a;--gs-panel:#1d2026;--gs-border:#2c313a;--gs-text:#e8eaed;--gs-dim:#8a9099;--gs-accent:#e0a63c;--gs-select:#ff5c35;font-family:-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{background:var(--gs-bg);height:100%;color:var(--gs-text);margin:0}.gs-app{flex-direction:column;height:100vh;display:flex}.gs-toolbar{background:var(--gs-panel);border-bottom:1px solid var(--gs-border);align-items:center;gap:16px;padding:8px 16px;display:flex}.gs-brand{letter-spacing:.5px;-webkit-user-select:none;user-select:none;font-size:18px;font-weight:300}.gs-brand span{color:var(--gs-accent);font-weight:700}.gs-title{text-align:center;color:var(--gs-dim);text-overflow:ellipsis;white-space:nowrap;flex:1;font-size:14px;overflow:hidden}.gs-controls{align-items:center;gap:6px;display:flex}.gs-controls button{color:var(--gs-text);border:1px solid var(--gs-border);cursor:pointer;background:#262b33;border-radius:6px;padding:4px 12px;font-size:13px}.gs-controls button:hover:not(:disabled){border-color:var(--gs-accent)}.gs-controls button:disabled{opacity:.35;cursor:default}.gs-sep{background:var(--gs-border);width:1px;height:20px;margin:0 4px}.gs-zoom,.gs-page{color:var(--gs-dim);text-align:center;font-variant-numeric:tabular-nums;min-width:48px;font-size:12px}.gs-main{flex:1;min-height:0;display:flex}.gs-score-wrap{flex:1;padding:24px;overflow:auto}.gs-score{background:#fffdf7;border-radius:4px;height:fit-content;box-shadow:0 8px 40px #0000008c}.gs-score svg{width:100%;height:auto;display:block}.gs-score g.note{cursor:pointer}.gs-score g.note:hover *{fill:#b8860b;stroke:#b8860b}.gs-score g.gs-selected *,.gs-score g.gs-selected{fill:var(--gs-select)!important;stroke:var(--gs-select)!important}.gs-inspector{background:var(--gs-panel);border-left:1px solid var(--gs-border);flex-shrink:0;width:260px;padding:16px;overflow-y:auto}.gs-inspector h2{text-transform:uppercase;letter-spacing:1px;color:var(--gs-dim);margin:0 0 12px;font-size:11px;font-weight:600}.gs-inspector dl{margin:0;font-size:13px}.gs-inspector dt{color:var(--gs-dim);margin-top:10px;font-size:11px}.gs-inspector dd{word-break:break-all;margin:2px 0 0}.gs-mono{font-family:ui-monospace,Menlo,monospace;font-size:12px}.gs-dim{color:var(--gs-dim);font-size:13px;line-height:1.5}.gs-status{color:var(--gs-dim);background:var(--gs-panel);border-top:1px solid var(--gs-border);padding:4px 16px;font-size:12px}.gs-dirty{color:var(--gs-accent)}.gs-keys-head{margin-top:24px!important}.gs-keys{border-collapse:collapse;width:100%;color:var(--gs-dim);font-size:12px}.gs-keys td{vertical-align:top;padding:3px 0}.gs-keys td:first-child{color:var(--gs-text);white-space:nowrap;padding-right:12px;font-family:ui-monospace,Menlo,monospace}.gs-play{min-width:76px}.gs-playing-btn{color:var(--gs-accent);border-color:var(--gs-accent)!important}.gs-score g.gs-playing *,.gs-score g.gs-playing{fill:var(--gs-accent)!important;stroke:var(--gs-accent)!important}.gs-midi{color:var(--gs-accent)}.gs-lyric{border:1px solid var(--gs-border);width:100%;color:var(--gs-text);background:#262b33;border-radius:6px;padding:5px 8px;font-size:13px}.gs-lyric:focus{border-color:var(--gs-accent);outline:none}.gs-keypad{margin-bottom:24px}.gs-keygrid{grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:10px;display:grid}.gs-key{aspect-ratio:1;border:1px solid var(--gs-border);color:var(--gs-text);cursor:pointer;background:#262b33;border-radius:7px;justify-content:center;align-items:center;padding:0;transition:background .1s,border-color .1s;display:flex;position:relative}.gs-key:hover:not(:disabled){background:#30363f;border-color:#414955}.gs-key:active:not(:disabled){background:#1b1f26}.gs-key:disabled{opacity:.3;cursor:default}.gs-key-on,.gs-key-on:hover:not(:disabled){background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}.gs-glyph{width:60%;height:60%}.gs-accid{font-size:21px;line-height:1}.gs-keytext{font-size:17px;line-height:1}.gs-key-hint{opacity:.45;font-family:ui-monospace,Menlo,monospace;font-size:9px;position:absolute;bottom:1px;right:3px}.gs-key-toggle-on{color:var(--gs-accent);border-color:var(--gs-accent)!important}.gs-keypad-head{justify-content:space-between;align-items:center;display:flex}.gs-keypad-head h2{margin-bottom:12px}.gs-keypad-grip{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.gs-keypad-grip:active{cursor:grabbing}.gs-keypad-dock{color:var(--gs-dim);cursor:pointer;background:0 0;border:none;padding:0 2px 12px;font-size:15px;line-height:1}.gs-keypad-dock:hover{color:var(--gs-accent)}.gs-keypad-float{z-index:50;background:var(--gs-panel);border:1px solid var(--gs-border);border-radius:10px;width:236px;margin-bottom:0;padding:10px 12px 4px;position:fixed;box-shadow:0 12px 40px #0009}.gs-ribbon{background:var(--gs-panel);border-bottom:1px solid var(--gs-border);flex-shrink:0}.gs-titlebar{align-items:center;gap:16px;padding:6px 14px 4px;display:flex}.gs-quick{gap:4px;display:flex}.gs-quick button{color:var(--gs-dim);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;width:26px;height:22px;padding:0;font-size:14px}.gs-quick button:hover{color:var(--gs-text);border-color:var(--gs-border)}.gs-tabs{border-bottom:1px solid var(--gs-border);align-items:flex-end;gap:2px;padding:0 10px;display:flex}.gs-tab{color:var(--gs-dim);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 13px 5px;font-size:13px}.gs-tab:hover{color:var(--gs-text)}.gs-tab-on{color:var(--gs-accent);border-bottom-color:var(--gs-accent)}.gs-ribbon-collapse{color:var(--gs-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;padding:4px 6px;font-size:13px}.gs-ribbon-collapse:hover{color:var(--gs-accent)}.gs-ribbon-body{align-items:stretch;gap:0;padding:6px 10px 0;display:flex;overflow-x:auto}.gs-rgroup{border-right:1px solid var(--gs-border);flex-direction:column;padding:0 10px;display:flex}.gs-rgroup:last-child{border-right:none}.gs-rgroup-body{flex:1;align-items:stretch;gap:3px;display:flex}.gs-rgroup-label{text-align:center;color:var(--gs-dim);letter-spacing:.3px;padding:3px 0 4px;font-size:10px}.gs-cmd{min-width:52px;color:var(--gs-text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;flex-direction:column;justify-content:flex-start;align-items:center;gap:3px;padding:5px 6px 4px;display:flex}.gs-cmd:hover:not(:disabled){border-color:var(--gs-border);background:#262b33}.gs-cmd:disabled{opacity:.32;cursor:default}.gs-cmd-on,.gs-cmd-on:hover:not(:disabled){background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}.gs-cmd-icon{justify-content:center;align-items:center;height:26px;font-size:17px;line-height:1;display:flex}.gs-cmd-icon .gs-glyph{width:24px;height:26px}.gs-cmd-label{white-space:nowrap;font-size:10px;line-height:1.1}.gs-rinfo{color:var(--gs-dim);flex-direction:column;justify-content:center;gap:2px;padding:0 8px;font-size:11px;display:flex}.gs-rinfo-on{color:var(--gs-accent);font-size:11px}.gs-rinfo-line{white-space:nowrap}.gs-rinfo-value{color:var(--gs-text);font-variant-numeric:tabular-nums;text-align:center;align-items:center;min-width:52px;font-size:13px}.gs-score .gs-measure-box{fill:var(--gs-select);fill-opacity:.1;stroke:var(--gs-select);stroke-opacity:.65;stroke-width:7px;pointer-events:none}.gs-keytabs{grid-template-columns:repeat(6,1fr);gap:3px;margin-bottom:9px;display:grid}.gs-keytab{aspect-ratio:1;border:1px solid var(--gs-border);color:var(--gs-dim);cursor:pointer;background:#1b1f26;border-radius:5px;justify-content:center;align-items:center;padding:2px;display:flex}.gs-keytab:hover{color:var(--gs-text);border-color:#414955}.gs-keytab .gs-glyph{width:86%;height:86%}.gs-keytab .gs-accid{font-size:13px}.gs-keytab-on{background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}.gs-key-blank{visibility:hidden}.gs-keygrid-foot{margin-bottom:9px}.gs-voices{grid-template-columns:repeat(5,1fr);gap:3px;display:grid}.gs-voice{border:1px solid var(--gs-border);color:var(--gs-dim);cursor:pointer;background:#1b1f26;border-radius:5px;padding:5px 0;font-size:11px}.gs-voice:hover:not(:disabled){color:var(--gs-text);border-color:#414955}.gs-voice:disabled{opacity:.4;cursor:default}.gs-voice-on{background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}.gs-keypad-name{color:var(--gs-dim);text-align:center;letter-spacing:.3px;margin-top:8px;font-size:10px}.gs-key-soft{border-style:dashed}.gs-keypad-caption{opacity:.75;margin-top:3px;font-size:9px;line-height:1.3}.gs-modal-backdrop{z-index:100;background:#0000008c;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.gs-modal{background:var(--gs-panel);border:1px solid var(--gs-border);border-radius:12px;flex-direction:column;width:min(880px,94vw);max-height:90vh;display:flex;box-shadow:0 24px 70px #000000a6}.gs-modal-head,.gs-modal-foot{align-items:center;padding:12px 18px;display:flex}.gs-modal-head{border-bottom:1px solid var(--gs-border)}.gs-modal-foot{border-top:1px solid var(--gs-border);justify-content:flex-end;gap:8px}.gs-modal-head h2{letter-spacing:.3px;text-transform:none;color:var(--gs-text);margin:0;font-size:14px;font-weight:600}.gs-modal-close{color:var(--gs-dim);cursor:pointer;background:0 0;border:none;margin-left:auto;font-size:15px}.gs-modal-close:hover{color:var(--gs-text)}.gs-modal-body{padding:16px 18px;overflow-y:auto}.gs-setup-grid{grid-template-columns:1fr 1fr .8fr;gap:24px;display:grid}@media (width<=760px){.gs-setup-grid{grid-template-columns:1fr}}.gs-setup-grid h3{text-transform:uppercase;letter-spacing:1px;color:var(--gs-dim);margin:0 0 7px;font-size:10px}.gs-setup-grid section>h3:not(:first-child){margin-top:18px}.gs-input{border:1px solid var(--gs-border);width:100%;color:var(--gs-text);background:#262b33;border-radius:6px;padding:6px 8px;font-size:13px}.gs-input:focus{border-color:var(--gs-accent);outline:none}.gs-help{color:var(--gs-dim);margin:6px 0 0;font-size:11px;line-height:1.4}.gs-segmented{gap:4px;display:flex}.gs-segmented button{border:1px solid var(--gs-border);color:var(--gs-text);cursor:pointer;background:#262b33;border-radius:6px;flex:1;padding:6px 0;font-size:12px}.gs-segmented button.on{background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}.gs-margin-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.gs-margin-grid label{flex-direction:column;gap:3px;display:flex}.gs-margin-grid span{color:var(--gs-dim);font-size:11px}.gs-field{color:var(--gs-dim);grid-template-columns:110px 1fr 36px;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;display:grid}.gs-field em{color:var(--gs-text);font-variant-numeric:tabular-nums;text-align:right;font-style:normal}.gs-field input[type=range]{accent-color:var(--gs-accent)}.gs-check{color:var(--gs-text);cursor:pointer;align-items:center;gap:7px;margin-top:9px;font-size:12px;display:flex}.gs-check input{accent-color:var(--gs-accent)}.gs-sheet-preview{justify-content:center;padding:6px 0;display:flex}.gs-sheet{background:#fffdf7;border-radius:2px;flex-shrink:0;position:relative;box-shadow:0 6px 18px #00000080}.gs-sheet-type{background:#e0a63c1a;border:1px dashed #e0a63cd9;position:absolute}.gs-setup-summary{text-align:center;margin-top:10px}.gs-btn{border:1px solid var(--gs-border);color:var(--gs-text);cursor:pointer;background:#262b33;border-radius:6px;padding:7px 16px;font-size:13px}.gs-btn:hover{border-color:#414955}.gs-btn-primary{background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407;font-weight:600}.gs-score{margin:0 auto}.gs-cmd-text,.gs-cmd-num{font-variant-numeric:tabular-nums;font-size:13px;line-height:1}.gs-cmd-ital{font-size:12px;font-style:italic;line-height:1}.gs-dynam{font-family:Georgia,Times New Roman,serif;font-size:15px;font-style:italic;font-weight:700;line-height:1}.gs-partname{color:var(--gs-accent)}.gs-quick-page{color:var(--gs-dim);font-variant-numeric:tabular-nums;margin-right:8px;font-size:11px}.gs-ribbon-body{scrollbar-width:thin}.gs-modal-narrow{width:min(520px,94vw)}.gs-lyric-row{gap:12px;margin-bottom:12px;display:flex}.gs-stack{flex-direction:column;flex:1;gap:4px;display:flex}.gs-stack>span{color:var(--gs-dim);font-size:11px}.gs-lyric-text{resize:vertical;width:100%;font-family:inherit;font-size:14px;line-height:1.5}.gs-modal-body code{background:#1b1f26;border-radius:3px;padding:1px 4px;font-size:11px}.gs-lyric-result{color:var(--gs-text);background:#e0a63c24;border:1px solid #e0a63c66;border-radius:6px;margin:12px 0 0;padding:8px 10px;font-size:12px}.gs-lyric-count{color:var(--gs-dim);margin-right:auto;font-size:11px}.gs-btn:disabled{opacity:.4;cursor:default}.gs-section{text-transform:uppercase;letter-spacing:1px;color:var(--gs-dim);margin:0 0 8px;font-size:10px}.gs-section:not(:first-child){margin-top:20px}.gs-stafflist{margin:0;padding:0;list-style:none}.gs-stafflist li{border:1px solid var(--gs-border);background:#1b1f26;border-radius:6px;align-items:center;gap:7px;margin-bottom:5px;padding:6px 8px;font-size:13px;display:flex}.gs-staff-n{text-align:center;width:18px;color:var(--gs-dim);font-variant-numeric:tabular-nums;font-size:10px}.gs-staff-label{flex:1}.gs-staff-abbrtag{color:var(--gs-dim);border:1px solid var(--gs-border);border-radius:3px;padding:1px 4px;font-size:10px}.gs-staff-warn{color:var(--gs-accent);flex:1;font-size:12px}.gs-staff-name{flex:1;padding:3px 6px!important;font-size:12px!important}.gs-staff-abbr{width:64px;padding:3px 6px!important;font-size:12px!important}.gs-mini{border:1px solid var(--gs-border);color:var(--gs-text);cursor:pointer;background:#262b33;border-radius:5px;padding:3px 9px;font-size:11px}.gs-mini:hover:not(:disabled){border-color:#414955}.gs-mini:disabled{opacity:.35;cursor:default}.gs-mini-danger{color:#ffd9d4;background:#5a2320;border-color:#7d3330}.gs-mini-go{background:var(--gs-accent);border-color:var(--gs-accent);color:#1a1407}
