/* Prism Forge 0.25 — cohesive workspace presentation layer.
   Loaded last so legacy Tracker, neutral-shell and theme rules share one vocabulary. */
body.unified{
  --ui-radius-xs:6px;
  --ui-radius-sm:8px;
  --ui-radius-md:12px;
  --ui-radius-lg:16px;
  --ui-control:34px;
  --ui-panel-shadow:0 12px 34px #12151a12,0 1px 2px #12151a0a;
  --ui-float-shadow:0 18px 52px #0b0d1226,0 2px 8px #0b0d120f;
  --ui-focus:0 0 0 3px color-mix(in srgb,var(--accent) 18%,transparent);
  --ui-canvas-dot:color-mix(in srgb,var(--text) 13%,transparent);
  --ui-selection:color-mix(in srgb,var(--accent) 10%,var(--panel));
}

/* App frame and top actions */
body.unified .tracker-shell{grid-template-rows:60px minmax(0,1fr) 22px}
body.unified .topbar{padding:10px 18px;border-bottom:1px solid var(--line)!important;background:color-mix(in srgb,var(--bg) 92%,transparent)!important;backdrop-filter:blur(18px)}
body.unified .brand{gap:9px}.workspace-mark{font-size:24px}.workspace-version{font-size:10px;padding-left:12px}.workspace-project-name{font-size:11px}
body.unified .top-actions{gap:6px}
body.unified .top-actions>.button,body.unified #workspaceTheme,.workspace-canvas-button{height:34px;min-height:34px;padding:0 11px;border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--panel);color:var(--text);font:500 11px var(--sans);box-shadow:0 1px 1px #00000008}
body.unified .top-actions>.button:hover,body.unified #workspaceTheme:hover,.workspace-canvas-button:hover{border-color:color-mix(in srgb,var(--text) 24%,var(--line));background:var(--panel-hi)}
body.unified .top-actions>.button:last-child{border-color:var(--accent);background:var(--accent);color:var(--acid-ink)}

