.history-actions,.text-actions,.zoom-controls{display:flex;align-items:center;gap:8px}.history-actions button,.zoom-controls button{height:29px;min-width:29px;padding:3px 8px;border:1px solid #cad4c0;border-radius:4px;background:#fffdf8;color:#455b49;font-size:12px}.history-actions button{font-size:20px;line-height:1}.history-actions button:disabled,.zoom-controls button:disabled{opacity:.35}.text-actions{gap:10px}.small-button:disabled{opacity:.45;cursor:default}.source-label{margin-bottom:5px}.source-label .field-label{margin-bottom:0}.draft-controls{padding:8px 0 0;border-top:1px solid #e0e5d6}.draft-controls .checkbox-row{font-size:10px}.draft-controls p{font-size:9px;line-height:1.4;color:#6c7863;margin:4px 0 0}.draft-controls>div{display:flex;flex-wrap:wrap;gap:5px 10px;margin-top:5px}.draft-controls>div[hidden]{display:none}.draft-controls .small-button{font-size:9px}.fit-preferences{display:flex;flex-direction:column;gap:7px}.fit-preferences select{font-size:10px;max-width:100%;padding:6px}.fit-preferences select:disabled{opacity:.5}.design-result{display:none;border:1px solid #c7d3bc;border-radius:4px;background:#edf3e6;color:#455b49;padding:8px;font-size:11px}.preview-bottom{gap:10px}.zoom-controls{gap:3px;flex-shrink:0}.zoom-controls #zoom-fit{font-size:10px;min-width:78px}.preview-stage{align-items:flex-start;overflow:auto;touch-action:pan-x pan-y}.preview-stage.one-page.zoomed,.preview-stage.one-page.vertical-overflow{justify-content:flex-start}.preview-stack{margin-inline:auto}.preview-stage.zoomed .song-page{user-select:text}.fit-status[data-kind=multiple]{font-weight:500}
.tool-dialog{width:min(860px,calc(100vw - 28px));max-height:calc(100dvh - 28px);margin:auto;padding:22px;border:1px solid #bdcbb1;border-radius:10px;background:#fffdf8;color:#2d332d;box-shadow:0 24px 90px #25302645;box-sizing:border-box}.tool-dialog::backdrop{background:#25302665;backdrop-filter:blur(3px)}.tool-dialog-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-shrink:0}.tool-dialog h2{font:28px/1.2 Georgia,serif;margin:0}.tool-dialog-heading .dialog-close{flex-shrink:0}.dialog-note{font:12px/1.6 'Segoe UI',Arial,sans-serif;color:#68745d;margin:10px 0;overflow-wrap:anywhere}.dialog-actions{display:flex;justify-content:flex-end;flex-wrap:wrap;gap:8px;margin-top:12px;flex-shrink:0}.dialog-actions>button{padding:9px 13px;border:1px solid #c7d3bc;border-radius:5px;background:#f3f6ee;color:#455b49;font-size:12px}.dialog-actions>button.primary-action{background:#455b49;color:#fff;border-color:#455b49}.dialog-actions>button:disabled{opacity:.4;cursor:default}.clean-dialog[open]{display:flex;flex-direction:column;height:min(660px,calc(100dvh - 28px));overflow:hidden}.clean-options{display:flex;flex-wrap:wrap;gap:8px 18px;margin:3px 0 12px;flex-shrink:0}.clean-options .checkbox-row{font-size:12px}.clean-candidates{flex-shrink:0;max-height:76px;overflow:auto;padding:7px 9px;background:#f7f1e4;border:1px solid #e5d5b4;border-radius:4px;margin-bottom:10px}.clean-candidates[hidden]{display:none}.clean-candidates .dialog-note{font-size:10px;margin:0 0 5px}.clean-candidates .checkbox-row{font-size:11px;line-height:1.5;margin-top:4px;overflow-wrap:anywhere}.clean-candidates span{min-width:0}.clean-comparison{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;flex:1;min-height:60px}.clean-comparison>div{min-height:0;display:flex;flex-direction:column}.clean-comparison h3{font:600 11px 'Segoe UI',Arial,sans-serif;color:#68745d;margin:0 0 6px}.clean-comparison pre{flex:1;min-height:0;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid #dce3d2;border-radius:5px;padding:10px;background:#f8f9f3;font:12px/1.65 'Segoe UI',Arial,sans-serif;margin:0;tab-size:3}.clean-comparison pre span{display:block;min-height:1.65em;white-space:pre-wrap}.clean-comparison .changed-line{background:#fff0ce;border-radius:2px}.clean-dialog #clean-summary{font-size:11px;margin:9px 0 0}.clean-dialog .dialog-actions{margin-top:9px}.confirm-dialog{max-width:460px}.print-dialog{max-width:580px}.print-summary{font:24px/1.4 Georgia,serif;color:#455b49;margin:18px 0 12px}.print-warnings{padding:12px 12px 12px 30px;background:#edf3e6;color:#455b49;border-radius:5px;font:12px/1.7 'Segoe UI',Arial,sans-serif;max-height:26vh;overflow:auto}.print-warnings.has-warnings{background:#fff1d7;color:#7b582c}.print-warnings li+li{margin-top:6px}
@media(max-width:1100px){.design-result{display:block}.design-panel .fit-preferences{grid-column:1/-1}.preview-caption{display:none}.source-panel{gap:8px}.design-panel{gap:10px}}
@media(max-width:480px){.history-actions button,.zoom-controls button{min-width:30px;height:30px}.preview-bottom{gap:5px}.zoom-controls #zoom-fit{font-size:9px;min-width:72px;padding:3px 5px}.source-panel{gap:7px;padding:12px}.source-panel .field-label{font-size:10px}.draft-controls{padding-top:6px}.tool-dialog{padding:15px}.tool-dialog h2{font-size:23px}.dialog-note{font-size:11px;line-height:1.5;margin:8px 0}.clean-options{gap:8px;margin-bottom:9px}.clean-options .checkbox-row{font-size:10px}.clean-comparison{gap:7px}.clean-comparison pre{font-size:11px;padding:6px}.dialog-actions>button{font-size:11px;padding:9px}.print-summary{font-size:21px}.fit-preferences select{padding:6px}.design-panel .settings{gap:9px}.design-result{padding:7px;font-size:10px}.design-note{display:none}.design-panel .theme-art{height:50px}.clean-candidates{max-height:65px}}
@media(max-height:780px) and (min-width:1101px){.source-panel{gap:6px}.draft-controls{padding-top:6px}.settings{gap:8px}.fit-preferences{gap:5px}.design-note{font-size:8px}.preview-caption{display:none}}
@media(max-height:650px) and (min-width:1101px){.source-panel .text-group{min-height:35px}.draft-controls p{font-size:8px}.draft-controls .checkbox-row{font-size:9px}.settings{gap:5px}.fit-preferences{gap:4px}.fit-preferences select{padding:4px}.theme-art{height:29px}.parts-detection{display:none}}
@media(max-height:480px) and (min-width:600px) and (max-width:1100px){.app[data-panel=text] .source-panel{grid-template-rows:22px 35px minmax(54px,1fr) 24px 46px;gap:4px 14px}.source-panel>.text-group{grid-row:1/5}.source-panel>.parts-row{grid-row:5}.source-panel>.import-status{grid-column:1;grid-row:4;max-height:24px}.source-panel>.draft-controls{grid-column:1;grid-row:5;padding-top:3px}.source-panel .draft-controls p{font-size:8px;line-height:1.2;margin-top:3px}.source-panel .draft-controls .checkbox-row{font-size:9px}.draft-controls>div{margin-top:2px}.draft-controls .small-button{font-size:8px}.app[data-panel=design] .design-panel{grid-template-rows:22px minmax(0,1fr) 26px;gap:6px 15px;padding:8px 12px}.design-panel>.design-result{grid-column:1/-1;grid-row:3;padding:4px}.design-panel .settings{gap:4px}.design-panel .fit-preferences{gap:3px}.design-panel .fit-preferences select{font-size:9px;padding:3px}.design-panel .select-input{font-size:10px;padding:3px 5px}.design-panel .range-label{font-size:9px}.design-panel .checkbox-row{font-size:9px}.design-panel input[type=range]{height:12px}.clean-dialog .dialog-note{font-size:9px;line-height:1.3;margin:6px 0}.tool-dialog{padding:12px}.tool-dialog h2{font-size:22px}.clean-options{margin:2px 0 6px}.clean-options .checkbox-row{font-size:10px}.clean-candidates{max-height:42px;margin-bottom:6px;padding:4px}.clean-dialog .dialog-actions{margin-top:5px}.clean-dialog .dialog-actions button{padding:6px 10px}.print-summary{margin:10px 0;font-size:21px}.print-dialog .dialog-note{font-size:10px;margin:6px 0}.print-warnings{max-height:20vh;margin:8px 0}}
@media print{.tool-dialog{display:none!important}}
@media(max-width:480px) and (max-height:670px){.design-panel{gap:7px;padding:10px}.design-panel .theme-art{height:26px;padding:4px 7px}.design-panel .theme-type{font-size:18px}.design-panel .theme-art .theme-ornament{height:31px}.design-panel .theme-name{padding:3px 5px}.design-panel .theme-grid{gap:5px}.design-panel .settings{gap:6px;padding-top:7px}.design-panel .fit-preferences{gap:4px}.design-panel .select-input{padding:5px 7px}.design-panel .field-label,.design-panel .range-label{margin-bottom:3px}.design-result{padding:5px}}
@media(max-height:480px) and (min-width:480px) and (max-width:1100px){.app[data-panel=text] .source-panel{display:grid;grid-template-columns:210px minmax(0,1fr);grid-template-rows:22px 35px minmax(50px,1fr) 24px 46px;gap:4px 12px;padding:8px 10px}.source-panel>.panel-title{grid-column:1;grid-row:1}.source-panel>.song-name-field{grid-column:1;grid-row:2}.source-panel>.author-controls{grid-column:1;grid-row:3;gap:3px}.source-panel>.text-group{grid-column:2;grid-row:1/5}.source-panel>.parts-row{grid-column:2;grid-row:5}.source-panel>.import-status{grid-column:1;grid-row:4;font-size:8px;max-height:24px;overflow:auto}.source-panel>.draft-controls{grid-column:1;grid-row:5;padding-top:3px}.source-panel>.sample-select{display:none}.source-panel .text-group textarea{font-size:11px;padding:6px}.source-panel .field-label{font-size:9px;margin-bottom:3px}.source-panel .text-input{padding:4px 6px;font-size:11px}.source-panel .draft-controls .checkbox-row{font-size:9px}.source-panel .draft-controls p{font-size:8px;margin:2px 0}.draft-controls .small-button{font-size:8px}.draft-controls>div{margin-top:2px}.tool-dialog{padding:12px}.tool-dialog h2{font-size:22px}.clean-dialog .dialog-note{font-size:9px;line-height:1.3;margin:5px 0}.clean-options{margin:2px 0 5px}.clean-options .checkbox-row{font-size:10px}.clean-candidates{max-height:40px;margin-bottom:5px;padding:4px}.clean-dialog .dialog-actions{margin-top:5px}.clean-dialog .dialog-actions button{padding:6px 10px}.clean-dialog #clean-summary{font-size:9px;margin-top:4px}.clean-comparison pre{padding:6px;font-size:10px}.app[data-panel=design] .design-panel{grid-template-rows:20px minmax(0,1fr) 24px;gap:5px 12px;padding:8px 10px}.design-panel>.design-result{grid-column:1/-1;grid-row:3;padding:4px}.design-panel .theme-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:4px}.design-panel .theme-art{height:35px;padding:3px 6px}.design-panel .theme-name{font-size:8px;padding:3px}.design-panel .settings{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-content:start;gap:4px 8px;border:0;padding:0}.design-panel .fit-preferences,.design-panel .settings>div:nth-child(2){grid-column:1/-1}.design-panel .fit-preferences{gap:3px}.design-panel .field-label,.design-panel .range-label{font-size:9px;margin-bottom:2px}.design-panel .select-input{font-size:10px;padding:3px 5px}.design-panel .checkbox-row{font-size:9px}.design-panel input[type=range]{height:12px}.design-note{display:none}}
@media(max-height:360px) and (min-width:480px) and (max-width:1100px){.app{grid-template-rows:44px 32px minmax(0,1fr) 20px}.workspace{padding:6px 0}.mobile-tab{padding:4px 15px}.app[data-panel=text] .source-panel{grid-template-rows:18px 26px minmax(48px,1fr) 44px;gap:4px 10px}.source-panel>.song-name-field>.field-label{display:none}.source-panel>.text-group{grid-row:1/4}.source-panel>.parts-row,.source-panel>.draft-controls{grid-row:4}.source-panel>.import-status{display:none}.source-panel .draft-controls p{display:none}.source-panel .panel-title h1{font-size:18px}.history-actions button{height:22px;min-width:24px;font-size:17px;padding:1px 4px}.source-panel .text-input{padding:3px 6px}.source-panel .parts-button{padding:5px;font-size:9px}.source-panel .source-label .field-label,.source-panel .small-button{font-size:8px}.text-actions{gap:6px}.clean-dialog>.dialog-note:not(#clean-summary){display:none}.clean-dialog .tool-dialog-heading{margin-bottom:6px}.clean-candidates{max-height:33px}.clean-candidates .dialog-note{display:none}.print-dialog .dialog-note{font-size:9px;margin:5px 0}.print-summary{font-size:19px;margin:8px 0}.print-warnings{font-size:10px;margin:6px 0;padding:6px 6px 6px 22px}}
