.previs-workbench { position:fixed; inset:16px; width:auto; max-width:none; height:auto; max-height:none; padding:0; border:1px solid var(--ui-line); border-radius:8px; color:var(--ui-text); background:var(--ui-bg); z-index:10050; overflow:hidden; font:13px/1.5 system-ui,"Microsoft YaHei",sans-serif; letter-spacing:0; }
.previs-workbench[open] { display:grid; grid-template-rows:52px minmax(0,1fr) 40px var(--pv-timeline-size,0px) 32px; --pv-library-width:300px; --pv-inspector-width:264px; }
.previs-workbench.is-timeline-open { --pv-timeline-size:min(218px,36vh); }
.previs-workbench.is-library-collapsed { --pv-library-width:0px; }
.previs-workbench.is-inspector-collapsed { --pv-inspector-width:0px; }
.previs-workbench.is-library-collapsed .pv-scene-panel,.previs-workbench.is-inspector-collapsed .pv-inspector { display:none; }
.previs-workbench:not(.is-timeline-open) .pv-timeline { display:none; }
.previs-workbench::backdrop { background:var(--ui-overlay); }
.previs-workbench * { box-sizing:border-box; }
.previs-workbench button,.previs-workbench input,.previs-workbench select,.previs-workbench textarea { font:inherit; color:inherit; letter-spacing:0; }
.previs-workbench button { border:1px solid transparent; background:transparent; border-radius:5px; min-height:30px; padding:5px 8px; display:inline-flex; align-items:center; justify-content:center; gap:6px; cursor:pointer; flex-shrink:0; }
.previs-workbench button:hover { background:var(--ui-subtle); }
.previs-workbench button:focus-visible { outline:2px solid var(--ui-accent); outline-offset:1px; }
.previs-workbench button.is-active { background:var(--ui-selected); color:var(--ui-accent); }
.previs-workbench button:disabled { opacity:.4; cursor:default; }
.previs-workbench input:not([type=checkbox]):not([type=range]):not([type=color]),.previs-workbench select,.previs-workbench textarea { width:100%; min-width:0; border:1px solid var(--ui-line); background:var(--ui-surface); border-radius:5px; padding:6px 8px; }
.previs-workbench input[type=range] { accent-color:var(--ui-accent); }
.previs-workbench label { display:flex; flex-direction:column; gap:4px; color:var(--ui-muted); margin-bottom:10px; }
.previs-workbench label:has(input[type=checkbox]) { flex-direction:row; align-items:center; }
.previs-workbench input[type=color] { border:0; padding:0; width:38px; height:28px; background:transparent; }
.pv-header { grid-row:1; display:flex; align-items:center; gap:20px; padding:0 16px; border-bottom:1px solid var(--ui-line); background:var(--ui-surface); min-width:0; }
.pv-brand { display:flex; align-items:center; gap:8px; white-space:nowrap; }
.previs-workbench .pv-project-name { width:220px!important; border-color:transparent!important; background:transparent!important; }
.pv-header-actions { display:flex; gap:3px; margin-left:auto; }
.pv-header-actions button span,.pv-tools button span,.pv-library-object-tools button span,.pv-template-save button span,.pv-scene-row>button[data-pv-action="delete-scene-template"] span,.pv-panel-heading button span { display:none; }
.pv-header-actions button { width:32px; height:32px; }
.pv-work-area { grid-row:2; display:grid; grid-template-columns:64px var(--pv-library-width) minmax(0,1fr) var(--pv-inspector-width); min-height:0; }
.pv-tool-rail { grid-column:1; grid-row:1; display:flex; flex-direction:column; gap:10px; padding:6px 4px; background:var(--ui-surface); border-right:1px solid var(--ui-line); overflow-y:auto; }
.pv-tool-rail>div,.pv-advanced-tools>div { display:grid; gap:2px; }
.previs-workbench .pv-tool-rail button { width:100%; height:36px; padding:2px; border-radius:5px; flex-direction:column; gap:0; }
.pv-tool-rail button svg { width:18px; height:18px; flex:none; }
.pv-tool-rail button span,.pv-advanced-tools>summary span { font-size:10px; line-height:14px; }
.pv-advanced-tools { margin-top:auto; border-top:1px solid var(--ui-line); padding-top:6px; }
.pv-advanced-tools>summary { list-style:none; display:flex; flex-direction:column; align-items:center; padding:2px; cursor:pointer; color:var(--ui-muted); }
.pv-advanced-tools>summary::-webkit-details-marker { display:none; }
.pv-advanced-tools[open]>div { margin-top:4px; }
.pv-advanced-tools[open] button span { font-size:9px; }
.pv-tool-rail button[aria-pressed="true"],.pv-tools button[aria-pressed="true"] { color:var(--ui-accent); background:var(--ui-selected); }
.pv-scene-panel,.pv-inspector { background:var(--ui-surface); overflow:auto; min-width:0; min-height:0; }
.pv-scene-panel { grid-column:2; grid-row:1; border-right:1px solid var(--ui-line); padding:0; display:flex; flex-direction:column; overflow:hidden; }
.pv-panel-heading { display:flex; align-items:center; gap:6px; margin-bottom:10px; }
.pv-panel-heading strong { margin-right:auto; }
.pv-panel-heading select { width:124px; }
.pv-library-heading,.pv-inspector-heading { display:flex; align-items:center; gap:8px; min-height:46px; padding:8px 14px; border-bottom:1px solid var(--ui-line); flex-shrink:0; }
.pv-library-heading strong,.pv-inspector-heading strong { font-size:12px; font-weight:600; flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-library-content { flex:1; overflow:auto; min-height:0; padding:12px; }
.pv-tool-content { flex:1; overflow:auto; min-height:0; min-width:0; padding:12px; scrollbar-gutter:stable; }
.pv-tool-subnav { display:flex; padding:7px 12px; gap:6px; border-bottom:1px solid var(--ui-line); }
.pv-tool-subnav button { flex:1; font-size:12px; }
.pv-tool-subnav button[aria-pressed="true"] { color:var(--ui-accent); background:var(--ui-selected); }
.pv-library-content[hidden],.pv-tool-content[hidden],.pv-tool-subnav[hidden] { display:none; }
.pv-library-content>.pv-library-heading { padding:0 0 8px; margin-bottom:10px; }
.pv-library-heading button span { display:none; }
.pv-camera-presets { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:4px; margin-bottom:14px; }
.pv-camera-presets button { justify-content:flex-start; min-width:0; font-size:11px; border:1px solid var(--ui-line); }
.pv-camera-presets button span { display:inline; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-camera-segments { display:grid; gap:4px; margin-bottom:8px; }
.pv-camera-segment { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:center; gap:4px; }
.pv-camera-segment>button:first-child { display:flex; min-width:0; justify-content:space-between; gap:8px; text-align:left; }
.pv-camera-segment>button:first-child span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-camera-segment small { flex:none; font-size:10px; color:var(--ui-muted); font-variant-numeric:tabular-nums; }
.pv-camera-segment>button:last-child { width:28px; padding:4px; }
.pv-camera-segment>button:last-child span { display:none; }
.pv-camera-segment.is-active>button:first-child { background:var(--ui-selected); color:var(--ui-accent); }
.pv-world-transform { margin-top:12px; padding-top:10px; border-top:1px solid var(--ui-line); }
.pv-world-transform summary { display:flex; align-items:center; gap:6px; cursor:pointer; }
.pv-world-transform .pv-vector-fields,.pv-world-transform .pv-global-fields { margin-top:10px; }
.pv-world-transform label { min-width:0; }
.pv-background-sources { margin:10px 0; }
.pv-background-sources summary { cursor:pointer; color:var(--ui-muted); }
.pv-background-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:6px; margin-top:8px; }
.pv-background-choices button { display:flex; flex-direction:column; gap:4px; min-width:0; padding:4px; }
.pv-background-choices img { width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:4px; }
.pv-background-choices span { display:block; width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; }
.pv-resource-issues { padding-top:6px; border-top:1px solid var(--ui-line); }
.pv-resource-issues summary { cursor:pointer; }
.pv-resource-issues>div { display:flex; gap:6px; align-items:center; padding-block:4px; }
.pv-resource-issues>div>span { flex:1; min-width:0; overflow-wrap:anywhere; font-size:11px; }
.pv-resource-issues>div>button { flex:none; width:28px; padding:4px; }
.pv-resource-issues>div>button span { display:none; }
.pv-asset-search { display:grid; grid-template-columns:minmax(0,1fr) 82px; gap:6px; margin-bottom:8px; }
.pv-asset-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; }
.previs-workbench .pv-asset-item { padding:0 0 7px; display:flex; flex-direction:column; gap:3px; border:1px solid var(--ui-line); border-radius:6px; overflow:hidden; min-width:0; }
.pv-asset-item img { display:block; width:100%; aspect-ratio:4/3; object-fit:contain; background:#edf0f3; }
.pv-asset-item>span { font-size:12px; }
.pv-asset-item small { font-size:10px; color:var(--ui-muted); white-space:nowrap; }
.pv-asset-placeholder { display:flex; justify-content:center; align-items:center; min-height:75px; }
.pv-library-import { display:flex; gap:4px; margin:0 0 8px; }
.pv-library-import button { flex:1; padding:5px; font-size:12px; }
.pv-library-section-label { display:flex; justify-content:space-between; color:var(--ui-muted); font-size:12px; margin:0 0 8px; }
.pv-library-section-label:not(:first-child) { margin-top:18px; }
.pv-scene-presets { display:flex; flex-direction:column; gap:5px; }
.pv-scene-row { display:flex; align-items:center; border:1px solid var(--ui-line); border-radius:5px; overflow:hidden; }
.pv-scene-row.is-active { background:var(--ui-selected); border-color:var(--ui-accent); }
.previs-workbench .pv-scene-row>button:first-child { justify-content:flex-start; width:100%; min-width:0; padding:7px; gap:7px; text-align:left; }
.pv-scene-row>button:first-child>span:last-child { display:flex; flex-direction:column; min-width:0; }
.pv-scene-row strong { font-size:12px; font-weight:500; overflow-wrap:anywhere; }
.pv-scene-row small { font-size:10px; color:var(--ui-muted); line-height:1.5; }
.pv-scene-thumbs { width:84px; display:grid; grid-template-columns:repeat(3,1fr); flex-shrink:0; gap:2px; }
.pv-scene-thumbs img { width:100%; height:32px; object-fit:contain; background:#edf0f3; border-radius:3px; }
.pv-scene-thumbs.has-scene-preview { display:block; width:84px; }
.pv-scene-thumbs.has-scene-preview img { height:63px; }
.pv-scene-apply { display:flex; gap:6px; padding-top:8px; }
.pv-scene-apply button { flex:1; font-size:12px; border-color:var(--ui-line); }
.pv-template-save { display:flex; gap:5px; margin-bottom:8px; }
.pv-library-object-tools { display:flex; gap:4px; margin-bottom:8px; }
.pv-object-list { min-height:100px; }
.pv-object-row { display:flex; align-items:center; gap:4px; padding:3px; border-radius:5px; }
.pv-object-row.is-active { background:var(--ui-selected); }
.pv-object-row>button[data-pv-action="select-object"],.pv-object-row>button[data-pv-action="select-group"],.pv-object-row>button[data-pv-camera-select] { justify-content:flex-start; flex:1; min-width:0; text-align:left; overflow:hidden; text-overflow:ellipsis; }
.pv-object-row>button>span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-object-row svg { flex-shrink:0; width:15px; height:15px; }
.pv-object-row>button:last-child { width:28px; }
.pv-camera-row>button:last-child { width:auto; }
.pv-object-search { display:grid; grid-template-columns:minmax(0,1fr) 86px; gap:6px; margin-block:8px; }
.pv-object-search input,.pv-object-search select { min-width:0; width:100%; }
.pv-object-row>button[data-pv-action="scene-expand-group"] { width:22px; padding:2px; }
.pv-object-children { margin-left:14px; padding-left:4px; border-left:1px solid var(--ui-line); }
.pv-object-row.is-isolated-out { opacity:.45; }
.pv-scene-menu { margin:8px 0; border-block:1px solid var(--ui-line); padding:8px 0; }
.pv-scene-menu summary { display:flex; align-items:center; gap:6px; cursor:pointer; }
.pv-scene-menu .pv-global-fields { margin-top:8px; gap:4px; }
.pv-scene-menu button { font-size:11px; }
.pv-selection-size { display:flex; align-items:center; gap:6px; padding:6px 0; color:var(--ui-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.pv-model-info dl { display:grid; grid-template-columns:auto minmax(0,1fr); gap:5px 10px; font-size:11px; }
.pv-model-info dt { color:var(--ui-muted); }
.pv-model-info dd { margin:0; overflow-wrap:anywhere; }
.pv-model-info ul { padding-left:18px; font-size:11px; }
.pv-scene-row:has(details) { flex-wrap:wrap; }
.pv-scene-row>details { width:100%; border-top:1px solid var(--ui-line); padding:4px 7px; }
.pv-scene-row>details>summary { font-size:11px; color:var(--ui-muted); cursor:pointer; display:flex; gap:5px; align-items:center; }
.pv-scene-row>details button { font-size:11px; justify-content:flex-start; width:100%; }
.pv-global-fields { display:flex; gap:10px; flex-wrap:wrap; }
.pv-global-fields>label { flex:1; min-width:72px; }
.pv-stage { grid-column:3; grid-row:1; position:relative; display:flex; flex-direction:column; min-width:0; min-height:0; background:var(--ui-subtle); container-type:inline-size; }
.pv-stage-toolbar { position:absolute; top:12px; left:50%; transform:translateX(-50%); z-index:2; display:flex; gap:6px; pointer-events:none; }
.pv-stage-toolbar>div { display:flex; gap:2px; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:6px; padding:3px; pointer-events:auto; }
.pv-tools { position:absolute; left:50%; transform:translateX(-50%); bottom:40px; display:flex; gap:3px; padding:5px; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:8px; z-index:2; box-shadow:0 3px 16px var(--ui-overlay); }
.previs-workbench .pv-tools button { width:32px; height:32px; padding:5px; }
.pv-stage-utilities { position:absolute; top:12px; left:10px; right:10px; display:flex; gap:4px; align-items:flex-start; pointer-events:none; z-index:3; }
.pv-stage-utilities>button,.pv-stage-utilities>details { pointer-events:auto; background:var(--ui-surface); border:1px solid var(--ui-line); border-radius:6px; }
.pv-stage-utilities>button { width:30px; height:32px; padding:5px; }
.pv-stage-utilities>button span { display:none; }
.pv-stage-utilities>button:first-child { margin-right:auto; }
.pv-view-menu,.pv-file-menu,.pv-help-menu { position:relative; }
.pv-view-menu>summary,.pv-file-menu>summary,.pv-help-menu>summary { list-style:none; display:flex; align-items:center; justify-content:center; width:30px; height:32px; cursor:pointer; border-radius:5px; }
.pv-view-menu>summary::-webkit-details-marker,.pv-file-menu>summary::-webkit-details-marker,.pv-help-menu>summary::-webkit-details-marker { display:none; }
.pv-view-menu>summary:hover,.pv-file-menu>summary:hover,.pv-help-menu>summary:hover { background:var(--ui-subtle); }
.pv-help-menu dl { position:absolute; right:0; top:35px; display:grid; grid-template-columns:minmax(0,1fr) auto; gap:9px 14px; width:310px; margin:0; padding:16px; border:1px solid var(--ui-line); border-radius:6px; background:var(--ui-surface); box-shadow:0 6px 20px var(--ui-overlay); font-size:12px; }
.pv-help-menu dd { margin:0; color:var(--ui-muted); text-align:right; }
.pv-help-menu kbd { font:11px system-ui,sans-serif; white-space:nowrap; }
.pv-view-tools,.pv-file-menu>div { position:absolute; right:0; top:calc(100% + 7px); width:204px; padding:12px; border:1px solid var(--ui-line); border-radius:8px; background:var(--ui-surface); box-shadow:0 6px 24px var(--ui-overlay); z-index:5; }
.pv-file-menu>div { max-height:calc(100vh - 108px); overflow:auto; }
.pv-view-tools label { font-size:11px; }
.pv-view-tools label:last-child { margin:0; }
.pv-header-actions .pv-file-menu>div>button,.pv-header-actions .pv-resource-issues>button { width:100%; justify-content:flex-start; }
.pv-header-actions .pv-file-menu>div>button span,.pv-header-actions .pv-resource-issues>button span { display:inline; }
.pv-viewport { position:relative; width:100%; height:100%; min-height:0; overflow:hidden; }
.pv-viewport canvas { display:block; width:100%; height:100%; touch-action:none; }
.pv-stage-annotations { position:absolute; inset:0; pointer-events:none; overflow:hidden; }
.pv-stage-annotations[hidden],.pv-stage-annotations [hidden] { display:none; }
.previs-workbench .pv-bone-point { position:absolute; width:16px; height:16px; min-height:0; padding:0; border-radius:50%; border:2px solid var(--ui-surface); background:var(--ui-accent); box-shadow:0 0 0 1px color-mix(in srgb,var(--ui-text) 35%,transparent); transform:translate(-50%,-50%); pointer-events:auto; touch-action:none; cursor:ew-resize; z-index:1; }
.previs-workbench .pv-bone-point[aria-pressed="true"] { width:20px; height:20px; box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-accent) 22%,transparent); z-index:2; }
.pv-bone-point>span { position:absolute; left:22px; top:50%; transform:translateY(-50%); padding:2px 6px; border-radius:4px; background:var(--ui-surface); color:var(--ui-text); white-space:nowrap; font-size:11px; opacity:0; pointer-events:none; }
.pv-bone-point:hover>span,.pv-bone-point[aria-pressed="true"]>span,.pv-bone-point:focus-visible>span { opacity:1; }
.pv-character-label { position:absolute; transform:translate(-50%,-100%); font-size:11px; color:var(--ui-text); padding:2px 6px; border-radius:4px; background:color-mix(in srgb,var(--ui-surface) 88%,transparent); max-width:160px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-direction-control { position:absolute; top:52px; right:12px; z-index:2; width:90px; display:flex; flex-direction:column; align-items:center; gap:4px; }
.pv-direction-axes { position:relative; width:90px; height:90px; }
.previs-workbench .pv-direction-axis { position:absolute; left:34px; top:34px; width:22px; height:22px; min-width:22px; min-height:22px; padding:0; border-radius:50%; border:1px solid var(--axis-color); color:var(--axis-color); background:var(--ui-surface); font-size:10px; line-height:1; font-weight:600; }
.pv-direction-control .axis-x { --axis-color:#bb4852; }
.pv-direction-control .axis-y { --axis-color:#298366; }
.pv-direction-control .axis-z { --axis-color:#4876c4; }
.previs-workbench .pv-direction-axis:not(.is-negative) { background:color-mix(in srgb,var(--axis-color) 13%,var(--ui-surface)); }
.previs-workbench .pv-direction-axis:hover,.previs-workbench .pv-direction-axis[aria-pressed="true"] { box-shadow:0 0 0 2px color-mix(in srgb,var(--axis-color) 24%,transparent); border-color:var(--axis-color); }
.pv-direction-line { position:absolute; left:45px; top:44px; height:1px; background:var(--axis-color); transform-origin:left center; pointer-events:none; opacity:.6; }
.previs-workbench .pv-direction-perspective { width:28px; height:25px; min-width:28px; min-height:25px; padding:3px; border-radius:5px; color:var(--ui-text); background:var(--ui-surface); border:1px solid var(--ui-line); }
.pv-direction-control[hidden],.pv-direction-control button[hidden] { display:none; }
.pv-stage-status { position:absolute; bottom:10px; left:14px; right:14px; display:flex; justify-content:space-between; gap:8px; pointer-events:none; font-size:11px; }
.pv-stage-status>span { color:#f2f3f5; background:#242529d9; border-radius:4px; padding:3px 6px; }
.pv-inspector { grid-column:4; grid-row:1; border-left:1px solid var(--ui-line); display:flex; flex-direction:column; overflow:hidden; }
.pv-inspector-content { padding:14px; overflow:auto; flex:1; min-height:0; }
.pv-background-empty { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:10px; height:150px; background:var(--ui-subtle); color:var(--ui-muted); border-radius:6px; }
.pv-background-empty svg { width:30px; height:30px; }
.pv-format-preview { display:flex; align-items:center; justify-content:center; width:100%; max-height:270px; aspect-ratio:var(--pv-aspect); border:1px solid var(--ui-line-strong); background:var(--ui-subtle); border-radius:6px; color:var(--ui-muted); margin-top:24px; }
.pv-inspector-content fieldset,.pv-tool-content fieldset { border:0; border-top:1px solid var(--ui-line); padding:10px 0 4px; margin:12px 0; min-width:0; }
.pv-inspector-content legend,.pv-tool-content legend { color:var(--ui-muted); padding-right:8px; }
.pv-vector-fields { display:flex; gap:5px; }
.pv-vector-fields label { min-width:0; flex:1; font-size:11px; }
.pv-vector-fields input { padding:5px!important; }
.previs-workbench .pv-number-handle { min-height:0; height:20px; width:22px; padding:0; justify-content:flex-start; border-radius:3px; font-size:11px; font-weight:600; cursor:ew-resize; touch-action:none; user-select:none; color:var(--ui-muted); }
.pv-number-handle svg { width:15px; height:15px; }
.previs-workbench .pv-inspector-content fieldset.pv-object-properties,.previs-workbench .pv-tool-content fieldset.pv-pose-editing { border:0; padding:0; margin:0; min-width:0; }
.previs-workbench .pv-uniform-scale { display:grid; grid-template-columns:22px auto minmax(50px,1fr) auto; align-items:center; gap:8px; }
.pv-empty { color:var(--ui-muted); padding:20px 0; }
.pv-action-row { display:grid; grid-template-columns:minmax(0,1fr) 26px; gap:5px; align-items:center; padding:7px 0; border-bottom:1px solid var(--ui-line); font-size:12px; }
.pv-action-row>button:first-child { justify-content:flex-start; flex-wrap:wrap; text-align:left; }
.pv-action-row small { color:var(--ui-muted); }
.pv-action-row>button:last-child { width:26px; padding:3px; }
.pv-action-row>button:last-child span { display:none; }
.pv-character-header { position:sticky; top:-14px; background:var(--ui-surface); z-index:3; padding-top:14px; margin-top:-14px; }
.pv-character-menu { margin:0 0 12px; }
.pv-character-menu>summary { display:flex; align-items:center; gap:6px; width:max-content; max-width:100%; min-height:28px; padding:4px; list-style:none; cursor:pointer; font-size:12px; color:var(--ui-muted); border-radius:5px; }
.pv-character-menu>summary::-webkit-details-marker { display:none; }
.pv-character-menu>summary:hover { background:var(--ui-subtle); }
.pv-character-menu>summary:focus-visible { outline:2px solid var(--ui-accent); outline-offset:1px; }
.pv-character-menu>div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; margin-top:6px; }
.pv-character-menu button { min-width:0; padding:4px 3px; font-size:11px; }
.pv-character-menu button[aria-pressed="true"] { color:var(--ui-accent); background:var(--ui-selected); }
.pv-character-command-row { display:flex; gap:4px; flex-wrap:wrap; }
.pv-character-command-row button { font-size:11px; padding:4px 5px; }
.pv-character-command-row button:not(:first-child) span { display:none; }
.pv-character-hint,.pv-character-metric { font-size:11px; color:var(--ui-muted); margin:8px 0; }
.pv-route-points { display:flex; flex-direction:column; gap:5px; margin:10px 0; }
.pv-route-points>div { display:grid; grid-template-columns:15px repeat(3,minmax(0,1fr)) 25px; gap:3px; align-items:center; }
.pv-route-points input { padding:5px 3px!important; font-size:11px!important; }
.pv-route-points button { width:25px; padding:2px; }
.pv-route-points button span { display:none; }
.pv-tool-content fieldset[data-pv-path-section] { margin:14px 0; padding:10px 0; }
.pv-tool-content [data-pv-path-point] { margin:8px 0; padding:8px 0; }
.pv-tool-content [data-pv-path-point] legend { font-size:11px; }
.pv-tool-content [data-pv-path-section="points"] { max-height:330px; overflow:auto; padding-right:4px; }
.pv-tool-content [data-pv-path-point] .pv-global-fields { gap:5px; }
.pv-character-command-row button[aria-pressed="true"] { background:var(--ui-selected); color:var(--ui-accent); }
.pv-joint-controls label { display:grid; grid-template-columns:16px minmax(0,1fr) 42px; align-items:center; gap:8px; }
.pv-joint-controls input { width:100%; min-width:0; }
.pv-joint-controls output { text-align:right; font-variant-numeric:tabular-nums; }
.pv-pose-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:4px; }
.pv-pose-grid button { justify-content:flex-start; border:1px solid var(--ui-line); min-width:0; font-size:11px; }
.pv-pose-grid button span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-pose-grid button[aria-pressed="true"] { color:var(--ui-accent); background:var(--ui-selected); border-color:var(--ui-accent); }
.pv-pose-parts { display:flex; flex-wrap:wrap; gap:3px; padding:12px 0; margin-top:12px; border-top:1px solid var(--ui-line); }
.previs-workbench .pv-pose-parts button { padding:4px 9px; min-height:28px; font-size:12px; }
.pv-pose-parts button[aria-pressed=true],.pv-pose-controls button[aria-pressed=true] { color:var(--ui-accent); background:var(--ui-selected); }
.previs-workbench .pv-pose-controls label { display:grid; grid-template-columns:68px minmax(0,1fr) 52px; align-items:center; gap:6px; margin-bottom:9px; }
.previs-workbench .pv-pose-controls button { justify-content:flex-start; padding:4px; min-width:0; min-height:26px; font-size:11px; }
.pv-pose-controls input { min-width:0; width:100%; }
.previs-workbench .pv-pose-controls input[type=number] { padding:4px; font-size:11px; font-variant-numeric:tabular-nums; text-align:right; }
.pv-tool-content .pv-direct-path-basic { min-width:0; border:0; margin:0; padding:0; }
.pv-direct-path-tools { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:5px; }
.previs-workbench .pv-direct-path-tools button { width:100%; min-width:0; height:32px; padding:6px; border:1px solid var(--ui-line); }
.pv-direct-path-tools button span { display:none; }
.pv-direct-path-tools button[aria-pressed="true"] { color:var(--ui-accent); background:var(--ui-selected); border-color:var(--ui-accent); }
.pv-inline-actions { display:flex; gap:5px; margin:8px 0; }
.pv-direct-path-basic .pv-inline-actions button { min-width:0; font-size:12px; padding:4px 6px; }
.pv-direct-path-actions { display:flex; gap:5px; margin:8px 0; }
.previs-workbench .pv-direct-path-actions button { width:32px; height:32px; padding:6px; }
.pv-direct-path-actions button span { display:none; }
.pv-slider-row { display:grid; grid-template-columns:38px minmax(0,1fr) 42px; gap:7px; align-items:center; margin:8px 0; color:var(--ui-muted); font-size:11px; }
.pv-slider-row label { margin:0; }
.pv-slider-row input { width:100%; min-width:0; margin:0; }
.pv-slider-row output { text-align:right; font-variant-numeric:tabular-nums; }
.pv-role-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; margin-bottom:12px; }
.pv-role-grid button { justify-content:flex-start; border:1px solid var(--ui-line); font-size:11px; }
.pv-role-grid button span { display:inline; }
.pv-crowd-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.pv-crowd-fields label { margin-bottom:6px; font-size:11px; }
.previs-workbench .pv-path-block { background:var(--ui-subtle); border-style:dashed; }
.previs-workbench .pv-interaction-block { background:var(--ui-surface); border-color:var(--ui-accent); }
.pv-camera-inspector { min-width:0; }
.pv-camera-name-row { display:grid; grid-template-columns:minmax(0,1fr) 28px; align-items:end; gap:4px; }
.previs-workbench .pv-camera-name-row>button { width:28px; height:30px; padding:4px; margin-bottom:9px; }
.pv-camera-name-row>button span { display:none; }
.pv-camera-header { position:sticky; top:-14px; z-index:3; margin-top:-14px; padding-top:14px; background:var(--ui-surface); }
.pv-camera-select-row { display:grid; grid-template-columns:minmax(0,1fr) repeat(3,28px); align-items:end; gap:3px; }
.pv-camera-select-row>label { min-width:0; margin-bottom:0; }
.previs-workbench .pv-camera-select-row>button { width:28px; height:30px; padding:4px; margin-bottom:9px; }
.pv-camera-select-row>button span,.pv-camera-point button span,.pv-camera-key-row>button:last-child span,.pv-camera-rig-row>button:not(:first-child) span,.pv-camera-cut-table button span { display:none; }
.pv-camera-tabs { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:3px; padding:8px 0; margin-bottom:10px; border-bottom:1px solid var(--ui-line); }
.pv-quick-motion-mode { display:flex; gap:4px; padding:3px; background:var(--ui-subtle); border-radius:5px; margin-bottom:8px; }
.pv-quick-motion-mode button { flex:1; }
.pv-quick-motion-mode button[aria-pressed=true] { background:var(--ui-surface); color:var(--ui-accent); box-shadow:0 1px 3px var(--ui-overlay); }
.pv-quick-motion-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:4px; margin-bottom:12px; }
.previs-workbench .pv-quick-motion-grid button { flex-direction:column; gap:5px; min-height:54px; padding:5px 3px; font-size:11px; }
.pv-filming-source { display:flex; align-items:center; gap:6px; padding:8px 0; border-bottom:1px solid var(--ui-line); margin-bottom:10px; font-size:11px; }
.pv-filming-source>span { flex:1; min-width:0; overflow-wrap:anywhere; color:var(--ui-muted); }
.pv-filming-source strong { display:block; font-weight:500; color:var(--ui-text); }
.pv-filming-source button { font-size:11px; padding:4px; }
.pv-channel-key { margin-left:auto; }
.previs-workbench button.pv-channel-key { min-height:20px; height:20px; width:24px; padding:2px; color:var(--ui-muted); }
.pv-channel-key.is-keyed { color:var(--ui-accent)!important; }
.pv-channel-key.is-keyed svg { fill:var(--ui-selected); }
.previs-workbench .pv-camera-tabs button { min-width:0; padding:5px 3px; }
.pv-camera-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pv-camera-grid>label { min-width:0; }
.previs-workbench .pv-camera-inspector input,.previs-workbench .pv-camera-inspector select,.previs-workbench .pv-camera-inspector textarea { min-width:0; max-width:100%; font-size:12px; }
.pv-camera-commands { display:flex; flex-wrap:wrap; gap:4px; margin:6px 0 10px; }
.previs-workbench .pv-camera-commands button { min-width:28px; min-height:28px; padding:4px 6px; font-size:11px; }
.pv-camera-commands button:not(:first-child) span { display:none; }
.pv-camera-commands button svg { width:15px; height:15px; flex-shrink:0; }
.pv-camera-preview-source { display:flex; gap:3px; align-items:center; margin:8px 0; }
.previs-workbench .pv-camera-preview-source>button { flex:1; min-width:0; font-size:11px; padding:5px 3px; white-space:nowrap; }
.pv-camera-details { border-top:1px solid var(--ui-line); margin:10px 0; padding:8px 0 0; }
.pv-camera-details>summary { cursor:pointer; font-size:12px; color:var(--ui-muted); padding-bottom:7px; }
.pv-camera-inspector .pv-camera-vector { margin:7px 0; padding:5px 0; border-top:0; }
.pv-camera-vector legend { font-size:11px; }
.pv-camera-checks { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:5px; }
.previs-workbench .pv-camera-toggle { display:flex; align-items:center; gap:5px; margin:5px 0; font-size:11px; }
.previs-workbench .pv-camera-toggle input { width:14px; height:14px; flex-shrink:0; margin:0; }
.pv-camera-point-list { max-height:250px; overflow-y:auto; margin:7px 0; }
.pv-camera-point { display:grid; grid-template-columns:14px repeat(3,minmax(0,1fr)) 24px 24px; align-items:center; gap:3px; margin:4px 0; font-size:10px; }
.previs-workbench .pv-camera-point input { padding:5px 2px; font-size:11px; }
.previs-workbench .pv-camera-point button { width:24px; height:28px; padding:2px; }
.pv-camera-path-toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:5px; }
.pv-camera-path-toolbar output { margin-left:auto; color:var(--ui-muted); font-size:11px; font-variant-numeric:tabular-nums; }
.pv-camera-path-toolbar .pv-camera-commands { margin:0; }
.pv-camera-state,.pv-camera-error { font-size:11px; margin:7px 0; overflow-wrap:anywhere; }
.pv-camera-state { color:var(--ui-muted); }
.pv-camera-error { color:var(--ui-danger); }
.pv-camera-key-row,.pv-camera-rig-row { display:grid; grid-template-columns:minmax(0,1fr) 26px; gap:3px; margin:4px 0; align-items:center; }
.pv-camera-rig-row { grid-template-columns:minmax(0,1fr) 26px 26px; }
.previs-workbench .pv-camera-key-row>button:first-child,.previs-workbench .pv-camera-rig-row>button:first-child { justify-content:flex-start; min-width:0; text-align:left; overflow-wrap:anywhere; font-size:11px; }
.previs-workbench .pv-camera-key-row>button:last-child,.previs-workbench .pv-camera-rig-row>button:not(:first-child) { width:26px; padding:3px; }
.pv-camera-cut-table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:11px; margin:10px 0; }
.pv-camera-cut-table th { color:var(--ui-muted); font-weight:400; text-align:left; }
.pv-camera-cut-table th:first-child { width:72px; }
.pv-camera-cut-table th:last-child { width:28px; }
.pv-camera-cut-table td { border-bottom:1px solid var(--ui-line); padding:3px 0; overflow-wrap:anywhere; }
.pv-camera-cut-table td button { font-size:11px; }
.pv-camera-cut-table small { display:block; color:var(--ui-muted); font-size:10px; }
.previs-workbench .pv-camera-cut-table td:last-child button { width:26px; padding:3px; }
.pv-camera-report { display:flex; flex-direction:column; gap:4px; margin:8px 0; }
.previs-workbench .pv-camera-report button { flex-direction:column; align-items:flex-start; text-align:left; font-size:11px; padding:7px; border:1px solid var(--ui-line); }
.pv-camera-report span { overflow-wrap:anywhere; }
.pv-camera-report small { color:var(--ui-muted); font-size:10px; }
.pv-camera-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; margin:10px 0; }
.previs-workbench .pv-camera-gallery button { display:flex; flex-direction:column; align-items:stretch; min-width:0; padding:0; border:1px solid var(--ui-line); border-radius:4px; overflow:hidden; text-align:left; }
.pv-camera-gallery img,.pv-camera-thumbnail-empty { width:100%; aspect-ratio:16/9; object-fit:contain; background:var(--ui-subtle); }
.pv-camera-gallery span { font-size:11px; padding:4px 5px 0; overflow-wrap:anywhere; }
.pv-camera-gallery small { padding:2px 5px 5px; color:var(--ui-muted); font-size:10px; }
.previs-workbench .pv-camera-commands button[aria-pressed="true"],.pv-camera-rig-row.is-active>button:first-child { background:var(--ui-selected); color:var(--ui-accent); }
.pv-camera-overlay { position:absolute; pointer-events:none; z-index:1; overflow:hidden; }
.pv-camera-overlay svg { display:block; width:100%; height:100%; overflow:visible; fill:none; stroke:rgba(255,255,255,.86); stroke-width:1; }
.pv-camera-overlay g { fill:none; stroke:rgba(255,255,255,.86); filter:drop-shadow(0 1px 1px rgba(0,0,0,.65)); }
.pv-camera-overlay line,.pv-camera-overlay rect { vector-effect:non-scaling-stroke; filter:drop-shadow(0 1px 1px rgba(0,0,0,.65)); }
.pv-camera-overlay [data-guide="safe"] { stroke-dasharray:5 4; }
.pv-camera-overlay [data-guide="horizon"] { stroke:#ffcf60; }
.pv-camera-overlay [data-guide="eye"],.pv-camera-overlay [data-guide="lookroom"] { stroke:#80edce; }
.pv-background-preview { width:100%; height:110px; object-fit:contain; background:var(--ui-subtle); }
.pv-project-summary { display:grid; grid-template-columns:1fr 1fr; gap:8px; margin-top:14px; color:var(--ui-muted); font-size:12px; }
.pv-timeline { grid-row:4; border-top:1px solid var(--ui-line); background:var(--ui-surface); display:flex; flex-direction:column; min-height:0; }
.pv-shot-bar { display:flex; align-items:center; gap:4px; padding:6px 10px; border-bottom:1px solid var(--ui-line); }
.pv-shot-bar>button span { display:none; }
.pv-shot-list { display:flex; gap:6px; flex:1; overflow:auto; min-width:0; }
.pv-shot-list button { border-color:var(--ui-line); max-width:180px; white-space:nowrap; }
.pv-shot-list button small { color:var(--ui-muted); margin-left:6px; }
.pv-transport { grid-row:3; display:flex; align-items:center; gap:8px; padding:5px 12px; background:var(--ui-surface); border-top:1px solid var(--ui-line); min-width:0; }
.pv-transport button { width:30px; height:30px; }
.pv-transport button span { display:none; }
.pv-transport input[type=range] { flex:1; min-width:60px; }
.pv-transport output { width:125px; font-variant-numeric:tabular-nums; white-space:nowrap; }
.previs-workbench .pv-transport label { margin:0; white-space:nowrap; font-size:12px; }
.previs-workbench .pv-transport-time { display:flex; align-items:center; gap:4px; flex:none; }
.previs-workbench .pv-transport .pv-transport-time input[type=number] { width:64px; min-width:0; height:28px; padding:3px 5px; font-size:12px; font-variant-numeric:tabular-nums; }
.previs-workbench .pv-transport-time select { width:44px; min-width:0; height:28px; padding:2px; font-size:12px; }
.pv-auto-key:has(input:checked) { color:var(--ui-accent); }
.pv-motion-clear { position:relative; }
.pv-motion-clear>summary { display:grid; place-items:center; width:28px; height:28px; cursor:pointer; list-style:none; border-radius:4px; }
.pv-motion-clear>summary:hover { background:var(--ui-hover); }
.pv-motion-clear>summary svg { width:16px; height:16px; }
.pv-motion-clear>div { position:absolute; bottom:36px; right:0; min-width:116px; padding:4px; border:1px solid var(--ui-line); border-radius:6px; background:var(--ui-surface); box-shadow:0 4px 16px #0002; z-index:12; }
.previs-workbench .pv-motion-clear>div button { width:100%; height:28px; justify-content:flex-start; padding:4px 8px; }
.pv-tl-group { background:var(--ui-subtle); }
.pv-tl-group .pv-tl-label { background:var(--ui-subtle); }
.pv-tl-group strong { flex:1; min-width:0; font-size:11px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pv-track-list { overflow:auto; flex:1; padding:2px 12px 8px; position:relative; }
.pv-timeline-tools { display:flex; align-items:center; gap:6px; padding:3px 12px; flex-wrap:wrap; border-top:1px solid var(--ui-line); font-size:11px; }
.pv-timeline-tools>button { width:26px; height:26px; padding:3px; }
.pv-timeline-tools>button span { display:none; }
.previs-workbench .pv-timeline-tools label { display:flex; align-items:center; gap:3px; margin:0; white-space:nowrap; }
.previs-workbench .pv-timeline-tools .pv-tl-zoom { flex-direction:row; }
.pv-timeline-tools input[type=range] { width:64px; }
.pv-timeline-tools select { width:auto; max-width:120px; padding:3px; height:26px; }
.pv-tl-content { min-width:calc(100% * var(--pv-tl-zoom)); }
.pv-tl-ruler { position:sticky; top:0; z-index:6; margin-left:158px; height:18px; color:var(--ui-muted); background:var(--ui-surface); font-size:10px; }
.pv-tl-ruler span { position:absolute; transform:translateX(-50%); }
.pv-tl-row { display:grid; grid-template-columns:158px 1fr; min-height:28px; }
.pv-tl-label { position:sticky; left:0; z-index:5; display:flex; align-items:center; gap:3px; background:var(--ui-surface); font-size:11px; }
.pv-tl-label span { flex:1; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; }
.pv-tl-label button { width:23px; height:24px; padding:3px; min-height:0; flex:none; }
.pv-tl-label button[aria-pressed=true] { color:var(--ui-accent); }
.pv-tl-label svg { width:13px; height:13px; }
.pv-tl-lane { position:relative; min-height:28px; border-bottom:1px solid var(--ui-line); background:repeating-linear-gradient(to right,var(--ui-line) 0 1px,transparent 1px 10%); }
.pv-tl-summary { position:absolute; inset:0; pointer-events:none; }
.pv-tl-summary-item { position:absolute; top:10px; height:7px; min-width:3px; border-radius:2px; background:color-mix(in srgb,var(--ui-accent) 48%,var(--ui-subtle)); }
.pv-tl-summary-item:not(.is-key) { border-inline:1px solid var(--ui-surface); }
.pv-tl-summary-item.is-key { width:6px; height:6px; background:var(--ui-accent); z-index:1; transform:translateX(-50%) rotate(45deg); }
.previs-workbench .pv-tl-item { position:absolute; top:3px; height:22px; min-height:0; padding:0; border:1px solid var(--ui-line); border-radius:4px; background:var(--ui-subtle); display:flex; align-items:center; cursor:grab; color:var(--ui-text); z-index:2; overflow:hidden; }
.pv-tl-item span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:10px; flex:1; pointer-events:none; }
.pv-tl-item i { height:100%; width:6px; flex:none; cursor:ew-resize; background:color-mix(in srgb,var(--ui-text) 10%,transparent); }
.previs-workbench .pv-tl-item.is-key { width:10px; height:10px; top:9px; border-radius:2px; background:var(--ui-accent); transform:translateX(-50%) rotate(45deg); }
.previs-workbench .pv-tl-item.is-key.is-current { box-shadow:0 0 0 2px var(--ui-surface),0 0 0 3px var(--ui-accent); }
.previs-workbench .pv-tl-item.is-selected { outline:2px solid var(--ui-accent); outline-offset:-1px; background:color-mix(in srgb,var(--ui-accent) 18%,var(--ui-surface)); }
.pv-tl-row.is-locked .pv-tl-item { opacity:.5; cursor:not-allowed; }
.pv-tl-playhead { position:absolute; top:0; bottom:0; width:1px; background:var(--ui-accent); z-index:4; pointer-events:none; }
.pv-tl-range { position:absolute; inset-block:0; background:color-mix(in srgb,var(--ui-accent) 8%,transparent); pointer-events:none; }
.pv-tl-marquee { position:absolute; z-index:8; border:1px solid var(--ui-accent); background:color-mix(in srgb,var(--ui-accent) 10%,transparent); pointer-events:none; }
.pv-production-steps { display:grid; grid-template-columns:repeat(3,1fr); gap:4px; padding-bottom:9px; }
.pv-production-steps button { font-size:11px; padding:3px 4px; gap:5px; }
.pv-production-steps small { color:var(--ui-muted); }
.pv-edit-tabs { display:flex; gap:3px; padding-block:8px; border-block:1px solid var(--ui-line); }
.pv-edit-tabs button { flex:1; min-width:0; font-size:11px; padding:4px 2px; }
.pv-edit-section { border-top:1px solid var(--ui-line); padding-top:12px; margin-top:12px; }
.pv-edit-body .pv-global-fields { grid-template-columns:repeat(2,minmax(0,1fr)); }
.pv-edit-body input,.pv-edit-body textarea,.pv-edit-body select { width:100%; min-width:0; }
.pv-edit-body input[type=checkbox] { width:auto; }
.pv-shot-participants { display:flex; flex-wrap:wrap; gap:8px; padding:4px 0 8px; }
.pv-shot-participants label { display:flex; gap:4px; align-items:center; font-size:11px; }
.pv-edit-body fieldset { min-width:0; border:1px solid var(--ui-line); border-radius:6px; padding:10px; margin:9px 0; }
.pv-edit-body legend { max-width:100%; overflow-wrap:anywhere; padding:0 4px; }
.pv-edit-list-row { display:flex; gap:4px; margin-block:5px; }
.pv-edit-list-row button:first-child { flex:1; justify-content:flex-start; }
.pv-audio-waveform { width:100%; height:50px; color:var(--ui-accent); background:var(--ui-bg); }
.pv-audio-editor audio { width:100%; height:32px; }
.pv-production-report,.pv-continuity-report { display:grid; gap:6px; margin-top:9px; }
.pv-production-report button { display:flex; align-items:flex-start; text-align:left; white-space:normal; font-size:11px; gap:8px; padding:8px; }
.pv-production-report button strong { flex:none; color:var(--ui-accent); }
.pv-production-report .is-error strong { color:var(--ui-danger,#c44848); }
.pv-checkpoint { padding:12px 0; border-bottom:1px solid var(--ui-line); }
.pv-checkpoint small { display:block; color:var(--ui-muted); }
.pv-curve-editor svg { width:100%; height:110px; background:var(--ui-bg); color:var(--ui-accent); margin-block:6px; }
.pv-curve-editor circle { cursor:move; }
.previs-workbench .pv-action-block { position:absolute; top:3px; height:19px; min-height:19px; border-radius:3px; background:var(--ui-selected); border:1px solid var(--ui-line-strong); color:var(--ui-text); padding:0 5px; overflow:hidden; white-space:nowrap; font-size:11px; justify-content:flex-start; }
.pv-footer { grid-row:5; display:flex; align-items:center; justify-content:space-between; gap:10px; padding:0 14px; background:var(--ui-surface); border-top:1px solid var(--ui-line); }
.pv-footer>span { color:var(--ui-muted); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-footer>div { display:flex; gap:6px; }
.pv-output-settings { display:grid; gap:9px; padding:0; margin-bottom:12px; }
.pv-output-settings .pv-panel-heading { margin:0; }
.pv-output-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:7px; }
.pv-output-grid label { min-width:0; }
.pv-output-grid select { width:100%; min-width:0; }
.pv-output-alpha { display:flex; align-items:center; gap:6px; margin:0; color:var(--ui-text); }
.pv-output-alpha input { width:auto; }
.pv-output-alpha small { color:var(--ui-muted); }
.pv-output-budget { margin:0; padding:7px 8px; border-radius:5px; font-size:11px; line-height:1.4; background:var(--ui-bg); color:var(--ui-muted); }
.pv-output-budget.is-error { color:var(--ui-danger,#c44848); }
.pv-output-progress { display:grid; gap:5px; }
.pv-output-phase { display:grid; grid-template-columns:34px minmax(0,1fr) 34px; gap:7px; align-items:center; margin:0; font-size:11px; color:var(--ui-muted); }
.pv-output-phase progress { width:100%; height:6px; accent-color:var(--ui-accent); }
.pv-output-phase small { text-align:right; font-variant-numeric:tabular-nums; }
.pv-output-actions { display:flex; flex-wrap:wrap; gap:6px; }
.pv-output-actions button { flex:1 1 130px; min-width:0; }
.pv-output-jobs { border-top:1px solid var(--ui-line); padding-top:8px; font-size:11px; }
.pv-output-advanced>summary,.pv-output-jobs>summary,.pv-transfer-details>summary { cursor:pointer; padding:6px 0; color:var(--ui-muted); font-size:12px; }
.pv-output-advanced[open]>.pv-output-alpha { margin:8px 0; }
.pv-transfer-details { border-top:1px solid var(--ui-line); padding-top:4px; margin-bottom:10px; }
.pv-output-jobs ul { display:grid; gap:5px; margin:6px 0 0; padding:0; list-style:none; }
.pv-output-jobs li { display:flex; align-items:center; justify-content:space-between; gap:6px; min-width:0; color:var(--ui-muted); }
.pv-output-jobs li>span { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pv-output-jobs li button { flex:none; width:auto; min-height:26px; padding:4px 7px; }
.pv-output-jobs li button span { display:inline; }
.pv-output-list { display:flex; flex-direction:column; gap:10px; margin-top:12px; }
.pv-capture-gallery { border-bottom:1px solid var(--ui-line); padding-bottom:14px; margin-bottom:14px; }
.pv-capture-gallery figure { margin:0; min-width:0; }
.pv-capture-gallery h4 { font-size:12px; font-weight:500; margin:12px 0 7px; overflow-wrap:anywhere; }
.pv-capture-items { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.pv-capture-item { overflow:hidden; }
.previs-workbench .pv-capture-item>button { padding:0; width:100%; min-height:0; aspect-ratio:16/9; overflow:hidden; border:1px solid var(--ui-line); background:var(--ui-bg); }
.pv-capture-item img { width:100%; height:100%; object-fit:contain; }
.pv-capture-gallery figcaption { font-size:10px; line-height:1.5; color:var(--ui-muted); overflow-wrap:anywhere; padding-top:5px; }
.pv-capture-actions { display:flex; gap:4px; margin-top:3px; }
.pv-capture-actions button { width:28px; height:28px; min-height:0; padding:5px; }
.pv-capture-actions button span { display:none; }
.pv-capture-preview { position:relative; padding-block:10px; border-bottom:1px solid var(--ui-line); }
.pv-capture-preview>img { display:block; width:100%; max-height:250px; object-fit:contain; background:var(--ui-bg); }
.pv-capture-preview>button { position:absolute; right:4px; top:14px; width:28px; height:28px; padding:5px; background:var(--ui-surface); }
.pv-capture-preview>button span { display:none; }
.pv-capture-empty { color:var(--ui-muted); font-size:12px; margin:6px 0 0; }
.pv-output-item { border-bottom:1px solid var(--ui-line); padding-bottom:10px; }
.pv-output-item video { display:block; width:100%; max-height:150px; object-fit:contain; background:#16181c; margin:6px 0; }
.pv-output-item>div { display:flex; flex-wrap:wrap; gap:4px; }
.pv-assistant-panel { display:grid; gap:10px; }
.pv-assistant-panel .pv-panel-heading { margin-bottom:0; }
.pv-assistant-panel .pv-panel-heading small { color:var(--ui-muted); font-size:10px; }
.pv-assistant-panel textarea { min-height:116px; resize:vertical; line-height:1.55; }
.pv-assistant-toolbar,.pv-assistant-actions { display:flex; flex-wrap:wrap; gap:6px; }
.pv-assistant-toolbar button,.pv-assistant-actions button { flex:1 1 120px; min-width:0; border-color:var(--ui-line); }
.pv-assistant-proposal { display:grid; gap:8px; border-top:1px solid var(--ui-line); padding-top:12px; }
.pv-assistant-proposal p { margin:0; color:var(--ui-muted); overflow-wrap:anywhere; }
.pv-assistant-proposal ul { display:grid; gap:5px; margin:0; padding:0; list-style:none; }
.pv-assistant-proposal li { display:flex; gap:8px; align-items:flex-start; padding:6px 7px; border:1px solid var(--ui-line); border-radius:5px; background:var(--ui-surface-2); font-size:11px; overflow-wrap:anywhere; }
.pv-assistant-proposal li span { flex:none; color:var(--ui-accent); }
.pv-assistant-counts { display:flex; flex-wrap:wrap; gap:6px 14px; color:var(--ui-muted); font-size:11px; }
.pv-assistant-empty,.pv-assistant-error { margin:0; padding:10px 0; color:var(--ui-muted); font-size:12px; }
.pv-assistant-error { color:var(--ui-danger,#c44848); }
.pv-assistant-proposal[data-pv-assistant-state="proposal"] .pv-assistant-actions button:disabled { opacity:.48; }
.pv-confirm { max-width:440px; border:1px solid var(--ui-line); border-radius:8px; padding:20px; background:var(--ui-surface); color:var(--ui-text); }
.pv-confirm>div { display:flex; justify-content:flex-end; gap:8px; }
.pv-confirm::backdrop { background:var(--ui-overlay); }
.previs-node-preview { position:relative; flex:1; min-height:0; height:100%; overflow:hidden; border-radius:inherit; color:var(--ui-text); background:var(--ui-surface); }
.previs-node-preview > img { display:block; width:100%; height:100%; object-fit:contain; }
.previs-node-preview > img[hidden] { display:none; }
.previs-node-summary { position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:calc(12px * var(--sw-node-layout-scale,1)); padding:calc(18px * var(--sw-node-layout-scale,1)); text-align:center; }
.previs-node-icon { display:grid; place-items:center; width:calc(40px * var(--sw-node-layout-scale,1)); height:calc(40px * var(--sw-node-layout-scale,1)); border:1px solid color-mix(in srgb,var(--ui-accent) 20%,transparent); border-radius:8px; background:color-mix(in srgb,var(--ui-accent) 6%,var(--ui-surface)); color:var(--ui-accent); }
.previs-node-icon svg { width:calc(22px * var(--sw-node-layout-scale,1)); height:calc(22px * var(--sw-node-layout-scale,1)); }
.previs-node-summary small { color:var(--ui-muted); font-size:calc(12px * var(--sw-node-layout-scale,1)); line-height:1.5; }
.previs-node-summary button { display:inline-flex; align-items:center; justify-content:center; flex:none; gap:6px; min-height:calc(30px * var(--sw-node-layout-scale,1)); padding:calc(5px * var(--sw-node-layout-scale,1)) calc(12px * var(--sw-node-layout-scale,1)); border:1px solid var(--ui-line); border-radius:5px; background:var(--ui-subtle); color:var(--ui-text); font:inherit; font-size:calc(12px * var(--sw-node-layout-scale,1)); cursor:pointer; }
.previs-node-summary button svg { width:calc(16px * var(--sw-node-layout-scale,1)); height:calc(16px * var(--sw-node-layout-scale,1)); }
.previs-node-summary button:hover { background:var(--ui-selected); border-color:var(--ui-accent); }
.previs-node-summary button:focus-visible { outline:2px solid var(--ui-accent); outline-offset:2px; }
.previs-node-preview.has-thumbnail .previs-node-summary { inset:auto 0 0; flex-direction:row; justify-content:space-between; gap:8px; padding:calc(8px * var(--sw-node-layout-scale,1)); background:var(--ui-surface); border-top:1px solid var(--ui-line); }
.previs-node-preview.has-thumbnail .previs-node-icon { display:none; }
.previs-node-preview.has-thumbnail > img { height:calc(100% - calc(48px * var(--sw-node-layout-scale,1))); }
@media(max-width:1300px) { .previs-workbench[open] { --pv-library-width:286px; --pv-inspector-width:244px; } .previs-workbench.is-library-collapsed { --pv-library-width:0px; } .previs-workbench.is-inspector-collapsed { --pv-inspector-width:0px; } .pv-header { gap:10px; } .previs-workbench .pv-project-name { width:180px!important; } }
@media(max-height:750px) { .previs-workbench { inset:8px; } }
@container(max-width:440px) {
  .pv-stage-toolbar { top:52px; }
  .pv-direction-control { top:96px; }
  .pv-help-menu dl { max-width:calc(100vw - 82px); }
}
@media(max-width:760px) {
  .previs-workbench .pv-transport { gap:4px; padding-inline:8px; }
  .pv-transport input[type=range] { min-width:24px; }
  .pv-transport output { width:auto; font-size:11px; }
  .pv-footer button span { display:none; }
}
