/* Scoped additions: preserve the existing workbench and UI01–26. */
.lyric-style-grid{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1fr);gap:24px;align-items:start}
.lyric-style-grid>*{min-width:0}.lyric-style-controls .settings-section,.lyric-style-grid aside .settings-section{margin-bottom:20px}
.lyric-style-field{display:grid;gap:8px;margin:14px 0}.lyric-style-field>span{display:flex;justify-content:space-between;gap:12px}.lyric-style-field input:not([type=range]):not([type=color]),.lyric-style-field select{width:100%;min-width:0}
.lyric-style-field input[type=color]{width:100%;height:40px;border:1px solid var(--border,#dce7e4);background:transparent;border-radius:8px;padding:3px}
.lyric-style-field output{color:var(--muted,#657a76);font-variant-numeric:tabular-nums}.lyric-colors{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.lyric-file-input{max-width:100%;font-size:12px;margin:8px 0}.lyric-preset-list{padding:0;list-style:none}.lyric-preset-list li{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--border,#dce7e4)}.lyric-preset-list li>span{overflow-wrap:anywhere}.lyric-preset-list .actions{flex-wrap:wrap;justify-content:flex-end}
.advanced-lyrics{box-sizing:border-box;width:100%;min-height:160px;max-height:460px;overflow:hidden;position:relative;border-radius:14px;padding:24px 16px;background:var(--lyric-bg);color:var(--lyric-color);font-family:var(--lyric-font);font-size:var(--lyric-size);font-weight:var(--lyric-weight);letter-spacing:var(--lyric-spacing);line-height:var(--lyric-leading);text-align:var(--lyric-align);text-shadow:var(--lyric-depth) var(--lyric-depth) 0 #0008,0 2px var(--lyric-shadow) #0009}
.advanced-lyrics-track{position:relative;display:flex;flex-direction:column;align-items:stretch;gap:.45em;transition:transform .25s ease}.advanced-lyric-line{margin:0;overflow-wrap:anywhere;opacity:.5;transition:opacity .2s ease,transform .2s ease;white-space:pre-wrap}.advanced-lyric-line.is-current{opacity:1;color:var(--lyric-active)}
.lyric-word{color:transparent;background-image:linear-gradient(90deg,var(--lyric-active) var(--word-progress),var(--lyric-color) var(--word-progress));background-clip:text;-webkit-background-clip:text;box-decoration-break:clone;-webkit-box-decoration-break:clone}.lyric-word-done{color:var(--lyric-active)}
.lyric-scroll .advanced-lyric-line:not(.is-current){font-size:.72em}.lyric-scroll .advanced-lyric-line.is-current{transform:scale(1.02);transform-origin:center}.lyric-focus .advanced-lyric-line:not(.is-current){font-size:.75em}
.lyric-vertical{min-height:300px;max-height:460px;height:360px}.lyric-vertical .advanced-lyrics-track{writing-mode:vertical-rl;max-height:100%;height:100%;width:100%;align-content:center;justify-content:center}.lyric-vertical .advanced-lyric-line{overflow-wrap:normal}.lyric-vertical .lyric-word{background-image:linear-gradient(180deg,var(--lyric-active) var(--word-progress),var(--lyric-color) var(--word-progress))}
.lyric-effect-ink .is-current{filter:drop-shadow(0 1px 2px currentColor)}.lyric-effect-starlight .is-current{animation:lyric-starlight var(--lyric-speed) ease-in-out infinite}.lyric-effect-flow .is-current{animation:lyric-flow var(--lyric-speed) ease-in-out infinite}
@keyframes lyric-starlight{0%,100%{filter:drop-shadow(0 0 1px var(--lyric-active))}50%{filter:drop-shadow(0 0 9px var(--lyric-active))}}
@keyframes lyric-flow{0%,100%{filter:brightness(1)}50%{filter:brightness(1.35)}}
.lyric-no-motion *{animation:none!important;transition:none!important}
.desktop-overlay .advanced-lyrics{max-height:none;height:100%;padding:8px 16px}.desktop-overlay .lyric-vertical{height:calc(100vh - 50px);min-height:0}.desktop-overlay .advanced-lyric-line{font-size:inherit}
@media(prefers-reduced-motion:reduce){.advanced-lyrics *{animation:none!important;transition:none!important}}
@media(max-width:760px){.lyric-style-grid{grid-template-columns:minmax(0,1fr)}.lyric-style-page .page-title{flex-wrap:wrap}.lyric-preset-list li{align-items:flex-start;flex-direction:column}.lyric-preset-list .actions{justify-content:flex-start}.lyric-colors{gap:6px}.advanced-lyrics{padding:16px 10px}}
