.preset-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1419232e;display:flex;align-items:center;justify-content:center;padding:24px}.preset-drag{cursor:move;-webkit-user-select:none;user-select:none}.preset-dialog{width:min(820px,100%);max-height:90vh;display:flex;flex-direction:column;background:#fff;border-radius:12px;box-shadow:0 18px 60px #00000059;overflow:hidden}.preset-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid #e3e8ef}.preset-dialog-head strong{color:#2f6db5;font-size:15px}.preset-dialog-body{display:flex;min-height:0;flex:1}.preset-list{flex:0 0 230px;border-right:1px solid #e3e8ef;overflow:auto;padding:8px;display:flex;flex-direction:column;gap:2px}.preset-list-group{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#8a93a0;padding:10px 8px 4px}.preset-list-item{display:flex;flex-direction:column;gap:1px;text-align:left;cursor:pointer;border:1px solid transparent;border-radius:8px;background:none;padding:7px 9px}.preset-list-item:hover{background:#f1f5fa}.preset-list-item.on{background:#e8f1fc;border-color:#2f6db5}.preset-list-name{font-size:13px;font-weight:600;color:#243}.preset-list-size{font-size:11px;color:#889}.preset-editor{flex:1;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.preset-note{background:#fff6da;border:1px solid #f0d894;color:#7a5a00;font-size:12px;padding:8px 10px;border-radius:8px}.preset-row{display:flex;gap:10px;flex-wrap:wrap;align-items:flex-end}.preset-row .fld{flex:1;min-width:80px}.preset-link{margin-bottom:6px}.preset-editor input[type=number],.preset-editor input[type=text],.preset-editor input:not([type]),.preset-editor select{padding:6px 8px;border:1px solid #c8cfd8;border-radius:6px;font-size:14px;width:100%}.preset-actions{display:flex;align-items:center;gap:8px;margin-top:6px;flex-wrap:wrap}.preset-actions .spacer{flex:1}.gear.danger{color:#b00000;border-color:#e3b3b3}.gear.danger:hover{background:#fbeaea}.preset-manage{width:100%;margin-top:6px}.confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;background:#141e2d52;-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px);animation:confirm-fade .12s ease-out}.confirm-dialog{width:min(380px,calc(100vw - 40px));padding:22px 22px 18px;background:#fff;border-radius:14px;box-shadow:0 12px 40px #14285040;animation:confirm-pop .13s ease-out}.confirm-title{display:block;font:600 15px system-ui,sans-serif;color:#1d2733;margin-bottom:6px}.confirm-msg{margin:0 0 18px;font:14px/1.5 system-ui,sans-serif;color:#44505f}.confirm-actions{display:flex;justify-content:flex-end;gap:8px}.confirm-btn{padding:8px 16px;border-radius:8px;border:1px solid #c8cfd8;background:#f6f8fa;font:600 13px system-ui,sans-serif;color:#44505f;cursor:pointer;transition:background .12s,border-color .12s}.confirm-cancel:hover{background:#eef1f5}.confirm-ok{border-color:#2f6db5;background:#2f6db5;color:#fff}.confirm-ok:hover{background:#2a619f}.confirm-ok.danger{border-color:#c0392b;background:#c0392b}.confirm-ok.danger:hover{background:#a83224}@keyframes confirm-fade{0%{opacity:0}to{opacity:1}}@keyframes confirm-pop{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:none}}.voice-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000052;display:flex;align-items:center;justify-content:center}.voice-dialog{width:560px;max-width:calc(100vw - 32px);background:#fff;border-radius:10px;box-shadow:0 12px 40px #0000004d;overflow:hidden}.voice-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #e3e8ef;font-size:15px}.voice-drag{cursor:move;-webkit-user-select:none;user-select:none}.voice-tabs{display:flex;gap:4px;padding:8px 14px 0}.voice-tab{padding:5px 12px;border:1px solid transparent;border-radius:6px 6px 0 0;background:none;cursor:pointer;font:13px system-ui,sans-serif;color:#6b7480}.voice-tab:hover{background:#f2f5f9}.voice-tab.on{color:#1c2430;font-weight:600;background:#fff;border-color:#e3e8ef;border-bottom-color:#fff;box-shadow:inset 0 2px #2c5fd6}.voice-scope-note{margin:0;padding:8px 14px 0;border-top:1px solid #e3e8ef;font:12px system-ui,sans-serif;color:#6b7480;line-height:1.4}.voice-empty{margin:2px 0;font:italic 13px system-ui,sans-serif;color:#8a929c}.voice-add-wrap{position:relative;display:inline-flex}.voice-add-menu{position:absolute;bottom:calc(100% + 6px);left:0;min-width:170px;max-height:260px;overflow-y:auto;padding:4px;background:#fff;border:1px solid #d5dbe3;border-radius:8px;box-shadow:0 8px 24px #0000002e;z-index:1}.voice-add-item{display:flex;align-items:center;gap:8px;width:100%;padding:6px 8px;border:0;border-radius:6px;background:none;cursor:pointer;text-align:left;font:13px system-ui,sans-serif;white-space:nowrap}.voice-add-item:hover{background:#eef3fb}.voice-add-dot{width:12px;height:12px;flex:none;border-radius:3px;border:1px solid rgba(0,0,0,.2)}.voice-add-new{border-top:1px solid #e3e8ef;border-radius:0 0 6px 6px;color:#2c5fd6}.voice-rows{padding:10px 14px;display:flex;flex-direction:column;gap:8px}.voice-row{display:grid;grid-template-columns:130px 1fr auto 28px;align-items:center;gap:8px}.voice-swatches{display:flex;flex-wrap:nowrap;gap:4px}.voice-swatch{width:18px;height:18px;flex:none;border-radius:4px;border:1px solid rgba(0,0,0,.2);padding:0;cursor:pointer}.voice-swatch.on{outline:2px solid #2c5fd6;outline-offset:1px}@media(max-width:600px){.voice-swatches{flex-wrap:wrap}}.voice-row-head{font:700 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:#6b7480}.voice-name{padding:5px 8px;border:1px solid #c8cfd8;border-radius:6px;font:13px system-ui,sans-serif}.voice-colour{width:44px;height:28px;padding:0;border:1px solid #c8cfd8;border-radius:6px;background:none;cursor:pointer}.voice-star{width:24px;padding:0;border:0;background:none;font-size:15px;line-height:1;color:#b9c0c9;cursor:pointer}.voice-star.on{color:#e0a800}.voice-star:hover{opacity:.7}.voice-star.fixed{cursor:default;opacity:1}.voice-star.fixed:hover{opacity:1}.voice-del{color:#c0392b;font-weight:700}.voice-del:disabled{visibility:hidden}.voice-actions{display:flex;align-items:center;gap:8px;padding:10px 14px 14px}.voice-actions .spacer{flex:1}.color-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1100;background:#00000052;display:flex;align-items:center;justify-content:center}.color-dialog{width:800px;max-width:calc(100vw - 32px);background:#fff;border-radius:10px;box-shadow:0 12px 40px #0000004d;overflow:hidden}.color-dialog-head{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #e3e8ef;font-size:15px}.color-drag{cursor:move;-webkit-user-select:none;user-select:none}.color-dialog-body{display:flex;min-height:300px}.color-list{width:180px;flex:0 0 auto;border-right:1px solid #e3e8ef;padding:8px;overflow-y:auto}.color-list-group{font:700 10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:#6b7480;padding:8px 6px 4px}.color-list-item{display:flex;flex-direction:column;gap:4px;width:100%;text-align:left;padding:7px 8px;border:1px solid transparent;background:none;border-radius:7px;cursor:pointer}.color-list-item:hover{background:#f1f4f8}.color-list-item.on{background:#eef3fb;border-color:#b9d0ec}.color-list-name{font:13px system-ui,sans-serif}.color-list-dots{display:flex;gap:2px}.color-list-dots i{width:11px;height:11px;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.color-editor{flex:1;padding:12px 14px;display:flex;flex-direction:column;gap:9px;overflow-y:auto;max-height:90vh}.color-note{font:12px system-ui,sans-serif;color:#6b7480;background:#f6f8fa;border-radius:6px;padding:6px 9px}.color-editor .fld{display:flex;flex-direction:column;gap:4px}.color-editor .fld>span{font:600 11px system-ui,sans-serif;color:#45506a}.color-editor .fld input[type=text],.color-editor .fld input:not([type]){padding:5px 8px;border:1px solid #c8cfd8;border-radius:6px;font:13px system-ui,sans-serif}.color-sub{font:700 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:#6b7480;margin-top:2px}.cd-swatch-row{display:flex;gap:5px}.cd-swatch{position:relative;flex:1 1 0;height:40px;border-radius:6px;border:1px solid rgba(0,0,0,.18);cursor:pointer;display:grid;place-items:center;overflow:hidden}.cd-swatch.locked{cursor:default}.cd-swatch input[type=color]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;border:0;padding:0;margin:0;width:100%;height:100%;cursor:inherit}.cd-swatch input[type=color]:disabled{cursor:default}.cd-swatch>span{font:700 13px system-ui,sans-serif;pointer-events:none}.cd-fg-row{display:flex;gap:5px}.cd-fg{position:relative;flex:1 1 0}.cd-fg input[type=color]{width:100%;height:22px;padding:0;border:1px solid #c8cfd8;border-radius:5px;background:none;cursor:pointer}.cd-fg input[type=color]:disabled{cursor:default}.cd-fg.set input[type=color]{border-color:#6b7480}.cd-fg-reset{position:absolute;top:-7px;right:-6px;width:15px;height:15px;border-radius:50%;border:1px solid #c8cfd8;background:#fff;color:#45506a;font:10px/1 system-ui,sans-serif;cursor:pointer;display:grid;place-items:center;padding:0}.cd-defaults-head{display:flex;align-items:baseline;justify-content:space-between}.cd-reset-all{border:0;background:none;cursor:pointer;font:600 11px system-ui,sans-serif;color:#2c5fd6;text-transform:none;letter-spacing:0;padding:0}.cd-reset-all:hover{text-decoration:underline}.cd-elements{display:flex;flex-direction:column;gap:5px}.cd-elrow{display:flex;align-items:center;gap:7px}.cd-elicon{color:#45506a;display:inline-flex;flex:0 0 auto}.cd-ellabel{flex:0 0 146px;font:13px system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cd-chips{display:flex;gap:3px;flex:1 1 0;min-width:0}.cd-chip{position:relative;flex:1 1 0;min-width:0;height:20px;border-radius:4px;border:1px solid rgba(0,0,0,.18);padding:0;cursor:pointer}.cd-chip:disabled{cursor:default}.cd-chip.empty{visibility:hidden}.cd-chip.on{outline:2px solid #2c5fd6;outline-offset:1px}.cd-chip.is-default:after{content:"";position:absolute;bottom:1px;right:1px;width:5px;height:5px;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #00000073}.color-actions{display:flex;align-items:center;gap:8px;margin-top:auto;padding-top:6px}.color-actions .spacer{flex:1}.color-actions .danger{color:#c0392b}.layers-panel{position:relative;flex:0 0 232px;min-height:0;min-width:0;display:flex;flex-direction:column;background:#fbfcfe;border-left:3px solid #7a3fbf;box-shadow:-3px 0 14px #0000000f;font:13px system-ui,sans-serif}.layers-bar{flex:0 0 28px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0;cursor:pointer;border:none;background:#7a3fbf;color:#fff}.layers-bar:hover{background:#6a31ab}.layers-bar-caret{font-size:12px;line-height:1;opacity:.9}.layers-bar-label{font:700 13px system-ui,sans-serif;letter-spacing:.5px;writing-mode:vertical-rl;transform:rotate(180deg)}.layers-head{margin:12px 12px 2px;padding:0;color:#7a3fbf}.layers-pill-wrap{margin:8px 12px;padding:0}.layers-links{display:flex;flex-direction:column;gap:2px;padding:6px;border-bottom:1px solid #eef1f5}.detect-sections-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;padding:8px 10px;border:none;border-radius:8px;cursor:pointer;background:linear-gradient(135deg,#7a3fbf,#a35be8);color:#fff;font:700 13px system-ui,sans-serif;box-shadow:0 2px 6px #7a3fbf47;transition:filter .12s ease,box-shadow .12s ease}.detect-sections-btn:hover{filter:brightness(1.07);box-shadow:0 3px 10px #7a3fbf61}.detect-sections-btn:active{filter:brightness(.95);box-shadow:0 1px 4px #7a3fbf4d}.detect-sections-btn svg{flex:0 0 auto;color:#fff}.layers-empty{padding:16px 12px;color:#8a93a0;font-size:12px}.layers-scroll{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.layers-list{list-style:none;margin:0;padding:4px;flex:0 0 auto;user-select:none;-webkit-user-select:none}.layers-row{display:flex;align-items:center;gap:7px;padding:5px 6px;border-radius:6px;cursor:pointer}.layers-row:hover{background:#eef3fb}.layers-ico{flex:0 0 auto;display:grid;place-items:center;width:20px;color:#45506a}.layers-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers-stanza{flex:0 0 auto;font:600 10px/1 system-ui,sans-serif;color:#8a93a0}.layers-act{flex:0 0 auto;display:grid;place-items:center;width:24px;height:22px;border:1px solid transparent;background:none;border-radius:5px;cursor:pointer;line-height:1;color:#5a6473}.layers-act:hover{background:#fff;border-color:#c8cfd8}.layers-del:hover{color:#c0392b}.layers-eye.on{color:#5a6473}.layers-row .layers-eye:not(.on){opacity:1;color:#b0472e}.ann-hidden .layers-ico,.ann-hidden .layers-text,.ann-hidden .layers-grip,.ann-hidden .layers-subitem-dot{opacity:.4}.ann-hidden .layers-text{text-decoration:line-through}.layers-group{list-style:none;margin:0;padding:2px 2px 4px;border-radius:6px}.layers-group.even{background:#f6f3fb}.layers-group.odd{background:#eef4fb}.layers-anns{list-style:none;margin:0;padding:0 0 0 16px}.layers-ann-item{list-style:none}.layers-subitems{list-style:none;margin:0;padding:0 0 0 24px}.layers-subitem{padding:3px 6px;gap:6px;font-size:.92em}.layers-subitem.active{background:#7a3fbf1a}.layers-subitem-dot{flex:0 0 auto;width:10px;height:10px;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.layers-line-group{list-style:none;margin:0;padding:0}.layers-line-row{display:flex;align-items:center;gap:5px;padding:2px 6px;border-radius:4px;cursor:pointer;font:600 11px system-ui,sans-serif;color:#5a6473}.layers-line-row:hover{background:#7a3fbf14}.layers-line-row.active{background:#7a3fbf2e;box-shadow:inset 0 0 0 1px #7a3fbf8c}.layers-line-glyph{flex:0 0 auto;color:#9b7fc4;font-size:11px;line-height:1}.layers-line-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers-line-count{flex:0 0 auto;min-width:14px;text-align:center;padding:0 4px;border-radius:9px;background:#9b7fc4;color:#fff;font:700 9px/14px system-ui,sans-serif}.layers-line-anns{list-style:none;margin:0;padding:0 0 0 16px}.layers-gap-group{list-style:none;margin:2px 0;padding:0}.layers-gap-row{display:flex;align-items:center;gap:6px;padding:3px 6px;border-radius:4px;cursor:pointer;font:600 11px system-ui,sans-serif;color:#6a7280;font-style:italic;border-top:1px dashed rgba(122,63,191,.28);border-bottom:1px dashed rgba(122,63,191,.28)}.layers-gap-row:hover{background:#7a3fbf14}.layers-gap-row.active{background:#7a3fbf2e;box-shadow:inset 0 0 0 1px #7a3fbf8c}.layers-gap-glyph{flex:0 0 auto;color:#9b7fc4;font-size:11px;line-height:1}.layers-gap-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers-ann .layers-grip{flex:0 0 auto;width:12px;text-align:center;cursor:grab;color:#b7c0cc;font-size:11px;line-height:1;letter-spacing:-2px}.layers-ann{cursor:pointer}.layers-ann.active{background:#7a3fbf2e;box-shadow:inset 0 0 0 1px #7a3fbf8c}.layers-ann.dragging{opacity:.45}.layers-ann.drop-target,.layers-subitem.drop-target{box-shadow:inset 0 3px #7a3fbf;background:#7a3fbf1a}.layers-stanza-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;cursor:pointer;font:600 12px system-ui,sans-serif;color:#2f3a4e}.layers-stanza-row:hover{background:#7a3fbf14}.layers-stanza-row.active{background:#7a3fbf2e;box-shadow:inset 0 0 0 1px #7a3fbf8c}.layers-chevron{flex:0 0 auto;width:16px;height:16px;padding:0;border:none;background:none;cursor:pointer;color:#7a3fbf;font-size:10px;line-height:1}.layers-stanza-no{flex:0 0 auto;font:700 11px/1 system-ui,sans-serif;color:#7a3fbf}.layers-stanza-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.layers-stanza-count{flex:0 0 auto;min-width:16px;text-align:center;padding:0 5px;border-radius:9px;background:#7a3fbf;color:#fff;font:700 10px/16px system-ui,sans-serif}.layers-tray{margin-top:8px;border-top:1px dashed #d8dee6;padding-top:6px;background:none}.layers-tray-head{padding:2px 8px;font:600 10px/1.4 system-ui,sans-serif;color:#8a93a0;text-transform:uppercase;letter-spacing:.5px}.layers-advanced{border-bottom:1px solid #eef1f5;padding:2px 8px 6px}.layers-panel .section-head{color:#7a3fbf;border-bottom:none;margin-top:0}.layers-adv-body{padding:4px 4px 2px;display:flex;flex-direction:column;gap:6px}.layers-adv-label{font:12px system-ui,sans-serif;color:#5a6473}.layers-adv-body .stepper{display:flex;align-items:center;gap:6px}.layers-adv-body .size-input{width:56px;text-align:right}.layers-adv-body .size-unit{color:#8a93a0;font-size:12px}.layers-adv-body input[type=range]{width:100%}.layers-section-head{padding:8px 8px 2px;font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:#8a93a0}.layers-help{display:inline-flex;margin-left:5px;cursor:help;color:#b3bac4;font-size:11px;vertical-align:middle;transition:color .12s ease}.layers-help:hover,.layers-help:focus{color:#7a3fbf;outline:none}.layers-chrome{list-style:none;margin:0;padding:2px 4px 6px;border-bottom:1px solid #eef1f5;user-select:none;-webkit-user-select:none}.chrome-group{background:#f4f1fb;margin-bottom:3px}.chrome-group.chrome-off{opacity:.6}.chrome-row{display:flex;align-items:center;gap:6px;padding:4px 6px;border-radius:5px;cursor:pointer;font:600 12px system-ui,sans-serif;color:#2f3a4e}.chrome-row:hover{background:#7a3fbf14}.chrome-row.selected{background:#7a3fbf2e;box-shadow:inset 0 0 0 1px #7a3fbf8c}.chrome-chevron-gap{flex:0 0 auto;width:16px}.chrome-ico{flex:0 0 auto;display:grid;place-items:center;width:18px;color:#7a3fbf}.chrome-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chrome-fields{padding-left:22px}.chrome-field{display:flex;align-items:center;gap:6px;padding:2px 6px;border-radius:4px;font:500 12px system-ui,sans-serif;color:#45506a}.chrome-field .layers-grip{flex:0 0 auto;width:12px;text-align:center;cursor:grab;color:#b7c0cc;font-size:11px;line-height:1;letter-spacing:-2px}.chrome-field.dragging{opacity:.45}.chrome-field.drop-target{box-shadow:inset 0 3px #7a3fbf;background:#7a3fbf1a}.chrome-dot{flex:0 0 auto;width:8px;height:8px;border-radius:50%;background:#d2d7de;box-shadow:inset 0 0 0 1px #b7c0cc}.chrome-dot.on{background:#34c759;box-shadow:none}.chrome-eye{flex:0 0 auto;display:grid;place-items:center;width:24px;height:22px;padding:0;border:1px solid transparent;background:none;border-radius:5px;cursor:pointer;color:#aab2bd}.chrome-eye:hover{background:#fff;border-color:#c8cfd8}.chrome-eye.on{color:#7a3fbf}.chrome-prefix{flex:0 0 auto;max-width:84px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px 6px;border:1px dashed #c3ccd8;background:#fff;border-radius:6px;cursor:pointer;color:#5a6473;font:500 11px/1.5 system-ui,sans-serif}.chrome-prefix:hover{border-color:#7a3fbf;color:#2f3a4e}.chrome-prefix.empty{color:#aab2bd;border-style:dotted}.chrome-prefix-pop{position:fixed;z-index:1001;display:flex;flex-direction:column;gap:5px;padding:8px 9px;background:#fff;border:1px solid #c8cfd8;border-radius:10px;box-shadow:0 8px 28px #00000038}.chrome-prefix-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.chrome-prefix-label{font:600 10px/1 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#6b7585}.chrome-prefix-tools{display:flex;gap:4px}.chrome-prefix-input{width:168px;padding:5px 7px;border:1px solid #c8cfd8;border-radius:6px;font:13px system-ui,sans-serif}.chrome-prefix-actions{display:flex;justify-content:flex-end;gap:6px}.chrome-subico{width:18px;color:#8b93a1}.chrome-swatch{flex:0 0 auto;width:22px;height:15px;padding:0;cursor:pointer;border:1px solid #c3ccd8;border-radius:5px}.chrome-swatch:hover{border-color:#7a3fbf}.chrome-swatch-pop{position:fixed;z-index:1001;display:flex;flex-direction:column;gap:6px;padding:8px 9px;background:#fff;border:1px solid #c8cfd8;border-radius:10px;box-shadow:0 8px 28px #00000038}.chrome-swatch-row{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;max-width:210px}.chrome-swatch-chip{width:24px;height:22px;padding:0;border-radius:5px;cursor:pointer;border:1px solid rgba(0,0,0,.18);font:700 12px/1 system-ui,sans-serif;display:grid;place-items:center}.chrome-swatch-chip.active{outline:2px solid #7a3fbf;outline-offset:1px}.chrome-swatch-chip.is-default{box-shadow:0 0 0 2px #fff,0 0 0 3px #b8c0cc}.layers-act.is-disabled{opacity:.3;cursor:default}.layers-act.is-disabled:hover{background:transparent}.debug-drawer{position:fixed;left:0;right:0;bottom:0;z-index:900;height:38vh;display:flex;flex-direction:column;background:#1e2330;color:#e7ebf2;border-top:2px solid #7a3fbf;box-shadow:0 -6px 24px #0000004d}.debug-head{display:flex;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid #353b4a;font:600 13px system-ui,sans-serif}.debug-spacer{flex:1}.debug-btn{border:1px solid #454c5e;background:#2a3040;color:#e7ebf2;border-radius:6px;padding:3px 10px;cursor:pointer;font:12px system-ui,sans-serif}.debug-btn:hover{background:#343c50}.debug-json{margin:0;padding:10px 12px;overflow:auto;flex:1;white-space:pre;-moz-tab-size:2;tab-size:2;font:12px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}@font-face{font-family:DejaVu Sans Mono;src:url(/fonts/DejaVuSansMono.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:DejaVu Sans Mono;src:url(/fonts/DejaVuSansMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:JetBrains Mono;src:url(/fonts/JetBrainsMono-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:block}@font-face{font-family:Source Code Pro;src:url(/fonts/SourceCodePro-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:block}@font-face{font-family:Source Code Pro;src:url(/fonts/SourceCodePro-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:block}:root{--chart-font: "DejaVu Sans Mono", monospace;--col-chord: #d11a1a;--col-lyric: #111111;--col-title: #000000;--col-meta-bg: #f6c945;--col-footer-bg: #2f6db5;--capo-grad: linear-gradient(90deg, #e23b3b, #ef8a2b, #f5c542, #1aa64b, #2c5fd6)}.chart-page{position:relative;box-sizing:border-box;width:var(--page-w);height:var(--page-h);padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);overflow:hidden;background:#fff;color:var(--col-lyric);font-family:var(--chart-font);break-after:page;user-select:none;-webkit-user-select:none}.chart-page:last-child,.annot-page-wrap:last-child .chart-page{break-after:auto}.chart-header{display:flex;justify-content:space-between;align-items:flex-start;gap:8mm;margin-bottom:4mm}.chart-title-wrap{flex:1;min-width:0}.chart-title{text-align:var(--title-align, left);color:var(--col-title);font-weight:var(--chart-weight, 700);font-size:var(--title-size, 13pt);line-height:1.32}.chart-subtitle{margin-top:1mm;text-align:var(--subtitle-align, left);color:var(--col-subtitle, var(--col-title));font-weight:var(--chart-weight, 700);font-size:var(--subtitle-size, 10pt);line-height:1.2}.chart-meta{position:absolute;top:var(--pad-top);right:var(--pad-right);z-index:2;background:var(--col-meta-bg);color:var(--col-meta-fg, #111);font-size:var(--meta-size, 9pt);font-weight:var(--chart-weight, 600);line-height:1.32;padding:0 var(--grid-x, 6px);white-space:pre;border-radius:1mm}.chart-meta.pos-left{left:var(--pad-left);right:auto}.chart-meta.selected,.chart-capo.selected,.chart-video-qr.selected,.chart-video-link.selected,.chart-turn-preview.selected,.chart-footer.selected{outline:2px solid #7a3fbf;outline-offset:0}.chrome-txt{display:inline-block}.chart-title.selected>.chrome-txt,.chart-subtitle.selected>.chrome-txt{outline:2px solid #7a3fbf;outline-offset:0;border-radius:3px}.chart-capo{display:inline-block;margin:0 0 3mm;position:relative;z-index:2;padding:.2em .8em;color:var(--col-capo-fg, #fff);font-weight:var(--chart-weight, 700);font-size:var(--capo-size, 10pt);background:var(--col-capo-bg, var(--capo-grad));text-shadow:0 1px 1px rgba(0,0,0,.45);border-radius:1mm}.chart-capo.floated{position:absolute;top:auto;left:var(--pad-left)}.chart-body{position:relative;font-size:var(--chart-fontsize, 11pt);line-height:1.32}.stanza{position:relative}.concert-box{box-sizing:border-box;width:var(--concert-box-w);padding:0 6px;background:var(--col-concert-bg, #ececec);border:.3mm solid var(--col-concert-border, #cfcfcf);border-radius:1mm;line-height:1.32}.concert-box.selected{outline:2px solid #7a3fbf;outline-offset:1px}.concert-box.blink{animation:concert-blink .55s ease-in-out 3}@keyframes concert-blink{0%,to{outline:2px solid transparent;outline-offset:2px}50%{outline:2px solid #7a3fbf;outline-offset:2px}}.concert-box.page-box{position:absolute;top:0;right:0}.concert-box.per-stanza{position:absolute;top:0;left:calc(100% + var(--concert-gap) + var(--ann-gut-right, 0px))}.concert-box.per-stanza.capo-room{top:var(--capo-room, 2.64em)}.line.concert-chord.capo-room{margin-top:var(--capo-room, 2.64em)}.concert-box.per-stanza.gap-cue-room{top:var(--gap-cue-room, 1.32em)}.line.concert-chord.gap-cue-room{margin-top:var(--gap-cue-room, 1.32em)}.concert-box.per-stanza.capo-room.gap-cue-room{top:calc(var(--capo-room, 2.64em) + var(--gap-cue-room, 1.32em))}.line.concert-chord.capo-room.gap-cue-room{margin-top:calc(var(--capo-room, 2.64em) + var(--gap-cue-room, 1.32em))}.line.concert-chord.bottom-cue-room{padding-bottom:var(--bottom-cue-room, 2.64em)}.concert-box.per-stanza.concert-label-room{margin-top:var(--concert-label-room, 1.32em)}.concert-label{position:absolute;bottom:100%;right:0;margin-bottom:2px;font-size:.72em;font-weight:var(--chart-weight, 700);letter-spacing:.4px;text-transform:uppercase;color:var(--col-concert-title, #777)}.concert-stanza+.concert-stanza{margin-top:.7em}.line.concert-chord{color:var(--col-concert-chord, var(--col-chord))}.line{white-space:pre;font-weight:var(--chart-weight, 700)}.line.chord{color:var(--col-chord);font-weight:var(--chord-weight, 700)}.line.lyric{color:var(--col-lyric);font-weight:var(--lyric-weight, 700)}.line.concert-chord{font-weight:var(--chord-weight, 700)}.line.blank{height:1.32em}.chart-body.ovf-hide,.concert-box.ovf-hide{overflow:hidden}.pair{position:relative}.wrap-warn{background:#ff69b42e;display:block;width:max-content;min-width:100%;box-sizing:border-box}.fit-warn{background:#1aa64b38;display:block}.kern-warn{background:#2176ff2e;display:block}.hide-warn{background:#d6000057;position:relative}.unknown{background:#ffd24d;color:#7a4a00;border-radius:2px;outline:1px dotted #b06a00;outline-offset:0}.chart-page.has-overflow:after{content:"";position:absolute;top:0;right:0;bottom:0;width:6px;background:#d60000}.chart-video-qr{position:absolute;bottom:var(--pad-bottom);left:var(--pad-left);width:16mm;height:16mm;image-rendering:pixelated}.chart-video-link{position:absolute;bottom:calc(var(--pad-bottom) / 2);left:var(--pad-left);font-size:7pt;color:var(--col-video-link, #2f6db5);max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chart-footer{position:absolute;bottom:calc(var(--pad-bottom) / 2);background:var(--col-footer-bg);color:var(--col-footer-fg, #fff);font-size:var(--footer-size, 8pt);font-weight:var(--chart-weight, 400);padding:.8mm 2.5mm;border-radius:1mm;letter-spacing:.5px}.chart-footer.pos-right{right:var(--pad-right)}.chart-footer.pos-left{left:var(--pad-left)}.chart-footer.pos-center{left:50%;transform:translate(-50%)}.chart-credit{position:absolute;left:50%;bottom:1.2mm;transform:translate(-50%);font-size:6pt;letter-spacing:.4px;color:#9aa3b2;white-space:nowrap;pointer-events:none}.chart-turn-preview{box-sizing:border-box;border:2px solid;padding:1mm 0;overflow:hidden;line-height:1.32;font-size:var(--chart-fontsize, 11pt)}.chart-turn-preview.pos-bottom{position:absolute;left:var(--pad-left);right:var(--pad-right);bottom:calc(var(--pad-bottom) + 8mm);z-index:1}.chart-turn-preview.pos-flow{margin-top:1.32em}.chart-turn-preview .line{white-space:pre}.turn-outline{outline:2px solid;outline-offset:0}.annot-page-wrap{position:relative;width:max-content}.annotate-layer{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;pointer-events:none}.annotate-layer.editing{pointer-events:auto;cursor:crosshair}.annotate-layer.arm-enter{pointer-events:auto}.annotate-layer.editing .annot-widget,.annotate-layer.editing .annot-marker{cursor:pointer}.annotate-layer:not(.editing) .annot-widget,.annotate-layer:not(.editing) .annot-marker{pointer-events:auto;cursor:pointer}.annot-focus-stanza{position:absolute;pointer-events:none;background:#7a3fbf12;outline:1px solid rgba(122,63,191,.35);border-radius:3px}.annot-focus-line{position:absolute;pointer-events:none;background:#7a3fbf1f;border-radius:2px}.annot-focus-gap{position:absolute;pointer-events:none;background:#7a3fbf4d;border-radius:4px}.annot-focus-stanza.sel{background:#7a3fbf1f;outline:2px solid rgba(122,63,191,.7)}.annot-focus-line.sel{background:#7a3fbf42;outline:1px solid rgba(122,63,191,.6)}.annot-focus-gap.sel{background:#7a3fbf99}.annot-gutter-mark{position:absolute;left:-30px;width:20px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;font:600 10px system-ui,sans-serif;line-height:1;color:#aab2c0;background:#7a3fbf0f;border:1px solid rgba(122,63,191,.18);border-radius:4px;cursor:pointer;-webkit-user-select:none;user-select:none;overflow:hidden;transition:color .1s,background .1s,border-color .1s}.annot-gutter-mark.gap{background:transparent;border-style:dashed;border-color:#7a3fbf38}.annot-gutter-mark:hover{color:#7a3fbf;background:#7a3fbf24;border-color:#7a3fbf73}.annot-gutter-mark.on{color:#fff;background:#7a3fbfd9;border-color:#7a3fbfd9;font-weight:700}.annot-gutter-mark.gap.on{background:#7a3fbf8c;border-style:solid}.qr-resize-handle{position:absolute;width:12px;height:12px;margin:-6px 0 0 -6px;z-index:7;pointer-events:auto;cursor:nwse-resize;background:#2f6db5;border:1.5px solid #fff;border-radius:50%;box-shadow:0 1px 3px #00000059}.annot-widget{position:absolute;z-index:6;box-sizing:border-box}.annot-widget.selected,.annot-marker.selected{outline:2px solid #2f6db5;outline-offset:0}.annot-widget,.annot-marker,.annot-recap{user-select:none;-webkit-user-select:none}.annot-widget input,.annot-widget textarea,.annot-recap input,.annot-recap textarea{user-select:text;-webkit-user-select:text}@keyframes annot-blink{0%,to{box-shadow:0 0 #7a3fbf00}50%{box-shadow:0 0 0 3px #7a3fbfd9}}.annot-widget.blink,.annot-marker.blink{animation:annot-blink .7s ease-in-out infinite;z-index:8}.annot-blink-voice{position:absolute;pointer-events:none;border-radius:3px;z-index:7;animation:annot-blink-bg .7s ease-in-out infinite}@keyframes annot-blink-bg{0%,to{background:#7a3fbf1a;outline:1px solid rgba(122,63,191,.3)}50%{background:#7a3fbf57;outline:2px solid rgba(122,63,191,.85)}}.annot-highlight-stanza{position:absolute;pointer-events:none;z-index:4;border-radius:4px;background:#7a3fbf1f;outline:2px solid rgba(122,63,191,.7)}.annot-highlight-line{position:absolute;pointer-events:none;z-index:4;border-radius:2px;background:#7a3fbf42;outline:1px solid rgba(122,63,191,.6)}.annot-highlight-gap{position:absolute;pointer-events:none;z-index:4;border-radius:4px;background:#7a3fbf4d;outline:1px solid rgba(122,63,191,.6)}.annot-repeat-bar{display:flex;align-items:center;justify-content:center;background:#f7a8c4;border-radius:3px;color:#5a1633;font:700 11px/1 system-ui,sans-serif}.annot-section-spine{display:flex;align-items:center;justify-content:center;background:#bff0d0;border-radius:3px;color:#14492c;font:700 11px/1 system-ui,sans-serif;overflow:hidden}.dir-left span{writing-mode:vertical-rl;transform:rotate(180deg);white-space:nowrap}.dir-right span{writing-mode:vertical-rl;white-space:nowrap}.dir-stack span{writing-mode:vertical-rl;text-orientation:upright;white-space:nowrap;letter-spacing:-2px}.annot-markers{display:flex;flex-direction:row;align-items:stretch;gap:3px;border-radius:4px}.annotate-layer.editing .annot-markers{cursor:pointer}.annot-markers.normal .annot-marker-bar{flex:0 1 auto;padding:3px 8px}.annot-markers.normal .annot-marker-bar span{writing-mode:horizontal-tb;transform:none;white-space:pre-wrap;text-align:center;word-break:break-word;line-height:1.15}.annot-marker-bar{flex:1 1 0;display:flex;align-items:center;justify-content:center;padding:3px 2px;border-radius:3px;font:600 11px/1.1 system-ui,sans-serif;overflow:hidden}.annot-marker-bar.ph span{opacity:.6;font-style:italic}.annot-cue-chip{padding:0 6px;border-radius:4px;font:600 11px/1.4 system-ui,sans-serif;white-space:nowrap;text-align:center;box-shadow:0 1px 2px #0003}.annotate-layer.editing .annot-cue-chip.draggable,.annotate-layer.editing .annot-widget.draggable,.annotate-layer.editing .annot-roadmap.draggable{cursor:move}.annot-pagebreak{display:flex;align-items:center;justify-content:center;height:0;border-top:2px dashed var(--pagebreak-col, #b23b8e);cursor:pointer;z-index:6}.annot-pagebreak-label{transform:translateY(-50%);padding:1px 8px;border-radius:999px;background:var(--pagebreak-col, #b23b8e);color:#fff;font:700 10px/1.5 system-ui,sans-serif;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;box-shadow:0 1px 2px #00000040}.annot-pagebreak.selected{outline:none}.annot-pagebreak.selected .annot-pagebreak-label{outline:2px solid #2f6db5;outline-offset:2px}.annot-chorus-mark{padding:0 6px;border-radius:4px;font:600 11px/1.4 system-ui,sans-serif;white-space:nowrap;text-align:center;box-shadow:0 1px 2px #0003;z-index:6}.meta-fields{display:flex;flex-direction:column;gap:3px;margin:2px 0 4px;min-width:19rem}.meta-field{display:flex;align-items:center;gap:6px}.meta-field.off .meta-field-label{opacity:.5}.meta-field-move{display:flex;gap:2px;flex:0 0 auto}.meta-field-move .annot-tool-btn{width:20px;padding:0}.meta-field-label{flex:1 1 auto;min-width:5.5em;white-space:nowrap;font:500 12px/1.4 system-ui,sans-serif}.meta-field-prefix{width:6.5em;flex:0 0 auto}.concert-dialog .meta-fields{min-width:17rem}.concert-dialog .annot-seg-btn{width:auto;min-width:1.8em;padding:0 8px;white-space:nowrap}.concert-dialog .annot-toolbar-row-opts{gap:8px}.concert-colours{display:flex;flex-direction:column;gap:5px;margin:4px 0 2px}.concert-colour-row{display:flex;align-items:center;gap:8px}.concert-colour-label{flex:1 1 auto;white-space:nowrap;font:500 12px/1.4 system-ui,sans-serif}.concert-colour-row .chrome-swatch-row{flex:0 0 auto;grid-template-columns:repeat(13,1fr);max-width:none;gap:3px}.annot-chorus-editor{display:flex;flex-direction:column;gap:5px;margin:2px 0 4px;min-width:32rem}.annot-chorus-editor-row{display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.annot-chorus-prefix-in{width:4.5em;flex:0 0 auto}.annot-chorus-ref-in{flex:1 1 11em;min-width:9em}.annot-chorus-swatches{flex:0 0 auto;flex-wrap:nowrap}.annot-chorus-showas-in{opacity:.7;font-size:.9em;white-space:nowrap;flex:0 0 auto}.annot-chorus-reserve-lbl{margin-left:4px}.annot-chorus-editor-row .annot-tool-btn{white-space:nowrap;flex:0 0 auto;width:auto;padding:2px 8px}.annot-chorus-editor-row .annot-chorus-showchip-lbl{margin-left:auto}.annot-chorus-editor-row .annot-chorus-showchip-lbl+.annot-chorus-eye{margin-left:0}.annot-chorus-editor-row .annot-chorus-eye{margin-left:auto;width:26px;padding:2px}.soft-reserve.soft-select{flex:0 0 auto;width:4.5em;min-width:4.5em}.annot-chorus-inline-spine{position:absolute;top:0;height:100%;display:flex;align-items:center;justify-content:center;border-radius:3px;font-weight:700;letter-spacing:.04em}.annot-recap{position:absolute;box-sizing:border-box;z-index:5;border-radius:4px}.annot-recap.selected{outline:2px solid #2f6db5;outline-offset:0}.annot-recap-hit{position:absolute;top:0;cursor:pointer;z-index:5}.annot-marker{position:absolute;max-width:120px;padding:0 5px;font:600 11px/1.3 system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;border:1px solid rgba(0,0,0,.25);border-radius:4px;background:#fff;color:#111;cursor:pointer;z-index:6}.annot-marker:hover{filter:brightness(.96)}.annot-capo{background:var(--capo-grad);color:#fff;font-weight:700;text-shadow:0 1px 1px rgba(0,0,0,.45);border:none;box-shadow:0 1px 2px #0003;max-width:none;overflow:visible;text-overflow:clip}.annot-voice{background:transparent;border-style:dashed}.annot-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000}.annot-picker{position:fixed;z-index:1001;min-width:170px;padding:4px;background:#fff;border:1px solid #c8cfd8;border-radius:8px;box-shadow:0 8px 28px #00000038;display:flex;flex-direction:column}.annot-picker-title{padding:4px 10px 6px;font:700 11px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#2f6db5;border-bottom:1px solid #e3e8ef;margin-bottom:3px}.annot-picker-header{padding:6px 10px 2px;font:700 10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.5px;color:#8a93a0;-webkit-user-select:none;user-select:none}.annot-picker-sep{height:1px;background:#e3e8ef;margin:4px 6px}.annot-picker-item{display:flex;align-items:center;gap:8px;text-align:left;padding:7px 10px;border:none;background:none;border-radius:5px;font:13px system-ui,sans-serif;cursor:pointer}.annot-picker-item .annot-kind-ico{color:#4a5666}.annot-picker-item:hover:not(:disabled){background:#eef1f5}.annot-picker-item:disabled{opacity:.4;cursor:default}.annot-picker-action-danger{color:#c0392b}.annot-picker-action-danger:hover:not(:disabled){background:#fdecea}.fill-src{display:flex;flex-direction:column;gap:1px;min-width:0}.fill-src-sec{font:700 10px system-ui,sans-serif;text-transform:uppercase;letter-spacing:.4px;color:#8a93a0;margin-bottom:1px}.fill-src-mono{display:flex;flex-direction:column;line-height:1.3}.fill-src-chords,.fill-src-lyric{font:12px/1.3 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;white-space:pre;-moz-tab-size:4;tab-size:4}.fill-src-chords{color:#d11a1a}.fill-src-lyric{color:#222c39}.annot-kind-limit{margin-left:auto;padding-left:12px;display:inline-flex;align-items:baseline;gap:4px;font:700 11px/1 system-ui,sans-serif;color:#9aa3b0;white-space:nowrap}.annot-kind-edit{flex:0 0 auto;width:11px;text-align:left;color:#6f7886}.annot-kind-label{flex:1 1 auto}.annot-kind-base{min-width:32px;text-align:right}.annot-kind-mark{min-width:12px;text-align:right;color:#6f7886}.annot-toolbar{position:fixed;z-index:1001;display:flex;flex-direction:column;align-items:stretch;gap:7px;padding:8px 9px;background:#fff;border:1px solid #c8cfd8;border-radius:10px;box-shadow:0 8px 28px #00000038}.annot-toolbar-head{display:flex;align-items:center;gap:6px;font:600 11px/1 system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#6b7585;padding-bottom:1px;padding-right:28px}.annot-del-corner{position:absolute;top:6px;right:8px}.annot-toolbar-row{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.annot-toolbar-row-opts{border-top:1px solid #eef1f5;padding-top:7px}.annot-toolbar-row-opts:empty{display:none}.annot-toolbar-row-main .annot-toolbar-text{width:150px}.annot-toolbar-row-opts .annot-close,.annot-toolbar-row-opts .annot-cancel{margin-left:auto}.annot-toolbar-row-opts .annot-cancel+.annot-close{margin-left:4px}.capo-actions-gap{flex:1 1 auto}.annot-del-corner{display:grid;place-items:center}.annot-toolbar-text{width:110px;padding:3px 6px;border:1px solid #c8cfd8;border-radius:5px;font:13px system-ui,sans-serif}.annot-toolbar-textarea{resize:vertical;min-height:2.4em;font-family:inherit;line-height:1.3}.annot-swatches{display:flex;gap:3px}.annot-swatch{width:16px;height:16px;border:1px solid rgba(0,0,0,.3);border-radius:50%;cursor:pointer;padding:0}.annot-swatch.on{outline:2px solid #2f6db5;outline-offset:1px}.annot-swatch.is-default{position:relative}.annot-swatch.is-default:after{content:"";position:absolute;bottom:-1px;right:-1px;width:6px;height:6px;border-radius:50%;background:#fff;border:1.5px solid #2f6db5}.annot-tool-btn{width:24px;height:24px;display:inline-flex;align-items:center;justify-content:center;padding:0;border:1px solid #c8cfd8;border-radius:5px;background:#f6f8fa;cursor:pointer;font-size:14px;line-height:1}.annot-tool-btn:hover{background:#eef1f5}.annot-tool-btn.on{background:#2f6db5;border-color:#2f6db5;color:#fff;font-weight:700}.annot-tool-btn.on:hover{background:#2a5f9e}.annot-del{color:#c0392b}.annot-del:hover{background:#fdecea;border-color:#e6b3ad}.annot-seg{display:inline-flex;border:1px solid #c8cfd8;border-radius:5px;overflow:hidden}.annot-seg-btn{width:24px;height:24px;padding:0;box-sizing:border-box;display:grid;place-items:center;border:none;border-left:1px solid #c8cfd8;background:#f6f8fa;cursor:pointer;line-height:1}.annot-seg-btn:first-child{border-left:none}.annot-seg-btn:hover{background:#eef1f5}.annot-seg-btn.on{background:#2f6db5;color:#fff}.annot-seg-btn:disabled{opacity:.35;cursor:default}.annot-seg-btn:disabled:hover{background:#f6f8fa}.annot-repeat-bar,.annot-section-spine,.annot-marker-bar,.annot-cue-chip,.annot-roadmap-bar,.annot-marker{font-size:var(--annot-font-size, 11px)}.annot-pagebreak-label,.annot-chorus-mark{font-size:var(--annot-font-size, 10px)}.annot-repeat-bar,.annot-section-spine,.annot-marker-bar,.annot-cue-chip,.annot-roadmap-bar,.annot-marker,.annot-pagebreak-label,.annot-chorus-mark{font-family:var(--annot-font, system-ui, sans-serif)}.annot-roadmap-track{display:flex;pointer-events:none}.annot-roadmap-track.align-left{justify-content:flex-start}.annot-roadmap-track.align-center{justify-content:center}.annot-roadmap-track.align-right{justify-content:flex-end}.annot-roadmap{display:flex;flex-direction:column;align-items:stretch;gap:2px;pointer-events:auto;border-radius:4px}.annot-roadmap.width-full{flex:1 1 100%}.annot-roadmap.width-longest{flex:0 1 auto}.annot-roadmap.selected{outline:2px solid #2f6db5;outline-offset:0}.annot-roadmap-bar{padding:1px 8px;border-radius:3px;font-weight:700;line-height:1.5;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.annot-roadmap-bar.align-left{text-align:left}.annot-roadmap-bar.align-center{text-align:center}.annot-roadmap-bar.align-right{text-align:right}.annot-seg-label{font:600 11px system-ui,sans-serif;color:#5a6472;align-self:center;margin:0 1px 0 4px}.soft-select.soft-spacing{flex:0 0 auto;width:4em;min-width:4em;padding:4px 6px 4px 8px;font-size:13px}.annot-roadmap-editor{display:flex;flex-direction:column;gap:5px;flex:1 1 100%}.annot-roadmap-row{display:flex;align-items:center;gap:5px}.annot-roadmap-row .annot-roadmap-label{width:auto;flex:1 1 auto;min-width:90px}.annot-roadmap-label-multi{resize:vertical;min-height:28px;line-height:1.3;font-family:inherit}.annot-roadmap-row .annot-tool-btn{flex:0 0 auto;width:22px;height:24px;padding:0}.annot-roadmap-swatches{flex:0 0 auto;display:flex;flex-wrap:nowrap;gap:3px}.annot-roadmap-add{align-self:flex-start;padding:4px 11px;border:1px solid #c8cfd8;border-radius:5px;background:#f6f8fa;cursor:pointer;font:600 12px system-ui,sans-serif;white-space:nowrap}.annot-roadmap-add:hover{background:#eef1f5}.td-ico{font:700 9px/1 system-ui,sans-serif;display:inline-block;height:16px}.td-ico.td-left{writing-mode:vertical-rl;transform:rotate(180deg)}.td-ico.td-right{writing-mode:vertical-rl}.td-ico.td-stack{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:-2px}.td-ico.td-normal{writing-mode:horizontal-tb}.annot-anchor-mark{position:absolute;width:18px;height:18px;display:grid;place-items:center;font-size:11px;line-height:1;color:#6a34b8;background:#f4eeff;border:1px solid #b99cf0;border-radius:5px;box-shadow:0 1px 3px #14213d40;pointer-events:none;z-index:6;animation:annot-anchor-flash .9s ease-out both}.annot-anchor-mark.row{transform:translate(-150%,-50%)}.annot-anchor-mark.page{transform:translate(-150%,2px)}@keyframes annot-anchor-flash{0%{opacity:0}12%{opacity:1}28%{opacity:.3}44%{opacity:1}60%{opacity:.4}76%{opacity:1}to{opacity:.85}}.annot-spacer-band{position:absolute;border:1px dashed var(--annot-spacer-border, rgba(124, 58, 237, .45));border-radius:3px;background:transparent;cursor:pointer;box-sizing:border-box}.annot-spacer-band:hover{background:var(--annot-spacer-bg-hover, rgba(124, 58, 237, .13))}.annot-spacer-del{position:absolute;top:1px;right:2px;border:none;background:transparent;cursor:pointer;font-size:13px;line-height:1;padding:1px 3px;border-radius:3px;color:var(--annot-spacer-border, rgba(124, 58, 237, .8));opacity:0;transition:opacity .12s}.annot-spacer-band:hover .annot-spacer-del{opacity:1}.annot-spacer-del:hover{background:#7c3aed2e}.annot-spacer-resize{position:absolute;left:0;right:0;bottom:-3px;height:9px;cursor:ns-resize;touch-action:none}.annot-spacer-resize:after{content:"";position:absolute;left:50%;bottom:3px;width:34px;height:3px;margin-left:-17px;border-radius:2px;background:var(--annot-spacer-border, rgba(124, 58, 237, .45));opacity:0;transition:opacity .12s}.annot-spacer-band:hover .annot-spacer-resize:after{opacity:1}.annot-spacer-band.selected{border-style:solid;border-color:#7c3aede6;background:#7c3aed2e}.annot-spacer-band.baseline{border-color:transparent;background:transparent}.annot-spacer-band.baseline:hover{border-color:var(--annot-spacer-border, rgba(124, 58, 237, .45));background:var(--annot-spacer-bg-hover, rgba(124, 58, 237, .13))}.annot-spacer-band.baseline.selected{border-style:solid;border-color:#7c3aede6;background:#7c3aed2e}.annot-spacer-band.hosted{pointer-events:none;background:transparent;border-color:#7c3aed38}.annot-spacer-band.hosted.selected{border-color:#2f6db5d9;background:#2f6db51a}.annot-spacer-band.zero{border:none;border-top:1.5px solid var(--annot-spacer-border, rgba(124, 58, 237, .45));background:transparent;opacity:0}.annot-spacer-band.zero.selected{opacity:1}.annot-spacer-band.pass-through{pointer-events:none}.annot-spacer-band.pass-through:hover{background:transparent;border-color:transparent}.annot-spacer-band.pass-through.hosted:hover{background:transparent}.chart-thumb-page{background:#fff;border-radius:3px;box-shadow:0 1px 4px #1428502e;overflow:hidden;flex:0 0 auto}.chart-thumb-inner{padding:4px 5px;font-family:DejaVu Sans Mono,ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre}.chart-thumb-line{overflow:hidden;text-overflow:clip}.chart-thumb-line.chord{color:#d11a1a}.chart-thumb-line.lyric{color:#1a1a1a}.chart-thumb-blank,.library,.library-inner{width:100%}.library-toolbar{display:flex;align-items:center;gap:10px;margin-bottom:12px}.library-search{flex:1 1 auto;min-width:0;max-width:340px;padding:7px 12px;border:1px solid #d6dbe4;border-radius:8px;font:14px system-ui,sans-serif;color:#1d2733;background:#fff}.library-search:focus{outline:none;border-color:#6e9ad6;box-shadow:0 0 0 2px #6e9ad640}.library-newfolder{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border:1px solid #d6dbe4;border-radius:8px;background:#fff;font:600 13px system-ui,sans-serif;color:#46516a;cursor:pointer;transition:background .12s,border-color .12s}.library-newfolder:hover{background:#f4f1fb;border-color:#b9a6e0;color:#6a3fa8}.library-folders{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}.folder-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border:1px solid #dde1ea;border-radius:999px;background:#f7f8fb;font:600 13px system-ui,sans-serif;color:#46516a;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.folder-chip:hover{background:#eef3fb}.folder-chip.active{background:#efe7fb;border-color:#b9a6e0;color:#5b2e9c}.folder-chip-count{min-width:16px;padding:0 5px;border-radius:999px;background:#00000012;color:inherit;font-size:11px;font-weight:700;text-align:center}.folder-chip-menu{border:none;background:none;cursor:pointer;color:#8a93a0;font-size:15px;line-height:1;padding:0 2px;border-radius:4px}.folder-chip-menu:hover{color:#5b2e9c;background:#0000000f}.folder-rename-input{width:110px;padding:2px 6px;border:1px solid #6e9ad6;border-radius:6px;font:600 13px system-ui,sans-serif;color:#1d2733}.library-count{margin-bottom:10px;font:600 12px system-ui,sans-serif;color:#8a93a0;text-transform:uppercase;letter-spacing:.04em}.library-empty-note{padding:28px 8px;color:#98a1ae;font:14px system-ui,sans-serif}.library-card-actions{position:absolute;top:6px;right:6px;display:flex;gap:1px;opacity:0;transition:opacity .12s}.song-card:hover .library-card-actions,.song-card:focus-within .library-card-actions{opacity:1}.library-act{width:24px;height:24px;border:none;background:#ffffffeb;border-radius:6px;color:#7b8494;font:14px/1 system-ui,sans-serif;cursor:pointer;box-shadow:0 1px 3px #00000024;transition:background .12s,color .12s}.library-act:hover{background:#eef3fb;color:#2f6db5}.library-act-del{font-size:17px}.library-act-del:hover{background:#fbeaea;color:#c0392b}.library-rename-input{width:100%;padding:4px 6px;border:1px solid #6e9ad6;border-radius:6px;font:600 14px system-ui,sans-serif;color:#1d2733}.home-screen{width:100%;max-width:920px;margin:0 auto}.home-top{display:flex;gap:14px;align-items:stretch;margin-bottom:28px}.home-paste-card{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px;cursor:text;padding:16px 18px 12px;border:1px solid #e3e9f2;border-radius:14px;background:#fff;box-shadow:0 1px 3px #1428500f,0 6px 18px #1428500d;transition:border-color .12s,box-shadow .12s}.home-paste-card:focus-within{border-color:#9bc0ee;box-shadow:0 0 0 3px #2f6db524}.home-card-title{font-size:13px;font-weight:700;color:#2a3850}.home-paste{flex:1 1 auto;min-width:0;min-height:150px;resize:none;padding:0;border:none;background:none;font-family:DejaVu Sans Mono,monospace;font-size:15px;line-height:1.45;white-space:pre;overflow:auto;color:#1d2733}.home-paste::placeholder{color:#9aa3af}.home-paste:focus{outline:none}.home-actions{flex:0 0 240px;display:flex;flex-direction:column;gap:14px;align-self:flex-end}.home-start{flex:1 1 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:18px 14px;border:none;border-radius:12px;cursor:pointer;text-align:center;background:linear-gradient(135deg,#2f6db5,#5a4bd1);color:#fff;box-shadow:0 4px 14px #2f6db547;transition:transform .06s,box-shadow .12s}.home-start:hover{box-shadow:0 6px 20px #2f6db561}.home-start:active{transform:translateY(1px)}.home-start-ico{display:inline-flex}.home-start-label{font-size:15px;font-weight:700}.home-start-sub{font-size:12px;font-weight:500;opacity:.9}.home-open{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:16px 14px}.home-open-ico{display:inline-flex}.home-open-label{font-size:15px;font-weight:700}.home-open-sub{font-size:12px;font-weight:500;opacity:.9}@media(max-width:640px){.home-top{flex-direction:column}.home-actions{flex-basis:auto;align-self:stretch;flex-direction:row}.home-start,.home-open{flex:1 1 0}}.home-ai-hint{display:flex;align-items:center;gap:12px;text-decoration:none;margin:-12px 0 28px;padding:12px 16px;border-radius:12px;border:1px solid #e0e6f5;background:linear-gradient(135deg,#f6f4ff,#eef4ff);transition:border-color .12s,box-shadow .12s}.home-ai-hint:hover{border-color:#b9c2ef;box-shadow:0 2px 10px #3c3ca01a}.home-ai-hint-spark{font-size:20px;line-height:1}.home-ai-hint-text{display:flex;flex-direction:column;gap:2px;min-width:0}.home-ai-hint-label{font-size:14px;font-weight:700;color:#3a3a7a}.home-ai-hint-sub{font-size:12.5px;color:#5a6480}.home-ai-hint-arrow{margin-left:auto;font-size:18px;font-weight:700;color:#5a4bd1}.home-recent-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:10px}.home-recent-title{margin:0;font-size:16px;font-weight:700;color:#2a3850}.home-seeall{border:none;background:none;cursor:pointer;color:#2f6db5;font-size:13px;font-weight:600;padding:4px 6px}.home-seeall:hover{text-decoration:underline}.home-recent .library{min-height:0}.lang-chip{display:inline-flex;align-items:center;gap:6px;max-width:100%;padding:5px 8px;border:1px solid #d4dae6;border-radius:10px;background:#fff;color:#3a4760;font:600 12px/1.1 system-ui,sans-serif;cursor:pointer;transition:background .12s,border-color .12s}.lang-chip:hover{background:#eef1f5}.lang-chip-flag{font-size:14px;line-height:1}.lang-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lang-pop{position:fixed;z-index:1000;display:flex;flex-direction:column;gap:2px;padding:6px;border:1px solid #d4dae6;border-radius:12px;background:#fff;box-shadow:0 10px 30px #1428502e,0 2px 8px #1428501a}.lang-opt{display:flex;align-items:center;gap:8px;padding:7px 12px 7px 9px;border:none;border-radius:8px;background:none;color:#3a4760;font:500 13px/1.1 system-ui,sans-serif;white-space:nowrap;text-align:left;cursor:pointer}.lang-opt:hover{background:#eef1f5}.lang-opt.on{background:#dde8fb;color:#2f6db5;font-weight:700}.lang-opt-flag{font-size:15px;line-height:1}.recent-screen{min-height:100vh;background:#e9ecf1}.recent-head{display:flex;align-items:center;justify-content:space-between;gap:16px;max-width:1100px;margin:0 auto;padding:18px 24px 6px}.recent-brand{display:flex;align-items:center;gap:12px;min-width:0}.recent-logo{border-radius:7px;flex:0 0 auto}.recent-titles{min-width:0}.recent-title{margin:0;font-size:22px;font-weight:800;color:#1f2733}.recent-sub{margin:2px 0 0;font-size:13px;color:#6b7482}.recent-body{max-width:1100px;margin:0 auto;padding:8px 24px 40px}.recent-empty{color:#6b7482;font-size:14px;padding:24px 4px}.songbook{display:grid;grid-template-columns:220px 1fr;gap:20px;width:100%;align-items:start}.sb-books{display:flex;flex-direction:column;gap:10px}.sb-newbook{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border:1px solid #d6dbe4;border-radius:8px;background:#fff;font:600 13px system-ui,sans-serif;color:#46516a;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sb-newbook:hover{background:#f4f1fb;border-color:#b9a6e0;color:#6a3fa8}.sb-book-list{display:flex;flex-direction:column;gap:4px}.sb-book-item{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border-radius:8px;cursor:pointer;border:1px solid transparent;font:600 13px system-ui,sans-serif;color:#46516a;transition:background .12s,border-color .12s,color .12s}.sb-book-item:hover{background:#eef3fb}.sb-book-item.active{background:#efe7fb;border-color:#b9a6e0;color:#5b2e9c}.sb-book-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-book-count{flex:0 0 auto;min-width:16px;padding:0 6px;border-radius:999px;background:#00000012;color:inherit;font-size:11px;font-weight:700;text-align:center}.sb-rename-input{width:100%;padding:3px 6px;border:1px solid #6e9ad6;border-radius:6px;font:600 13px system-ui,sans-serif;color:#1d2733}.sb-detail{min-width:0}.sb-detail-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:14px}.sb-detail-title{margin:0;font:700 20px system-ui,sans-serif;color:#1d2733}.sb-title-input{flex:1 1 220px;min-width:0;max-width:360px;margin:-2px 0;padding:2px 8px;border:1px solid #6e9ad6;border-radius:8px;font:700 20px system-ui,sans-serif;color:#1d2733}.sb-title-input:focus{outline:none;box-shadow:0 0 0 2px #6e9ad640}.sb-detail-actions{display:flex;gap:8px;flex-wrap:wrap}.sb-act{padding:6px 12px;border:1px solid #d6dbe4;border-radius:8px;background:#fff;font:600 13px system-ui,sans-serif;color:#46516a;cursor:pointer;transition:background .12s,border-color .12s,color .12s}.sb-act:hover{background:#eef3fb;border-color:#b9c4d6}.sb-act:disabled{opacity:.5;cursor:default}.sb-act-danger:hover{background:#fbeaea;border-color:#e3b4b4;color:#c0392b}.sb-act-primary{background:#6a3fa8;border-color:#6a3fa8;color:#fff}.sb-act-primary:hover:not(:disabled){background:#5b2e9c;border-color:#5b2e9c}.sb-empty-detail,.sb-empty-note{padding:24px 8px;color:#98a1ae;font:14px system-ui,sans-serif}.sb-songlist{list-style:none;margin:0 0 14px;padding:0;display:flex;flex-direction:column;gap:6px}.sb-song-row{display:flex;align-items:center;gap:12px;padding:6px 10px;border:1px solid #e6e9f0;border-radius:10px;background:#fff;cursor:grab;transition:box-shadow .12s,border-color .12s,opacity .12s}.sb-song-row:active{cursor:grabbing}.sb-song-row.dragging{opacity:.4}.sb-song-row.drag-over{border-color:#b9a6e0;box-shadow:0 -2px #6a3fa8 inset}.sb-song-row .sb-move,.sb-song-row .sb-remove,.sb-song-row .sb-song-thumb{cursor:pointer}.sb-drag-handle{flex:0 0 auto;color:#c3c9d4;font-size:15px;line-height:1;letter-spacing:-2px;-webkit-user-select:none;user-select:none}.sb-song-index{flex:0 0 auto;width:20px;text-align:center;font:700 13px system-ui,sans-serif;color:#9aa3b2}.sb-song-thumb{flex:0 0 auto;width:42px;height:56px;border-radius:4px;overflow:hidden;cursor:pointer;border:1px solid #e6e9f0;background:#fff;line-height:0}.sb-song-thumb .chart-thumb-page{transform:scale(.37);transform-origin:top left}.sb-song-name{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 14px system-ui,sans-serif;color:#1d2733}.sb-song-move{display:flex;flex-direction:column;gap:2px}.sb-move{border:none;background:none;cursor:pointer;color:#9aa3b2;font-size:14px;line-height:1;padding:3px 7px;border-radius:5px}.sb-move:hover:not(:disabled){color:#5b2e9c;background:#0000000f}.sb-move:disabled{opacity:.3;cursor:default}.sb-remove{flex:0 0 auto;border:none;background:none;cursor:pointer;color:#b6bdc9;font-size:14px;line-height:1;padding:3px 6px;border-radius:5px}.sb-remove:hover{color:#c0392b;background:#fbeaea}.sb-add{margin-top:4px}.sb-add-panel{margin-top:8px}.sb-add-search{width:100%;max-width:340px;margin-bottom:8px;padding:7px 12px;border:1px solid #d6dbe4;border-radius:8px;font:14px system-ui,sans-serif;color:#1d2733;background:#fff}.sb-add-search:focus{outline:none;border-color:#6e9ad6;box-shadow:0 0 0 2px #6e9ad640}.sb-add-list{display:flex;flex-direction:column;gap:3px;max-height:320px;overflow:auto;border:1px solid #e6e9f0;border-radius:10px;padding:6px}.sb-add-item{display:flex;align-items:center;gap:8px;padding:7px 10px;border:none;border-radius:7px;background:none;cursor:pointer;font:600 13px system-ui,sans-serif;color:#46516a;text-align:left;transition:background .12s}.sb-add-item:hover{background:#f4f1fb;color:#6a3fa8}.sb-add-plus{color:#6a3fa8;font-weight:700}.sb-add-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sb-layout-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:2px 0 12px}.sb-chip{border:1px solid #d6dbe4;background:#fff;cursor:pointer;padding:5px 11px;border-radius:999px;font:600 12.5px system-ui,sans-serif;color:#46516a;transition:background .12s,border-color .12s}.sb-chip:hover{background:#f4f1fb;border-color:#b9a6e0;color:#6a3fa8}.sb-toc-toggle{display:inline-flex;align-items:center;gap:6px;margin-left:auto;font:600 12.5px system-ui,sans-serif;color:#46516a;cursor:pointer;-webkit-user-select:none;user-select:none}.sb-toc-toggle input{accent-color:#6a3fa8;cursor:pointer}.sb-cover-card{display:flex;flex-direction:column;gap:6px;padding:10px 12px;margin-bottom:12px;border:1px dashed #b9a6e0;border-radius:10px;background:#faf8ff}.sb-cover-label{font:700 11px system-ui,sans-serif;letter-spacing:.04em;text-transform:uppercase;color:#6a3fa8}.sb-cover-text{width:100%;resize:vertical;min-height:52px;padding:8px 10px;border:1px solid #d6dbe4;border-radius:8px;font:14px system-ui,sans-serif;color:#1d2733;background:#fff}.sb-cover-text:focus{outline:none;border-color:#6e9ad6;box-shadow:0 0 0 2px #6e9ad640}.sb-song-pages{flex:0 0 auto;font:600 12px system-ui,sans-serif;color:#9aa3b2;white-space:nowrap}.sb-blank-row{background:repeating-linear-gradient(45deg,#fcfcfe,#fcfcfe 8px,#f6f7fb 8px,#f6f7fb 16px)}.sb-blank-thumb{flex:0 0 auto;width:42px;height:56px;border-radius:4px;border:1px dashed #cfd5e0;background:#fff}.sb-blank-name{font-style:italic;color:#9aa3b2;font-weight:600}.sb-locked{display:flex;justify-content:center;padding:40px 16px;width:100%}.sb-locked-card{max-width:460px;width:100%;text-align:center;background:#fff;border:1px solid #e4e0f0;border-radius:16px;padding:36px 32px;box-shadow:0 1px 3px #2818500d}.sb-locked-icon{font-size:40px;line-height:1}.sb-locked-badge{display:inline-block;margin-top:12px;padding:2px 10px;border-radius:999px;background:#efe7fb;color:#6a3fa8;font:700 11px/1.4 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}.sb-locked-title{margin:14px 0 0;font:700 20px/1.3 system-ui,sans-serif;color:#2a2340}.sb-locked-body{margin:10px 0 0;font:400 14px/1.6 system-ui,sans-serif;color:#5a5570}.sb-locked-cta{margin-top:22px;padding:10px 20px;border:none;border-radius:10px;background:#6a3fa8;color:#fff;font:600 14px system-ui,sans-serif;cursor:pointer;transition:background .12s}.sb-locked-cta:hover{background:#5b2e9c}.sb-locked-fine{margin:14px 0 0;font:400 12px/1.5 system-ui,sans-serif;color:#8b86a0}.upg-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1822386b;display:flex;align-items:center;justify-content:center;padding:20px}.upg-modal{position:relative;width:100%;max-width:560px;background:#fff;border-radius:18px;box-shadow:0 24px 70px #14213d57;padding:26px 26px 20px}.upg-modal.wide{max-width:760px}.upg-close{position:absolute;top:12px;right:14px;background:none;border:0;cursor:pointer;font:400 26px/1 system-ui,sans-serif;color:#9aa4b8}.upg-close:hover{color:#4a5568}.upg-head h2,.upg-thanks h2{margin:0 0 6px;font:800 22px/1.1 system-ui,sans-serif;color:#1f2942}.upg-head p{margin:0 0 18px;font:500 13px/1.4 system-ui,sans-serif;color:#6b7690}.upg-cols{display:grid;grid-template-columns:1fr 1.15fr;gap:12px}.upg-cols.three{grid-template-columns:repeat(3,1fr);gap:10px}.upg-col{border:1px solid #e4e9f2;border-radius:14px;padding:16px 14px 14px;display:flex;flex-direction:column}.upg-col.pro{border-color:#cbb6f2;background:linear-gradient(180deg,#faf7ff,#fff)}.upg-col.hl{border-color:#a9c6ee;background:linear-gradient(180deg,#f4f8ff,#fff)}.upg-col.current{box-shadow:inset 0 0 0 1.5px #7a8db0}.upg-col.pro.current{box-shadow:inset 0 0 0 1.5px #8a5fd6}.upg-col-name{font:800 14px/1 system-ui,sans-serif;color:#2a3350;display:flex;align-items:center;gap:6px;flex-wrap:wrap}.upg-col-price{font:800 22px/1.1 system-ui,sans-serif;color:#1f2942;margin:8px 0 2px}.upg-col-price span{font:600 12px/1 system-ui,sans-serif;color:#8a94ab}.upg-col-lead{font:600 10.5px/1.3 system-ui,sans-serif;color:#7a8296;margin:6px 0 10px;min-height:26px}.upg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px;flex:1}.upg-list li{font:500 12px/1.35 system-ui,sans-serif;color:#38425c;padding-left:18px;position:relative}.upg-cols.three .upg-list li{font-size:11.5px}.upg-list li:before{content:"✓";position:absolute;left:0;color:#6a34b8;font-weight:800}.upg-list.muted li{color:#6b7690}.upg-list.muted li:before{color:#98a2b6}.upg-col-tag{margin-top:12px;font:700 10px/1.4 system-ui,sans-serif;color:#98a2b6;text-transform:uppercase;letter-spacing:.04em}.upg-col-tag.current{color:#486089}.upg-badge{display:inline-block;background:#efe4ff;color:#6a34b8;font:800 12px/1 system-ui,sans-serif;letter-spacing:.06em;padding:5px 9px;border-radius:7px}.upg-badge.sm{padding:2px 6px;font-size:9px;border-radius:5px}.upg-plan-toggle{display:flex;gap:8px;margin-top:18px}.upg-plan-toggle button{flex:1;cursor:pointer;border-radius:10px;padding:10px 8px;font:700 12.5px/1.1 system-ui,sans-serif;color:#4a5568;background:#f2f5fa;border:1.5px solid #e2e8f1}.upg-plan-toggle button.on{color:#6a34b8;background:#f4eeff;border-color:#b99cf0}.upg-plan-toggle button span{display:inline-block;margin-left:4px;font:700 9px/1 system-ui,sans-serif;color:#1f7a3d;background:#dcefe0;padding:2px 5px;border-radius:5px;vertical-align:middle}.upg-cta{margin-top:12px;width:100%;cursor:pointer;font:800 15px/1 system-ui,sans-serif;color:#fff;background:linear-gradient(180deg,#7a41d6,#6a34b8);border:0;border-radius:12px;padding:14px}.upg-cta:hover:not(:disabled){filter:brightness(1.06)}.upg-cta:disabled{background:#c9cede;cursor:default}.upg-cta.ghost{background:#f2f5fa;color:#445}.upg-fine{margin:10px 2px 0;text-align:center;font:500 11px/1.4 system-ui,sans-serif;color:#98a2b6}.upg-thanks{text-align:center;padding:8px 0 0}.upg-thanks p{margin:8px auto 18px;max-width:380px;font:500 13px/1.5 system-ui,sans-serif;color:#6b7690}.upg-thanks .upg-badge{margin-bottom:10px}@media(max-width:640px){.upg-cols,.upg-cols.three{grid-template-columns:1fr}.upg-col-lead{min-height:0}}.acct-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#1822386b;display:flex;align-items:center;justify-content:center;padding:20px}.acct-modal{position:relative;width:100%;max-width:460px;background:#fff;border-radius:16px;box-shadow:0 24px 70px #14213d57;padding:24px 24px 20px}.acct-close{position:absolute;top:10px;right:12px;background:none;border:0;cursor:pointer;font:400 26px/1 system-ui,sans-serif;color:#9aa4b8}.acct-close:hover{color:#4a5568}.acct-modal h2{margin:0;font:800 20px/1.1 system-ui,sans-serif;color:#1f2942}.acct-sub{margin:4px 0 0;font:500 12px/1.3 system-ui,sans-serif;color:#7a8296}.acct-sec{margin-top:20px}.acct-sec h3{margin:0 0 4px;font:700 13px/1.2 system-ui,sans-serif;color:#2a3350}.acct-sec p{margin:0 0 10px;font:500 12.5px/1.45 system-ui,sans-serif;color:#6b7690}.acct-btn{cursor:pointer;font:700 12.5px/1 system-ui,sans-serif;color:#33405c;background:#f2f5fa;border:1px solid #e2e8f1;border-radius:8px;padding:9px 12px}.acct-btn:hover{background:#eaeff6}.acct-btn.danger{color:#fff;background:#c0392b;border-color:#c0392b}.acct-btn.danger:hover{background:#a93226}.acct-btn:disabled{opacity:.6;cursor:default}.acct-links{display:flex;gap:16px}.acct-links a{font:600 12.5px/1 system-ui,sans-serif;color:#2f6db5;text-decoration:none}.acct-links a:hover{text-decoration:underline}.acct-danger{border-top:1px solid #f0e3e1;padding-top:16px}.acct-danger h3{color:#b23b34}.acct-confirm-row{display:flex;gap:10px}.access-menu{position:relative;width:100%;display:flex;justify-content:center}.access-user{background:none;border:0;cursor:pointer;padding:4px 2px;border-radius:10px}.access-user:hover .rail-user-ava,.access-user.on .rail-user-ava{background:#cfd7e6;color:#2f5aa8}.rail-user-label{display:block;max-width:70px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.access-user.on{background:#eef2f8}.access-pop{position:absolute;bottom:0;left:calc(100% + 10px);width:208px;background:#fff;border:1px solid #d8dfea;border-radius:12px;box-shadow:0 12px 34px #1c2c4a38;padding:6px;z-index:60}.access-pop-head{display:flex;align-items:center;justify-content:space-between;font:700 11px/1.2 system-ui,sans-serif;color:#5a6884;text-transform:uppercase;letter-spacing:.04em;padding:4px 6px 6px}.access-dev{font-size:9px;background:#f0a;background:#ffd8ef;color:#a11466;padding:1px 5px;border-radius:6px;letter-spacing:.06em}.access-opt{display:flex;gap:8px;width:100%;text-align:left;background:none;border:0;border-radius:9px;padding:8px;cursor:pointer}.access-opt:hover{background:#f2f5fa}.access-opt.active{background:#eaf1fb}.access-opt-check{color:#2f6db5;font-size:12px;line-height:1.4}.access-opt.active .access-opt-check{color:#2f6db5}.access-opt:not(.active) .access-opt-check{color:#b6c0d2}.access-opt-main{display:flex;flex-direction:column;gap:2px;min-width:0}.access-opt-label{font:700 13px/1.2 system-ui,sans-serif;color:#26304a}.access-opt-blurb{font:500 11px/1.2 system-ui,sans-serif;color:#78829a}.access-opt-caps{display:flex;flex-wrap:wrap;gap:4px;margin-top:3px}.access-opt-caps .cap{font:600 9px/1.4 system-ui,sans-serif;padding:1px 5px;border-radius:5px;background:#eef1f6;color:#aab2c2}.access-opt-caps .cap.on{background:#dcefe0;color:#1f7a3d}.access-opt-caps .cap.num{background:#e7edf7;color:#486089}.access-pop-foot{font:500 10px/1.3 system-ui,sans-serif;color:#97a0b3;padding:6px 6px 3px;border-top:1px solid #eef1f6;margin-top:4px}.access-account{padding:4px 6px 8px}.access-account-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.access-account-email{font:600 12px/1.3 system-ui,sans-serif;color:#26304a;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.access-account-tier{font:700 9px/1.4 system-ui,sans-serif;padding:1px 6px;border-radius:6px;text-transform:uppercase;letter-spacing:.04em;flex:none;background:#e7edf7;color:#486089}.access-account-tier.tier-pro{background:#efe4ff;color:#6a34b8}.access-signout{margin-top:8px;width:100%;text-align:center;cursor:pointer;font:600 12px/1 system-ui,sans-serif;color:#5a6884;background:#f2f5fa;border:1px solid #e2e8f1;border-radius:8px;padding:7px}.access-signout:hover{background:#eaeff6;color:#33405c}.access-manage{display:block;margin-top:8px;text-align:center;text-decoration:none;font:700 12px/1 system-ui,sans-serif;color:#6a34b8;background:#f4eeff;border:1px solid #e6d8fb;border-radius:8px;padding:8px}.access-manage:hover{background:#ece0fb}.access-cloud{margin-top:6px;font:700 10px/1.4 system-ui,sans-serif;letter-spacing:.02em}.access-cloud.syncing{color:#486089}.access-cloud.synced{color:#1f7a3d}.access-cloud.error{color:#c0392b}.access-upgrade{margin-top:8px;width:100%;text-align:center;cursor:pointer;font:700 12px/1 system-ui,sans-serif;color:#fff;background:linear-gradient(180deg,#7a41d6,#6a34b8);border:0;border-radius:8px;padding:8px}.access-upgrade:hover{filter:brightness(1.06)}.access-see-pro{width:100%;text-align:center;cursor:pointer;margin-top:6px;font:700 11px/1 system-ui,sans-serif;color:#6a34b8;background:none;border:0;padding:6px}.access-see-pro:hover{text-decoration:underline}.access-signin{padding:0 0 6px;border-bottom:1px solid #eef1f6;margin-bottom:4px}.access-signin-form{display:flex;flex-direction:column;gap:6px;padding:0 6px}.access-google{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 12px);margin:0 6px;cursor:pointer;font:700 12px/1 system-ui,sans-serif;color:#33405c;background:#fff;border:1px solid #d8dfea;border-radius:8px;padding:9px}.access-google:hover{background:#f6f8fb}.access-or{display:flex;align-items:center;gap:8px;margin:8px 6px;color:#aab2c2;font:600 10px/1 system-ui,sans-serif}.access-or:before,.access-or:after{content:"";flex:1;height:1px;background:#e6ebf2}.access-signin-form input{font:500 12px/1.2 system-ui,sans-serif;color:#26304a;border:1px solid #d8dfea;border-radius:8px;padding:7px 8px;outline:none}.access-signin-form input:focus{border-color:#7fa8de;box-shadow:0 0 0 2px #e2edfb}.access-signin-form button{font:700 12px/1 system-ui,sans-serif;color:#fff;cursor:pointer;background:#2f6db5;border:0;border-radius:8px;padding:8px}.access-signin-form button:hover{background:#2a619f}.access-signin-form button:disabled{background:#a9bfdb;cursor:default}.access-signin-hint{font:500 10px/1.3 system-ui,sans-serif;color:#97a0b3;margin:0}.access-signin-legal{font:500 10px/1.35 system-ui,sans-serif;color:#97a0b3;margin:4px 0 0}.access-signin-legal a{color:#6a7690;text-decoration:underline}.access-data{width:100%;text-align:center;cursor:pointer;margin-top:6px;font:600 11px/1 system-ui,sans-serif;color:#7a8296;background:none;border:0;padding:4px}.access-data:hover{color:#4a5568;text-decoration:underline}.access-signin-err{font:600 11px/1.3 system-ui,sans-serif;color:#c0392b;margin:0}.access-signin-sent{font:500 12px/1.4 system-ui,sans-serif;color:#4a5a78;padding:4px 6px;margin:0}.access-signin-sent b{color:#26304a}.prefs-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:300;background:#1822386b;display:flex;align-items:center;justify-content:center;padding:20px}.prefs-modal{position:relative;width:100%;max-width:430px;max-height:calc(100vh - 40px);overflow-y:auto;background:#fff;border-radius:16px;box-shadow:0 24px 70px #14213d57;padding:22px 24px 20px}.prefs-close{position:absolute;top:10px;right:12px;background:none;border:0;cursor:pointer;font:400 26px/1 system-ui,sans-serif;color:#9aa4b8}.prefs-close:hover{color:#4a5568}.prefs-modal h2{display:flex;align-items:center;gap:8px;margin:0;font:800 19px/1.1 system-ui,sans-serif;color:#1f2942}.prefs-modal h2 svg{color:#5a7da8}.prefs-sub{margin:5px 0 0;font:500 12px/1.4 system-ui,sans-serif;color:#7a8296}.prefs-sec{margin-top:18px;padding-top:14px;border-top:1px solid #edf1f6}.prefs-sec h3{margin:0 0 9px;font:700 13px/1.2 system-ui,sans-serif;color:#2a3350}.prefs-sec .check+.hint{margin-bottom:4px}.prefs-sec .fld{margin:9px 0}.prefs-sec .hint{margin-left:24px}.shell{display:flex;height:100vh;background:#eef1f6}.shell-rail{flex:0 0 84px;display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 7px 16px}.header-lang{display:flex;flex-direction:column;align-items:flex-end;gap:8px;flex:0 1 auto;min-width:0}.rail-create{display:flex;flex-direction:column;align-items:center;gap:5px;width:100%;padding:6px 2px 8px;border:none;border-radius:14px;background:none;color:#2f6db5;cursor:pointer;transition:background .12s}.rail-create.on{background:#dde8fb}.rail-create-ico{display:grid;place-items:center;width:46px;height:46px;border-radius:50%;background:#2f6db5;color:#fff;box-shadow:0 2px 8px #2f6db559;transition:background .12s,transform .06s,box-shadow .12s}.rail-create:hover .rail-create-ico{background:#285f9e;box-shadow:0 4px 12px #2f6db573}.rail-create:active .rail-create-ico{transform:translateY(1px)}.rail-nav{display:flex;flex-direction:column;gap:4px;width:100%;margin-top:4px}.rail-item{display:flex;flex-direction:column;align-items:center;gap:4px;width:100%;padding:9px 2px 7px;border:none;border-radius:14px;background:none;color:#51607a;cursor:pointer;transition:background .12s,color .12s}.rail-item:hover{background:#e3e8f1;color:#2f6db5}.rail-item.on{background:#dde8fb;color:#2f6db5}.rail-ico{display:grid;place-items:center;height:22px}.rail-label{font:600 11px/1.1 system-ui,sans-serif;text-align:center}.rail-foot{margin-top:auto;display:flex;flex-direction:column;align-items:center;gap:12px;width:100%;padding-top:12px}.rail-lang{max-width:100%}.rail-user{display:flex;flex-direction:column;align-items:center;gap:4px;color:#51607a}.rail-user-ava{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#dde3ee;color:#5a6884}.shell-panel{flex:1 1 auto;min-width:0;margin:12px 12px 12px 0;border-radius:20px;overflow:hidden;background:#fff;box-shadow:0 1px 3px #14285014,0 8px 30px #1428500f}.shell-panel-scroll{height:100%;overflow-y:auto;background:linear-gradient(167deg,#fff0,#fff0 12%,#fff 46%),linear-gradient(105deg,#ffd0a0,#ffcdda,#ddd9ff);background-repeat:no-repeat;background-position:top,top;background-size:100% 100%,100% 100%}.shell-header{padding:44px 40px 30px;display:flex;align-items:center;justify-content:space-between;gap:24px}.shell-header-main{min-width:0}.shell-title{margin:0;font:700 30px/1.15 system-ui,sans-serif;color:#243a5e}.shell-subtitle{margin:8px 0 0;font:15px/1.4 system-ui,sans-serif;color:#5b6b86}.shell-content{padding:26px 40px 56px}@media(max-width:640px){.shell-rail{flex-basis:90px}.shell-header{padding:32px 22px 22px}.shell-content{padding:20px 22px 44px}.shell-title{font-size:24px}}.tut-flow{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;grid-template-rows:auto 1fr;align-items:stretch;column-gap:30px;row-gap:10px}.tut-card{--tut-bg: #f7f9fd;--tut-border: #e1e7f1;--tut-ico-bg: #dde8fb;--tut-accent: #2f6db5;position:relative;display:flex;flex-direction:column;gap:8px;padding:22px 18px 20px;border:1px solid var(--tut-border);border-radius:16px;background:var(--tut-bg)}.tut-step-0{--tut-bg: #eef4fc;--tut-border: #cfe0f5;--tut-ico-bg: #dbe8f8;--tut-accent: #2f6db5}.tut-step-1{--tut-bg: #fcf4e8;--tut-border: #f0dcbf;--tut-ico-bg: #f7e8d4;--tut-accent: #c2701c}.tut-step-2{--tut-bg: #f4eefc;--tut-border: #e0d2f3;--tut-ico-bg: #e9dff7;--tut-accent: #7a3fbf}.tut-step-3{--tut-bg: #e7f6f2;--tut-border: #c2e6dd;--tut-ico-bg: #d6efe9;--tut-accent: #159a8a}.tut-arrow{position:absolute;top:50%;right:-27px;transform:translateY(-50%);display:grid;place-items:center;color:#9fb2d4}.tut-tipcol{display:flex;flex-direction:column;gap:8px}.tut-tip{display:flex;align-items:flex-start;gap:7px;padding:10px 12px;border:1px solid #f0dca6;border-radius:12px;background:#fdf6e3}.tut-tip-ico{flex:0 0 auto;font-size:14px;line-height:1.4}.tut-tip-text{font:12.5px/1.45 system-ui,sans-serif;color:#7a5a12}.tut-card-ico{display:grid;place-items:center;width:50px;height:50px;border-radius:14px;background:var(--tut-ico-bg);color:var(--tut-accent)}.tut-card-n{position:absolute;top:16px;right:18px;font:800 22px/1 system-ui,sans-serif;color:#c4d3ec}.tut-card-title{margin:4px 0 0;font:700 17px/1.2 system-ui,sans-serif;color:#243a5e}.tut-card-sub{margin:-2px 0 2px;font:600 12px/1.2 system-ui,sans-serif;letter-spacing:.2px;color:var(--tut-accent)}.tut-card-body{margin:0;font:14px/1.45 system-ui,sans-serif;color:#5b6b86}@media(max-width:760px){.tut-flow{grid-auto-flow:row;grid-auto-columns:auto;grid-template-columns:1fr;grid-template-rows:none;row-gap:8px}.tut-arrow{top:auto;right:auto;bottom:-25px;left:50%;transform:translate(-50%) rotate(90deg);z-index:1}}.lang-ticker{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.lang-ticker-label{font:700 10.5px/1 system-ui,sans-serif;letter-spacing:.6px;text-transform:uppercase;color:#7c86a8}.lang-ticker-line{display:flex;align-items:baseline;gap:8px;max-width:100%;font:600 15px/1.3 system-ui,sans-serif;color:#3a4d72;animation:lang-ticker-in .45s ease}.lang-ticker-flag{flex:0 0 auto;font-size:16px}.lang-ticker-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@keyframes lang-ticker-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(max-width:820px){.lang-ticker{display:none}}@media(prefers-reduced-motion:reduce){.lang-ticker-line{animation:none}}.open-screen{width:100%;max-width:660px;margin:0 auto;padding-top:6px;display:flex;flex-direction:column;align-items:center;gap:22px}.open-formats{display:flex;gap:16px;width:100%;align-items:stretch}.open-format{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:8px;padding:20px;border:1px solid #e3e9f2;border-radius:14px;background:#fff;box-shadow:0 1px 3px #1428500f,0 6px 18px #1428500d}.open-format-ico{flex:0 0 auto;display:grid;place-items:center;width:44px;height:44px;border-radius:12px;background:#dde8fb;color:#2f6db5}.open-format-name{font:700 16px/1.3 system-ui,sans-serif;color:#243a5e}.open-format-desc{font:13px/1.5 system-ui,sans-serif;color:#5b6b86}.open-choose{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;min-width:300px;padding:22px 44px}.open-choose-ico{display:inline-flex;align-items:center}.open-choose-label{font:700 18px system-ui,sans-serif}.open-choose-sub{font:13px system-ui,sans-serif;opacity:.9}@media(max-width:560px){.open-formats{flex-direction:column}.open-choose{min-width:0;width:100%}}.mini-panel{position:fixed;z-index:200;min-width:200px;max-width:min(340px,calc(100vw - 16px));display:flex;flex-direction:column;gap:9px;padding:11px 12px 12px;background:#fff;border:1px solid #d4dce6;border-radius:12px;box-shadow:0 10px 30px #141e323d;font-size:13px;color:#334}.mini-panel-title{font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#7b8a93}.mini-panel .fld{gap:5px}.mini-panel .hint{margin-left:0}*{box-sizing:border-box}html,body{overscroll-behavior:none}body{margin:0;background:#e9ecf1;font-family:system-ui,sans-serif}.app{display:flex;flex-direction:column;height:100vh}.toolbar{position:relative;display:flex;align-items:center;gap:12px;padding:10px 16px;background:#fff;border-bottom:1px solid #d4d9e0;flex:0 0 auto}.toolbar .muted{color:#667;font-size:14px}.toolbar .spacer{flex:1}.brand{font-weight:700;color:#2f6db5;text-decoration:none;cursor:pointer}.brand:hover{text-decoration:underline}.home-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;flex:0 0 auto;border:1px solid transparent;background:none;border-radius:8px;color:#2f6db5;cursor:pointer;transition:background .12s,border-color .12s}.home-btn:hover{background:#eef3fb;border-color:#cfe0f5}.home-btn-note img{display:block;border-radius:6px}.song-title-input{flex:0 1 auto;field-sizing:content;min-width:90px;max-width:480px;padding:5px 9px;border:1px solid transparent;border-radius:7px;background:none;color:#1d2733;font:600 15px system-ui,sans-serif;text-overflow:ellipsis;cursor:text;transition:background .12s,border-color .12s}.song-title-input::placeholder{color:#9aa3af;font-weight:400}.song-title-input:hover{background:#f3f5f8}.song-title-input:focus{outline:none;background:#fff;border-color:#6e9ad6;box-shadow:0 0 0 2px #2f6db526}.gear-icon{display:inline-flex;align-items:center;gap:5px}.gear-icon svg{margin-top:-1px}.gear{border:1px solid #c8cfd8;background:#f6f8fa;border-radius:6px;padding:6px 12px;cursor:pointer;font-size:13px}.gear:hover{background:#eef1f5}.gear.on{background:#2f6db5;border-color:#2f6db5;color:#fff}.gear.on:hover{background:#2a619f}.export-btn{display:inline-flex;align-items:center;gap:6px;border:none;border-radius:8px;padding:7px 14px;cursor:pointer;font-size:13px;font-weight:600;color:#fff;background:linear-gradient(135deg,#15bd86,#1296b0);box-shadow:0 2px 8px #1296a04d;transition:transform .06s,box-shadow .12s,filter .12s}.export-btn:hover{box-shadow:0 4px 14px #1296a06b;filter:brightness(1.05)}.export-btn:active{transform:translateY(1px)}.export-btn.on{filter:brightness(.92)}.tool-cluster{display:inline-flex;align-items:center;gap:22px;flex:0 0 auto}.mode-group{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto;padding:3px;background:#f4f7fb;border:1px solid #e4ebf4;border-radius:10px}.mode-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:none;border-radius:7px;padding:6px 12px;cursor:pointer;font-size:13px;color:#3a4256;transition:background .12s,color .12s}.mode-btn svg{margin-top:-1px}.mode-btn:hover{background:#e6edf6}.mode-btn.on{background:#2f6db5;color:#fff}.mode-btn.on:hover{background:#2a619f}.align-group{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:3px 6px 3px 10px;background:#f4f7fb;border:1px solid #e4ebf4;border-radius:10px}.align-group-label{font-size:12px;font-weight:600;color:#6b7585;white-space:nowrap}.align-btn{border:none;border-radius:7px;padding:6px 11px;cursor:pointer;font-size:13px;font-weight:700;color:#fff;font-variant-numeric:tabular-nums;background:linear-gradient(135deg,#15bd86,#1296b0);box-shadow:0 2px 8px #1296a04d;transition:transform .06s,box-shadow .12s,filter .12s}.align-btn:hover{box-shadow:0 4px 14px #1296a06b;filter:brightness(1.05)}.align-btn:active{transform:translateY(1px)}.align-btn:after{content:"✓";display:inline-block;width:.72em;margin-left:4px;font-size:10px;text-align:center;opacity:0}.align-btn.on{box-shadow:inset 0 2px 6px #00000052,0 0 0 2px #1296a073;filter:brightness(.94)}.align-btn.on:after{opacity:.9}.align-btn.on:hover{box-shadow:inset 0 2px 6px #00000052,0 0 0 2px #1296a099}.align-btn.on.warn{background:linear-gradient(135deg,#f59e0b,#ef4444);box-shadow:inset 0 2px 6px #00000052,0 0 0 2px #ef444480}.align-btn.on.warn:after{content:"!";font-weight:800}.align-gear{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;margin-left:1px;border:1px solid #d7e0ec;border-radius:7px;background:#fff;color:#6b7585;cursor:pointer}.align-gear:hover{background:#eef3fb;color:#3d4a5c}.align-gear.on{background:#2f6db5;border-color:#2f6db5;color:#fff}.trans-group{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;padding:3px 6px 3px 10px;background:#f4f7fb;border:1px solid #e4ebf4;border-radius:10px}.trans-btn{display:inline-flex;align-items:center;gap:5px;border:none;border-radius:7px;padding:6px 10px;cursor:pointer;font-size:13px;font-weight:700;color:#fff;white-space:nowrap;background:linear-gradient(135deg,#d946ef,#8b5cf6);box-shadow:0 2px 8px #8b5cf652;transition:transform .06s,box-shadow .12s,filter .12s}.trans-btn:hover{box-shadow:0 4px 14px #8b5cf673;filter:brightness(1.05)}.trans-btn:active{transform:translateY(1px)}.trans-btn svg{flex:0 0 auto;color:currentColor}.trans-btn.on{box-shadow:inset 0 2px 6px #00000052,0 0 0 2px #8b5cf680;filter:brightness(.94)}.trans-amount-val{font-variant-numeric:tabular-nums;min-width:16px;text-align:right}.trans-btn.trans-amount.alert{background:linear-gradient(135deg,#f59e0b,#f97316);box-shadow:0 2px 8px #f59e0b66}.trans-btn.trans-amount.alert:hover{box-shadow:0 4px 14px #f59e0b80}.trans-btn.trans-amount.alert.on{box-shadow:inset 0 2px 6px #00000052,0 0 0 2px #f59e0b99}.trans-notation{font-variant-numeric:tabular-nums;white-space:nowrap}.chord-tidy{gap:5px}.tidy-btn{border:none;border-radius:6px;padding:4px 9px;cursor:pointer;font-size:11.5px;font-weight:700;color:#fff;white-space:nowrap;transition:transform .06s,box-shadow .12s,filter .12s}.tidy-btn:hover{filter:brightness(1.06)}.tidy-btn:active{transform:translateY(1px)}.tidy-relaxed{background:linear-gradient(135deg,#34d399,#14b8a6);box-shadow:0 2px 8px #14b8a652}.tidy-relaxed:hover{box-shadow:0 4px 14px #14b8a673}.tidy-control{background:linear-gradient(135deg,#6366f1,#a855f7);box-shadow:0 2px 8px #7c3aed57}.tidy-control:hover{box-shadow:0 4px 14px #7c3aed7a}.tidy-btn:disabled{background:#e2e8f0;color:#94a3b8;box-shadow:none;cursor:default;filter:none}.tidy-btn:disabled:active{transform:none}.chord-edit-actions-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 10px;border-top:1px solid #eef1f6}.act-btn{display:inline-flex;align-items:center;gap:5px}.act-btn:not(.act-normalize):not(:disabled){background:linear-gradient(135deg,#60a5fa,#3b82f6);box-shadow:0 2px 8px #3b82f652}.act-btn:not(.act-normalize):hover:not(:disabled){box-shadow:0 4px 14px #3b82f673}.act-btn:not(.act-normalize).on:not(:disabled){background:linear-gradient(135deg,#3b82f6,#2563eb)}.act-normalize:not(:disabled){background:linear-gradient(135deg,#fbbf24,#f59e0b);box-shadow:0 2px 8px #f59e0b57}.act-normalize:hover:not(:disabled){box-shadow:0 4px 14px #f59e0b7a}.act-ico{width:14px;height:14px;flex:none}.act-glyph{font-size:14px;line-height:1}.undo-group{display:inline-flex;gap:2px;margin-left:4px}.undo-btn{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border-radius:7px;cursor:pointer;border:1px solid #dfe3e8;background:#fff;color:#4a5563;transition:background .12s,color .12s,border-color .12s}.undo-btn:hover:not(:disabled){background:#f1f4f7;color:#1f2733;border-color:#cdd3da}.undo-btn:active:not(:disabled){transform:translateY(1px)}.undo-btn:disabled{opacity:.38;cursor:default}.gear-iconly{display:inline-flex;align-items:center;justify-content:center;padding:6px;width:30px}.export-wrap{position:relative;flex:0 0 auto}.export-menu{position:absolute;top:calc(100% + 8px);right:0;z-index:200;width:300px;padding:6px;display:flex;flex-direction:column;gap:6px;background:#fff;border:1px solid #d4d9e0;border-radius:12px;box-shadow:0 12px 34px #14285038}.export-card{padding:12px 12px 13px;border-radius:9px;background:#f7f9fc;border:1px solid #e6ebf2}.export-card+.export-card{background:#f7f9fc}.export-card-title{margin:0 0 3px;font:700 14px/1.2 system-ui,sans-serif;color:#1d2733}.export-card-desc{margin:0 0 10px;font:12px/1.4 system-ui,sans-serif;color:#5b6b86}.export-action{display:flex;align-items:center;gap:9px;width:100%;padding:8px 12px;border:1px solid transparent;border-radius:8px;background:#2f6db5;color:#fff;font:600 13px system-ui,sans-serif;cursor:pointer;box-shadow:0 2px 8px #1428502e;transition:transform .06s,box-shadow .12s,filter .12s}.export-action:hover{filter:brightness(1.06);box-shadow:0 4px 14px #14285042}.export-action:active{transform:translateY(1px)}.export-action:disabled{opacity:.55;cursor:default;filter:none;box-shadow:none}.export-action.pdf{background:linear-gradient(135deg,#f0563f,#d12f2f);box-shadow:0 2px 8px #d12f2f4d}.export-action.png{background:linear-gradient(135deg,#3d8bf6,#2563eb);box-shadow:0 2px 8px #2563eb4d}.export-action.jpg{background:linear-gradient(135deg,#ff9d3d,#f5701f);box-shadow:0 2px 8px #f5701f4d}.export-action.data{background:linear-gradient(135deg,#f6c343,#eaa20c);color:#4a3500;box-shadow:0 2px 8px #e8a00c4d}.export-action.with{background:linear-gradient(135deg,#34c75a,#2aa24a);box-shadow:0 2px 8px #2aa24a4d}.export-action.plain{background:linear-gradient(135deg,#a855f7,#8b3ee8);box-shadow:0 2px 8px #8b3ee84d}.export-action.cpro{background:linear-gradient(135deg,#22c1d6,#0e9aae);box-shadow:0 2px 8px #0e9aae4d}.export-action+.export-action{margin-top:8px}.export-action-ico{display:inline-flex;align-items:center}.export-more-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:8px 10px;border:0;border-radius:8px;background:transparent;color:#5b6b86;font:600 13px system-ui,sans-serif;cursor:pointer;text-align:left}.export-more-toggle:hover{background:#f1f4f9;color:#1d2733}.export-more-caret{display:inline-block;transition:transform .12s;font-size:15px;line-height:1}.export-more-caret.open{transform:rotate(90deg)}.export-more{display:flex;flex-direction:column;gap:6px}.dup-tab-banner{display:flex;align-items:center;gap:12px;background:#fff4d6;color:#7a5b00;border-bottom:1px solid #e8cf86;padding:6px 14px;font-size:13px}.dup-tab-banner .dup-tab-dismiss{margin-left:auto;border:none;background:transparent;color:#7a5b00;font-size:18px;line-height:1;cursor:pointer;padding:0 4px}.dup-tab-banner .dup-tab-dismiss:hover{color:#4a3800}.save-status{color:#8a93a0;font-size:12px;white-space:nowrap;-webkit-user-select:none;user-select:none}.save-status.saving{color:#2f6db5}.save-status.flash{animation:save-status-blink .7s ease}@keyframes save-status-blink{0%{color:#8a93a0;transform:scale(1)}25%{color:#1f9d55;transform:scale(1.12);font-weight:700}60%{color:#1f9d55}to{color:#8a93a0;transform:scale(1)}}.iconbtn{border:1px solid #c8cfd8;background:#f6f8fa;border-radius:6px;width:28px;height:28px;cursor:pointer;font-size:15px;line-height:1}.iconbtn:hover{background:#eef1f5}.iconbtn:disabled{opacity:.4;cursor:default}.workspace{display:flex;flex:1;min-height:0}.file-action{border:none;border-radius:14px;cursor:pointer;color:#fff;background:linear-gradient(135deg,#17b2c9,#2f6db5);box-shadow:0 4px 14px #2284af4d;transition:transform .06s,box-shadow .12s}.file-action:hover{box-shadow:0 6px 20px #2284af6b}.file-action:active{transform:translateY(1px)}.landing-screen{width:100%;max-width:920px;margin:0 auto;padding:0 0 48px;display:flex;flex-direction:column;justify-content:flex-start}.landing-start{display:flex;gap:16px;align-items:stretch}.landing-paste-card{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:8px;cursor:text;padding:16px 18px 12px;border:1px solid #e3e9f2;border-radius:14px;background:#fff;box-shadow:0 1px 3px #1428500f,0 6px 18px #1428500d;transition:border-color .12s,box-shadow .12s}.landing-paste-card:focus-within{border-color:#9bc0ee;box-shadow:0 0 0 3px #2f6db524}.landing-card-title{margin:0;font-size:13px;font-weight:700;color:#2a3850}.landing-input{width:100%;flex:1 1 auto;min-height:240px;resize:none;padding:0;border:none;background:none;font-family:DejaVu Sans Mono,monospace;font-size:15px;line-height:1.45;white-space:pre;overflow:auto;color:#1d2733}.landing-input:focus{outline:none}.landing-start-btn{flex:0 0 240px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;border:none;border-radius:14px;cursor:pointer;text-align:center;background:linear-gradient(135deg,#2f6db5,#5a4bd1);color:#fff;box-shadow:0 5px 18px #2f6db54d;transition:transform .06s,box-shadow .12s}.landing-start-btn:hover{box-shadow:0 8px 26px #2f6db56b}.landing-start-btn:active{transform:translateY(1px)}.landing-start-ico{display:inline-flex}.landing-start-label{font-size:18px;font-weight:700}.landing-start-sub{font-size:13px;font-weight:500;opacity:.9;line-height:1.4}@media(max-width:720px){.landing-start{flex-direction:column}.landing-start-btn{flex-basis:auto;padding:18px}}.landing-hint{margin:18px 0 6px;color:#5b6b86;font-size:13px;line-height:1.5}.landing-hint:first-of-type{margin-top:24px}.landing-props{width:100%;border-collapse:collapse;font-size:13px;border:1px solid #dce3ec;border-radius:10px;overflow:hidden}.landing-props th,.landing-props td{text-align:left;padding:7px 10px;border-bottom:1px solid #e8edf3;vertical-align:top}.landing-props thead th{background:#f4f7fb;color:#3a4256;font-weight:700;font-size:12px}.landing-props tbody tr:last-child td{border-bottom:none}.landing-props tbody tr:nth-child(2n){background:#fafbfd}.landing-props code{font-family:DejaVu Sans Mono,monospace;font-size:12px;color:#1d2733;background:#eef2f7;padding:1px 5px;border-radius:4px;white-space:nowrap}.landing-props td:last-child{color:#5b6b86}.samples-screen{width:100%}.song-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}.song-card{position:relative;display:flex;flex-direction:column;text-align:left;padding:0;background:#fff;border:1px solid #d6dbe3;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 1px 2px #0000000a;transition:border-color .12s,box-shadow .12s,transform .06s}.song-card:hover{border-color:#9db8da;box-shadow:0 4px 16px #28509624}.song-card:active{transform:translateY(1px)}.song-card-preview{position:relative;display:flex;align-items:center;justify-content:center;height:162px;background:#eef1f6;border-bottom:1px solid #e3e8ef;overflow:hidden}.song-card-body{display:flex;flex-direction:column;gap:3px;padding:10px 12px 12px}.song-card-title{font:600 14px/1.3 system-ui,sans-serif;color:#1d2733;word-break:break-word}.song-card-sub{font:11px/1.3 system-ui,sans-serif;color:#8a93a1}.song-card-new{border-style:dashed;background:#fbfcfe}.song-card-new:hover{border-color:#6f9fe0;background:#f3f7fd}.song-card-new-preview{background:transparent;border-bottom-color:transparent}.song-card-new-plus{font:300 64px/1 system-ui,sans-serif;color:#9db8da;transition:color .12s}.song-card-new:hover .song-card-new-plus{color:#4f83c9}@keyframes song-card-flash-pulse{0%{box-shadow:0 0 #4f83c98c,0 4px 16px #28509624}70%{box-shadow:0 0 0 10px #4f83c900,0 4px 16px #28509624}to{box-shadow:0 0 #4f83c900,0 4px 16px #28509624}}.song-card-flash{border-color:#4f83c9;animation:song-card-flash-pulse 1.4s ease-out 3}.song-card-flash-badge{position:absolute;inset:auto 8px 8px 8px;z-index:2;padding:6px 10px;border-radius:8px;background:#2f6db5;color:#fff;font:600 12px/1.2 system-ui,sans-serif;text-align:center;box-shadow:0 2px 8px #14326447;pointer-events:none}.sample-btn{display:flex;flex-direction:column;gap:4px;text-align:left;cursor:pointer;border:1px solid #c8cfd8;border-radius:10px;background:#fff;padding:10px 12px}.sample-btn:hover{border-color:#2f6db5;background:#f5f9ff}.sample-btn strong{font-size:14px;color:#243}.sample-btn span{font-size:12px;color:#778}.editor{position:relative;flex:0 0 360px;display:flex;flex-direction:column;gap:8px;padding:12px;background:#fff;border-left:3px solid #2f6db5;min-height:0;min-width:0}.chord-edit-pane{position:relative;flex:0 0 560px;min-width:0;display:flex;flex-direction:column;gap:6px;padding:12px;background:#fff;border-left:3px solid #c2701c;min-height:0}.chord-edit-pane .editor-title{color:#b0660f}.chord-edit-pane .resize-handle:hover:after{background:#c2701c80}.resize-handle{position:absolute;top:0;bottom:0;width:10px;z-index:6;cursor:col-resize;touch-action:none}.resize-handle-right{right:-4px}.resize-handle-left{left:-4px}.resize-handle:after{content:"";position:absolute;top:0;bottom:0;left:50%;width:3px;transform:translate(-50%);background:transparent;transition:background .15s}.resize-handle:hover:after{background:#2f6db573}.layers-panel .resize-handle:hover:after{background:#7a3fbf73}.head-actions{display:inline-flex;align-items:center;gap:2px;flex:0 0 auto}.resize-reset{font-size:14px}.chord-edit-field{position:relative;flex:1;min-height:0;overflow:hidden;background:#fbfdff;border:1px solid #dce7f5;border-radius:10px}.chord-edit-field:focus-within{border-color:#d29a55;box-shadow:0 0 0 2px #c2701c29}.chord-edit-area{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;box-sizing:border-box;resize:none;border:0;padding:10px 12px;background:transparent;color:transparent;caret-color:#1a1a1a;line-height:1.32;white-space:pre;overflow:auto;-moz-tab-size:4;tab-size:4}.chord-edit-area:focus{outline:none}.chord-edit-hl{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;margin:0;box-sizing:border-box;pointer-events:none;padding:10px 12px;line-height:1.32;white-space:pre;overflow:hidden;-moz-tab-size:4;tab-size:4;color:var(--col-lyric, #111)}.chord-edit-hl .chord{color:#d11a1a}.chord-edit-hl.mono .chord{color:var(--col-lyric, #111)}.chord-edit-hl .hl-line.chord-line{font-weight:var(--chord-weight, 700)}.chord-edit-hl .hl-line.lyric-line{font-weight:var(--lyric-weight, 700)}.chord-edit-hl .ws{color:#b3c0d2}.chord-edit-hl .hl-line.sel{background:#d29a554d;border-radius:3px;box-shadow:0 0 0 2px #d29a554d}.editor-head.chord-edit-head{justify-content:flex-start;gap:6px 14px;flex-wrap:wrap}.chord-edit-head .editor-title{margin-right:auto}.chord-view-opts{display:inline-flex;align-items:center;gap:4px}.chord-view-label{font-size:12px;font-weight:600;color:#7a8aa0;white-space:nowrap}.chord-convert-wrap{position:relative;display:inline-flex}.bake-badge{display:inline-block;padding:0 5px;min-width:16px;height:16px;line-height:16px;border-radius:999px;background:#ffffffe6;color:#1d4ed8;font-size:10px;font-weight:700;text-align:center}.tidy-btn:disabled .bake-badge{background:#cbd5e1;color:#64748b}.chord-convert-menu{position:absolute;top:calc(100% + 6px);left:0;z-index:200;min-width:200px;padding:5px;display:flex;flex-direction:column;gap:3px;background:#fff;border:1px solid #d4d9e0;border-radius:10px;box-shadow:0 10px 28px #14285033}.chord-convert-menu button{text-align:left;padding:8px 10px;border:none;border-radius:7px;cursor:pointer;font-size:13px;font-weight:600;color:#33506a;background:none;white-space:nowrap}.chord-convert-menu button:hover{background:#eef4fa}.chord-color-toggle{color:#555}.chord-color-toggle.red{background:#d11a1a;border-color:#d11a1a;color:#fff;border-radius:6px}.iconbtn.on{background:#2f6db5;border-color:#2f6db5;color:#fff;border-radius:6px}.chord-edit-hint{flex:0 0 auto;font-size:11px;color:#7a8aa0;padding:0 2px;line-height:1.4}.editor-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:2px}.editor-details{display:flex;flex-direction:column;gap:8px;padding:10px 12px 12px;background:#f1f6fc;border:1px solid #dce7f5;border-radius:10px}.editor-title{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:#2f6db5}.artist-title{display:flex;flex-wrap:wrap;align-items:flex-end;gap:6px}.artist-title .fld{flex:1 1 130px;min-width:0}.artist-title .fld input{width:100%;min-width:0;box-sizing:border-box}.iconbtn.swap{flex:0 0 auto;margin-bottom:1px}.meta-row{display:flex;flex-wrap:wrap;gap:8px;align-items:flex-end}.meta-fld{flex:0 0 auto;min-width:84px}.meta-input{padding:5px 7px;border:1px solid #c8cfd8;border-radius:6px;font-size:13px;max-width:130px}.meta-input.blink,.artist-title input.blink{animation:editor-blink .45s ease-in-out 3}.pill{border:1px solid #cde0f7;background:#eaf2fd;color:#2f6db5;border-radius:14px;padding:4px 12px;font-size:12px;font-weight:600;cursor:pointer}.pill:hover{border-color:#2f6db5;background:#dcebfc}.more-props-toggle{background:none;border:none;text-align:left;cursor:pointer;padding:2px 0;font-size:12px;font-weight:600;color:#5a7da8}.more-props-toggle:hover{color:#2f6db5}.song-input-label{font-size:15px;font-weight:700;color:#2f6db5;margin-top:4px;display:flex;align-items:center;gap:6px;letter-spacing:.2px}.song-input-label:before{content:"✎";font-size:15px;color:#2f6db5}.editor-bar{flex:0 0 28px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0;cursor:pointer;border:none;background:#2f6db5;color:#fff}.editor-bar:hover{background:#2860a3}.editor-bar-caret{font-size:12px;line-height:1;opacity:.9}.editor-bar-label{font-size:13px;font-weight:700;letter-spacing:.5px;writing-mode:vertical-rl;transform:rotate(180deg)}.chords-bar{flex:0 0 28px;display:flex;flex-direction:column;align-items:center;gap:10px;padding:12px 0;cursor:pointer;border:none;background:#c2701c;color:#fff}.chords-bar:hover{background:#aa6014}.chords-bar-caret{font-size:12px;line-height:1;opacity:.9}.chords-bar-label{font-size:13px;font-weight:700;letter-spacing:.5px;writing-mode:vertical-rl;transform:rotate(180deg)}.fld{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#445}.hint{display:block;margin:1px 0 2px 24px;font-size:11px;line-height:1.35;color:#7b8494}.tip-box{display:flex;flex-direction:column;gap:6px}.tip-box>.check{margin-top:6px}.tip-box>.hint{margin-top:0}.fld-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.mini-reset{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;font-size:13px;line-height:1;border:1px solid #bfe0d7;border-radius:6px;background:#fff;color:#11806f;cursor:pointer}.mini-reset:hover{background:#e3f1ec}.tip-style{justify-content:flex-start;gap:10px}.tip-style>.btn-row{display:inline-flex;flex:0 0 auto;gap:6px}.tip-style>.btn-row .chip{padding:4px 14px}.source-actions{display:flex;flex-direction:column;gap:6px;margin-top:4px}.source-action-btn{width:100%;text-align:left;padding:7px 10px;border-radius:7px;cursor:pointer;font-size:12px;font-weight:600;color:#33506a;border:1px solid #cfe0ec;background:#f3f8fc;transition:background .12s,border-color .12s}.source-action-btn:hover{background:#e6f1f9;border-color:#b6d2e6}.source-action-btn:active{transform:translateY(1px)}.fld.fld-inline{flex-direction:row;align-items:center;gap:8px}.fld.fld-inline>span{flex:0 0 auto}.fld.fld-inline>input,.fld.fld-inline>select{flex:1 1 auto;min-width:0}.fld.fld-inline>input.title-colour{flex:0 0 auto;width:34px;height:24px;padding:1px;cursor:pointer}.fld input[type=text],.fld input:not([type]),.fld select{padding:6px 8px;border:1px solid #c8cfd8;border-radius:6px;font-size:14px}.fld select.ovf-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:100%;box-sizing:border-box;text-align:left;font-size:14px;color:#1a2230;padding:6px 28px 6px 10px;background-color:var(--ovf-bg, #fff);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path d='M2 4l4 4 4-4' fill='none' stroke='%231a2230' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 9px center}.soft-select{display:flex;align-items:center;gap:6px;width:100%;box-sizing:border-box;padding:6px 8px 6px 10px;border:1px solid #c8cfd8;border-radius:6px;background:#fff;color:#1a2230;font-size:14px;text-align:left;cursor:pointer;transition:border-color .12s,box-shadow .12s}.soft-select:hover{border-color:#a9cabf}.soft-select.open,.soft-select:focus-visible{outline:none;border-color:#11806f;box-shadow:0 0 0 2px #11806f2e}.soft-select-val{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soft-caret{flex:0 0 auto;font-size:10px;color:#5a6b7a;line-height:1}.fld.fld-inline>.soft-select{flex:1 1 auto;min-width:0;width:auto}.soft-select.capo-soft{min-width:96px}.soft-select.soft-fill{flex:1 1 auto;width:auto;min-width:0;font-size:13px}.soft-select.soft-fixed{flex:0 0 auto;width:150px}.soft-select.soft-capo{flex:0 0 auto;width:112px}.soft-menu{z-index:100001;margin:4px 0;padding:4px;list-style:none;overflow-y:auto;background:#fff;border:1px solid #c9d7d2;border-radius:9px;box-shadow:0 10px 30px #141e3238}.soft-menu ul{list-style:none;margin:0;padding:0}.soft-opt{display:flex;align-items:center;gap:6px;padding:6px 8px;border-radius:6px;cursor:pointer;font-size:13.5px;color:#1c2530}.soft-opt-check{flex:0 0 auto;width:13px;text-align:center;color:#11806f;font-size:11px}.soft-opt-label{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.soft-opt-label:has(.soft-opt-stanza){overflow:visible;white-space:normal;text-overflow:clip}.soft-opt-stanza{display:flex;align-items:baseline;gap:7px;min-width:0}.soft-opt-stanza-no{flex:0 0 auto;font-size:11px;font-weight:700;color:#7b8a93}.soft-opt:has(.soft-opt-stanza){padding-top:5px;padding-bottom:5px;align-items:flex-start}.soft-opt:has(.soft-opt-stanza) .soft-opt-check{margin-top:3px}.soft-opt.active{box-shadow:inset 0 0 0 2px #11806f}.soft-opt.sel{font-weight:600}.soft-group+.soft-group{margin-top:4px}.soft-group-label{padding:6px 8px 3px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;color:#7b8a93}.song-input{flex:1;min-height:0;resize:none;padding:10px;border:1px solid #c2d4ec;border-radius:6px;background:#fcfdff;font-family:DejaVu Sans Mono,monospace;font-size:13px;line-height:1.4;white-space:pre;overflow:auto;-moz-tab-size:4;tab-size:4}.song-input:focus{outline:none;border-color:#6e9ad6;box-shadow:0 0 0 2px #2f6db526}.song-input-hint{flex:0 0 auto;margin:6px 2px 0;font-size:12px;line-height:1.45;color:#5b6a80}.song-input-hint .link-btn{font-size:12px}.meta-table{width:100%;border-collapse:collapse;font-size:13px}.meta-table tr{border-bottom:1px solid #e3ecf7}.meta-table tr:last-child{border-bottom:none}.meta-table tr.meta-rest-start{border-top:2px solid #d3e0f1}.meta-key{width:1%;white-space:nowrap;text-align:left;padding:5px 12px 5px 4px;color:#4a627f;font-weight:600;-webkit-user-select:none;user-select:none;vertical-align:middle}.meta-val{padding:0;vertical-align:middle;cursor:text}.meta-val:hover{background:#e7f1fd}.meta-cell-val{display:block;padding:5px 8px;color:#1e2a3a;min-height:15px;overflow-wrap:anywhere}.meta-cell-empty{display:block;padding:5px 8px;min-height:15px;color:#9db0c8;font-style:italic}.meta-cell-input{width:100%;box-sizing:border-box;margin:0;padding:5px 8px;font:inherit;border:none;border-radius:4px;background:#fff;color:#10233c;outline:2px solid #2f6db5;outline-offset:-2px}.meta-cell-pick{padding:3px 6px}.meta-cell-pick .meta-capo{width:100%}.meta-table tr.meta-flash{animation:meta-flash .5s ease-in-out 2}@keyframes meta-flash{0%,to{background:transparent}50%{background:#d3e6fb}}.chord-behaviors{margin-left:6px;padding-left:10px;border-left:1px solid #d4dce6}.behav-btn{display:inline-flex;align-items:center;justify-content:center;padding:0;font-size:0}.behav-ico{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;line-height:.7;-webkit-text-stroke:.6px currentColor}.behav-a{font-size:13px;transform:translateY(1px)}.behav-sym{font-size:13px}.behav-space{transform:translateY(-1.5px)}.behav-scissors{transform:translateY(2.5px)}.behav-btn.on .behav-a{color:currentColor}.behav-tab{font-size:16px;-webkit-text-stroke:.4px currentColor}.behav-stack{position:relative;font-size:9px;line-height:.6;transform:translateY(-2px)}.behav-normalize-svg{width:16px;height:16px}.song-input.blink{animation:editor-blink .45s ease-in-out 3}@keyframes editor-blink{0%,to{border-color:#c8cfd8;box-shadow:none}50%{border-color:#2f6db5;box-shadow:0 0 0 3px #2f6db559}}.stepper{display:flex;align-items:center;gap:10px}.stepper-val{font-size:14px;min-width:48px;text-align:center}.stepper input[type=range]{flex:1;min-width:0}.size-input{width:52px;text-align:center;font-size:14px;padding:5px 4px;border:1px solid #c8cfd8;border-radius:6px;background:#fff;color:#223}.size-input:disabled{opacity:.4}.size-input::-webkit-outer-spin-button,.size-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.size-input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}.size-unit{font-size:13px;color:#667;margin-left:-4px}.btn-row{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:6px}.chip{border:1px solid #c8cfd8;background:#f6f8fa;border-radius:8px;padding:5px 4px;font-size:12px;cursor:pointer;text-align:center}.chip:hover{background:#eef1f5}.chip.on{background:#2f6db5;border-color:#2f6db5;color:#fff}.chip:disabled{opacity:.4;cursor:default}.btn-row.autofit-row{display:flex;flex-wrap:wrap;gap:6px}.btn-row.autofit-row .chip{white-space:nowrap;padding:5px 8px}.margin-note{margin-top:8px;padding:7px 9px;border-radius:8px;font-size:12px;line-height:1.35;background:#fff4d6;border:1px solid #e9c46a;color:#7a5a00;animation:margin-note-blink .7s ease-in-out 5}@keyframes margin-note-blink{0%,to{background:#fff4d6;border-color:#e9c46a}50%{background:#ffe39e;border-color:#d99a00;box-shadow:0 0 0 3px #e9c46a59}}.stage{position:relative;flex:1;min-width:0;overflow:auto;overscroll-behavior:contain;padding:16px;display:flex;justify-content:safe center;align-items:flex-start;background:#ebedf1}.stage.annot-gutter{padding-left:52px}.stage-pages{position:relative;z-index:1}.stage-grid-canvas{position:absolute;z-index:2;pointer-events:none}.page-stack{display:flex}.page-stack.screen{gap:24px}.stage.annot-gutter .page-stack.screen{gap:44px}.page-stack.screen .chart-page{box-shadow:0 4px 18px #0000002e}.page-stack.vertical{flex-direction:column;align-items:center}.page-stack.horizontal{flex-direction:row;flex-wrap:nowrap;align-items:flex-start}.page-stack.booklet{display:grid;grid-template-columns:repeat(2,max-content);align-items:start;justify-content:center}.editor-head,.layers-head{display:flex;align-items:center;justify-content:space-between;min-height:28px}.drawer-title{display:inline-flex;align-items:center;gap:7px;font:700 14px/1 system-ui,sans-serif}.drawer-title svg{flex:0 0 auto}.editor-head .drawer-title{color:#2f6db5}.layers-head .drawer-title{color:#7a3fbf}.section-head{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.6px;color:#2f6db5;border-bottom:1px solid #e3e8ef;padding-bottom:3px;margin-top:2px}.section-toggle{background:none;border:none;text-align:left;cursor:pointer;padding:5px 0;width:100%}.sect-caret{display:inline-block;width:.85em;text-align:center}.hicon{width:1em;height:1em;vertical-align:-.18em}.section-toggle:hover{color:#1b4d86}.subsection-toggle,.subsection-head{margin-left:8px;font-size:12px;color:#5a7da8;border-bottom-color:#eef1f6;text-transform:none;letter-spacing:.3px}.dialog-link{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:7px 10px;border:1px solid transparent;border-radius:7px;background:none;color:#2f6db5;cursor:pointer;font:600 13px system-ui,sans-serif}.dialog-link:hover{background:#eef3fb;border-color:#dbe6f5}.dialog-link svg{flex:0 0 auto;color:#5a7da8}.link-btn{border:none;background:none;padding:4px 0;cursor:pointer;color:#2f6db5;font-size:13px;font-weight:600;text-align:left;text-decoration:none}.link-btn:hover{text-decoration:underline}.fld em{color:#889;font-style:italic}.check{display:flex;align-items:center;gap:8px;font-size:13px;color:#334;cursor:pointer}.check.is-disabled{color:#99a;cursor:not-allowed}.check.is-disabled>input{cursor:not-allowed}.fld+.check{margin-top:9px}.fld>span>.info-i{margin-left:5px}.check-wrap{align-items:flex-start}.check-wrap>input{margin-top:2px}.check-label{flex:1 1 auto;min-width:0;line-height:1.35}.check-wrap>.info-i{margin-top:1px}.info-i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;border:1px solid #5a7da8;color:#5a7da8;font-size:10px;font-style:italic;font-weight:700;line-height:1;cursor:help;flex:0 0 auto}.info-i:hover,.info-i:focus{background:#5a7da8;color:#fff;outline:none}.app.fullscreen .toolbar,.app.fullscreen .footer-bar,.app.fullscreen .editor,.app.fullscreen .editor-bar,.app.fullscreen .settings-bar,.app.fullscreen .drawer{display:none}.app.fullscreen .stage{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#2b2f36;padding:8px;overflow:hidden;align-items:center;justify-content:center}.app.fullscreen.true-full .stage{padding:0;background:#000}.fs-exit{position:fixed;top:0;right:0;z-index:120;width:60px;height:60px;border:none;cursor:pointer;background:#d11a1a;color:#fff;font-size:22px;font-weight:700;border-bottom-left-radius:12px;opacity:0;pointer-events:none;transition:opacity .15s ease}.fs-exit.show{opacity:1;pointer-events:auto}.import-landing{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;height:100vh;color:#4a5566;font-size:16px}.import-landing-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #c7cfdb;border-top-color:#3b6ef2;animation:import-spin .8s linear infinite}@keyframes import-spin{to{transform:rotate(360deg)}}.chord-edit-style-row{display:flex;align-items:center;justify-content:flex-end;gap:8px 14px;flex-wrap:wrap;padding:6px 10px;margin-top:2px;border-top:1px solid #eef1f6}.chord-edit-style-row .chord-voicecolors{flex-wrap:wrap}.chord-style{display:inline-flex;align-items:center;gap:4px}.style-btn{min-width:24px;height:24px;padding:0 6px;font-size:13px;line-height:1}.style-btn i{font-style:italic}.style-btn u{text-decoration:underline}.weight-btn{height:24px;padding:0 7px;min-width:52px;font-size:12px;line-height:1;cursor:pointer;border:1px solid #c8cfd8;background:#f6f8fa;border-radius:6px;color:#55606e;display:inline-grid;place-items:center}.weight-btn>span{grid-area:1 / 1}.weight-btn:after{content:attr(data-label);grid-area:1 / 1;font-weight:700;height:0;overflow:hidden;visibility:hidden;pointer-events:none}.weight-btn:hover{background:#eef1f5}.weight-btn.on{color:#2f6db5;background:#e8f0fb;border-color:#b9d0ea}.style-swatch{width:18px;height:18px;margin:0 1px;padding:0;border-radius:5px;border:1px solid rgba(0,0,0,.25);cursor:pointer;vertical-align:middle}.style-swatch:hover{transform:scale(1.12)}.style-swatch:disabled{opacity:.3;cursor:default}.style-swatch:disabled:hover{transform:none}.style-swatch-clear{background:linear-gradient(to top right,transparent calc(50% - 1px),#d11a1a calc(50% - 1px),#d11a1a calc(50% + 1px),transparent calc(50% + 1px)),#fff}.style-voice-manage{min-width:24px;height:24px;padding:0 5px;line-height:1;margin-left:4px}.footer-bar{flex:0 0 auto;display:flex;align-items:center;gap:7px;height:36px;padding:0 10px;background:#fff;border-top:1px solid #d4d9e0;font-size:13px;color:#334}.fb-group{display:inline-flex;align-items:center;gap:4px}.fb-sep{width:1px;align-self:stretch;margin:7px 2px;background:#e2e6ec}.fb-spacer{flex:1}.fb-hint{flex:1 1 auto;min-width:0;margin:0 4px;color:#000;font-weight:700;font-size:12px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fb-btn{display:inline-flex;align-items:center;justify-content:center;height:26px;min-width:26px;padding:0 5px;border:1px solid #c8cfd8;background:#f6f8fa;border-radius:6px;color:#435;cursor:pointer;font-size:14px;line-height:1}.fb-btn:hover:not(:disabled){background:#eef1f5}.fb-btn:disabled{opacity:.4;cursor:default}.fb-btn.on{background:#2f6db5;border-color:#2f6db5;color:#fff}.fb-btn.on:hover:not(:disabled){background:#2a619f;border-color:#2a619f}.fb-btn-glyph{min-width:24px;padding:0 4px}.fb-font-a{font-weight:700;line-height:1;display:inline-block}.fb-font-a-sm{font-size:11px}.fb-font-a-lg{font-size:15px}.fb-zoom,.fb-font{gap:6px}.fb-slider{-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;border-radius:3px;background:#d3d9e2;cursor:pointer;margin:0}.fb-zoom-slider{width:116px}.fb-font-slider{width:88px}.fb-slider::-webkit-slider-thumb{-webkit-appearance:none;width:13px;height:13px;border-radius:50%;background:#2f6db5;border:none;cursor:pointer}.fb-slider::-moz-range-thumb{width:13px;height:13px;border-radius:50%;background:#2f6db5;border:none;cursor:pointer}.fb-zoom-pct,.fb-font-pt{font-variant-numeric:tabular-nums;color:#667;font-size:12px;text-align:right}.fb-zoom-pct{min-width:38px}.fb-font-pt{min-width:32px}.fb-chip{flex:0 0 auto;gap:5px;max-width:150px;font-size:12px;font-weight:600}.fb-chip-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fb-chip-caret{flex:0 0 auto;font-size:9px;color:#7b8a93;line-height:1}.fb-btn.on .fb-chip-caret{color:#dbe6f5}.fb-btn.fb-chip.alert{border-color:#e0a23c;background:#fdf4e3;color:#8a5a12}.fb-btn.fb-chip.alert:hover:not(:disabled){background:#f9ebd4}.fb-btn.fb-chip.alert .fb-chip-caret{color:#b98428}.fb-chip-key{max-width:none;gap:4px}.fb-chip-key .fb-chip-label{font-variant-numeric:tabular-nums;min-width:13px;text-align:right}.fb-chip-key svg{flex:0 0 auto;color:#7b8a93}.fb-btn.fb-chip-key.alert svg{color:#b98428}.fb-btn.fb-chip-key.on:not(.alert) svg{color:#fff}.fb-btn.fb-chip.on.alert{border-color:#2f6db5}@media(max-width:1460px){.align-group-label{display:none}.align-group-label.trans-group-label{display:inline}.align-group,.trans-group{padding-left:6px}}@media(max-width:1320px){.mode-btn{gap:0;padding-left:9px;padding-right:9px}.mode-btn-label,.align-group-label.trans-group-label{display:none}.trans-group{padding-left:6px}}@media(max-width:1180px){.fb-chip{max-width:84px}.align-btn{padding-left:7px;padding-right:7px}.trans-btn{padding-left:6px;padding-right:6px}.align-group,.trans-group{gap:4px}.footer-bar{gap:5px}.fb-zoom-slider{width:78px}.fb-font-slider{width:62px}.toolbar{gap:8px}.save-status{max-width:14px;overflow:hidden}}.fb-help-wrap{position:relative}.fb-help-btn{font-weight:700;width:26px;font-size:15px}.fb-help-panel{position:absolute;bottom:calc(100% + 8px);right:0;z-index:200;width:340px;max-height:min(62vh,460px);display:flex;flex-direction:column;background:#fff;border:1px solid #d4dce6;border-radius:12px;box-shadow:0 10px 30px #141e323d;overflow:hidden}.fb-help-head{display:flex;align-items:center;justify-content:space-between;padding:11px 12px 6px}.fb-help-title{font-weight:700;font-size:14px;color:#223}.fb-help-x{border:none;background:none;font-size:20px;line-height:1;color:#889;cursor:pointer;padding:0 2px}.fb-help-x:hover{color:#445}.fb-help-search{margin:0 12px 8px;padding:8px 10px;border:1px solid #cdd5df;border-radius:8px;font-size:13px}.fb-help-search:focus{outline:none;border-color:#2f6db5;box-shadow:0 0 0 2px #d6e5f7}.fb-help-list{overflow-y:auto;padding:0 6px 4px}.fb-help-hint{margin:2px 8px 6px;font-size:11px;text-transform:uppercase;letter-spacing:.04em;color:#9aa2ad}.fb-help-empty{padding:10px 12px 14px;color:#778;font-size:13px;line-height:1.45}.fb-help-item{border-radius:8px}.fb-help-item.open{background:#f5f8fc}.fb-help-q{width:100%;text-align:left;display:flex;gap:6px;align-items:baseline;padding:8px;border:none;background:none;cursor:pointer;font-size:13px;color:#223;border-radius:8px}.fb-help-q:hover{background:#eef3fb}.fb-help-caret{color:#2f6db5;font-size:11px;flex:0 0 auto}.fb-help-a{margin:0 8px 10px 24px;padding-left:16px;display:flex;flex-direction:column;gap:5px;font-size:12.5px;color:#445}.fb-help-a li{line-height:1.42}.fb-help-foot{margin:0;padding:8px 12px;border-top:1px solid #eef1f5;font-size:11px;color:#9aa2ad;line-height:1.4}.gc-tip{max-width:320px;padding:6px 9px;border-radius:7px;line-height:1.35;pointer-events:none;white-space:normal;overflow-wrap:break-word;box-shadow:0 4px 14px #141e3247;animation:gc-tip-in .09s ease-out}.gc-tip-dark{background:#232a36;color:#f2f5fa;border:1px solid #333c4c}.gc-tip-light{background:#fff;color:#26303f;border:1px solid #cdd5e0}@keyframes gc-tip-in{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.gc-tip{animation:none}}.tpl-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100050;background:#14182147}.tpl-dialog{position:fixed;left:50%;top:18vh;transform:translate(-50%);z-index:100051;width:min(560px,calc(100vw - 32px));background:var(--panel-bg, #fff);color:var(--text, #26303f);border:1px solid var(--border, #cdd5e0);border-radius:10px;box-shadow:0 16px 48px #14182147;padding:14px 16px;display:flex;flex-direction:column;gap:12px;font-size:13px}.tpl-head{font-weight:700;font-size:14px}.tpl-empty{color:var(--muted, #8a94a3);font-style:italic}.tpl-editor-wrap{position:relative}.tpl-editor{min-height:34px;padding:7px 8px;border:1px solid var(--border, #cdd5e0);border-radius:8px;background:var(--panel-bg, #fff);line-height:1.9;cursor:text;outline:none;white-space:pre-wrap;word-break:break-word}.tpl-editor:focus{border-color:#11806f;box-shadow:0 0 0 2px #11806f2e}.tpl-chip-field{display:inline-block;margin:0 1px;padding:1px 7px;border-radius:6px;font-weight:600;background:#7a3fbf1a;border:1px solid rgba(122,63,191,.35);-webkit-user-select:none;user-select:none;white-space:nowrap}.tpl-add-row{display:flex;flex-wrap:wrap;gap:8px;align-items:center}.tpl-addfield{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border, #cdd5e0);background:var(--chip-bg, #f2f4f7);border-radius:7px;padding:5px 12px;cursor:pointer;font:inherit;color:inherit}.tpl-addfield:hover,.tpl-addfield.open{border-color:#11806f;background:#11806f14}.tpl-addfield .soft-caret{font-size:10px;color:var(--muted, #6b7481)}.tpl-field-menu{z-index:100060;display:grid;grid-template-columns:1fr 1fr;gap:2px;padding:6px;background:#fff;border:1px solid #c9d7d2;border-radius:10px;box-shadow:0 12px 34px #141e323d;max-height:min(60vh,380px);overflow-y:auto}.tpl-field-opt{text-align:left;border:none;background:transparent;border-radius:6px;padding:6px 10px;cursor:pointer;font:inherit;color:#1c2530;white-space:nowrap}.tpl-field-opt:hover{background:#11806f1f}.tpl-place-lbl{color:var(--muted, #8a94a3)}.tpl-preview-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.tpl-preview-lbl{color:var(--muted, #8a94a3)}.tpl-preview{font-weight:700}.tpl-reset{margin-left:auto;border:1px solid var(--border, #cdd5e0);background:transparent;border-radius:6px;padding:5px 10px;cursor:pointer;font-size:12px}.tpl-foot{display:flex;align-items:center;gap:10px;border-top:1px solid var(--border, #eef1f5);padding-top:10px}.tpl-foot input[type=range]{flex:1 1 60px;min-width:60px}.tpl-foot-last{border-top:none;padding-top:2px}.tpl-foot-actions{display:inline-flex;gap:4px;flex:0 0 auto;margin-left:auto}.tpl-size{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.tpl-colour-row{flex-wrap:wrap}.tpl-colour-swatches{display:inline-flex;align-items:center;gap:4px;flex-wrap:wrap}.tpl-swatch-inherit{position:relative;background:linear-gradient(135deg,transparent 0 43%,var(--muted, #8a94a3) 43% 57%,transparent 57%),var(--panel, #fff)}.tpl-colour-pro{font-size:12px;color:var(--muted, #8a94a3);border:1px solid var(--border, #cdd5e0);border-radius:999px;padding:1px 8px;cursor:default}.tpl-edit-values{border:1px solid var(--border, #cdd5e0);background:transparent;border-radius:6px;padding:4px 10px;cursor:pointer}.toast-host{position:fixed;left:50%;bottom:26px;transform:translate(-50%);z-index:300;display:flex;flex-direction:column;align-items:center;gap:8px;pointer-events:none}.toast{pointer-events:auto;cursor:pointer;max-width:min(90vw,460px);text-align:left;border:0;border-radius:11px;padding:12px 16px;font:600 13px/1.4 system-ui,sans-serif;color:#fff;background:#2a3350;box-shadow:0 10px 30px #14213d4d;animation:toast-in .18s ease-out}.toast-error{background:#b23b34}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
