/* Upscaler consumes PXLTAB controls and tokens; layout remains surface-owned. */
.node-system-page #user-view > .system-selector-panel .system-choice-buttons { grid-template-columns:repeat(4,128px); }
.node-system-page #debug-view > .system-selector-panel .system-choice-buttons { grid-template-columns:repeat(3,128px); }
.node-system-page #library-view .library-scope .library-surface-buttons { grid-template-columns:repeat(5,minmax(0,1fr)); width:min(1000px,75%); }
.furniture-debug-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:16px;align-items:start}
.furniture-debug-layout[hidden]{display:none}
.furniture-debug-loading{display:grid;grid-template-columns:300px minmax(0,1fr) 350px;gap:16px;align-items:start}
.furniture-debug-placeholder{padding:20px;display:grid;gap:20px}
.furniture-debug-placeholder i,.furniture-debug-placeholder>div{display:block;min-height:32px;background:var(--color-canvas-subtle);border-radius:8px}
.furniture-debug-placeholder i:first-child{width:65%;min-height:16px}
.furniture-debug-placeholder>div{height:172px}
.furniture-debug-loading-view{min-height:560px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;border-radius:16px;background:#1c2129;color:#eff3fa;text-align:center}
.furniture-debug-loading-view svg{width:44px;height:44px;fill:none;stroke:currentColor;stroke-width:1.5}
.furniture-debug-loading-view strong{font-size:16px}
.furniture-debug-loading-view span{font-size:12px;color:#b9c2cf}
@media(max-width:1100px){.furniture-debug-loading{grid-template-columns:300px minmax(0,1fr)}.furniture-debug-loading>.furniture-debug-placeholder:last-child{display:none}}
@media(max-width:700px){.furniture-debug-loading{grid-template-columns:minmax(0,1fr)}.furniture-debug-loading>.furniture-debug-placeholder{display:none}.furniture-debug-loading-view{min-height:460px}}
.furniture-debug-layout [data-debug-notice]:empty{display:none}
.furniture-debug-layout [data-debug-workspace]{min-width:0}
.furniture-debug-layout pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:11px;max-height:480px;overflow:auto}
.furniture-debug-layout summary{font-size:12px;line-height:1.5;font-weight:600;cursor:pointer;user-select:none;-webkit-user-select:none;caret-color:transparent}
.node-system-page #debug-view > .system-selector-panel .system-choice-buttons{grid-template-columns:repeat(4,128px)}
@media(max-width:1100px){.furniture-debug-layout{grid-template-columns:minmax(0,1fr)}.furniture-debug-layout aside{grid-row:2}}
.upscaler-system [hidden] { display:none!important; }
.upscaler-system { --upscaler-preview-height:680px; color:var(--color-text-primary); }
.upscaler-workspace,.upscaler-main,.upscaler-output-column { min-width:0; }
.upscaler-output-column { display:grid; gap:16px; }
#debug-upscaler-system .upscaler-workspace { display:grid; grid-template-columns:minmax(0,1fr) 350px; gap:20px; align-items:start; }
.upscaler-layout { display:grid; grid-template-columns:minmax(300px,408px) minmax(0,1fr); gap:20px; align-items:start; }
#debug-upscaler-system .upscaler-layout { grid-template-columns:minmax(0,1fr); }
.upscaler-system .panel { min-width:0; }
.upscaler-system .d3-input-group-heading { margin-bottom:14px; }
.upscaler-system .d3-input-group-heading h3 { margin:6px 0 0; }
.upscaler-system .d3-section-heading { margin-bottom:16px; }
.upscaler-system .d4-rail-heading + p { margin:12px 0; }
.upscaler-system .upscaler-history h3 { margin:0 0 16px; }
.upscaler-history-empty { grid-column:1/-1; min-height:56px; margin:0; padding:24px; display:grid; place-items:center; text-align:center; border:1px dashed var(--color-border-default); border-radius:12px; background:var(--color-canvas-subtle); }
.upscaler-system p { color:var(--color-text-muted); line-height:1.5; font-size:12px; }
.upscaler-system label { font-size:12px; font-weight:700; }
.upscaler-size-label select { width:100%; }
#user-upscaler-system { --upscaler-upload-height:230px; }
#debug-upscaler-system { --upscaler-upload-height:230px; }
.node-system-page :is(#user-view,#debug-view) .upscaler-upload { position:relative; padding:0; margin:0 0 20px; overflow:hidden; border-radius:12px; min-height:var(--upscaler-upload-height); }
.node-system-page :is(#user-view,#debug-view) .upscaler-system .upscaler-upload > button.d3-upload-target { display:block; box-sizing:border-box; width:100%; height:var(--upscaler-upload-height); min-height:var(--upscaler-upload-height); padding:0; border:0; border-radius:inherit; background:transparent; color:inherit; cursor:pointer; }
.node-system-page :is(#user-view,#debug-view) .upscaler-upload .d3-upload-empty { display:flex; box-sizing:border-box; height:100%; min-height:0; flex-direction:column; align-items:center; justify-content:center; gap:10px; padding:24px; }
/* Upload typography comes from the shared Workflow .d3-upload-empty rules. */
.node-system-page :is(#user-view,#debug-view) .upscaler-upload.has-preview { background:#080b10; }
.node-system-page :is(#user-view,#debug-view) .upscaler-upload.has-preview .d3-upload-target { padding:0; }
.upscaler-system .upscaler-upload img { display:block; width:100%; height:100%; object-fit:contain; object-position:center; background:#080b10; }
/* Inherit Workflow upload hover styling; do not add an Upscaler-only ring. */
.upscaler-upload-status { position:absolute; inset:50% auto auto 50%; z-index:3; padding:8px 12px; border:1px solid rgba(255,255,255,.28); border-radius:999px; color:#fff; background:rgba(8,11,16,.82); box-shadow:0 8px 24px rgba(0,0,0,.22); font-size:11px; font-weight:700; transform:translate(-50%,-50%); pointer-events:none; }
@keyframes upscale-upload-spin { to { transform:rotate(360deg); } }
.upscaler-system .upscaler-upload .d3-upload-actions { position:absolute; top:8px; right:8px; left:8px; z-index:2; display:flex; justify-content:flex-end; align-items:center; gap:8px; }
.upscaler-system .upscaler-upload .d3-upload-dimensions { color:#e5e7eb; font-size:10px; }
.upscaler-system .upscaler-upload .d3-remove-image { min-height:30px; padding:5px 10px; border:1px solid var(--color-border-default); border-radius:8px; background:var(--color-surface); color:var(--color-text-primary); font-size:10px; cursor:pointer; }
.upscaler-system .upscaler-upload .d3-remove-image:hover { background:var(--color-interactive-hover); }
.upscaler-options { display:grid; gap:8px; margin:8px 0; }
.upscaler-options label { display:flex; justify-self:start; width:fit-content; max-width:100%; align-items:center; gap:10px; min-height:38px; padding:0 6px; cursor:pointer; }
.upscaler-options label { background:transparent; }
.node-system-page :is(#user-view,#debug-view) .upscaler-options input { appearance:none; border:1px solid #818b96; border-radius:3px !important; display:grid; place-content:center; background:transparent; }
.node-system-page :is(#user-view,#debug-view) .upscaler-options input:checked { background:#047d83 !important; border:0 !important; -webkit-appearance:none; }
.upscaler-options input:checked::after { content:""; width:9px; height:5px; border-left:2px solid white; border-bottom:2px solid white; transform:translateY(-1px) rotate(-45deg); }
.upscaler-options input:focus:not(:focus-visible) { outline:none; }
.node-system-page :is(#user-view,#debug-view) .upscaler-options input { box-shadow:none !important; }
.node-system-page :is(#user-view,#debug-view) .upscaler-options label:has(input:enabled:focus-visible) > span { color:#77d7d2; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) .upscaler-options label:has(input:enabled:focus-visible) > span { color:#075f64; }
.upscaler-options input:enabled:focus-visible { outline:2px solid #47aaa9; outline-offset:2px; }
.upscaler-options label:has(input:disabled), .upscaler-options input:disabled { cursor:not-allowed; }
.upscaler-options label:has(input:disabled) { opacity:.6; }
@media (hover:hover) and (pointer:fine) {
  .node-system-page :is(#user-view,#debug-view) .upscaler-options label:has(input:enabled):hover > span { color:#77d7d2; }
  html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) .upscaler-options label:has(input:enabled):hover > span { color:#075f64; }
}
.upscaler-options input { width:18px; height:18px; accent-color:var(--color-brand-primary,#047d83); cursor:pointer; }
.upscaler-help { margin:4px 0 16px; }
.upscaler-system [data-size] { margin:14px 0 0; padding:0 2px; display:grid; gap:8px; font-size:11px; line-height:1.5; }
.upscaler-system [data-size] > span { display:flex; justify-content:space-between; flex-wrap:wrap; gap:4px 12px; font-variant-numeric:tabular-nums; }
.upscaler-system [data-size] b { font-weight:600; }
.upscaler-system [data-size] > span { font-weight:700; }
.upscaler-system [data-size] .upscaler-size-output { color:var(--semantic-success-text,var(--color-success)); }
#debug-upscaler-system [data-size] { width:calc((100% - 10px)/2); min-width:250px; max-width:100%; box-sizing:border-box; }
.upscaler-system [data-size] strong { font-size:11px; font-weight:600; color:var(--color-text-primary); }
.upscaler-system [data-size]:empty,.upscaler-message:empty,[data-activation]:empty { display:none; }
.upscaler-system .upscaler-run { width:100%; min-height:45px; display:flex; align-items:center; justify-content:center; gap:8px; border-radius:9px; font-size:14px; font-weight:800; }
.upscaler-run svg { width:16px; height:16px; fill:none; stroke:currentColor; stroke-width:1.7; }
.upscaler-system .px-generation-action-shell { width:100%; }
#user-upscaler-system .upscaler-inputs > .px-generation-action-shell { margin-top:16px; }
#debug-upscaler-system .d4-card-actions button.is-current:disabled { opacity:1; }
.upscaler-message { margin:12px 0 0; overflow-wrap:anywhere; }
.upscaler-message.is-error { color:var(--color-error); }
.upscaler-action-group { display:grid; gap:12px; min-width:0; }
#user-upscaler-system .upscaler-action-group { margin-top:16px; }
#debug-upscaler-system .d3-section-heading > .upscaler-action-group { width:320px; max-width:100%; flex-shrink:0; justify-items:end; }
.upscaler-size-notice { width:100%; box-sizing:border-box; padding:12px; border:1px solid #d6a74b; border-radius:10px; background:#fff7e5; color:#78500c; }
.upscaler-size-notice strong { display:block; font-size:12px; line-height:1.5; }
.upscaler-system .upscaler-size-notice p { margin:4px 0 10px; font-size:11px; color:inherit; }
.upscaler-system .upscaler-size-notice button { min-height:36px; padding:8px 10px; font-size:11px; font-weight:700; color:inherit; border:1px solid #d6a74b; background:transparent; border-radius:7px; cursor:pointer; }
html[data-theme="dark"] .upscaler-size-notice { background:#342a18; border-color:#876b32; color:#f4d18a; }
.upscaler-empty { height:var(--upscaler-preview-height); box-sizing:border-box; display:grid; place-content:center; gap:12px; text-align:center; padding:28px; border:1px dashed var(--color-border-default); border-radius:12px; background:var(--color-canvas-subtle); }
.upscaler-empty > span { font-size:28px; color:var(--color-text-muted); }
.upscaler-empty p { margin:0; }
.upscaler-preview { height:var(--upscaler-preview-height); width:100%; overflow:hidden; border-radius:12px; background:var(--color-canvas-subtle); }
.upscaler-preview img { display:block; width:100%; height:100%; object-fit:contain; }
.upscaler-output [data-result] { position:relative; }
.upscaler-output [data-result][aria-busy="true"] .upscaler-empty .d6-result-empty-state { visibility:hidden; }
.upscaler-preview-status { position:absolute; top:0; left:0; width:100%; height:var(--upscaler-preview-height); display:flex; align-items:center; justify-content:center; box-sizing:border-box; font-size:0; pointer-events:none; }
.upscaler-preview-status::before { content:''; width:20px; height:20px; border:2px solid var(--color-border-default); border-top-color:var(--color-focus); border-radius:50%; background:var(--color-surface); box-shadow:0 0 0 8px var(--color-surface),0 2px 14px 8px #0002; animation:upscale-upload-spin 800ms linear infinite; }
.upscaler-preview-status.is-error { top:calc(var(--upscaler-preview-height) / 2); left:50%; transform:translate(-50%,-50%); width:max-content; max-width:calc(100% - 48px); height:auto; padding:9px 14px; border-radius:9px; background:#782c34; color:#fff; font-size:12px; line-height:1.5; text-align:center; }
.upscaler-preview-status.is-error::before { content:none; }
.upscaler-result-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:8px; margin-top:16px; text-align:center; }
.upscaler-result-actions a { min-height:38px; padding:8px 12px; font-size:12px; border-radius:8px; }
.upscaler-result-actions > span { width:100%; color:var(--semantic-success-text,var(--color-success)); font-size:11px; font-weight:700; }
.upscaler-output-column .upscaler-history { margin:0; }
.upscaler-full-viewer { position:fixed; inset:0; width:100vw; max-width:none; height:100dvh; max-height:none; margin:0; padding:0; border:0; background:#101419; overflow:hidden; }
.upscaler-full-viewer::backdrop { background:#101419; }
.upscaler-full-viewer[open] { display:flex; flex-direction:column; color:#f3f4f6; }
html.upscaler-viewer-open { overflow:hidden!important; scrollbar-gutter:auto!important; }
.upscaler-full-viewer > header { flex:none; display:flex; flex-wrap:nowrap; align-items:center; justify-content:center; gap:8px; padding:10px 12px; background:#18202a; }
.upscaler-full-viewer > header :is(button,a) { display:inline-flex; align-items:center; justify-content:center; min-height:34px; padding:6px 10px; border:1px solid #647384; border-radius:7px; background:#222d3a; color:white; font:600 12px/1.2 system-ui; white-space:nowrap; text-decoration:none; cursor:pointer; }
.upscaler-viewer-stage { position:relative; flex:1; min-height:0; min-width:0; }
.upscaler-viewer-size { position:absolute; top:10px; left:12px; z-index:1; padding:5px 8px; border-radius:6px; background:rgba(16,20,25,.8); color:#a5dfc7; font:700 11px/1.3 system-ui; pointer-events:none; }
.upscaler-viewer-canvas { width:100%; height:100%; min-height:0; min-width:0; overflow:auto; overscroll-behavior:contain; display:flex; align-items:center; justify-content:center; }
.upscaler-full-viewer > header :is(button,a):is(:hover,:focus-visible) { background:#344657; border-color:#95d9ce; color:#fff; }
@media(max-width:600px) { .upscaler-full-viewer > header { gap:6px; padding:8px 8px; } .upscaler-full-viewer > header :is(button,a) { min-height:36px; padding:6px 9px; } }
.upscaler-viewer-canvas > img { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; cursor:zoom-in; }
.upscaler-full-viewer.is-zoomed .upscaler-viewer-canvas { display:block; }
.upscaler-full-viewer.is-zoomed .upscaler-viewer-canvas > img { max-width:none; max-height:none; margin-inline:auto; cursor:zoom-out; }
.upscaler-full-viewer :focus-visible { outline:2px solid #95d9ce; outline-offset:3px; }
.upscaler-full-viewer:focus { outline:none; }
.upscaler-full-viewer > header :is(button,a):focus:not(:focus-visible) { outline:none; }
.upscaler-history .workflow-generation-history__item { box-sizing:border-box; user-select:none; }
.upscaler-history .workflow-generation-history__item img { display:block; }
.upscaler-history-empty { flex:1; padding:8px; }
.upscaler-empty .d6-result-empty-state strong { font-size:12px; }
.upscaler-models { margin:0; }
html[data-theme="light"] .node-system-page :is(#debug-view,#user-view) .upscaler-run:disabled:not(.is-generating) { background:#59636f; color:#fff; border:0; opacity:1; }
.node-system-page :is(#debug-view,#user-view) .upscaler-run:disabled:not(.is-generating) > :is(svg,span,small) { color:#fff!important; opacity:1!important; }
.node-system-page :is(#debug-view,#user-view) .upscaler-run:disabled:not(.is-generating) > .px-generation-action__cost { background:#ffffff24!important; }
.node-system-page .upscaler-run .px-generation-action__cost { text-transform:uppercase; color:inherit!important; }
#debug-upscaler-system .d3-section-heading .px-generation-action-shell { width:auto; }
#debug-upscaler-system .d3-section-heading .upscaler-run { width:210px; }
.upscaler-system .d3-input-grid { min-width:0; }
#user-upscaler-system .d3-input-grid,#user-upscaler-system .d3-output-settings-grid { grid-template-columns:minmax(0,1fr); }
[data-upscale-library="true"],[data-furniture-library="true"] { grid-template-columns:repeat(auto-fill,minmax(290px,1fr))!important; }
.upscaler-system :is(button,a,input,summary):focus-visible { outline:2px solid var(--color-focus); outline-offset:3px; }
.upscaler-system .upscaler-history-card:focus-visible { outline-offset:-2px; }
@media(max-width:1100px) { .upscaler-layout { grid-template-columns:minmax(280px,360px) minmax(0,1fr); } #debug-upscaler-system .upscaler-workspace { grid-template-columns:minmax(0,1fr) 320px; } }
@media(max-width:800px) {
  #debug-upscaler-system [data-size] { width:100%; min-width:0; }
  .upscaler-layout,#debug-upscaler-system .upscaler-workspace { grid-template-columns:1fr; }
  .node-system-page #library-view .library-scope .library-surface-buttons { width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .upscaler-system { --upscaler-preview-height:420px; }
  .upscaler-system .upscaler-run { min-height:48px; }
}
@media(max-width:600px) {
  .node-system-page #debug-view .d3-input-section > .d3-section-heading { flex-direction:column; align-items:stretch; gap:12px; }
  .node-system-page #debug-view .d3-input-section > .d3-section-heading > .px-generation-action-shell,
  .node-system-page #debug-view .d3-input-section > .d3-section-heading > .upscaler-action-group { width:100%; max-width:none; margin:0; justify-items:stretch; }
  .node-system-page #debug-view .d3-input-section > .d3-section-heading .px-generation-action-shell,
  .node-system-page #debug-view .d3-input-section > .d3-section-heading .px-generation-action { width:100%; max-width:none; min-height:48px; margin:0; }
  .node-system-page #user-view > .system-selector-panel .system-choice-buttons,
  .node-system-page #debug-view > .system-selector-panel .system-choice-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); width:100%; }
  .node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button { grid-column:auto; justify-content:center; text-align:center; }
  .upscaler-system { --upscaler-preview-height:320px; }
  [data-upscale-library="true"],[data-furniture-library="true"] { grid-template-columns:minmax(0,1fr)!important; }
}
.debug-workspace-loading { box-sizing:border-box; padding:20px; margin:0; min-height:76px; display:flex; align-items:center; font-size:13px; line-height:1.5; color:var(--color-text-secondary,var(--muted)); }
.debug-workspace-loading[hidden] { display:none; }
@media(prefers-reduced-motion:reduce) { .upscaler-history-card { transition:none; } .upscaler-upload-status::before,.upscaler-preview-status::before { animation:none; } }


/* Debug case switch matches the 3D input-mode segmented control. */
.node-system-page #debug-view .d3-case-buttons { padding:2px;gap:2px;border:1px solid var(--color-border-default);border-radius:9px;background:var(--color-surface); }
.node-system-page #debug-view .d3-case-buttons .d3-case-button { font-size:11px;font-weight:700;line-height:17.6px;min-height:0;padding:11px 8px;border:1px solid transparent;border-radius:9px;transition:background-color var(--pxds-motion-fast,140ms) ease,border-color var(--pxds-motion-fast,140ms) ease,color var(--pxds-motion-fast,140ms) ease,transform var(--pxds-motion-fast,140ms) ease; }
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active) { background:#fff;color:var(--pxds-text-muted); }
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons { background:#fff; }
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):hover { background:#fff;border-color:var(--color-border-strong);color:#353b43; }
@media(hover:hover) and (pointer:fine) {
 .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):hover { transform:translateY(-1px); }
}
@media(prefers-reduced-motion:reduce) {
 .node-system-page #debug-view .d3-case-buttons .d3-case-button { transition:none; }
 .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):hover { transform:none; }
}
/* Equal-width system labels stay on one line at the shared type size. */
.node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button span { white-space:nowrap; }
@media(min-width:1201px) {
 .node-system-page #user-view > .system-selector-panel .system-choice-buttons:has([data-system="3d"]) { grid-template-columns:repeat(6,128px); }
 .node-system-page #debug-view > .system-selector-panel .system-choice-buttons { grid-template-columns:repeat(4,128px); }
}
@media(min-width:601px) and (max-width:1200px) {
 .node-system-page #user-view > .system-selector-panel .system-choice-buttons:has([data-system="3d"]) { width:100%;grid-template-columns:repeat(3,minmax(0,1fr)); }
}
/* Shared navigation label typography; icons and supporting badges retain their sizes. */
.node-system-page .view-button .view-button-label { font-size:11.25px;font-weight:700; }
.node-system-page :is(#user-view,#debug-view,#admin-view) .system-choice-button,
.node-system-page :is(#user-view,#debug-view,#admin-view) .system-choice-button span,
.node-system-page #library-view .library-scope .library-surface-button,
.node-system-page #library-view .library-scope .library-surface-button > span,
.node-system-page #library-view .library-category-button[data-f2c-category] > strong { font-size:11px;font-weight:700; }
/* Workflow category and choice labels use the slightly larger approved size. */
.node-system-page #user-view .user-category-button { font-size:11.25px;font-weight:700; }
.node-system-page #user-view .user-workflow-button > strong,
.node-system-page #user-view .user-workflow-button.is-active > strong { font-size:11.5px;font-weight:700; }
.node-system-page :is(#user-view,#debug-view,#admin-view) .system-choice-button { line-height:17.6px; }
/* Workflow category and recipe pills share the navigation hover without changing geometry. */
.node-system-page #user-view :is(.user-category-button,.user-workflow-button) { transition:background-color var(--pxds-motion-fast,140ms) ease,border-color var(--pxds-motion-fast,140ms) ease,color var(--pxds-motion-fast,140ms) ease,transform var(--pxds-motion-fast,140ms) ease; }
html[data-theme="light"] .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled { background:#fff;color:var(--pxds-text-muted); }
html[data-theme="light"] .node-system-page #user-view .user-workflow-button:not(.is-active):enabled > strong { color:inherit; }
html[data-theme="light"] .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled:hover { background:color-mix(in srgb,var(--pxds-hover-surface) 25%,white);border-color:var(--color-border-strong);color:#353b43; }
@media(hover:hover) and (pointer:fine) {
 .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled:hover { transform:translateY(-1px); }
}
@media(prefers-reduced-motion:reduce) {
 .node-system-page #user-view :is(.user-category-button,.user-workflow-button) { transition:none; }
 .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled:hover { transform:none; }
}
/* Shared selector rhythm: equal widths and balanced label gutters on both surfaces. */
.node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]) { transition:background-color var(--pxds-motion-fast,140ms) ease,border-color var(--pxds-motion-fast,140ms) ease,color var(--pxds-motion-fast,140ms) ease,box-shadow var(--pxds-motion-fast,140ms) ease,transform var(--pxds-motion-fast,140ms) ease; }
@media(hover:hover) and (pointer:fine) {
 .node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]):not(.is-active):hover { transform:translateY(-1px); }
}
@media(prefers-reduced-motion:reduce) {
 .node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]) { transition:none; }
 .node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]):not(.is-active):hover { transform:none; }
}
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button:not(.is-active),
html[data-theme="light"] .node-system-page #admin-view .admin-page-tabs .system-choice-button:not(.is-active),
html[data-theme="light"] .node-system-page #library-view .library-surface-button:not(.is-active),
html[data-theme="light"] .node-system-page #library-view .library-category-button[data-f2c-category]:not(.is-active) { background:#fff;color:var(--pxds-text-muted); }
.node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button { display:flex; align-items:center; justify-content:center; text-align:center; padding-inline:14px; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button:not(.is-active):is(:hover,:focus-visible) { color:#353b43; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button:not(.is-active):is(:hover,:focus-visible) span { color:inherit; }
/* Light-mode system hover: two successive 50% steps toward white. */
html[data-theme="light"] .node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]):not(.is-active):hover { color:#353b43; }
html[data-theme="light"] .node-system-page :is(#user-view > .system-selector-panel,#debug-view > .system-selector-panel,#admin-view .admin-page-tabs,#library-view) :is(.system-choice-button,.library-surface-button,.library-category-button[data-f2c-category]):not(.is-active):hover :is(span,strong) { color:inherit; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) > .system-selector-panel .system-choice-button:not(.is-active):hover { background:color-mix(in srgb,var(--pxds-hover-surface) 25%,white); border-color:var(--color-border-strong); }
html[data-theme="light"] .node-system-page #admin-view .admin-page-tabs .system-choice-button:not(.is-active):hover,
html[data-theme="light"] .node-system-page #library-view .library-surface-button:not(.is-active):hover,
html[data-theme="light"] .node-system-page #library-view .library-category-button[data-f2c-category]:not(.is-active):hover { background:color-mix(in srgb,var(--pxds-hover-surface) 25%,white); border-color:var(--color-border-strong); }
/* Matching tab emphasis: weight and light-mode text only; geometry unchanged. */
.node-system-page .view-button,
.node-system-page .view-button .view-button-label,
.node-system-page #debug-view > .system-selector-panel .system-choice-button,
.node-system-page #debug-view > .system-selector-panel .system-choice-button > :is(span,strong),
.node-system-page #debug-view .d3-case-buttons .d3-case-button,
.node-system-page #debug-view .d3-case-buttons .d3-case-button > :is(span,strong),
.node-system-page #admin-view .admin-page-tabs .system-choice-button,
.node-system-page #admin-view .admin-page-tabs .system-choice-button > :is(span,strong),
.node-system-page #library-view .library-scope .library-surface-button,
.node-system-page #library-view .library-scope .library-surface-button > :is(span,strong),
.node-system-page #library-view .library-category-button[data-f2c-category],
.node-system-page #library-view .library-category-button[data-f2c-category] > :is(span,strong) { font-weight:725; }
html[data-theme="light"] .node-system-page .view-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #debug-view > .system-selector-panel .system-choice-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #admin-view .admin-page-tabs .system-choice-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #library-view .library-scope .library-surface-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #library-view .library-category-button[data-f2c-category]:not(.is-active):enabled { color:#4b5563; }
html[data-theme="light"] .node-system-page .view-button:not(.is-active):enabled .view-button-label,
html[data-theme="light"] .node-system-page #debug-view > .system-selector-panel .system-choice-button:not(.is-active):enabled > :is(span,strong),
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):enabled > :is(span,strong),
html[data-theme="light"] .node-system-page #admin-view .admin-page-tabs .system-choice-button:not(.is-active):enabled > :is(span,strong),
html[data-theme="light"] .node-system-page #library-view .library-scope .library-surface-button:not(.is-active):enabled > :is(span,strong),
html[data-theme="light"] .node-system-page #library-view .library-category-button[data-f2c-category]:not(.is-active):enabled > :is(span,strong) { color:inherit; }
html[data-theme="light"] .node-system-page .view-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #debug-view > .system-selector-panel .system-choice-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #debug-view .d3-case-buttons .d3-case-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #admin-view .admin-page-tabs .system-choice-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #library-view .library-scope .library-surface-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #library-view .library-category-button[data-f2c-category]:not(.is-active):enabled:is(:hover,:focus-visible) { color:#252b33; }
/* Approved User UI emphasis: system, category and workflow labels only. */
.node-system-page #user-view > .system-selector-panel .system-choice-button,
.node-system-page #user-view > .system-selector-panel .system-choice-button span,
.node-system-page #user-view .user-category-button,
.node-system-page #user-view .user-workflow-button > strong,
.node-system-page #user-view .user-workflow-button.is-active > strong { font-weight:725; }
html[data-theme="light"] .node-system-page #user-view > .system-selector-panel .system-choice-button:not(.is-active):enabled,
html[data-theme="light"] .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled { color:#4b5563; }
html[data-theme="light"] .node-system-page #user-view > .system-selector-panel .system-choice-button:not(.is-active):enabled span { color:inherit; }
html[data-theme="light"] .node-system-page #user-view > .system-selector-panel .system-choice-button:not(.is-active):enabled:is(:hover,:focus-visible),
html[data-theme="light"] .node-system-page #user-view :is(.user-category-button,.user-workflow-button):not(.is-active):enabled:is(:hover,:focus-visible) { color:#252b33; }
.upscaler-readiness { width:100%; display:grid; gap:4px; padding-top:16px; border-top:1px solid var(--line); text-align:center; }
.upscaler-readiness strong { font-size:12px; line-height:1.5; }
.upscaler-readiness > span { font-size:10px; line-height:1.5; color:var(--muted); }
.upscaler-readiness .is-required-missing { color:#ff7d89; }
.upscaler-readiness .is-ready { color:#71e99c; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) .upscaler-readiness strong.is-required-missing { color:#b42335; }
html[data-theme="light"] .node-system-page :is(#user-view,#debug-view) .upscaler-readiness strong.is-ready { color:#087452; }
html[data-theme="dark"] .node-system-page :is(#debug-view,#user-view) .upscaler-run:disabled:not(.is-generating) { background:#252b35; color:#88909c; border:0; box-shadow:none; cursor:not-allowed; opacity:1; }
