/* X2O2 Studio 4.2.58 - ACE-Step-style workspace shell */
:root {
  --xst-bg: #08090d;
  --xst-panel: #0d0f15;
  --xst-panel-2: #11131a;
  --xst-card: #12141b;
  --xst-card-hover: #171a23;
  --xst-line: rgba(255,255,255,.08);
  --xst-line-strong: rgba(255,255,255,.12);
  --xst-text: #f6f7fb;
  --xst-muted: #8e93a2;
  --xst-dim: #656b7a;
  --xst-accent: #a970ff;
  --xst-accent-2: #ff4b8b;
  --xst-success: #51dfa4;
  --xst-danger: #ff667f;
  --xst-left: 360px;
  --xst-right: 390px;
  --xst-radius: 16px;
}

/* Studio is rendered as the page content itself, using Soundify's native
   .ma_page_content sidebar offset. Do not hard-code or duplicate that offset. */
#container_content:has(.x2o2-studio-page) {
  width: auto !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

.ma_page_content.x2o2-studio-page-wrap {
  box-sizing: border-box !important;
  width: auto !important;
  max-width: none !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  margin-left: 280px !important;
  overflow: visible !important;
  padding: 5px 12px 18px !important;
}

body.x2o2-studio-active #container_content {
  padding-bottom: 0 !important;
}

.x2o2-studio-page-wrap {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
  padding: 7px 18px 24px !important;
  margin-top: 0 !important;
  margin-right: 0 !important;
  margin-bottom: 0 !important;
  /* Preserve Soundify's native 280px sidebar gutter. */
  margin-left: 280px !important;
}

.x2o2-studio-page {
  position: relative;
  width: 100%;
  height: calc(100vh - 126px);
  min-height: 680px;
  box-sizing: border-box;
  color: var(--xst-text);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  overflow: hidden;
}

.xst-shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(300px, var(--xst-left)) minmax(0, 1fr) minmax(330px, var(--xst-right));
  width: 100%;
  height: 100%;
  min-width: 0;
  min-height: 0;
  background: var(--xst-bg);
  border: 1px solid var(--xst-line-strong);
  border-radius: var(--xst-radius);
  overflow: hidden;
  box-shadow: 0 26px 80px rgba(0,0,0,.35);
}

.xst-shell,
.xst-shell * { box-sizing: border-box; }

.xst-left,
.xst-center,
.xst-right {
  min-width: 0;
  min-height: 0;
}

