.pm-overlay{position:fixed;inset:0;background:var(--scrim-bg);backdrop-filter:var(--scrim-blur);display:flex;align-items:center;justify-content:center;z-index:1000}.pm-modal{background:#fff;border:1px solid var(--ink-200);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:70vh;display:flex;flex-direction:column;box-shadow:var(--shadow-modal);overflow:hidden}.pm-header{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 16px;border-bottom:1px solid var(--ink-200);flex-shrink:0}.pm-header h2{margin:0;font-size:15px;font-weight:700;color:var(--ink-900)}.pm-close{background:none;border:none;color:var(--ink-400);font-size:13px;cursor:pointer;padding:4px 8px;border-radius:var(--radius-xs);line-height:1}.pm-close:hover{color:var(--ink-700)}.pm-search-bar{padding:10px 14px;border-bottom:1px solid var(--ink-150);flex-shrink:0}.pm-search{width:100%;box-sizing:border-box;border:1px solid var(--ink-200);border-radius:var(--radius-sm);padding:8px 12px;font-size:13px;color:var(--ink-900);outline:none;background:#fafafa;transition:border-color .12s}.pm-search:focus{border-color:var(--orange);background:#fff}.pm-search::placeholder{color:var(--ink-300)}.pm-state{padding:36px 24px;text-align:center;font-size:14px;color:var(--ink-400);margin:0}.pm-error{color:#e53e3e!important}.pm-section-label{padding:8px 24px 4px;font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-300)}.pm-list{list-style:none;margin:0;padding:6px 0;overflow-y:auto;flex:1}.pm-item{display:flex;align-items:center;padding:10px 16px;gap:10px;border-bottom:1px solid var(--ink-150);min-height:54px}.pm-item:last-child{border-bottom:none}.pm-item:hover{background:var(--ink-50)}.pm-item-info{flex:1;display:flex;flex-direction:column;gap:3px;min-width:0}.pm-item-name{font-size:14px;font-weight:600;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-item-date{font-size:11px;color:var(--ink-400)}.pm-item-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pm-icon-btn{background:none;border:1px solid var(--ink-200);border-radius:var(--radius-sm);color:var(--ink-400);font-size:13px;width:30px;height:30px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background .12s,color .12s,border-color .12s;line-height:1}.pm-icon-btn:hover{background:var(--ink-150);color:var(--ink-700);border-color:var(--ink-300)}.pm-icon-btn--danger:hover{background:var(--error-bg);color:var(--color-error);border-color:#ffb3b3}.pm-open-btn{flex-shrink:0;background:var(--orange);border:none;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:700;padding:6px 14px;cursor:pointer;transition:opacity .12s}.pm-open-btn:hover:not(:disabled){opacity:.88}.pm-open-btn:disabled{opacity:.45;cursor:not-allowed}.pm-rename-row{display:flex;align-items:center;gap:8px;flex:1}.pm-rename-input{flex:1;border:1px solid var(--orange);border-radius:var(--radius-sm);padding:4px 10px;font-size:13px;font-weight:600;color:var(--ink-900);outline:none;min-width:0}.pm-rename-save{background:var(--orange);border:none;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;cursor:pointer;flex-shrink:0}.pm-rename-save:disabled{opacity:.5;cursor:not-allowed}.pm-rename-cancel{background:none;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:var(--ink-500);font-size:12px;font-weight:600;padding:4px 10px;cursor:pointer;flex-shrink:0}.pm-rename-cancel:hover{background:var(--ink-100)}.pm-confirm-row{display:flex;align-items:center;gap:8px;flex:1}.pm-confirm-label{flex:1;font-size:13px;color:var(--color-error);font-weight:500;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pm-delete-confirm-btn{background:var(--color-error);border:none;border-radius:var(--radius-sm);color:#fff;font-size:12px;font-weight:700;padding:4px 12px;cursor:pointer;flex-shrink:0}.pm-delete-confirm-btn:disabled{opacity:.5;cursor:not-allowed}.pm-open-btn{background:var(--orange);color:#fff;border:1px solid var(--orange);border-radius:var(--radius-sm)}.pm-open-btn:hover:not(:disabled){background:var(--orange-hover);border-color:var(--orange-hover);opacity:1}.pm-delete-confirm-btn{background:var(--error-bg);color:var(--color-error);border:1px solid var(--error-border);border-radius:var(--radius-sm)}.pm-delete-confirm-btn:hover:not(:disabled){background:var(--color-error);color:#fff;border-color:var(--color-error);opacity:1}.pm-modal{background:#fff;border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}.pvp-body--strips{gap:0;padding:16px 24px}.pvp-strips-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.pvp-strip{border-bottom:1px solid var(--ink-150);transition:background .1s}.pvp-strip:last-child{border-bottom:none}.pvp-strip--over{background:#fff7f1}.pvp-strip-head{display:flex;align-items:center;gap:0;padding:0 12px;min-height:40px}.pvp-strip-add-btn{flex-shrink:0;display:flex;align-items:center;gap:4px;height:26px;padding:0 10px 0 8px;border-radius:var(--radius-sm);background:var(--orange-50);border:1px solid #ffd0b0;color:var(--orange);font-size:12px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);cursor:pointer;transition:background .1s,border-color .1s,color .1s}.pvp-strip-add-btn:hover{background:var(--orange);color:#fff;border-color:var(--orange)}.pvp-strip-title{flex:1;display:flex;align-items:center;gap:8px;background:none;border:none;padding:0;cursor:pointer;font-family:var(--font-sans, Inter, sans-serif);text-align:left}.pvp-strip-title:hover .pvp-strip-label{color:var(--orange)}.pvp-strip-icon{font-size:12px;color:var(--orange);width:20px;height:20px;display:flex;align-items:center;justify-content:center;background:var(--orange-50);border-radius:var(--radius-xs);flex-shrink:0}.pvp-strip-label{font-size:13px;font-weight:600;color:var(--ink-700);transition:color .1s}.pvp-strip-count{font-size:11px;font-weight:600;color:var(--orange);font-family:var(--font-mono);background:#fff0e8;padding:1px 6px;border-radius:var(--radius-md)}.pvp-strip-uploading{font-size:11px;color:var(--orange);flex-shrink:0;margin-left:8px}.pvp-strip-file-list{padding:0 12px 8px 38px;display:flex;flex-direction:column;gap:1px}.pvp-file-row{display:flex;align-items:center;gap:8px;padding:4px 6px;border-radius:var(--radius-sm);transition:background .1s}.pvp-file-row:hover{background:var(--ink-50)}.pvp-file-row-ext{font-size:9px;font-weight:600;letter-spacing:.05em;color:#fff;background:var(--orange);padding:1px 4px;border-radius:3px;font-family:var(--font-mono);flex-shrink:0}.pvp-file-row-name{flex:1;font-size:12px;font-weight:500;color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-decoration:none;min-width:0}a.pvp-file-row-name:hover{color:var(--orange);text-decoration:underline}.pvp-file-row-del{flex-shrink:0;background:none;border:none;color:var(--ink-300);cursor:pointer;padding:2px 4px;border-radius:3px;display:flex;align-items:center;transition:color .1s,background .1s;font-size:11px;font-weight:600}.pvp-file-row-del:hover{color:var(--color-error);background:var(--error-bg)}.pvp-file-row-del--confirm{color:var(--color-error)}.pvp{display:flex;flex-direction:column;height:100%;font-family:var(--font-sans, Inter, sans-serif)}.pvp-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px 14px;border-bottom:1px solid var(--ink-150);flex-shrink:0}.pvp-header-left{display:flex;align-items:center;gap:12px}.pvp-header-icon{width:32px;height:32px;border-radius:var(--radius-sm);background:var(--orange-50);color:var(--orange);display:flex;align-items:center;justify-content:center;font-size:15px}.pvp-header-title{font-size:16px;font-weight:700;color:var(--ink-900);letter-spacing:-.01em}.pvp-header-sub{font-size:12px;color:var(--ink-300);margin-top:1px}.pvp-body{flex:1;overflow-y:auto;padding:0 24px 24px;display:flex;flex-direction:column;gap:14px}.pvp-btn{background:var(--color-bg);border:1px solid var(--ink-200);border-radius:var(--radius-sm);color:var(--ink-700);font-size:12px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);padding:4px 12px;cursor:pointer;transition:background .1s,border-color .1s,color .1s;text-decoration:none;display:inline-flex;align-items:center}.pvp-btn:hover:not(:disabled){background:var(--ink-100);border-color:var(--ink-300)}.pvp-btn:disabled{opacity:.4;cursor:not-allowed}.pvp-btn--primary{background:var(--orange);border-color:var(--orange);color:#fff}.pvp-btn--primary:hover:not(:disabled){background:var(--orange-bright);border-color:var(--orange-bright)}.pvp-btn--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.pvp-btn--danger:hover:not(:disabled){opacity:.88;background:var(--color-error)}.pvp-btn--ghost{background:transparent;border-color:transparent;color:var(--ink-400)}.pvp-btn--ghost:hover:not(:disabled){background:var(--ink-100);color:var(--ink-700)}.pvp-error{margin:0 0 12px;padding:9px 12px;border:1px solid var(--error-border);border-radius:var(--radius-sm);background:var(--error-bg);color:var(--color-error);font-size:12px;line-height:var(--lh-ui)}.pvp-empty{font-size:12px;color:var(--ink-300);padding:6px 0;text-align:center}.pvp-empty--block{background:var(--color-bg);border:1px dashed var(--ink-200);border-radius:var(--radius-md);padding:36px 24px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.pvp-empty-icon{font-size:26px;color:var(--color-border-strong)}.pvp-empty-title{font-size:13px;font-weight:700;color:var(--ink-300)}.pvp-empty-hint{font-size:12px;color:var(--ink-300);max-width:360px;line-height:var(--lh-normal)}.pvp-drop{background:var(--color-bg);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:22px 18px;display:flex;flex-direction:column;align-items:center;gap:6px;cursor:pointer;transition:background .12s,border-color .12s}.pvp-drop:hover{border-color:#ffc9a0;background:#fffaf6}.pvp-drop--over{border-color:var(--orange);background:var(--orange-50);border-style:solid}.pvp-drop-icon{font-size:22px;color:var(--ink-300);line-height:1;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--ink-100)}.pvp-drop--over .pvp-drop-icon{background:var(--orange);color:#fff}.pvp-drop-hint{font-size:13px;font-weight:600;color:var(--ink-500)}.pvp-drop-sub{font-size:11px;color:var(--ink-300)}.pvp-uploading{font-size:12px;color:var(--orange);background:var(--orange-50);border-radius:var(--radius-sm);padding:8px 12px;text-align:center}.pvp-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:2px 6px;border-radius:3px;background:var(--ink-150);color:var(--ink-500)}.pvp-tag--latest,.pvp-tag--save{background:var(--orange);color:#fff}.pvp-tag--agent{background:#e7ecf7;color:#43507a}.pvp-tag--auto{background:var(--ink-150);color:var(--ink-300)}.pvp-tag--sys{background:var(--ink-150);color:var(--ink-500)}.pvp-tag--scope{background:transparent;color:var(--ink-300);box-shadow:inset 0 0 0 1px var(--ink-150)}.pvp-timeline{display:flex;flex-direction:column}.pvp-timeline-row{display:flex;gap:12px;padding:4px 0}.pvp-timeline-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;padding-top:14px}.pvp-timeline-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border-strong);border:2px solid #fff;box-shadow:0 0 0 1px var(--color-border-strong)}.pvp-timeline-dot--latest{background:var(--orange);box-shadow:0 0 0 1px var(--orange)}.pvp-timeline-dot--save{background:var(--orange);box-shadow:0 0 0 1px var(--orange),0 0 0 4px var(--orange-50)}.pvp-timeline-line{width:1px;flex:1;background:var(--ink-150);margin-top:4px;min-height:30px}.pvp-days{display:flex;flex-direction:column;gap:6px}.pvp-day-head{display:flex;align-items:center;gap:6px;width:100%;padding:6px 4px;border:0;background:none;cursor:pointer;font-family:var(--font-sans);text-align:left;border-bottom:1px solid var(--ink-150)}.pvp-day-head:hover{background:var(--ink-50)}.pvp-day-chev{font-size:10px;color:var(--ink-300);width:10px}.pvp-day-label{font-size:12px;font-weight:700;color:var(--ink-900)}.pvp-day-count{font-size:12px;color:var(--ink-300);font-family:var(--font-mono)}.pvp-day-saves{margin-left:auto;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--orange)}.pvp-day-more{align-self:flex-start;margin:2px 0 2px 22px;padding:3px 8px;border:1px dashed var(--ink-150);border-radius:var(--radius-sm);background:none;cursor:pointer;font-family:var(--font-sans);font-size:11px;color:var(--ink-500)}.pvp-day-more:hover{border-color:var(--orange);color:var(--orange)}.pvp-version{flex:1;display:grid;grid-template-columns:80px 1fr auto;gap:12px;background:var(--color-bg);border:1px solid var(--ink-150);border-radius:var(--radius-md);padding:10px;align-items:center}.pvp-version--save{border-color:var(--orange);border-left:3px solid var(--orange);background:var(--orange-50)}.pvp-version-thumb{width:80px;height:60px;border-radius:var(--radius-sm);background:linear-gradient(180deg,var(--ink-50) 0%,var(--ink-150) 100%);overflow:hidden;display:flex;align-items:center;justify-content:center}.pvp-version-thumb img{width:100%;height:100%;object-fit:cover}.pvp-version-thumb-fallback{color:var(--ink-300);font-size:18px}.pvp-version-meta{min-width:0}.pvp-version-top{display:flex;align-items:center;gap:8px;margin-bottom:2px;flex-wrap:wrap}.pvp-version-date{font-size:13px;font-weight:700;color:var(--ink-900)}.pvp-version-sub{font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pvp-version-prompt{margin-top:4px;font-size:12px;color:var(--ink-500);font-style:italic;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-version-actions{display:flex;gap:4px;align-items:center;flex-shrink:0}.pvp-restore-split{display:inline-flex}.pvp-restore-main{border-top-right-radius:0;border-bottom-right-radius:0}.pvp-restore-caret{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px;padding-left:6px;padding-right:6px;border-left-color:#ffffff59}.pvp-btn--on{filter:brightness(.88)}.pvp-restore-scopes{grid-column:1 / -1;display:flex;flex-direction:column;gap:2px;margin-top:6px;padding-top:6px;border-top:1px solid var(--color-border)}.pvp-scope-opt{display:flex;flex-direction:column;gap:1px;text-align:left;padding:5px 7px;border:1px solid transparent;border-radius:var(--radius-sm);background:transparent;cursor:pointer;font:inherit}.pvp-scope-opt:hover:not(:disabled){background:var(--color-soft-bg)}.pvp-scope-opt--on{border-color:var(--orange);background:var(--orange-50)}.pvp-scope-opt:disabled{opacity:.5;cursor:not-allowed}.pvp-scope-opt-name{font-size:12px;font-weight:700;color:var(--color-text-main)}.pvp-scope-opt-hint{font-size:11px;line-height:var(--lh-ui);color:var(--color-text-muted);white-space:normal;overflow-wrap:anywhere}.pvp-restore-caution{display:flex;flex-direction:column;gap:2px;margin-top:4px;padding:6px 7px;border-left:2px solid var(--orange);border-radius:var(--radius-sm);background:var(--orange-50);color:var(--color-text-main);font-size:11px;line-height:var(--lh-ui);white-space:normal;overflow-wrap:anywhere}.pvp-caution-short{font-weight:600}.pvp-caution-detail{color:var(--color-text-muted)}.pvp-restore-warn{margin-top:2px;padding:6px 7px;border-radius:var(--radius-sm);background:var(--error-bg);color:var(--color-error);font-size:11px;line-height:var(--lh-ui);white-space:normal;overflow-wrap:anywhere}.pvp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}.pvp-file-tile{background:var(--color-bg);border:1px solid var(--ink-150);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column}.pvp-file-thumb{width:100%;aspect-ratio:1 / 1;display:flex;align-items:center;justify-content:center;overflow:hidden;background:linear-gradient(180deg,var(--ink-50) 0%,var(--ink-150) 100%)}.pvp-file-thumb--image img{width:100%;height:100%;object-fit:cover}.pvp-file-thumb--3d,.pvp-file-thumb--spec{position:relative;color:var(--ink-300);font-size:30px}.pvp-format-chip{background:#2a2e36;color:#fff;font-size:11px;font-weight:600;letter-spacing:.06em;padding:4px 10px;border-radius:var(--radius-xs);font-family:var(--font-mono)}.pvp-file-thumb--spec .pvp-format-chip{background:#5a6072}.pvp-file-thumb--3d .pvp-format-chip{background:var(--orange)}.pvp-file-meta{padding:8px 10px 6px;min-width:0}.pvp-file-name{font-size:12px;font-weight:600;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-file-sub{font-size:10px;color:var(--ink-300);font-family:var(--font-mono);margin-top:1px}.pvp-file-actions{display:flex;gap:4px;padding:0 8px 8px;align-items:center}.pvp-file-actions .pvp-btn{padding:3px 8px;font-size:11px}.pvp-editor{background:var(--color-bg);border:1px solid var(--ink-150);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:8px}.pvp-editor-name{border:1px solid var(--ink-200);border-radius:var(--radius-sm);padding:8px 10px;font-size:13px;font-weight:600;outline:none;font-family:var(--font-sans, Inter, sans-serif);color:var(--ink-900)}.pvp-editor-name:focus{border-color:var(--orange)}.pvp-editor-area{border:1px solid var(--ink-200);border-radius:var(--radius-sm);padding:10px 12px;font-size:12px;font-family:var(--font-mono);color:var(--ink-700);resize:vertical;outline:none;min-height:160px;line-height:var(--lh-normal)}.pvp-editor-area:focus{border-color:var(--orange)}.pvp-editor-actions{display:flex;gap:6px}.pvp-skill-list{display:flex;flex-direction:column;gap:8px}.pvp-skill-card{background:var(--color-bg);border:1px solid var(--ink-150);border-radius:var(--radius-md);padding:12px 14px}.pvp-skill-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px}.pvp-skill-name{font-size:13px;font-weight:700;color:var(--ink-900)}.pvp-skill-actions{display:flex;gap:4px}.pvp-skill-preview{margin:0;padding:8px 10px;background:var(--ink-50);border-radius:var(--radius-sm);font-size:11px;font-family:var(--font-mono);color:var(--ink-500);white-space:pre-wrap;max-height:110px;overflow:hidden;line-height:var(--lh-ui)}.pvp-skill-foot{margin-top:6px;font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pvp-export-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-bottom:1px solid var(--ink-150)}.pvp-strips-card .pvp-export-row:last-child{border-bottom:none}.pvp-export-info{flex:1;min-width:0}.pvp-export-name{font-size:13px;font-weight:600;color:var(--ink-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pvp-export-sub{font-size:11px;color:var(--ink-300);font-family:var(--font-mono);margin-top:2px}.pvp-btn{background:var(--color-bg);color:var(--color-text-main);border-color:var(--color-border);border-radius:var(--radius-sm)}.pvp-btn:hover:not(:disabled){background:var(--color-soft-bg);border-color:var(--color-border)}.pvp-btn--ghost{background:transparent;color:var(--color-text-muted);border-color:transparent}.pvp-btn--ghost:hover:not(:disabled){background:var(--color-soft-bg);color:var(--color-text-main)}.pvp-btn--danger{background:var(--error-bg);color:var(--color-error);border-color:var(--error-border)}.pvp-btn--danger:hover:not(:disabled){background:var(--color-error);color:#fff;border-color:var(--color-error);opacity:1}.pvp-btn--primary{background:var(--orange);color:#fff;border-color:var(--orange)}.pvp-btn--primary:hover:not(:disabled){background:var(--orange-hover);border-color:var(--orange-hover)}.pv-root{position:absolute;inset:0 0 40px;display:grid;grid-template-columns:var(--panel-w, 420px) 1fr 220px;background:var(--color-soft-bg);z-index:10;overflow:hidden;font-family:var(--font-sans, Inter, sans-serif)}@media(min-width:901px)and (orientation:landscape){.pv-root{inset:0}}.pv-tree{position:relative;background:var(--color-bg);border-right:1px solid var(--color-border-strong);display:flex;flex-direction:column;overflow-y:auto;overflow-x:hidden}.pv-tree-body{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.pv-tree-body--hidden{display:none}.pv-tree-card{margin:14px 18px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);box-shadow:var(--shadow-sm);flex:0 0 auto;display:flex;flex-direction:column;overflow:hidden}.pv-tree-card-footer{display:flex;align-items:center;justify-content:flex-end;padding:10px 12px;border-top:1px solid var(--color-border);flex-shrink:0}.pv-tree-new-btn{height:28px!important;font-size:12px!important}.pv-tree-header{display:flex;align-items:stretch;height:36px;border-bottom:1px solid var(--color-border-strong);flex-shrink:0;background:var(--color-bg)}.pv-tab{flex:1 1 0;height:36px;padding:0 2px;font-size:13px;font-weight:700;background:transparent;border:0;border-bottom:2px solid transparent;border-right:1px solid var(--color-border-soft);color:var(--color-text-muted);cursor:pointer;font-family:var(--font-sans, Inter, sans-serif);letter-spacing:.01em;transition:color .12s,background .12s;margin-bottom:-1px;display:flex;align-items:center;justify-content:center;gap:4px;white-space:nowrap}.pv-tab:last-of-type{border-right:0}.pv-tab:hover{color:var(--color-text-main);background:var(--color-soft-bg)}.pv-tab--active{color:var(--orange);border-bottom-color:var(--orange);background:var(--orange-softer)}.pv-sessions-panel{flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--color-bg)}.pv-sessions-panel--list{align-items:stretch;justify-content:flex-start;padding:12px 0;overflow-y:auto}.pv-sessions-list-header{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);padding:0 16px 8px}.pv-sessions-list-item{padding:10px 16px;cursor:pointer;border-left:3px solid transparent;transition:background .1s}.pv-sessions-list-item:hover{background:#00000008}.pv-sessions-list-item--active{border-left-color:var(--orange);background:var(--orange-softer)}.pv-sessions-list-item-name{font-size:13px;font-weight:600;color:var(--color-text-main);margin-bottom:2px}.pv-sessions-list-item-ts{font-size:11px;color:var(--color-text-muted);margin-bottom:4px}.pv-sessions-list-item-status{display:flex;align-items:center;gap:4px;font-size:11px;color:#b45309}.pv-sessions-status-dot{width:5px;height:5px;border-radius:50%;display:block;flex-shrink:0}.pv-sessions-status-dot--waiting{background:#eab308}.pv-sessions-status-dot--running{background:#3b82f6}.pv-sessions-status-dot--done{background:var(--color-success)}.pv-sessions-status-dot--failed{background:var(--color-error)}.pv-sessions-empty{display:flex;flex-direction:column;align-items:center;gap:10px;padding:28px 20px;text-align:center;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);margin:4px 18px}.pv-sessions-empty-icon{color:var(--color-text-muted);opacity:.5}.pv-sessions-empty-title{font-size:13px;font-weight:700;color:var(--color-text-main)}.pv-sessions-empty-sub{font-size:12px;color:var(--color-text-muted);line-height:var(--lh-ui)}.pv-tree-header-title{flex:1;display:flex;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:700;letter-spacing:.01em;color:var(--orange);font-family:var(--font-sans, Inter, sans-serif);border-bottom:2px solid var(--orange);margin-bottom:-1px}.pv-tree-header-collapse-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:36px;background:transparent;border:0;border-left:1px solid var(--color-border-strong);color:var(--color-text-muted);cursor:pointer;transition:color .12s,background .12s;align-self:stretch}.pv-tree-header-collapse-btn:hover{color:var(--color-text-main);background:var(--color-soft-bg)}@media(max-width:768px){.pv-tree-header-collapse-btn{display:none}}.pv-root--tree-collapsed{grid-template-columns:62px 1fr 220px}.pv-root--tree-collapsed .pv-tree{min-width:0;overflow:hidden}.pv-root--tree-collapsed .pv-tree-body,.pv-root--tree-collapsed .pv-tree-card,.pv-root--tree-collapsed .pv-tree-search-wrap,.pv-root--tree-collapsed .pv-tree-toolbar,.pv-root--tree-collapsed .pv-tree-list,.pv-root--tree-collapsed .pv-tree-state{display:none}.pv-root--tree-collapsed .pv-tree-header{flex-direction:column;height:auto;flex:1;min-height:0;border-right:1px solid var(--color-border-strong);border-bottom:none;align-items:stretch}.pv-root--tree-collapsed .pv-tab{flex:1 1 0;height:auto;min-height:unset;padding:10px 4px;margin-bottom:0;border-right:none;border-top:none;border-bottom:1px solid var(--color-border-soft);border-left:2px solid transparent;font-size:11px;flex-direction:column;gap:4px}.pv-root--tree-collapsed .pv-tab:last-of-type{border-bottom:1px solid var(--color-border-soft)}.pv-root--tree-collapsed .pv-tab--active{border-left-color:var(--orange);border-bottom-color:var(--color-border-soft);background:var(--orange-softer)}.pv-root--tree-collapsed .pv-tree-header-collapse-btn{display:none}.pv-tree-count{font-size:10px;font-weight:600;background:var(--color-soft-bg);color:var(--color-text-muted);border-radius:var(--radius-lg);padding:1px 8px;font-family:var(--font-mono)}.pv-tree-search-wrap{display:flex;align-items:center;gap:6px;padding:8px 10px;border-bottom:1px solid var(--color-border);flex-shrink:0}.pv-tree-search{flex:1}.pv-tree-search{min-width:0;box-sizing:border-box;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);padding:4px 10px;font-size:12px;font-family:var(--font-sans, Inter, sans-serif);color:var(--color-text-main, var(--color-text-main));background:var(--color-soft-bg);outline:none;transition:border-color .12s}.pv-tree-search:focus{border-color:var(--orange);background:var(--color-bg)}.pv-tree-search::placeholder{color:var(--color-text-muted);opacity:.5}.pv-tree-state{padding:24px 16px;font-size:12px;color:var(--color-text-muted);text-align:center}.pv-tree-state--error{color:var(--color-error)}.pv-tree-list{padding:6px 0}.pv-tree-project{margin-bottom:1px}.pv-tree-project-row{display:flex;align-items:center;gap:4px;padding:6px 10px 6px 8px;cursor:pointer;transition:background .1s;user-select:none}.pv-tree-project-row:hover{background:var(--color-soft-bg)}.pv-tree-project-row.active{background:var(--orange-50)}.pv-tree-chevron{font-size:9px;color:var(--ink-300);width:12px;text-align:center;flex-shrink:0;transition:color .1s}.pv-tree-project-row:hover .pv-tree-chevron,.pv-tree-project-row.active .pv-tree-chevron{color:var(--ink-400)}.pv-tree-folder-icon{font-size:13px;flex-shrink:0;width:16px;text-align:center}.pv-tree-project-name{flex:1;font-size:13px;font-weight:600;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.pv-tree-project-row.active .pv-tree-project-name{color:var(--orange)}.pv-tree-project-actions{display:flex;gap:2px;flex-shrink:0}.pv-tree-project-actions button{background:none;border:none;color:var(--ink-300);font-size:11px;width:20px;height:20px;border-radius:var(--radius-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s,color .1s}.pv-tree-project-actions button:hover{background:var(--color-border-soft);color:var(--ink-500)}.pv-tree-project-actions button.danger:hover{background:var(--error-bg);color:var(--color-error)}.pv-tree-rename-row{padding:4px 10px}.pv-tree-rename-input{width:100%;box-sizing:border-box;border:1px solid var(--orange);border-radius:var(--radius-sm);padding:4px 8px;font-size:13px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);color:var(--color-text-main);outline:none}.pv-tree-children{padding-left:24px;border-left:1px solid var(--color-border-soft);margin-left:14px;margin-bottom:4px}.pv-tree-child-row{display:flex;align-items:center;gap:8px;padding:4px 10px 4px 6px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s;margin-bottom:1px}.pv-tree-child-row:hover{background:var(--color-soft-bg)}.pv-tree-child-row.active{background:var(--orange-50)}.pv-tree-child-icon{font-size:11px;color:var(--ink-300);width:14px;text-align:center;flex-shrink:0}.pv-tree-child-row.active .pv-tree-child-icon{color:var(--orange)}.pv-tree-child-label{flex:1;font-size:12px;font-weight:500;color:var(--ink-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-tree-child-row.active .pv-tree-child-label{color:var(--orange);font-weight:600}.pv-tree-child-badge{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--orange);background:var(--orange-50);border:1px solid var(--orange-200);border-radius:var(--radius-xs);padding:1px 4px;flex-shrink:0}.pv-center{overflow-y:auto;display:flex;flex-direction:column;background-color:var(--color-soft-bg);background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.pv-center--no-scroll{overflow:hidden}.pv-session-graph-wrap{flex:1;min-height:0;overflow:hidden;position:relative}.sg-canvas{position:relative;width:100%;height:100%;background:transparent}.sg-canvas .react-flow{background:transparent}.sg-canvas .react-flow__controls{background:var(--color-bg);border:1px solid rgba(0,0,0,.1);border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.sg-canvas .react-flow__controls-button{background:var(--color-bg);border-color:#00000014;color:var(--color-text-muted);fill:var(--color-text-muted)}.sg-canvas .react-flow__controls-button:hover{background:var(--color-soft-bg)}.sg-canvas .react-flow__handle{pointer-events:none}.sg-canvas .react-flow__attribution{display:none}.sg-canvas .react-flow__edge-label{font-size:9px}.sg-session-label{display:flex;align-items:center;gap:6px;padding:var(--space-1) var(--space-25);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);margin:10px}.sg-session-label-tag{font:600 var(--text-2xs)/1 var(--font-mono);color:var(--color-text-soft);letter-spacing:.07em;text-transform:uppercase}.sg-session-label-sep{font-size:10px;color:var(--color-border)}.sg-session-label-name{font-size:11px;font-weight:500;color:var(--ink-700)}.sg-session-label-live{font-size:9px;font-weight:700;letter-spacing:.08em;color:var(--color-success);margin-left:4px;animation:sg-pulse 2s ease-in-out infinite}@keyframes sg-pulse{0%,to{opacity:1}50%{opacity:.4}}.sg-session-clear-btn{margin-left:4px;padding:2px 6px;border-radius:var(--radius-xs);border:1px solid rgba(0,0,0,.1);background:transparent;color:var(--color-text-soft);font-size:9px;cursor:pointer;line-height:1}.sg-session-clear-btn:hover{background:var(--error-bg);border-color:var(--error-border);color:var(--color-error)}.sg-empty-panel{background:var(--color-bg);border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);border-radius:var(--radius-lg);padding:16px 20px;margin-top:10px;min-width:320px}.sg-empty-panel-title{font-size:12px;font-weight:600;color:var(--ink-700);margin-bottom:12px;text-align:center}.sg-empty-panel-routes{display:flex;flex-direction:column;gap:8px}.sg-empty-route{display:flex;align-items:center;gap:10px}.sg-empty-route-tag{font-size:10px;font-weight:600;letter-spacing:.05em;padding:2px 8px;border-radius:var(--radius-xs);border:1px solid;flex-shrink:0;width:52px;text-align:center;font-family:var(--font-mono)}.sg-empty-route-desc{font-size:12px;color:#6b7280}@keyframes sg-node-pulse{0%,to{box-shadow:0 1px 3px #00000014,0 0 0 1px #00000012}50%{box-shadow:0 1px 3px #00000014,0 0 0 4px #3b82f633}}.sg-node--running{animation:sg-node-pulse 1.6s ease-in-out infinite}.sg-node-activity{font-size:10px;color:#3b82f6;line-height:var(--lh-snug);margin-top:4px;padding-top:4px;border-top:1px solid rgba(59,130,246,.12);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:196px}.sg-progress{display:flex;align-items:center;gap:8px;background:var(--color-bg);border:1px solid rgba(0,0,0,.1);box-shadow:var(--shadow-sm);border-radius:var(--radius-pill);padding:8px 18px;margin-bottom:12px}.sg-progress-step{font-size:11px;font-weight:400;color:var(--color-text-soft)}.sg-progress-step--done{color:var(--color-success);font-weight:500}.sg-progress-step--active{color:var(--orange);font-weight:600}.sg-progress-arrow{font-size:9px;color:var(--color-border)}.sg-node-action-row{display:flex;gap:4px;margin-top:8px}.sg-node-approve-btn{flex:1;padding:4px 0;font-size:10px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;background:#06b6d42e;color:#22d3ee;transition:background .12s;font-family:inherit}.sg-node-approve-btn:hover{background:#06b6d452}.sg-node-reject-btn{flex:1;padding:4px 0;font-size:10px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;background:#ef444424;color:#f87171;transition:background .12s;font-family:inherit}.sg-node-reject-btn:hover{background:#ef444447}.sg-node-restore-btn{width:100%;margin-top:8px;padding:4px 0;font-size:10px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;background:#94a3b81f;color:#94a3b8;transition:background .12s,color .12s;font-family:inherit}.sg-node-restore-btn:hover{background:#94a3b838;color:#cbd5e1}.sg-node-promote-btn{width:100%;margin-top:8px;padding:4px 0;font-size:10px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;background:#2dd4bf1f;color:#2dd4bf;transition:background .12s,color .12s;font-family:inherit}.sg-node-promote-btn:hover{background:#2dd4bf3d;color:#5eead4}.pv-knowledge{padding:28px 32px;max-width:700px;margin:0 auto;font-family:var(--font-sans, Inter, sans-serif)}.pv-knowledge-loading{padding:48px 24px;text-align:center;font-size:13px;color:var(--color-text-muted)}.pv-knowledge-header{margin-bottom:24px}.pv-knowledge-title{font-size:17px;font-weight:700;color:var(--color-text-main);margin-bottom:6px}.pv-knowledge-desc{font-size:13px;color:var(--color-text-muted);line-height:var(--lh-ui)}.pv-knowledge-section{margin-bottom:28px}.pv-knowledge-section-label{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted);margin-bottom:8px}.pv-knowledge-section-sub{font-size:12px;color:var(--color-text-muted);margin-bottom:10px;line-height:var(--lh-ui)}.pv-knowledge-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:16px;padding:0 4px;border-radius:var(--radius-md);font-size:10px;font-weight:700;background:#00000012;color:var(--color-text-muted)}.pv-knowledge-badge--amber{background:#f59e0b26;color:#b45309}.pv-knowledge-badge--teal{background:#2dd4bf26;color:#0d9488}.pv-knowledge-empty{font-size:12px;color:var(--color-text-muted);padding:16px;background:#00000005;border:1px solid var(--color-border);border-radius:var(--radius-md)}.pv-knowledge-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px;margin-bottom:8px;display:flex;flex-direction:column;gap:10px}.pv-knowledge-card--suggest{border-color:#f59e0b59;background:#f59e0b08}.pv-knowledge-card--promoted{border-color:#2dd4bf59;background:#2dd4bf08}.pv-knowledge-card--retired{border-style:dashed;opacity:.72}.pv-knowledge-card--retired .pv-knowledge-card-text{color:var(--color-text-muted)}.pv-knowledge-card-text{font-size:12px;color:var(--color-text-main);line-height:var(--lh-normal);white-space:pre-wrap;word-break:break-word}.pv-knowledge-promote-btn{align-self:flex-end;padding:4px 12px;font-size:11px;font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;background:#2dd4bf1f;color:#0d9488;transition:background .12s;font-family:inherit}.pv-knowledge-promote-btn:hover:not(:disabled){background:#2dd4bf3d}.pv-knowledge-promote-btn--done{background:#2dd4bf0f;opacity:.65;cursor:default}.pv-knowledge-promote-btn:disabled{cursor:default}.pv-knowledge-in-pack{align-self:flex-end;font-size:10px;font-weight:600;color:#0d9488;opacity:.7}.pv-knowledge-card-actions{display:flex;align-items:center;justify-content:flex-end;gap:6px}.pv-knowledge-delete-btn{padding:4px 6px;border:none;border-radius:var(--radius-sm);cursor:pointer;background:transparent;color:var(--color-text-muted);opacity:.45;transition:opacity .12s,background .12s;display:flex;align-items:center;font-family:inherit}.pv-knowledge-delete-btn:hover{opacity:1;background:#ef444414;color:var(--color-error)}.pv-knowledge-toast{position:sticky;top:0;z-index:10;margin-bottom:16px;padding:8px 14px;border-radius:var(--radius-sm);font-size:12px;font-weight:600;background:#2dd4bf26;color:#0d9488;border:1px solid rgba(45,212,191,.3)}.pv-knowledge-toast--err{background:#ef44441a;color:var(--color-error);border-color:#ef444440}.pv-knowledge-side-desc{padding:0 16px 12px;font-size:12px;color:var(--color-text-muted);line-height:var(--lh-ui)}.sg-inspector{display:flex;flex-direction:column;height:100%;font-family:var(--font-sans, Inter, sans-serif)}.sg-inspector-head{border-bottom:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px;margin-left:0;padding:10px 14px 10px 12px}.sg-inspector-type{display:inline-block;font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;font-family:monospace;padding:2px 8px;border-radius:var(--radius-xs);align-self:flex-start}.sg-inspector-title{font-size:13px;font-weight:700;color:var(--color-text-main);line-height:var(--lh-head)}.sg-inspector-ts{font-size:11px;color:var(--color-text-muted)}.sg-inspector-section{padding:10px 14px;border-bottom:1px solid var(--color-border)}.sg-inspector-section:last-child{border-bottom:none;flex:1}.sg-inspector-section-label{font-size:10px;font-weight:600;color:var(--color-text-soft);letter-spacing:.05em;text-transform:uppercase;margin-bottom:6px}.sg-inspector-status{display:inline-flex;align-items:center;gap:4px;border-radius:var(--radius-sm);padding:3px 8px;font-size:11px;font-weight:500}.sg-inspector-status-dot{width:6px;height:6px;border-radius:50%;display:block;flex-shrink:0}.sg-inspector-summary{font-size:12px;color:var(--ink-700);line-height:var(--lh-prose)}.sg-xlink-btn{width:100%;padding:7px 12px;font-size:12px;font-weight:600;font-family:var(--font-mono);color:var(--orange);background:var(--orange-soft, rgba(217,71,18,.1));border:1px solid color-mix(in srgb,var(--orange) 35%,transparent);border-radius:var(--radius-md);cursor:pointer;text-align:left}.sg-xlink-btn:hover{background:color-mix(in srgb,var(--orange) 16%,transparent)}.sg-inspector-note{margin-top:6px;font-size:11px;color:var(--color-text-muted);line-height:var(--lh-ui)}.sg-inspector-kv{display:flex;gap:8px;align-items:baseline;padding:3px 0;font-size:11px}.sg-inspector-kv-key{flex-shrink:0;font-family:var(--font-mono, monospace);font-size:10px;color:var(--color-text-muted)}.sg-inspector-kv-val{color:var(--ink-700);line-height:1.5;word-break:break-word}.sg-toolbar{display:flex;align-items:center;gap:var(--space-1)}.sg-legend{display:flex;align-items:center;gap:10px;padding:var(--space-1) var(--space-25);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-xs)}.sg-legend-item{display:inline-flex;align-items:center;gap:5px;font:600 var(--text-2xs)/1 var(--font-mono);letter-spacing:.03em;color:var(--color-text-muted)}.sg-legend-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0}.sg-fit-btn{padding:var(--space-1) var(--space-25);background:var(--white);border-radius:var(--radius-sm);border:1px solid var(--color-border);box-shadow:var(--shadow-xs);font:600 var(--text-2xs)/1 var(--font-mono);letter-spacing:.03em;color:var(--color-text-muted);cursor:pointer;transition:color var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.sg-fit-btn:hover{color:var(--color-text-main);border-color:var(--orange)}.sg-empty{position:absolute;inset:0;z-index:4;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;pointer-events:none;text-align:center;padding:0 40px}.sg-empty-title{font-size:14px;font-weight:600;color:var(--color-text-soft)}.sg-empty-desc{max-width:400px;font-size:12px;color:var(--color-text-muted);line-height:var(--lh-prose)}.pv-empty-state{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px}.pv-empty-icon{font-size:28px;color:var(--color-border)}.pv-empty-state p{font-size:13px;color:var(--ink-300);margin:0}.pv-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:32px;width:100%;min-height:100%;padding:48px 40px;box-sizing:border-box;background-color:var(--color-soft-bg);background-image:linear-gradient(rgba(0,0,0,.05) 1px,transparent 1px),linear-gradient(90deg,rgba(0,0,0,.05) 1px,transparent 1px);background-size:40px 40px;background-position:-1px -1px}.pv-welcome-inner{display:flex;flex-direction:column;gap:32px;width:100%;max-width:780px}.pv-welcome-hero{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px}.pv-welcome-icon-wrap{width:64px;height:64px;border-radius:var(--radius-xl);background:var(--orange-50);border:1.5px solid var(--orange-200);display:flex;align-items:center;justify-content:center;margin-bottom:4px;box-shadow:0 2px 12px color-mix(in srgb,var(--orange) 10%,transparent)}.pv-welcome-title{margin:0;font-size:28px;font-weight:800;color:var(--color-text-main);letter-spacing:-.02em;line-height:1.1;font-family:var(--font-sans, Inter, sans-serif)}.pv-welcome-sub{margin:0;font-size:14px;color:var(--ink-400);max-width:420px;line-height:var(--lh-prose)}.pv-welcome-cta-row{display:flex;align-items:center;gap:20px;margin-top:8px;flex-wrap:wrap;justify-content:center}.pv-welcome-btn-primary{display:inline-flex;align-items:center;gap:8px;background:var(--orange);border:none;border-radius:var(--radius-md);color:#fff;font-size:14px;font-weight:700;font-family:var(--font-sans, Inter, sans-serif);padding:10px 22px;cursor:pointer;transition:opacity .12s,transform .1s}.pv-welcome-btn-primary:hover{opacity:.88;transform:translateY(-1px)}.pv-welcome-help{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:var(--ink-300);text-decoration:none;font-family:var(--font-sans, Inter, sans-serif);transition:color .1s}.pv-welcome-help:hover{color:var(--ink-500)}.pv-welcome-help span{color:var(--orange);font-weight:600}.pv-welcome-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.pv-welcome-card{background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s}.pv-welcome-card:hover{border-color:var(--orange-200);box-shadow:0 4px 16px color-mix(in srgb,var(--orange) 7%,transparent)}.pv-welcome-card-icon{display:flex;align-items:center;justify-content:center;margin-bottom:2px}.pv-welcome-card-label{font-size:14px;font-weight:700;color:var(--color-text-main);letter-spacing:-.01em;line-height:var(--lh-head)}.pv-welcome-card-desc{font-size:13px;color:var(--ink-400);line-height:var(--lh-prose);flex:1}.pv-welcome-section-label{font-size:10px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-300)}.pv-studio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.pv-studio-card{background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-lg);padding:22px 20px;display:flex;flex-direction:column;gap:10px;transition:border-color .15s,box-shadow .15s}.pv-studio-card:hover{border-color:var(--orange-200);box-shadow:0 4px 16px color-mix(in srgb,var(--orange) 7%,transparent)}.pv-studio-card-top{display:flex;align-items:baseline;gap:8px}.pv-studio-card-num{font-size:20px;font-weight:600;color:var(--orange);font-family:var(--font-mono);letter-spacing:-.02em;line-height:1}.pv-studio-card-label{font-size:10px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-family:var(--font-mono)}.pv-studio-card-title{font-size:15px;font-weight:700;color:var(--color-text-main);letter-spacing:-.015em;line-height:var(--lh-head)}.pv-studio-card-desc{font-size:12px;color:var(--ink-400);line-height:var(--lh-prose);flex:1}.pv-studio-card-pill{font-size:10px;font-weight:600;font-family:var(--font-mono);color:var(--ink-300);letter-spacing:.05em;border-top:1px solid var(--color-border-soft);padding-top:8px;margin-top:auto}.pv-delete-confirm{flex:1;display:flex;align-items:center;justify-content:center}.pv-delete-confirm-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:28px 32px;max-width:340px;text-align:center;box-shadow:var(--shadow-md)}.pv-delete-confirm-card h3{margin:0 0 6px;font-size:14px;color:var(--color-text-main);font-weight:700}.pv-delete-confirm-card p{margin:0 0 18px;font-size:12px;color:var(--color-text-soft)}.pv-delete-confirm-actions{display:flex;gap:8px;justify-content:center}.pv-btn{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--ink-700);font-size:13px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);padding:6px 16px;cursor:pointer;transition:background .1s,border-color .1s}.pv-btn:hover{background:var(--ink-100);border-color:var(--ink-300)}.pv-btn--danger{background:var(--color-error);border-color:var(--color-error);color:#fff}.pv-btn--danger:hover{opacity:.88;background:var(--color-error)}.pv-btn:disabled{opacity:.45;cursor:not-allowed}.pv-home{padding:20px 24px 24px;display:flex;flex-direction:column}.pv-home-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}.pv-home-title{margin:0 0 2px;font-size:16px;font-weight:700;color:var(--color-text-main);letter-spacing:-.01em}.pv-home-subtitle{font-size:11px;color:var(--ink-300);font-weight:500}.pv-pane-desc{margin:0 0 4px;font-size:13px;color:var(--ink-400);line-height:var(--lh-prose);font-family:var(--font-sans, Inter, sans-serif)}.pv-status-chip{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:3px 8px;border-radius:var(--radius-pill);font-family:var(--font-sans, Inter, sans-serif)}.pv-status-chip--ready{background:#edf7ee;color:#2e7d32}.pv-status-chip--ready:before{content:"";width:5px;height:5px;border-radius:50%;background:#43a047;flex-shrink:0}.pv-section-label{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--ink-500);margin-bottom:8px;margin-top:14px;padding-left:10px;border-left:2.5px solid var(--color-accent, var(--orange))}.pv-section-label--tier{display:flex;align-items:center;gap:8px;padding-left:8px;padding-right:2px}.pv-section-label--tier span{flex:1}.pv-tier-add-btn{background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-sm);padding:2px 8px;font-size:11px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);cursor:pointer;letter-spacing:0;text-transform:none;white-space:nowrap;transition:background .12s}.pv-tier-add-btn:hover{background:var(--orange-50)}.pv-active-model-card{display:flex;align-items:center;gap:12px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:12px 14px}.pv-active-model-thumb{width:38px;height:38px;background:var(--ink-100);border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;font-size:16px;color:var(--color-border);flex-shrink:0}.pv-active-model-info{display:flex;flex-direction:column;gap:2px}.pv-active-model-name{font-size:13px;font-weight:700;color:var(--color-text-main)}.pv-active-model-type{font-size:11px;color:var(--ink-300)}.pv-active-model-date{font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pv-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pv-stat-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.pv-stat-icon{font-size:11px;color:var(--color-border)}.pv-stat-value{font-size:18px;font-weight:600;color:var(--color-text-main);line-height:1;font-family:var(--font-mono)}.pv-stat-label{font-size:10px;color:var(--ink-300);text-transform:uppercase;letter-spacing:.07em;font-weight:600}.pv-home-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:14px}.pv-home-grid-col{display:flex;flex-direction:column;min-width:0}.pv-activity-list{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.pv-activity-row{display:flex;align-items:center;gap:8px;padding:8px 12px;border-bottom:1px solid var(--ink-100)}.pv-activity-row:last-child{border-bottom:none}.pv-activity-icon{font-size:11px;color:var(--color-border);width:14px;text-align:center;flex-shrink:0}.pv-activity-text{flex:1;font-size:12px;color:var(--surface-3)}.pv-activity-time{color:var(--ink-300);font-size:11px;flex-shrink:0;font-family:var(--font-mono)}.pv-actions-list{display:flex;flex-direction:column;gap:4px}.pv-action-row{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 12px;font-size:12px;font-weight:500;font-family:var(--font-sans, Inter, sans-serif);color:var(--ink-700);text-align:left;cursor:pointer;transition:background .1s,border-color .1s,color .1s}.pv-action-row:hover{background:#fff8f4;border-color:var(--orange-200);color:var(--orange)}.pv-placeholder{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;padding:40px;text-align:center}.pv-placeholder-label{font-size:13px;font-weight:600;color:var(--ink-300)}.pv-placeholder-hint{font-size:12px;color:var(--ink-300);max-width:260px;margin:0;line-height:var(--lh-ui)}.pv-right{background:var(--color-bg);border-left:1px solid var(--color-border-strong);display:flex;flex-direction:column;overflow:hidden}.pv-inspector-empty{flex:1;display:flex;flex-direction:column;align-items:stretch;padding:0;gap:0}.pv-inspector-empty .pv-inspector-header{flex-shrink:0}.pv-inspector-empty-card{margin:14px;background:var(--color-soft-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:24px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center}.pv-inspector-empty-icon{opacity:.25;margin-bottom:4px}.pv-inspector-empty-title{font-size:12px;font-weight:700;color:var(--ink-500)}.pv-inspector-empty-sub{font-size:11px;color:var(--ink-300);line-height:var(--lh-ui);max-width:160px}.pv-inspector{display:flex;flex-direction:column;flex:1;overflow-y:auto}.pv-inspector-header{display:flex;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:13px;font-weight:600;letter-spacing:-.01em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border-strong);flex-shrink:0;font-family:var(--font-sans, Inter, sans-serif)}.pv-inspector-name{font-size:13px;font-weight:700;color:var(--color-text-main);padding:14px 16px 2px}.pv-inspector-type{font-size:11px;color:var(--ink-300);padding:0 16px 10px;font-weight:500}.pv-inspector-chip{margin:0 16px 12px;align-self:flex-start}.pv-inspector-divider{height:1px;background:var(--color-border-soft);margin:4px 0}.pv-inspector-rows{padding:6px 0}.pv-inspector-row{display:flex;align-items:center;justify-content:space-between;padding:4px 16px}.pv-inspector-key{font-size:12px;color:var(--ink-300);font-weight:500}.pv-inspector-val{font-size:12px;color:var(--color-text-main);font-weight:600;font-family:var(--font-mono)}.pv-open-3d-btn{margin:12px 14px 14px;background:var(--orange);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-sans, Inter, sans-serif);padding:8px;cursor:pointer;transition:opacity .12s;text-align:center}.pv-open-3d-btn:hover:not(:disabled){opacity:.88}.pv-open-3d-btn:disabled{opacity:.4;cursor:not-allowed}.pv-tree-header-actions{display:flex;align-items:center;gap:6px}.pv-tree-header-btn{background:none;border:none;cursor:pointer;color:var(--ink-300);padding:3px;border-radius:var(--radius-xs);display:flex;align-items:center;transition:color .1s,background .1s}.pv-tree-header-btn:hover{color:var(--ink-500);background:var(--color-border-soft)}.pv-tree-header-btn--new{display:flex;align-items:center;gap:4px;color:var(--color-accent, var(--orange));font-size:12px;font-weight:700;font-family:var(--font-sans, Inter, sans-serif);padding:4px 8px;border-radius:var(--radius-sm);border:1px solid var(--color-accent, var(--orange))}.pv-tree-header-btn--new:hover{background:var(--orange-50)}.pv-tree-row{display:flex;align-items:center;gap:4px;padding:4px 8px;cursor:pointer;transition:background .1s;user-select:none;min-height:30px}.pv-tree-row:hover{background:var(--color-soft-bg)}.pv-tree-row.active{background:var(--orange-softer, var(--orange-50))}.pv-tree-chevron{font-size:9px;color:var(--ink-300);width:12px;text-align:center;flex-shrink:0}.pv-tree-chevron--leaf{visibility:hidden}.pv-tree-row-icon{font-size:13px;flex-shrink:0;width:16px;text-align:center}.pv-tree-row-name{flex:1;font-size:13px;font-weight:700;color:var(--color-text-main, var(--color-text-main));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font-family:var(--font-sans, Inter, sans-serif)}.pv-tree-row.active .pv-tree-row-name{color:var(--orange)}.pv-tree-row-date{font-size:10px;color:var(--color-text-muted);flex-shrink:0;font-family:var(--font-mono);opacity:.6}.pv-tree-row-menu-btn{background:none;border:none;color:var(--color-text-muted);font-size:14px;height:22px;border-radius:var(--radius-xs);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:3px;padding:0 6px;transition:background .1s,color .1s;flex-shrink:0;line-height:1;margin-left:auto}.pv-tree-row.active .pv-tree-row-menu-btn{color:var(--color-accent, var(--orange))}.pv-tree-row-menu-btn:hover{background:var(--orange-50);color:var(--color-accent, var(--orange))}.pv-tree-row-menu-label{font-size:11px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);letter-spacing:.01em;display:none}.pv-tree-row-menu-btn:hover .pv-tree-row-menu-label{display:inline}.pv-tree-children{border-left:1px solid var(--color-border-soft);margin-left:12px}.pv-tree-empty-folder{padding:4px 12px;font-size:11px;color:var(--ink-300);font-style:italic}.pv-action-menu{position:fixed;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);padding:4px;min-width:180px;z-index:1000}.pv-action-menu-item{display:block;width:100%;background:none;border:none;padding:8px 12px;font-size:13px;font-family:var(--font-sans, Inter, sans-serif);font-weight:500;color:var(--surface-1);text-align:left;cursor:pointer;border-radius:var(--radius-sm);transition:background .1s}.pv-action-menu-item:hover{background:var(--ink-100)}.pv-action-menu-item--danger{color:var(--color-error)}.pv-action-menu-item--danger:hover{background:var(--error-bg)}.pv-action-menu-sep{height:1px;background:var(--color-border-soft);margin:4px 0}.pv-modal-overlay{position:fixed;inset:0;background:var(--scrim-bg);backdrop-filter:var(--scrim-blur);display:flex;align-items:center;justify-content:center;z-index:1000}.pv-modal{background:var(--color-bg);border-radius:var(--radius-lg);width:320px;box-shadow:var(--shadow-modal);overflow:hidden}.pv-modal-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--color-border-soft);font-size:13px;font-weight:600;color:var(--color-text-main)}.pv-modal-close{background:none;border:none;color:var(--ink-300);font-size:12px;cursor:pointer;padding:2px 6px;border-radius:var(--radius-xs)}.pv-modal-close:hover{color:var(--ink-700);background:var(--color-border-soft)}.pv-modal-body{padding:8px}.pv-modal-folder-row{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:8px 10px;border-radius:var(--radius-sm);font-size:13px;font-family:var(--font-sans, Inter, sans-serif);font-weight:500;color:var(--surface-3);text-align:left;cursor:pointer;transition:background .1s}.pv-modal-folder-row:hover{background:var(--ink-100)}.pv-folder-children-list{display:flex;flex-direction:column;gap:4px}.pv-folder-child-row{display:flex;align-items:center;gap:10px;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 14px;cursor:pointer;transition:border-color .1s,background .1s}.pv-folder-child-row:hover{background:var(--ink-50);border-color:var(--color-border-strong)}.pv-folder-child-icon{font-size:14px;flex-shrink:0}.pv-folder-child-info{display:flex;flex-direction:column;gap:2px}.pv-folder-child-name{font-size:13px;font-weight:600;color:var(--color-text-main)}.pv-folder-child-date{font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pv-open-3d-btn-large{background:var(--orange);border:none;border-radius:var(--radius-sm);color:#fff;font-size:13px;font-weight:700;font-family:var(--font-sans, Inter, sans-serif);padding:12px 20px;cursor:pointer;transition:opacity .12s;align-self:flex-start}.pv-open-3d-btn-large:hover:not(:disabled){opacity:.88}.pv-open-3d-btn-large:disabled{opacity:.4;cursor:not-allowed}.pv-tree-row--virtual{opacity:.45}.pv-tree-row--virtual:hover{opacity:.7;background:var(--color-soft-bg)}.pv-tree-row--virtual.active{opacity:1;background:var(--orange-50)}.pv-tree-row-icon--virtual{font-size:11px}.pv-tree-row-name--virtual{font-size:12px;font-weight:500;color:var(--ink-400)}.pv-tree-row--virtual.active .pv-tree-row-name--virtual{color:var(--orange);font-weight:600}.pv-tree-virtual-count{font-size:10px;font-weight:600;color:var(--ink-300);font-family:var(--font-mono);margin-left:auto;padding-right:4px}.pv-tree-row--file{cursor:default}.pv-tree-file-cat-icon{font-size:10px;color:var(--ink-300);flex-shrink:0;margin-right:4px;width:12px;text-align:center}.pv-tree-file-name{font-size:11px;color:var(--color-text-soft);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1;font-family:var(--font-sans, "Inter", sans-serif)}.pv-tree-file-actions{display:none;align-items:center;gap:2px;margin-left:4px;flex-shrink:0}.pv-tree-row--file:hover .pv-tree-file-actions{display:flex}.pv-tree-file-btn{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border:none;background:transparent;color:var(--ink-400);cursor:pointer;border-radius:var(--radius-xs);padding:0;text-decoration:none}.pv-tree-file-btn:hover:not(:disabled){background:var(--color-border-soft);color:var(--surface-3)}.pv-tree-file-btn:disabled{opacity:.4;cursor:default}.pv-ver-list{display:flex;flex-direction:column;gap:1px;margin-top:4px}.pv-ver-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border-soft)}.pv-ver-num{font-size:11px;font-family:var(--font-mono);color:var(--ink-300);width:22px;flex-shrink:0}.pv-ver-badge{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-soft);background:var(--ink-100);border-radius:3px;padding:1px 4px;flex-shrink:0}.pv-ver-time{font-size:11px;color:var(--ink-300);flex:1;font-family:var(--font-sans, "Inter", sans-serif)}.pv-ver-restore-btn{font-size:11px;font-weight:500;color:var(--ink-300);background:none;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:2px 8px;cursor:not-allowed;font-family:var(--font-sans, "Inter", sans-serif)}.pv-exp-list{display:flex;flex-direction:column;gap:1px;margin-top:4px}.pv-exp-row{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:var(--radius-sm);background:var(--color-bg);border:1px solid var(--color-border-soft)}.pv-exp-format{font-size:10px;font-weight:700;letter-spacing:.04em;color:var(--color-accent);background:#ff651014;border-radius:3px;padding:1px 4px;flex-shrink:0}.pv-exp-name{font-size:11px;color:var(--ink-500);flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--font-sans, "Inter", sans-serif)}.pv-exp-time{font-size:11px;color:var(--ink-300);flex-shrink:0;font-family:var(--font-sans, "Inter", sans-serif)}.pv-virtual-empty{margin-top:8px;background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:20px 18px}.pv-virtual-empty-hint{margin:0;font-size:13px;color:var(--ink-300);line-height:var(--lh-prose)}.pv-contents-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.pv-contents-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:10px 12px;display:flex;flex-direction:column;gap:3px}.pv-contents-card--empty{opacity:.5;border-style:dashed}.pv-contents-card-icon{font-size:13px;color:var(--ink-300)}.pv-contents-card-label{font-size:11px;font-weight:600;color:var(--ink-400);text-transform:uppercase;letter-spacing:.05em}.pv-contents-card-count{font-size:16px;font-weight:600;color:var(--ink-300);font-family:var(--font-mono)}.pv-sort-wrap{position:relative}.pv-sort-btn{display:flex;align-items:center;gap:4px;font-size:11px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);color:var(--color-text-soft);padding:3px 8px;border-radius:var(--radius-xs);white-space:nowrap}.pv-sort-btn:hover{color:var(--ink-500);background:var(--color-border-soft)}.pv-sort-dropdown{position:absolute;top:calc(100% + 4px);right:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:4px;min-width:130px;z-index:200}.pv-sort-opt{display:block;width:100%;background:none;border:none;padding:6px 10px;font-size:12px;font-weight:500;font-family:var(--font-sans, Inter, sans-serif);color:var(--surface-3);text-align:left;cursor:pointer;border-radius:var(--radius-xs);transition:background .1s}.pv-sort-opt:hover{background:var(--ink-100)}.pv-sort-opt.active{color:var(--orange);font-weight:600;background:var(--orange-50)}.pv-tree-orphan-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-300);padding:10px 12px 4px}.pv-tree-child-badge{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--orange);background:var(--orange-50);border:1px solid var(--orange-200);border-radius:var(--radius-xs);padding:1px 4px;flex-shrink:0}.pv-folder-icon-orange{color:var(--orange);display:block;flex-shrink:0}.pv-tree-row.active .pv-folder-icon-orange{color:var(--orange)}.pv-tree-num-badge{width:20px;height:20px;flex-shrink:0}.pv-tree-num-badge--empty{border-radius:var(--radius-sm);border:1.5px dashed var(--color-border-strong);background:transparent;display:block}.pv-tree-row.active .pv-tree-num-badge--empty{border-color:#ffb894}.pv-venn-icon .pv-venn-circle{fill:none;stroke:var(--ink-300);stroke-width:1.5;transition:stroke .1s}.pv-venn-icon--active .pv-venn-circle{stroke:var(--orange)}.pv-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}.pv-gallery--compact{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px}.pv-tile{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:0;cursor:pointer;overflow:hidden;text-align:left;display:flex;flex-direction:column;font-family:var(--font-sans, Inter, sans-serif);transition:border-color .12s,box-shadow .12s,transform .12s}.pv-tile:hover:not(:disabled){border-color:var(--orange-200);box-shadow:0 4px 12px color-mix(in srgb,var(--orange) 8%,transparent);transform:translateY(-1px)}.pv-tile:disabled{opacity:.6;cursor:progress}.pv-tile-thumb{position:relative;width:100%;aspect-ratio:1 / 1;background:linear-gradient(180deg,var(--color-soft-bg) 0%,var(--color-border-soft) 100%);overflow:hidden}.pv-tile-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pv-tile-thumb-fallback{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:var(--ink-300)}.pv-tile-badge{position:absolute;top:8px;left:8px;background:var(--orange);color:#fff;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:var(--radius-xs)}.pv-tile-overlay{position:absolute;inset:0;background:#0006;color:#fff;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600}.pv-tile-meta{display:flex;flex-direction:column;gap:2px;padding:8px 12px 12px;min-width:0}.pv-tile-name{font-size:13px;font-weight:700;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-tile-time{font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pv-tile--add{background:#fffaf6;border-style:dashed;border-color:var(--orange-200)}.pv-tile--add:hover:not(:disabled){border-color:var(--orange);background:var(--orange-50)}.pv-tile-thumb--add{background:linear-gradient(180deg,var(--orange-50) 0%,#ffece0 100%);display:flex;align-items:center;justify-content:center}.pv-tile--add:hover .pv-tile-thumb--add{background:linear-gradient(180deg,#fff0e3,#ffe0c8)}.pv-tile-add-plus{font-size:36px;font-weight:400;color:var(--orange);opacity:.5;line-height:1}.pv-tile--add:hover .pv-tile-add-plus{opacity:1}.pv-tile-open-hint{position:absolute;bottom:8px;right:8px;background:#0000008c;color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:var(--radius-xs);opacity:0;transition:opacity .15s;pointer-events:none}.pv-tile:hover .pv-tile-open-hint{opacity:1}.pv-brief-section{margin-bottom:4px}.pv-brief-empty-card{background:var(--color-bg);border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}.pv-brief-empty-body{display:flex;flex-direction:column;gap:3px}.pv-brief-empty-title{font-size:13px;font-weight:700;color:var(--ink-500)}.pv-brief-empty-sub{font-size:12px;color:var(--ink-300);line-height:var(--lh-ui)}.pv-brief-add-btn{flex-shrink:0;background:var(--color-accent, var(--orange));border:1px solid var(--color-accent, var(--orange));border-radius:var(--radius-sm);padding:6px 14px;font-size:12px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);color:#fff;cursor:pointer;transition:background .1s,border-color .1s,opacity .1s}.pv-brief-add-btn:hover{background:var(--orange-bright);border-color:var(--orange-bright)}.pv-brief-saved{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px 18px;cursor:pointer;display:flex;align-items:flex-start;justify-content:space-between;gap:16px;transition:border-color .12s}.pv-brief-saved:hover{border-color:var(--orange-200)}.pv-brief-saved-text{margin:0;font-size:14px;font-weight:500;color:var(--surface-1);line-height:var(--lh-prose);letter-spacing:-.005em}.pv-brief-saved-edit{flex-shrink:0;font-size:11px;font-weight:600;color:var(--ink-300);margin-top:2px}.pv-brief-saved:hover .pv-brief-saved-edit{color:var(--orange)}.pv-brief-hint{font-size:11px;color:var(--ink-300);margin-top:4px;padding:0 2px}.pv-cto-row{display:flex;gap:8px;margin-bottom:4px}.pv-cto-tile{flex:1;background:var(--color-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:10px 12px;display:flex;align-items:center;gap:8px;min-width:0}.pv-cto-icon{font-size:13px;color:var(--ink-300);flex-shrink:0}.pv-cto-label{flex:1;font-size:12px;font-weight:600;color:var(--ink-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-cto-count{font-size:13px;font-weight:600;color:var(--ink-300);font-family:var(--font-mono);flex-shrink:0}.pv-desc{width:100%;box-sizing:border-box;border:1px solid transparent;border-radius:var(--radius-md);padding:10px 12px;font-family:var(--font-sans, Inter, sans-serif);font-size:13px;font-weight:500;color:var(--surface-3);background:var(--color-bg);resize:none;outline:none;transition:border-color .12s,background .12s;margin-bottom:14px;line-height:var(--lh-normal)}.pv-desc:hover{border-color:var(--color-border-soft)}.pv-desc:focus{border-color:var(--orange);background:var(--color-bg)}.pv-desc::placeholder{color:var(--ink-300);font-weight:500;font-style:italic}.pv-model-main-row{display:flex;gap:16px;align-items:flex-start;margin-bottom:4px}.pv-model-context-panel{flex:1;min-width:0;display:flex;flex-direction:column;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.pv-model-context-label{font-size:10px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-300);padding:10px 12px 6px;border-bottom:1px solid var(--ink-100)}.pv-model-context-uploading{font-size:11px;color:var(--ink-300);padding:6px 12px;font-style:italic}.pv-model-context-row{display:flex;flex-direction:column;padding:8px 12px;border-bottom:1px solid var(--ink-100);gap:6px}.pv-model-context-row:last-child{border-bottom:none}.pv-model-context-row-head{display:flex;align-items:center;gap:8px}.pv-model-context-files{display:flex;flex-wrap:wrap;gap:4px;padding-left:24px}.pv-model-context-chip{display:inline-flex;align-items:center;gap:4px;background:var(--color-border-soft);border-radius:var(--radius-xs);padding:2px 4px 2px 8px;font-size:11px;color:var(--ink-700);max-width:160px}.pv-model-context-chip-del{background:none;border:none;cursor:pointer;color:var(--ink-300);font-size:13px;line-height:1;padding:0 1px;flex-shrink:0}.pv-model-context-chip-del:hover{color:var(--color-error)}.pv-model-context-icon{font-size:12px;flex-shrink:0;width:16px;line-height:1}.pv-model-context-name{flex:1;font-size:12px;color:var(--ink-700);font-weight:500}.pv-model-context-count{font-size:12px;font-weight:600;color:var(--color-text-main);font-family:var(--font-mono);min-width:16px;text-align:right}.pv-model-context-add{background:var(--color-bg);border:1px solid var(--color-accent);color:var(--color-accent);border-radius:var(--radius-xs);padding:1px 8px;font-size:11px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);cursor:pointer;white-space:nowrap}.pv-model-meta-empty{font-size:12px;color:var(--ink-300);padding:6px 0 4px;font-style:italic}.pv-model-preview{width:200px;flex-shrink:0;background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;display:flex;flex-direction:column;margin-bottom:4px}.pv-model-preview-img{width:100%;aspect-ratio:1 / 1;object-fit:cover;display:block;border-radius:var(--radius-md)}.pv-model-preview-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;aspect-ratio:1 / 1;background:linear-gradient(180deg,var(--color-soft-bg) 0%,var(--color-border-soft) 100%);text-align:center}.pv-model-preview-empty-title{font-size:13px;font-weight:600;color:var(--ink-400)}.pv-model-preview-empty-hint{font-size:12px;color:var(--ink-300);max-width:260px;line-height:var(--lh-ui)}.pv-hero{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr);gap:16px;margin-bottom:4px}.pv-hero--brief-left{grid-template-columns:minmax(260px,1fr) minmax(0,1.4fr)}.pv-hero-thumb{width:100%;aspect-ratio:4 / 3;background:linear-gradient(180deg,var(--color-soft-bg) 0%,var(--color-border-soft) 100%);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden;position:relative}.pv-hero-thumb img{width:100%;height:100%;object-fit:cover;display:block}.pv-hero-thumb-fallback{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;text-align:center;padding:24px;color:var(--ink-300)}.pv-hero-thumb-fallback>span:nth-child(2){font-size:13px;font-weight:600}.pv-hero-thumb-hint{font-size:11px;color:var(--ink-300);max-width:260px;line-height:var(--lh-ui)}.pv-hero-side{display:flex;flex-direction:column;gap:12px;justify-content:flex-start}.pv-hero-side .pv-open-3d-btn-large{align-self:stretch;text-align:center}.pv-hero-meta{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:8px 0}.pv-brief-card{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:16px 18px;display:flex;flex-direction:column;gap:10px;position:relative}.pv-brief-label{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-300)}.pv-brief-icon{font-family:Georgia,serif;font-size:22px;color:var(--orange);line-height:.6;margin-top:4px}.pv-brief-text{margin:0;font-size:14px;font-weight:500;color:var(--surface-1);line-height:var(--lh-normal);letter-spacing:-.005em;white-space:pre-wrap}.pv-brief-time{font-size:11px;color:var(--ink-300);font-family:var(--font-mono)}.pv-brief-empty{margin:0;font-size:12px;color:var(--ink-300);font-style:italic}.pv-detail-grid{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.pv-detail-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--ink-100)}.pv-detail-row:last-child{border-bottom:none}.pv-detail-key{font-size:12px;color:var(--ink-300);font-weight:500}.pv-detail-val{font-size:12px;color:var(--color-text-main);font-weight:600;font-family:var(--font-mono);max-width:60%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-hero-meta .pv-detail-row{padding:6px 12px}.pv-empty-card{background:var(--color-bg);border:1px dashed var(--color-border);border-radius:var(--radius-md);padding:28px 20px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}.pv-empty-card-icon{font-size:22px;color:var(--color-border)}.pv-empty-card-title{font-size:13px;font-weight:700;color:var(--ink-300)}.pv-empty-card-hint{font-size:12px;color:var(--ink-300);max-width:300px;line-height:var(--lh-ui)}.pv-inspector-body{flex:1;overflow-y:auto;padding:4px 0}.pv-inspector-footer{border-top:1px solid var(--color-border-soft);padding:10px 14px 14px;display:flex;flex-direction:column;gap:6px;flex-shrink:0}.pv-inspector-danger{background:none;border:1px solid transparent;color:var(--color-error);font-size:12px;font-weight:600;font-family:var(--font-sans, Inter, sans-serif);padding:8px;border-radius:var(--radius-sm);cursor:pointer;transition:background .1s,border-color .1s}.pv-inspector-danger:hover{background:var(--orange-50);border-color:#f5c6c0}.pv-insp-section{padding:10px 14px 12px;border-bottom:1px solid var(--ink-100)}.pv-insp-section:last-child{border-bottom:none}.pv-insp-section-label{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-300);margin-bottom:8px}.pv-insp-row{display:flex;align-items:center;justify-content:space-between;padding:4px 0;gap:8px}.pv-insp-row-k{font-size:11px;color:var(--color-text-soft);font-weight:500}.pv-insp-row-v{font-size:11px;color:var(--color-text-main);font-weight:600;font-family:var(--font-mono);text-align:right}.pv-insp-row-v--ellipsis{max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pv-insp-empty{font-size:11px;color:var(--ink-300);font-style:italic;padding:4px 0}.pv-insp-list{display:flex;flex-direction:column;gap:4px}.pv-insp-list-row{display:flex;align-items:center;gap:8px;padding:3px 0}.pv-insp-list-thumb{width:18px;height:18px;border-radius:3px;background:var(--ink-100);overflow:hidden;display:flex;align-items:center;justify-content:center;flex-shrink:0}.pv-insp-list-thumb img{width:100%;height:100%;object-fit:cover}.pv-insp-list-name{flex:1;font-size:12px;color:var(--surface-1);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-insp-list-row--more{font-size:11px;color:var(--ink-300);padding-top:4px;font-style:italic}.pv-insp-param-row{display:flex;align-items:baseline;justify-content:space-between;padding:3px 0;gap:8px}.pv-insp-param-label{font-size:11px;color:var(--ink-500);flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-insp-param-val{font-size:11px;color:var(--color-text-main);font-weight:600;font-family:var(--font-mono);flex-shrink:0}.pv-insp-param-unit{color:var(--ink-300);font-weight:400}.pv-insp-trees{padding:4px 0}.pv-insp-tree{border-bottom:1px solid var(--ink-100)}.pv-insp-tree:last-child{border-bottom:none}.pv-insp-tree-root{display:flex;align-items:center;gap:6px;padding:8px 14px;cursor:pointer;user-select:none;transition:background .1s}.pv-insp-tree-root:hover{background:var(--ink-50)}.pv-insp-tree-chevron{font-size:10px;color:var(--ink-300);width:10px;flex-shrink:0}.pv-insp-tree-label{flex:1;font-size:12px;font-weight:600;color:var(--surface-3)}.pv-insp-tree-total{font-size:15px;font-weight:600;color:var(--color-text-main);font-family:var(--font-mono)}.pv-insp-tree-children{padding:0 0 6px}.pv-insp-tree-row{display:flex;align-items:center;justify-content:space-between;padding:4px 14px 4px 30px}.pv-insp-tree-row-label{font-size:11px;color:var(--ink-300);font-weight:500}.pv-insp-tree-row-value{font-size:12px;font-weight:600;color:var(--ink-500);font-family:var(--font-mono)}.pv-insp-snapshot{padding:6px 16px 14px;border-bottom:1px solid var(--ink-100)}.pv-insp-snap-name{font-size:14px;font-weight:700;color:var(--color-text-main);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pv-insp-snap-sub{font-size:11px;color:var(--ink-300);margin-top:2px}.pv-insp-count-row{display:flex;align-items:baseline;justify-content:space-between;padding:6px 0;border-bottom:1px dashed var(--color-border-soft)}.pv-insp-count-row:last-child{border-bottom:none}.pv-insp-count-k{font-size:12px;color:var(--ink-400);font-weight:500}.pv-insp-count-v{font-size:16px;font-weight:600;color:var(--color-text-main);font-family:var(--font-mono)}.pv-btn{background:var(--color-bg);color:var(--color-text-main);border-color:var(--color-border);border-radius:var(--radius-sm)}.pv-btn:hover{background:var(--color-soft-bg);border-color:var(--color-border)}.pv-btn--danger{background:var(--error-bg);color:var(--color-error);border-color:var(--error-border)}.pv-btn--danger:hover{background:var(--color-error);color:#fff;border-color:var(--color-error);opacity:1}.pv-welcome-btn-primary,.pv-brief-add-btn{background:var(--orange);color:#fff;border-color:var(--orange);border-radius:var(--radius-sm)}.pv-welcome-btn-primary:hover,.pv-brief-add-btn:hover{background:var(--orange-hover);border-color:var(--orange-hover);opacity:1}.pv-modal{background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-modal)}.ninsp-* editors. See ConfigureParamsEditor.tsx + context/archive/configure-build-plan.md. */ .cfgpe{display:flex;flex-direction:column;gap:10px;padding:4px}.cfgpe-toolbar{display:flex;align-items:center;gap:8px}.cfgpe-filter{flex:1;min-width:0}.cfgpe-bulk{display:flex;gap:6px;flex-shrink:0}.cfgpe-bulk-btn{padding:4px 8px;font-size:var(--text-xs);font-weight:500;color:var(--color-text-muted);background:var(--color-soft-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;white-space:nowrap}.cfgpe-bulk-btn:hover{background:var(--color-border-soft);color:var(--color-text-main)}.cfgpe-adv-toggle{grid-column:1 / -1;justify-self:start;padding:0;font-size:var(--text-xs);color:var(--color-text-soft);background:none;border:none;cursor:pointer;text-decoration:underline}.cfgpe-adv-toggle:hover{color:var(--orange)}.cfgpe-empty,.cfgpe-summary{font-size:var(--text-xs2);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgpe-summary{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);padding:2px 2px 6px;border-bottom:1px solid var(--color-border-soft)}.cfgpe-empty strong{color:var(--color-text-main)}.cfgpe-row{display:flex;flex-direction:column;gap:10px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-soft-bg)}.cfgpe-row--hide{opacity:.6}.cfgpe-row-head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.cfgpe-row-titles{display:flex;flex-direction:column;gap:2px;min-width:0}.cfgpe-row-name{font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main)}.cfgpe-row-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--color-text-soft)}.cfgpe-seg{display:inline-flex;flex-shrink:0;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:hidden}.cfgpe-seg-btn{padding:4px 8px;font-size:var(--text-xs);font-weight:500;background:transparent;color:var(--color-text-muted);border:none;border-right:1px solid var(--color-border-soft);cursor:pointer}.cfgpe-seg-btn:last-child{border-right:none}.cfgpe-seg-btn:hover{background:var(--color-border-soft);color:var(--color-text-main)}.cfgpe-seg-btn--on{background:var(--orange);color:#fff}.cfgpe-seg-btn--on:hover{background:var(--orange-hover)}.cfgpe-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cfgpe-reset{align-self:flex-start;padding:0;font-size:var(--text-xs);color:var(--color-text-soft);background:none;border:none;cursor:pointer;text-decoration:underline}.cfgpe-reset:hover{color:var(--orange)}.ninsp-* editors. See ConfigurePresetsEditor.tsx + context/archive/configure-build-plan.md. */ .cfgpr{display:flex;flex-direction:column;gap:10px;padding:4px}.cfgpr-intro{font-size:var(--text-xs2);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgpr-intro strong{color:var(--color-text-main);font-weight:600}.cfgpr-save{width:100%}.cfgpr-save:disabled{opacity:.5;cursor:not-allowed}.cfgpr-hint,.cfgpr-empty{font-size:var(--text-xs);color:var(--color-text-soft)}.cfgpr-empty{text-align:center;padding:8px 0}.cfgpr-list{display:flex;flex-direction:column;gap:6px;margin-top:2px}.cfgpr-row{display:flex;align-items:center;gap:8px;padding:8px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-soft-bg)}.cfgpr-name{flex:1;min-width:0;padding:4px 8px;font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.cfgpr-name:focus{outline:none;border-color:var(--orange);box-shadow:var(--ring)}.cfgpr-count{flex-shrink:0;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--color-text-soft)}.cfgpr-del{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer}.cfgpr-del:hover{background:var(--error-bg);color:var(--color-error);border-color:var(--error-border)}.ninsp-* editors. See ConfigureSlotsEditor.tsx + context/archive/configure-build-plan.md (P3). */ .cfgsl{display:flex;flex-direction:column;gap:12px;padding:4px}.cfgsl-intro{font-size:var(--text-xs2);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgsl-intro em{color:var(--color-text-main);font-style:italic}.cfgsl-empty,.cfgsl-none{font-size:var(--text-xs2);color:var(--color-text-soft)}.cfgsl-empty strong{color:var(--color-text-main)}.cfgsl-none{text-align:center;padding:6px 0}.cfgsl-add{display:flex;gap:6px}.cfgsl-add-btn{flex-shrink:0}.cfgsl-add-btn:disabled{opacity:.5;cursor:not-allowed}.cfgsl-card{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-soft-bg)}.cfgsl-card-head{display:flex;align-items:center;gap:8px}.cfgsl-name{flex:1;min-width:0;padding:4px 8px;font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.cfgsl-name:focus{outline:none;border-color:var(--orange);box-shadow:var(--ring)}.cfgsl-meta{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);color:var(--color-text-soft)}.cfgsl-del{flex-shrink:0;display:grid;place-items:center;width:24px;height:24px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:transparent;color:var(--color-text-muted);cursor:pointer}.cfgsl-del:hover{background:var(--error-bg);color:var(--color-error);border-color:var(--error-border)}.cfgsl-opts{display:flex;flex-direction:column;gap:4px}.cfgsl-opt{display:flex;align-items:center;gap:8px;padding:4px 8px;background:var(--color-soft-bg);border:1px solid var(--color-border-soft);border-radius:var(--radius-sm)}.cfgsl-opt-name{flex:1;font-size:var(--text-xs2);color:var(--color-text-main)}.cfgsl-opt-def{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);text-transform:uppercase;color:var(--orange)}.cfgsl-opt-del{flex-shrink:0;width:18px;height:18px;font-size:var(--text-base);line-height:1;color:var(--color-text-soft);background:none;border:none;cursor:pointer}.cfgsl-opt-del:hover{color:var(--color-error)}.cfgsl-addopt{margin-top:2px}.cfgps{display:flex;flex-direction:column;gap:16px;padding:4px}.cfgps-open{width:100%}.cfgps-open:disabled{opacity:.5;cursor:not-allowed}.cfgps-hint{font-size:var(--text-xs);color:var(--color-text-soft);margin-top:-8px}.cfgps-sec{display:flex;flex-direction:column;gap:8px;padding-top:12px;border-top:1px solid var(--color-border-soft)}.cfgps-h{margin:0;font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main)}.cfgps-note{margin:0;font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-soft)}.cfgps-empty{font-size:var(--text-xs);color:var(--color-text-soft)}.cfgps-mats{display:flex;flex-direction:column;gap:4px}.cfgps-mat{display:flex;align-items:center;gap:8px;padding:6px 8px;background:var(--color-soft-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer;text-align:left}.cfgps-mat:hover{background:var(--color-border-soft)}.cfgps-mat--on{border-color:var(--orange);background:color-mix(in srgb,var(--orange) 12%,transparent)}.cfgps-mat-swatch{width:16px;height:16px;border-radius:var(--radius-xs);border:1px solid var(--color-border-strong);flex-shrink:0}.cfgps-mat-name{flex:1;font-size:var(--text-xs2);color:var(--color-text-main)}.cfgps-mat-def{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xs);text-transform:uppercase;color:var(--orange)}.cfgps-grp{display:flex;flex-direction:column;gap:6px;margin-top:6px;padding-top:8px;border-top:1px dashed var(--color-border-soft)}.cfgps-grp-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.cfgps-grp-h{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);font-weight:600;text-transform:uppercase;letter-spacing:.07em;color:var(--color-text-muted)}.cfgps-grp-del{padding:0;font-size:var(--text-2xs);color:var(--color-text-soft);background:none;border:none;cursor:pointer;text-decoration:underline}.cfgps-grp-del:hover{color:var(--color-error)}.cfgps-addpart{margin-top:6px}.cfgps-poserow{display:flex;align-items:center;gap:10px}.cfgps-pose-btn{padding:6px 12px;font-size:var(--text-xs2);font-weight:500;color:var(--color-text-main);background:var(--color-soft-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cfgps-pose-btn:hover:not(:disabled){background:var(--color-border-soft);color:var(--color-text-main)}.cfgps-pose-btn:disabled{opacity:.5;cursor:not-allowed}.cfgps-pose-set{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--success)}.cfgps-pose-clear{padding:0;font-size:var(--text-xs);color:var(--color-text-soft);background:none;border:none;cursor:pointer;text-decoration:underline}.cfgps-pose-clear:hover{color:var(--orange)}.cfgps-toggle{display:flex;align-items:center;gap:8px;font-size:var(--text-xs2);color:var(--color-text-main);cursor:pointer}.cfgps-toggle input{accent-color:var(--orange)}.cfgps-specrow{display:flex;flex-direction:column;gap:4px}.cfgps-relabel{margin-left:20px;width:calc(100% - 20px)}.cfgps-dim{font-style:normal;color:var(--color-text-soft)}.cfgps-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.cfgcm{display:flex;flex-direction:column;gap:var(--space-4)}.cfgcm-intro{font-size:var(--text-xs2);line-height:var(--lh-normal);color:var(--color-text-muted)}.cfgcm-hint{font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-soft)}.cfgcm-field{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3)}.cfgcm-label{font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main)}.cfgcm-sec{display:flex;flex-direction:column;gap:8px}.cfgcm-sec-h{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:600;letter-spacing:.07em;text-transform:uppercase;color:var(--color-text-muted)}.cfgcm-in{padding:6px 8px;font-size:var(--text-xs2);font-family:inherit;color:var(--color-text-main);background:var(--color-soft-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:0}.cfgcm-in:focus{outline:none;border-color:var(--orange)}.cfgcm-in--amt{width:9ch;text-align:right;font-family:var(--font-mono)}.cfgcm-in--kind{flex:none}.cfgcm-delta{display:flex;align-items:center;gap:6px}.cfgcm-delta>.cfgcm-in:not(.cfgcm-in--amt):not(.cfgcm-in--kind){flex:1}.cfgcm-del{flex:none;display:grid;place-items:center;width:24px;height:24px;padding:0;color:var(--color-text-soft);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);cursor:pointer}.cfgcm-del:hover{color:var(--color-error);border-color:var(--color-border)}.cfgcm-add{align-self:flex-start;padding:5px 10px;font-size:var(--text-xs);color:var(--color-text-main);background:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cfgcm-add:hover{border-color:var(--orange);color:var(--orange)}.cfgcm-check{display:flex;align-items:flex-start;gap:8px;font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-muted);cursor:pointer}.cfgcm-check input{margin-top:2px;accent-color:var(--orange);flex:none}.cfgcm-check strong{color:var(--color-text-main)}.ninsp-* editors. See ConfigurePublish.tsx + context/archive/configure-build-plan.md (P4). */ .cfgpub{display:flex;flex-direction:column;gap:12px;padding:4px}.cfgpub-note{margin:0;font-size:var(--text-xs2);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgpub-status{display:flex;align-items:center;gap:8px;font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main)}.cfgpub-dot{width:8px;height:8px;border-radius:50%;background:var(--color-text-soft);flex-shrink:0}.cfgpub-dot--on{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 22%,transparent)}.cfgpub-btn{width:100%}.cfgpub-btn:disabled{opacity:.5;cursor:not-allowed}.cfgpub-update{display:flex;flex-direction:column;gap:4px}.cfgpub-update-hint{font-size:var(--text-2xs);color:var(--color-text-soft);text-align:center}.cfgpub-note strong{color:var(--color-text-main);font-weight:600}.cfgpub-checks{list-style:none;margin:0;padding:10px 12px;display:flex;flex-direction:column;gap:6px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-soft-bg)}.cfgpub-check{display:flex;align-items:baseline;gap:8px;font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-soft)}.cfgpub-check--ok{color:var(--color-text-main)}.cfgpub-check--warn{color:var(--color-warning)}.cfgpub-check-mark{font-family:var(--font-mono);font-variant-numeric:tabular-nums;flex-shrink:0;width:12px;text-align:center}.cfgpub-check--ok .cfgpub-check-mark{color:var(--color-success)}.cfgpub-confirm{display:flex;flex-direction:column;gap:8px;padding:10px 12px;font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-main);border:1px solid var(--error-border);border-radius:var(--radius-md);background:var(--error-bg)}.cfgpub-confirm strong{color:var(--color-text-main);font-weight:600}.cfgpub-confirm-row{display:flex;gap:8px}.cfgpub-confirm-yes{padding:4px 12px;font-size:var(--text-xs);font-weight:600;color:#fff;background:var(--color-error);border:none;border-radius:var(--radius-sm);cursor:pointer}.cfgpub-confirm-no{padding:4px 12px;font-size:var(--text-xs);font-weight:500;color:var(--color-text-main);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cfgpub-confirm-no:hover{color:var(--color-text-main);background:var(--color-border-soft)}.cfgpub-cert{display:flex;flex-direction:column;gap:8px;padding:12px;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-soft-bg)}.cfgpub-cert--valid{border-color:color-mix(in srgb,var(--color-success) 45%,transparent);background:color-mix(in srgb,var(--color-success) 10%,transparent)}.cfgpub-cert--stale{border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);background:color-mix(in srgb,var(--color-warning) 8%,transparent)}.cfgpub-cert--failed{border-color:color-mix(in srgb,var(--color-error) 45%,transparent);background:color-mix(in srgb,var(--color-error) 8%,transparent)}.cfgpub-cert-head{display:flex;align-items:center;gap:8px}.cfgpub-cert-mark{font-family:var(--font-mono);flex-shrink:0;width:16px;text-align:center;font-weight:600;color:var(--color-text-muted)}.cfgpub-cert--valid .cfgpub-cert-mark{color:var(--color-success)}.cfgpub-cert--stale .cfgpub-cert-mark{color:var(--color-warning)}.cfgpub-cert--failed .cfgpub-cert-mark{color:var(--color-error)}.cfgpub-cert-title{font-size:var(--text-xs2);font-weight:700;color:var(--color-text-main)}.cfgpub-cert-count{margin-left:auto;padding:2px 8px;font-family:var(--font-mono);font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--color-success);background:color-mix(in srgb,var(--color-success) 16%,transparent);border-radius:var(--radius-pill)}.cfgpub-cert-desc{margin:0;font-size:var(--text-xs);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgpub-cert-desc strong{color:var(--color-text-main);font-weight:600}.cfgpub-cert-note{margin:0;font-size:var(--text-2xs);line-height:var(--lh-ui);color:var(--color-text-muted)}.cfgpub-cert-btn{align-self:flex-start;padding:5px 14px;font-size:var(--text-xs);font-weight:600;color:var(--color-text-main);background:var(--color-border-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cfgpub-cert-btn:hover:not(:disabled){background:var(--color-border-soft);color:var(--color-text-main)}.cfgpub-cert-btn:disabled{opacity:.55;cursor:default}.cfgpub-field{display:flex;flex-direction:column;gap:4px}.cfgpub-copyrow{display:flex;gap:6px;align-items:stretch}.cfgpub-input{flex:1;min-width:0;padding:8px;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--color-text-main);background:var(--color-bg);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.cfgpub-input:focus{outline:none;border-color:var(--orange)}.cfgpub-textarea{resize:vertical;min-height:58px;line-height:1.5}.cfgpub-copy{flex-shrink:0;align-self:flex-start;padding:8px 12px;font-size:var(--text-xs2);font-weight:600;color:var(--color-text-main);background:var(--color-border-soft);border:1px solid var(--color-border);border-radius:var(--radius-sm);cursor:pointer}.cfgpub-copy:hover{background:var(--color-border-soft);color:var(--color-text-main)}.cfgpub-open{font-size:var(--text-xs2);color:var(--orange);text-decoration:none}.cfgpub-open:hover{text-decoration:underline}.cfgpub-unpublish{align-self:flex-start;padding:0;font-size:var(--text-xs2);color:var(--color-text-soft);background:none;border:none;cursor:pointer;text-decoration:underline}.cfgpub-unpublish:hover{color:var(--color-error)}
