/* Focused lyric editor, using the site's existing colors and controls. */
html body.lyrics-page>main.lyric-editor{padding-top:20px;}
.lyrics-page .editor-toolbar{position:sticky;top:0;z-index:25;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 22px;background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);}
.lyrics-page .editor-title h1{font-size:26px;line-height:1.25;letter-spacing:-.8px;margin:0;}
.lyrics-page .editor-title p{font-size:12px;color:var(--muted);margin:5px 0 0;}
.lyrics-page .editor-actions{display:flex;align-items:center;gap:18px;flex:none;}
.lyrics-page .editor-actions .primary,.lyrics-page .editor-actions .secondary{width:auto;min-width:148px;min-height:46px;padding:10px 24px;border-radius:12px;box-shadow:none;}
.lyrics-page .editor-actions #load-demo{margin:0;min-height:44px;font-size:13px;}
.lyrics-page .editor-status{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:4px 18px;margin:12px 0 4px;}
.lyrics-page .editor-status p{margin:0;font-size:12px;color:var(--muted);}
.lyrics-page .editor-status #demo-note{padding:3px 10px;border-radius:6px;background:var(--teal-soft);color:var(--teal-dark);}
.lyrics-page .editor-output{margin-bottom:18px;}
.lyrics-page .editor-output #export-help{margin:0;font-size:11px;color:var(--muted);}
.lyrics-page .editor-output .download{width:auto;margin-top:12px;}
.lyrics-page .lyric-editor .studio{display:block;}
.lyrics-page .lyric-editor .editor-workspace{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:22px;align-items:start;}
.lyrics-page .lyric-editor .preview-panel{position:sticky;top:94px;scroll-margin-top:104px;max-height:none;overflow:visible;padding:18px;border-radius:18px;}
.lyrics-page .lyric-editor .preview-heading{margin:0 0 12px;}
.lyrics-page .lyric-editor .screen{height:clamp(220px,calc(100dvh - 400px),600px);min-height:0;background:var(--soft);}
.lyrics-page .lyric-editor .screen canvas,.lyrics-page .lyric-editor .screen canvas.portrait{width:100%;height:100%;max-width:100%;max-height:100%;object-fit:contain;}
.lyrics-page .lyric-editor .player{padding:12px 0 4px;}
.lyrics-page .lyric-editor .current-lyric{margin:4px 0 0;min-height:20px;font-size:12px;max-height:42px;overflow:auto;}
.lyrics-page .lyric-editor #preview-collapse{display:none;}
.lyrics-page .lyric-options-column{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;}
.lyrics-page .editor-tabs{display:flex;border-bottom:1px solid var(--line);padding:0 12px;gap:4px;}
.lyrics-page .editor-tabs button{border:0;border-bottom:3px solid transparent;border-radius:0;background:transparent;color:var(--muted);min-height:52px;flex:1;font-size:14px;font-weight:700;padding:12px 4px;white-space:nowrap;}
.lyrics-page .editor-tabs button[aria-selected=true]{color:var(--ink);border-bottom-color:var(--teal);}
.lyrics-page .lyric-editor .settings{display:block;max-height:calc(100dvh - 280px);overflow:auto;overscroll-behavior:contain;min-height:300px;scrollbar-gutter:stable;}
.lyrics-page .lyric-editor .settings .card{border:0;border-radius:0;box-shadow:none;padding:20px;}
.lyrics-page .lyric-editor .card h2{font-size:15px;margin:0 0 16px;}
.lyrics-page .lyric-editor .card label{font-size:12px;}
.lyrics-page .lyric-editor .file-choice{position:relative;cursor:pointer;border:1px solid var(--line);border-radius:12px;padding:14px;margin:12px 0 0;gap:7px;background:var(--soft);}
.lyrics-page .lyric-editor .file-choice:focus-within{outline:3px solid var(--teal);outline-offset:2px;}
.lyrics-page .lyric-editor .file-choice:has(input:disabled){opacity:.6;cursor:default;}
.lyrics-page .lyric-editor .file-label{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px;}
.lyrics-page .lyric-editor .file-action{color:var(--teal);font-size:11px;white-space:nowrap;}
.lyrics-page .lyric-editor .file-choice strong{font-size:13px;line-height:1.5;word-break:break-word;color:var(--ink);}
.lyrics-page .lyric-editor .file-choice small{font-size:11px;line-height:1.5;color:var(--muted);}
.lyrics-page .selected-template{font-size:12px;margin:0;color:var(--muted);}.lyrics-page .selected-template strong{display:block;font-size:15px;color:var(--ink);margin:3px 0;}
.lyrics-page .choose-design{display:inline-block;font-size:12px;padding:8px 0;}
.lyrics-page .lyric-editor .two-fields{grid-template-columns:1fr 1fr;gap:12px;}
.lyrics-page .lyric-editor .two-fields select{min-width:0;}
.lyrics-page .lyric-editor .template-section{grid-column:1/-1;margin:0;padding:18px 0 0;}
.lyrics-page .lyric-editor .template-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:0 0 14px;padding:0;}
.lyrics-page .lyric-editor .template-heading h2{font-size:19px;letter-spacing:-.4px;margin:0;scroll-margin-top:100px;}
.lyrics-page .lyric-editor .template-heading h2 span{font-size:12px;font-weight:500;color:var(--muted);margin-left:8px;}
.lyrics-page .lyric-editor .template-heading p{font-size:12px;margin:4px 0 0;}
.lyrics-page .gallery-actions{display:flex;gap:16px;align-items:center;}
.lyrics-page .lyric-editor .gallery-actions button{width:auto;margin:0;font-size:12px;min-height:44px;}
.lyrics-page .lyric-editor .template-gallery{display:grid;grid-auto-flow:row;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;overflow:visible;padding:3px 3px 14px;}
.lyrics-page .lyric-editor .template-gallery.is-expanded{grid-auto-flow:row;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-columns:auto;overflow:visible;}
.lyrics-page .lyric-editor .template-card{scroll-snap-align:start;border-radius:12px;min-width:0;padding-bottom:12px;}
.lyrics-page .lyric-editor .template-card span{display:none;}
.lyrics-page .lyric-editor .template-card strong{font-size:12px;}
.lyrics-page #lyric-text{width:100%;min-height:150px;resize:vertical;font:inherit;line-height:1.7;border:1px solid var(--line-strong);border-radius:12px;padding:12px;background:var(--surface);color:var(--ink);}
.lyrics-page .current-lyric{white-space:pre-line;}
.lyrics-page #lyric-cue{min-width:0;width:100%;}
.lyrics-page.large-text .lyric-editor .settings{max-height:none;overflow:visible;}
.lyrics-page.large-text .lyric-editor .preview-panel{position:sticky;}
.lyrics-page.large-text .editor-toolbar{position:relative;}
.lyrics-page.large-text .lyric-editor :is(.card label,.file-choice strong,.editor-tabs button){font-size:17px;}
.lyrics-page.large-text .lyric-editor :is(.hint,.file-choice small,.editor-status p,.editor-output #export-help){font-size:14px;}
@media(max-width:1050px){.lyrics-page .lyric-editor .editor-workspace{grid-template-columns:minmax(0,1fr) 320px;}.lyrics-page .lyric-editor .settings .card{padding:16px;}}
@media(max-width:850px){
html body.lyrics-page>main.lyric-editor{padding-bottom:110px;}
.lyrics-page .editor-toolbar{position:static;padding:16px;}
.lyrics-page .editor-title h1{font-size:23px;}
.lyrics-page .editor-title p{display:none;}
.lyrics-page .editor-actions{position:fixed;bottom:0;left:0;right:0;z-index:40;padding:12px max(16px,env(safe-area-inset-left)) calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line);justify-content:space-between;box-shadow:0 -4px 20px #0001;}
.lyrics-page .editor-actions .primary,.lyrics-page .editor-actions .secondary{flex:1;max-width:260px;}
.lyrics-page .lyric-editor .editor-workspace{grid-template-columns:minmax(0,1fr);gap:16px;}
.lyrics-page .lyric-editor .preview-panel{position:sticky;top:8px;scroll-margin-top:8px;z-index:10;padding:12px;}
.lyrics-page .lyric-editor #preview-collapse{display:block;}
.lyrics-page .lyric-editor .screen{height:clamp(140px,28dvh,260px);}
.lyrics-page .lyric-editor .current-lyric{display:none;}
.lyrics-page .lyric-editor .preview-heading{margin-bottom:6px;}
.lyrics-page .lyric-editor .settings{max-height:none;min-height:0;overflow:visible;}
.lyrics-page .lyric-editor .template-heading{align-items:flex-start;flex-wrap:wrap;}
.lyrics-page .lyric-editor .template-gallery{grid-auto-columns:auto;}
.lyrics-page .lyric-editor .template-gallery.is-expanded{grid-template-columns:repeat(2,minmax(0,1fr));}
.lyrics-page .lyric-editor .gallery-actions{gap:14px;}
.lyrics-page.large-text .lyric-editor .preview-panel{position:sticky;}
.lyrics-page>.layout-footer{margin-bottom:100px;}
}
@media(prefers-reduced-motion:reduce){.lyrics-page .lyric-editor *{scroll-behavior:auto;}}

/* The preview determines the desktop row height; long settings scroll inside it. */
@media(min-width:851px){
  .lyrics-page .lyric-editor .lyric-options-column{align-self:stretch;contain:size;display:flex;flex-direction:column;min-height:0;}
  .lyrics-page .lyric-editor .editor-tabs{flex:0 0 auto;}
  .lyrics-page .lyric-editor .settings,.lyrics-page.large-text .lyric-editor .settings{flex:1 1 0;min-height:0;max-height:none;overflow:auto;}
}


/* Palette and placement controls share the site's accessible form styling. */
.design-controls{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.design-controls h3{font-size:14px;margin:0 0 12px}.palette-picks{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.palette-picks button{display:flex;flex-direction:column;align-items:center;gap:6px;min-height:64px;border:1px solid var(--line);border-radius:10px;padding:8px 2px;background:transparent;color:inherit;font-size:10px}.palette-picks i{width:28px;height:28px;border-radius:50%;background:linear-gradient(135deg,color-mix(in srgb,var(--swatch) 70%,white),var(--swatch),color-mix(in srgb,var(--swatch) 50%,black));box-shadow:inset 0 0 0 1px #ffffff40}.palette-picks button[aria-pressed=true]{outline:2px solid var(--teal);outline-offset:1px;font-weight:700}.settings input[type=color]{width:100%;height:44px;padding:5px;border:1px solid var(--line);border-radius:10px;background:transparent}.settings input[type=range]{width:100%;accent-color:var(--teal);min-height:28px}.lyrics-page #canvas.editing-position{touch-action:none;cursor:grab}.lyrics-page #canvas.editing-position:active{cursor:grabbing}
