/* Projection v0.2.1 — one readable lyric phrase at a time, no page scrolling. */
.project-dialog,.project-dialog[open]{width:100vw!important;height:100vh!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;overflow:hidden!important;margin:0!important;border:0!important;border-radius:0!important;padding:0!important;box-sizing:border-box;color:#fff9ec;background:#201e1b}
.project-dialog[open]{display:flex!important;flex-direction:column!important}
.project-dialog::backdrop{background:#1e1b17}
.project-toolbar{flex:0 0 auto;position:relative;z-index:1;min-height:77px;padding:13px clamp(14px,2vw,35px);border-bottom:1px solid rgba(255,249,235,.15);background:#302b25;display:flex;justify-content:space-between;align-items:center;gap:18px}
.project-identity{min-width:0}
.project-song-label{font:700 .58rem/1.1 system-ui,sans-serif;letter-spacing:.19em;color:#c8ad7f;display:block;margin-bottom:8px}
.project-song-label span{padding:0 6px;color:#d4bc98}
.project-title-line{display:flex;align-items:center;gap:15px;min-width:0}
.project-toolbar small{color:#e5bf85;font:700 .72rem/1.1 system-ui,sans-serif;white-space:nowrap;font-variant-numeric:tabular-nums;letter-spacing:.10em}
.project-toolbar strong{color:#fff9ec;font:normal clamp(1rem,1.65vw,1.35rem)/1.2 Georgia,serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.project-navigation{display:flex;gap:8px;flex:0 0 auto}
.project-toolbar button,.project-display-controls button{display:grid;place-items:center;width:46px;height:46px;padding:0;border:1px solid rgba(255,247,226,.25);border-radius:10px;background:transparent;color:#fff8ee;font-size:1.35rem;font-weight:450;line-height:1;cursor:pointer}
.project-toolbar button:hover:not(:disabled),.project-display-controls button:hover:not(:disabled){background:rgba(255,255,255,.12)}
.project-toolbar button:focus-visible,.project-display-controls button:focus-visible{outline:3px solid #dfbc81;outline-offset:2px}
.project-toolbar button:disabled{opacity:.27;cursor:not-allowed}
.project-stage{flex:1 1 auto!important;min-height:0!important;display:grid!important;grid-template-rows:auto minmax(0,1fr)!important;justify-items:center!important;align-items:stretch!important;overflow:hidden!important;text-align:center!important;padding:clamp(18px,4vh,45px) clamp(20px,4vw,85px)!important;background:radial-gradient(ellipse at center,#2a2723 0%,#201e1b 75%)}
.project-section{font:750 clamp(.73rem,1.15vw,1rem)/1.25 system-ui,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#e5bf85;margin:0!important;padding:0 0 clamp(8px,2vh,20px);align-self:start}
.project-lyrics{align-self:center!important;justify-self:center!important;min-width:0!important;min-height:0!important;width:100%!important;max-width:1450px!important;max-height:100%!important;overflow:hidden!important;color:#fffaf0!important;text-align:center!important;white-space:pre-line!important;font:normal 62px/1.2 Georgia,"Times New Roman",serif;letter-spacing:-.015em;text-wrap:balance;overflow-wrap:normal}
.project-footer{flex:0 0 auto;min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px clamp(14px,2vw,35px);background:#302b25;border-top:1px solid rgba(255,249,235,.12)}
.project-hint{padding:0!important;margin:0!important;text-align:left!important;color:#e4dccd;font:500 .78rem/1.4 system-ui,sans-serif;letter-spacing:0}
.project-hint-mobile{display:none}
.project-display-controls{display:flex;align-items:center;gap:7px;flex:0 0 auto}
.project-display-controls button{width:41px;height:39px;font:700 .83rem/1 system-ui,sans-serif}
.project-display-controls button:last-child{font-size:1.45rem;font-weight:400}
.project-progress{flex:0 0 4px;height:4px;background:rgba(255,250,235,.12);width:100%;overflow:hidden}
.project-progress span{display:block;width:0;height:100%;background:#d1ad77;transition:width .18s ease}
/* A light option helps some classrooms and reduces glare on certain projectors. */
.project-dialog[data-theme="light"]{background:#faf7ed;color:#231e1b}
.project-dialog[data-theme="light"] .project-toolbar,.project-dialog[data-theme="light"] .project-footer{background:#f1ecdf;border-color:rgba(57,48,36,.17)}
.project-dialog[data-theme="light"] .project-toolbar strong,.project-dialog[data-theme="light"] .project-hint{color:#2b251f}
.project-dialog[data-theme="light"] .project-song-label,.project-dialog[data-theme="light"] .project-toolbar small{color:#84633d}
.project-dialog[data-theme="light"] .project-toolbar button,.project-dialog[data-theme="light"] .project-display-controls button{color:#322a21;border-color:#aea18e}
.project-dialog[data-theme="light"] .project-toolbar button:hover:not(:disabled),.project-dialog[data-theme="light"] .project-display-controls button:hover{background:#e5dccb}
.project-dialog[data-theme="light"] .project-stage{background:radial-gradient(ellipse at center,#fffdf7 0%,#faf7ed 85%)}
.project-dialog[data-theme="light"] .project-section{color:#806442}
.project-dialog[data-theme="light"] .project-lyrics{color:#1b1917!important}
.project-dialog[data-theme="light"] .project-progress{background:#d7cbbb}
.project-dialog[data-theme="light"] .project-progress span{background:#967348}
@media(max-width:650px){
 .project-toolbar{min-height:61px;padding:9px 12px;gap:8px}
 .project-song-label{display:none}
 .project-title-line{gap:8px}
 .project-toolbar small{font-size:.6rem}
 .project-toolbar strong{font-size:.92rem}
 .project-navigation{gap:5px}
 .project-toolbar button{width:39px;height:42px;font-size:1.2rem}
 .project-stage{padding:clamp(13px,3vh,28px) 17px!important}
 .project-section{font-size:.73rem;letter-spacing:.14em}
 .project-footer{min-height:60px;padding:8px 12px;gap:9px}
 .project-hint{font-size:.67rem!important}
 .project-hint-desktop{display:none}
 .project-hint-mobile{display:inline}
 .project-display-controls{gap:4px}
 .project-display-controls button{width:36px;height:37px}
}
@media(max-height:550px){
 .project-toolbar{min-height:52px;padding-top:6px;padding-bottom:6px}
 .project-song-label{display:none}
 .project-stage{padding:10px 20px!important}
 .project-section{padding-bottom:6px}
 .project-footer{min-height:43px;padding-top:4px;padding-bottom:4px}
 .project-display-controls button{height:32px}
}
@media(prefers-reduced-motion:reduce){.project-progress span{transition:none}}
