/* Modal styles */
#edit-modal.modal-overlay {
  position: fixed;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(0,0,0,0.7);
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  
}
.modal-content {
  background: #23272b;
  color: #fff;
  border-radius: 12px;
  padding: 32px 32px 24px 32px;
  min-width: 800px;
  max-width: 95vw;
  box-shadow: 0 8px 32px #000a;
  font-family: inherit;
}
.modal-content h2 {
  margin-top: 0;
  font-size: 2em;
  color: #ffb347;
}
.form-row {
  margin-bottom: 18px;
  display: block;
}
.form-row label {
  font-size: 1em;
  margin-bottom: 4px;
  color: #ffb347;
}
.form-cell {
    display: block;
  float:left;
  width:50%;
}
.form-cell-thirds {
    display: block;
  float:left;
  width:33%;
}

.form-row input[type="text"],
.form-row input[type="number"],
.form-row textarea {
  padding: 8px;
  border-radius: 6px;
  border: 1px solid #444;
  background: #181c20;
  color: #fff;
  width: 100%;
  box-sizing: border-box;
  font-size:16px;
}

.form-row textarea {

  font-size: 30px;
  height:500px;
}
  

.form-row textarea {
  min-height: 100px;
  resize: vertical;
}
.form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}
.modal-save-btn, .modal-cancel-btn {
  background: #ffb347;
  color: #23272b;
  font-size: 1em;
  padding: 8px 24px;
  border: none;
  border-radius: 8px;
  cursor: pointer;
  box-shadow: 0 2px 8px #0003;
  transition: background 0.2s;
}
.modal-save-btn:hover, .modal-cancel-btn:hover {
  background: #ffd580;
}
/* --- Cleaned up for sliding layout and grid menu --- */
#container {
  width: 100%;
  height: 100vh;
  position: absolute;
  left: 0;
  top: 0;
  display: flex;
  flex-direction: row;
  transition: left 0.3s cubic-bezier(.77,0,.18,1);
  
}
#menu {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  background: #101010;
  border-right: 1px solid #333;
  overflow-y: auto;
  
}
#content {
  width: 100%;
  height: 100vh;
  position: fixed;
  left: 0;
  top: 0;
  background: #000;
  overflow: hidden; /* lyrics page will scroll instead */
}

