    :root {
      --bg: #f7f7f7;
      --primary: #0366d6;
      --text: #222;
    }
    * {
      box-sizing: border-box;
      padding: 0;
      margin: 0;
      text-decoration: none;
    }
    html{background: rgb(255, 255, 255);}
    body {
      font-family: Verdana, Arial, sans-serif;
      background: black;
      color: white;
      display: flex;
      flex-direction: column;
      width: 100%;
      max-width:840px;
      margin: 0 auto;
    }
    .success{
      width: 4rem; height: 4rem;
      position: absolute;
      display: flex;
      justify-content:center;
      align-items: center;
      font-size: 2.8rem;
      z-index: 22;
    }
    h2, h3, p{padding:0.8rem;}
    h4, h5{padding: 0.4rem;}
    .lang-div{
      display: flex;
      justify-content: center;
      padding-top: 4px;
      gap: 1.6rem;
    }


    .lang-div img{
      height: 24px;
      border: 2px solid transparent;
      border-radius: 12px;
      width: auto;      
    }
    .lang-div img.selected{
      border: 2px solid rgb(255, 255, 255);
    }
    /* Header & Nav */
    header {
      position: relative;
      background: black;
      color: white;
      padding: 0 1rem;
      display: flex;
      align-items: center;
      justify-content: space-between;
    }

    .logo-div a{
      display: flex;
      flex-direction: column;
      align-items: center;
      color: white;
    }

