/* Shared palette, matching the library across all application screens. */
:root{
  color-scheme:dark;
  --bg:#07100d;
  --panel:#091b14;
  --panel-2:#0c2419;
  --line:#214633;
  --line-strong:#24563d;
  --green:#32e875;
  --green2:#20c963;
  --accent:var(--green);
  --text:#f4fff8;
  --muted:#91a69b;
  --danger:#ff6b6b;
}
body{background:radial-gradient(circle at 80% 0,#123526 0,transparent 35%),var(--bg);color:var(--text)}
.primary,.button:not(.secondary),.navbtn.active,.library-filters button.active{
  background:var(--green)!important;color:#041008!important;border-color:var(--green)!important;
}
.secondary{background:transparent!important;color:#dff9e9!important;border-color:var(--line-strong)!important}
input,select,textarea{accent-color:var(--green)}
button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible,a:focus-visible{
  outline:2px solid var(--green)!important;outline-offset:3px;
}
.modal-card,.site-dialog-card,.auth-card,.publish-card,.lyrics-picker-card,.lyrics-help-card,.assist-card,.v17-card{
  background:var(--panel)!important;color:var(--text);border-color:var(--line-strong)!important;
}
#player{background:radial-gradient(ellipse at center,#123526 0%,var(--bg) 75%)!important;color:var(--text)}
#player .player-top small{color:var(--green)!important}
#player .transport-play,#player .transport-play.is-playing{
  background:var(--green)!important;color:#041008!important;border-color:var(--green)!important;
}
#player #seek{accent-color:var(--green)}
#player #close,#player .transport-restart,#player .player-settings-trigger,#player #addToPackage{
  background:transparent!important;color:#dff9e9!important;border-color:var(--line-strong)!important;
}
#player #playerSettings{background:var(--panel)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
#player #micScore{background:var(--panel-2)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
#player #micScore.score-on{background:#10452c!important;border-color:var(--green)!important;color:#69f4a0!important}
#player #liveScore:not(.hidden){background:var(--panel-2)!important;color:#69f4a0!important}
#player .microphone-settings{border-color:var(--line)!important}
#player .microphone-settings h3,#player #closePlayerSettings{color:var(--text)!important}
.singing-note,.result-score-note,#player #syncHelp{color:var(--muted)!important}
/* Audio preparation uses the same palette as the main application. */
.shell .panel,.shell .job{background:var(--panel)!important;border-color:var(--line-strong)!important}
.shell input,.shell select{background:var(--bg)!important;color:var(--text)!important;border-color:var(--line-strong)!important}
.shell .status{color:var(--green)!important;border-color:var(--line-strong)!important}
