/* InkMotion Lyrics Maker — inherits the same Quote Maker studio architecture.
   Editor: left content/themes, centered preview, right sync/export; mobile preview + three tabs.
   Scope every override to this tool; shared studio scripts/styles remain unchanged. */
body[data-im-page="music-visualizer"] .iq-editor{box-sizing:border-box}
body[data-im-page="music-visualizer"] .iq-preview-col{min-width:0}
body[data-im-page="music-visualizer"] .iq-preview-card{width:100%}
body[data-im-page="music-visualizer"] .iq-stage{min-height:380px}
body[data-im-page="music-visualizer"] .iq-canvas-frame{width:min(100%,345px);aspect-ratio:9/16}
body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="1:1"]{width:min(100%,425px);aspect-ratio:1}
body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="16:9"]{width:min(100%,520px);aspect-ratio:16/9}
body[data-im-page="music-visualizer"] .iq-canvas-frame canvas{display:block;width:100%;height:100%;object-fit:contain}
body[data-im-page="music-visualizer"] .lm-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
body[data-im-page="music-visualizer"] .iq-upload{position:relative;min-height:43px}
body[data-im-page="music-visualizer"] .lm-file-picker>span:first-child{min-width:0;overflow-wrap:anywhere}
body[data-im-page="music-visualizer"] .lm-file-picker strong{font-weight:800}
body[data-im-page="music-visualizer"] .lm-times-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}
body[data-im-page="music-visualizer"] .lm-times-row label{min-width:0}
body[data-im-page="music-visualizer"] .lm-times-row input{display:block;width:100%;margin-top:7px;padding:9px 10px;border:1px solid #dce2f0;border-radius:9px;background:#fbfcff;color:#243254;font-size:12px}
body[data-im-page="music-visualizer"] .iq-panel textarea{box-sizing:border-box}
body[data-im-page="music-visualizer"] .lm-button-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:7px}
body[data-im-page="music-visualizer"] .lm-button-row-spaced{margin-top:8px}
body[data-im-page="music-visualizer"] .lm-button-row .iq-btn{min-height:38px;padding:8px 5px;font-size:10px;width:100%;min-width:0;text-align:center}
body[data-im-page="music-visualizer"] label.lm-file-button{position:relative;overflow:hidden;margin:0!important;cursor:pointer}
body[data-im-page="music-visualizer"] label.lm-file-button input{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none}
body[data-im-page="music-visualizer"] .lm-art-karaoke{background:linear-gradient(135deg,#292048,#7152a8);color:#ebd7ff;text-shadow:0 0 14px #dbb2ff}
body[data-im-page="music-visualizer"] .lm-art-neon{background:#0c1030;color:#88fbeb;text-shadow:0 0 10px #5bebd7}
body[data-im-page="music-visualizer"] .lm-art-aesthetic{background:linear-gradient(135deg,#e5accb,#f6d9c8);color:#754b76}
body[data-im-page="music-visualizer"] .lm-art-minimal{background:#f4f3f0;color:#243148;border:1px solid #dedde1}
body[data-im-page="music-visualizer"] .lm-art-cinematic{background:linear-gradient(135deg,#12213d,#415979);color:#f4f0de}
body[data-im-page="music-visualizer"] .lm-art-typewriter{background:linear-gradient(135deg,#eee3df,#dbc9d9);color:#443855;font-family:monospace}
body[data-im-page="music-visualizer"] .lm-sync-intro{background:#f5f3ff;border-radius:9px;padding:9px 11px;margin:0 0 12px!important}
body[data-im-page="music-visualizer"] .lm-synclabel{border:1px solid #e4e0f3;border-radius:9px;padding:9px 10px;margin:10px 0;color:#66549b;background:#faf9ff;font-size:11px;line-height:1.5}
body[data-im-page="music-visualizer"] .lm-lines{display:grid;gap:7px;max-height:none;overflow:visible}
body[data-im-page="music-visualizer"] .lm-line{display:grid;grid-template-columns:22px 72px minmax(0,1fr) 24px;gap:5px;align-items:center;padding:6px;background:#fbfcff;border:1px solid #e3e7f1;border-radius:9px;min-width:0}
body[data-im-page="music-visualizer"] .lm-line.active{border-color:#aa96ec;background:#f5f1ff}
body[data-im-page="music-visualizer"] .lm-line .lm-line-index{color:#7e68c2;font-size:10px;font-weight:900}
body[data-im-page="music-visualizer"] .lm-line input{min-width:0;width:100%;background:#fff;border:1px solid #e0e4ef;border-radius:6px;color:#334165;font-size:11px;padding:7px 4px;box-sizing:border-box}
body[data-im-page="music-visualizer"] .lm-line-remove{border:0;border-radius:5px;color:#a65c77;background:#fff0f4;font-size:17px;cursor:pointer;min-height:28px}
body[data-im-page="music-visualizer"] .lm-full{width:100%;margin-top:9px;min-height:36px}
body[data-im-page="music-visualizer"] .iq-selects{align-items:end}
body[data-im-page="music-visualizer"] .iq-selects select{max-width:100%}
body[data-im-page="music-visualizer"] .iq-selects input[type=color]{min-height:38px;width:100%;border:1px solid #dce2f0;border-radius:9px;background:#fff;cursor:pointer;padding:4px}
body[data-im-page="music-visualizer"] .lm-color-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:13px 0 7px}
body[data-im-page="music-visualizer"] .lm-color-row label{margin:0}
body[data-im-page="music-visualizer"] .lm-color-row input{width:48px;height:30px;border:1px solid #dce2f0;border-radius:6px;background:#fff;cursor:pointer}
body[data-im-page="music-visualizer"] .lm-bg-clear{margin-top:9px;min-height:32px;padding:7px 11px;font-size:10px}
body[data-im-page="music-visualizer"] .lm-preview-progress{padding:0 18px 12px;margin:0;max-width:none}
body[data-im-page="music-visualizer"] .lm-preview-status{padding:0 18px 9px;margin:0;font-size:11px;line-height:1.6;overflow-wrap:anywhere}
body[data-im-page="music-visualizer"] .iq-footnote{padding-bottom:15px}
body[data-im-page="music-visualizer"] .iq-exports [hidden],body[data-im-page="music-visualizer"] [hidden]{display:none!important}
body[data-im-page="music-visualizer"] .iq-exports button{white-space:normal}
body[data-im-page="music-visualizer"] .lm-export-progress #progressTrack{height:7px;background:#efebfa;border-radius:99px;overflow:hidden}
body[data-im-page="music-visualizer"] .lm-export-progress #progressFill{display:block;height:100%;width:0%;background:#7759d7}
body[data-im-page="music-visualizer"] .lm-export-progress #progressLabel{font-size:10px;color:#6a6084}
body[data-im-page="music-visualizer"] .iq-editor-header{background:#fafaff}
@media(min-width:1161px){
 body[data-im-page="music-visualizer"] .iq-editor{width:min(1490px,calc(100% - 38px));max-width:none;padding:0}
 body[data-im-page="music-visualizer"] .iq-workspace{display:grid!important;grid-template-columns:minmax(210px,.86fr) minmax(320px,1.48fr) minmax(210px,.86fr)!important}
 body[data-im-page="music-visualizer"] .iq-controls{display:contents!important}
 body[data-im-page="music-visualizer"] .iq-controls>.iq-panel:nth-of-type(1){grid-column:1;grid-row:1}
 body[data-im-page="music-visualizer"] .iq-controls>.iq-panel:nth-of-type(2){grid-column:1;grid-row:2}
 body[data-im-page="music-visualizer"] .iq-controls>.iq-panel:nth-of-type(3){grid-column:3;grid-row:1}
 body[data-im-page="music-visualizer"] .iq-controls>.iq-panel:nth-of-type(4){grid-column:3;grid-row:2}
 body[data-im-page="music-visualizer"] .iq-preview-col{grid-column:2;grid-row:1/span 6}
 body[data-im-page="music-visualizer"] .iq-canvas-frame{max-height:min(56dvh,590px)!important;width:auto!important;height:min(56dvh,590px);max-width:100%;margin:auto}
 body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="1:1"]{height:min(43dvh,470px)}
 body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="16:9"]{height:auto;width:100%!important;max-width:525px;max-height:none!important}
}
@media(max-width:1160px){
 body[data-im-page="music-visualizer"] .iq-workspace{display:flex!important;flex-direction:column!important;gap:0!important}
 body[data-im-page="music-visualizer"] .iq-preview-col{order:-2!important;width:100%!important}
 body[data-im-page="music-visualizer"] .iq-controls{display:grid!important;grid-template-columns:1fr!important;width:100%!important;gap:9px;padding:11px}
 body[data-im-page="music-visualizer"] .iq-panel{height:auto!important}
 body[data-im-page="music-visualizer"] nav.im-mt-tabs{order:-1!important}
 body[data-im-page="music-visualizer"] .iq-editor{width:calc(100% - 26px);max-width:900px;padding:0}
 body[data-im-page="music-visualizer"] .iq-editor-header{display:none}
 body[data-im-page="music-visualizer"] .iq-preview-col{padding:8px!important}
 body[data-im-page="music-visualizer"] .iq-canvas-frame{width:min(72vw,288px)!important;height:auto!important;max-height:none!important}
 body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="1:1"]{width:min(82vw,420px)!important}
 body[data-im-page="music-visualizer"] .iq-canvas-frame[data-ratio="16:9"]{width:min(100%,530px)!important}
 body[data-im-page="music-visualizer"] .iq-canvas-frame canvas{height:auto!important;aspect-ratio:inherit}
}
@media(max-width:700px){
 body[data-im-page="music-visualizer"] .iq-stage{min-height:0!important;padding:9px!important}
 body[data-im-page="music-visualizer"] .iq-canvas-frame{width:min(72vw,270px)!important;max-height:none!important}
 body[data-im-page="music-visualizer"] .iq-preview-head{padding:12px}
 body[data-im-page="music-visualizer"] .iq-playback{padding:13px}
 body[data-im-page="music-visualizer"] .iq-exports{flex-direction:column;padding:12px}
 body[data-im-page="music-visualizer"] .iq-exports button{width:100%;min-height:43px}
 body[data-im-page="music-visualizer"] .iq-editor{width:calc(100% - 18px)}
 body[data-im-page="music-visualizer"] .iq-panel{padding:14px}
}
/* The older lyrics stylesheet applies a body-level inherited font to form
   elements; set Quote Maker's compact typography explicitly for the studio. */
body[data-im-page="music-visualizer"] .iq-btn{font-size:12px!important;font-weight:800!important;line-height:1.3!important}
body[data-im-page="music-visualizer"] .iq-style strong{font-size:10px!important}
body[data-im-page="music-visualizer"] .iq-panel :is(textarea,input[type=text],input[type=number],select){font-size:12px!important;line-height:1.5!important}
body[data-im-page="music-visualizer"] .iq-presets button,body[data-im-page="music-visualizer"] .iq-ratios button{font-size:11px!important;font-weight:800!important}
body[data-im-page="music-visualizer"] .lm-button-row .iq-btn{font-size:10px!important}
body[data-im-page="music-visualizer"] .lm-line input{font-size:11px!important;padding:7px 4px!important}

/* Per-line Start / End timing controls, aligned with the Quote Maker panels. */
body[data-im-page="music-visualizer"] .lm-lines{gap:10px}
body[data-im-page="music-visualizer"] .lm-line{
 display:grid;grid-template-columns:26px minmax(0,1fr) 27px;
 grid-template-rows:auto auto;gap:8px 7px;align-items:center;padding:10px;
}
body[data-im-page="music-visualizer"] .lm-line-index{grid-column:1;grid-row:1;text-align:center}
body[data-im-page="music-visualizer"] .lm-line-text{grid-column:2;grid-row:1}
body[data-im-page="music-visualizer"] .lm-line-remove{grid-column:3;grid-row:1}
body[data-im-page="music-visualizer"] .lm-line-range{grid-column:1/-1;grid-row:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
body[data-im-page="music-visualizer"] .lm-range-label{display:block!important;min-width:0;font-size:10px!important;font-weight:800!important;color:#625887!important;line-height:1.3}
body[data-im-page="music-visualizer"] .lm-range-label input{width:100%;margin-top:5px;font-size:12px!important;font-variant-numeric:tabular-nums;padding:8px 9px!important;border-radius:7px}
body[data-im-page="music-visualizer"] .lm-range-label input:focus{border-color:#896ada;background:#fff}
@media(max-width:400px){
 body[data-im-page="music-visualizer"] .lm-line{padding:8px;gap:6px}
 body[data-im-page="music-visualizer"] .lm-line-range{gap:6px}
 body[data-im-page="music-visualizer"] .lm-range-label{font-size:9px!important}
}
