/* Shared responsive presentation. IDs and public API contracts remain stable. */
.uya-page.has-song-tools.is-desktop-template #type_list { flex:0 0 38px; min-height:38px; height:38px; margin:0 0 8px; padding:0; overflow-y:hidden; }
.uya-page.has-song-tools #songs_list { grid-auto-rows:max-content; }
.uya-page.has-song-tools .song-tools-item { height:max-content; grid-auto-rows:max-content; }
.uya-page .song-tools-item .song_info { overflow:visible; min-height:min-content; }
:root { --uya-ink:#342c43; --uya-muted:#786d86; --uya-purple:#7650ad; --uya-border:#e8e1ef; --bili-purple:#7650ad; --bili-ink:#342c43; --bili-muted:#786d86; }
html { min-width:0; width:100%; height:100%; overflow:hidden; }
body.uya-page { min-width:0; width:100%; height:100vh; height:100dvh; margin:0; padding:0; overflow:hidden; display:flex; flex-direction:column; background:radial-gradient(ellipse at 15% 0%,#e8dff480,transparent 45%),#f7f5f9; color:var(--uya-ink); font:14px/1.5 "Segoe UI","Microsoft YaHei",system-ui,sans-serif; user-select:text; -webkit-user-select:text; }
.uya-page *, .uya-page *::before, .uya-page *::after { box-sizing:border-box; }
.uya-page button,.uya-page input,.uya-page select { font-family:inherit; }
.uya-page button,.uya-page a,.uya-page input,.uya-page select,.uya-page summary { -webkit-tap-highlight-color:transparent; }
.uya-page :is(button,a,input,select,summary):focus-visible { outline:3px solid #9170bc; outline-offset:3px; }
.uya-header { flex-shrink:0; display:flex; align-items:center; justify-content:space-between; width:min(1440px,100%); margin:auto; padding:18px 32px; gap:12px; }
.uya-brand { display:flex; align-items:center; gap:11px; color:var(--uya-ink); text-decoration:none; font-size:20px; font-weight:750; letter-spacing:1px; }
.uya-brand-mark { display:grid; place-items:center; width:42px; height:42px; background:#e6daf3; color:#7650ad; border-radius:15px 15px 15px 5px; font-size:28px; }
.uya-brand small { display:block; font-size:10px; color:var(--uya-muted); font-weight:400; letter-spacing:1px; margin-top:2px; }
.uya-header-actions { display:flex; align-items:center; gap:10px; }
.uya-live-link { padding:9px 15px; border:1px solid #ddd2eb; border-radius:99px; color:#69459a; background:#fff8; text-decoration:none; font-size:13px; font-weight:650; white-space:nowrap; }
.uya-live-link span { margin-left:6px; }
.uya-layout { display:grid; grid-template-columns:244px minmax(0,1fr); gap:26px; width:min(1440px,100%); margin:0 auto; padding:0 32px; flex:1; min-height:0; }
.uya-sidebar { min-height:0; overflow:auto; scrollbar-width:thin; }
.uya-profile { padding:28px 18px 20px; border:1px solid #e3daed; border-radius:24px; background:linear-gradient(155deg,#ede4f4,#fbf8fc 65%); text-align:center; }
.uya-portrait { position:relative; width:116px; height:116px; margin:0 auto 18px; }
.uya-portrait img { width:100%; height:100%; object-fit:cover; border:5px solid #fff9; border-radius:50%; box-shadow:0 8px 25px #7650ad1a; }
.uya-portrait>span { position:absolute; right:-5px; bottom:1px; display:grid; place-items:center; width:30px; height:30px; background:#fff; color:#8860b4; border-radius:50%; font-size:21px; transform:rotate(12deg); }
.uya-eyebrow { margin:0 0 7px; color:#907da4; font-size:10px; font-weight:650; letter-spacing:2px; }
.uya-profile h1 { margin:0; font-size:26px; line-height:1.4; letter-spacing:.3px; }
.uya-profile-caption { margin:6px 0 22px; color:#82718f; font-size:12px; }
.uya-profile-stats { display:grid; grid-template-columns:repeat(3,1fr); padding:14px 0; border-top:1px solid #e4dcec; border-bottom:1px solid #e4dcec; }
.uya-profile-stats div+div { border-left:1px solid #e4dcec; }
.uya-profile-stats strong { display:block; font-size:17px; font-weight:650; font-variant-numeric:tabular-nums; }
.uya-profile-stats span { color:var(--uya-muted); font-size:11px; }
.uya-sign { margin:16px 0 0; font-size:12px; line-height:1.8; color:var(--uya-muted); overflow-wrap:anywhere; white-space:pre-line; }
.uya-note { margin-top:14px; padding:18px 20px; border:1px solid #eee4dc; border-radius:18px; background:#fff9f2; }
.uya-note .uya-eyebrow { color:#a28a6c; letter-spacing:1px; }
.uya-note p { margin:6px 0 0; color:#826f5b; font-size:13px; line-height:1.8; }
.uya-listening-note { padding:22px 12px; color:#b19bbe; }
.uya-listening-note>span { font-size:22px; }
.uya-listening-note p { font-size:17px; line-height:1.9; margin:8px 0; letter-spacing:1px; }
.uya-listening-note small { font-size:11px; color:#9c8ea9; }
.uya-main { min-height:0; min-width:0; display:flex; flex-direction:column; }
.uya-song-heading { flex-shrink:0; display:flex; justify-content:space-between; align-items:center; padding:10px 2px 18px; gap:12px; }
.uya-song-heading h2 { margin:0; font-size:28px; line-height:1.4; font-weight:700; letter-spacing:.5px; }
.uya-heading-note { color:#9c8eaa; font-size:12px; }
.uya-page .bili-hub--desktop { width:100%; margin:0 0 18px; height:100px; min-height:100px; max-height:none; padding:0; border:0; border-radius:0; background:none; box-shadow:none; grid-template-columns:1fr 1.1fr 1.3fr 1.15fr; gap:10px; flex-shrink:0; }
.uya-page .bili-hub--desktop .bili-hub__card { min-height:0; border:1px solid var(--uya-border); border-radius:15px; background:#ffffffbd; box-shadow:none; padding:11px 12px; }
.uya-page .bili-hub__name { font-size:15px; }
.uya-page .bili-hub__label { font-size:10px; }
.uya-page .bili-hub__live-title { font-size:12px; }
.uya-page .bili-hub__latest-title { font-size:12px; line-height:1.6; }
.uya-page .bili-hub__trend-summary { font-size:10px; }
.uya-page .bili-hub--desktop .vs-open { border:0; background:#f0e9f7; color:#7957a3; font-weight:600; border-radius:6px; }
.uya-page .search_form { position:relative; display:flex; gap:8px; align-items:center; width:100%; height:48px; min-height:48px; flex:0 0 48px; padding:5px; margin:0 0 10px; overflow:visible; background:#fff; border:1px solid #ded3ea; border-radius:14px; box-shadow:0 3px 12px #59407005; }
.uya-search-icon { padding:0 4px 4px 10px; color:#9680ac; font-size:28px; }
.uya-page .search_input { min-width:0; width:auto; height:36px; padding:4px 2px; flex:1; float:none; border:0; border-radius:6px; background:transparent; box-shadow:none; font-size:14px; color:var(--uya-ink); line-height:1.5; }
.uya-page .search_input::placeholder { color:#aa9cb8; }
.uya-page .search_input:focus { box-shadow:none; }
.uya-page .search_button { display:block; float:none; width:76px; flex:0 0 76px; height:36px; margin:0; padding:0 10px; color:white; border:0; border-radius:9px; background:var(--uya-purple); letter-spacing:1px; font-size:13px; line-height:36px; }
.uya-page #type_list { display:flex; gap:6px; width:100%; height:38px; min-height:38px; flex:0 0 38px; margin:0 0 8px; padding:0; overflow-x:auto; overflow-y:hidden; flex-wrap:nowrap; white-space:nowrap; scrollbar-width:none; }
.uya-page #type_list::-webkit-scrollbar { display:none; }
.uya-page.has-song-tools #type_list button { flex:0 0 auto; float:none; min-width:0; margin:0; padding:5px 12px; border:1px solid transparent; border-radius:9px; background:transparent; color:#8a7c98; font:12px/24px inherit; font-size:12px; line-height:24px; letter-spacing:0; box-shadow:none; text-shadow:none; }
.uya-page.has-song-tools #type_list button[aria-pressed=true] { background:#e8dff2; border-color:#d4c2e7; color:#66428f; font-weight:650; }
.uya-page.has-song-tools #type_list button[data-tag="★学歌"],.uya-page.has-song-tools #type_list button[data-tag="学歌"] { color:#a97134; background:#fbecd9; }
.uya-page.has-song-tools #type_list button[data-tag="★学歌"][aria-pressed=true],.uya-page.has-song-tools #type_list button[data-tag="学歌"][aria-pressed=true] { border-color:#c49453; background:#f6dfbd; }
.uya-page .song-tools-container { margin:0 0 10px; font-family:inherit; flex:0 0 auto; }
.uya-page .song-tools { gap:6px; }
.uya-page .song-tool-button,.uya-page .song-tool-sort { border:1px solid #e0d7e9; border-radius:8px; background:#ffffffb3; color:#816a95; min-height:32px; padding:5px 10px; font:12px/1.4 "Segoe UI","Microsoft YaHei",sans-serif; transition:background .15s,border-color .15s; }
.uya-page .song-tool-button:hover { background:#eee6f6; border-color:#c9b7dd; }
.uya-page .song-tool-button[aria-pressed=true] { background:#e4d5f2; color:#603d88; border-color:#c5aedc; }
.uya-page .song-tool-button:disabled { opacity:.45; }
.uya-page .song-tools-status { margin:9px 0 0; color:#9a8caa; font:11px/1.5 inherit; font-size:11px; }
.uya-page #songs_list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); align-content:start; gap:10px; min-height:0; flex:1; width:100%; height:auto; margin:0; padding:1px 5px 16px 1px; overflow-x:hidden; overflow-y:auto; scrollbar-width:thin; scrollbar-color:#d5c8e1 transparent; }
.uya-page.has-song-tools .song-tools-item { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:8px; row-gap:8px; width:auto; min-width:0; min-height:0; float:none; position:relative; margin:0; padding:15px; border:1px solid var(--uya-border); background:#fff; border-radius:14px; transition:border-color .15s,box-shadow .15s; }
.uya-page .song-tools-item:hover { border-color:#cdb9e2; box-shadow:0 4px 14px #6950800b; }
.uya-page .song-tools-item .song_info { display:flex; flex-direction:column; gap:4px; grid-column:1/-1; position:static; top:auto; left:auto; width:auto; max-height:none; margin:0; padding:0; font-size:16px; line-height:1.45; overflow-wrap:anywhere; word-break:normal; white-space:normal; }
.uya-page .song_info::after { display:none; }
.uya-song-name { font-weight:650; letter-spacing:.1px; }
.uya-song-singer { font-size:12px; color:#9a8aa8; font-weight:400; }
.uya-page .song-tools-item .claim { grid-column:1/-1; margin:0; font-size:11px; color:#a0754e; }
.uya-page .song-tools-item .info_tag_area { grid-column:1/-1; display:flex; flex-wrap:wrap; position:static; margin:0; width:auto; gap:4px; }
.uya-page .song-tools-item .info_tag { float:none; margin:0; padding:2px 6px; font-size:10px; font-weight:400; line-height:16px; letter-spacing:0; min-width:0; border-radius:5px; color:#9a85af; background:#f4eff9; }
.uya-page .song-item-actions { grid-column:1/-1; justify-content:flex-end; gap:5px; margin-top:2px; }
.uya-page .song-item-actions .song-tool-button { min-height:30px; padding:4px 9px; font-size:11px; }
.uya-page .song-item-actions .song-copy { border-color:#e2d6ed; color:#78509e; background:#f1eaf8; }
.uya-page .song-list-state { grid-column:1/-1; padding:24px 12px; color:#9a8aa8; font-size:12px; }
.uya-page footer { position:static; flex-shrink:0; width:100%; height:auto; padding:10px 12px; margin:0; border:0; box-shadow:none; background:none; color:#aea0b8; font-size:10px; line-height:1.4; text-align:center; }
.uya-page footer nav ul { padding:0; margin:0; line-height:1.4; font-size:10px; }
.uya-page footer a { color:#aea0b8; text-decoration:none; }
.uya-page .song-random-dialog,.uya-page .vs-dialog { border:1px solid #ded2ea; border-radius:22px; box-shadow:0 25px 100px #38244233; background:#fcfaff; }
.uya-page .song-random-dialog { padding:26px; }
.uya-page .song-random-actions { flex-wrap:wrap; }
.uya-page .vs-panel { padding:20px; font-family:inherit; }
.uya-page .vs-dialog .vs-panel-head { top:-20px; background:#fcfaff; }
.uya-page .vs-panel>details { border-radius:14px; padding:16px; }
.uya-page .vs-panel .song-tool-button { min-height:36px; }
.uya-page .vs-panel .vs-feedback { color:#7650ad; }
.uya-page .bili-hub--mobile { border-radius:24px 24px 0 0; max-height:88vh; max-height:88dvh; }
.uya-page .bili-hub--mobile .vs-panel { padding:0; }
.uya-page .bili-mobile-trigger { position:static; font:12px/1.4 inherit; font-size:12px; min-height:36px; padding:7px 10px; box-shadow:none; border-color:#ded2ea; }
.uya-page .uya-legacy-tools { display:none; }
@media (max-width:1150px) { .uya-layout { grid-template-columns:212px minmax(0,1fr); gap:20px; } .uya-page #songs_list { grid-template-columns:1fr; } .uya-heading-note { display:none; } .uya-page .bili-hub--desktop { grid-template-columns:1fr 1.2fr 1.3fr; } .uya-page .bili-hub--desktop .bili-hub__profile { display:none; } }
@media (max-width:800px) {
 .uya-header { padding:12px 18px; } .uya-layout { grid-template-columns:1fr; padding:0 18px; gap:12px; } .uya-sidebar { display:none; } .uya-song-heading { padding:6px 0 14px; } .uya-song-heading h2 { font-size:25px; }
}
@media (max-width:719px) { .uya-page .bili-hub--desktop { display:none; } .uya-page .vs-compact-open { display:inline-block; } }
@media (max-width:600px) {
 .uya-header { padding:12px 16px; } .uya-brand { font-size:17px; gap:8px; letter-spacing:.5px; } .uya-brand-mark { width:34px; height:34px; font-size:23px; border-radius:12px 12px 12px 4px; } .uya-brand small { font-size:9px; letter-spacing:0; } .uya-header-actions { gap:6px; } .uya-live-link { padding:7px 10px; font-size:11px; } .uya-live-link span { margin-left:2px; }
 .uya-layout { display:flex; flex-direction:column; gap:0; padding:0 16px; } .uya-sidebar { display:block; overflow:visible; flex-shrink:0; }
 .uya-profile { display:flex; align-items:center; text-align:left; gap:13px; padding:14px 16px; border-radius:18px; } .uya-portrait { flex:0 0 58px; width:58px; height:58px; margin:0; } .uya-portrait img { border-width:3px; } .uya-portrait>span { width:21px; height:21px; font-size:16px; right:-3px; } .uya-profile h1 { font-size:22px; } .uya-profile-caption { margin:3px 0 0; font-size:11px; } .uya-profile-name .uya-eyebrow { display:none; } .uya-profile-stats,.uya-sign,.uya-note,.uya-listening-note { display:none; }
 .uya-main { flex:1; min-height:0; } .uya-song-heading { padding:15px 0 10px; } .uya-song-heading h2 { font-size:21px; } .uya-song-heading .uya-eyebrow { display:none; }
 .uya-page .search_form { height:44px; min-height:44px; flex-basis:44px; border-radius:12px; margin-bottom:8px; } .uya-page .search_input { font-size:16px; height:34px; } .uya-page .search_button { height:32px; flex-basis:62px; width:62px; line-height:32px; }
 .uya-page #type_list { margin-bottom:5px; height:36px; min-height:36px; flex-basis:36px; } .uya-page.has-song-tools #type_list button { padding:4px 10px; }
 .uya-page .song-tools { gap:5px; } .uya-page .song-tools>.song-tool-button,.uya-page .song-tool-sort { font-size:11px; padding:6px 8px; min-height:34px; } .uya-page .song-tools-status { margin-top:7px; }
 .uya-page #songs_list { gap:8px; } .uya-page.has-song-tools .song-tools-item { padding:13px; gap:7px; } .uya-page .song-item-actions .song-tool-button { min-height:36px; padding:6px 10px; font-size:11px; }
 .uya-page .song-tools-item .song_info { font-size:16px; } .uya-page footer { padding:7px 10px; } .uya-page .song-return-top { display:none; }
 .uya-page.is-mobile-template .vs-compact-open { display:none; }
 .uya-page .vs-panel { padding:14px; } .uya-page .vs-panel-head { gap:6px; } .uya-page .vs-panel h2 { font-size:18px; }
}
@media (max-height:650px) and (max-width:600px) { .uya-profile { padding:8px 12px; } .uya-portrait { width:42px; height:42px; flex-basis:42px; } .uya-profile-caption { display:none; } .uya-song-heading { padding:10px 0 8px; } }
@media (prefers-reduced-motion:reduce) { .uya-page * { transition:none !important; scroll-behavior:auto !important; } }
/* Flat treatment requested after the first preview. */
body.uya-page { background:#faf9fb; }
.uya-brand-mark { border-radius:6px; background:#ece5f3; }
.uya-live-link { border-radius:5px; background:transparent; }
.uya-profile { background:#f1edf6; border:0; border-radius:8px; }
.uya-portrait img { box-shadow:none; border-width:3px; }
.uya-portrait>span { box-shadow:none; background:#f1edf6; }
.uya-note { background:transparent; border:0; border-left:2px solid #dcc8ac; border-radius:0; padding:8px 14px; margin:24px 0 0; }
.uya-listening-note { color:#b4a6be; }
.uya-page .bili-hub--desktop .bili-hub__card { background:#f2eff6; border:0; border-radius:6px; box-shadow:none; }
.uya-page a.bili-hub__card:hover { transform:none; background:#ebe4f2; box-shadow:none; }
.uya-page .search_form { border-radius:6px; box-shadow:none; background:#fff; }
.uya-page .search_button { border-radius:4px; }
.uya-page.has-song-tools #type_list button { border-radius:4px; }
.uya-page .song-tool-button,.uya-page .song-tool-sort { border-radius:4px; background:transparent; }
.uya-page #songs_list { column-gap:24px; row-gap:0; }
.uya-page.has-song-tools .song-tools-item { border:0; border-bottom:1px solid #e9e3ed; border-radius:0; background:transparent; padding:16px 4px; box-shadow:none; }
.uya-page .song-tools-item:hover { border-color:#d9cce4; background:#f5f1f8; box-shadow:none; }
.uya-page .song-tools-item .info_tag { border-radius:3px; background:#f0ebf5; }
.uya-page .song-random-dialog,.uya-page .vs-dialog { border-radius:10px; box-shadow:none; }
.uya-page .vs-panel>details { border-radius:6px; box-shadow:none; }
.uya-page .vs-growth-grid>div { border-radius:4px; }
.uya-page .bili-hub--mobile { border-radius:12px 12px 0 0; box-shadow:none; }
.uya-page .bili-mobile-trigger { border-radius:5px; background:transparent; }
@media(max-width:600px) { .uya-profile { border-radius:6px; } .uya-page.has-song-tools .song-tools-item { padding:14px 2px; } }
.uya-song-singer { color:#776581; }
.uya-page .song-tools-status { color:#786982; }
.uya-page .song-tools-item .info_tag { color:#766082; }
.uya-page .search_input::placeholder { color:#83728f; }
.uya-page #notice { display:block; white-space:pre-line; overflow-wrap:anywhere; }
.uya-page.song-list-scrolled .song-return-top { display:inline-block; }
.uya-page .bili-hub__card { background:#f2eff6; border:0; border-radius:6px; box-shadow:none; }
body.uya-page { touch-action:pan-y pinch-zoom; }
.uya-page #type_list { touch-action:pan-x pinch-zoom; }

/* Song actions stay together on desktop; compact screens disclose secondary actions. */
.uya-page .song-extra,.uya-page .song-quick-actions { display:contents; }
.uya-page .song-more { display:none; }
.uya-page .song-tools-item .song_info { order:0; }
.uya-page .song-tools-item .claim { order:1; }
.uya-page .song-tools-item .info_tag_area { order:2; }
.uya-page .song-extra .song-item-actions { order:3; grid-column:1; align-self:end; }
.uya-page .song-quick-actions .song-copy { order:3; grid-column:2; align-self:end; min-height:30px; padding:4px 9px; font-size:11px; border-color:#e2d6ed; color:#78509e; background:#f1eaf8; }

/* One page scroll keeps the mobile song list available below a short search header. */
html.uya-compact { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; scroll-padding-top:8px; }
html.uya-compact:has(body.bili-drawer-open),html.uya-compact:has(dialog[open]) { overflow-y:hidden; }
body.uya-page.uya-compact { --uya-footer-height:calc(40px + env(safe-area-inset-bottom,0px)); height:auto; min-height:100vh; min-height:100dvh; padding-bottom:var(--uya-footer-height); overflow:visible; display:block; background:radial-gradient(ellipse 38rem 28rem at 0 0,#ebe2fa80,transparent),radial-gradient(ellipse 32rem 30rem at 100% 12rem,#ffe5ee70,transparent),#faf7fc; }
.uya-page.uya-compact .uya-header { margin:0 auto; padding:8px 12px; gap:8px; }
.uya-page.uya-compact .uya-brand { gap:7px; font-size:16px; letter-spacing:0; }
.uya-page.uya-compact .uya-brand-mark { width:30px; height:30px; font-size:21px; border-radius:5px; }
.uya-page.uya-compact .uya-brand small { display:none; }
.uya-page.uya-compact .uya-header-actions { gap:5px; }
.uya-page.uya-compact .uya-live-link,.uya-page.uya-compact .bili-mobile-trigger { display:inline-flex; align-items:center; min-height:36px; padding:6px 8px; font-size:11px; }
.uya-page.uya-compact .uya-live-link span { margin-left:2px; }
.uya-page.uya-compact .uya-layout { display:block; padding:0 12px; }
.uya-page.uya-compact .uya-sidebar,.uya-page.uya-compact .uya-song-heading { display:none; }
.uya-page.uya-compact .uya-main { display:block; }
.uya-page.uya-compact .search_form { height:44px; min-height:44px; margin-bottom:5px; border-color:#cbb3e4; background:linear-gradient(110deg,#fff,#f8f1ff); }
.uya-page.uya-compact .search_form:focus-within { border-color:#9a71c5; box-shadow:0 0 0 2px #b48bd92e; }
.uya-page.uya-compact .uya-search-icon { color:#9863bc; }
.uya-page.uya-compact .search_input { font-size:16px; height:34px; }
.uya-page.uya-compact .search_button { height:32px; line-height:32px; flex-basis:60px; width:60px; background:#7650ad; }
.uya-page.uya-compact #type_list { height:36px; min-height:36px; margin-bottom:4px; }
.uya-page.uya-compact.has-song-tools #type_list button { padding:4px 10px; color:#785c91; border-color:#eadff4; background:#ffffff80; }
.uya-page.uya-compact.has-song-tools #type_list button[aria-pressed=true] { color:#fff; border-color:#7950ae; background:#7950ae; }
.uya-page.uya-compact.has-song-tools #type_list button[data-tag="★学歌"][aria-pressed=true],.uya-page.uya-compact.has-song-tools #type_list button[data-tag="学歌"][aria-pressed=true] { color:#fff; border-color:#936027; background:#936027; }
.uya-page.uya-compact .song-tools-container { margin:0 0 4px; }
.uya-page.uya-compact .song-tools { flex-wrap:nowrap; gap:4px; overflow-x:auto; padding:2px 0; scrollbar-width:none; }
.uya-page.uya-compact .song-tools::-webkit-scrollbar { display:none; }
.uya-page.uya-compact .song-tools>.song-tool-button,.uya-page.uya-compact .song-tool-sort { flex:0 0 auto; min-height:34px; padding:5px 7px; font-size:11px; white-space:nowrap; }
.uya-page.uya-compact .song-tools-status { margin:3px 0 0; font-size:11px; }
.uya-page.uya-compact #songs_list { grid-template-columns:1fr; column-gap:0; row-gap:4px; height:auto; max-height:none; flex:none; overflow:visible; padding:0 0 12px; }
/* The UID-based palette remains stable when songs are filtered or reordered. */
.uya-page.uya-compact .song-tools-item { --song-accent:#7650ad; --song-edge:#b298da; --song-tint:#ece4fa; --song-wash:#faf7ff; --song-line:#dfd1ef; }
.uya-page.uya-compact .song-tools-item[data-song-tone="rose"] { --song-accent:#a44372; --song-edge:#df94b4; --song-tint:#fce5ee; --song-wash:#fff9fb; --song-line:#efcfdd; }
.uya-page.uya-compact .song-tools-item[data-song-tone="mint"] { --song-accent:#287761; --song-edge:#7abdab; --song-tint:#def3eb; --song-wash:#f6fcf9; --song-line:#c7e7dc; }
.uya-page.uya-compact .song-tools-item[data-song-tone="amber"] { --song-accent:#936027; --song-edge:#d9ad70; --song-tint:#fff0d9; --song-wash:#fffaf1; --song-line:#efddbe; }
.uya-page.uya-compact.has-song-tools .song-tools-item { grid-template-columns:minmax(0,1fr) auto; column-gap:8px; row-gap:4px; padding:7px 7px 7px 9px; border-bottom:1px solid var(--song-line); border-left:3px solid var(--song-edge); border-radius:7px; background:linear-gradient(110deg,var(--song-tint),var(--song-wash)); }
.uya-page.uya-compact.has-song-tools .song-tools-item.is-favorite { box-shadow:inset -2px 0 #ce78a1; }
.uya-page.uya-compact .uya-song-name { color:#392a46; }
.uya-page.uya-compact .song-tools-item .song_info { grid-column:1; grid-row:1; gap:1px; align-self:center; min-width:0; font-size:14px; line-height:1.4; }
.uya-page.uya-compact .uya-song-singer { color:#706175; font-size:11px; line-height:1.4; }
.uya-page.uya-compact .song-quick-actions { display:flex; grid-column:2; grid-row:1; align-items:center; gap:4px; }
.uya-page.uya-compact .song-quick-actions .song-tool-button { min-height:40px; min-width:40px; padding:5px 7px; font-size:11px; white-space:nowrap; }
.uya-page.uya-compact .song-quick-actions .song-copy { color:#fff; border-color:var(--song-accent); background:var(--song-accent); }
.uya-page.uya-compact .song-quick-actions .song-more { display:inline-block; color:var(--song-accent); border-color:var(--song-line); background:#ffffffa6; }
.uya-page.uya-compact .song-quick-actions .song-more[aria-expanded=true] { border-color:var(--song-accent); background:#fff; }
.uya-page.uya-compact .song-tools-item .claim { grid-column:1/-1; grid-row:2; overflow-wrap:anywhere; font-size:11px; line-height:1.5; }
.uya-page.uya-compact .song-extra { display:none; }
.uya-page.uya-compact .song-tools-item.is-expanded .song-extra { display:flex; grid-column:1/-1; grid-row:3; flex-wrap:wrap; gap:6px; padding-top:5px; }
.uya-page.uya-compact .song-extra .info_tag_area { flex:1 1 100%; }
.uya-page.uya-compact .song-extra .info_tag { color:var(--song-accent); background:#ffffffb3; }
.uya-page.uya-compact .song-extra .song-item-actions { flex:1 1 100%; flex-wrap:wrap; margin:0; }
.uya-page.uya-compact .song-extra .song-item-actions .song-tool-button { min-height:40px; padding:6px 10px; font-size:11px; }
.uya-page.uya-compact .song-extra .song-favorite[aria-pressed=true] { color:#963767; border-color:#d99abc; background:#fbe1ed; }
.uya-page.uya-compact footer { position:fixed; z-index:80; inset:auto 0 0; display:flex; align-items:center; height:var(--uya-footer-height); padding:4px 10px calc(4px + env(safe-area-inset-bottom,0px)); border-top:1px solid var(--uya-border); background:#faf9fb; }
.uya-page.uya-compact footer nav { width:100%; overflow-x:auto; scrollbar-width:none; }
.uya-page.uya-compact footer nav::-webkit-scrollbar { display:none; }
.uya-page.uya-compact footer nav ul { display:flex; align-items:center; justify-content:center; gap:7px; width:max-content; min-width:100%; white-space:nowrap; }
.uya-page.uya-compact footer nav ul li { flex:0 0 auto; margin:0; }
.uya-page.uya-compact .uya-bgm-trigger,.uya-page.uya-compact .uya-effects-toggle { min-height:30px; }
.uya-page.uya-compact .uya-bgm { position:fixed; z-index:85; left:0; bottom:var(--uya-footer-height); }
.uya-page.uya-compact .song-return-top { display:none; }
.uya-page.uya-compact.song-list-scrolled .song-return-top { display:inline-block; position:fixed; z-index:75; right:12px; bottom:calc(var(--uya-footer-height) + 10px); min-height:40px; padding:7px 10px; border-color:#d6c7e3; background:#faf9fb; }
