/* Source selection and emotion controls inherit WorkspaceTheme. */
.vw-person-layer{position:absolute;inset:0;z-index:32;pointer-events:none;overflow:hidden}
.vw-root.vw-person-open .vw-node-tools,.vw-root.vw-person-open .vw-inspector,.vw-root.vw-person-open .vw-media-replace{visibility:hidden!important;pointer-events:none!important}
.vw-root.vw-person-open .vw-node.selected .vw-node-content{outline:none!important}
.vw-root.vw-person-open .vw-node.selected .vw-port,.vw-root.vw-person-open .vw-node.selected .vw-resize{visibility:hidden!important;pointer-events:none!important}
.vw-person-toolbar{position:absolute;display:flex;align-items:center;gap:4px;height:48px;width:max-content;max-width:calc(100% - 16px);padding:6px 8px;background:var(--vw-panel,var(--workspace-surface));border:1px solid var(--vw-border,var(--workspace-border));border-radius:13px;color:var(--vw-text,var(--workspace-text));box-shadow:0 5px 16px #0002;pointer-events:auto;white-space:nowrap;z-index:3;font-size:13px;overflow-x:auto;user-select:none}
.vw-root .vw-person-toolbar button{display:inline-flex;align-items:center;justify-content:center;gap:5px;width:32px;height:32px;border:0;padding:6px;border-radius:7px;background:transparent;color:var(--vw-text,var(--workspace-text));flex:none}
.vw-root .vw-person-toolbar button[data-person-action=manual]{width:auto;padding:6px 9px;margin-left:4px}
.vw-root .vw-person-toolbar button:hover,.vw-root .vw-person-toolbar button.active{background:var(--workspace-soft,var(--vw-bg))}
.vw-person-layer svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.vw-person-icon{display:flex;align-items:center;margin:0 5px}.vw-person-divider{height:27px;width:1px;background:var(--vw-border,var(--workspace-border));margin:0 6px;flex:none}
.vw-person-stage{position:absolute;pointer-events:auto;background:#0005;border-radius:4px;touch-action:none;cursor:crosshair;z-index:1;outline:0}
.vw-person-stage:focus-visible{outline:1px solid #68d4e8;outline-offset:2px}.vw-person-stage.vw-person-selected{background:#0002}
.vw-person-box,.vw-person-candidate{position:absolute;border:1px solid #68d4e8;background:#68d4e815;pointer-events:none;box-sizing:border-box}
.vw-person-box{border:2px solid #68d4e8;background:transparent;box-shadow:0 0 0 1px #1115}.vw-person-candidate{border-style:dashed}
.vw-root .vw-person-toolbar select[data-person-ratio]{width:auto;max-width:130px;height:32px;padding:5px 22px 5px 9px;margin-left:8px;border:1px solid var(--vw-border,var(--workspace-border));border-radius:7px;background:var(--vw-panel,var(--workspace-surface));color:var(--vw-text,var(--workspace-text));font-size:13px}
.vw-root .vw-person-toolbar button[data-person-action=confirm-crop]{width:auto;min-width:48px;margin-left:5px;padding:6px 12px;background:#fff;color:#202020;border:1px solid #ddd;font-weight:500}
.vw-person-cropping{cursor:move}.vw-person-cropping .vw-person-candidate{display:none}.vw-person-cropping .vw-person-box{border:1px solid #fff;pointer-events:auto;box-shadow:0 0 0 1px #0004;cursor:move}
.vw-person-box [data-person-handle]{position:absolute;width:9px;height:9px;background:#fff;border:1px solid #777;transform:translate(-50%,-50%);pointer-events:auto;box-sizing:border-box}
.vw-person-box [data-person-handle=nw]{left:0;top:0;cursor:nwse-resize}.vw-person-box [data-person-handle=n]{left:50%;top:0;cursor:ns-resize}.vw-person-box [data-person-handle=ne]{left:100%;top:0;cursor:nesw-resize}.vw-person-box [data-person-handle=w]{left:0;top:50%;cursor:ew-resize}.vw-person-box [data-person-handle=e]{left:100%;top:50%;cursor:ew-resize}.vw-person-box [data-person-handle=sw]{left:0;top:100%;cursor:nesw-resize}.vw-person-box [data-person-handle=s]{left:50%;top:100%;cursor:ns-resize}.vw-person-box [data-person-handle=se]{left:100%;top:100%;cursor:nwse-resize}
.vw-person-panel{position:absolute;pointer-events:auto;background:var(--vw-panel,var(--workspace-surface));border:1px solid var(--vw-border,var(--workspace-border));border-radius:14px;color:var(--vw-text,var(--workspace-text));box-shadow:0 8px 28px #0003;z-index:4;overflow:auto;user-select:text;padding:14px;font-size:12px}
.vw-person-panel[hidden],.vw-person-box[hidden],.vw-person-status[hidden]{display:none!important}
.vw-person-panel header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.vw-person-panel strong{font-size:14px;font-weight:500}
.vw-root .vw-person-panel header button{width:26px;height:26px;padding:4px;border:0;background:none;color:var(--workspace-muted,var(--vw-text));border-radius:6px}
.vw-person-fields{display:flex;flex-direction:column;gap:10px}.vw-person-fields label{display:block;color:var(--workspace-muted,var(--vw-text));line-height:1.6}
.vw-person-fields select,.vw-person-fields textarea{display:block;width:100%;margin-top:5px;padding:7px 9px;border:1px solid var(--vw-border,var(--workspace-border));border-radius:7px;background:var(--vw-panel,var(--workspace-surface));color:var(--vw-text,var(--workspace-text));font-size:12px}
.vw-person-fields textarea{min-height:52px;max-height:120px;resize:vertical}.vw-person-range{display:grid!important;grid-template-columns:1fr auto;align-items:center;gap:3px 8px}
.vw-person-range output{padding:1px 7px;border:1px solid var(--vw-border,var(--workspace-border));border-radius:5px;min-width:42px;text-align:center;font-variant-numeric:tabular-nums}
.vw-person-range input{grid-column:1/-1;width:100%;height:14px;margin:2px 0;accent-color:var(--vw-text,var(--workspace-text));cursor:pointer}
.vw-person-models{display:grid;grid-template-columns:minmax(0,1fr) 70px;gap:8px}.vw-person-models select{max-width:100%;text-overflow:ellipsis}
.vw-person-panel footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}
.vw-root .vw-person-panel footer button{padding:6px 10px;border:1px solid var(--vw-border,var(--workspace-border));border-radius:7px;color:var(--vw-text,var(--workspace-text));background:var(--workspace-soft,var(--vw-bg));font-size:12px}
.vw-root .vw-person-panel footer button.vw-person-submit{display:flex;align-items:center;justify-content:center;min-width:34px;height:34px;background:var(--vw-text,var(--workspace-text));color:var(--vw-panel,var(--workspace-surface));padding:6px;border-radius:9px}
.vw-person-status{position:absolute;padding:4px 7px;border-radius:5px;font-size:11px;line-height:1.5;background:var(--vw-panel,var(--workspace-surface));color:var(--workspace-muted,var(--vw-text));border:1px solid var(--vw-border,var(--workspace-border));z-index:5;pointer-events:none}.vw-person-status.error{color:#e06d55}

.vw-person-candidate span{position:absolute;left:0;bottom:100%;max-width:220px;padding:2px 5px;border-radius:4px;background:var(--vw-panel,var(--workspace-surface));color:var(--vw-text,var(--workspace-text));font-size:11px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vw-person-target{margin:0 0 10px;color:var(--workspace-muted,var(--vw-text));line-height:1.5}.vw-root .vw-person-toolbar select[data-person-target]{max-width:200px;height:32px;border:1px solid var(--vw-border,var(--workspace-border));border-radius:7px;background:var(--vw-panel,var(--workspace-surface));color:var(--vw-text,var(--workspace-text));font-size:12px}
