/* Comment
:root{
     /* ronde card
      --border:rgba(255,255,255,.12); --shadow:0 18px 60px rgba(0,0,0,.45);
 
      --radius:18px; --max: 980px;
 
}



body{
      margin:0;
      background: radial-gradient(1200px 800px at 30% 10%, transparent 60%),
                  radial-gradient(900px 650px at 85% 40%, transparent 60%),
                  var(--bg);
      color:var(--text);
      min-height:100vh;
      display:flex;
      align-items:center;
      justify-content:center;
      padding:32px 16px;
}
     ------------------------------*/

body.picker-page{
  margin:0;
  min-height:100vh;
  /* DO NOT make the whole body flex in this theme */
}

body.picker-page .wrap{
  min-height: calc(100vh - 120px); /* leaves space for header */
  display:flex;
  align-items:center;
  justify-content:center;
}
body.picker-page .panel{
  width: min(980px, 100%);
}
/* Comment
.wrap{ 
	width:min(var(--max),100%); 
	display:grid; gap:18px; 
}

header{ 
	display:flex; 
	justify-content:space-between; 
	gap:12px; 
	align-items:flex-end; 
}
       ------------------------------*/  
.hint{ 
	color:var(--muted); 
	font-size:13px; 
	line-height:1.35; 
}

    .panel{
      border:1px solid var(--border);
      border-radius:var(--radius);
      box-shadow:var(--shadow);
      overflow:hidden;
    }
    .top{
      display:grid;
      grid-template-columns: 320px 1fr;
      gap:18px;
      padding:18px;
    }
    @media (max-width: 860px){ .top{grid-template-columns:1fr} }

    .coverCard{
      background: rgba(255,255,255,.04);
      border:1px solid var(--border);
      border-radius:16px;
      padding:14px;
      display:grid;
      gap:12px;
      align-content:start;
    }
    .coverFrame{
      width:100%;
      aspect-ratio:1/1;
      border-radius:14px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.14);
      background: linear-gradient(135deg, rgba(255,255,255,.06), rgba(255,255,255,.02));
      position:relative;
      display:flex;
      align-items:center;
      justify-content:center;
    }
    .coverFrame img{ width:100%; height:100%; object-fit:cover; transform: scale(1.001); }

    .spinnerBadge{
      position:absolute; left:12px; top:12px;
      background: rgba(0,0,0,.42);
      border:1px solid rgba(255,255,255,.18);
      backdrop-filter: blur(6px);
      padding:6px 10px;
      border-radius:999px;
      font-size:12px;
      color:var(--text);
      display:none;
      align-items:center;
      gap:8px;
    }
    .dot{
      width:7px;height:7px;border-radius:50%;
      background:var(--accent);
      box-shadow:0 0 18px rgba(106,167,255,.9);
      animation:pulse .7s infinite ease-in-out;
    }
    @keyframes pulse{
      0%,100%{transform:scale(.85);opacity:.7}
      50%{transform:scale(1.15);opacity:1}
    }

    .btnRow{ display:flex; gap:10px; flex-wrap:wrap; }
    button{
      appearance:none;
      border:none;
      cursor:pointer;
      border-radius:14px;
      padding:12px 14px;
      font-weight:650;
      letter-spacing:.2px;
      color:var(--text);
      background: linear-gradient(135deg, rgba(106,167,255,.95), rgba(164,92,255,.85));
      box-shadow:0 12px 30px rgba(106,167,255,.22);
      transition: transform .08s ease, filter .15s ease;
      user-select:none;
      touch-action:manipulation;
    }
    button:active{ transform: translateY(1px) scale(.99); filter:saturate(1.1); }
    button.secondary{
      background: rgba(255,255,255,.06);
      border:1px solid var(--border);
      box-shadow:none;
      color:var(--muted);
      font-weight:600;
    }
    button[disabled]{opacity:.55; cursor:not-allowed;}
	a.secondary{
 	 background: rgba(255,255,255,.06);
 	 border:1px solid var(--border);
 	 box-shadow:none;
 	 color:var(--muted);
 	 font-weight:600;
 	 border-radius:14px;
	  padding:12px 14px;
	}
a.secondary:hover{ text-decoration:none; }

    .details{
      background: rgba(255,255,255,.04);
      border:1px solid var(--border);
      border-radius:16px;
      padding:14px;
      display:grid;
      gap:10px;
      align-content:start;
    }
    .titleLine{ display:flex; flex-wrap:wrap; align-items:baseline; gap:10px; }
    .albumTitle{ font-size:18px; font-weight:750; }
    .albumSub{ color:var(--muted); font-size:13px; }
    .meta{ display:flex; flex-wrap:wrap; gap:8px; }
    .pill{
      border:1px solid rgba(255,255,255,.14);
      background: rgba(0,0,0,.22);
      padding:6px 10px;
      border-radius:999px;
      font-size:12px;
      color:var(--muted);
    }

    .tableWrap{ border-top:1px solid var(--border); padding:14px 18px 18px; overflow:auto; }
    table{ width:100%; border-collapse:collapse; min-width:520px; }
    th, td{
      padding:10px 12px;
      border-bottom:1px solid rgba(255,255,255,.08);
      text-align:left;
      vertical-align:top;
      font-size:13px;
    }
    th{ color:var(--muted); font-weight:700; width:180px; }
    td{ color:var(--text); }
    .empty{ color:var(--muted); font-size:13px; padding:10px 0 0; }
    code{ color:#d8e6ff; }
    
.tracklist{
  margin-top:10px;
  padding-top:10px;
  border-top:1px solid rgba(255,255,255,.08);
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.tracklist strong{ color:var(--text); font-weight:650; }
.tracklist .tracks{ margin-top:6px; }


.tracklist .tracks{
  margin-top:8px;
  display:grid;
  gap:4px;
  white-space:normal;
}

.trackline{
  display:flex;
  gap:0;
  line-height:1.45;
}

.trackline .pos{ min-width:34px; color: var(--text); }
.trackline .sep{ opacity:.7; padding:0 6px; }
.trackline .dur{ opacity:.8; margin-left:8px; }