.xst-left {
  display: flex;
  flex-direction: column;
  background: linear-gradient(180deg, #0e1016 0%, #0b0d12 100%);
  border-right: 1px solid var(--xst-line);
  overflow: hidden;
}

.xst-left-top {
  flex: 0 0 auto;
  padding: 14px 14px 11px;
  border-bottom: 1px solid var(--xst-line);
  background: rgba(255,255,255,.012);
}

.xst-brand-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.xst-brand {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
}

.xst-brand i {
  width: 7px;
  height: 7px;
  flex: 0 0 7px;
  border-radius: 50%;
  background: var(--xst-success);
  box-shadow: 0 0 0 4px rgba(81,223,164,.08), 0 0 16px rgba(81,223,164,.45);
}

.xst-version,
.xst-select,
.xst-sort select {
  appearance: none;
  border: 1px solid var(--xst-line-strong);
  background: #11141b;
  color: #f5f6fa;
  border-radius: 10px;
  height: 38px;
  padding: 0 34px 0 12px;
  font-size: 13px;
  outline: none;
}

.xst-version {
  min-width: 82px;
  background-image: linear-gradient(45deg, transparent 50%, #8e93a2 50%), linear-gradient(135deg, #8e93a2 50%, transparent 50%);
  background-position: calc(100% - 16px) 16px, calc(100% - 11px) 16px;
  background-size: 5px 5px, 5px 5px;
  background-repeat: no-repeat;
}

.xst-engine-status {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 10px;
  color: var(--xst-muted);
  font-size: 10px;
  font-weight: 700;
}

.xst-engine-status [data-version-status-v1],
.xst-engine-status [data-version-status-v2] {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: #77707b;
}

.xst-engine-sep { color: #4b4e59; }

.xst-left-tabs {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 3px;
  padding: 7px;
  border-bottom: 1px solid var(--xst-line);
  background: #090b10;
}

.xst-left-tabs button,
.xst-task-tabs button,
.xst-preset-row button,
.xst-icon-btn,
.xst-small-btn,
.xst-copy,
.xst-player-btn,
.xst-play-btn,
.xst-detail-actions button,
.xst-row-actions button,
.xst-empty-btn {
  border: 0;
  cursor: pointer;
  font: inherit;
}

.xst-left-tabs button {
  min-height: 36px;
  border-radius: 9px;
  color: #858a99;
  background: transparent;
  font-size: 12px;
  font-weight: 800;
}

.xst-left-tabs button.is-active {
  color: #fff;
  background: #292c35;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.10);
}

.xst-left-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 12px;
  scrollbar-width: thin;
  scrollbar-color: #343846 transparent;
}

.xst-left-scroll::-webkit-scrollbar,
.xst-library-scroll::-webkit-scrollbar,
.xst-right::-webkit-scrollbar {
  width: 9px;
}

.xst-left-scroll::-webkit-scrollbar-track,
.xst-library-scroll::-webkit-scrollbar-track,
.xst-right::-webkit-scrollbar-track { background: transparent; }

.xst-left-scroll::-webkit-scrollbar-thumb,
.xst-library-scroll::-webkit-scrollbar-thumb,
.xst-right::-webkit-scrollbar-thumb {
  background: #303440;
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

.xst-card {
  margin-bottom: 10px;
  padding: 12px;
  border: 1px solid var(--xst-line);
  border-radius: 13px;
  background: rgba(255,255,255,.018);
}

.xst-card-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 9px;
}

.xst-kicker,
.xst-field-label,
.xst-detail-heading,
.xst-section-caption,
.xst-breadcrumb,
.xst-live-pill,
.xst-card-sub,
.xst-hint,
.xst-lyrics-tools,
.xst-summary-note {
  text-transform: uppercase;
  letter-spacing: .13em;
}

.xst-kicker,
.xst-field-label,
.xst-detail-heading {
  color: #9096a7;
  font-size: 9px;
  font-weight: 800;
}

.xst-hint,
.xst-card-sub,
.xst-lyrics-tools,
.xst-summary-note {
  color: #656b7b;
  font-size: 9px;
  letter-spacing: .02em;
  text-transform: none;
}

.xst-task-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 3px;
  padding: 3px;
  border-radius: 10px;
  background: #080a0e;
  border: 1px solid var(--xst-line);
}

.xst-task-tabs button {
  min-height: 34px;
  border-radius: 8px;
  color: #84899a;
  background: transparent;
  font-size: 11px;
  font-weight: 800;
}

.xst-task-tabs button.is-active {
  color: #fff;
  background: #292c35;
}

.xst-input,
.xst-textarea {
  display: block;
  width: 100%;
  border: 1px solid var(--xst-line-strong);
  border-radius: 10px;
  background: #0a0c11;
  color: #eef0f5;
  outline: none;
  font-size: 12px;
}

.xst-input { height: 39px; padding: 0 11px; }
.xst-textarea { resize: vertical; min-height: 92px; padding: 11px; line-height: 1.45; }
.xst-title-input { min-height: 40px; }
.xst-style { min-height: 92px; }
.xst-lyrics { min-height: 132px; }
.xst-input:focus,
.xst-textarea:focus,
.xst-version:focus,
.xst-select:focus { border-color: rgba(169,112,255,.75); box-shadow: 0 0 0 3px rgba(169,112,255,.09); }

.xst-clear,
.xst-copy {
  padding: 0;
  background: transparent;
  color: #797f8f;
  font-size: 10px;
}

.xst-clear:hover,
.xst-copy:hover { color: #fff; }

.xst-preset-row {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 8px;
}

.xst-preset-row button {
  padding: 6px 8px;
  border-radius: 8px;
  color: #858b9a;
  background: #0a0c11;
  border: 1px solid var(--xst-line);
  font-size: 9px;
}

.xst-preset-row button:hover { color: #fff; background: #151820; }

.xst-lyrics-tools {
  display: flex;
  justify-content: space-between;
  margin-top: 6px;
  letter-spacing: 0;
  text-transform: none;
}

.xst-count { color: #777c8b; }

.xst-toggle-card {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.xst-switch { position: relative; width: 37px; height: 22px; flex: 0 0 37px; }
.xst-switch input { position: absolute; opacity: 0; pointer-events: none; }
.xst-switch span {
  position: absolute; inset: 0;
  border-radius: 999px;
  background: #2a2d36;
  border: 1px solid rgba(255,255,255,.06);
  transition: .18s ease;
}
.xst-switch span:after {
  content: "";
  position: absolute;
  top: 3px; left: 3px;
  width: 14px; height: 14px;
  border-radius: 50%;
  background: #a2a6b0;
  transition: .18s ease;
}
.xst-switch input:checked + span { background: #8d5cff; }
.xst-switch input:checked + span:after { left: 18px; background: #fff; }

.xst-upload {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 58px;
  padding: 9px;
  border: 1px dashed #363a48;
  border-radius: 11px;
  cursor: pointer;
  background: #0a0c11;
}

.xst-upload.is-dragging { border-color: var(--xst-accent); background: rgba(169,112,255,.06); }
.xst-upload-plus { width: 30px; height: 30px; display:grid; place-items:center; border-radius:9px; background:#191c25; color:#c28fff; font-size:18px; }
.xst-upload-copy { min-width:0; flex:1; display:flex; flex-direction:column; gap:2px; }
.xst-upload-copy strong { color:#eef0f5; font-size:10px; }
.xst-upload-copy span { color:#626878; font-size:8px; }
.xst-small-btn { min-height:31px; padding:0 10px; border:1px solid var(--xst-line-strong); border-radius:8px; background:#171a22; color:#dfe2e9; font-size:9px; font-weight:800; }

.xst-ref-preview { display:flex; align-items:center; gap:8px; margin-top:8px; padding:8px; border-radius:10px; background:#0a0c11; border:1px solid var(--xst-line); }
.xst-ref-play { width:29px; height:29px; border:1px solid var(--xst-line-strong); border-radius:50%; background:#171a22; color:#fff; }
.xst-ref-wave { flex:1; display:flex; gap:2px; align-items:center; height:26px; }
.xst-ref-wave i { display:block; flex:1; max-width:4px; border-radius:5px; background:linear-gradient(180deg,#a86eff,#ff568e); height:var(--h,40%); opacity:.75; }
.xst-ref-wave i:nth-child(3n){height:70%}.xst-ref-wave i:nth-child(4n){height:55%}.xst-ref-wave i:nth-child(5n){height:82%}
.xst-ref-info { display:flex; flex-direction:column; gap:2px; max-width:95px; min-width:0; }
.xst-ref-info b { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#e5e7ed; font-size:9px; }
.xst-ref-info span { color:#6a7080; font-size:8px; }

.xst-grid2 { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.xst-grid2 label { display:flex; flex-direction:column; gap:5px; color:#7c8292; font-size:9px; font-weight:700; }

.xst-range-line { display:flex; align-items:center; justify-content:space-between; color:#7c8292; font-size:9px; margin-bottom:7px; }
.xst-range-line output { color:#e6e8ee; font-size:9px; }
.xst-range { width:100%; accent-color:#a86dff; }
.xst-tip-card { display:flex; align-items:flex-start; gap:9px; }
.xst-tip-icon { width:27px; height:27px; flex:0 0 27px; display:grid; place-items:center; border-radius:8px; background:linear-gradient(135deg,rgba(169,112,255,.24),rgba(255,75,139,.14)); color:#e0bbff; }
.xst-tip-card strong { display:block; color:#e9ebf2; font-size:10px; margin-bottom:3px; }
.xst-tip-card span { display:block; color:#666c7c; font-size:9px; line-height:1.4; }

.xst-create-footer {
  flex: 0 0 auto;
  position: relative;
  z-index: 5;
  padding: 10px 12px 12px;
  border-top: 1px solid var(--xst-line);
  background: linear-gradient(180deg, rgba(11,13,18,.84), #0b0d12 22%);
  backdrop-filter: blur(12px);
}

.xst-create-btn {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  min-height:46px;
  border:0;
  border-radius:12px;
  color:#fff;
  background:linear-gradient(90deg,#ff762b 0%,#ff4f78 48%,#ec3ea4 100%);
  box-shadow:0 9px 30px rgba(255,73,126,.19);
  cursor:pointer;
  font-size:12px;
}
.xst-create-btn:hover { filter: brightness(1.06); }
.xst-create-btn:disabled { cursor:wait; opacity:.62; }
.xst-create-icon { font-size:13px; }
.xst-create-shortcut { color:rgba(255,255,255,.62); font-size:8px; margin-left:5px; }

.xst-progress { margin-bottom:9px; }
.xst-progress-track { height:4px; overflow:hidden; border-radius:999px; background:#20232d; }
.xst-progress-track span { display:block; width:0; height:100%; border-radius:inherit; background:linear-gradient(90deg,#a86eff,#ff4f8b); }
.xst-progress-line { display:flex; justify-content:space-between; align-items:center; gap:8px; margin-top:6px; }
.xst-progress-line small { color:#777d8c; font-size:8px; }
.xst-progress-line button { border:1px solid rgba(255,108,128,.36); background:rgba(255,78,103,.07); color:#ff9aaa; font-size:8px; font-weight:800; cursor:pointer; min-height:28px; padding:0 10px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; gap:4px; letter-spacing:.1px; transition:background .15s ease,border-color .15s ease,color .15s ease,transform .15s ease; }
.xst-progress-line button:hover { background:rgba(255,78,103,.14); border-color:rgba(255,120,140,.68); color:#fff; transform:translateY(-1px); }
.xst-progress-line button:disabled { opacity:.55; cursor:wait; transform:none; }
.xst-alert { margin-top:8px; padding:8px 9px; border-radius:8px; background:rgba(81,223,164,.08); color:#8cefc9; font-size:9px; line-height:1.35; }
.xst-alert.is-error { background:rgba(255,102,127,.10); color:#ff9aaa; }

.xst-center {
  position:relative;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  background:#07090d;
}

.xst-main-head {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  padding:19px 20px 12px;
  border-bottom:1px solid var(--xst-line);
  background:linear-gradient(180deg,rgba(255,255,255,.018),transparent);
}

.xst-breadcrumb { color:#626878; font-size:8px; letter-spacing:.05em; text-transform:none; margin-bottom:5px; }
.xst-breadcrumb b { color:#424652; margin:0 5px; }
.xst-title-row { display:flex; align-items:center; gap:9px; }
.xst-title-row h1 { margin:0; color:#fafbfe; font-size:21px; line-height:1.1; font-weight:800; letter-spacing:-.02em; }
.xst-title-row p { margin:6px 0 0; }
.xst-main-head > div:first-child > p { margin:5px 0 0; color:#656b7b; font-size:9px; }
.xst-live-pill { display:inline-flex; align-items:center; gap:5px; padding:5px 7px; border:1px solid rgba(81,223,164,.14); border-radius:999px; color:#86eac7; font-size:7px; letter-spacing:.06em; }
.xst-live-pill i { width:5px; height:5px; border-radius:50%; background:var(--xst-success); }
.xst-head-right { display:flex; flex-direction:column; align-items:flex-end; gap:10px; }
.xst-center-status { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:10px; }
.xst-center-status span { display:inline-flex; align-items:center; gap:5px; color:#707687; font-size:8px; font-weight:700; }
.xst-center-status i { width:5px; height:5px; border-radius:50%; background:#77707b; }
.xst-head-actions { display:flex; gap:7px; }
.xst-icon-btn { width:31px; height:31px; border:1px solid var(--xst-line); border-radius:9px; background:#10131a; color:#b6bbc8; }
.xst-icon-btn:hover { color:#fff; background:#171a22; }

.xst-search-row {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  align-items:center;
  gap:9px;
  padding:11px 20px 8px;
}

.xst-search { display:flex; align-items:center; min-width:0; height:37px; border:1px solid var(--xst-line); border-radius:10px; background:#0d1016; }
.xst-search span { padding-left:11px; color:#7a8090; font-size:13px; }
.xst-search input { min-width:0; flex:1; height:100%; padding:0 10px; border:0; outline:0; background:transparent; color:#e8ebf1; font-size:10px; }
.xst-search input::placeholder { color:#565b69; }
.xst-filters { display:flex; gap:4px; }
.xst-filters button,
.xst-sort select { height:37px; border:1px solid var(--xst-line); border-radius:9px; background:#0d1016; color:#7f8595; padding:0 10px; font-size:9px; }
.xst-filters button.is-active { color:#fff; background:#21242d; border-color:#343845; }
.xst-sort select { padding-right:30px; }

.xst-library-summary {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:3px 20px 11px;
}
.xst-library-summary > div:first-child { display:flex; flex-direction:column; gap:3px; }
.xst-library-summary > div:first-child span { color:#6b7181; font-size:8px; text-transform:uppercase; letter-spacing:.15em; font-weight:800; }
.xst-library-summary > div:first-child strong { color:#f0f1f5; font-size:10px; }
.xst-summary-note { text-align:right; color:#535968; font-size:8px; letter-spacing:0; text-transform:none; }

.xst-library-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:0 20px 105px;
  scrollbar-width:thin;
  scrollbar-color:#303440 transparent;
}

.xst-section-caption {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:2px 0 8px;
  color:#707687;
  font-size:8px;
  letter-spacing:.14em;
  font-weight:800;
}

.xst-song-list { display:flex; flex-direction:column; gap:7px; }

.xst-song-row {
  position:relative;
  display:grid;
  grid-template-columns:24px 58px minmax(0,1fr) minmax(120px,.45fr) auto 54px;
  align-items:center;
  gap:10px;
  min-height:74px;
  padding:7px 10px;
  border:1px solid var(--xst-line);
  border-radius:12px;
  background:#0d1015;
  transition:background .15s ease,border-color .15s ease,transform .15s ease;
}
.xst-song-row:hover { background:#12151c; border-color:var(--xst-line-strong); }
.xst-song-row.is-selected { background:#151821; border-color:rgba(169,112,255,.34); }
.xst-row-number { text-align:center; color:#555a69; font-size:9px; }
.xst-song-cover { width:58px; height:58px; overflow:hidden; padding:0; border:0; border-radius:9px; background:#171a22; cursor:pointer; }
.xst-song-cover img { width:100%; height:100%; display:block; object-fit:cover; }
.xst-song-main { min-width:0; }
.xst-song-title { display:block; max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; padding:0; border:0; background:none; color:#f1f2f7; font-size:11px; font-weight:800; text-align:left; cursor:pointer; }
.xst-song-title:hover { color:#c796ff; }
.xst-song-sub { margin-top:3px; color:#777d8c; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xst-song-style { margin-top:3px; color:#555b69; font-size:8px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.xst-row-style { min-width:0; display:flex; flex-direction:column; gap:4px; }
.xst-row-style span { color:#777d8c; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; font-size:8px; }
.xst-row-style small { color:#505666; font-size:7px; }
.xst-row-meta { display:flex; align-items:center; gap:9px; color:#757b8a; font-size:8px; white-space:nowrap; }
.xst-version-pill { padding:4px 6px; border-radius:6px; background:rgba(169,112,255,.10); color:#c8a2ff; }
.xst-row-actions { display:flex; align-items:center; justify-content:flex-end; gap:5px; min-width:0; }
.xst-row-actions button { width:27px; height:27px; border-radius:7px; background:transparent; color:#707688; }
.xst-row-cancel { width:74px !important; min-width:74px; max-width:74px; height:30px !important; flex:0 0 74px; padding:0 9px; display:inline-flex; align-items:center; justify-content:center; gap:5px; border:1px solid rgba(255,108,128,.40) !important; border-radius:8px !important; background:rgba(255,78,103,.07) !important; color:#ff9aaa !important; font-size:8px; font-weight:800; letter-spacing:.1px; white-space:nowrap !important; overflow:hidden; box-sizing:border-box; box-shadow:inset 0 0 0 1px rgba(255,255,255,.02); }
.xst-row-cancel:hover { background:rgba(255,78,103,.14) !important; color:#fff !important; border-color:rgba(255,120,140,.68) !important; transform:translateY(-1px); }
.xst-cancel-icon { font-size:12px; line-height:1; opacity:.86; flex:0 0 auto; }
.xst-row-actions button:hover { color:#fff; background:#1b1e27; }
.xst-song-row.is-pending { grid-template-columns:24px 58px minmax(0,1fr) minmax(120px,.45fr) auto minmax(108px,auto); }
.xst-song-row.is-pending .xst-row-actions [data-row-like] { display:none; }
.xst-song-row.is-pending .xst-row-actions { min-width:108px; }

.xst-generating-bar { position:absolute; left:9px; right:9px; bottom:5px; }
.xst-generating-bar .track { height:2px; overflow:hidden; border-radius:999px; background:#252832; }
.xst-generating-bar .track i { display:block; width:42%; height:100%; background:linear-gradient(90deg,#a86eff,#ff4f8b); animation:xst-progress 1.3s ease-in-out infinite; }
@keyframes xst-progress { 0%{transform:translateX(-130%)} 100%{transform:translateX(330%)} }
@media (max-width:620px){ .xst-row-cancel { width:68px !important; min-width:68px; max-width:68px; flex-basis:68px; padding:0 7px; } }

.xst-empty {
  min-height:360px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  color:#6c7180;
}
.xst-empty-art { width:58px; height:58px; display:grid; place-items:center; border-radius:16px; background:linear-gradient(135deg,#242040,#432650); color:#bf8bff; font-size:25px; box-shadow:inset 0 0 0 1px rgba(255,255,255,.06); }
.xst-empty h3 { margin:13px 0 5px; color:#e6e8ee; font-size:13px; }
.xst-empty p { max-width:370px; margin:0; color:#595e6d; font-size:9px; line-height:1.45; }
.xst-empty-btn { margin-top:13px; min-height:34px; padding:0 13px; border:1px solid var(--xst-line-strong); border-radius:9px; background:#171a22; color:#d9dce3; font-size:9px; font-weight:800; }

.xst-player {
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  z-index:20;
  display:grid;
  grid-template-columns:minmax(170px,260px) auto minmax(210px,1fr) 112px;
  align-items:center;
  gap:14px;
  min-height:86px;
  padding:8px 16px;
  border-top:1px solid rgba(255,255,255,.09);
  background:rgba(13,15,21,.96);
  backdrop-filter:blur(14px);
  box-shadow:0 -14px 34px rgba(0,0,0,.22);
}
.xst-player-track { display:flex; align-items:center; min-width:0; gap:9px; }
.xst-player-art { width:54px; height:54px; flex:0 0 54px; overflow:hidden; border-radius:9px; background:#181b23; }
.xst-player-art img { width:100%; height:100%; display:block; object-fit:cover; }
.xst-player-meta { min-width:0; display:flex; flex-direction:column; gap:3px; }
.xst-player-meta strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f3f4f8; font-size:10px; }
.xst-player-meta span { color:#666c7b; font-size:8px; }
.xst-transport { display:flex; align-items:center; justify-content:center; gap:7px; }
.xst-player-btn,.xst-play-btn { display:grid; place-items:center; border-radius:50%; color:#aeb3c1; background:transparent; }
.xst-player-btn { width:31px; height:31px; font-size:11px; }
.xst-player-btn:hover { color:#fff; background:#191c23; }
.xst-play-btn { width:40px; height:40px; background:#f6f7fb; color:#0b0d12; font-size:12px; }
.xst-seek-wrap { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:7px; min-width:0; }
.xst-seek-wrap span { color:#676d7d; font-size:8px; font-variant-numeric:tabular-nums; }
.xst-seek { width:100%; margin:0; accent-color:#f2f3f7; }
.xst-player-volume { display:flex; align-items:center; justify-content:flex-end; gap:7px; color:#747a89; font-size:10px; }
.xst-player-volume input { width:82px; accent-color:#a970ff; }
.xst-wave-mini { display:none; }

.xst-right {
  display:flex;
  flex-direction:column;
  overflow:auto;
  background:#0b0d12;
  border-left:1px solid var(--xst-line);
  scrollbar-width:thin;
  scrollbar-color:#303440 transparent;
}

.xst-right-head {
  position:sticky;
  top:0;
  z-index:5;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 15px;
  background:rgba(11,13,18,.94);
  backdrop-filter:blur(12px);
  border-bottom:1px solid var(--xst-line);
  color:#797f8f;
  font-size:8px;
  font-weight:800;
  letter-spacing:.15em;
}

.xst-detail-cover {
  margin:14px 15px 12px;
  aspect-ratio:1 / 1;
  overflow:hidden;
  border-radius:14px;
  background:#171a22;
  border:1px solid var(--xst-line);
  box-shadow:0 16px 34px rgba(0,0,0,.22);
}
.xst-detail-cover img { width:100%; height:100%; object-fit:cover; display:block; }
.xst-detail-title { padding:0 15px; }
.xst-detail-title h2 { margin:0; color:#f6f7fb; font-size:17px; line-height:1.2; }
.xst-detail-title span { display:block; margin-top:5px; color:#6f7584; font-size:9px; }
.xst-detail-actions { display:grid; grid-template-columns:repeat(4,1fr); gap:6px; padding:13px 15px 12px; }
.xst-detail-actions button { min-height:35px; border:1px solid var(--xst-line); border-radius:9px; background:#11141b; color:#a9aebc; }
.xst-detail-actions button:hover { background:#191c24; color:#fff; }
.xst-detail-actions button.is-primary { color:#fff; background:linear-gradient(135deg,#a86eff,#ec4e95); border-color:transparent; }
.xst-detail-block { padding:11px 15px; border-top:1px solid var(--xst-line); }
.xst-detail-heading { display:flex; justify-content:space-between; align-items:center; margin-bottom:8px; }
.xst-chip-row { display:flex; flex-wrap:wrap; gap:5px; }
.xst-chip-row span { padding:5px 7px; border-radius:6px; background:#13161d; color:#8a90a0; font-size:8px; }
.xst-detail-text { color:#969ba8; font-size:9px; line-height:1.55; word-break:break-word; }
.xst-detail-lyrics { max-height:230px; overflow:auto; margin:0; white-space:pre-wrap; color:#8d93a2; font:inherit; font-size:9px; line-height:1.55; }
.xst-meta-list { border:1px solid var(--xst-line); border-radius:10px; overflow:hidden; }
.xst-meta-list div { display:flex; justify-content:space-between; padding:8px 9px; border-bottom:1px solid var(--xst-line); }
.xst-meta-list div:last-child { border-bottom:0; }
.xst-meta-list span { color:#666c7b; font-size:8px; }
.xst-meta-list strong { color:#c1c5cf; font-size:8px; }

/* Respect V.2 task simplification. */
.is-v2 .xst-task-tabs,
.is-v3 .xst-task-tabs { display:block; padding:0; background:transparent; border:0; }
.is-v2 .xst-task-tabs button[data-task="text2music"],
.is-v3 .xst-task-tabs button[data-task="text2music"] { display:block; width:100%; min-height:38px; border-radius:9px; }
.is-v2 .xst-task-card .xst-hint,
.is-v3 .xst-task-card .xst-hint { display:none; }

.xst-custom[hidden],
.xst-transform-card[hidden],
.xst-ref-preview[hidden],
.xst-progress[hidden],
.xst-alert[hidden],
.xst-empty[hidden] { display:none !important; }

@media (max-width: 1320px) {
  :root { --xst-left: 335px; --xst-right: 350px; }
  .xst-song-row { grid-template-columns:22px 52px minmax(0,1fr) minmax(90px,.35fr) auto 54px; gap:8px; }
  .xst-song-row.is-pending { grid-template-columns:22px 52px minmax(0,1fr) minmax(90px,.35fr) auto minmax(108px,auto); }
  .xst-song-cover { width:52px; height:52px; }
}

@media (max-width: 1080px) {
  :root { --xst-left: 315px; --xst-right: 325px; }
  .xst-row-style { display:none; }
  .xst-song-row { grid-template-columns:20px 52px minmax(0,1fr) auto 54px; }
  .xst-song-row.is-pending { grid-template-columns:20px 52px minmax(0,1fr) auto minmax(108px,auto); }
  .xst-player { grid-template-columns:minmax(150px,220px) auto minmax(150px,1fr); }
  .xst-player-volume { display:none; }
}

@media (max-width: 900px) {
  .x2o2-studio-page-wrap { padding:12px !important; }
  .x2o2-studio-page { height:calc(100vh - 116px); min-height:690px; }
  .xst-shell { grid-template-columns:minmax(300px, 340px) minmax(0,1fr); }
  .xst-right { display:none; }
}

@media (max-width: 700px) {
  .x2o2-studio-page { height:auto; min-height:100vh; overflow:visible; }
  .xst-shell { display:block; height:auto; min-height:100vh; overflow:visible; }
  .xst-left { min-height:720px; border-right:0; border-bottom:1px solid var(--xst-line); }
  .xst-left-scroll { max-height:calc(100vh - 250px); }
  .xst-center { min-height:720px; }
  .xst-main-head { padding:15px; }
  .xst-search-row { grid-template-columns:1fr auto; padding:9px 15px; }
  .xst-sort { display:none; }
  .xst-library-scroll { padding:0 15px 100px; }
  .xst-library-summary { padding-left:15px; padding-right:15px; }
  .xst-song-row { grid-template-columns:18px 48px minmax(0,1fr) auto; }
  .xst-song-row.is-pending { grid-template-columns:18px 48px minmax(0,1fr) minmax(108px,auto); }
  .xst-song-cover { width:48px; height:48px; }
  .xst-row-meta { display:none; }
  .xst-player { position:sticky; grid-template-columns:1fr auto; min-height:72px; padding:8px 10px; }
  .xst-transport { justify-content:flex-end; }
  .xst-seek-wrap { display:none; }
  .xst-player-volume { display:none; }
  .xst-player-art { width:46px; height:46px; flex-basis:46px; }
  .xst-player-btn { display:none; }
  .xst-main-head > .xst-head-right { display:none; }
}


/* ===== X2O2 NATIVE INTEGRATION — v4.2.26 ===== */
.x2o2-studio-page,
.x2o2-studio-page * { font-family:'Roboto',Arial,sans-serif; }
.x2o2-studio-page { color:#e9e9e9; }
.xst-shell { --xst-accent:var(--main, var(--main-color,#f98f1d)); --xst-accent-hover:var(--main-hover,#e98214); --xst-bg:#171719; --xst-panel:#222225; --xst-panel-2:#1c1c1e; --xst-card:#28282b; --xst-card-hover:#303034; --xst-line:#3d3d3d; --xst-line-strong:#4a4a4a; --xst-text:#f4f4f4; --xst-muted:#999; --xst-dim:#777; --xst-success:#37b24d; --xst-danger:#ff6477; border:1px solid #3d3d3d; border-radius:7px; background:#222225; box-shadow:0 1px 5px rgba(0,0,0,.22); }
.xst-left,.xst-center,.xst-right { background:#222225; }
.xst-left { border-right:1px solid #3d3d3d; }
.xst-right { border-left:1px solid #3d3d3d; background:#1c1c1e; }
.xst-main-head,.xst-left-top,.xst-right-head { background:#222225; }
.xst-main-head { padding:8px 22px 9px; border-bottom:1px solid #3d3d3d; }
.xst-title-row h1 { font-size:23px; font-weight:500; letter-spacing:-.01em; }
.xst-main-head > div:first-child > p { color:#888; font-size:11px; }
.xst-breadcrumb { color:#777; font-size:9px; }
.xst-breadcrumb b { color:#555; }
.xst-live-pill { border-color:rgba(55,178,77,.28); color:#76d987; background:rgba(55,178,77,.06); }
.xst-live-pill i { background:#37b24d; }
.xst-card { background:#28282b; border:1px solid #3a3a3d; border-radius:7px; box-shadow:none; }
.xst-card-head { border-color:#3a3a3d; }
.xst-field-label,.xst-kicker { color:#d8d8d8; }
.xst-card-sub,.xst-hint,.xst-lyrics-tools,.xst-advanced-note { color:#828282; }
.xst-input,.xst-select,.xst-textarea { background:#1c1c1e; border:1px solid #444448; color:#e8e8e8; border-radius:4px; }
.xst-input:focus,.xst-select:focus,.xst-textarea:focus { border-color:var(--xst-accent); box-shadow:0 0 0 2px color-mix(in srgb,var(--xst-accent) 18%,transparent); }
.xst-task-tabs button,.xst-left-tabs button,.xst-preset-row button,.xst-filters button,.xst-sort select,.xst-icon-btn,.xst-small-btn,.xst-empty-btn,.xst-copy { background:#1c1c1e; border-color:#434347; color:#bdbdbd; border-radius:4px; }
.xst-task-tabs button.is-active,.xst-left-tabs button.is-active,.xst-filters button.is-active { background:var(--xst-accent); border-color:var(--xst-accent); color:#fff; box-shadow:none; }
.xst-task-tabs button:hover,.xst-left-tabs button:hover,.xst-filters button:hover,.xst-preset-row button:hover,.xst-icon-btn:hover,.xst-small-btn:hover,.xst-empty-btn:hover { border-color:var(--xst-accent); color:#fff; }
.xst-policy-card { padding-bottom:12px; }
.xst-policy-grid { display:grid; grid-template-columns:1.05fr 1fr 1fr; gap:9px; }
.xst-policy-control,.xst-policy-stat { min-width:0; display:flex; flex-direction:column; gap:5px; }
.xst-policy-control > span,.xst-policy-stat > span { color:#8f8f8f; font-size:9px; font-weight:600; }
.xst-policy-stat strong { color:#f4f4f4; font-size:14px; font-weight:500; }
.xst-policy-control small,.xst-policy-stat small { color:#6f6f6f; font-size:8px; line-height:1.35; }
.xst-advanced-note { margin:8px 0 0; font-size:8px; line-height:1.4; }
.xst-create-footer { background:#222225; border-top:1px solid #3d3d3d; }
.xst-create-btn { background:var(--xst-accent); border:0; border-radius:4px; color:#fff; box-shadow:none; }
.xst-create-btn:hover { background:var(--xst-accent-hover); }
.xst-create-btn .xst-create-icon { color:#fff; }
.xst-alert { background:rgba(55,178,77,.08); color:#86d994; border:1px solid rgba(55,178,77,.16); }
.xst-alert.is-error { background:rgba(255,100,119,.08); border-color:rgba(255,100,119,.16); color:#ff9aaa; }
.xst-search-row { background:#222225; }
.xst-search { background:#1c1c1e; border-color:#3d3d3d; border-radius:4px; }
.xst-search input { font-size:11px; }
.xst-library-summary,.xst-section-caption { background:#222225; }
.xst-library-scroll { padding-left:22px; padding-right:22px; }
.xst-song-row { background:#28282b; border-color:#3a3a3d; border-radius:7px; grid-template-columns:24px 58px minmax(0,1fr) minmax(120px,.45fr) auto 62px; }
.xst-song-row:hover { background:#303034; border-color:#4a4a4a; }
.xst-song-row.is-selected { background:#2c2c30; border-color:color-mix(in srgb,var(--xst-accent) 46%,#3a3a3d); }
.xst-song-title:hover { color:var(--xst-accent); }
.xst-version-pill { background:rgba(249,143,29,.10); color:#f7a34a; }
.xst-row-actions button { color:#8b8b8b; border-radius:4px; }
.xst-row-actions button:hover { background:#3a3a3d; color:#fff; }
.xst-generating-bar .track { background:#3a3a3d; }
.xst-generating-bar .track i { background:var(--xst-accent); }
.xst-player { background:rgba(28,28,30,.97); border-top:1px solid #444; box-shadow:0 -8px 22px rgba(0,0,0,.14); }
.xst-play-btn { background:var(--xst-accent); color:#fff; }
.xst-player-volume input,.xst-seek { accent-color:var(--xst-accent); }
.xst-detail-cover { border-color:#3d3d3d; border-radius:7px; }
.xst-detail-actions { grid-template-columns:1.1fr 1.35fr 1.2fr 1fr; }
.xst-detail-actions button { background:#242427; border-color:#3d3d3d; border-radius:4px; color:#c2c2c2; display:flex; align-items:center; justify-content:center; gap:6px; }
.xst-detail-actions button span { font-size:8px; font-weight:500; }
.xst-detail-actions button.is-primary,.xst-detail-actions button.xst-master-btn { background:var(--xst-accent); color:#fff; border-color:var(--xst-accent); }
.xst-detail-actions button:hover { color:#fff; border-color:#555; }
.xst-detail-actions button.xst-master-btn:hover,.xst-detail-actions button.is-primary:hover { background:var(--xst-accent-hover); border-color:var(--xst-accent-hover); }
.xst-action-menu { position:absolute; right:0; top:calc(100% + 5px); min-width:142px; padding:5px; background:#242427; border:1px solid #444; border-radius:5px; box-shadow:0 10px 24px rgba(0,0,0,.32); z-index:80; }
.xst-action-menu[hidden] { display:none!important; }
.xst-action-menu button { width:100%; min-height:30px; padding:0 9px; border:0; border-radius:3px; background:transparent; color:#d7d7d7; text-align:left; font-size:9px; cursor:pointer; }
.xst-action-menu button:hover { background:#353538; color:#fff; }
.xst-task-tabs button[hidden], .xst-row-actions button[hidden] { display:none !important; }
.xst-row-menu-wrap,.xst-detail-menu-wrap { position:relative; display:inline-flex; }
.xst-detail-menu { top:calc(100% + 5px); }
.xst-empty-art { background:#2c2c30; color:var(--xst-accent); border-radius:7px; box-shadow:none; }
.xst-empty-btn { color:#ddd; }
.xst-right-head { border-bottom:1px solid #3d3d3d; }
.xst-detail-block { border-top-color:#3d3d3d; }
.xst-chip-row span { background:#252528; color:#9f9f9f; border:1px solid #3a3a3d; }
.xst-meta-list { border-color:#3d3d3d; }
.xst-meta-list div { border-bottom-color:#3d3d3d; }
.xst-success-mark { background:var(--xst-accent); }
@media (max-width:900px){.xst-policy-grid{grid-template-columns:1fr 1fr}.xst-policy-control{grid-column:1/-1}.xst-song-row{grid-template-columns:24px 50px minmax(0,1fr) auto 52px}.xst-row-style{display:none}}
@media (max-width:640px){.xst-policy-grid{grid-template-columns:1fr}.xst-search-row{grid-template-columns:1fr}.xst-filters,.xst-sort{width:100%}.xst-filters button,.xst-sort select{flex:1}.xst-detail-actions{grid-template-columns:repeat(2,1fr)}}

/* v4.2.28 polish: pull Studio upward to reduce the native header's top gap by ~60%. */
@media (min-width:901px){
  .ma_page_content.x2o2-studio-page-wrap{margin-top:-27px !important; padding-top:2px !important;}
  .x2o2-studio-page{height:calc(100vh - 99px);}
}

/* Native X2O2/Soundify player is the primary Studio player. Local controls remain a fallback. */
.x2o2-studio-page:not(.xst-use-local-player) .xst-player { display:none !important; }
/* v4.2.29: desktop Studio height is synchronized in JS to the real native fixed player
   so the Studio workspace never renders underneath the global music player. */
@media (min-width:901px){
  .x2o2-studio-page{box-sizing:border-box;}
}
.x2o2-studio-page.xst-use-local-player .xst-player { display:grid; }
.xst-right.is-closed { display:none !important; }
.x2o2-studio-page:has(.xst-right.is-closed) .xst-shell { grid-template-columns:minmax(300px,var(--xst-left)) minmax(0,1fr); }
.xst-detail-actions { position:relative; overflow:visible; z-index:20; }
.xst-detail-menu-wrap { z-index:30; }
.xst-detail-menu { z-index:120; }
.xst-preset-select { margin-top:6px; }
[data-lyrics-card][hidden] { display:none !important; }
.xst-confirm { position:fixed; inset:0; z-index:10000; display:grid; place-items:center; padding:24px; }
.xst-confirm[hidden] { display:none !important; }
.xst-confirm-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.62); backdrop-filter:blur(2px); }
.xst-confirm-dialog { position:relative; z-index:2; width:min(440px,100%); display:grid; grid-template-columns:auto 1fr; gap:14px; align-items:start; padding:20px; background:#242427; border:1px solid #4a4a4a; border-radius:9px; box-shadow:0 24px 80px rgba(0,0,0,.55); }
.xst-confirm-icon { width:36px; height:36px; display:grid; place-items:center; border-radius:50%; background:rgba(255,100,119,.10); border:1px solid rgba(255,100,119,.24); color:#ff8798; font-weight:800; }
.xst-confirm-copy h3 { margin:0; color:#f5f5f5; font-size:15px; font-weight:500; }
.xst-confirm-copy p { margin:7px 0 0; color:#929292; font-size:10px; line-height:1.45; }
.xst-confirm-actions { grid-column:1 / -1; display:flex; justify-content:flex-end; gap:7px; margin-top:4px; }
.xst-confirm-actions button { min-width:88px; min-height:34px; padding:0 13px; border-radius:4px; border:1px solid #444; background:#1c1c1e; color:#c8c8c8; cursor:pointer; }
.xst-confirm-actions button:hover { border-color:#5a5a5a; color:#fff; }
.xst-confirm-actions .xst-confirm-delete { background:var(--xst-accent); color:#fff; border-color:var(--xst-accent); }
.xst-confirm-actions .xst-confirm-delete:hover { background:var(--xst-accent-hover); border-color:var(--xst-accent-hover); }
.sidebar_innr .sections li > a.x2o2-studio-nav-link { display:block; }
.sidebar_innr .sections li > a.x2o2-studio-nav-link .x2o2-studio-nav-icon { width:22px; height:22px; margin:3px 20px 5px 0; display:inline-block; vertical-align:middle; color:currentColor; }


/* ===== X2O2 Studio v4.2.30 — Studio-to-Reference workflow ===== */
.xst-song-row[draggable="true"] { cursor:grab; }
.xst-song-row[draggable="true"]:active { cursor:grabbing; }
.xst-song-row.is-dragging { opacity:.62; border-color:var(--xst-accent); box-shadow:0 0 0 1px color-mix(in srgb,var(--xst-accent) 28%,transparent); }
.xst-upload.is-dragging { border-color:var(--xst-accent) !important; box-shadow:inset 0 0 0 1px var(--xst-accent),0 0 0 2px color-mix(in srgb,var(--xst-accent) 12%,transparent); background:#303034 !important; }
.xst-upload.is-dragging .xst-upload-plus { color:var(--xst-accent); transform:scale(1.08); }
.xst-upload .xst-upload-plus { transition:transform .15s ease,color .15s ease; }

/* ===== X2O2 Studio v4.2.55 — V.3 visual references ===== */
.xst-v3-image-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:6px;margin-top:8px;}
.xst-v3-image-item{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:8px;align-items:center;padding:6px 7px;border:1px solid #3b3b3e;background:#242427;border-radius:5px;min-width:0;}
.xst-v3-image-item img{width:48px;height:42px;border-radius:3px;object-fit:cover;background:#18181a;}
.xst-v3-image-item span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#b5b5b5;font-size:9px;}
.xst-v3-image-remove{width:24px;height:24px;padding:0;border:1px solid #444;background:#1b1b1d;color:#999;border-radius:4px;cursor:pointer;}
.xst-v3-image-remove:hover{color:#fff;border-color:#5a5a5a;}

/* ===== X2O2 Studio v4.2.55 — V.3 cloud music ===== */
.xst-policy-note { display:block; color:#777; font-size:8px; line-height:1.35; font-style:normal; min-height:10px; }
.xst-generation-engine { color:#777; font-size:8px; margin-left:auto; }
.xst-v3-reference-options { margin-top:9px; padding-top:9px; border-top:1px solid #3a3a3d; }
.xst-v3-reference-options small { display:block; margin-top:6px; color:#777; font-size:8px; line-height:1.4; }
.xst-shell[data-x2o2-v3-ready="1"] .xst-v3-dot { background:#37b24d; }

/* X2O2 Studio Admin switches. Keep these independent from V.1/V.2 engine logic. */
.x2o2-studio-admin .x2o2-switch-row {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:10px 0;
}
.x2o2-studio-admin .x2o2-switch-label {
  display:flex;
  align-items:center;
  gap:10px;
  margin:0;
}
.x2o2-studio-admin .x2o2-switch {
  position:relative;
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
}
.x2o2-studio-admin .x2o2-switch input {
  position:absolute;
  opacity:0;
  width:1px;
  height:1px;
  margin:0;
}
.x2o2-studio-admin .x2o2-switch-track {
  display:block;
  width:44px;
  height:24px;
  border-radius:999px;
  background:#565a66;
  border:1px solid rgba(255,255,255,.16);
  position:relative;
  cursor:pointer;
  transition:background .18s ease,border-color .18s ease;
}
.x2o2-studio-admin .x2o2-switch-track:after {
  content:"";
  position:absolute;
  top:3px;
  left:3px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#d7d9df;
  box-shadow:0 1px 3px rgba(0,0,0,.35);
  transition:transform .18s ease,background .18s ease;
}
.x2o2-studio-admin .x2o2-switch input:checked + .x2o2-switch-track {
  background:#ff8a1f;
  border-color:#ff8a1f;
}
.x2o2-studio-admin .x2o2-switch input:checked + .x2o2-switch-track:after {
  transform:translateX(20px);
  background:#fff;
}
.x2o2-studio-admin .x2o2-switch input:focus-visible + .x2o2-switch-track {
  outline:2px solid rgba(255,138,31,.6);
  outline-offset:3px;
}
.x2o2-studio-admin .x2o2-switch-state {
  min-width:34px;
  font-size:12px;
  font-weight:600;
  color:#8e93a2;
}
.x2o2-studio-admin .x2o2-switch-state.is-on { color:#51dfa4; }

.xst-version-empty{display:inline-flex;align-items:center;padding:8px 10px;border:1px solid var(--xst-line-strong);border-radius:10px;color:var(--xst-muted);font-size:12px;min-height:34px;box-sizing:border-box}

/* Studio library refresh feedback */
.xst-icon-btn.is-loading{opacity:.65;pointer-events:none;transform:rotate(45deg);transition:transform .2s ease,opacity .2s ease}


/* V.2/V.3 expose only the Create task; keep the single option full-width. */
.is-v2 .xst-task-tabs,
.is-v3 .xst-task-tabs { display:block; padding:0; background:transparent; border:0; }
.is-v2 .xst-task-tabs button[data-task="text2music"],
.is-v3 .xst-task-tabs button[data-task="text2music"] { display:block; width:100%; min-height:38px; border-radius:9px; }
.is-v2 .xst-task-card .xst-hint,
.is-v3 .xst-task-card .xst-hint { display:none; }
.xst-limit-row { display:flex; justify-content:space-between; margin-top:4px; color:#77707b; font-size:8px; line-height:1.25; }
.xst-v3-field-count { display:flex; justify-content:flex-end; margin-top:4px; color:#77707b; font-size:8px; line-height:1.25; }


/* ===== X2O2 Studio v4.2.56 — library readability + AI Studio nav label ===== */
.xst-song-title { font-size:14px; line-height:1.2; color:#f7f8fb; }
.xst-song-sub { margin-top:4px; color:#a0a6b4; font-size:10px; line-height:1.25; }
.xst-song-style { margin-top:4px; color:#7d8492; font-size:10px; line-height:1.25; }
.xst-row-number { font-size:10px; color:#6a7080; }
.xst-row-style span { color:#9ca3af; font-size:10px; line-height:1.2; }
.xst-row-style small { color:#687080; font-size:9px; line-height:1.2; }
.xst-row-meta { gap:10px; color:#9aa1ae; font-size:10px; }
.xst-version-pill { font-size:10px; }
.sidebar_innr .sections li > a.x2o2-studio-nav-link { white-space:nowrap; }
.sidebar_innr .sections li > a.x2o2-studio-nav-link > span:last-child { font-size:inherit; }
@media (max-width:900px){
  .xst-song-title { font-size:13px; }
  .xst-song-sub { font-size:10px; }
  .xst-song-style { font-size:9.5px; }
}


/* ===== X2O2 Studio v4.2.57 — Recent Generations bulk selection/actions ===== */
.xst-song-row { grid-template-columns:34px 58px minmax(0,1fr) minmax(120px,.45fr) auto 54px; }
.xst-song-row.is-pending { grid-template-columns:34px 58px minmax(0,1fr) minmax(120px,.45fr) auto minmax(108px,auto); }
.xst-bulk-toolbar { display:flex; align-items:center; gap:10px; padding:8px 10px; margin:0 0 8px; border:1px solid var(--xst-line); border-radius:10px; background:#11141b; }
.xst-bulk-toolbar[hidden] { display:none !important; }
.xst-select-all { display:inline-flex; align-items:center; gap:7px; color:#c6cad4; font-size:9px; font-weight:800; cursor:pointer; white-space:nowrap; }
.xst-select-all input,.xst-row-check input { position:absolute; opacity:0; pointer-events:none; }
.xst-select-all span { display:inline-flex; align-items:center; min-height:25px; padding:0 8px; border:1px solid var(--xst-line-strong); border-radius:7px; background:#171a22; }
.xst-select-all input:checked + span { color:#fff; background:#2a2238; border-color:rgba(169,112,255,.45); }
.xst-selection-count { color:#777d8c; font-size:9px; }
.xst-bulk-actions { margin-left:auto; display:flex; align-items:center; gap:5px; flex-wrap:wrap; justify-content:flex-end; }
.xst-bulk-actions button { min-height:28px; padding:0 9px; border:1px solid var(--xst-line-strong); border-radius:7px; background:#171a22; color:#aeb4c2; font:inherit; font-size:9px; font-weight:800; cursor:pointer; }
.xst-bulk-actions button:hover:not(:disabled) { color:#fff; background:#20242e; }
.xst-bulk-actions button:disabled { opacity:.45; cursor:not-allowed; }
.xst-row-select-wrap { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:3px; min-width:0; }
.xst-row-check { width:22px; height:22px; display:grid; place-items:center; cursor:pointer; }
.xst-row-check span { width:15px; height:15px; display:block; border:1px solid #4a5060; border-radius:4px; background:#11141b; box-shadow:inset 0 0 0 2px rgba(0,0,0,.15); }
.xst-row-check input:checked + span { background:var(--xst-accent); border-color:var(--xst-accent); box-shadow:inset 0 0 0 3px #11141b; }
.xst-song-row.is-bulk-selected { box-shadow:inset 3px 0 0 var(--xst-accent); }
@media (max-width:1320px){ .xst-song-row { grid-template-columns:34px 52px minmax(0,1fr) minmax(90px,.35fr) auto 54px; } .xst-song-row.is-pending { grid-template-columns:34px 52px minmax(0,1fr) minmax(90px,.35fr) auto minmax(108px,auto); } }
@media (max-width:1080px){ .xst-song-row { grid-template-columns:30px 52px minmax(0,1fr) auto 54px; } .xst-song-row.is-pending { grid-template-columns:30px 52px minmax(0,1fr) auto minmax(108px,auto); } }
@media (max-width:640px){ .xst-bulk-toolbar { align-items:flex-start; flex-wrap:wrap; } .xst-bulk-actions { width:100%; margin-left:0; justify-content:flex-start; } .xst-bulk-actions button { flex:1 1 auto; } .xst-song-row { grid-template-columns:28px 50px minmax(0,1fr) auto 52px; gap:7px; } .xst-row-select-wrap .xst-row-number { font-size:8px; } }


/* ===== X2O2 Studio AI Enhancer ===== */
.xst-ai-field-row{display:flex;align-items:center;gap:7px;margin-top:6px;}
.xst-ai-field-row .xst-preset-select{flex:1 1 auto;min-width:0;margin-top:0;}
.xst-ai-enhancer-btn{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;padding:0 12px;border:1px solid rgba(255,138,31,.45);border-radius:9px;background:rgba(255,138,31,.09);color:#ffb15f;font:inherit;font-size:11px;font-weight:800;cursor:pointer;white-space:nowrap;transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease;}
.xst-ai-enhancer-btn:hover:not(:disabled){background:rgba(255,138,31,.16);border-color:#ff8a1f;color:#fff;transform:translateY(-1px);}
.xst-ai-enhancer-btn:disabled{opacity:.58;cursor:not-allowed;}
.xst-ai-enhancer-btn.is-loading{opacity:.72;}
.xst-lyrics-tools{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.xst-lyrics-tools .xst-ai-enhancer-btn{margin-left:auto;min-height:30px;padding:0 10px;font-size:10px;}
@media (max-width:640px){.xst-ai-field-row{align-items:stretch;flex-direction:column}.xst-ai-enhancer-btn{width:100%}.xst-lyrics-tools{flex-wrap:wrap}.xst-lyrics-tools .xst-ai-enhancer-btn{margin-left:0;width:100%;}}

/* ========================================================================
   X2O2 Studio — Mobile Layout Repair
   Fixes the native Soundify 280px desktop gutter leaking into mobile and
   makes the Studio workspace fluid instead of squeezing its columns.
   ======================================================================== */
@media (max-width: 768px) {
  /* The Studio page owns the mobile viewport; do not reserve the desktop
     Soundify left-sidebar space here. */
  .ma_page_content.x2o2-studio-page-wrap,
  .x2o2-studio-page-wrap {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    margin-top: 0 !important;
    padding: 8px 10px 24px !important;
    box-sizing: border-box !important;
  }

  #container_content:has(.x2o2-studio-page) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  .x2o2-studio-page {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
  }

  /* One fluid column on phones. Never let the desktop grid's minmax()
     values create a squeezed 60–70px layout. */
  .xst-shell {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .xst-left,
  .xst-center,
  .xst-right {
    position: static !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  /* Generator panel */
  .xst-left {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    border-right: 0 !important;
    border-bottom: 1px solid var(--xst-line) !important;
  }

  .xst-left-scroll {
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    overflow: visible !important;
    overflow-x: hidden !important;
  }

  /* Library panel */
  .xst-center {
    flex: 0 0 auto !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  .xst-library-scroll {
    max-height: none !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-bottom: 32px !important;
  }

  .xst-main-head {
    padding: 13px 12px 10px !important;
  }

  .xst-title-row {
    min-width: 0;
    flex-wrap: wrap;
    gap: 7px;
  }

  .xst-title-row h1 {
    font-size: 20px;
  }

  .xst-search-row {
    padding: 9px 12px 7px !important;
    gap: 7px !important;
  }

  .xst-filters {
    width: 100% !important;
    min-width: 0;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap !important;
    justify-content: flex-start;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
    padding-bottom: 1px;
  }

  .xst-filters::-webkit-scrollbar {
    display: none;
  }

  .xst-filters button {
    flex: 0 0 auto !important;
  }

  .xst-library-summary {
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .xst-summary-note {
    max-width: 48%;
  }

  .xst-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .xst-input,
  .xst-select,
  .xst-textarea,
  .xst-range {
    max-width: 100% !important;
  }

  .xst-grid2 {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .ma_page_content.x2o2-studio-page-wrap,
  .x2o2-studio-page-wrap {
    padding: 6px 7px 18px !important;
  }

  .xst-left-top {
    padding: 11px 10px 9px !important;
  }

  .xst-left-scroll {
    padding: 10px !important;
  }

  .xst-main-head {
    padding: 12px 10px 9px !important;
  }

  .xst-title-row h1 {
    font-size: 18px;
  }

  .xst-main-head > div:first-child > p {
    font-size: 9px !important;
    line-height: 1.4;
  }

  .xst-search-row {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .xst-library-summary {
    align-items: flex-start !important;
    flex-direction: column;
    gap: 6px;
  }

  .xst-summary-note {
    max-width: 100%;
    text-align: left !important;
  }

  .xst-grid2 {
    grid-template-columns: 1fr !important;
  }

  .xst-song-row {
    grid-template-columns: 26px 46px minmax(0, 1fr) auto !important;
    gap: 6px !important;
  }

  .xst-song-cover {
    width: 46px !important;
    height: 46px !important;
  }
}

/* X2O2 Studio refresh: site-accent glass surfaces */
.x2o2-studio-page {
  background: transparent;
}

.xst-shell {
  --xst-accent: var(--main, var(--main-color, #ff7a1a));
  --xst-accent-hover: var(--main-hover, #eb6710);
  --xst-surface: rgba(25, 27, 30, .2);
  --xst-surface-raised: rgba(32, 34, 37, .2);
  --xst-line: rgba(255, 255, 255, .1);
  --xst-line-strong: rgba(255, 255, 255, .17);
  --xst-text: #f7f7f8;
  --xst-muted: #b4b5b8;
  border: 1px solid color-mix(in srgb, var(--xst-accent) 28%, rgba(255, 255, 255, .12));
  border-radius: 18px;
  background: var(--xst-surface);
  box-shadow: 0 24px 64px rgba(0, 0, 0, .28), inset 0 1px rgba(255, 255, 255, .04);
  backdrop-filter: blur(18px) saturate(125%);
}

.xst-left,
.xst-center,
.xst-right,
.xst-left-top,
.xst-left-tabs,
.xst-main-head,
.xst-search-row,
.xst-library-summary,
.xst-section-caption,
.xst-create-footer,
.xst-player,
.xst-right-head,
.xst-card,
.xst-song-row,
.xst-song-row:hover,
.xst-song-row.is-selected,
.xst-bulk-toolbar,
.xst-search,
.xst-task-tabs,
.xst-upload,
.xst-ref-preview,
.xst-v3-image-item {
  background: var(--xst-surface);
  backdrop-filter: blur(14px) saturate(120%);
}

.xst-left { border-right-color: var(--xst-line); }
.xst-right { border-left-color: var(--xst-line); }
.xst-main-head,
.xst-left-top,
.xst-right-head,
.xst-create-footer,
.xst-player { border-color: var(--xst-line); }

.xst-card {
  border-color: var(--xst-line);
  border-radius: 14px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .035);
  transition: border-color .18s ease, transform .18s ease;
}

.xst-card:hover { border-color: var(--xst-line-strong); }
.xst-title-row h1 { font-weight: 700; letter-spacing: -.025em; }
.xst-field-label,
.xst-kicker { color: #e0e0e2; }
.xst-card-sub,
.xst-hint,
.xst-lyrics-tools,
.xst-advanced-note { color: #a1a2a6; }

.xst-input,
.xst-select,
.xst-textarea,
.xst-version,
.xst-sort select {
  border-color: var(--xst-line-strong);
  border-radius: 10px;
  background: rgba(12, 13, 15, .42);
  color: var(--xst-text);
}

.xst-input:focus,
.xst-select:focus,
.xst-textarea:focus,
.xst-version:focus,
.xst-sort select:focus {
  border-color: var(--xst-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--xst-accent) 22%, transparent);
}

.xst-left-tabs button,
.xst-task-tabs button,
.xst-preset-row button,
.xst-filters button,
.xst-icon-btn,
.xst-small-btn,
.xst-empty-btn,
.xst-detail-actions button,
.xst-bulk-actions button,
.xst-select-all span {
  border-radius: 9px;
  transition: color .18s ease, background .18s ease, border-color .18s ease, transform .18s ease;
}

.xst-left-tabs button.is-active,
.xst-task-tabs button.is-active,
.xst-filters button.is-active,
.xst-bulk-actions button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--xst-accent) 65%, transparent);
  background: color-mix(in srgb, var(--xst-accent) 22%, transparent);
  color: #fff;
}

.xst-task-tabs button:hover,
.xst-left-tabs button:hover,
.xst-filters button:hover,
.xst-preset-row button:hover,
.xst-icon-btn:hover,
.xst-small-btn:hover,
.xst-empty-btn:hover,
.xst-bulk-actions button:hover:not(:disabled) {
  border-color: color-mix(in srgb, var(--xst-accent) 55%, transparent);
}

.xst-switch input:checked + span { background: var(--xst-accent); }
.xst-range,
.xst-player-volume input,
.xst-seek { accent-color: var(--xst-accent); }
.xst-upload.is-dragging { border-color: var(--xst-accent); }
.xst-upload.is-dragging .xst-upload-plus,
.xst-song-title:hover { color: var(--xst-accent); }
.xst-ref-wave i,
.xst-progress-track span,
.xst-generating-bar .track i {
  background: linear-gradient(90deg, var(--xst-accent), #ffad45);
}

.xst-create-btn,
.xst-detail-actions button.is-primary,
.xst-detail-actions button.xst-master-btn {
  border-color: var(--xst-accent);
  border-radius: 11px;
  background: var(--xst-accent);
  color: #fff;
  box-shadow: 0 8px 24px color-mix(in srgb, var(--xst-accent) 24%, transparent);
}

.xst-create-btn:hover,
.xst-detail-actions button.xst-master-btn:hover,
.xst-detail-actions button.is-primary:hover {
  border-color: var(--xst-accent-hover);
  background: var(--xst-accent-hover);
}

.xst-song-row {
  border-color: var(--xst-line);
  border-radius: 13px;
}

.xst-card:hover,
.xst-song-row:hover { background: var(--xst-surface-raised); }
.xst-song-row:hover { border-color: var(--xst-line-strong); }
.xst-song-row.is-selected {
  border-color: color-mix(in srgb, var(--xst-accent) 55%, transparent);
  box-shadow: inset 3px 0 0 var(--xst-accent);
}

.xst-version-pill {
  background: color-mix(in srgb, var(--xst-accent) 16%, transparent);
  color: color-mix(in srgb, var(--xst-accent) 72%, white);
}

.xst-ai-enhancer-btn {
  border-color: color-mix(in srgb, var(--xst-accent) 46%, transparent);
  border-radius: 10px;
  background: color-mix(in srgb, var(--xst-accent) 13%, transparent);
  color: color-mix(in srgb, var(--xst-accent) 62%, white);
}

.xst-ai-enhancer-btn:hover:not(:disabled) {
  border-color: var(--xst-accent);
  background: color-mix(in srgb, var(--xst-accent) 25%, transparent);
  color: #fff;
}

.xst-empty-art,
.xst-tip-icon,
.xst-upload-plus {
  background: color-mix(in srgb, var(--xst-accent) 18%, rgba(25, 27, 30, .2));
  color: color-mix(in srgb, var(--xst-accent) 68%, white);
}

.xst-detail-actions button,
.xst-action-menu,
.xst-confirm-dialog {
  border-color: var(--xst-line-strong);
  border-radius: 12px;
  background: rgba(25, 27, 30, .2);
  backdrop-filter: blur(16px) saturate(125%);
}

.xst-action-menu button:hover { background: rgba(255, 255, 255, .08); }
.xst-confirm-actions button { border-radius: 9px; }
.xst-detail-cover { border-radius: 14px; }
.xst-meta-list { border-color: var(--xst-line); }
.xst-meta-list div { border-color: var(--xst-line); }

.xst-shell :focus-visible {
  outline: 2px solid color-mix(in srgb, var(--xst-accent) 78%, white);
  outline-offset: 2px;
}

/* Improve readability of compact Studio labels and metadata. */
.x2o2-studio-page .xst-engine-status,
.x2o2-studio-page .xst-upload-copy strong,
.x2o2-studio-page .xst-song-sub,
.x2o2-studio-page .xst-song-style,
.x2o2-studio-page .xst-library-summary > div:first-child strong,
.x2o2-studio-page .xst-row-number,
.x2o2-studio-page .xst-row-style span,
.x2o2-studio-page .xst-version-pill,
.x2o2-studio-page .xst-tip-card strong,
.x2o2-studio-page .xst-row-meta,
.x2o2-studio-page .xst-player-meta strong,
.x2o2-studio-page .xst-player-volume,
.x2o2-studio-page .xst-ai-enhancer-btn {
  font-size: 12px !important;
}

.x2o2-studio-page .xst-task-tabs button,
.x2o2-studio-page .xst-detail-text,
.x2o2-studio-page .xst-detail-lyrics,
.x2o2-studio-page .xst-confirm-copy p,
.x2o2-studio-page .xst-row-style small,
.x2o2-studio-page .xst-row-cancel,
.x2o2-studio-page .xst-empty p,
.x2o2-studio-page .xst-detail-title span,
.x2o2-studio-page .xst-policy-control > span,
.x2o2-studio-page .xst-policy-stat > span,
.x2o2-studio-page .xst-action-menu button {
  font-size: 10.8px !important;
}

.x2o2-studio-page .xst-kicker,
.x2o2-studio-page .xst-field-label,
.x2o2-studio-page .xst-detail-heading,
.x2o2-studio-page .xst-hint,
.x2o2-studio-page .xst-card-sub,
.x2o2-studio-page .xst-lyrics-tools,
.x2o2-studio-page .xst-summary-note,
.x2o2-studio-page .xst-clear,
.x2o2-studio-page .xst-copy,
.x2o2-studio-page .xst-preset-row button,
.x2o2-studio-page .xst-small-btn,
.x2o2-studio-page .xst-ref-info b,
.x2o2-studio-page .xst-grid2 label,
.x2o2-studio-page .xst-range-line,
.x2o2-studio-page .xst-range-line output,
.x2o2-studio-page .xst-tip-card span,
.x2o2-studio-page .xst-alert,
.x2o2-studio-page .xst-breadcrumb,
.x2o2-studio-page .xst-filters button,
.x2o2-studio-page .xst-sort select,
.x2o2-studio-page .xst-empty-btn,
.x2o2-studio-page .xst-select-all,
.x2o2-studio-page .xst-selection-count,
.x2o2-studio-page .xst-bulk-actions button,
.x2o2-studio-page .xst-lyrics-tools .xst-ai-enhancer-btn {
  font-size: 10.8px !important;
}

.x2o2-studio-page .xst-upload-copy span,
.x2o2-studio-page .xst-ref-info span,
.x2o2-studio-page .xst-create-shortcut,
.x2o2-studio-page .xst-progress-line small,
.x2o2-studio-page .xst-progress-line button,
.x2o2-studio-page .xst-center-status span,
.x2o2-studio-page .xst-library-summary > div:first-child span,
.x2o2-studio-page .xst-summary-note,
.x2o2-studio-page .xst-section-caption,
.x2o2-studio-page .xst-player-meta span,
.x2o2-studio-page .xst-seek-wrap span,
.x2o2-studio-page .xst-right-head,
.x2o2-studio-page .xst-chip-row span,
.x2o2-studio-page .xst-meta-list span,
.x2o2-studio-page .xst-meta-list strong,
.x2o2-studio-page .xst-policy-control small,
.x2o2-studio-page .xst-policy-stat small,
.x2o2-studio-page .xst-advanced-note,
.x2o2-studio-page .xst-detail-actions button span,
.x2o2-studio-page .xst-v3-image-item span,
.x2o2-studio-page .xst-policy-note,
.x2o2-studio-page .xst-generation-engine,
.x2o2-studio-page .xst-v3-reference-options small,
.x2o2-studio-page .xst-limit-row,
.x2o2-studio-page .xst-v3-field-count,
.x2o2-studio-page .xst-row-select-wrap .xst-row-number {
  font-size: 9.6px !important;
}

.x2o2-studio-page .xst-live-pill {
  font-size: 8.4px !important;
}

.x2o2-studio-page .xst-ai-enhancer-btn,
.x2o2-studio-page .xst-task-tabs button,
.x2o2-studio-page .xst-main-head > div:first-child > p,
.x2o2-studio-page .xst-search input,
.x2o2-studio-page .xst-player-btn {
  font-size: 13.2px !important;
}

.x2o2-studio-page .xst-lyrics-tools .xst-ai-enhancer-btn {
  font-size: 12px !important;
}

.x2o2-studio-page .xst-engine-status,
.x2o2-studio-page .xst-hint,
.x2o2-studio-page .xst-card-sub,
.x2o2-studio-page .xst-lyrics-tools,
.x2o2-studio-page .xst-summary-note,
.x2o2-studio-page .xst-clear,
.x2o2-studio-page .xst-copy,
.x2o2-studio-page .xst-upload-copy span,
.x2o2-studio-page .xst-ref-info span,
.x2o2-studio-page .xst-grid2 label,
.x2o2-studio-page .xst-range-line,
.x2o2-studio-page .xst-tip-card span,
.x2o2-studio-page .xst-progress-line small,
.x2o2-studio-page .xst-breadcrumb,
.x2o2-studio-page .xst-main-head > div:first-child > p,
.x2o2-studio-page .xst-center-status span,
.x2o2-studio-page .xst-library-summary > div:first-child span,
.x2o2-studio-page .xst-section-caption,
.x2o2-studio-page .xst-row-number,
.x2o2-studio-page .xst-song-sub,
.x2o2-studio-page .xst-song-style,
.x2o2-studio-page .xst-row-style span,
.x2o2-studio-page .xst-row-style small,
.x2o2-studio-page .xst-row-meta,
.x2o2-studio-page .xst-empty p,
.x2o2-studio-page .xst-player-meta span,
.x2o2-studio-page .xst-seek-wrap span,
.x2o2-studio-page .xst-right-head,
.x2o2-studio-page .xst-detail-title span,
.x2o2-studio-page .xst-detail-text,
.x2o2-studio-page .xst-detail-lyrics,
.x2o2-studio-page .xst-meta-list span,
.x2o2-studio-page .xst-meta-list strong,
.x2o2-studio-page .xst-policy-control > span,
.x2o2-studio-page .xst-policy-stat > span,
.x2o2-studio-page .xst-policy-control small,
.x2o2-studio-page .xst-policy-stat small,
.x2o2-studio-page .xst-advanced-note,
.x2o2-studio-page .xst-confirm-copy p,
.x2o2-studio-page .xst-v3-image-item span,
.x2o2-studio-page .xst-policy-note,
.x2o2-studio-page .xst-generation-engine,
.x2o2-studio-page .xst-v3-reference-options small,
.x2o2-studio-page .xst-limit-row,
.x2o2-studio-page .xst-v3-field-count,
.x2o2-studio-page .xst-selection-count {
  color: color-mix(in srgb, currentColor 65%, white) !important;
}

@media (max-width: 480px) {
  .x2o2-studio-page .xst-main-head > div:first-child > p {
    font-size: 10.8px !important;
  }
}

@media (max-width: 900px) {
  .x2o2-studio-page .xst-song-style {
    font-size: 11.4px !important;
  }
}

.xst-row-menu-wrap .xst-action-menu {
  background: #222225;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.xst-song-row:has(.xst-row-menu-wrap .xst-action-menu:not([hidden])) {
  z-index: 81;
}

