:root{--bg:#0d0820;--bg2:#160f30;--card:#1b1440;--line:#2c2358;--gold:#ffd36b;--txt:#eae7f5;--mut:#9a93b8;--accent:#7c5cff}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:'Kanit',system-ui,sans-serif;background:radial-gradient(1000px 500px at 50% -10%,#2a1a4a 0%,var(--bg) 60%);color:var(--txt);min-height:100vh}
a{color:var(--gold);text-decoration:none}
.wrap{max-width:1000px;margin:0 auto;padding:24px}
.brand{font-weight:800;font-size:26px;background:linear-gradient(180deg,#fff,#ffd36b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.topbar{display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line);padding:16px 24px}
.btn{display:inline-block;background:var(--accent);color:#fff;border:none;border-radius:10px;padding:10px 18px;font-family:inherit;font-size:15px;cursor:pointer;font-weight:600}
.btn:hover{filter:brightness(1.1)}
.btn.gold{background:var(--gold);color:#2a1a00}
.btn.ghost{background:transparent;border:1px solid var(--line);color:var(--txt)}
.btn.sm{padding:6px 12px;font-size:13px;border-radius:8px}
.btn.danger{background:#c0392b}
.tabs{display:flex;gap:8px;margin:22px 0}
.tab{padding:10px 18px;border-radius:10px;background:var(--card);border:1px solid var(--line);font-weight:600}
.tab.active{background:var(--gold);color:#2a1a00;border-color:var(--gold)}
.card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:16px}
label{display:block;font-size:13px;color:var(--mut);margin:14px 0 6px}
input,textarea,select{width:100%;background:var(--bg2);border:1px solid var(--line);color:var(--txt);border-radius:10px;padding:11px 13px;font-family:inherit;font-size:15px}
textarea{resize:vertical;line-height:1.6}
.row{display:flex;gap:16px;flex-wrap:wrap}
.row>*{flex:1;min-width:220px}
.song-item{display:flex;gap:14px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;background:var(--bg2)}
.song-item img{width:120px;height:68px;object-fit:cover;border-radius:8px;background:#000}
.song-item .meta{flex:1}
.badge{font-size:11px;padding:3px 9px;border-radius:999px;font-weight:600}
.badge.draft{background:#3a3358;color:#c9c3e0}
.badge.published{background:#1f7a4d;color:#d6ffe8}
.covers{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:8px}
.cover-opt{border:2px solid var(--line);border-radius:12px;overflow:hidden;cursor:pointer;position:relative;background:#000}
.cover-opt img{width:100%;display:block}
.cover-opt.chosen{border-color:var(--gold)}
.cover-opt .pick{position:absolute;bottom:8px;left:8px;right:8px}
.muted{color:var(--mut);font-size:13px}
.msg{background:#1f7a4d;color:#d6ffe8;padding:10px 14px;border-radius:10px;margin-bottom:14px}
.login-box{max-width:380px;margin:9vh auto;text-align:center}
.err{background:#7a1f2b;color:#ffd6dc;padding:10px;border-radius:10px;margin-bottom:12px;font-size:14px}
audio,iframe{width:100%;border:none;border-radius:10px}
.section-title{font-size:15px;font-weight:700;margin:18px 0 4px;color:var(--gold)}
hr{border:none;border-top:1px solid var(--line);margin:20px 0}
