.rhyme-tools{margin:16px 0;padding:14px;border:1px solid #536445;border-radius:12px;background:#141b20}.rhyme-tools label{display:inline-flex;align-items:center;gap:8px;margin:5px 10px 5px 0}.rhyme-tools select,.rhyme-tools button{background:#202b30;color:#eff5ed;border:1px solid #62775b;border-radius:7px;padding:8px}.rhyme-tools p{font-size:12px;line-height:1.5}.rhyme-editor{position:relative;margin:12px 0;background:#10171c;border:1px solid #637055;border-radius:12px;overflow:hidden}.rhyme-editor textarea,.rhyme-ink{font-family:ui-monospace,SFMono-Regular,Consolas,monospace!important;font-size:16px!important;line-height:1.8!important;letter-spacing:0!important;white-space:pre-wrap!important;overflow-wrap:break-word!important;word-break:normal!important;tab-size:4!important;padding:15px!important;margin:0!important;border:0!important;border-radius:0!important;box-sizing:border-box!important;width:100%!important;min-height:260px!important}.rhyme-editor textarea{position:relative;display:block;background:transparent!important;resize:vertical;color:transparent!important;caret-color:#fff;z-index:1;-webkit-text-fill-color:transparent}.rhyme-editor textarea::selection{background:#779dff66}.rhyme-ink{position:absolute;inset:0;overflow:hidden;pointer-events:none;color:#edf2ea}.rhyme-ink mark,.rhyme-map mark{color:var(--rc);background:color-mix(in srgb,var(--rc) 12%,transparent);border-bottom:2px solid var(--rc);border-radius:2px}.rhyme-map{white-space:pre-wrap;line-height:2.1;padding:12px;font:16px/2 ui-monospace,monospace;border:1px solid #415244;border-radius:10px}.rhyme-map button{font:inherit;padding:0;border:0;background:none;color:inherit;cursor:pointer}.rhyme-map button:focus-visible{outline:2px solid #fff}.rhyme-legend{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;margin:10px 0}.rhyme-off textarea{color:#edf2ea!important;-webkit-text-fill-color:#edf2ea}.rhyme-off .rhyme-ink{display:none}.rhyme-tools [hidden]{display:none!important}

.rhyme-sounds{font-size:10px;color:#aebbb0;display:inline;white-space:normal}.rhyme-editor textarea{overflow-y:scroll!important}.rhyme-ink{overflow-y:scroll!important;scrollbar-color:transparent transparent}.rhyme-ink::-webkit-scrollbar-thumb{background:transparent}

/* Explicit field contrast and overlay rules outrank both legacy theme sheets. */
body #song,body input#song,body #song:focus,body #song:active{
 background:#0c111a!important;background-color:#0c111a!important;color:#f5f7fa!important;
 -webkit-text-fill-color:#f5f7fa!important;caret-color:#f5f7fa!important;opacity:1!important;
 border:1px solid #63745b!important;color-scheme:dark!important;
}
body #song::placeholder{color:#aab6c1!important;-webkit-text-fill-color:#aab6c1!important;opacity:1!important}
body .rhyme-editor{isolation:isolate;background:#0c111a!important}
body .rhyme-editor>.rhyme-ink{z-index:0!important;color:#f5f7fa!important;-webkit-text-fill-color:currentColor!important;background:transparent!important;opacity:1!important;visibility:visible!important}
body .rhyme-editor>textarea#lyrics,body .rhyme-editor>textarea#draft{
 z-index:1!important;background:transparent!important;background-color:transparent!important;
 color:transparent!important;-webkit-text-fill-color:transparent!important;caret-color:#f5f7fa!important;
 opacity:1!important;border:0!important;box-shadow:none!important;color-scheme:dark!important;
}
body .rhyme-editor>.rhyme-ink mark,body .rhyme-map mark{color:var(--rc)!important;-webkit-text-fill-color:currentColor!important}
body .rhyme-editor.rhyme-off>textarea#lyrics,body .rhyme-editor.rhyme-off>textarea#draft{
 color:#f5f7fa!important;-webkit-text-fill-color:#f5f7fa!important;
}
body .rhyme-editor>textarea::placeholder{color:#aab6c1!important;-webkit-text-fill-color:#aab6c1!important;opacity:1!important}
body .rhyme-paint{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:12px 0}
body .rhyme-paint button{background:#202b30!important;color:#eff5ed!important;-webkit-text-fill-color:currentColor!important;border:1px solid #62775b!important;border-radius:8px!important;padding:7px 10px!important;min-height:40px}
body .rhyme-paint button.rhyme-swatch{color:var(--swatch)!important;font-size:25px!important;line-height:1!important;min-width:40px}
body .rhyme-paint button[aria-pressed="true"]{outline:2px solid #b9eb86!important;outline-offset:2px}
body .rhyme-map button{background:transparent!important;border:0!important;color:#f5f7fa!important;-webkit-text-fill-color:currentColor!important;padding:0!important;font:inherit!important}
