:root{--ink:#193435;--muted:#64766d;--paper:#f5f4ee;--green:#102f30;--gold:#edc77f;--line:#d3dcd0}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.6 Manrope,system-ui,sans-serif}a{color:inherit}header{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:23px 5%;border-bottom:1px solid var(--line);font-size:12px;font-weight:700}header span{font-size:10px;letter-spacing:1.2px}header a{text-decoration:none}main{max-width:1400px;padding:38px 4% 30px;margin:auto}.intro{margin-bottom:28px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:800;color:#a85d3d;margin:0 0 12px}h1{font-size:clamp(34px,4.5vw,58px);letter-spacing:-2px;margin:0;line-height:1.2}.subtitle{font:700 clamp(20px,2.5vw,29px) Manjari,sans-serif;margin:12px 0}.muted{color:var(--muted)}.workspace{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,1fr);gap:24px}.player{background:radial-gradient(ellipse at 30% 15%,#245251,transparent 70%),var(--green);color:#f8f6ed;padding:28px;border-radius:22px;min-width:0;box-shadow:0 16px 45px #102f3014}.player-top{display:flex;align-items:center;gap:10px;letter-spacing:1.5px;font-size:9px;font-weight:700;color:#a9c7ba}.live-dot{width:7px;height:7px;border-radius:50%;background:var(--gold)}.duration{margin-left:auto}.lyric-stage{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:35px 12px}.previous,.next{font:400 clamp(19px,2.2vw,25px)/1.5 Manjari,sans-serif;color:#a0bbb0;min-height:38px;margin:16px 0}.current{font:700 clamp(27px,3vw,40px)/1.55 Manjari,sans-serif;color:var(--gold);min-height:100px;display:grid;place-items:center;letter-spacing:.1px}.current.manglish,.manglish-line{font-family:Manrope,system-ui,sans-serif}.current.manglish{font-size:clamp(22px,2.5vw,32px)}.cue{font-size:11px;color:#91b6a9;min-height:20px}audio{width:100%;height:40px}button,select,input{font:600 12px Manrope,system-ui,sans-serif}button{cursor:pointer;border:1px solid #527473;background:transparent;color:#f5f4ee;border-radius:9px;padding:10px 15px}button:hover{background:#ffffff12}.transport{display:flex;gap:10px;justify-content:center;margin:16px 0 28px}.primary{background:var(--gold);color:#183333;border-color:var(--gold);min-width:100px}.primary:hover{background:#f4d89c}.settings{display:grid;grid-template-columns:1fr 1fr;gap:20px;border-top:1px solid #44615c;padding-top:22px}.setting-label{display:block;font-size:9px;letter-spacing:1px;color:#adc6bb;margin-bottom:9px}.segments{display:flex;gap:6px}.segments button.active{background:#eaf0e5;color:#193435}.settings select{width:100%}select,input{border:1px solid #6c8a7f;border-radius:8px;padding:10px;background:#214541;color:#f3f5ef}input{width:65px}.fine-controls{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:20px}.fine-controls label{font-size:11px;display:flex;align-items:center;gap:9px}.timing-note{font-size:10px;color:#a0bbb0}.lyrics-panel{border:1px solid var(--line);border-radius:22px;overflow:hidden;background:#fbfbf7}.lyrics-heading{padding:21px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:12px}.lyrics-heading h2{font-size:16px;margin:0}.lyrics-heading span{font-size:9px;color:var(--muted)}.lyrics-list{height:650px;overflow:auto;padding:14px}.lyric-row{border:0;background:transparent;border-radius:10px;color:#486256;padding:15px 14px;text-align:left;width:100%;display:flex;gap:14px;align-items:flex-start}.lyric-row:hover{background:#eaf0e6}.lyric-row.active{background:#dfe9d8;color:#133c30}.lyric-row time{font-size:9px;white-space:nowrap;margin-top:5px;color:#748676}.lyric-row span{font:700 20px/1.5 Manjari,sans-serif}.lyric-row .manglish-line{font:600 13px/1.7 Manrope,sans-serif}.downloads{display:flex;justify-content:space-between;align-items:center;gap:25px;margin-top:35px;padding:30px 0;border-bottom:1px solid var(--line)}.downloads h2{font-size:29px;letter-spacing:-1px;margin:5px 0}.downloads p{color:var(--muted)}.download-links{display:grid;grid-template-columns:1fr 1fr;gap:12px}.download-links a{font-size:11px;font-weight:700;text-decoration:none;border:1px solid var(--line);padding:13px 17px;border-radius:7px}.footnote{font-size:10px;color:var(--muted);max-width:850px;margin-top:24px}#status{font-size:12px;color:#f5b2a0;min-height:0;margin:6px 0}button:focus-visible,a:focus-visible,select:focus-visible,input:focus-visible{outline:3px solid #ec9b54;outline-offset:3px}@media(max-width:850px){header span{display:none}.workspace{grid-template-columns:1fr}.lyrics-list{height:330px}.player{padding:22px}.lyric-stage{min-height:270px;padding:25px 0}.downloads{align-items:flex-start;flex-direction:column}.download-links{width:100%}}@media(max-width:450px){main{padding:25px 15px}.player{padding:18px}.settings{grid-template-columns:1fr}.transport{gap:6px}.transport button{padding:10px}.current{min-height:100px}.fine-controls{gap:15px}.lyrics-heading{padding:17px}}
/* Touch controls and safe-area spacing for phones and tablets. */
html{-webkit-text-size-adjust:100%}
button,a,input,select{touch-action:manipulation}
button,select,input{min-height:44px}
header{padding-left:max(5%,env(safe-area-inset-left,0px));padding-right:max(5%,env(safe-area-inset-right,0px));padding-top:max(14px,env(safe-area-inset-top,0px))}
header a{display:inline-flex;align-items:center;min-height:44px}
main{padding-bottom:max(30px,env(safe-area-inset-bottom,0px))}
.current,.previous,.next,.lyric-row span{max-width:100%;overflow-wrap:anywhere}
.lyrics-list{position:relative;overscroll-behavior-y:contain;scrollbar-gutter:stable}
.settings>*{min-width:0}
@media(max-width:600px){
  main{padding:22px max(12px,env(safe-area-inset-left,0px)) max(24px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-right,0px))}
  header{padding-block:8px;gap:12px;font-size:12px}
  .intro{margin-bottom:22px}
  .muted{font-size:13px}
  .workspace{gap:18px}
  .player{padding:18px 14px;border-radius:18px}
  .player-top{font-size:10px;letter-spacing:.6px;gap:7px}
  #track-label{flex:1;min-width:0}
  .duration{white-space:nowrap}
  .lyric-stage{min-height:260px;padding:20px 0}
  .current{font-size:30px;min-height:90px;line-height:1.5}
  .current.manglish{font-size:25px}
  .previous,.next{font-size:20px;margin:10px 0}
  .cue{font-size:12px}
  audio{min-width:0;height:44px}
  button{font-size:15px;min-height:48px;padding:10px 12px}
  .transport{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) minmax(0,1fr);gap:8px;margin:14px 0 22px}
  .transport .primary{min-width:0}
  #restart{grid-column:1/-1}
  .settings{grid-template-columns:minmax(0,1fr);gap:18px;padding-top:18px}
  .setting-label{font-size:11px}
  .segments button{flex:1}
  select,input{font-size:16px;min-height:48px;max-width:100%}
  .fine-controls{display:grid;grid-template-columns:minmax(0,1fr);gap:12px}
  .fine-controls label{font-size:13px;flex-wrap:wrap}
  .fine-controls select,.fine-controls input{margin-left:auto}
  .timing-note{font-size:12px;line-height:1.6}
  .lyrics-heading{padding:16px;flex-wrap:wrap;gap:4px}
  .lyrics-heading span{font-size:12px}
  .lyrics-list{height:340px;padding:8px}
  .lyric-row{padding:14px 10px;gap:10px}
  .lyric-row time{font-size:12px}
  .lyric-row .manglish-line{font-size:15px}
  .download-links{gap:8px}
  .download-links a{min-height:48px;display:flex;align-items:center;font-size:13px;padding:12px}
  .downloads{margin-top:12px;padding-block:22px;gap:12px}
  .footnote{font-size:12px;line-height:1.7}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
.audio-toolbar{position:sticky;top:0;z-index:10;background:var(--paper);flex-wrap:wrap;gap:10px 24px}
.audio-track-control{min-width:0;max-width:100%;margin-right:auto}
.audio-track-control .setting-label{display:block;color:var(--muted);font-size:11px;letter-spacing:1px;margin-bottom:6px}
.audio-track-control select{width:100%;font-size:16px;min-height:48px}
.settings{grid-template-columns:minmax(0,1fr)}
@media(max-width:600px){.audio-toolbar{padding:10px max(12px,env(safe-area-inset-right,0px)) 10px max(12px,env(safe-area-inset-left,0px));gap:4px 16px}.audio-track-control{width:100%}.audio-toolbar>a:last-child{margin-left:auto}}
