:root{color-scheme:light;font-family:var(--font-ui);background:var(--surface-warm);color:var(--body);font-synthesis:none;text-rendering:geometricPrecision;--font-ui: "Inter", ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-display: "Barlow Condensed", "Inter", ui-sans-serif, system-ui, sans-serif;--font-mono: "JetBrains Mono", ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, monospace;--space-xxs: 2px;--space-xs: 4px;--space-sm: 8px;--space-md: 12px;--space-lg: 16px;--space-xl: 24px;--space-2xl: 32px;--space-3xl: 48px;--radius-sm: 4px;--radius-md: 6px;--radius-lg: 8px;--radius-xl: 12px;--radius-pill: 9999px;--hidden-black: #000000;--hidden-green: #B4DC41;--hidden-green-soft: #f0f8d8;--hidden-green-deep: #8db32d;--crime-yellow: #F5DC24;--puzzle-red: #A02D32;--surface: #ffffff;--surface-muted: #f9f8f4;--surface-warm: #f0ebe6;--surface-soft: #ebe6dc;--body: #282828;--muted: #5C5C5C;--on-dark: #ffffff;--on-accent: #0a0a0a;--border: #D6D1C8;--border-strong: #b8b0a3;--border-soft: #e4dfd6;--error: #A02D32;--error-soft: #f4dada;--warning: #F5DC24;--warning-soft: #fcf2c4;--success: #2e8b4d;--success-soft: #d6ecdd;--line: var(--border);--line-strong: var(--border-strong);--accent: var(--hidden-green);--accent-soft: var(--hidden-green-soft);--accent-deep: var(--hidden-green-deep);--accent-text: var(--on-accent);scrollbar-color:var(--border-strong) var(--surface-warm)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}button,input,textarea,select{font:inherit;letter-spacing:0}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.48}.appShell{display:grid;grid-template-columns:var(--sidebar-width, 260px) minmax(360px,1fr) var(--inspector-width, 408px);height:100%;min-width:0;overflow:hidden}.appShell--auth-splash,.appShell--auth-gate{display:block;background:var(--surface, #1a1a1a)}.viewerStage{display:flex;flex:1;min-height:0;min-width:0;overflow:hidden}.thumbs{background:var(--surface-muted);border-right:1px solid var(--line);display:flex;flex:0 0 var(--thumbs-width, 144px);flex-direction:column;min-height:0;min-width:0;width:var(--thumbs-width, 144px)}.thumbsList{display:flex;flex:1;flex-direction:column;gap:8px;min-height:0;overflow:auto;padding:10px}.thumbsItem{align-items:center;background:transparent;border:0;border-radius:8px;color:#475569;display:flex;flex-direction:column;gap:4px;padding:6px;text-align:center;transition:background .15s ease,color .15s ease}.thumbsItem:hover{background:var(--surface)}.thumbsItem.active{background:var(--accent-soft);color:#0f3a36}.thumbsImageWrap{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:4px;box-shadow:0 1px 2px #0f172a0f;display:flex;justify-content:center;overflow:hidden;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.thumbsItem.active .thumbsImageWrap{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.thumbsImage{display:block;height:auto;max-width:100%;-webkit-user-select:none;user-select:none}.thumbsLabel{font-size:11px;font-variant-numeric:tabular-nums;font-weight:600}.sidebar,.inspector{background:var(--surface-muted);border-color:var(--border);min-height:0}.sidebar{border-right:1px solid var(--border);display:flex;flex-direction:column;min-width:0;position:relative}.sidebarResizeHandle{bottom:0;cursor:col-resize;position:absolute;right:-5px;top:0;width:10px;z-index:20}.sidebarResizeHandle:before{background:transparent;content:"";display:block;height:100%;margin-left:4px;width:2px}.sidebarResizeHandle:hover:before,.resizingSidebar .sidebarResizeHandle:before{background:var(--hidden-black, #0f766e)}.resizingSidebar{cursor:col-resize;-webkit-user-select:none;user-select:none}.brand{align-items:center;border-bottom:1px solid var(--border);display:flex;gap:var(--space-sm);min-height:52px;padding:var(--space-md) var(--space-md)}.brand svg{color:var(--hidden-black);flex:0 0 auto}.brandText{flex:1;min-width:0}.brandLogo{display:block;flex:0 0 auto;height:45px;margin-left:var(--space-sm);opacity:.8;-webkit-user-select:none;user-select:none;width:auto}.brand h1,.selectedHeader h3{margin:0}.brand h1{font-family:var(--font-display);font-size:22px;font-weight:800;letter-spacing:.01em;line-height:1;text-transform:uppercase}.brand p,.documentMeta,.selectedHeader span{color:var(--muted);font-size:11px;margin:2px 0 0}.workspacePicker{border-bottom:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-sm);padding:var(--space-md)}.workspacePicker label{display:flex;flex-direction:column;gap:var(--space-xs)}.workspacePicker label span{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.workspacePicker input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);font-size:12px;min-width:0;padding:6px 9px;transition:border-color .15s ease,box-shadow .15s ease}.workspacePicker input:focus{border-color:var(--hidden-black);box-shadow:0 0 0 3px var(--accent-soft);outline:none}.workspaceActions{display:grid;gap:var(--space-sm);grid-template-columns:1fr 1fr}.workspaceActions button{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);display:inline-flex;font-size:12px;font-weight:600;gap:var(--space-xs);justify-content:center;min-height:30px;padding:0 var(--space-sm);transition:border-color .15s ease,background .15s ease}.workspaceActions button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-strong)}.workspaceActions button[type=submit]{background:var(--hidden-black);border-color:var(--hidden-black);color:var(--on-dark)}.workspaceActions button[type=submit]:hover:not(:disabled){background:#1f1f1f;border-color:#1f1f1f}.workspaceCandidates{display:flex;flex-direction:column;gap:var(--space-sm)}.serverWorkspaces{display:flex;flex-direction:column;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.serverWorkspacesHeader{align-items:center;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:var(--space-xs);justify-content:space-between;letter-spacing:.08em;text-transform:uppercase}.serverWorkspacesImport{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);cursor:pointer;display:inline-flex;font-size:11px;gap:4px;padding:2px 6px}.serverWorkspacesImport:disabled{opacity:.6;cursor:progress}.serverWorkspacesEmpty{align-items:center;color:var(--muted);display:flex;font-size:11px;gap:var(--space-xs);padding:var(--space-xs) 0}.serverWorkspacesError{color:var(--danger, #b91c1c)}.serverWorkspacesList{display:flex;flex-direction:column;gap:2px;list-style:none;margin:0;max-height:220px;overflow:auto;padding:0}.serverWorkspacesItem{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);cursor:pointer;display:flex;font-size:12px;gap:var(--space-sm);justify-content:space-between;padding:4px var(--space-sm);text-align:left;width:100%}.serverWorkspacesItem:disabled{background:var(--hidden-black);border-color:var(--hidden-black);color:var(--on-dark);cursor:default}.serverWorkspacesSlug{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.serverWorkspacesRole{color:var(--muted);font-size:10px;text-transform:uppercase}.serverWorkspacesItem:disabled .serverWorkspacesRole{color:var(--on-dark);opacity:.7}.workspaceCandidatesHeader{align-items:center;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:var(--space-xs);letter-spacing:.08em;text-transform:uppercase}.workspaceCandidatesList{display:grid;gap:var(--space-sm);grid-template-columns:repeat(auto-fill,minmax(108px,1fr));max-height:280px;overflow:auto}.workspaceCandidate{align-items:stretch;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);color:var(--body);display:flex;flex-direction:column;font-size:12px;gap:var(--space-xs);justify-content:space-between;min-width:0;padding:var(--space-sm) var(--space-sm);text-align:left;transition:border-color .15s ease,background .15s ease,transform .12s ease}.workspaceCandidate:hover:not(:disabled){border-color:var(--hidden-black);transform:translateY(-1px)}.workspaceCandidate.active{background:var(--hidden-black);border-color:var(--hidden-black);color:var(--on-dark)}.workspaceCandidate .candidateName{flex:1;font-weight:600;font-size:12px;line-height:1.25;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspaceCandidate.active .candidateName{font-weight:700}.workspaceCandidate .candidateMeta{align-items:baseline;color:var(--muted);display:inline-flex;flex-shrink:0;font-family:var(--font-mono);font-size:10px;font-variant-numeric:tabular-nums;font-weight:500;gap:3px}.workspaceCandidate.active .candidateMeta{color:var(--hidden-green)}.workspaceCandidate .candidateMetaSep{color:var(--border-strong)}.workspaceCandidate.active .candidateMetaSep{color:#ffffff59}.workspaceCandidate .candidateEdit{color:var(--muted);font-size:10px;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.workspaceCandidate.active .candidateEdit{color:#fff9}.workspaceMessages{display:flex;flex-direction:column;gap:var(--space-xs)}.workspaceMessages span,.emptyDocuments{border-radius:var(--radius-md);font-size:11px;line-height:1.3;padding:6px var(--space-sm)}.workspaceMessages .error{background:var(--error-soft);color:var(--error)}.workspaceMessages .warning{background:var(--warning-soft);color:#6b5300}.emptyDocuments{align-items:center;border:1px dashed var(--border-strong);color:var(--muted);display:flex;flex-direction:column;gap:var(--space-sm);justify-content:center;min-height:120px}.documentSearch{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);display:flex;gap:var(--space-xs);margin:var(--space-md) var(--space-md) 0;padding:0 var(--space-sm);transition:border-color .15s ease,box-shadow .15s ease}.documentSearch:focus-within{border-color:var(--hidden-black);box-shadow:0 0 0 3px var(--accent-soft);color:var(--hidden-black)}.documentSearch input{background:transparent;border:0;color:var(--body);flex:1;font-size:12px;min-height:30px;min-width:0;outline:none;padding:0}.documentSearch input::placeholder{color:var(--muted)}.searchScope{display:inline-flex;gap:2px;margin:var(--space-xs) var(--space-md) 0;padding:2px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);width:fit-content}.searchScopeChip{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-size:10px;font-weight:700;letter-spacing:.04em;min-height:20px;padding:0 var(--space-sm);text-transform:uppercase;transition:background .12s ease,color .12s ease}.searchScopeChip:hover:not(.active){color:var(--body)}.searchScopeChip.active{background:var(--hidden-black);color:var(--on-dark)}.documentSearch input::-webkit-search-cancel-button{cursor:pointer}.documentList{display:flex;flex:1;flex-direction:column;gap:2px;min-height:0;overflow:auto;padding:var(--space-sm) var(--space-sm) var(--space-md)}.searchGroupHeader{align-items:center;color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:var(--space-xs);justify-content:space-between;letter-spacing:.08em;margin:var(--space-sm) var(--space-xs) 2px;text-transform:uppercase}.searchGroupHeader:first-child{margin-top:0}.searchGroupCount{background:var(--surface-soft);border-radius:var(--radius-pill);color:var(--body);font-family:var(--font-mono);font-size:10px;font-weight:600;letter-spacing:0;padding:1px 7px}.searchGroupEmpty{color:var(--muted);font-size:11px;font-style:italic;padding:4px 2px 2px}.contentMatch{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);display:flex;flex-direction:column;gap:3px;padding:6px var(--space-sm);text-align:left;transition:border-color .15s ease,background .15s ease}.contentMatch:hover{background:var(--surface-soft);border-color:var(--border-strong)}.contentMatchDoc{font-family:var(--font-mono);font-size:11px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contentMatchMeta{color:var(--muted);display:flex;font-size:10px;font-weight:700;gap:var(--space-sm);letter-spacing:.06em;text-transform:uppercase}.contentMatchMeta span{white-space:nowrap}.contentMatchWorkspace{color:var(--muted);font-family:var(--font-mono);font-size:10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contentMatchSnippet{color:var(--body);display:-webkit-box;font-size:12px;line-height:1.4;max-height:2.8em;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;word-break:break-word}.contentMatchSnippet mark{background:var(--hidden-green);border-radius:2px;color:inherit;padding:0 2px}.documentRow{align-items:center;display:flex;gap:2px}.documentRow .documentButton{flex:1;min-width:0}.documentTree,.treeFolder,.treeFolderChildren{display:flex;flex-direction:column;min-width:0}.documentTree>.treeFolder+.treeFolder{margin-top:10px}.treeFolderChildren>.treeFolder:not(:first-child){margin-top:4px}.treeFolderChildren>.treeFileRow+.treeFolder{margin-top:6px}.treeRow{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--body);cursor:pointer;display:flex;font-size:12px;gap:6px;min-height:22px;min-width:0;padding-right:var(--space-sm);text-align:left;transition:background .1s ease;width:100%}.treeRow:hover{background:var(--surface)}.treeFile.selected,.treeFile.selected:hover,.treeFolderRow.selected,.treeFolderRow.selected:hover,.treeWorkspaceRow.selected{background:var(--surface);box-shadow:inset 2px 0 0 var(--hidden-black)}.treeFolderRow.selected .treeFolderName,.treeFolderRow.selected .treeFolderIcon,.treeFolderRow.selected .treeChevron,.treeWorkspaceRow.selected .treeFolderName,.treeWorkspaceRow.selected .treeFolderIcon{color:var(--hidden-black)}.treeChevron,.treeChevronSpacer{align-items:center;color:var(--muted);display:inline-flex;flex:0 0 13px;height:13px;justify-content:center;width:13px}.treeFolderIcon,.treeFileIcon{align-items:center;color:var(--muted);display:inline-flex;flex-shrink:0;justify-content:center}.treeFolderRow.open .treeFolderIcon,.treeFile.selected .treeFileIcon{color:var(--hidden-black)}.treeFolderName{flex:1;font-size:12px;font-weight:600;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeFolderCount{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;font-weight:500;padding-left:var(--space-xs)}.treeWorkspaceRow{min-height:26px;padding-left:4px}.treeChevronButton{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;display:inline-flex;flex:0 0 22px;height:22px;justify-content:center;padding:0;width:22px}.treeChevronButton:hover{background:var(--surface-warm);color:var(--body)}.treeWorkspaceLabel{align-items:center;background:transparent;border:0;border-radius:var(--radius-sm);color:var(--body);cursor:pointer;display:flex;flex:1;font-size:12px;gap:6px;min-width:0;padding:0 var(--space-sm) 0 4px;text-align:left}.treeWorkspaceLabel:hover{background:var(--surface)}.treeWorkspaceLabel .treeFolderName{font-family:var(--font-mono);font-size:12px;font-weight:500}.treeWorkspace.active .treeWorkspaceLabel .treeFolderName,.treeWorkspaceRow.open .treeFolderName{font-weight:600}.treeWorkspaceMeta{color:var(--muted);font-size:10px;font-variant-numeric:tabular-nums;font-weight:500;padding-left:var(--space-xs);white-space:nowrap}.treeWorkspaceMetaSep{color:var(--border-strong);margin:0 2px}.treeWorkspaceLoading,.treeWorkspaceError,.treeWorkspaceEmpty{align-items:center;color:var(--muted);display:flex;font-size:11px;font-style:italic;gap:6px;min-height:22px;padding-right:var(--space-sm)}.treeWorkspaceError{color:var(--error, #b91c1c)}.treeFileRow{align-items:center;display:flex;gap:2px;min-width:0}.treeFileRow .treeFile{flex:1;min-width:0}.treeFileName{flex:1;font-family:var(--font-ui);font-size:12.5px;font-weight:400;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.treeFile.selected .treeFileName{font-weight:600}.reviewDot{align-items:center;background:transparent;border:0;border-radius:999px;cursor:pointer;display:flex;flex:0 0 20px;height:20px;justify-content:center;padding:0;transition:background .12s ease;width:20px}.reviewDot:before{background:var(--review-color, #cbd5e1);border:1px solid rgba(15,23,42,.18);border-radius:999px;content:"";display:block;height:11px;transition:transform .12s ease;width:11px}.reviewDot:hover{background:#0f172a14}.reviewDot:hover:before{transform:scale(1.18)}.reviewDot:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.reviewDot.state-open{--review-color: #cbd5e1}.reviewDot.state-wip{--review-color: #f59e0b}.reviewDot.state-done{--review-color: #10b981}.kindFilterBar{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding:0 12px}.kindFilterBarTitle{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;margin-right:2px;text-transform:uppercase}.kindFilterChip{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:#475569;cursor:pointer;font-size:11px;font-weight:600;padding:3px 9px;transition:border-color .15s ease,background .15s ease,color .15s ease}.kindFilterChip--icon{align-items:center;border-radius:6px;display:inline-flex;height:24px;justify-content:center;padding:0;width:28px}.kindFilterChip:hover{border-color:var(--line-strong)}.kindFilterChip.active{background:var(--accent-soft);border-color:var(--accent);color:#0f3a36}.reviewFilterBar{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:8px;padding:0 12px}.reviewFilterBarTitle{color:var(--muted);font-size:10px;font-weight:700;letter-spacing:.08em;margin-right:2px;text-transform:uppercase}.reviewFilterChip{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:5px;padding:3px 9px;transition:border-color .15s ease,background .15s ease,color .15s ease}.reviewFilterDot{background:var(--review-color, #cbd5e1);border:1px solid rgba(15,23,42,.18);border-radius:999px;display:inline-block;flex:0 0 9px;height:9px;width:9px}.reviewFilterDot.state-open{--review-color: #cbd5e1}.reviewFilterDot.state-wip{--review-color: #f59e0b}.reviewFilterDot.state-done{--review-color: #10b981}.reviewFilterChip:hover{border-color:var(--line-strong)}.reviewFilterChip.active{background:var(--accent-soft);border-color:var(--accent);color:#0f3a36}.documentButton{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-md);color:var(--body);display:flex;gap:var(--space-sm);min-width:0;padding:5px var(--space-sm);text-align:left;transition:background .12s ease,border-color .12s ease}.documentButton:hover{background:var(--surface);border-color:var(--border-soft)}.documentButton.selected{background:var(--surface);border-color:var(--border-strong);box-shadow:inset 2px 0 0 var(--hidden-black)}.documentTypeIcon{align-items:center;color:var(--muted);display:inline-flex;flex-shrink:0;justify-content:center}.documentButton.selected .documentTypeIcon{color:var(--hidden-black)}.documentName{flex:1;font-family:var(--font-mono);font-size:12px;font-weight:500;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.documentButton.selected .documentName{font-weight:600}.statusDot{border-radius:var(--radius-pill);flex-shrink:0;height:7px;position:relative;width:7px}.statusDot[data-status-label]:after{background:var(--hidden-black);border-radius:var(--radius-sm);bottom:calc(100% + 4px);color:var(--on-dark);content:attr(data-status-label);font-family:var(--font-ui);font-size:10px;font-weight:600;left:50%;letter-spacing:.02em;opacity:0;padding:2px 6px;pointer-events:none;position:absolute;text-transform:capitalize;transform:translate(-50%,2px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:20}.statusDot[data-status-label]:hover:after{opacity:1;transform:translate(-50%)}.statusDot.complete{background:var(--success)}.statusDot.dirty{background:var(--warning)}.statusDot.error{background:var(--error)}.statusDot.missing,.statusDot.warn{background:var(--border-strong)}.workspace{background:var(--surface-warm);display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.viewerSplit{display:flex;min-height:0;min-width:0;overflow:hidden}.viewerPanel--secondary{border-left:1px solid var(--border)}.secondaryPicker{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);font-size:12px;height:30px;max-width:100px;padding:0 var(--space-sm)}.topbar{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);display:flex;gap:var(--space-md);min-height:52px;padding:var(--space-sm) var(--space-md);position:relative;z-index:90}.docTitle{min-width:220px}.docWorkspace{background:var(--surface-soft);border-radius:var(--radius-pill);color:var(--body);display:block;font-family:var(--font-mono);font-size:10px;font-weight:500;letter-spacing:0;margin-top:4px;max-width:220px;overflow:hidden;padding:1px var(--space-sm);text-overflow:ellipsis;white-space:nowrap;width:fit-content}.docWorkspace--twoPage{background:var(--accent-soft);color:var(--accent-deep);font-family:inherit;font-weight:600}.toolbar,.viewerControls,.layerToggles,.saveBar,.tabs,.jsonActions{align-items:center;display:flex;gap:var(--space-xs)}.toolbar{flex:1;flex-wrap:wrap;gap:var(--space-xs);justify-content:flex-start;min-width:0}.zoomControls{align-items:center;display:inline-flex;gap:0}.layerToggles{flex-wrap:wrap;justify-content:flex-end;min-width:0}.iconButton,.layerToggle,.tabs button,.jsonActions button,.discardButton,.saveButton{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);display:inline-flex;gap:var(--space-xs);justify-content:center;min-height:30px;transition:border-color .15s ease,background .15s ease,color .15s ease}.iconButton:hover:not(:disabled),.layerToggle:hover:not(:disabled),.tabs button:hover:not(:disabled),.jsonActions button:hover:not(:disabled){background:var(--surface-soft);border-color:var(--border-strong)}.iconButton{min-width:30px;padding:0}.iconButton.active,.layerToggle.on,.tabs button.active{background:var(--hidden-black);border-color:var(--hidden-black);color:var(--on-dark)}.iconButton.active:hover:not(:disabled),.layerToggle.on:hover:not(:disabled),.tabs button.active:hover:not(:disabled){background:#1f1f1f;border-color:#1f1f1f}.pageSelect{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);font-size:12px;height:30px;padding:0 var(--space-sm)}.toolbarDivider{background:var(--border);height:20px;margin:0 var(--space-xs);width:1px}.toolbarSpacer{flex:1 1 auto}.reocrDialog{min-width:min(720px,90vw)}.reocrColumns{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-sm)}.reocrColumn{border:1px solid var(--border);border-radius:var(--radius-sm, 6px);display:flex;flex-direction:column;min-height:160px;overflow:hidden}.reocrColumnHeader{align-items:center;background:var(--surface);border-bottom:1px solid var(--border);color:var(--muted);display:flex;font-size:11px;gap:var(--space-xs);justify-content:space-between;padding:var(--space-xs) var(--space-sm);text-transform:uppercase}.reocrModelChip{background:var(--surface-strong, var(--surface));border:1px solid var(--border);border-radius:999px;font-family:var(--font-mono);font-size:10px;padding:1px 6px;text-transform:none}.reocrText{font-family:var(--font-mono);font-size:12px;margin:0;padding:var(--space-sm);white-space:pre-wrap;word-break:break-word}.reocrCropWrap{background:#1c1c1c;border-bottom:1px solid var(--border);display:flex;justify-content:center;padding:var(--space-sm);position:relative}.reocrCrop{display:block;image-rendering:crisp-edges;max-height:220px;max-width:100%;object-fit:contain}.reocrCropOverlay{align-items:center;background:#ffffffc7;color:var(--body);display:flex;flex-direction:column;font-size:12px;gap:var(--space-xs);top:0;right:0;bottom:0;left:0;justify-content:center;position:absolute}.reocrLoading{align-items:center;color:var(--muted);display:flex;flex:1 1 auto;gap:var(--space-xs);justify-content:center;padding:var(--space-md)}.reocrError{color:var(--danger, #b53b3b);padding:var(--space-sm)}.reocrDiff{border:1px solid var(--border);border-radius:var(--radius-sm, 6px);margin-top:var(--space-sm);overflow:hidden}.reocrDiffBody{font-family:var(--font-mono);font-size:12px;margin:0;padding:var(--space-sm);white-space:pre-wrap;word-break:break-word}.reocrDiff-equal{color:var(--body)}.reocrDiff-del{background:#b53b3b2e;text-decoration:line-through}.reocrDiff-add{background:#2a8f4f2e}.reocrFooter{align-items:center;display:flex;gap:var(--space-sm);justify-content:space-between}.reocrOptions{display:flex;justify-content:flex-end;margin-bottom:var(--space-sm)}.reocrToggle{align-items:center;color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;gap:var(--space-xs);-webkit-user-select:none;user-select:none}.wsMark{color:var(--muted);font-family:var(--font-mono);opacity:.55}.reocrFooterButtons{display:flex;gap:var(--space-xs)}.reocrTokens{color:var(--muted);font-family:var(--font-mono);font-size:11px}.aiBadge{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm, 6px);color:var(--body);cursor:pointer;display:inline-flex;font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;gap:var(--space-xs);height:28px;padding:0 var(--space-sm)}.aiBadge:hover{background:var(--surface-strong, var(--surface));border-color:var(--accent, var(--border))}.settingsSection.aiSettings{border-top:1px solid var(--border);display:flex;flex-direction:column;gap:var(--space-sm);margin-top:var(--space-md);padding-top:var(--space-md)}.settingsSection .settingsSectionTitle{align-items:center;display:flex;font-size:14px;gap:var(--space-xs);margin:0}.aiSettings .settingsRow{align-items:center;display:flex;gap:var(--space-sm)}.aiSettings .aiModelLabel{flex:1 1 auto;font-size:12px}.aiSettings .aiReasoningLabel{color:var(--muted);flex:0 0 auto;font-size:11px;margin-left:var(--space-xs, 6px)}.aiSettings .aiFeatureRow select{flex:0 0 auto}.aiSettings .aiUsageRow{color:var(--muted);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;justify-content:space-between}.aiKeyStatus.ok{color:var(--success, #2a8f4f)}.aiKeyStatus.missing{color:var(--danger, #b53b3b)}.elementActions{display:flex;gap:var(--space-xs);margin-bottom:var(--space-sm)}.elementSplitModal .splitTextarea{font-family:var(--font-mono);font-size:12px;min-height:120px;resize:vertical;width:100%}.elementSplitModal .splitPreviewLabel{color:var(--muted);font-size:12px;margin:var(--space-sm) 0 var(--space-xs)}.elementSplitModal .splitPreviewSvg{border:1px solid var(--border);display:block}.elementLinkPickerModal .modalBody{display:flex;flex-direction:column;gap:var(--space-sm);min-width:480px}.elementLinkValue{color:var(--muted);font-size:12px;margin:0}.elementLinkValue code{background:var(--surface-alt, var(--surface));border-radius:4px;font-family:var(--font-mono);padding:2px 6px}.elementLinkValueLabel{color:var(--muted)}.elementLinkSection{border-bottom:1px solid var(--border);color:var(--muted);font-size:11px;letter-spacing:.04em;margin-top:var(--space-xs);padding-bottom:4px;text-transform:uppercase}.elementLinkSearch{border:1px solid var(--border);border-radius:4px;font-size:13px;padding:6px 8px;width:100%}.elementLinkList{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;max-height:220px;overflow-y:auto;padding:0}.elementLinkEmpty{color:var(--muted);font-size:12px;padding:var(--space-xs)}.elementLinkItem{background:var(--surface);border:1px solid var(--border);border-radius:4px;cursor:pointer;display:flex;flex-direction:column;font-size:13px;padding:6px 10px;text-align:left;width:100%}.elementLinkItem:hover{border-color:var(--accent, #4a8df0)}.elementLinkItem.active{background:#4a8df01f;border-color:var(--accent, #4a8df0)}.elementLinkItem.suggested{border-left:3px solid var(--hidden-green-deep, #8db32d)}.elementLinkItemTitle{font-family:var(--font-mono)}.elementLinkItemMeta{color:var(--muted);display:flex;font-size:11px;gap:6px;margin-top:2px}.elementLinkItemReason{font-style:italic}.elementLinkItemWorkspace{background:var(--panel-strong, rgba(255, 255, 255, .08));border-radius:3px;font-style:normal;padding:0 4px}.zoomLabel{color:var(--muted);font-family:var(--font-mono);font-size:11px;font-variant-numeric:tabular-nums;min-width:42px;text-align:center}.chatPopup{background:var(--surface);border:1px solid var(--border);border-radius:6px;box-shadow:0 8px 24px #0000002e;display:flex;flex-direction:column;min-height:320px;min-width:320px;overflow:hidden;position:fixed;z-index:60}.chatPopupHeader{align-items:center;border-bottom:1px solid var(--border);cursor:grab;display:flex;flex-shrink:0;gap:var(--space-xs);justify-content:space-between;padding:var(--space-xs) var(--space-sm);touch-action:none;-webkit-user-select:none;user-select:none}.chatPopupHeader:active{cursor:grabbing}.chatPopupHeader h3{align-items:center;display:flex;font-size:14px;gap:6px;margin:0}.chatPopupHeaderActions{align-items:center;display:flex;gap:4px}.chatPopupBanner{border-bottom:1px solid var(--border);font-size:12px;padding:8px var(--space-sm)}.chatPopupBanner--info{background:#4a8df01f}.chatPopupBanner--warn{background:#ffc4002e}.chatPopupBanner--error{background:#dc50502e}.chatPopupBody{display:flex;flex:1 1 auto;flex-direction:column;gap:8px;overflow-y:auto;padding:var(--space-sm)}.chatPopupEmpty{color:var(--muted);font-size:12px;margin:auto;text-align:center}.chatBubble{border-radius:8px;font-size:13px;line-height:1.4;max-width:85%;padding:8px 10px;white-space:pre-wrap;word-break:break-word}.chatBubble--user{align-self:flex-end;background:#4a8df02e}.chatBubble--assistant{align-self:flex-start;background:var(--surface-alt, rgba(0, 0, 0, .04))}.chatBubble--pending{align-items:center;color:var(--muted);display:flex;font-style:italic;gap:6px}.chatPopupFooter{border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:var(--space-xs);padding:var(--space-xs) var(--space-sm)}.chatPopupInput{border:1px solid var(--border);border-radius:4px;flex:1 1 auto;font-size:13px;padding:6px 8px;resize:none}.chatPopupResizeHandle{background:linear-gradient(135deg,transparent 0 45%,var(--muted) 45% 55%,transparent 55% 70%,var(--muted) 70% 80%,transparent 80%);bottom:0;cursor:nwse-resize;height:14px;position:absolute;right:0;touch-action:none;width:14px}.aiBadge.aiBadge--active{background:var(--accent, rgba(74, 141, 240, .18));color:var(--accent-text, inherit)}.aiChatActionsRow{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xs)}.aiChatFeedback{font-size:12px}.aiChatFeedback.ok{color:var(--hidden-green-deep, #8db32d)}.aiChatFeedback.error{color:#dc5050f2}.aiRescanPrompt{display:flex;flex-direction:column;gap:4px;margin:8px 0}.aiRescanPromptHeader{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-xs, 6px)}.aiRescanPromptStatus{font-size:12px;white-space:nowrap}.aiRescanPromptStatus.default{color:var(--hidden-green-deep, #8db32d)}.aiRescanPromptStatus.custom{color:var(--text-muted, #64748b)}.aiRescanPromptTextarea{border:1px solid var(--line);border-radius:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;padding:8px;resize:vertical;width:100%;min-height:160px;background:var(--surface, #fff);color:inherit}.aiRescanPromptActions{align-items:center;display:flex;flex-wrap:wrap;gap:var(--space-xs, 6px)}.workspaceMain{display:flex;flex:1;flex-direction:column;min-height:0;min-width:0;position:relative}.operationStatus{align-items:center;background:var(--surface);border-bottom:1px solid var(--line);box-shadow:0 2px 6px #0f172a0f;color:#334155;display:grid;gap:8px 10px;grid-template-columns:auto minmax(0,1fr) auto;left:0;padding:8px 14px;position:absolute;right:0;top:0;z-index:5}.saveErrorBanner{align-items:center;background:#fee2e2;border-bottom:1px solid #fca5a5;color:#7f1d1d;display:flex;gap:10px;padding:8px 14px}.saveErrorBanner .saveErrorText{flex:1;font-size:12px;line-height:1.35;min-width:0}.saveErrorBanner .saveErrorText strong{font-weight:600}.saveErrorBanner button{background:transparent;border:1px solid #fca5a5;border-radius:6px;color:#7f1d1d;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;padding:4px 8px}.saveErrorBanner button:hover{background:#fecaca}.saveErrorBanner .saveErrorDismiss{align-items:center;border:none;display:inline-flex;height:24px;justify-content:center;padding:0;width:24px}.operationText{display:flex;flex-direction:column;gap:2px;min-width:0}.operationText strong{font-size:12px;font-weight:600}.operationText span,.operationPercent{color:#64748b;font-size:11px}.operationTrack{background:#dbe3ed;border-radius:999px;grid-column:1 / -1;height:5px;overflow:hidden}.operationTrack span{background:#0f766e;display:block;height:100%;transition:width .18s ease}.viewerLayout{display:grid;flex:1;grid-template-rows:minmax(0,1fr) 218px;min-height:0;overflow:hidden}.viewerLayout--reviewCollapsed{grid-template-rows:minmax(0,1fr) auto}.viewerPanel{display:flex;flex:1 1 0;flex-direction:column;min-height:0;min-width:0;overflow:hidden;position:relative}.viewerPanel--focused:after{border:2px solid var(--accent);border-radius:2px;bottom:0;content:"";left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:50}.overlayBox--readonly{cursor:pointer}.viewerControls{background:var(--surface-muted);border-bottom:1px solid var(--line);justify-content:space-between;min-height:46px;padding:8px 14px}.mediaHeader{background:var(--surface);border-bottom:1px solid var(--line);display:flex;flex-direction:column}.mediaHeader--collapsed{background:var(--surface-muted)}.mediaHeader__header{align-items:center;display:flex;gap:10px;justify-content:space-between;padding:6px 14px}.mediaHeader__kind{align-items:center;color:var(--text-secondary, #475569);display:inline-flex;font-size:11px;font-weight:700;gap:6px;letter-spacing:.04em;text-transform:uppercase}.mediaHeader__collapse{align-items:center;background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:var(--text-secondary, #475569);cursor:pointer;display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.mediaHeader__collapse:hover{background:var(--surface-muted)}.mediaHeader__body{padding:8px 14px 12px}.mediaHeader__row{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.mediaHeader__row--video{align-items:flex-start}.mediaHeader__row--web{align-items:stretch;flex-direction:column}.mediaHeader__audio{flex:1 1 320px;max-width:100%}.mediaHeader__video{background:#000;border-radius:var(--radius-md);flex:1 1 360px;max-height:240px;max-width:100%}.mediaHeader__sidebar{display:flex;flex:1 1 220px;flex-direction:column;gap:6px;min-width:200px}.mediaHeader__chapters{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.mediaHeader__chapter{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;cursor:pointer;display:flex;font-size:12px;gap:8px;padding:4px 8px;text-align:left;width:100%}.mediaHeader__chapter:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent)}.mediaHeader__chapter:disabled{cursor:default;opacity:.6}.mediaHeader__chapterTime{color:var(--text-secondary, #475569);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;min-width:40px}.mediaHeader__chapterTitle{font-weight:600}.mediaHeader__meta{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.mediaHeader__tag{background:var(--surface-muted);border:1px solid var(--line);border-radius:var(--radius-pill);color:var(--text-secondary, #475569);font-size:11px;padding:2px 8px}.mediaHeader__phone{align-items:center;color:var(--text-secondary, #475569);display:inline-flex;font-size:12px;gap:4px}.mediaHeader__duration{color:var(--text-secondary, #475569);font-size:11px}.mediaHeader__missing{color:var(--text-secondary, #475569);font-size:12px;font-style:italic}.mediaHeader__webMeta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.mediaHeader__webUrl{color:var(--text-primary, #0f172a);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mediaHeader__webCaptured{color:var(--text-secondary, #475569);font-size:11px}.mediaHeader__webOpen{align-items:center;color:var(--accent);display:inline-flex;font-size:12px;gap:4px;text-decoration:none}.mediaHeader__webOpen:hover{text-decoration:underline}.mediaHeader__webTabs{display:flex;gap:4px}.mediaHeader__webTab{background:transparent;border:1px solid var(--line);border-radius:var(--radius-sm);color:inherit;cursor:pointer;font-size:12px;font-weight:600;padding:3px 10px}.mediaHeader__webTab.active{background:var(--accent-soft);border-color:var(--accent)}.mediaHeader__webFrameWrap{border:1px solid var(--line);border-radius:var(--radius-md);height:320px;overflow:hidden;position:relative}.mediaHeader__webFrame{background:#fff;border:0;display:block;height:100%;width:100%}.mediaHeader__webBlocked{align-items:center;background:var(--surface-muted);border:1px dashed var(--line);border-radius:var(--radius-md);color:var(--text-secondary, #475569);display:flex;font-size:12px;gap:8px;padding:10px 12px}.mediaHeader__webSnapshotHint{color:var(--text-secondary, #475569);font-size:12px;padding:10px 12px}.layerToggle,.tabs button,.jsonActions button{font-size:12px;font-weight:600;padding:0 10px}.viewerControlsGroup{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.viewer{background:linear-gradient(90deg,rgba(71,85,105,.06) 1px,transparent 1px),linear-gradient(0deg,rgba(71,85,105,.06) 1px,transparent 1px),#e3eaf2;background-size:24px 24px;flex:1;min-height:0;min-width:0;overflow:auto;overscroll-behavior:contain;position:relative;scrollbar-color:#b0bccc #e3eaf2;scrollbar-width:thin}.viewer.panning{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.viewer.panning .overlayBox{cursor:grab}.viewer.dragging,.viewer.dragging .overlayBox{cursor:grabbing}body.spacePanActive .viewer,body.spacePanActive .viewer .overlayBox{cursor:grab}body.spacePanActive .viewer.dragging,body.spacePanActive .viewer.dragging .overlayBox{cursor:grabbing}.viewerCanvas{min-height:100%;min-width:100%;position:relative}.pageStage{display:inline-block;left:28px;line-height:0;position:absolute;top:28px}.pageImage{background:#fff;box-shadow:0 8px 24px #0f172a24,0 2px 6px #0f172a14;display:block;height:100%;max-width:none;-webkit-user-select:none;user-select:none;width:100%}.overlayLayer{top:0;right:0;bottom:0;left:0;position:absolute}.overlayBox{background:color-mix(in srgb,var(--box-color) 11%,transparent);border:2px solid var(--box-color);cursor:move;line-height:1;min-height:8px;min-width:8px;position:absolute;transform-origin:50% 50%}.overlayBox.document_objects{background:color-mix(in srgb,var(--box-color) 7%,transparent);border-style:dashed}.overlayBox.groups{background:transparent;border-style:dotted}.overlayBox.comments{background:transparent;border:0;border-radius:0;box-shadow:none;cursor:grab;filter:none;height:32px;min-height:0;min-width:0;transform:translate(-50%,-100%);transform-origin:50% 100%;width:26px}.overlayBox.comments:after{background:var(--box-color);clip-path:path("M 13 32 C 4 23 0 17 0 12 C 0 5 6 0 13 0 C 20 0 26 5 26 12 C 26 17 22 23 13 32 Z");content:"";filter:drop-shadow(0 2px 3px rgba(15,23,42,.45));top:0;right:0;bottom:0;left:0;position:absolute}.overlayBox.comments.anchored{cursor:pointer}.overlayBox.comments.resolved{opacity:.85}.overlayBox.comments.resolved:after{background:color-mix(in srgb,var(--box-color) 40%,#ffffff);filter:drop-shadow(0 2px 3px rgba(15,23,42,.25))}.overlayBox.comments.issue-bbox:after{background:#dc2626;filter:drop-shadow(0 2px 3px rgba(15,23,42,.25))}.overlayBox.selected{background:color-mix(in srgb,var(--box-color) 18%,transparent);border-width:2px;box-shadow:0 0 0 2px #fffffff2,0 0 0 4px color-mix(in srgb,var(--box-color) 70%,#0f172a),0 6px 16px #0f172a2e}.overlayBox.selected.secondary{box-shadow:0 0 0 2px #ffffffd9,0 0 0 3px color-mix(in srgb,var(--box-color) 55%,#0f172a),0 4px 10px #0f172a24}.overlayBox.issue-low,.overlayBox.issue-empty,.overlayBox.issue-bbox,.overlayBox.issue-missing{outline:2px solid #dc2626}.overlayBox.issue-medium{outline:2px solid #d97706}.boxLabel{background:var(--box-color);border:1.5px solid rgba(255,255,255,.9);border-radius:5px;box-shadow:0 1px 4px #0f172a38;color:#fff;display:inline-flex;font-size:12px;font-weight:600;line-height:1;max-width:100%;min-height:20px;min-width:22px;padding:3px 6px;pointer-events:none;position:absolute;left:-2px;top:-2px;transform:rotate(var(--label-rotation, 0deg));transform-origin:left top;z-index:1}.handle{background:#fff;border:2px solid var(--box-color);border-radius:999px;height:12px;position:absolute;width:12px;z-index:2}.handle.nw{cursor:nwse-resize;left:-7px;top:-7px}.handle.ne{cursor:nesw-resize;right:-7px;top:-7px}.handle.sw{bottom:-7px;cursor:nesw-resize;left:-7px}.handle.se{bottom:-7px;cursor:nwse-resize;right:-7px}.handle.n{cursor:ns-resize;left:50%;top:-7px;transform:translate(-50%)}.handle.s{bottom:-7px;cursor:ns-resize;left:50%;transform:translate(-50%)}.handle.e{cursor:ew-resize;right:-7px;top:50%;transform:translateY(-50%)}.handle.w{cursor:ew-resize;left:-7px;top:50%;transform:translateY(-50%)}.rotateZone{background:transparent;cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cg fill='none' stroke='white' stroke-width='4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/g%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8'/%3E%3Cpath d='M21 3v5h-5'/%3E%3C/g%3E%3C/svg%3E") 12 12,grab;height:22px;position:absolute;width:22px;z-index:1}.rotateZone.nw{left:-26px;top:-26px}.rotateZone.ne{right:-26px;top:-26px}.rotateZone.sw{bottom:-26px;left:-26px}.rotateZone.se{bottom:-26px;right:-26px}.centerState{align-items:center;color:#475569;display:flex;gap:10px;height:100%;justify-content:center}.spin{animation:spin .9s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.reviewPanel{background:var(--surface-muted);border-top:1px solid var(--line);display:flex;flex-direction:column;min-height:0}.panelHeader{align-items:center;border-bottom:1px solid var(--line);color:#475569;display:flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;min-height:36px;padding:0 14px}.reviewPanel--collapsed .panelHeader{border-bottom:none}.reviewPanelToggle{align-items:center;background:transparent;border:none;border-radius:4px;color:#475569;cursor:pointer;display:inline-flex;height:24px;justify-content:center;margin-left:auto;padding:0;width:24px}.reviewPanelToggle:hover{background:var(--surface);color:#0f172a}.reviewList{display:grid;gap:8px;grid-auto-rows:minmax(54px,auto);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));min-height:0;overflow:auto;padding:10px 14px 14px}.reviewItem{align-items:start;background:var(--surface);border:1px solid var(--line);border-radius:8px;color:#334155;display:grid;gap:8px;grid-template-columns:24px minmax(0,1fr);min-height:54px;overflow:hidden;padding:8px 9px;text-align:left;transition:border-color .15s ease}.reviewItem:hover{border-color:var(--line-strong)}.reviewItem.selected{border-color:#7c3aed;box-shadow:inset 3px 0 #7c3aed}.reviewItem.hasIssue{background:#fff7ed}.reviewItem.documentReview{border-color:#cbd5e1;grid-column:1 / -1;grid-template-columns:38px minmax(0,1fr)}.reviewItem span{align-items:center;background:#eef2f7;border-radius:5px;color:#475569;display:inline-flex;font-size:11px;font-weight:600;height:22px;justify-content:center;padding:0 5px}.reviewItem p{display:-webkit-box;font-size:12px;line-height:1.4;margin:0;max-height:2.8em;overflow:hidden;text-overflow:ellipsis;overflow-wrap:anywhere;-webkit-box-orient:vertical;-webkit-line-clamp:2}.reviewItem p strong{color:#1f2937;font-weight:600}.inspector{border-left:1px solid var(--line);display:flex;flex-direction:column;min-width:0;position:relative}.inspector--readonly .inspectorBody,.inspector--readonly .jsonPanel{background:#f8fafc}.inspectorSource{align-items:center;background:var(--surface-muted);border-bottom:1px solid var(--line);color:#475569;display:flex;flex-wrap:wrap;font-size:12px;gap:8px;min-height:28px;padding:6px 14px}.inspectorSource--secondary{background:var(--accent-soft);color:var(--accent)}.inspectorSourceDoc{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inspectorSourceWs{background:#0f766e2e;border-radius:999px;font-size:11px;padding:1px 7px;white-space:nowrap}.inspectorSourceBadge{background:#0f172a14;border-radius:999px;color:#475569;font-size:10px;font-weight:600;letter-spacing:.04em;margin-left:auto;padding:1px 7px;text-transform:uppercase}.inspectorEditFence{border:0;display:contents;margin:0;min-width:0;padding:0}.inspectorResizeHandle{bottom:0;cursor:col-resize;left:-5px;position:absolute;top:0;width:10px;z-index:20}.inspectorResizeHandle:before{background:transparent;content:"";display:block;height:100%;margin-left:4px;width:2px}.inspectorResizeHandle:hover:before,.resizingInspector .inspectorResizeHandle:before{background:#0f766e}.resizingInspector{cursor:col-resize;-webkit-user-select:none;user-select:none}.saveBar{border-bottom:1px solid var(--line);min-height:50px;padding:9px 10px}.discardButton{color:#b91c1c;font-size:12px;font-weight:600;padding:0 10px}.discardButton:hover:not(:disabled){background:#fef2f2;border-color:#fecaca}.saveButton{background:var(--accent);border-color:var(--accent);color:#fff;flex:1;font-weight:600;padding:0 12px}.saveButton:hover:not(:disabled){background:#0d6660;border-color:#0d6660}.tabs{border-bottom:1px solid var(--line);padding:8px 10px}.tabs button{flex:1}.inspectorBody,.jsonPanel{flex:1;min-height:0;overflow:auto;padding:12px}.selectedHeader{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:9px;display:flex;gap:10px;justify-content:space-between;margin-bottom:12px;padding:10px 12px}.selectedHeader h3{font-size:12px;font-weight:600;line-height:1.3;overflow-wrap:anywhere}.selectedHeaderActions{align-items:center;display:flex;flex-shrink:0;gap:6px}.elementVisibilityToggle{align-items:center;background:transparent;border:1px solid transparent;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;height:26px;justify-content:center;padding:0;width:26px;transition:border-color .15s ease,color .15s ease,background .15s ease}.elementVisibilityToggle:hover:not(:disabled){background:var(--surface);border-color:var(--line-strong);color:#1f2937}.elementVisibilityToggle:disabled{cursor:not-allowed;opacity:.5}.hiddenElementsChip{align-items:center;background:var(--accent-soft);border:1px solid color-mix(in srgb,var(--accent) 35%,transparent);border-radius:999px;color:#0f3a36;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:6px;margin-bottom:12px;padding:5px 11px;transition:background .15s ease,border-color .15s ease}.hiddenElementsChip:hover:not(:disabled){background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent) 30%);border-color:var(--accent)}.field{display:flex;flex-direction:column;gap:5px;margin-bottom:10px}.field span,.sectionLabel{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.field input,.field textarea,.field select,.jsonPanel textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:#1f2937;min-width:0;padding:8px 10px;transition:border-color .15s ease}.field input:focus,.field textarea:focus,.field select:focus,.jsonPanel textarea:focus{border-color:var(--accent);outline:none}.field textarea{line-height:1.35;resize:vertical}.fieldGrid{display:grid;gap:8px}.fieldGrid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.fieldGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.refersToField{align-items:center;background:var(--surface-muted);border:1px solid var(--line);border-radius:8px;display:flex;flex-wrap:wrap;gap:8px;padding:8px 10px}.refersToLabel{color:#64748b;font-size:10px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.refersToLink{background:var(--accent-soft);border:0;border-radius:6px;color:#0f3a36;cursor:pointer;display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;padding:4px 8px;text-align:left;text-decoration:none;word-break:break-all}.refersToLink:hover{background:color-mix(in srgb,var(--accent-soft) 70%,var(--accent) 30%)}.refersToDangling{background:#fee2e2;border-radius:6px;color:#991b1b;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:11px;font-weight:600;padding:4px 8px;word-break:break-all}.sectionLabel{margin:14px 0 8px}.sectionHeaderRow{align-items:center;display:flex;gap:10px;justify-content:space-between;margin:14px 0 8px}.sectionHeaderRow .sectionLabel{margin:0}.textNavButtons{display:flex;gap:6px}.textNavButtons button{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:7px;color:#475569;display:inline-flex;font-size:11px;font-weight:600;gap:4px;min-height:26px;padding:0 8px}.textNavButtons button:hover:not(:disabled){border-color:var(--line-strong)}.emptyInspector,.emptyCrop{align-items:center;border:1px dashed var(--line-strong);border-radius:9px;color:#94a3b8;display:flex;font-size:12px;justify-content:center;min-height:130px}.cropPreview{align-items:center;background:#eef2f7;border:1px solid #d8e0ea;border-radius:10px;display:flex;justify-content:center;overflow:hidden;position:relative;width:100%;min-height:120px;max-height:230px}.cropPreviewCanvas{display:block;max-width:100%;max-height:230px}.transcriptBox,.transcriptEditor{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:#1f2937;line-height:1.45;min-height:74px;padding:10px;white-space:pre-wrap;transition:border-color .15s ease}.transcriptEditor:focus{border-color:var(--accent);outline:none}.transcriptEditor{font:inherit;min-height:126px;resize:vertical;width:100%}.transcriptEditorWrap{position:relative}.transcriptEditorWrap .transcriptEditor{padding-right:38px}.transcriptCopyButton{align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;height:24px;justify-content:center;padding:0;position:absolute;right:6px;top:6px;width:24px;transition:border-color .15s ease,color .15s ease}.transcriptCopyButton:hover:not(:disabled){border-color:var(--line-strong);color:#1f2937}.transcriptCopyButton:disabled{cursor:not-allowed;opacity:.4}.pageTranscript{display:flex;flex-direction:column;gap:8px}.pageTranscriptRow{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:grid;gap:8px;grid-template-columns:26px minmax(0,1fr);line-height:1.4;padding:8px 9px;transition:border-color .15s ease}.pageTranscriptRow:hover{border-color:var(--line-strong)}.pageTranscriptRow.selected{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent)}.pageTranscriptIndex{align-items:stretch;display:flex;flex-direction:column;gap:5px}.pageTranscriptIndex>span{align-items:center;background:#eef2f7;border-radius:5px;color:#475569;display:inline-flex;font-size:11px;font-weight:600;height:22px;justify-content:center}.pageTranscriptRowCopy{align-items:center;background:transparent;border:1px solid var(--line);border-radius:5px;color:#475569;cursor:pointer;display:inline-flex;height:22px;justify-content:center;padding:0;transition:border-color .15s ease,color .15s ease}.pageTranscriptRowCopy:hover:not(:disabled){border-color:var(--line-strong);color:#1f2937}.pageTranscriptRowCopy:disabled{cursor:not-allowed;opacity:.4}.pageTranscriptText{background:transparent;border:none;color:#334155;cursor:pointer;font:inherit;line-height:inherit;padding:0;text-align:left;white-space:pre-wrap}.pageTranscriptText:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.jsonPanel{display:flex;flex-direction:column;gap:10px}.jsonActions{flex:0 0 auto}.jsonActions span{color:#94a3b8;font-size:11px;font-weight:500;margin-left:auto}.jsonPanel textarea{flex:1;font-family:SFMono-Regular,Consolas,Liberation Mono,monospace;font-size:12px;line-height:1.45;resize:none;white-space:pre}.validationBox{border-top:1px solid var(--line);flex:0 0 auto;padding:12px}.validationBox.compact{padding:10px 12px}.validationTitle{align-items:center;display:flex;gap:8px}.validationTitle svg{color:#0f766e}.validationBox:not(.compact) .validationTitle svg{color:#d97706}.validationBox p{color:#475569;font-size:12px;line-height:1.35;margin:7px 0}.validationList{display:flex;flex-direction:column;gap:5px;max-height:120px;overflow:auto}.validationList span{border-radius:6px;font-size:11px;line-height:1.3;padding:6px}.validationList .error{background:#fee2e2;color:#991b1b}.validationList .warn{background:#fef3c7;color:#92400e}.validationList .info{background:#e2e8f0;color:#475569}.sidebarFooter{align-items:center;border-top:1px solid var(--border);display:flex;gap:var(--space-sm);justify-content:space-between;padding:var(--space-sm) var(--space-md)}.languageTabs{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);display:inline-flex;overflow:hidden;padding:2px}.languageTab{background:transparent;border:0;border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;font-family:var(--font-ui);font-size:11px;font-weight:700;letter-spacing:.06em;min-height:22px;padding:0 var(--space-sm);text-transform:uppercase;transition:background .15s ease,color .15s ease}.languageTab:hover:not(.active){color:var(--body)}.languageTab.active{background:var(--hidden-black);color:var(--on-dark)}.bugReportButton{align-items:center;background:transparent;border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:var(--space-xs);min-height:28px;padding:0 var(--space-sm);transition:border-color .15s ease,color .15s ease,background .15s ease}.bugReportButton:hover{background:var(--surface);border-color:var(--border-strong);color:var(--body)}.modalBackdrop{align-items:center;background:#0f172a73;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;padding:24px;position:fixed;z-index:10000}.modal{background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 20px 60px #0f172a40;display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-width:540px;overflow:hidden;width:100%}.modalHeader{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:14px 18px}.modalHeader h3{align-items:center;color:#1e293b;display:flex;font-size:15px;gap:8px;margin:0}.modalClose{align-items:center;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;height:28px;justify-content:center;width:28px}.modalClose:hover{background:var(--surface-muted);color:#1e293b}.modalBody{display:flex;flex-direction:column;gap:14px;overflow-y:auto;padding:18px}.modalField{display:flex;flex-direction:column;gap:6px}.modalField span{color:#475569;font-size:12px;font-weight:600}.modalField input,.modalField textarea{background:var(--surface);border:1px solid var(--line);border-radius:8px;color:#1e293b;font-family:inherit;font-size:13px;padding:8px 10px;resize:vertical}.modalField input:focus,.modalField textarea:focus{border-color:var(--accent);outline:none}.modalHint{color:#64748b;font-size:12px;line-height:1.5;margin:0}.modalHint code{background:var(--surface-muted);border-radius:4px;font-size:11px;padding:1px 5px}.modalError{color:#b91c1c;font-size:12px;margin:0}.dropOverlay{align-items:center;background:#0f172a8c;display:flex;top:0;right:0;bottom:0;left:0;justify-content:center;pointer-events:none;position:fixed;z-index:11000}.dropOverlayCard{align-items:center;background:var(--surface);border:2px dashed var(--accent);border-radius:14px;box-shadow:0 18px 48px #0f172a59;color:#1e293b;display:flex;flex-direction:column;font-size:15px;font-weight:600;gap:12px;padding:28px 40px;text-align:center}.dropOverlayCard small{color:#64748b;font-size:12px;font-weight:500}.modalFooter{border-top:1px solid var(--line);display:flex;gap:8px;justify-content:flex-end;padding:12px 18px}.bugReportResult{color:#1e293b;font-size:13px;line-height:1.6}.bugReportResult p{margin:0 0 6px}.bugReportResult code{background:var(--surface-muted);border-radius:4px;font-size:11px;padding:1px 5px;word-break:break-all}.commentResolved{align-items:center;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px}.commentResolved input{cursor:pointer;height:16px;width:16px}.refersComments{border-top:1px solid var(--line);display:flex;flex-direction:column;gap:8px;margin-top:6px;padding-top:12px}.refersComment{background:var(--surface);border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:8px}.refersComment.resolved{opacity:.6}.refersComment.active{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-soft)}.refersComment.isReply{background:color-mix(in srgb,var(--surface) 80%,var(--surface-muted))}.refersCommentFooter{align-items:center;display:flex;gap:8px;justify-content:space-between}.refersCommentReply{align-items:center;background:transparent;border:1px solid var(--line);border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:11px;font-weight:600;gap:4px;height:24px;padding:0 8px;transition:border-color .15s ease,color .15s ease,background .15s ease}.refersCommentReply:hover:not(:disabled){background:var(--accent-soft);border-color:var(--accent);color:#0f3a36}.refersCommentReply:disabled{cursor:default;opacity:.5}.refersCommentReplies{border-left:2px solid var(--line);display:flex;flex-direction:column;gap:6px;margin-left:4px;margin-top:2px;padding-left:10px}.refersCommentHeader{align-items:center;cursor:pointer;display:flex;gap:8px;justify-content:space-between}.refersComment.active .refersCommentHeader{cursor:default}.refersCommentAuthor{color:#64748b;font-size:11px;font-weight:600}.refersCommentDelete{align-items:center;background:transparent;border:0;border-radius:4px;color:#94a3b8;display:inline-flex;height:22px;justify-content:center;padding:0;width:22px}.refersCommentDelete:hover{background:#fee2e2;color:#b91c1c}.refersCommentText{background:var(--surface);border:1px solid var(--line);border-radius:6px;color:#1f2937;font-size:12px;min-height:56px;padding:6px 8px;resize:vertical;width:100%}.refersCommentText:focus{border-color:var(--accent);outline:none}.refersCommentsAdd{align-items:center;background:var(--surface);border:1px dashed var(--line-strong);border-radius:8px;color:#475569;display:inline-flex;font-size:12px;font-weight:600;gap:6px;justify-content:center;min-height:32px;padding:0 10px;transition:border-color .15s ease,color .15s ease,background .15s ease}.refersCommentsAdd:hover{background:var(--accent-soft);border-color:var(--accent);color:#0f3a36}@media(max-width:1180px){.appShell{grid-template-columns:var(--sidebar-width, 250px) minmax(320px,1fr) var(--inspector-width, 360px)}}@media(max-width:980px){.appShell{grid-template-columns:238px minmax(0,1fr);grid-template-rows:minmax(0,1fr) 350px}.sidebar{grid-row:1 / 3}.workspace{grid-column:2;grid-row:1;min-height:0}.inspector{border-left:0;border-top:1px solid #cbd5e1;grid-column:2;grid-row:2}.inspectorResizeHandle{display:none}.topbar{align-items:flex-start;flex-direction:column;gap:10px}.toolbar{justify-content:flex-start}.viewerControls{align-items:flex-start;flex-direction:column}.reviewList{grid-template-columns:1fr}}.userBar{align-items:center;border-bottom:1px solid var(--border);color:var(--muted);display:flex;gap:var(--space-xs);padding:var(--space-sm) var(--space-md)}.userSelect{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--body);cursor:pointer;flex:1;font-size:12px;font-weight:600;min-height:26px;padding:0 var(--space-sm)}.userSelect:hover{border-color:var(--border-strong)}.userSelect:focus{border-color:var(--hidden-black);outline:none}.userBarSettings{align-items:center;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--muted);cursor:pointer;display:inline-flex;height:26px;justify-content:center;width:26px}.userBarSettings:hover{background:var(--surface-soft);border-color:var(--border-strong);color:var(--body)}.settingsModal{max-width:640px}.userList{border:1px solid var(--line);border-radius:8px;display:flex;flex-direction:column}.userListEmpty{color:#64748b;font-size:12px;padding:12px;text-align:center}.userRow{align-items:center;border-bottom:1px solid var(--line);display:grid;font-size:13px;gap:10px;grid-template-columns:1fr auto auto auto auto;padding:8px 12px}.userRow:last-child{border-bottom:none}.userRow.editing{background:var(--surface-muted);grid-template-columns:1fr auto auto auto}.userRow.editing input{background:var(--surface);border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:13px;min-height:28px;padding:4px 8px}.userRow.editing select{background:var(--surface);border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:12px;min-height:28px;padding:0 6px}.userRowName{color:#1e293b;font-weight:600}.userRowRole{color:#475569;font-size:12px}.userRowId{color:#94a3b8;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.userAddRow{align-items:center;display:grid;gap:8px;grid-template-columns:auto 1fr auto auto}.autosaveRow{align-items:center;display:grid;gap:10px;grid-template-columns:1fr 96px auto;padding:8px 0}.autosaveLabel{display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:2px;min-width:0}.autosaveLabel small{color:#64748b;font-size:11px;font-weight:400}.autosaveRow input{background:var(--surface);border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;min-height:32px;padding:4px 10px;text-align:right}.autosaveRow input:focus{border-color:var(--accent);outline:none}.autosaveUnit{color:#64748b;font-size:12px}.userAddRow input{background:var(--surface);border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:13px;min-height:32px;padding:4px 10px}.userAddRow input:focus{border-color:var(--accent);outline:none}.userAddRow select{background:var(--surface);border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:12px;min-height:32px;padding:0 8px}.userAddRow .saveButton{padding:0 12px}.ghostButton{align-items:center;background:transparent;border:1px solid var(--line);border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:4px;min-height:28px;padding:0 10px}.ghostButton:hover:not(:disabled){background:var(--surface-muted);border-color:var(--line-strong);color:#1e293b}.ghostButton.danger{color:#b91c1c;min-width:28px;padding:0 8px}.ghostButton.danger:hover:not(:disabled){background:#fee2e2;border-color:#fca5a5}.rescanMenuWrap{position:relative;display:inline-flex;align-items:center;gap:6px;z-index:90}.rescanMenu{background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:0 12px 32px #0f172a2e;list-style:none;margin:4px 0 0;min-width:240px;padding:6px;position:absolute;right:0;top:100%;z-index:9000}.rescanProgress{background:var(--surface-soft);border:1px solid var(--line);border-radius:var(--radius-pill, 12px);color:var(--body);font-size:12px;font-weight:500;max-width:260px;overflow:hidden;padding:2px 10px;text-overflow:ellipsis;white-space:nowrap}.rescanMenu li{display:block}.rescanMenu button{background:transparent;border:none;border-radius:6px;color:var(--body);cursor:pointer;display:block;font-size:13px;padding:8px 10px;text-align:left;width:100%}.rescanMenu button:hover:not(:disabled){background:var(--surface-soft)}.rescanMenu button:disabled{color:#94a3b8;cursor:not-allowed}.rescanMenuSep{background:var(--line);height:1px;margin:4px 6px}.rescanBackupsModal{max-width:560px}.rescanBackupsState{align-items:center;color:#64748b;display:flex;font-size:13px;gap:8px;margin:0}.rescanBackupsError{color:#b91c1c;font-size:13px;margin:0}.rescanBackupsList{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.rescanBackupsItem{align-items:center;background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;display:flex;gap:12px;justify-content:space-between;padding:10px 12px}.rescanBackupsMeta{display:flex;flex-direction:column;gap:2px;min-width:0}.rescanBackupsWhen{color:#1e293b;font-size:13px;font-weight:600}.rescanBackupsSize{color:#64748b;font-size:11px}
