body{
  font-family:"メイリオ",sans-serif;
  background:linear-gradient(180deg,#fffaf0 0%,#ffe6cc 100%);
  margin:0; padding:20px; color:#333; text-align:center;
}
h1{margin:0 0 12px; font-size:22px; color:#444;}
h2{margin:24px 0 12px; font-size:18px; color:#555;}

.se-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:14px;
  max-width:520px; margin:0 auto 8px;
}
.se{
  background:#fff; border-radius:16px; padding:12px;
  box-shadow:1px 2px 6px rgba(0,0,0,.12);
}
.se-play{
  width:100%; aspect-ratio:1/1; border:none; border-radius:14px;
  background:#ffcc66; font-size:18px; cursor:pointer;
  box-shadow:2px 4px 6px rgba(0,0,0,.2); transition:.2s;
}
.se-play:hover{ background:#ffaa33; transform:scale(1.03); }
.se-ops{ display:flex; justify-content:center; gap:10px; margin-top:8px; }
.set-btn, .clear{
  background:#eee; border:none; border-radius:10px; padding:6px 10px; cursor:pointer;
}
.set-btn:hover, .clear:hover{ background:#ddd; }
.se-name{ font-size:12px; color:#666; margin-top:6px; }

.hint{ font-size:12px; color:#666; }

.controls{
  display:flex; justify-content:center; flex-wrap:wrap; gap:10px; margin:10px 0;
}
button#play,button#stop,button#loop,button#clear{
  padding:10px 16px; border:none; border-radius:10px; background:#ffcc66; cursor:pointer;
  box-shadow:2px 3px 5px rgba(0,0,0,.2); transition:.2s; font-size:15px;
}
button#play:hover,button#stop:hover,button#loop:hover,button#clear:hover{
  background:#ffaa33; transform:scale(1.03);
}

ul#playlist{ list-style:none; padding:0; margin:10px auto 0; max-width:520px; }
#playlist li{
  background:#fff; margin:6px 0; padding:10px; border-radius:10px;
  box-shadow:1px 2px 4px rgba(0,0,0,.1); display:flex; justify-content:space-between; align-items:center;
}
#playlist li span{ text-align:left; flex:1; padding-right:10px; }
#playlist li button{ padding:6px 10px; border:none; border-radius:8px; background:#eee; cursor:pointer; }
#playlist li button:hover{ background:#ddd; }

@media (max-width:480px){
  .se-grid{ gap:10px; }
  .se-play{ font-size:16px; }
}