/* Canvas stays visually dominant */
.workspace-viewport{background-color:var(--bg);background-image:radial-gradient(var(--ui-canvas-dot) .8px,transparent .8px);background-size:24px 24px}
.workspace-artboard{outline:1px solid color-mix(in srgb,var(--text) 18%,transparent);box-shadow:0 18px 55px #080a101f,0 2px 8px #080a1012}
.workspace-artboard.selected,.workspace-artboard.is-selected{outline:1.5px solid var(--accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--accent) 12%,transparent),0 18px 55px #080a1024}
.workspace-artboard-label{top:-29px;height:24px;font-size:11px}.workspace-artboard-label span{font-size:9px;letter-spacing:.05em}

/* Floating panels use one shared surface and geometry */
body.unified .pf-tracker-library,body.unified .tracker-panel{top:12px;border-radius:var(--ui-radius-lg);border-color:var(--line);box-shadow:var(--ui-panel-shadow);scrollbar-width:thin;scrollbar-color:var(--line) transparent}
body.unified .pf-tracker-library{left:14px;width:244px;padding:14px}
body.unified .tracker-panel{right:14px;width:292px}
body.unified .tracker-heading{padding:16px 16px 12px;border-bottom:1px solid var(--line)!important}
body.unified .tracker-heading h1{margin:5px 0 11px;font:600 19px/1.1 var(--sans);letter-spacing:-.035em}
body.unified .tracker-heading .eyebrow{font:500 9px/1 var(--mono);letter-spacing:.09em}
body.unified .tracker-controls{padding:0 16px 18px;scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.workspace-library-heading{margin-bottom:11px}.workspace-library-heading h2{font:600 16px/1.2 var(--sans);letter-spacing:-.02em}
#workspaceSearch{height:var(--ui-control);padding:0 10px;margin-bottom:12px;border-radius:var(--ui-radius-sm);font-size:11px;outline:0}
#workspaceSearch:focus{border-color:var(--accent);box-shadow:var(--ui-focus)}

/* Library cards and connected object tree */
.workspace-cards{gap:13px 9px}.workspace-card{border-radius:var(--ui-radius-sm);outline:0}
.workspace-card:hover{box-shadow:none}.workspace-card:hover :is(img,canvas){box-shadow:0 0 0 1px color-mix(in srgb,var(--text) 26%,transparent)}
.workspace-card.active{box-shadow:none}.workspace-card.active :is(img,canvas){box-shadow:0 0 0 2px var(--accent)}
.workspace-card :is(img,canvas){border-radius:var(--ui-radius-sm)}.workspace-card strong{padding-top:7px;font-size:11px}.workspace-card small{font-size:9px;line-height:1.45}
.connected-group-title{margin-top:12px;padding-top:11px;font-size:9px}
.connected-object-row{min-height:40px;border-radius:var(--ui-radius-sm);padding:5px 6px}.connected-object-row.selected{border-color:color-mix(in srgb,var(--accent) 55%,var(--line));background:var(--ui-selection);box-shadow:none}
.composition-layer-row,.composition-layer-effect{border-radius:var(--ui-radius-sm);background:var(--panel)}

/* One control language: buttons, inputs, segments and selection rows */
body.unified :is(.mini-button,.button-grid button,.composition-add-row button,.composition-layer-actions button,.composition-effect-add button,.composition-layer-effect button,.workspace-font-row>button,.workspace-artboard-menu button){min-height:var(--ui-control);padding:0 10px;border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--panel-2);color:var(--text);font:500 11px/1.2 var(--sans);box-shadow:none}
body.unified :is(.mini-button,.button-grid button,.composition-add-row button,.composition-layer-actions button,.composition-effect-add button,.composition-layer-effect button,.workspace-font-row>button,.workspace-artboard-menu button):hover:not(:disabled){border-color:color-mix(in srgb,var(--text) 25%,var(--line));background:var(--panel-hi)}
body.unified :is(.mini-button,.segments button).active{border-color:color-mix(in srgb,var(--accent) 48%,var(--line))!important;background:var(--ui-selection)!important;color:var(--accent)!important}
body.unified .mini-button.export{color:var(--accent)}body.unified .mini-button.danger{color:var(--danger)}
body.unified :is(.field select,.field input:not([type=range]):not([type=checkbox]):not([type=color]),.field textarea,.workspace-param select,.workspace-param input[type=text],.workspace-param textarea,.rotation-grid input){min-height:var(--ui-control);border:1px solid var(--line);border-radius:var(--ui-radius-sm);background:var(--panel-2);color:var(--text);font:500 11px var(--sans)}
body.unified :is(select,input,textarea):focus-visible{border-color:var(--accent)!important;outline:0!important;box-shadow:var(--ui-focus)}
body.unified .segments{gap:5px}.segments button{min-height:32px;border-radius:var(--ui-radius-sm);font:500 10px var(--sans)}
body.unified .field{margin-top:13px}.field-label{margin-bottom:7px}.field-label label,.field>label,.toggle-row{font-size:11px!important}.field-label output,.tracker-controls output{font:10px var(--mono)!important;color:var(--muted)!important}
body.unified input[type=range]{accent-color:var(--accent)}

/* The connected canvas is intentionally blank until media is added. */
body.unified #trackerEmpty{display:none!important}

/* Inspector hierarchy and effect editing */
.workspace-inspector-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:3px;padding:3px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2)}
.workspace-inspector-tabs button{min-width:0;padding:7px 4px;border-radius:6px;background:transparent;font:500 10px var(--sans)}
.workspace-inspector-tabs button.active{background:var(--panel);color:var(--accent);box-shadow:0 1px 3px #00000012}
body.unified .control-group{padding:17px 0;border-color:var(--line)}
body.unified .control-group h2{margin-bottom:12px;font:600 12px/1.2 var(--sans);letter-spacing:-.01em}
body.unified :is(.effect-row,.layer-row,.effect-editor,.layer-editor,.temporal-editor,.identity-step,.identity-advanced,.identity-region-table,.detection-output-toggle,.identity-master,.spatial-master){border-radius:var(--ui-radius-sm)!important}
body.unified :is(.effect-row,.layer-row){min-height:42px;background:var(--panel)!important}
body.unified :is(.effect-row,.layer-row).selected{border-color:color-mix(in srgb,var(--accent) 58%,var(--line))!important;background:var(--ui-selection)!important;box-shadow:none}

/* Lower toolbar reads as one quiet tool switcher */
.workspace-rail{bottom:9px;gap:2px;padding:4px;border-radius:14px;box-shadow:var(--ui-float-shadow)}
.workspace-rail button{min-width:50px;height:43px;padding:4px 6px;border-radius:10px}.workspace-rail button i{font-size:17px}.workspace-rail button span{font:500 9px var(--sans)}
.workspace-rail button:hover{background:var(--panel-hi);color:var(--text)}.workspace-rail button.active{background:var(--ui-selection);color:var(--accent)}
body.unified .tracker-hud{bottom:15px;left:14px;border-radius:10px;box-shadow:var(--ui-panel-shadow)}

/* Compose is denser, quieter and clearly secondary to the canvas */
.workspace-compose-dock{margin:0 14px;border-radius:var(--ui-radius-md);box-shadow:0 -4px 24px #1113180a}
.workspace-compose-bar{min-height:38px;padding:7px 11px;gap:14px}.workspace-compose-bar #composeSummary{font-size:10px}.workspace-compose-bar button{font-size:11px}
body.unified .compose-scroll{height:142px;max-height:22vh}
body.unified .compose-toolbar{min-height:38px;padding:5px 8px;gap:6px}
body.unified .compose-footer{min-height:36px;padding:5px 8px;gap:6px}
body.unified :is(.compose-toolbar button,.compose-toolbar select,.compose-footer button,.compose-footer select){height:28px;min-height:28px;padding:0 8px;border-radius:6px;font:500 10px var(--sans)}
body.unified .compose-ruler{height:22px}.compose-ruler i{top:6px!important;font-size:9px!important}
body.unified .compose-lane{min-height:28px}.compose-lane-label{padding:0 8px;font-size:9px!important}
body.unified .compose-range{top:3px;height:21px;border-radius:4px}.compose-range strong{font-size:10px!important}.compose-keyframe{top:7px;width:8px;height:8px}
body.unified .video-lane{height:46px}body.unified #videoLane{background-size:100% 40px}body.unified .video-range{height:38px}

/* Dark mode uses the exact same component hierarchy, only different tokens. */
[data-theme=dark] body.unified{--ui-panel-shadow:0 14px 42px #0006,0 1px 1px #0008;--ui-float-shadow:0 20px 60px #0008,0 2px 8px #0005;--ui-canvas-dot:#ffffff17}
[data-theme=dark] body.unified .top-actions>.button:last-child{background:var(--accent)!important;color:var(--acid-ink)!important;border-color:var(--accent)!important}
[data-theme=dark] body.unified :is(.workspace-inspector-tabs,.composition-layer-row,.composition-layer-effect,.effect-row,.layer-row){background:var(--panel-2)!important}
[data-theme=dark] body.unified .workspace-inspector-tabs button.active{background:var(--panel-hi)!important;color:var(--accent)!important}
[data-theme=dark] body.unified .compose-range-handle{border-color:#ffffffa8}

@media(max-width:1150px){body.unified .pf-tracker-library{width:210px}body.unified .tracker-panel{width:252px}.workspace-rail button{min-width:44px}}
@media(max-width:800px){body.unified .topbar{padding:8px 10px}.workspace-version{display:none}.workspace-rail button{min-width:40px}.workspace-rail button span{font-size:8px}body.unified .compose-scroll{height:132px}}

/* Prism Forge site palette, applied to the workspace only. */
[data-theme="light"] body.unified {
  --bg:#f5f7ef;
  --panel:#ffffff;
  --panel-2:#edf1e7;
  --panel-hi:#e5edd8;
  --line:#d4dccb;
  --line-soft:#e3e9dd;
  --text:#202a1c;
  --ink:#202a1c;
  --muted:#5b6a55;
  --accent:#446a27;
  --acid:#446a27;
  --lime:#446a27;
  --acid-ink:#ffffff;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  --ui-canvas-dot:#53674924;
  font-family:var(--sans);
}
[data-theme="light"] body.unified .workspace-viewport,
[data-theme="light"] body.unified .workspace-graph {
  background-color:#f5f7ef!important;
  background-image:radial-gradient(circle at 12px 12px,#a3b39b 0 1px,transparent 1px)!important;
  background-size:24px 24px!important;
}
[data-theme="light"] body.unified :is(.workspace-mode-switch button.active,.workspace-inspector-tabs button.active,.mini-button.active,.chip.active,.segments button.active,.tool.active){
  background:#e5efd8!important;color:#294b17!important;border-color:#94b678!important;
}
[data-theme="light"] body.unified :is(input,select,textarea){background:#f8faf5!important;border-color:#cbd8c0!important;color:var(--text)!important;}
[data-theme="light"] body.unified :is(input[type="range"],input[type="checkbox"]){accent-color:var(--accent);}
[data-theme="light"] body.unified :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
[data-theme="light"] body.unified :is(.workspace-catalog-kicker,.workspace-graph-header p,.workspace-artboard-label span,.workspace-version,.node-kind){color:#4b6c38;}
[data-theme="dark"] body.unified {
  --bg:#101110;
  --panel:#181c16;
  --panel-2:#20261d;
  --panel-hi:#293225;
  --line:#343d30;
  --line-soft:#293127;
  --soft:#293127;
  --text:#f1f3e9;
  --ink:#f1f3e9;
  --muted:#a2ad98;
  --accent:#d8ee8b;
  --acid:#d8ee8b;
  --lime:#d8ee8b;
  --acid-ink:#172013;
  --sans:"Inter","Helvetica Neue",Arial,sans-serif;
  --mono:"IBM Plex Mono","SFMono-Regular",Consolas,monospace;
  --ui-canvas-dot:#454d43;
  font-family:var(--sans);
}
[data-theme="dark"] body.unified .workspace-viewport,
[data-theme="dark"] body.unified .workspace-graph {
  background-color:#101110!important;
  background-image:radial-gradient(circle at 12px 12px,#454d43 0 1px,transparent 1px)!important;
  background-size:24px 24px!important;
}
[data-theme="dark"] body.unified :is(.topbar,.pf-tracker-library,.tracker-panel,.workspace-build-catalog,.workspace-graph-node,.workspace-graph-header,.workspace-graph-tools,.compose-dock) {
  border-color:var(--line)!important;
}
[data-theme="dark"] body.unified :is(.workspace-mode-switch button.active,.workspace-inspector-tabs button.active,.mini-button.active,.chip.active,.segments button.active,.tool.active){
  background:#354426!important;color:#e7f4b6!important;border-color:#728a4a!important;
}
[data-theme="dark"] body.unified :is(.mini-button,.button,.workspace-node-actions button,.workspace-graph-tools button):hover:not(:disabled) {
  border-color:#789157!important;
}
[data-theme="dark"] body.unified :is(input,select,textarea){background:#20261d!important;border-color:#394533!important;}
[data-theme="dark"] body.unified input[type="range"],
[data-theme="dark"] body.unified input[type="checkbox"]{accent-color:var(--accent);}
[data-theme="dark"] body.unified :is(button,input,select,textarea):focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
[data-theme="dark"] body.unified :is(.workspace-catalog-kicker,.workspace-graph-header p,.workspace-artboard-label span,.workspace-version,.node-kind){color:#adbf8d;}
.region-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
.region-fields .field{min-width:0;margin:0;}
.region-fields input{width:100%;min-width:0;}
.region-only{display:grid;gap:9px;padding:9px 0 13px;border-bottom:1px solid var(--line);margin-bottom:10px;}
.region-only.hidden{display:none;}
.region-drawing{cursor:crosshair!important;touch-action:none;}
.region-guide{position:absolute;z-index:8;border:1.5px solid var(--accent);box-shadow:0 0 0 1px #10130ec9,inset 0 0 0 1px #10130ec9;pointer-events:none;}
.region-guide::before,.region-guide::after{content:"";position:absolute;width:8px;height:8px;background:var(--accent);border:1px solid #172013;}
.region-guide::before{left:-5px;top:-5px}.region-guide::after{right:-5px;bottom:-5px}
