/* Shared component finish for every workbench; domain layouts remain intact. */
:root {
  --ui-font: -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei UI", "Microsoft YaHei", sans-serif;
  --ui-text: #24272e;
  --ui-muted: #626b78;
  --ui-line: #e8ebef;
  --ui-soft: #f7f8fa;
  --ui-blue: #2459c4;
  --ui-selection: #eef3ff;
  --ui-shadow: 0 2px 6px #20242b06, 0 12px 30px #20242b06;
  --studio-font: var(--ui-font);
  --studio-bg: #fff;
  --studio-line: var(--ui-line);
  --studio-text: var(--ui-text);
  --studio-muted: var(--ui-muted);
  --studio-active: var(--ui-selection);
  --ed-bg: #fff;
  --wb-bg: #fff;
  --workbench-bg: #fff;
}
html { background: #fff; scroll-padding-top: 84px; }
body, body[data-studio-page] {
  font-family: var(--ui-font);
  color: var(--ui-text);
  background: #fff;
  -webkit-font-smoothing: antialiased;
}
body *, body *::before, body *::after { letter-spacing: 0; }
body :is(button, input, select, textarea, summary) { font-family: var(--ui-font); }
body :is(h1, h2, h3, h4) { text-wrap: balance; }
body h1, body[data-studio-page] h1 { font-size: 28px; font-weight: 650; line-height: 1.35; }
body h2, body[data-studio-page] h2 { font-size: 18px; font-weight: 650; }
body :is(p, small, label, td) { text-wrap: pretty; }
body :is(a, button, summary, input, textarea, select):focus-visible {
  outline: 2px solid var(--ui-blue); outline-offset: 3px;
}
body :is(button, .button, .secondary, .back, .ghost) {
  transition: background-color 140ms, border-color 140ms, box-shadow 140ms, color 140ms;
}
body :is(input, textarea)::placeholder { color: #818995; font-weight: 400; }
body :is(input, textarea, select):disabled { background: #f5f6f8; color: #737c89; }
body input[type=checkbox] { accent-color: var(--ui-blue); }
body :is(code, pre) { font-family: ui-monospace, "Cascadia Code", Consolas, monospace; }
body :is(.eyebrow, .section-kicker, .dialog-kicker, .ugc-eyebrow) {
  font-size: 11px; font-weight: 500; color: var(--ui-muted);
}
body :is(.vfx-topbar, .studio-topbar) {
  min-height: 56px; height: 56px; border-color: var(--ui-line);
  background: #fff; font-size: 12px; color: #707986;
}
body :is(.vfx-topbar, .studio-topbar) a { color: #626b78; }
body :is(.vfx-topbar, .studio-topbar) a:hover { color: var(--ui-blue); }
body :is(.library-sidebar, .ugc-sidebar, .sidebar, .studio-sidebar) {
  background: #f8f9fb; border-right-color: var(--ui-line);
}
body[data-studio-page] :is(.library-sidebar, .ugc-sidebar, .sidebar) { background: #f8f9fb; }
body :is(.library-sidebar-nav a, .vfx-global-nav a, .primary-nav a, .vfx-resource-nav a, .section-nav button, .side-nav .tab),
body[data-studio-page] :is(.library-sidebar-nav a, .vfx-global-nav a, .side-nav .tab) {
  min-height: 42px; border-radius: 6px; font-size: 13px; color: #596270;
}
body :is(.library-sidebar-nav a, .vfx-global-nav a, .primary-nav a, .vfx-resource-nav a, .section-nav button, .side-nav .tab):hover,
body[data-studio-page] :is(.library-sidebar-nav a, .vfx-global-nav a, .side-nav .tab):hover {
  background: #eef0f4; color: #24272e;
}
body :is(.library-sidebar-nav a, .vfx-global-nav a, .primary-nav a, .vfx-resource-nav a, .side-nav .tab).active,
body[data-studio-page] :is(.library-sidebar-nav a, .vfx-global-nav a, .side-nav .tab).active {
  background: #fff; color: var(--ui-blue);
  box-shadow: inset 0 0 0 1px #e3e7ef, 0 1px 2px #20242b04;
}
body :is(.vfx-resource-nav, .ugc-side-nav) { border-top-color: #e5e8ed; }
body :is(.vfx-nav-caption, .nav-caption) { color: #7b8491; font-size: 11px; font-weight: 500; }
body :is(.library-sidebar-brand, .studio-brand) { font-size: 14px; }
body .vfx-icon, body svg.lucide { stroke-width: 1.65; }
body .vfx-mobile-bar { box-shadow: 0 1px 3px #20242b04; }

/* Titles, toolbars and real project media. */
body[data-studio-page=library] .wrap, body .studio-content { padding-top: 36px; }
body[data-studio-page=library] .library-header { padding-bottom: 30px; }
body[data-studio-page=library] .library-count { color: #717b88; font-size: 13px; }
body[data-studio-page=library] .project-toolbar {
  padding-bottom: 24px; margin-bottom: 24px; border-bottom: 1px solid var(--ui-line);
}
body[data-studio-page=library] :is(.project-filter, .project-view) {
  background: #f3f4f7; border-color: #eceef2; border-radius: 6px;
}
body[data-studio-page=library] :is(.project-filter, .project-view) button[aria-pressed=true] {
  color: #24272e; box-shadow: 0 1px 3px #20242b15;
}
body[data-studio-page=library] :is(#projectOrder, .project-search input) { border-color: #e0e4ea; }
body[data-studio-page=library] .lib-grid { gap: 24px; }
body[data-studio-page=library] .lib-card {
  border-color: #e5e8ee; background: #fff; box-shadow: 0 2px 4px #20242b03;
}
body[data-studio-page=library] .lib-card:hover {
  border-color: #b7c4db; box-shadow: var(--ui-shadow);
}
body[data-studio-page=library] .lib-poster { background: #f5f6f8; border-bottom-color: #edf0f4; }
body[data-studio-page=library] .lib-poster:has(.lp-txt) {
  display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 10px;
  background: #f7f8fa;
}
.project-placeholder-icon { display: grid; place-items: center; width: 44px; height: 44px; color: #929cab; }
body[data-studio-page=library] .project-placeholder-icon svg { width: 28px; height: 28px; stroke-width: 1.2; }
body[data-studio-page=library] .lp-txt {
  position: static; inset: auto; display: block; width: auto; height: auto;
  font-size: 11px; color: #7c8694;
}
body[data-studio-page=library] .lib-body { padding: 20px; }
body[data-studio-page=library] .lib-body h3 { font-size: 15px; font-weight: 600; margin-bottom: 14px; }
body[data-studio-page=library] .lib-body .lb-meta .chip { background: transparent; padding-left: 0; font-size: 11px; }
body[data-studio-page=library] .project-state { color: #687384; border-top-color: #edf0f4; padding-top: 14px; }
body[data-studio-page=library] .project-enter { color: #596577; }
body[data-studio-page=library] .mini-rail { gap: 4px; }
body[data-studio-page=library] .mini-rail i { height: 3px; border-radius: 2px; }
body[data-studio-page=library] .lib-grid[data-view=list] { gap: 12px; }
body[data-studio-page=library] .lib-grid[data-view=list] .project-placeholder-icon { width: 28px; height: 28px; }
body[data-studio-page=library] .lib-grid[data-view=list] .lib-body { padding: 18px 22px; }
body[data-studio-page=library] :is(.lib-create, .dialog-submit) {
  min-height: 44px; border-radius: 6px; box-shadow: 0 1px 2px #20242b18; font-size: 13px;
}

/* Publishing and operations: a clear form, a separate review, quiet data rows. */
body[data-studio-page^=publish] main > header { padding-top: 36px; padding-bottom: 30px; }
body[data-studio-page^=publish] main > header .eyebrow { display: none; }
body[data-studio-page^=publish] .panel { padding-block: 28px 32px; border-color: var(--ui-line); }
body[data-studio-page^=publish] .panel-head { align-items: center; margin-bottom: 24px; }
body[data-studio-page^=publish] :is(.sub, .panel-head p, .field-hint, .hintline) {
  color: #6c7582; line-height: 1.65; font-size: 12px;
}
body[data-studio-page^=publish] :is(.scene-grid, .hub-grid) { gap: 16px; }
body[data-studio-page^=publish] .scene { padding: 20px; border-color: #e4e8ee; }
body[data-studio-page^=publish] .scene b { width: 32px; height: 32px; margin-right: 12px; color: #66748a; }
body[data-studio-page^=publish] .scene strong { margin-bottom: 8px; }
body[data-studio-page^=publish] .scene :is(small, em) { margin-left: 44px; }
body[data-studio-page^=publish] .scene.active { background: #f6f8fd; border-color: #8da8dc; }
body[data-studio-page^=publish] .scene.active strong { color: #2459c4; }
body[data-studio-page^=publish] .scene em { background: transparent; border: 0; padding: 0; font-size: 11px; }
body[data-studio-page^=publish] .official-grid { gap: 24px; }
body[data-studio-page^=publish] .official-grid > .control-field { gap: 9px; color: #444e5d; font-weight: 500; }
body[data-studio-page^=publish] :is(.select-trigger, .official-grid input[type=url], .official-grid textarea) {
  background: #fff; border-color: #dfe4eb; border-radius: 6px; box-shadow: 0 1px 2px #20242b03;
}
body[data-studio-page^=publish] .select-trigger { font-weight: 400; min-height: 44px; }
body[data-studio-page^=publish] .select-trigger > :is(i, b) { display: inline-flex; align-items: center; }
body[data-studio-page^=publish] .select-trigger svg { width: 16px; height: 16px; color: #7e8998; }
body[data-studio-page^=publish] .select-menu { border-color: #e1e5ec; padding: 6px; box-shadow: 0 6px 24px #20242b18; }
body[data-studio-page^=publish] .select-option { padding: 10px 12px; min-height: 40px; }
body[data-studio-page^=publish] .select-option.selected { background: #eef3ff; color: #2459c4; }
body[data-studio-page^=publish] .official-grid .mode-choice { background: #f3f4f7; border-color: #eceef2; padding: 4px; min-height: 46px; }
body[data-studio-page^=publish] .official-grid .mode-choice button.active { color: #24272e; box-shadow: 0 1px 4px #20242b12; }
body[data-studio-page^=publish] .official-grid .upload-zone {
  min-height: 142px; padding: 26px; justify-content: center; background: #fafbfd; border-color: #c7d1df;
}
body[data-studio-page^=publish] .official-grid .upload-zone:hover,
body[data-studio-page^=publish] .official-grid .upload-zone.dragover {
  border-color: #698bc8; background: #f3f6fd;
}
body[data-studio-page^=publish] .upload-zone-icon { width: 42px; height: 42px; background: #edf1f7; color: #526d9c; }
body[data-studio-page^=publish] .file-state-row { font-size: 12px; }
body[data-studio-page^=publish] .official-grid .check-card { padding: 14px 0; border-top: 1px solid #edf0f4; }
body[data-studio-page^=publish] .official-grid .check-card strong { font-weight: 500; }
body[data-studio-page^=publish] .official-preview {
  background: transparent; padding: 0 0 20px; border: 0; border-bottom: 1px solid #e4e9f1; border-radius: 0; align-items: stretch;
}
.official-preview-fields { margin: 0; display: grid; gap: 0; width: 100%; }
.official-preview-fields > div { padding: 14px 0; border-bottom: 1px solid #eff1f5; min-width: 0; }
.official-preview-fields > div:last-child { border-bottom: 0; padding-bottom: 0; }
.official-preview-fields dt { color: #727d8d; font-size: 11px; margin-bottom: 5px; }
.official-preview-fields dd { margin: 0; font-size: 13px; line-height: 1.7; overflow-wrap: anywhere; color: #39465b; }
body[data-studio-page^=publish] .official-actions :is(a, button) { min-height: 44px; font-weight: 500; }
body[data-studio-page^=publish] .official-actions #officialSubmit { order: -1; box-shadow: 0 1px 2px #20242b15; }
body[data-studio-page^=publish] .ops-filters { border-bottom: 0; padding-top: 8px; }
body[data-studio-page^=publish] .ops-summary { padding: 0 0 18px; }
body[data-studio-page^=publish] .ops-table { border-color: #e3e7ed; box-shadow: none; }
body[data-studio-page^=publish] .ops-table th { color: #697485; background: #f8f9fb; padding-block: 13px; }
body[data-studio-page^=publish] .ops-table td { padding-block: 18px; vertical-align: middle; }
body[data-studio-page^=publish] .ops-table td small { color: #75808f; font-size: 12px; }
body[data-studio-page^=publish] :is(.ops-actions, .hub-card-actions) button { min-height: 34px; font-weight: 500; }
body[data-studio-page^=publish] :is(.ops-pagination, .pager) { font-size: 12px; }
body[data-studio-page^=publish] :is(.ops-status, .safe-note, .quota) { font-weight: 500; }
body[data-studio-page^=publish] .hub-stats { margin-bottom: 24px; border-color: #e8ecf2; }
body[data-studio-page^=publish] .hub-stat { padding: 22px; }
body[data-studio-page^=publish] .hub-stat:first-child { padding-left: 0; }
body[data-studio-page^=publish] .hub-stat:last-child { border-right: 0; }
body[data-studio-page^=publish] .hub-stat b { font-size: 28px; font-variant-numeric: tabular-nums; }
body[data-studio-page^=publish] .hub-card { border-color: #e3e8ef; }
body[data-studio-page^=publish] .hub-card:hover { border-color: #b7c4db; box-shadow: var(--ui-shadow); }
body[data-studio-page^=publish] .workspace-form { gap: 24px; }
body[data-studio-page^=publish] :is(.calendar-picker, .slot) { border-color: #e3e7ee; background: #fff; }
body[data-studio-page^=publish] .calendar-day.selected { background: #2459c4; }
body[data-studio-page^=publish] .calendar-week { color: #788497; }
body[data-studio-page^=publish] :is(.records.empty, .hub-empty, .empty) { border-style: dashed; background: #fafbfd; }

/* Production controls retain their original grids and safety boundaries. */
body[data-studio-page=ugc] .ugc-topbar { padding-block: 34px 28px !important; }
body[data-studio-page=ugc] .ugc-topbar-title h1 { font-size: 28px; font-weight: 650; line-height: 1.4; }
body[data-studio-page=ugc] .ugc-topbar-title > span { display: none; }
body[data-studio-page=ugc] .ugc-topbar-summary { border-color: #e8ecf1; }
body[data-studio-page=ugc] .ugc-tabbar { background: #fff; gap: 8px; }
body[data-studio-page=ugc] .ugc-tabbar button { flex: 0 1 116px; min-height: 48px; }
body[data-studio-page=ugc] .ugc-tabbar strong { font-size: 13px; font-weight: 550; }
body[data-studio-page=ugc] .ugc-campaign-config { padding-top: 8px; }
body[data-studio-page=ugc] .ugc-campaign-compact-summary { background: #f8f9fb; border-color: #e9edf2; }
body[data-studio-page=ugc] .ugc-market-summary { border: 0; padding-block: 4px; }
body[data-studio-page=ugc] .ugc-market-summary > div { border-color: #eef0f4; padding: 14px 18px; }
body[data-studio-page=ugc] .ugc-market-summary > div:first-child { padding-left: 0; }
body[data-studio-page=ugc] .ugc-capability-row { background: transparent; border: 0 !important; padding: 4px 0; font-size: 12px; }
body[data-studio-page=ugc] :is(.ugc-order-input-head, .ugc-section-head) { padding-bottom: 16px; }
body[data-studio-page=ugc] .ugc-order-input-head > span { background: #eff3fa; color: #5d7294; border: 0; border-radius: 5px; }
body[data-studio-page=ugc] :is(.ugc-input, .ugc-textarea, .ugc-select-trigger) { background: #fff; border-color: #dfe4eb; font-weight: 400; }
body[data-studio-page=ugc] :is(.ugc-order-upload, .ugc-dropzone, .ugc-persona-upload, .ugc-reference-drop) { background: #fafbfd; border-color: #c7d1df; }
body[data-studio-page=ugc] :is(.ugc-reuse-persona, .ugc-persona-reuse) { background: #f8f9fb; border-color: #e5eaf1; }
body[data-studio-page=ugc] :is(.ugc-input-mode, .ugc-persona-mode) { padding: 4px; background: #f2f4f7; border-color: #eceff3; }
body[data-studio-page=ugc] :is(.ugc-input-mode, .ugc-persona-mode) button { font-weight: 500; font-size: 12px; }
body[data-studio-page=ugc] :is(.ugc-input-mode, .ugc-persona-mode) button.active { color: #24272e; background: #fff; box-shadow: 0 1px 3px #20242b10; }
body[data-studio-page=ugc] :is(.ugc-control-panel, .ugc-script-workbench, .ugc-script-layout, .ugc-generation-ledger) { border-color: #e2e7ef; border-radius: 8px; }
body[data-studio-page=ugc] .ugc-control-panel { background: #f9fafc; padding: 24px; }
body[data-studio-page=ugc] .ugc-script-nav button.active { background: #f1f5fc; box-shadow: inset 2px 0 #2459c4; }
body[data-studio-page=ugc] :is(.ugc-button.primary, .ugc-order-start, .ugc-run-button) { box-shadow: 0 1px 2px #20242b18; min-height: 44px; }
body[data-studio-page=ugc] .ugc-output-card { border-color: #e3e8ef; }
body[data-studio-page=ugc] .ugc-output-card:hover { box-shadow: var(--ui-shadow); }
body[data-studio-page=ugc] .ugc-select-menu { padding: 6px; background: #fff; border-color: #e2e7ef; box-shadow: 0 6px 24px #20242b18; }

/* Creator Studio shares typography and chrome, not product business logic. */
body:has(.studio-shell) .studio-shell { background: #fff; }
body:has(.studio-shell) .studio-sidebar { scrollbar-width: thin; scrollbar-color: #cbd2de transparent; }
body:has(.studio-shell) .studio-brand { margin-bottom: 24px; }
body:has(.studio-shell) .section-nav { gap: 2px; }
body:has(.studio-shell) .section-nav button { min-height: 36px; padding-block: 7px; }
body:has(.studio-shell) .sidebar-bottom { padding-top: 18px; }
body:has(.studio-shell) .page-heading { margin-bottom: 30px; }
body:has(.studio-shell) .page-heading .eyebrow { display: none; }
body:has(.studio-shell) .button.primary { box-shadow: 0 1px 2px #20242b18; }
body:has(.studio-shell) :is(.creator-card, .asset-card, .preset-card) { border-color: #e3e8ef; }
body:has(.studio-shell) :is(.creator-card, .asset-card):hover { border-color: #b7c4db; box-shadow: var(--ui-shadow); }
body:has(.studio-shell) .creator-info { padding: 20px; }
body:has(.studio-shell) .creator-info h3 { font-size: 16px; margin-bottom: 8px; }
body:has(.studio-shell) .card-foot { border-top: 1px solid #eef0f4; padding-top: 14px; color: #738094; }
body:has(.studio-shell) :is(.creator-portrait, .asset-card > button.preview) { background: #f5f7fa; }
body:has(.studio-shell) .toolbar { padding-bottom: 22px; border-bottom: 1px solid var(--ui-line); }
body:has(.studio-shell) .tabs { gap: 28px; margin-bottom: 28px; }
body:has(.studio-shell) .profile-head { padding-bottom: 28px; }
body:has(.studio-shell) .generator-controls { gap: 22px 16px; }
body:has(.studio-shell) :is(.select-menu > summary, input, textarea) { border-color: #dfe4eb; }
body:has(.studio-shell) .select-options { box-shadow: 0 6px 24px #20242b18; border-color: #e1e5ec; }
body:has(.studio-shell) .select-options button[aria-selected=true] { background: #eef3ff; color: #2459c4; }
body:has(.studio-shell) .empty { border: 1px dashed #dfe5ee; border-radius: 8px; background: #fafbfd; min-height: 320px; }
body:has(.studio-shell) .empty > svg { color: #8b9bb5; width: 38px; height: 38px; }
body:has(.studio-shell) .empty.error > svg { color: #ad6054; }
body:has(.studio-shell) .preset-card { gap: 16px; padding: 22px; }
body:has(.studio-shell) .data-table th { background: #f8f9fb; padding-block: 14px; }
body:has(.studio-shell) .data-table td { padding-block: 16px; }
body:has(.studio-shell) .calendar .weekday { background: #f8f9fb; color: #69778b; font-weight: 500; }
body:has(.studio-shell) .calendar-day.today { background: #f2f6fd; }
body:has(.studio-shell) .calendar-event { background: #eaf0fc; color: #355889; }
body:has(.studio-shell) .collection-row { padding-block: 24px; }

/* Login, administration, generic board and legal reading pages. */
body[data-studio-page=admin] .login-shell { background: #f8f9fb; }
body[data-studio-page=admin] .login-panel { padding: 40px; box-shadow: 0 4px 12px #20242b04, 0 24px 64px #20242b08; border-color: #e4e8ee; }
body[data-studio-page=admin] .login-panel h1 { font-size: 26px; }
body[data-studio-page=admin] .login-panel label { font-weight: 500; color: #4d5868; }
body[data-studio-page=admin] .login-panel input { border-color: #dfe4eb; }
body[data-studio-page=admin] .topbar { background: #fff; border-color: #e8ebf0; }
body[data-studio-page=admin] .metrics { padding-block: 6px 28px; margin-bottom: 32px; }
body[data-studio-page=admin] .metric b { font-size: 30px; font-variant-numeric: tabular-nums; }
body[data-studio-page=admin] .metric span { font-size: 12px; color: #6e7a8e; }
body[data-studio-page=admin] .route-panel { padding-block: 12px 28px; }
body[data-studio-page=admin] .step { padding: 18px; background: #fafbfd; border-color: #e5eaf1; }
body[data-studio-page=admin] .provider-card { padding: 22px; border-color: #e3e8ef; gap: 10px; }
body[data-studio-page=admin] .provider-card > strong { margin-top: 4px; font-size: 16px; }
body[data-studio-page=admin] .provider-card code { background: #f6f8fb; border: 1px solid #e9edf3; }
body[data-studio-page=admin] .menu-popover { border-color: #e1e5ec; box-shadow: 0 6px 24px #20242b18; padding: 6px; }
body[data-studio-page=admin] .menu-option.selected { color: #2459c4; background: #eef3ff; }
body[data-studio-page=admin] th { background: #f8f9fb; }
body[data-studio-page=board] .wrap { max-width: 1560px; }
body[data-studio-page=board] .topbar { padding-block: 18px; background: #fff; }
body[data-studio-page=board] .slate { padding-block: 24px; }
body[data-studio-page=board] :is(.panel, .rail) { border-color: #e8ebf0; }
body[data-studio-page=board] :is(.panel h2, .panel h3) { font-size: 16px; }
body[data-studio-page=board] .stage { border-radius: 6px; }
body[data-studio-page=legal] { background: #fff; line-height: 1.9; padding-top: 56px; }
body[data-studio-page=legal] h2 { margin-top: 32px; }
body[data-studio-page=legal] .notice { background: #f7f9fc; }

/* Modal controls keep their existing events and focus behavior. */
body :is(dialog, .lib-dialog, .ugc-modal-panel) { border-color: #e1e6ee; border-radius: 8px; box-shadow: 0 12px 70px #17203326; }
body dialog::backdrop { background: #1b233a59; }
body[data-studio-page^=publish] dialog { padding: 28px; }
body[data-studio-page^=publish] dialog :is(h2, h3) { font-size: 18px; }
body[data-studio-page^=publish] .detail-header { border-bottom: 1px solid #e9edf2; padding-bottom: 18px; }
body[data-studio-page^=publish] dialog dl { gap: 0; }
body[data-studio-page^=publish] dialog :is(dt, dd) { padding: 12px 0; border-bottom: 1px solid #eef1f5; font-size: 13px; }
body :is(.dialog-close, .icon-button, .calendar-nav) { min-width: 36px; min-height: 36px; }
body :is(.dialog-close, .icon-button):hover { background: #f1f4f9; }
body ::selection { background: #dce8ff; color: #243d68; }
@media(min-width:1600px) {
  body[data-studio-page=library] .lib-grid { grid-template-columns: repeat(4, minmax(0,1fr)); }
}
@media(max-width:850px) {
  body h1, body[data-studio-page] h1, body[data-studio-page=ugc] .ugc-topbar-title h1 { font-size: 24px; }
  body[data-studio-page=library] .wrap, body .studio-content { padding-top: 26px; }
  body[data-studio-page^=publish] main > header { padding-top: 26px; }
  body[data-studio-page=ugc] .ugc-topbar { padding-block: 26px 22px !important; }
  body[data-studio-page=ugc] .ugc-tabbar button { flex: 1 1 0; }
  body .vfx-topbar, body .studio-topbar { min-height: 44px; height: 44px; }
  body :is(input:not([type=checkbox]):not([type=radio]), textarea, select) { font-size: 16px; }
  body :is(.button, .secondary, .back, .ghost, .select-trigger, .icon-button) { min-height: 44px; }
  body .icon-button { width: 44px; }
  body[data-studio-page^=publish] .official-grid { gap: 20px; }
  body[data-studio-page^=publish] .official-preview-fields { grid-template-columns: repeat(2,minmax(0,1fr)); column-gap: 22px; }
  body[data-studio-page^=publish] .official-preview-fields > div:last-child { grid-column: 1/-1; }
  body[data-studio-page^=publish] .scene { padding: 16px; }
  body:has(.studio-shell) .generator-controls { padding-bottom: 28px; }
  body:has(.studio-shell) .section-nav button { min-height: 44px; }
}
@media(max-width:560px) {
  body[data-studio-page=library] .project-toolbar {
    display: grid; grid-template-columns: minmax(0,1fr) 112px; gap: 12px 8px; margin-bottom: 20px;
  }
  body[data-studio-page=library] .project-search { grid-column: 1/-1; }
  body[data-studio-page=library] .project-filter { min-width: 0; }
  body[data-studio-page=library] .project-filter button { min-height: 38px; padding-inline: 6px; white-space: nowrap; }
  body[data-studio-page=library] .project-view { justify-self: start; }
  body[data-studio-page=library] #projectMatches { justify-self: end; }
  body[data-studio-page=library] #projectOrder { width: 112px; min-height: 46px; }
  body[data-studio-page=library] .lib-grid { gap: 20px; }
  body[data-studio-page=library] .lib-grid[data-view=list] .lib-body { padding: 14px; }
  body[data-studio-page^=publish] .official-grid .upload-zone { padding: 20px 16px; min-height: 132px; }
  body[data-studio-page^=publish] .official-preview-fields { grid-template-columns: 1fr; }
  body[data-studio-page^=publish] .hub-stat { padding: 16px 12px; }
  body[data-studio-page^=publish] .hub-stat b { font-size: 25px; }
  body[data-studio-page^=publish] .ops-pagination { flex-wrap: wrap; font-size: 12px; }
  body[data-studio-page^=publish] dialog { padding: 20px; }
  body[data-studio-page=ugc] .ugc-control-panel { padding: 20px; }
  body:has(.studio-shell) :is(.creator-info, .preset-card) { padding: 14px; }
  body:has(.studio-shell) .creator-info h3 { font-size: 14px; }
  body:has(.studio-shell) .form-footer { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
  body[data-studio-page=admin] .login-panel { padding: 30px 24px; }
  body[data-studio-page=admin] .provider-card { padding: 18px; }
  body[data-studio-page=legal] { padding-inline: 20px; padding-top: 32px; }
}
@media(prefers-reduced-motion:reduce) {
  body *, body *::before, body *::after { transition-duration: 0s !important; animation-duration: .01ms !important; scroll-behavior: auto; }
}

/* Publish workspace: one compact control row, with the shared select adapter
   as the only visible representation of each native select. */
body[data-studio-page=publish] .filters {
  display: flex;
  align-items: stretch;
  gap: 10px;
  flex-wrap: wrap;
}
body[data-studio-page=publish] .filters > .studio-select-trigger {
  flex: 0 1 168px;
  min-width: 145px;
}
body[data-studio-page=publish] .filters > #tagFilter {
  flex: 1 1 240px;
  min-width: 220px;
}
body[data-studio-page=publish] .filters > button {
  flex: 0 0 auto;
  white-space: nowrap;
}
body[data-studio-page=publish] .filters > .studio-select-trigger,
body[data-studio-page=publish] .filters > button,
body[data-studio-page=publish] .filters > input {
  min-height: 44px;
}
body[data-studio-page=publish] .filters > .studio-select-trigger[aria-expanded=true] {
  border-color: #2459c4;
  box-shadow: 0 0 0 3px #2459c414;
}
body[data-studio-page=publish] #accountCounts {
  margin: 14px 0 0;
  color: #68778a;
  font-size: 12px;
}
body[data-studio-page=publish] .scene-notice {
  margin-top: 14px;
  border-color: #e2e8f0;
  background: #f7f9fc;
  color: #637085;
}
body[data-studio-page=publish] .integrated-provider {
  margin: 12px 0 0;
  padding: 12px 14px;
  border: 1px solid #e1e6ee;
  border-radius: 8px;
  background: #fbfcfe;
}
body[data-studio-page=publish] .integrated-provider > span {
  display: block;
  margin-bottom: 8px;
  color: #6a778a;
  font-size: 11px;
  font-weight: 650;
}
body[data-studio-page=publish] .integrated-provider [role=group] {
  display: inline-flex;
  gap: 4px;
  padding: 4px;
  border: 1px solid #e1e6ee;
  border-radius: 7px;
  background: #f0f3f7;
}
body[data-studio-page=publish] .integrated-provider button {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 4px;
  background: transparent;
  color: #6a778a;
  font-size: 12px;
}
body[data-studio-page=publish] .integrated-provider button[aria-pressed=true] {
  background: #fff;
  color: #2459c4;
  box-shadow: 0 1px 4px #1f2c3d18;
}
@media(max-width:850px) {
  body[data-studio-page=publish] .filters > .studio-select-trigger,
  body[data-studio-page=publish] .filters > #tagFilter {
    flex: 1 1 calc(50% - 10px);
    min-width: 0;
  }
  body[data-studio-page=publish] .filters > button {
    flex: 1 1 calc(50% - 10px);
  }
}
@media(max-width:560px) {
  body[data-studio-page=publish] .filters > .studio-select-trigger,
  body[data-studio-page=publish] .filters > #tagFilter,
  body[data-studio-page=publish] .filters > button {
    flex-basis: 100%;
    width: 100%;
  }
}
