/* Page composition. Reusable controls live in components.css. */
:root[data-theme] :is(#view-catalog,#view-library)>.page-title { margin:12px 0 18px; padding:0; display:flex; flex-wrap:wrap; gap:8px 16px; align-items:center; }
:root[data-theme] :is(#view-catalog,#view-library)>.page-title>.eyebrow { display:none; }
:root[data-theme] :is(#view-catalog,#view-library)>.page-title>h1 { font-size:clamp(28px,3vw,38px); margin:0; line-height:1.15; }
:root[data-theme] :is(#view-catalog,#view-library)>.page-title>p:last-child { flex-basis:100%; margin:0; font-size:13px; }
:root[data-theme] :is(.catalog-browser-tabs,.library-browser-tabs) { margin:0 0 16px; padding-block:0 12px; gap:8px; }
:root[data-theme] :is(.catalog-search-panel,.library-controls,.catalog-track-controls,.library-toolbar) { padding:16px; margin-top:0; }
:root[data-theme] #catalogTrackControls { margin-block:0 18px; }
:root[data-theme] #catalogTrackResultsSection { padding:18px 20px; margin-top:0; }
:root[data-theme] #catalogTrackResultsSection>.section-heading { margin-bottom:12px; }
:root[data-theme] #catalogTrackResultsSection .section-heading .eyebrow { display:none; }
:root[data-theme] .catalog-author-copy small { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
:root[data-theme] .notification-page-head { margin-block:12px 20px; }
:root[data-theme] .notification-toolbar { padding-block:12px; margin-block:0 16px; }
.notification-open { display:inline-flex; align-items:center; min-height:40px; margin-top:6px; color:var(--accent); font-size:12px; text-decoration:none; }
.notification-open:focus-visible { outline:2px solid var(--accent); outline-offset:2px; }
.taxonomy-groups { display:flex; gap:6px; overflow-x:auto; padding-block:4px 10px; scrollbar-width:thin; }
.taxonomy-groups>button { flex:none; border:1px solid var(--line); border-radius:20px; padding:8px 12px; min-height:40px; color:var(--muted); background:var(--panel); font:inherit; font-size:12px; }
.taxonomy-groups>button[aria-pressed="true"] { color:var(--text); background:var(--active-bg); border-color:var(--accent); }
.taxonomy-option-group { grid-column:1/-1; min-width:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.taxonomy-option-group>h3 { grid-column:1/-1; font-size:12px; color:var(--muted); padding:8px 0 2px; margin:0; }
:root[data-theme] .taxonomy-picker-body #uploadTaxonomyOptions { display:grid; align-content:start; }
.ui-mobile-admin-select { display:none; }
:root[data-theme] #view-admin .admin-v2-heading { margin-block:10px 20px; }
:root[data-theme] #view-admin .admin-v2-heading h1 { font-size:clamp(28px,3vw,38px); }
:root[data-theme] #view-admin .admin-overview { margin-bottom:16px; }
:root[data-theme] #view-admin .admin-stat { padding:14px 16px; gap:8px; }
:root[data-theme] #view-admin .admin-stat strong { font-size:28px; }
:root[data-theme] #view-admin .moderation-toolbar { margin:0 0 12px; padding:16px; grid-template-columns:minmax(0,1fr) minmax(180px,2fr) minmax(0,1fr); align-items:end; }
:root[data-theme] #view-admin .moderation-toolbar label:nth-child(2) { order:-1; }
:root[data-theme] #view-admin .ui-disclosure { margin-bottom:12px; }
:root[data-theme] #moderationBulkPanel .moderation-bulk-actions { padding:12px 0; margin:0; }
:root[data-theme] #moderationBulkPanel .reason-templates { margin:0; }
:root[data-theme] #moderationExtraFilters .moderation-presets { margin:0; padding:0; }
:root[data-theme] #moderationBulkPanel label { display:grid; gap:8px; font-size:13px; }
:root[data-theme] #moderationBulkPanel input:not([type=checkbox]) { width:100%; padding:12px; color:var(--text); border:1px solid var(--line); background:var(--panel-2); border-radius:10px; }
.application-page { max-width:1050px; margin:16px auto 40px; }
.application-hero { display:grid; grid-template-columns:96px minmax(0,1fr); gap:24px; align-items:center; padding-bottom:28px; }
.application-hero>img { width:96px; border-radius:24px; }
.application-hero h1 { font-size:clamp(30px,4vw,46px); margin:8px 0; line-height:1.12; letter-spacing:-.04em; }
.application-grid { display:grid; grid-template-columns:minmax(0,1.25fr) minmax(0,1fr); gap:20px; margin-top:20px; }
.application-grid h2 { font-size:20px; margin:0 0 16px; }
.application-grid p,.application-grid li { color:var(--muted); font-size:13px; line-height:1.75; }
.application-grid ul,.application-grid ol { padding-left:20px; }
.application-grid li+li { margin-top:10px; }
.application-checksum { overflow-wrap:anywhere; font-family:monospace; font-size:11px; user-select:all; color:var(--muted); line-height:1.7; }
.application-loading { color:var(--muted); font-size:13px; line-height:1.6; }
.upload-file-limits { display:block; font-size:12px; color:var(--muted); line-height:1.6; font-weight:400; }
.search-scope-note { font-size:11px; color:var(--muted); margin-top:6px; }
@media(max-width:700px) {
 :root[data-theme] .home-wave-card,:root[data-theme] .home-wave { min-height:0; }
 :root[data-theme] .home-wave-card .home-wave-visual,:root[data-theme] .home-wave .home-wave-visual { display:none; }
 :root[data-theme] :is(#view-catalog,#view-library)>.page-title { margin-block:8px 14px; }
 :root[data-theme] :is(#view-catalog,#view-library)>.page-title>p:last-child { font-size:12px; }
 :root[data-theme] .catalog-browser-tabs { margin-bottom:12px; }
 :root[data-theme] #catalogTrackResultsSection { padding:14px 12px; }
 :root[data-theme] #view-admin .admin-v2-heading .eyebrow { display:none; }
 :root[data-theme] #view-admin .admin-stat { padding:10px 12px; gap:4px; }
 :root[data-theme] #view-admin .admin-stat small { display:none; }
 :root[data-theme] #view-admin .admin-stat strong { font-size:24px; }
 :root[data-theme] #view-admin .moderation-toolbar { grid-template-columns:repeat(2,minmax(0,1fr)); padding:12px; gap:10px; }
 :root[data-theme] #view-admin .moderation-toolbar label:nth-child(2) { grid-column:1/-1; }
 :root[data-theme] #view-admin .moderation-browser-tabs { display:none; }
 .ui-mobile-admin-select { display:grid; gap:8px; margin-bottom:16px; font-size:12px; color:var(--muted); }
 .ui-mobile-admin-select select { min-width:0; max-width:100%; width:100%; height:44px; border-radius:10px; border:1px solid var(--line); background:var(--panel); color:var(--text); padding:10px; font-size:16px; }
 .application-hero { grid-template-columns:64px minmax(0,1fr); gap:16px; }
 .application-hero>img { width:64px; border-radius:16px; }
 .application-grid { grid-template-columns:minmax(0,1fr); gap:16px; }
}

:root[data-theme] .personal-wave { min-height:240px; grid-template-columns:minmax(0,1fr) minmax(220px,.65fr); }
:root[data-theme] .personal-wave .wave-copy { padding:26px 32px; gap:12px; }
:root[data-theme] .personal-wave .wave-copy h2 { font-size:clamp(34px,3.4vw,48px); }
:root[data-theme] .personal-wave .home-wave-canvas { min-height:250px; }
:root[data-theme] .personal-wave .wave-art-card { transform:rotate(-8deg) scale(.8); transform-origin:top left; top:30px; }
:root[data-theme] .personal-wave .wave-vinyl { transform:scale(.8); transform-origin:center; }
.taxonomy-groups[hidden] { display:none; }
:root[data-theme] #view-catalog #catalogTrackControls,:root[data-theme] #view-library .library-toolbar { padding:14px 16px; }
:root[data-theme] #homeSearch[hidden] { display:none; }
@media(max-width:700px) {
 :root[data-theme] .personal-wave { display:block; min-height:0; }
 :root[data-theme] .personal-wave .wave-copy { padding:22px; gap:12px; }
 :root[data-theme] .personal-wave .wave-copy h2 { font-size:34px; }
 :root[data-theme] .personal-wave .home-wave-canvas { display:none; }
 :root[data-theme] #view-catalog #catalogTrackControls,:root[data-theme] #view-library .library-toolbar { padding:12px; }
}