#menuul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0;
  list-style: none;
  padding: 0 0 24px 0;
  margin: 0;
  max-height: calc(100vh - 160px);
  overflow-y: auto;
}
#menuul li {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  min-height: 120px;
  height: 100%;
  box-sizing: border-box;
  border: 1px solid #ffffff36;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 2em;
  background: #181c20;
  transition: background 0.2s;
  margin: 0;
  padding: 0;
}
#menu li.active {
  background: #342c1c;
}
#menu li span {
  font-size: 24px;
}
#menu li span sub {
  font-size: 20px;
  display: block;
  padding: 10px 0;
  margin: 0px !important;
}
@media (min-width: 600px) {
  #menuul {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (min-width: 900px) {

  #menuul {
    grid-template-columns: repeat(4, 1fr);
  }
}
/* --- Keep only essential layout, header, lyrics, and section styles below --- */
.main-body {
  background: #181c20;
  color: #f5f5f5;
  font-family: "Segoe UI", Arial, sans-serif;
  margin: 0;
}
.reset-btn {
  background: #ffb347;
  color: #23272b;
  font-size: 18px;
  padding: 10px 24px;
  border: none;
  border-radius: 8px;
  margin: 24px auto 24px 24px;
  display: block;
  cursor: pointer;
  box-shadow: 0 2px 8px #0003;
}
#song-details {
  position: absolute;
  left: 0;
  top: 56px;
  width: 100%;
  z-index: 9999;
  background: #040404;
  color: #ffb347;
  padding:5px 0px;
  font-size: 40px;
  letter-spacing: 1px;
  font-weight: bold;
  text-transform: uppercase;
  text-align: center;
}
#song-details span{border-radius:5px;padding:1px 10px;line-height: 42px; display:inline-block;}
#menutogglebtn, .edit-btn, .save-btn {
  font-size: 30px;
  padding: 10px 20px;
  position: absolute;
  background: #ffb347;
  border:0px;
  outline:0;
}
#menutogglebtn { left: 0; top: 0; }
.edit-btn, .save-btn { right: 0; top: 0; }
.save-btn { display: none; }
.lyrics-content {
  margin-top: 18px;
  font-size: 36px;
  line-height: 1.7;
  display: block;
}
.lyrics-textarea {
  width: 100%;
  min-height: 600px;
  font-size:20px;
  font-family: Arial, Helvetica, sans-serif;
  background:#181c20;
  line-height:24px !important;
  color:#3585a2;
}
.fixed-header-bar {
  position: absolute;
  top: 0;
  left: 0;
  width: 100vw;
  z-index: 2000;
  background: #101010;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 32px;
  min-height: 56px;
}
.fixed-header-bar .play-btn {
  font-size: 22px;
  padding: 8px 22px;
}
.fixed-header-bar #fixed-song-title {
  position: absolute;
  left: 80px;
  top: 2px;
  font-size: 2em;
  color: #ffb347;
  letter-spacing: 1px;
  font-weight: bold;
  padding:0px;
  margin:0px;
  line-height: 1em;
}
.fixed-header-bar #fixed-song-artist {
  position: absolute;
  left: 80px;
  top: 32px;
  font-size: 1em;
  color: #fff;
  opacity: 0.7;
  padding:0px;
  margin:0px;
}
.page {
  position: absolute;
  top:0px;
  left:0px;
  right:0;
  bottom:0;
  font-size: 1.4em;
  padding: 300px 0px 200px 0px;
  box-sizing: border-box;
  overflow-y: auto; /* make the page itself scrollable */
  -webkit-overflow-scrolling: touch; /* smooth scrolling on iOS */
}
.page span {
  display: block;
  padding: 0px 10px 40px 50px;
}

#lyrics-current span{border-bottom:2px solid #000000;}
.section-in { background: #160123 url("../images/intro.png") no-repeat;}
.section-v { background: #960000 url("../images/verse.png") no-repeat; }
.section-c { background: #06678a url("../images/chorus.png") no-repeat; }
.section-pc { background: #5f0096 url("../images/pre-chorus.png") no-repeat; }
.section-b { background: #058a10 url("../images/bridge.png") no-repeat; }
.section-o { background: #700d68 url("../images/outro.png") no-repeat; }
.section-r { background: #390000 url("../images/refrain.png") no-repeat; }
.section-s { background: #960000 url("../images/solo.png") no-repeat; }
.section-i { background: #c2bf07 url("../images/instrumental.png") no-repeat; }
.section-al { background: #960000 url("../images/ad-lib.png") no-repeat; }
.section-e { background: #960000 url("../images/elesion.png") no-repeat; }
/* Autoscroll controls styling */
#controls {
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100vw;
  height: 90vh;
  z-index: 3000;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-end;
  pointer-events: none;
  display: none;
}
#controls .control-btn {
  height: 33.33%;
  width: 100vw;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 2em;
  font-weight: bold;
  cursor: pointer;
  pointer-events: auto;
  user-select: none;
  transition: background 0.2s;
}
#faster-btn { background: rgba(0, 200, 255, 0.02); }
#pause-btn { background: rgba(255, 200, 0, 0.02); }
#slower-btn { background: rgba(255, 0, 100, 0.02); }


@media (max-width: 600px) {
  .fixed-header-bar #fixed-song-title,
  .fixed-header-bar #fixed-song-artist {
    font-size: 14px;
  }
  .lyrics-content {
    font-size: 20px;
    line-height: 1.5;
  }
#lyrics-current span{background-position: -10px 0px;}

#chords,
#bpm,
#capo,
#fx{font-size: 24px;}


}