.score-tools { border-bottom:1px solid var(--line); padding:10px 12px; background:#fffdf8; min-width:0; }
.score-tools [hidden] { display:none !important; }
.score-tools-tabs,.score-tools-actions,.rhythm-keys { display:flex; flex-wrap:wrap; gap:6px; align-items:center; }
.score-tools button { border:1px solid #b8c5b2; border-radius:5px; padding:7px 10px; background:#fff; color:#314b2d; font-family:inherit; font-weight:600; font-size:13px; cursor:pointer; }
.score-tools button:hover { background:#e9efe5; }
.score-tools-tabs button { background:#edf2e8; }
.score-tools [data-rhythm="confirm"],.score-tools [data-arrange="apply"] { background:#4f6f3e; color:white; }
.score-tools select,.score-tools input[type="number"] { border:1px solid #b8c5b2; border-radius:4px; padding:7px; background:white; color:#263d25; }
.rhythm-presets { display:flex; flex-wrap:wrap; gap:4px; padding:10px 0; }
.rhythm-presets button,.rhythm-keys button { padding:0 5px; min-height:42px; color:#17241e; background:#f0f2ef; border:1px solid #d5ddd4; }
.rhythm-presets svg,.rhythm-keys svg { display:block; height:44px; width:auto; }
.rhythm-input { min-height:64px; max-height:240px; overflow:auto; margin:6px 0; border:1px solid #a8b5a5; background:white; }
.rhythm-keys { margin:8px 0; }
.rhythm-keys button { min-width:42px; }
.score-tools-status { font-size:13px; color:#40583e; overflow-wrap:anywhere; margin-top:6px; }
.score-tools-fields { display:flex; flex-wrap:wrap; gap:10px; padding:10px 0; }
.score-tools-fields label { display:grid; gap:4px; font-size:13px; min-width:0; }
.score-tools-fields select { max-width:100%; }
.score-tools-fields input { width:76px; }
#arrangePlan { max-height:100px; overflow:auto; font-size:12px; line-height:1.8; margin-bottom:8px; }
.rhythm-label { padding:0 !important; border:0 !important; min-height:0 !important; max-width:none !important; border-radius:0; background:rgba(255,255,255,.94); line-height:0; }
.rhythm-label svg { display:block; }
.arrange-overlay { position:absolute; inset:0; pointer-events:none; }
.arrange-marker { position:absolute; transform:translate(-50%,-50%); color:#91352e; background:#fff; border:1px solid #91352e; font-size:11px; padding:1px 4px; }
.arrange-ghost { pointer-events:auto; position:absolute; outline:1px dashed #35533b; cursor:move; touch-action:none; }
@media(max-width:600px){.score-tools-fields{display:grid;grid-template-columns:1fr}.score-tools-fields select{width:100%}.score-tools{padding:8px}}