nav {
  position: absolute;
  z-index: 10;
  top: 80px;
  left: 0;
  right: 0;
  background:black;
  flex-direction: column;
  display: none;
}
nav a {
  color: white;
  text-decoration: none;
  font-weight: 500;
  border-bottom: 1px solid gray;
  padding: 0.5rem 0 0.5rem 0.8rem ;
}
nav a:hover {
  text-decoration: underline;
}
nav.open {
  display: flex;
}


    

    /* Hamburger */
    .hamburger {
      display: flex;
      flex-direction: column;
      justify-content: center;
      cursor: pointer;
      padding-right: 1.4rem;
    }

    .hamburger span {
      height: 3px;
      width: 25px;
      background: white;
      margin: 4px 0;
      border-radius: 2px;
      transition: all 0.3s ease;
    }

    /* Main Content */
    main {
      flex: 1;
      padding: 0.5rem;
      display: flex;
      flex-direction: column;

    }
    .view{
      display: flex;
      position: relative;
      flex-direction: column;
      margin: 0.3rem;
      background-color: #000000;
      min-height: 80vh;
      align-items: center;
    }
    .view .link, .view .slider, .view .song,.view .youtube, .view .karaoke{
      display:flex;
      position: relative;
      flex-direction: column;
      justify-content: center;
      align-items: center;

    }
    .view li{position: relative;}
    main .pre-footer{
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 2.8rem;
      width: 100%;
      border-top: 1px solid rgb(59, 59, 59);
      margin-top: 2.0rem;
      padding: 1.0rem;
    }
 

    main .smd{
      background-image: url('social.png');
      background-position: center;
      background-size: contain;
      display: flex;
      flex-direction: row;
      justify-content: center;
      width: 280px;
      height: 76px;
      margin: 2.0rem auto;
    }
    main .smd a{
      width:25%;
      height: 100%;
      cursor: pointer;
    }
    main .smd a:hover{
      border: 1px solid white;
    }
    main .view-title{text-align: center;}

    .list-title{
      padding: 1.0rem 0 0.6rem 0;
      display: flex;
      color: orange;
      justify-content: center;
      align-items: center;
      font-size: 1.6rem;
      width: 100%;
    }
    .view .instruct{
      margin-top: 0.2rem;
      text-align: left;
      padding: 0.6rem;
      border: 1px solid white;
      background-color: rgb(251, 255, 0);
      border:2px solid red;
      border-radius:4px;
      color: rgb(0, 0, 0);
      font-size: 1.0rem;
      width: 100%;
      }
    
    .view .youtube{
      margin-top: 1.6rem;
      margin-bottom: 1.6rem;
      width: 100%;
      min-width: 300px;
      display: flex;
      justify-content: center;
      align-items: center;
      flex-direction: column;

    }
    .view .youtube iframe{
      width: 100% !important;
      aspect-ratio: 1.8;
      min-width: 300px;
    }
    .view .youtube .video-item{margin-bottom: 1.2rem;}
    .view .prev-next{display:flex;flex-direction:row; justify-content:space-between; background: black; width:100%;}
    .view .prev-next a{font-size: 1.8rem; padding: 0.5rem 2rem;}
       .edit-bar{
      position: absolute;
      top:0;
      z-index: 2;
      display: flex;
      flex-direction: row;
      justify-content: center;
      gap: 1.0rem;
      flex-wrap: wrap;
     padding: 0.4rem;
      font-size: smaller;
      border: 3px solid grey;
      border-radius: 4px;
      color: rgb(218, 218, 218);
      background: rgba(0, 0, 0, 0.678);
      
    }
    
    

    .edit-bar.view-bar{border-color: #007bff;}
    .edit-bar.list-bar{border-color: #ff9d0a;}
    .edit-bar.item-bar{border-color: #ff009d;}


    .edit-bar span{
      cursor: pointer;
      border: 1px solid rgb(77, 77, 77);
      border-radius: 4px;
      padding: 3px;
      font-size: 1.2rem;
      color: rgb(26, 26, 26);
      background-color: rgb(255, 255, 255);
      
    }
    .edit-bar span:hover{
      background-color: rgb(255, 251, 196);
      
    }

.font-plus{font-size: 1.6rem;}
.btn-row{
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
  align-items:center;
}
.player {
width: 300px;
margin: 1em 0 1em 0;
background-color: #999999;
}

ul.playlist {
list-style: none;
padding: 0;
margin-top: 1em;
}

.playlist li {
padding: 0.2em;
border-radius: 4px;
color: white;
cursor: pointer;
margin-bottom: 0.25em;
transition: background 0.3s;
font-size: 1.4rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
}
.playlist .song-type{
  padding: 0.2rem 1rem;
  border: 1px solid rgb(187, 187, 187);
  border-radius: 4px;

}
.playlist .songlist, .playlist li{margin-top: 0.6rem;}

.playlist li:hover {
background: #1d1d1d;
}

.playlist li.active {
border: 1px solid #6297ff;
}


.playlist .click-span{
font-size: 1.0rem;
display: flex;
flex-direction: row;
justify-content: space-between;
align-items: center;
flex-wrap: nowrap;
}
.playlist .click-span span{padding: 0.4rem;}

audio {
width: 100%;
}
.slider {
position: relative;
width: 100%;
overflow: hidden;

}

.slides {
display: flex;
width: 100%;
transition: transform 1s ease-in-out;
}
.slides .card{
position: relative;
width: 100%;
max-height: 45vh;
/*object-fit: cover;*/


flex-shrink: 0;
}
.slides .card .text{
position: absolute;
width: 100%;
font-size: 1.5rem;
bottom: 0;
left:0;
padding: 0.3rem;
text-align: center;
background-color: rgb(54, 113, 223);
color: white;
}
.slides .card img, .slides .card a{
width: 100%;
max-height: 45vh;
object-fit: cover;
flex-shrink: 0;
}
.icon-plus, .icon-minus{font-size: 2rem; color: rgb(73, 73, 73);}
.icon-plus:hover, .icon-minus:hover{color: rgb(255, 255, 255);}
.link{
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
.linklist{
  list-style: none;
  width: 100%;


}
.linklist li{
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.5rem 0 0.5rem 0;
  border-bottom: 1px solid rgb(43, 43, 43);


}
.linklist li a{
  color: white;
  min-width: 50%;
  font-size: 1.4rem;
  text-decoration: none;
  
}

.linklist .link-type a{
  min-width: 50%;
  color: white;
  font-size: 1.4rem;
  text-decoration: none;
  padding: 0.2rem 0.6rem;
  border: 1px solid gray;
  border-radius: 4px;
}
.linklist .link-type a:hover{border-color: rgb(98, 147, 255);}

.linklist .red-button{background-image: url('red-button.jpg');}
.linklist .gray-button{background-image: url('gray-button.jpg');}

.linklist .red-button, .linklist .gray-button{
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  position: relative;
  min-width: 260px;
  aspect-ratio: 440/86;   /* ← key trick */
  display: grid;
  place-items: center;
  margin-top: 0.8rem;
}

 .linklist .red-button a, .linklist .gray-button a{
    font-size: 2.0rem;
    padding: 1.0rem 2.0rem 1.0rem 2.0rem;

  }
  .linklist li pre{
    text-align: left;
    padding: 5%;
    margin-top: 0.5rem;
    font-size: 1.0rem;
    background:#1d1d1d;
    border: 1px solid rgb(172, 172, 172);
    border-radius: 6px;
  }



.karaoke .icon-plus{color: rgb(131, 131, 131);}
.karaoke .icon-plus:hover{color: rgb(255, 253, 253);}
.karaoke .icon-plus.hilite{color: rgb(248, 255, 48);}
.karaoke ul{list-style: none;}
.songrow{color: gray;}
.songrow.hilite{color: rgb(253, 243, 95);}
.list-text.framed{padding:0.8rem; border:1px solid white;}

/* Modal Form */
.modal {
  display: none;
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100vh;
  background: rgba(0,0,0,0.5);
  align-items: center;
  justify-content: center;
  z-index: 20;
}

.modal-content {
  background: white;
  color: black;
  padding: 2rem;
  border-radius: 8px;
  width: 90%;
  max-width: 600px;
  max-height:95vh;
  overflow-y: auto;
}

.modal-content button {
  padding: 0.5rem 1rem;
  border: none;
  color: white;
  border-radius: 4px;
  cursor: pointer;
  min-width: 100px;
  margin: 0.5rem;
  background: #28a745;

}

.modal-content input[type='text'], .modal-content textarea {
  width: 100%;
  margin-bottom: 1rem;
  padding: 0.5rem;
}
.modal-content .edit-button {background: #007bff;}
.modal-content .exit-button {background: #dc3545;}
.modal-content strong{padding: 0.5rem;}
.modal-content .flex-row{display: flex; flex-direction: row; justify-content: center; gap: 1.2rem;}
.modal-content .comment-list{
  background: black;
  padding: 1.0rem;
  border-radius: 8px;
}
.modal-content .meta{
  display: inline-block;
  width: 30%;
  overflow: hidden;
  cursor: pointer;
  font-size: 0.8rem;
  background: rgb(133, 155, 255);
  padding: 4px;
  margin: 6px;
  border: 1px solid grey;
  border-radius: 4px;
}
.modal-content .meta.clicked{
  border: 2px solid rgb(255, 0, 0);
}
.modal-content select{
  padding:0.4rem;
}
.modal-content label{
  display: inline-block;
}

.modal-content .comment-row{
  margin-top: 0.6rem;
  background: rgb(212, 212, 212);
  padding: 0.6rem;
  border-radius: 8px;
}
.close {
  float: right;
  font-size: 2.0rem;
  cursor: pointer;
  color: red;
}
.edit-pen {
  float: left;
  font-size: 2.0rem;
  cursor: pointer;
  color: rgb(0, 0, 0);
}



footer {
  margin-top:1.2rem;
  background: #000000;
  color: white;
  text-align: center;
  padding: 0.75rem;
  font-size: 0.9rem;
  display: flex;
  flex-direction: row;
  justify-content: space-evenly;
}

  .modal #thumbs{ display: block; width: 100%; max-height: 50vh;overflow: auto;}
  .modal .thumb{ display: inline-block;width: 100px; height: 100px; overflow: hidden;}
  .modal .thumb img{height: 100px;}




  @media (max-width: 480px) {

    .slides .card .text{
    position: absolute;
    width: 100%;
    font-size: 0.75rem;
    bottom: 0;
    padding: 0.3rem;
    }
    .view .instruct{
      padding: 0.3rem;
      font-size: 0.9rem;
      width: 100%;
      

    }

    main .view{margin: 1.0rem;}
    .list-title{font-size: 1.6rem;}
    .main-title {
      font-size: 1.4rem;
    }
.linklist .red-button a, .linklist .gray-button a{
    font-size: 1.4rem;
    padding: 1.0rem 2.0rem 1.0rem 2.0rem;

  }
}
