:root{--text:#344052;--text-strong:#151922;--muted:#697386;--bg:#f8f8f8;--bg-deep:#17191f;--panel:#fff;--panel-soft:#fff;--panel-tint:#fff;--border:#ded7cc;--border-strong:#b8afa1;--accent:#f4001f;--accent-strong:#f4001f;--accent-blue:#1e5a96;--accent-green:#008236;--primary:#008236;--primary-focus:#00823629;--accent-amber:#b56a0d;--danger:#f4001f;--danger-bg:#f4001f14;--danger-border:#f4001f47;--danger-text:#f4001f;--workspace-sidebar-width:clamp(260px, 24vw, 320px);--workspace-sidebar-collapsed-width:44px;--tag-bg:#eaf1f8;--tag-text:#1d4f82;--draft-bg:#fff2d9;--draft-text:#8a4c04;--fixed-bg:#0082361a;--fixed-text:#008236;--app-header-height:42px;--project-phase-header-height:70px;--page-gutter:clamp(16px, 2.2vw, 28px);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:var(--text);font-synthesis:none;text-rendering:optimizelegibility;scrollbar-gutter:stable;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f8f8f8;font:14px/1.55 GenInterfaceJP,sans-serif}#root{min-height:100svh}body{font:inherit;background:#f8f8f8;margin:0}*{box-sizing:border-box}h1{color:var(--text-strong);font-size:clamp(28px,4vw,42px);font-weight:inherit;letter-spacing:0;margin:0;line-height:1.08}h2{color:var(--text-strong);font-size:18px;font-weight:inherit;letter-spacing:0;margin:0}h3,h4{color:var(--text-strong);font-weight:inherit}th,dt{font-weight:inherit}p{margin:0}a{color:inherit}.app-shell{min-height:100svh;padding:0}.app-header{z-index:10;height:var(--app-header-height);border-bottom:1px solid var(--border);padding:0 var(--page-gutter);background:#fff;justify-content:space-between;align-items:center;gap:14px;display:flex;position:sticky;top:0}.header-main{flex:auto;align-items:center;gap:24px;min-width:0;display:flex}.brand-row{min-height:28px;color:var(--text-strong);cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;padding:0;display:flex}.brand-row:hover,.brand-row:focus-visible{color:var(--text-strong);background:0 0}.brand-row:focus-visible{outline:1px solid var(--border-strong);outline-offset:3px}.brand-icon{flex:none;width:22px;height:22px}.brand-name{color:var(--text-strong);font-size:15px;line-height:1.1}.eyebrow{color:var(--muted);margin:0;font-size:12px}.project-meta-strip{color:var(--muted);flex-wrap:wrap;gap:8px;max-width:360px;font-size:12px;display:flex}.header-actions{flex:none;justify-content:flex-end;align-items:center;gap:8px;display:flex}.user-menu{display:inline-flex;position:relative}.menu-trigger{width:34px;color:var(--text-strong);background:0 0;border:0;padding:6px}.hamburger-lines{gap:4px;width:16px;display:grid}.hamburger-lines span{background:currentColor;height:2px;display:block}.user-menu-panel{z-index:20;border:1px solid var(--border);background:#fff;border-radius:14px;gap:4px;width:248px;padding:10px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.user-menu-item{width:100%;min-height:42px;color:var(--text-strong);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;gap:10px;padding:9px 10px}.user-menu-item:hover:not(:disabled),.user-menu-item:focus-visible{background:#f8f8f8;outline:0}.user-menu-item svg{color:var(--muted);flex:none}.user-menu-separator{background:var(--border);height:1px;margin:6px 4px}.header-pill{border:1px solid var(--border);background:var(--panel-soft);max-width:260px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;padding:4px 9px;font-size:12px;overflow:hidden}.project-meta-strip span{border:1px solid var(--border);background:var(--panel-soft);padding:4px 9px}.auth-shell{background:var(--panel-soft);place-items:center;padding:24px;display:grid}.auth-dialog{width:min(380px,100%)}.auth-dialog h1{color:var(--text-strong);margin:0;font-size:24px}.auth-submit-button{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff}.auth-submit-button:hover:not(:disabled),.auth-submit-button:focus-visible:not(:disabled){background:#174b7d;border-color:#174b7d}.auth-submit-button:focus-visible{outline-color:#1e5a9638}.auth-submit-button:disabled{border-color:var(--accent-blue);background:var(--accent-blue);color:#fff;opacity:.44}.totp-setup-panel{gap:14px;display:grid}.totp-qr-code{border:1px solid var(--border);background:#fff;justify-self:center;width:164px;height:164px;padding:8px}.issue-bulk-import{gap:16px;display:grid}.issue-bulk-import-section{border:1px solid var(--border);background:#fff;gap:12px;padding:16px;display:grid}.issue-bulk-import-section h3,.issue-bulk-import-section p,.issue-bulk-selected-file{margin:0}.issue-bulk-import-section h3{color:var(--text-strong);font-size:16px}.issue-bulk-import-section p,.issue-bulk-selected-file{color:var(--muted);font-size:13px}.issue-bulk-template-link,.issue-bulk-upload-control{width:fit-content}.issue-bulk-import-section svg,.issue-bulk-upload-control svg{width:16px;height:16px}.issue-bulk-upload-control{border:1px solid var(--border);min-height:36px;color:var(--text-strong);cursor:pointer;background:#fff;align-items:center;gap:8px;padding:0 12px;display:inline-flex}.issue-bulk-upload-control:hover,.issue-bulk-upload-control:focus-within{border-color:var(--border-strong)}.issue-bulk-upload-control input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.section,.panel{background:#fff}.section{max-width:1440px;margin:22px auto;padding:22px}.panel{min-width:0;padding:18px}.panel-wide{min-width:0}.section-heading,.panel-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:18px;display:flex}.section-heading p,.panel-heading p{color:var(--muted);margin-top:5px}.project-list-section{overflow:hidden}.project-workspace{min-height:calc(100svh - var(--app-header-height));background:var(--bg);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:visible}.project-settings-page{width:100%;min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));padding:24px var(--page-gutter) 32px;background:#fff;align-content:start;gap:16px;display:grid}.project-single-shell{width:100%;min-height:calc(100svh - var(--app-header-height));background:#fff;grid-template-columns:minmax(0,1fr);display:grid}.project-chat-shell{min-height:calc(100svh - var(--app-header-height));background:var(--bg);grid-template-columns:minmax(0,1180px) minmax(360px,1fr);display:grid}.project-chat-shell-with-header,.project-chat-shell-with-header .project-workspace{min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height))}.project-chat-main{width:100%;min-width:0}.workspace-sidebar{top:calc(var(--app-header-height) + var(--project-phase-header-height));width:100%;height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));max-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));border-right:1px solid var(--border);background:#fff;grid-template-rows:auto minmax(0,1fr) auto;gap:8px;min-height:0;padding:10px 12px 10px 0;transition:padding .18s cubic-bezier(.2,0,0,1);display:grid;position:sticky;overflow:hidden}.workspace-sidebar-controls{gap:8px;display:grid}.workspace-sidebar-control-row{grid-template-columns:minmax(0,1fr) 34px;align-items:center;gap:6px;height:32px;display:grid}.workspace-sidebar-control-row .workspace-search{height:32px;transition:opacity .12s,visibility .12s}.workspace-sidebar-control-row .workspace-search input{height:32px;min-height:32px}.workspace-sidebar-collapse-button.secondary-button{border:1px solid var(--border);width:34px;min-width:34px;min-height:32px;color:var(--text);background:#fff;justify-content:center;align-items:center;padding:0;display:inline-flex}.workspace-sidebar-collapse-button.secondary-button:hover:not(:disabled),.workspace-sidebar-collapse-button.secondary-button:focus-visible{border-color:var(--border-strong);color:var(--text-strong);background:#fff}.workspace-sidebar-collapse-button svg{width:17px;height:17px}.workspace-sidebar-scroll{overscroll-behavior:contain;scrollbar-gutter:stable;align-content:start;gap:2px;min-height:0;padding-right:2px;transition:opacity .12s,visibility .12s;display:grid;overflow-y:auto}.workspace-sidebar-footer{border-top:1px solid var(--border);background:#fff;gap:8px;padding-top:8px;transition:opacity .12s,visibility .12s;display:grid}.outline-layout,.source-workbench,.report-layout{transition:grid-template-columns .18s cubic-bezier(.2,0,0,1)}@media (prefers-reduced-motion:reduce){.outline-layout,.source-workbench,.report-layout,.workspace-sidebar,.workspace-sidebar-control-row .workspace-search,.workspace-sidebar-scroll,.workspace-sidebar-footer{transition:none}}.workspace-sidebar-collapsed{grid-template-rows:auto 0 0;gap:0;padding-right:8px}.workspace-sidebar-collapsed .workspace-sidebar-control-row{grid-template-columns:34px;justify-content:center;align-items:start;position:relative}.workspace-sidebar-collapsed .workspace-sidebar-collapse-button{grid-area:1/1}.workspace-sidebar-collapsed .workspace-search{width:0;position:absolute;top:0;left:0;overflow:hidden}.workspace-sidebar-collapsed .workspace-search,.workspace-sidebar-collapsed .workspace-sidebar-scroll,.workspace-sidebar-collapsed .workspace-sidebar-footer{visibility:hidden;opacity:0;pointer-events:none}.workspace-sidebar-collapsed .workspace-sidebar-scroll,.workspace-sidebar-collapsed .workspace-sidebar-footer{border:0;padding:0;overflow:hidden}.project-phase-header{top:var(--app-header-height);z-index:8;min-height:var(--project-phase-header-height);border-bottom:1px solid var(--border);padding:10px var(--page-gutter) 0;background:#fff;gap:8px;display:grid;position:sticky}.project-phase-context{align-items:baseline;min-width:0;display:flex}.project-phase-name{min-width:0;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;font-size:18px;line-height:1.15;overflow:hidden}.phase-bar{align-items:center;gap:4px;min-height:30px;padding:0;display:flex;overflow-x:auto}.phase-bar button{min-height:28px;color:var(--muted);box-shadow:none;white-space:nowrap;background:0 0;border:0;border-radius:0;outline:0;gap:9px;padding:3px 10px 7px;font-size:12px;position:relative}.phase-bar button:first-child{padding-left:0}.phase-bar button:hover:not(:disabled),.phase-bar button:focus-visible{color:var(--text-strong);background:0 0;outline:0}.phase-bar .phase-active{color:var(--text-strong);background:0 0}.phase-bar .phase-active:after,.phase-bar button:focus-visible:after{background:var(--text-strong);content:"";height:2px;position:absolute;bottom:0;left:8px;right:8px}.phase-bar button:first-child:after{left:0}.phase-skeleton-item{align-items:center;gap:9px;min-height:28px;padding:3px 10px 7px;display:inline-flex;position:relative}.phase-skeleton-item:first-child{padding-left:0}.phase-skeleton-active:after{content:"";background:#d2d8df;height:2px;position:absolute;bottom:0;left:0;right:8px}.route-skeleton{background:#eceff3;animation:1.2s ease-in-out infinite route-skeleton-pulse;display:block}.route-skeleton-project-name{width:112px;height:18px}.route-skeleton-page{min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));grid-template-columns:1fr}.route-skeleton-phase-label{width:96px;height:12px}.route-skeleton-tree-title{width:104px;height:16px}.route-skeleton-count{width:44px;height:13px}.route-skeleton-input{width:100%;height:38px}.route-skeleton-tree-node{width:100%;height:34px}.route-skeleton-group-title{width:172px;height:18px}.route-skeleton-table{border:1px solid var(--border);background:#fff;margin-top:12px;display:grid}.route-skeleton-table-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:48px;padding:0 12px;display:grid}.route-skeleton-table-row:last-child{border-bottom:0}.route-skeleton-line{width:min(420px,82%);height:14px}@keyframes route-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}.phase-split-page{min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));grid-template-columns:minmax(0,3fr) minmax(320px,2fr);display:grid;overflow:visible}.outline-phase{grid-template-columns:1fr}.phase-main-pane,.phase-side-pane{min-width:0;overflow:visible}.phase-main-pane{border-right:1px solid var(--border);background:var(--bg);padding:16px}.outline-phase .phase-main-pane,.route-skeleton-page .phase-main-pane{border-right:0}.outline-phase .phase-main-pane{background:0 0;padding:0}.phase-side-pane{background:#fff;display:grid}.phase-pane-heading{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:flex-start;gap:16px;margin:-16px -16px 16px;padding:14px 16px;display:flex}.phase-pane-heading h2,.phase-pane-heading p{margin:0}.phase-pane-heading p{color:var(--muted);margin-top:3px}.user-name-field,.dialog label,.issue-form label{color:var(--muted);gap:6px;font-size:12px;display:grid}.user-name-field{width:190px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}input,textarea,select{border:1px solid var(--border);min-width:0;color:var(--text-strong);font:inherit;background:#fff;padding:9px 10px}.user-name-field input{background:0 0;border:0;padding:0}textarea{resize:vertical}input:focus,textarea:focus,select:focus{border-color:#f4001f8f;outline:3px solid #f4001f1f}button,.download-link,.file-button{border:1px solid var(--primary);min-height:36px;color:var(--primary);cursor:pointer;font:inherit;background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:8px 13px;font-size:13px;text-decoration:none;transition:background .15s,border-color .15s,transform .15s;display:inline-flex}button:hover:not(:disabled),.download-link:hover,.file-button:hover{background:#fbfbfb;transform:none}button:focus-visible,.download-link:focus-visible,.file-button:focus-visible{outline:3px solid var(--primary-focus);outline-offset:2px}button:disabled{border-color:var(--border);color:var(--muted);cursor:not-allowed;opacity:1;background:#f8f8f8}.primary-button:disabled:not(.auth-submit-button){color:#008236b8;background:#0082360f;border-color:#00823647}.header-actions button{white-space:nowrap;min-height:34px}.secondary-button{color:var(--text-strong);background:0 0;border-color:#0000}.secondary-button:hover:not(:disabled){background:#f8f8f8}.secondary-button:focus-visible{background:#f1f1f1;outline:0}.danger-button{border-color:var(--danger);color:var(--danger-text);background:#fff}.danger-button:hover:not(:disabled){background:#fbfbfb}.danger-button:focus-visible{outline-offset:2px;outline:3px solid #f4001f29}.link-button{max-width:100%;min-height:auto;color:var(--accent-blue);overflow-wrap:anywhere;text-align:left;background:0 0;border:0;padding:0}.link-button:hover:not(:disabled){color:var(--accent-strong);background:0 0;transform:none}.button-row,.tabs{flex-wrap:wrap;gap:9px;display:flex}.ui-button-full{width:100%}.subtle-label{color:var(--muted);font-size:12px}.required-marker{color:#f4001f;vertical-align:super;margin-left:3px;font-size:11px}table{border-collapse:collapse;background:#fff;width:100%}th,td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:11px 9px}th{color:var(--muted);text-transform:uppercase;font-size:11px}tbody tr{transition:background .12s}tbody tr:hover{background:var(--panel-soft)}.status,.tag{background:var(--tag-bg);width:fit-content;color:var(--tag-text);align-items:center;padding:4px 8px;font-size:11px;display:inline-flex}.tag-empty{color:#4b5563;background:#eef0f2}.tag-tentative,.tag-source-pending{background:var(--draft-bg);color:var(--draft-text)}.tag-confirmed,.tag-source-ready,.tag-ai-completed,.tag-job-completed{background:var(--fixed-bg);color:var(--fixed-text)}.tag-source-failed,.tag-ai-failed,.tag-job-failed{color:var(--danger-text);background:#f4001f1a}.tag-ai-pending,.tag-ai-running,.tag-job-running{color:var(--accent-blue);background:#e8f1fb}.tag-theme{color:#008236;background:#00823614}.tag-list{flex-wrap:wrap;gap:6px;margin-top:6px;display:flex}.status-stack{flex-wrap:wrap;gap:6px;display:flex}.progress-track{background:#1519221a;height:9px;overflow:hidden}.progress-fill{background:var(--accent);height:100%;transition:width .18s}.form-error-inline{color:var(--danger-text);font-size:12px}.bulk-failure-list,.report-issue-list,.report-source-list,.chat-citation-list{gap:7px;margin:0;padding-left:18px;display:grid}.bulk-failure-list li{color:var(--danger-text)}.bulk-failure-list span{color:var(--muted);margin-top:2px;font-size:12px;display:block}.table-actions button{min-height:30px;padding:5px 9px}.compact-button{width:100%;min-height:32px;padding:6px 10px}.workspace-search{color:var(--muted);gap:6px;font-size:11px;display:grid}.workspace-search input,.workspace-search select{min-height:34px;font-size:13px}.inline-check{color:var(--text-strong);white-space:nowrap;align-items:center;gap:8px;font-size:13px;display:inline-flex}.inline-check input{width:16px;min-width:16px;height:16px;padding:0}.muted-block{color:var(--muted);margin-top:2px;font-size:12px;display:block}.muted-inline{color:var(--muted);font-size:12px}.classification,.empty-text{color:var(--muted)}.evidence-caveat{color:#7a4a00;background:#fff8e6;border:1px solid #b8630047;margin:0;padding:10px 12px;font-size:13px}.ai-safety-notice{color:#7a4a00;background:#fff8e6;border:1px solid #b8630047;margin:0;padding:9px 11px;font-size:12px;line-height:1.55}.report-answer-body .evidence-caveat{color:#7a4a00;background:#fff8e6;border-color:#b8630047}.tabs{border-bottom:1px solid var(--border);margin-bottom:18px;padding-bottom:12px}.tabs button{padding:7px 12px}.tab-active{border-color:var(--primary);color:var(--primary);background:#fff}.markdown-body{border:1px solid var(--border);background:var(--panel-soft);white-space:pre-wrap;margin:0;padding:12px}.answer-summary{flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:8px;display:flex}.citation-button{text-align:left}.metadata-list div{grid-template-columns:108px 1fr}.form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.issue-body-textarea{resize:none}.notice,.empty-state{border:1px solid var(--border);background:var(--panel-soft);padding:16px}.notice{max-width:1440px;margin:0 auto 16px}.notice-error,.form-error{border-color:var(--danger-border);background:var(--danger-bg);color:var(--danger-text)}.notice-success{color:var(--accent-green);background:#00823614;border-color:#00823647}.empty-state h3{color:var(--text-strong);margin:0 0 4px;font-size:16px}.dialog-backdrop{z-index:30;background:#17191f6b;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{border:1px solid var(--border);background:#fff;border-radius:8px;gap:16px;width:min(420px,100%);padding:20px;display:grid}.dialog-wide{width:min(860px,100vw - 40px)}.dialog-actions{justify-content:flex-end;gap:10px;display:flex}.dialog-square{grid-template-rows:auto minmax(0,1fr) auto;gap:24px;width:min(460px,100vw - 40px);min-height:min(320px,100svh - 40px);padding:28px}.dialog-square .dialog-actions{justify-content:space-between;align-self:end}.create-project-dialog-body{align-self:center;gap:12px;display:grid}.form-error{border:1px solid var(--danger-border);margin:0;padding:10px}.project-list-section{width:calc(100% - (var(--page-gutter) * 2));background:0 0;max-width:1440px;margin:22px auto;padding:0;overflow:visible}.project-list-hero{background:0 0;align-items:center;min-height:40px;margin:0 0 14px;padding:0}.project-list-hero h2{font-size:28px;line-height:1.15}.project-list-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.project-list-filter{width:min(420px,100%);min-width:240px;margin-left:auto;position:relative}.project-list-filter svg{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.project-list-filter input{padding-left:42px}.project-list-table-wrap{border:1px solid var(--border);background:#fff;border-radius:6px;padding-bottom:0;overflow:auto}.project-list-table{table-layout:fixed;min-width:840px}.project-list-table th,.project-list-table td{border-right:1px solid var(--border);vertical-align:middle;white-space:nowrap;height:40px;padding:7px 9px}.project-list-table tfoot td{height:48px;padding:0}.project-list-table th:last-child,.project-list-table td:last-child{border-right:0}.project-list-table th{color:var(--text);text-transform:none;background:#fff;font-size:12px}.project-list-table th:first-child,.project-list-table td:first-child{width:34%}.project-list-table th:nth-child(2),.project-list-table td:nth-child(2){width:120px}.project-list-table th:nth-child(3),.project-list-table td:nth-child(3),.project-list-table th:nth-child(4),.project-list-table td:nth-child(4){width:180px}.project-list-table th:nth-child(5),.project-list-table td:nth-child(5){text-align:center;width:36px;padding-left:3px;padding-right:3px}.project-list-row{cursor:pointer}.project-list-sort{width:100%;min-height:auto;color:inherit;justify-content:flex-start;align-items:center;gap:5px;padding:0;font-size:12px;display:inline-flex}.sort-indicator{color:var(--muted);font-size:11px}.project-list-name{color:var(--accent-blue);font-size:13px}.project-list-empty-row{color:var(--muted);font-size:13px}.project-list-create-row{width:100%;min-height:48px;color:var(--text);background:0 0;justify-content:flex-start;gap:8px;padding:0 14px;display:inline-flex}.project-list-create-row:hover:not(:disabled){color:var(--text-strong);background:#f8f8f8;transform:none}.project-row-menu{justify-content:flex-end;display:inline-flex;position:relative}.meatball-trigger{width:28px;min-height:28px;color:var(--text-strong);background:0 0;border:0;padding:0}.meatball-trigger:hover:not(:disabled),.project-list-name:hover:not(:disabled),.project-list-sort:hover:not(:disabled){transform:none}.project-row-menu-panel{z-index:12;min-width:112px;position:absolute;top:calc(100% + 6px);right:0}.project-row-menu-panel button{width:100%}@media (width<=720px){.project-list-section{margin-top:24px}.project-list-hero{min-height:auto;margin-bottom:22px}.project-list-hero h2{font-size:26px}.project-list-toolbar{flex-direction:column;align-items:stretch;gap:10px;margin-bottom:12px}.project-list-filter{width:100%;min-width:0;margin-left:0}}.project-list-skeleton{background:#eceff3;height:13px;animation:1.2s ease-in-out infinite project-list-skeleton-pulse;display:block}.project-list-skeleton-name{width:min(360px,72%)}.project-list-skeleton-role{width:64px}.project-list-skeleton-date{width:128px}.project-list-skeleton-action{width:22px}@keyframes project-list-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}.bulk-progress-header,.bulk-progress-footer,.dialog-title-row,.history-entry-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-settings-page .panel-heading{margin-bottom:4px}.project-settings-section{background:#fff;gap:18px;width:100%;display:grid}.project-settings-section+.project-settings-section{border-top:1px solid var(--border);padding-top:24px}.project-settings-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-settings-section-heading h2,.project-settings-section-heading p{margin:0}.project-settings-section-heading p{color:var(--muted);margin-top:4px;font-size:13px}.project-settings-form{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(180px,260px);align-items:end;gap:14px;display:grid}.project-settings-form label{color:var(--muted);gap:6px;font-size:12px;display:grid}.project-settings-form input,.project-settings-form select{background:#fff;width:100%;min-height:38px}.project-settings-form-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;gap:12px;display:flex}.project-settings-form-actions .form-error{margin:0 auto 0 0}.member-invite-dialog-body{gap:12px;display:grid}.member-invite-dialog-body label{color:var(--muted);gap:6px;font-size:12px;display:grid}.member-list-shell{border-top:1px solid var(--border);width:100%;display:grid}.member-list-header,.member-list li{grid-template-columns:minmax(320px,1fr) minmax(220px,280px) minmax(96px,120px);align-items:center;gap:24px;display:grid}.member-list-header{color:var(--muted);padding:12px 0;font-size:12px}.member-list{gap:0;margin:0;padding:0;list-style:none;display:grid}.member-list li{border-bottom:1px solid var(--border);background:#fff;padding:16px 0}.member-list li>span:first-child{overflow-wrap:anywhere;min-width:0}.member-role-select{min-width:0}.member-role-select select{border:1px solid var(--border);width:100%;min-height:38px;color:var(--text);cursor:pointer;background-color:#fff;border-radius:8px;padding:0 36px 0 12px}.member-role-select select:hover:not(:disabled),.member-role-select select:focus-visible{border-color:var(--border-strong)}.member-role-select select:focus-visible{outline-offset:1px;outline:2px solid #eef4ff}.member-role-select select:disabled{color:var(--muted);cursor:default;background-color:#f8f8f8}.member-settings-footer{justify-content:flex-start;padding-top:2px;display:flex}.outline-layout{grid-template-columns:var(--workspace-sidebar-width) minmax(0, 1fr);width:100%;min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));padding:0 0 0 var(--page-gutter);background:#fff;align-items:start;gap:0;display:grid}.outline-layout-sidebar-collapsed{grid-template-columns:var(--workspace-sidebar-collapsed-width) minmax(0, 1fr)}.outline-tree{align-content:stretch}.outline-sidebar-toggle{min-height:32px;padding:4px 0;display:none}.outline-sidebar-toggle:hover:not(:disabled),.outline-sidebar-toggle:focus-visible{color:var(--accent);background:0 0}.outline-search{background:#fff;height:36px;display:block;position:relative}.outline-search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.outline-search input{background:#fff;width:100%;height:36px;padding-left:36px}.outline-tree-node{width:100%;color:var(--text);text-align:left;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:7px;padding:8px 0;font-size:13px;text-decoration:none;display:flex}.outline-tree-node:hover,.outline-tree-node:focus-visible{background:var(--panel-soft);color:var(--accent)}.outline-toggle-icon{color:var(--muted);flex:0 0 16px;order:2;justify-content:center;align-items:center;font-size:12px;line-height:1;display:inline-flex}.outline-tree-label{order:1;min-width:0}.outline-tree-subgroup{gap:2px;margin-left:16px;display:grid}.outline-tree-leaf-group{gap:2px;margin-left:18px;display:grid}.outline-tree-tertiary{color:var(--muted);font-size:12px}.outline-issue-link{width:100%;min-height:30px;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:0;padding:6px 0;font-size:13px;line-height:1.45;display:block}.outline-issue-link:hover,.outline-issue-link:focus-visible,.outline-issue-link-active{background:var(--panel-soft);color:var(--accent)}.outline-create-actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px;display:grid}.outline-create-actions button{white-space:nowrap;min-width:0;min-height:32px;padding-left:6px;padding-right:6px}.outline-main{min-width:0;min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));background:var(--bg);align-content:start;gap:14px;padding:24px 24px 24px 26px;display:grid}.outline-skeleton{background:#eceff3;animation:1.2s ease-in-out infinite outline-skeleton-pulse;display:block}.outline-skeleton-tree-node{width:100%;height:34px}.outline-skeleton-group{gap:12px}.outline-skeleton-group-title{width:168px;height:18px}.outline-skeleton-table{border:1px solid var(--border);background:#fff;display:grid}.outline-skeleton-row{border-bottom:1px solid var(--border);align-items:center;gap:12px;min-height:48px;padding:0 12px;display:grid}.outline-skeleton-row:last-child{border-bottom:0}.outline-skeleton-line{width:min(420px,82%);height:14px}@keyframes outline-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}.issue-group{border:1px solid var(--border);background:#fff;gap:12px;padding:14px;scroll-margin-top:180px;display:grid}.outline-preview{gap:24px;max-width:880px;display:grid}.outline-layout-sidebar-collapsed .outline-preview{max-width:min(100%,1180px)}.outline-preview-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:18px;padding-bottom:18px;display:flex}.outline-preview-header h2,.outline-preview h3,.outline-preview p{margin:0}.outline-delete-button{white-space:nowrap;flex:none;align-items:center;gap:6px;width:auto;display:inline-flex}.outline-delete-button svg{width:15px;height:15px}.outline-preview h3{margin-bottom:8px;font-size:14px}.outline-edit-form{gap:24px;display:grid}.outline-edit-textarea{border:1px solid var(--border);width:100%;min-height:78px;color:var(--text);font:inherit;resize:vertical;background:#fff;padding:12px;line-height:1.7}.outline-edit-textarea-body{min-height:132px}.outline-edit-actions{justify-content:flex-end;display:flex}.issue-group h3,.issue-subgroup h4{margin:0}.issue-subgroup{border-top:1px solid var(--border);gap:10px;padding-top:12px;display:grid}.issue-leaf-group{gap:8px;display:grid}.issue-table,.source-table{table-layout:fixed}.issue-table th:first-child,.issue-table td:first-child{width:64px}.issue-table th:nth-child(3),.issue-table td:nth-child(3){width:76px}.issue-table th:nth-child(4),.issue-table td:nth-child(4){width:104px}.issue-table th:nth-child(5),.issue-table td:nth-child(5){width:132px}.issue-row,.source-row{cursor:pointer}.issue-row:hover,.issue-row:focus,.source-row:hover,.source-row:focus{background:var(--panel-soft)}.issue-row:focus,.source-row:focus{outline-offset:-3px;outline:3px solid #f4001f1f}.issue-row-closed{background:#f1eee9}.issue-no{color:var(--text-strong)}.issue-row-closed .issue-no,.issue-row-closed .link-button{color:var(--muted)}.issue-form,.answer-editor-grid{gap:16px;display:grid}.answer-toolbar,.status-only-controls,.citation-editor-row{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.answer-toolbar label,.status-only-controls select{width:min(220px,100%)}.citation-editor{gap:12px;display:grid}.section-heading-compact{margin-bottom:0}.citation-editor-list,.history-list{gap:12px;display:grid}.citation-editor-row,.status-only-panel,.history-entry{border:1px solid var(--border);background:var(--panel-soft);padding:12px}.citation-editor-row>label{flex:180px}.status-only-panel{gap:10px;display:grid}.status-only-panel h3{margin:0}.history-entry,.history-entry details{gap:10px;display:grid}.history-entry summary{cursor:pointer;color:var(--text-strong)}.citation-list{border:1px solid var(--border);background:var(--panel-soft);gap:8px;margin:0;padding:12px 12px 12px 28px;display:grid}.source-picker-dialog{box-sizing:border-box;grid-template-rows:auto minmax(0,1fr);height:calc(100svh - 40px);max-height:calc(100svh - 40px);overflow:hidden}.source-picker{border-top:1px solid var(--border);grid-template-rows:auto auto minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.source-picker-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:16px;padding:10px 0;font-size:12px;display:flex}.source-picker-toolbar .inline-check{white-space:nowrap;flex:none}.source-picker-header,.source-picker-row{grid-template-columns:minmax(0,1fr) 84px 56px 80px;align-items:start;column-gap:24px;display:grid}.source-picker-header{z-index:1;color:var(--muted);border-bottom:1px solid var(--border);background:#fff;padding:10px 0;font-size:12px;position:sticky;top:0}.source-picker-list{overscroll-behavior:contain;min-height:0;padding-right:8px;overflow-y:auto}.source-picker-row{border-bottom:1px solid var(--border);padding:12px 0}.source-picker-name{gap:8px;min-width:0;display:grid}.source-picker-row>span,.source-picker-name>span{overflow-wrap:anywhere;min-width:0}@media (width<=720px){.source-picker-header{display:none}.source-picker-toolbar{flex-direction:column;align-items:start}.source-picker-row{grid-template-columns:minmax(0,1fr) auto;row-gap:8px}.source-picker-row>span:nth-child(2),.source-picker-row>span:nth-child(3){color:var(--muted);font-size:12px}.source-picker-row>span:last-child{justify-self:end}}.citation-detail-dialog{box-sizing:border-box;grid-template-rows:auto minmax(0,1fr);width:min(1280px,100vw - 40px);height:min(860px,100svh - 40px);max-height:calc(100svh - 40px);overflow:hidden}.citation-detail-layout{grid-template-columns:minmax(0,1.45fr) minmax(340px,.55fr);gap:20px;min-height:0;display:grid}.citation-detail-preview{border:1px solid var(--border);background:#fff;min-width:0;min-height:0;overflow:hidden}.citation-detail-form{align-content:start;gap:16px;min-width:0;min-height:0;display:grid;overflow-y:auto}.citation-detail-source{color:var(--muted);overflow-wrap:anywhere;margin:0}.citation-detail-form label{gap:6px;display:grid}.citation-detail-form label>span{color:var(--muted);font-size:12px}.citation-detail-form .citation-detail-field-tip{color:var(--muted);font-size:12px;line-height:1.5}.citation-detail-form input,.citation-detail-form textarea{width:100%}.citation-detail-tip{color:#8b5a1f;background:#fffaf2;border:1px solid #f0d8b8;margin:0;padding:10px 12px;font-size:13px;line-height:1.5}@media (width<=980px){.citation-detail-dialog{width:calc(100vw - 24px);height:min(900px,100svh - 24px)}.citation-detail-layout{grid-template-rows:minmax(300px,1fr) auto;grid-template-columns:minmax(0,1fr)}}.bulk-progress{background:#f2f7fc;border:1px solid #1e5a962e;gap:10px;margin-bottom:16px;padding:14px;display:grid}.bulk-progress-header h3,.bulk-progress-header p{margin:0}.bulk-progress-header p{color:var(--muted);margin-top:3px}.source-workbench{grid-template-columns:var(--workspace-sidebar-width) minmax(0, 1fr);height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));padding:0 0 0 var(--page-gutter);background:#fff;align-items:stretch;display:grid;overflow:hidden}.source-workbench-sidebar-collapsed{grid-template-columns:var(--workspace-sidebar-collapsed-width) minmax(0, 1fr)}.source-empty-workbench{min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));align-content:stretch;gap:10px;padding:20px 24px 24px;display:grid}.source-empty-dropzone{text-align:center;background:#fff;align-content:center;justify-items:center;min-height:0;padding:48px 24px;display:grid}.source-empty-icon{color:#0070f3;place-items:center;width:72px;height:60px;margin-bottom:16px;display:grid;position:relative}.source-empty-icon svg:first-child{stroke-width:1.8px;width:56px;height:56px}.source-empty-icon svg:last-child{color:#fff;stroke-width:3px;background:#0070f3;border:3px solid #fff;border-radius:999px;width:25px;height:25px;padding:3px;position:absolute;bottom:3px;right:7px}.source-empty-copy{gap:8px;margin-bottom:22px;display:grid}.source-empty-copy h2,.source-empty-copy p{margin:0}.source-empty-copy h2{color:var(--text-strong);font-size:18px;line-height:1.25}.source-empty-copy p{color:var(--text);font-size:13px}.source-empty-upload-button{border:1px solid var(--border);min-height:38px;color:var(--text-strong);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 18px;font-size:13px;display:inline-flex;position:relative}.source-empty-upload-button:hover{background:var(--panel-soft)}.source-empty-upload-button svg{width:16px;height:16px}.source-empty-upload-button input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.source-empty-progress{max-width:min(520px,100%);color:var(--text);justify-items:center;gap:5px;font-size:13px;line-height:1.35;display:grid}.source-empty-progress span:first-child{color:var(--muted)}.source-empty-progress strong{max-width:100%;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.source-tree{align-content:stretch}.source-room-search{background:#fff;height:36px;display:block;position:relative}.source-room-search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.source-room-search input{background:#fff;width:100%;height:36px;padding-left:36px}.source-tree-row{grid-template-columns:minmax(0,1fr) 28px;align-items:start;gap:4px;display:grid;position:relative}.source-tree-file-button{min-height:34px;color:var(--text);text-align:left;background:0 0;border:0;grid-template-columns:18px minmax(0,1fr);justify-content:stretch;align-items:start;gap:8px;padding:7px 0;font-size:13px;display:grid}.source-tree-file-button:hover:not(:disabled),.source-tree-file-button:focus-visible,.source-tree-row-active .source-tree-file-button{background:var(--panel-soft);color:var(--accent)}.source-tree-file-button>svg{width:16px;height:16px;color:var(--muted);margin-top:2px}.source-tree-uploading-row{min-height:46px;color:var(--text-strong);grid-template-columns:18px minmax(0,1fr);align-items:start;gap:8px;padding:7px 0;display:grid}.source-tree-uploading-row>svg{width:16px;height:16px;color:var(--muted);margin-top:2px}.source-file-format-icon{width:16px;height:16px;color:var(--muted);place-items:center;margin-top:2px;display:inline-grid;position:relative}.source-file-format-icon>svg{opacity:.68;width:14px;height:14px}.source-file-format-letter{color:#fff;place-items:center;width:9px;height:9px;font-size:7px;line-height:1;display:inline-grid;position:absolute;bottom:0;left:-1px}.source-file-format-icon-excel{color:#008236}.source-file-format-icon-excel .source-file-format-letter{background:#008236}.source-file-format-icon-word{color:#2b579a}.source-file-format-icon-word .source-file-format-letter{background:#2b579a}.source-file-format-icon-powerpoint{color:#b7472a}.source-file-format-icon-powerpoint .source-file-format-letter{background:#b7472a}.source-tree-file-copy{gap:4px;min-width:0;display:grid}.source-tree-file-name{color:inherit;text-overflow:ellipsis;white-space:nowrap;line-height:1.35;overflow:hidden}.source-tree-meta{color:var(--muted);font-size:11px}.source-row-menu{justify-content:flex-end;padding-top:4px;display:inline-flex;position:relative}.source-row-menu .meatball-trigger svg{width:17px;height:17px}.source-row-menu-panel{z-index:20;border:1px solid var(--border);background:#fff;border-radius:14px;gap:4px;width:228px;padding:10px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.source-row-menu-panel .source-row-menu-item{width:100%;min-height:40px;color:var(--text-strong);text-align:left;background:0 0;border:0;border-radius:8px;justify-content:flex-start;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.source-row-menu-panel .source-row-menu-item:hover:not(:disabled),.source-row-menu-panel .source-row-menu-item:focus-visible{color:var(--text-strong);background:#f8f8f8;outline:0;transform:none}.source-row-menu-panel .source-row-menu-item svg{width:16px;height:16px;color:var(--muted);flex:none}.source-row-menu-panel .source-row-menu-item-danger,.source-row-menu-panel .source-row-menu-item-danger svg{color:#f4001f}.source-row-menu-separator{background:var(--border);height:1px;margin:6px 4px}.source-upload-row{min-height:40px;color:var(--text);cursor:pointer;background:#fff;border:0;align-items:center;gap:8px;padding:0 12px;font-size:13px;display:flex;position:relative}.source-upload-row:hover{background:var(--panel-soft)}.source-upload-row svg{width:16px;height:16px;color:var(--muted)}.source-upload-row input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.upload-status{border:1px solid var(--border);background:#fff;flex-wrap:wrap;align-items:center;gap:8px;padding:9px 10px;display:flex}.source-tree-footer-meta{justify-content:space-between;align-items:center;gap:10px;display:flex}.source-tree-footer-meta p{color:var(--muted);margin:0;font-size:12px}.source-tree-skeleton{gap:8px;display:grid}.source-tree-skeleton-row{background:#eceff3;height:34px;animation:1.2s ease-in-out infinite source-tree-skeleton-pulse;display:block}.source-room-empty{margin:8px 0}.source-count-skeleton{background:#eceff3;width:56px;height:13px;margin-top:5px;animation:1.2s ease-in-out infinite source-tree-skeleton-pulse;display:block}.source-render-pane{background:var(--bg);grid-template-rows:auto minmax(0,1fr);justify-items:start;gap:12px;min-width:0;min-height:0;padding:18px 20px 20px;display:grid;overflow:hidden}.source-render-header{border-bottom:1px solid var(--border);background:var(--bg);justify-content:space-between;align-items:flex-start;gap:12px;padding-bottom:8px;display:flex}.source-render-header h2,.source-render-header p{margin:0}.source-render-title-row{align-items:baseline;gap:14px;min-width:0;display:flex}.source-render-header h2{font-size:16px;line-height:1.2}.source-render-header p{color:var(--muted);font-size:12px;line-height:1.2}.source-render-header-actions{justify-content:flex-end;align-items:center;gap:8px;display:flex}.source-render-header-actions p{text-align:right}.source-render-meta-row{align-items:center;gap:10px;margin-top:5px;display:flex}.source-render-download{width:32px;height:32px;min-height:32px;color:var(--text-strong);background:0 0;border:0;justify-content:center;align-items:center;margin-top:0;padding:0;line-height:1;display:inline-flex}.source-render-header-actions .source-render-download{margin-top:0}.source-render-download svg{width:16px;height:16px;display:block}.source-render-download:hover:not(:disabled),.source-render-download:focus-visible{background:var(--panel-soft)}.source-extracted-text-dialog{grid-template-rows:auto minmax(0,1fr);max-height:calc(100svh - 40px);overflow:hidden}.source-extracted-text-content{border:1px solid var(--border);min-height:360px;max-height:min(62svh,560px);color:var(--text);white-space:pre-wrap;word-break:break-word;background:#fff;margin:0;padding:14px;font-family:inherit;font-size:13px;line-height:1.7;overflow:auto}.source-extracted-text-skeleton{border:1px solid var(--border);gap:10px;padding:14px;display:grid}.source-extracted-text-skeleton span{background:#eceff3;height:14px;animation:1.2s ease-in-out infinite source-tree-skeleton-pulse}.source-extracted-text-skeleton span:first-child{width:48%}.source-extracted-text-skeleton span:nth-child(2){width:92%}.source-extracted-text-skeleton span:nth-child(3){width:76%}.source-extracted-text-skeleton span:nth-child(4){width:84%}.source-label-list{gap:5px;margin-top:0}.source-label-list .tag-theme{color:#008236;background:#00823614;border:1px solid #0082363d;border-radius:999px;padding:3px 7px;font-size:10px;line-height:1}.source-render-skeleton{align-content:start;gap:10px;display:grid}.source-render-header,.source-render-pane>.source-preview-content,.source-render-pane>.source-render-skeleton{width:min(100%,880px)}.source-workbench-sidebar-collapsed .source-render-header,.source-workbench-sidebar-collapsed .source-render-pane>.source-preview-content,.source-workbench-sidebar-collapsed .source-render-pane>.source-render-skeleton{width:min(100%,1180px)}.source-render-skeleton-header{border-bottom:1px solid var(--border);align-items:center;gap:14px;padding-bottom:8px;display:flex}.source-render-skeleton-title,.source-render-skeleton-meta,.source-render-skeleton-tags span,.source-render-skeleton-body span{background:#eceff3;animation:1.2s ease-in-out infinite source-tree-skeleton-pulse;display:block}.source-render-skeleton-title{width:min(320px,48%);height:19px}.source-render-skeleton-meta{width:132px;height:14px}.source-render-skeleton-tags{gap:8px;display:flex}.source-render-skeleton-tags span{border-radius:999px;width:42px;height:18px}.source-render-skeleton-body{gap:10px;width:min(880px,72%);margin-top:18px;display:grid}.source-render-skeleton-body span{height:16px}.source-render-skeleton-body span:nth-child(2){width:92%}.source-render-skeleton-body span:nth-child(3){width:74%}.source-render-skeleton-body span:nth-child(4){width:86%}.source-render-skeleton-body span:nth-child(5){width:56%}@keyframes source-tree-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}.dialog-preview{flex-direction:column;gap:14px;width:min(1080px,100vw - 40px);height:min(900px,100vh - 40px);min-height:0;display:flex}.source-preview-content{flex-direction:column;flex:1;min-height:0;display:flex}.source-preview-frame{flex:1;min-height:0;display:flex}.source-render-pane .source-preview-content,.source-render-pane .source-preview-frame{min-height:0;overflow:hidden}.pdf-preview{border:1px solid var(--border);background:var(--panel-soft);flex:1;width:100%;height:100%;min-height:360px}.pdf-canvas-preview{background:#f8f8f8;flex-direction:column;flex:1;min-width:0;min-height:360px;display:flex}.pdf-zoom-toolbar{justify-content:flex-end;align-items:center;gap:4px;min-height:32px;display:flex}.pdf-canvas-preview>.pdf-zoom-toolbar{background:#f8f8f8;padding:8px 20px 0}.pdf-zoom-button{width:32px;height:32px;min-height:32px;color:var(--text);background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.pdf-zoom-button svg{width:16px;height:16px}.pdf-zoom-button:hover:not(:disabled),.pdf-zoom-button:focus-visible{background:#eceff3}.pdf-zoom-value{min-width:44px;color:var(--muted);text-align:center;font-size:13px;line-height:32px}.pdf-page-stage{box-sizing:border-box;scrollbar-gutter:stable;background:#f8f8f8;flex:1;align-content:start;justify-items:center;row-gap:20px;width:100%;min-width:0;min-height:0;padding:20px;display:grid;overflow:auto}.pdf-canvas-shell{width:fit-content;max-width:none;display:block;position:relative}.pdf-canvas{background:#fff;border:1px solid #d5dde5;max-width:none;display:block}.pdf-canvas-loading{background:#eceff3;animation:1.2s ease-in-out infinite source-preview-skeleton-pulse;position:absolute;inset:0}.source-preview-highlight{border:1px solid var(--border);background:var(--panel-soft);border-radius:7px;gap:4px;margin-bottom:12px;padding:10px 12px;display:grid}.source-preview-highlight span{color:var(--muted);font-size:12px}.source-preview-highlight p{margin:0;line-height:1.6}.source-preview-toolbar{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;font-size:13px;display:flex}.download-link{width:fit-content;margin-top:12px}.source-preview-toolbar .download-link{margin-top:0}.source-preview-skeleton{border:1px solid var(--border);background:#eceff3;flex:1;min-height:360px;animation:1.2s ease-in-out infinite source-preview-skeleton-pulse}@keyframes source-preview-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}@media (width<=760px){.dialog-preview{width:calc(100vw - 24px);height:calc(100vh - 24px);padding:14px}.source-preview-toolbar{flex-direction:column;align-items:stretch}.source-preview-toolbar .download-link{width:100%}.pdf-preview{min-height:280px}.pdf-page-stage{padding:14px}}.source-render-pane .pdf-preview,.source-render-pane .source-preview-skeleton,.source-render-pane .pdf-canvas-preview{border:0}.report-layout{grid-template-columns:var(--workspace-sidebar-width) minmax(0, 1fr);min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));padding:0 0 0 var(--page-gutter);background:#fff;align-items:start;display:grid}.report-layout-sidebar-collapsed{grid-template-columns:var(--workspace-sidebar-collapsed-width) minmax(0, 1fr)}.report-main{width:min(100%,880px);min-width:0}.report-layout-sidebar-collapsed .report-main{width:min(100%,1180px)}.report-generation-action{border-bottom:1px solid var(--border);gap:10px;margin-bottom:18px;padding-bottom:18px;display:grid}.report-generation-summary{justify-content:space-between;align-items:center;gap:16px;display:flex}.report-generation-summary h3,.report-generation-summary p{margin:0}.report-generation-summary h3{color:var(--text-strong);font-size:16px}.report-generation-summary p{color:var(--muted);margin-top:4px;font-size:13px}.report-generation-retry{justify-content:flex-end;align-items:center;gap:8px;display:flex}button.report-generation-button{color:var(--accent-blue);background:#fff;border-color:#1e5a9633}button.report-generation-button:hover:not(:disabled),button.report-generation-button:focus:not(:disabled),button.report-generation-button:focus-visible:not(:disabled),button.report-generation-button:active:not(:disabled){background:#fbfbfb;border-color:#1e5a966b}button.report-generation-button:focus-visible{outline-color:#1e5a9638}.report-main-skeleton{gap:28px;display:grid}.report-skeleton-heading,.report-skeleton-section{gap:10px;display:grid}.report-skeleton-line,.report-skeleton-box{background:#edf1f4;animation:1.2s ease-in-out infinite report-skeleton-pulse;display:block}.report-skeleton-line{height:14px}.report-skeleton-line-xs{width:96px}.report-skeleton-line-sm{width:180px}.report-skeleton-line-md{width:340px}.report-skeleton-line-lg{width:min(520px,70%);height:22px}.report-skeleton-box{border:1px solid var(--border);background:#f3f6f8}.report-skeleton-box-sm{width:min(420px,100%);height:72px}.report-skeleton-box-md{width:min(760px,100%);height:96px}@keyframes report-skeleton-pulse{0%,to{opacity:.55}50%{opacity:1}}.report-main .issue-table{table-layout:auto}.report-main .issue-table th:first-child,.report-main .issue-table td:first-child{width:64px}.report-main .issue-table th:nth-child(2),.report-main .issue-table td:nth-child(2){width:220px}.report-main .issue-table th:nth-child(3),.report-main .issue-table td:nth-child(3){width:76px}.report-main .issue-table th:nth-child(4),.report-main .issue-table td:nth-child(4){width:auto}.report-main .issue-table th:nth-child(5),.report-main .issue-table td:nth-child(5){width:180px}.report-tree{align-content:stretch}.report-search{background:#fff;height:36px;display:block;position:relative}.report-search svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;top:50%;left:11px;transform:translateY(-50%)}.report-search input{background:#fff;width:100%;height:36px;padding-left:36px}.report-tree-footer p{color:var(--muted);margin:0;font-size:12px}.report-tree-empty{margin:8px 0}.report-issue-link{height:42px;min-height:42px;overflow:hidden}.report-issue-link-title-row{justify-content:space-between;align-items:center;gap:6px;min-width:0;display:flex}.report-issue-link-title{color:inherit;text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.report-issue-link-meta{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;display:block;overflow:hidden}.report-issue-loading{color:#008236;flex:none;width:14px;height:14px;display:inline-flex}.report-issue-loading-hidden{visibility:hidden}.report-issue-loading-spinner{animation:.9s linear infinite report-issue-loading-spin}.report-issue-loading-hidden .report-issue-loading-spinner{animation:none}@keyframes report-issue-loading-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.report-issue-loading-spinner{animation:none}}.report-analysis-content{gap:14px;margin-bottom:14px;display:grid}.answer-box-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.report-answer-editor{gap:14px;display:grid}.report-answer-field{color:var(--muted);gap:6px;font-size:12px;display:grid}.report-answer-field textarea{width:100%;min-height:120px;color:var(--text);white-space:pre-wrap;background:#fff;line-height:1.65}.report-answer-field textarea:focus{background:#fbfbfb}.report-citations{gap:8px;display:grid}.report-citations h4{color:var(--muted);margin:0;font-size:12px}.report-answer-actions{justify-content:flex-end}.report-answer-actions-split{justify-content:space-between}.report-answer-actions-split button{align-items:center;gap:6px;display:inline-flex}.answer-history-dialog{grid-template-rows:auto minmax(0,1fr);width:min(1320px,100vw - 32px);max-height:calc(100svh - 40px);overflow:hidden}.answer-history-layout{border-top:1px solid var(--border);grid-template-columns:minmax(260px,340px) minmax(0,1fr);gap:20px;min-height:0;padding-top:14px;display:grid}.answer-history-tree,.answer-history-detail{min-height:0;max-height:calc(100svh - 160px);overflow:auto}.answer-history-tree{border-right:1px solid var(--border);padding-right:16px}.answer-history-graph{min-width:max-content;position:relative}.answer-history-graph-lines{pointer-events:none;z-index:2;position:absolute;inset:0 auto auto 0}.answer-history-graph-list{z-index:1;position:relative}.answer-history-graph-row{width:100%;color:var(--text);text-align:left;background:0 0;border-color:#0000;align-items:center;padding:0 8px 0 0;display:grid}.answer-history-graph-row:hover,.answer-history-graph-row:focus-visible{background:#1e5a960f}.answer-history-graph-row-active{background:#1e5a9614;border-color:#1e5a963d}.answer-history-graph-line-vertical,.answer-history-graph-branch,.answer-history-graph-node-dot{display:block;position:absolute}.answer-history-graph-line-vertical{background:#141820b8;border-radius:999px}.answer-history-graph-branch{border-top:4px solid #141820b8;border-right:4px solid #141820b8;border-top-right-radius:18px}.answer-history-graph-branch-left{border-left:4px solid #141820b8;border-right:0;border-top-left-radius:18px;border-top-right-radius:0}.answer-history-graph-node-dot{border:2px solid #141820c7;border-radius:999px}.answer-history-graph-labels{gap:2px;min-width:0;display:grid}.answer-history-tree-node{gap:6px;display:grid}.answer-history-tree-children{border-left:1px solid #1e5a962e;gap:6px;margin-left:10px;padding-left:10px;display:grid}.answer-history-tree-button{width:100%;min-height:44px;color:var(--text);text-align:left;background:0 0;border-color:#0000;justify-items:start;gap:3px;padding:7px 8px;display:grid}.answer-history-tree-button:hover,.answer-history-tree-button:focus-visible{background:#1e5a960f}.answer-history-tree-button-active{background:#1e5a9614;border-color:#1e5a963d}.answer-history-tree-line,.answer-history-tree-meta{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.answer-history-tree-line{color:var(--text-strong);font-size:12px}.answer-history-tree-meta{color:var(--muted);font-size:11px}.answer-history-detail{align-content:start;gap:14px;padding-right:4px;display:grid}.answer-history-detail-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.answer-history-detail-heading button{white-space:nowrap;align-items:center;gap:6px;display:inline-flex}.answer-history-detail-meta{flex-wrap:wrap;gap:6px;margin-bottom:6px;display:flex}.answer-history-block{gap:8px;display:grid}.answer-history-block h3{color:var(--muted);margin:0;font-size:12px}@media (width<=760px){.answer-history-layout{grid-template-columns:1fr}.answer-history-tree{border-right:0;border-bottom:1px solid var(--border);max-height:220px;padding-bottom:12px;padding-right:0}.answer-history-detail{max-height:none}.answer-history-detail-heading{display:grid}}.chat-panel{z-index:20;border-left:1px solid var(--border);background:#fff;grid-template-rows:auto 1fr auto;width:min(460px,100vw);height:100svh;transition:transform .18s;display:grid;position:fixed;top:0;right:0;transform:translate(100%)}.chat-panel-open{transform:translate(0)}.chat-panel-docked{top:var(--app-header-height);z-index:2;width:100%;height:calc(100svh - var(--app-header-height));grid-template-rows:minmax(0,1fr) auto;transition:none;position:sticky;right:auto;transform:none}.project-chat-shell-with-header .chat-panel-docked{top:calc(var(--app-header-height) + var(--project-phase-header-height));height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height))}.chat-panel-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px;display:flex}.chat-panel-header h2{margin:0;font-size:18px}.chat-messages{align-content:start;gap:12px;min-width:0;min-height:0;padding:16px;display:grid;overflow-y:auto}.chat-message{box-sizing:border-box;border:1px solid var(--border);overflow-wrap:anywhere;gap:8px;width:100%;min-width:0;max-width:100%;padding:12px;display:grid}.chat-message-user{background:#eaf1f8;border-color:#1e5a962e;border-radius:8px;justify-self:stretch}.chat-message-assistant{background:0 0;border:0;justify-self:stretch}.chat-message-body{color:var(--text-strong);overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word;margin:0}.chat-message .chat-citation-list{overflow-wrap:anywhere;word-break:break-word;min-width:0}.chat-message .citation-button{white-space:normal;justify-content:flex-start;min-width:0}.chat-message-meta{color:var(--muted);margin:0;font-size:12px}.chat-message-skeleton-list{gap:12px;display:grid}.chat-message-skeleton{pointer-events:none;width:82%}.chat-message-skeleton.chat-message-user{width:72%}.chat-skeleton-line{background:#eceff3;width:100%;height:12px;animation:1.2s ease-in-out infinite chat-skeleton-pulse;display:block}.chat-skeleton-line-short{width:38%}.chat-skeleton-line-medium{width:68%}.chat-skeleton-citations{gap:7px;padding-left:18px;display:grid}.chat-skeleton-citation{width:84%;height:10px}@keyframes chat-skeleton-pulse{0%,to{opacity:.52}50%{opacity:1}}.context-badge,.pending-context{width:fit-content;color:var(--accent-blue);background:#eaf1f8;border:1px solid #1e5a962e;align-items:center;padding:4px 8px;font-size:12px;display:inline-flex}.pending-context{gap:8px}.chat-thinking{border:1px solid var(--border);background:var(--panel-soft);width:fit-content;color:var(--muted);padding:8px 12px;font-size:12px}.chat-composer{border-top:1px solid var(--border);grid-auto-rows:max-content;align-content:start;gap:10px;padding:12px 16px 14px;display:grid;position:relative}.chat-composer-box{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-rows:minmax(0,auto) auto;display:grid;overflow:hidden}.chat-composer textarea{resize:none;background:0 0;border:0;min-height:60px;max-height:160px;padding:11px 12px 8px;line-height:1.5;overflow-y:auto}.chat-composer textarea:focus{border-color:#0000;outline:0}.chat-composer-toolbar{background:#f8f8f8;border-top:1px solid #1519220f;justify-content:space-between;align-items:center;gap:8px;min-height:30px;padding:1px 8px;display:flex}.chat-composer-tools{align-items:center;gap:4px;min-width:0;display:flex}.chat-source-button,.chat-issue-button{max-width:150px;height:26px;color:var(--muted);cursor:pointer;font:inherit;background:0 0;border:0;border-radius:7px;align-items:center;gap:5px;padding:0 6px;display:inline-flex}.chat-source-button:hover,.chat-source-button:focus-visible,.chat-source-button-active,.chat-issue-button:hover,.chat-issue-button:focus-visible,.chat-issue-button-active{color:var(--accent-blue);background:#1e5a9614}.chat-source-button svg,.chat-issue-button svg{flex:none;width:15px;height:15px}.chat-source-button span,.chat-issue-button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.chat-source-picker,.chat-issue-picker{z-index:4;box-sizing:border-box;border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-rows:auto minmax(0,1fr);gap:8px;width:min(340px,100% - 32px);max-height:min(320px,50svh);padding:10px;display:grid;position:absolute;bottom:48px;left:16px;overflow:hidden}.chat-picker-header{color:var(--text-strong);justify-content:space-between;align-items:center;gap:8px;font-size:13px;display:flex}.chat-picker-action-button{font-size:12px}.chat-source-picker-list,.chat-issue-picker-list{gap:2px;min-width:0;min-height:0;display:grid;overflow-y:auto}.chat-issue-picker-list{gap:4px}.chat-source-option{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:7px 4px;display:grid}.chat-source-option:hover{background:#f8f8f8}.chat-source-option input{width:14px;height:14px;margin:0}.chat-source-option-name{min-width:0;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-source-option-version,.chat-picker-empty{color:var(--muted);font-size:12px}.chat-picker-empty{margin:0;padding:12px 4px}.chat-issue-option{width:100%;min-width:0;min-height:32px;color:var(--text);cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:auto minmax(0,1fr);justify-content:stretch;place-items:baseline start;column-gap:8px;padding:6px 8px;display:grid}.chat-issue-option:hover,.chat-issue-option-active{background:#1e5a9614}.chat-issue-option-no{color:var(--muted);white-space:nowrap;font-size:12px;line-height:1.4}.chat-issue-option-title{min-width:0;max-width:100%;color:var(--text-strong);text-overflow:ellipsis;white-space:nowrap;line-height:1.4;overflow:hidden}button.chat-send-button{width:28px;min-width:28px;height:28px;min-height:28px;color:var(--accent-blue);background:0 0;border:0;border-radius:7px;padding:0}button.chat-send-button:hover:not(:disabled),button.chat-send-button:focus-visible{background:#1e5a9614}.primary-button.chat-send-button:disabled:not(.auth-submit-button){color:#1e5a966b;background:0 0;border-color:#0000}.chat-send-button svg{width:16px;height:16px}@media (width<=1040px){.project-chat-shell,.report-layout,.source-workbench,.phase-split-page{grid-template-columns:1fr}.chat-panel-docked{border-top:1px solid var(--border);border-left:0;height:min(62svh,560px);position:relative;top:auto}.project-chat-shell-with-header .chat-panel-docked{height:min(62svh,560px);top:auto}.outline-tree,.source-tree,.report-tree{position:static}.outline-layout{grid-template-columns:1fr}.outline-sidebar-toggle{justify-self:start;margin:10px 0 0;display:inline-flex}.outline-tree{border-right:0;border-bottom:1px solid var(--border);min-height:0;max-height:min(56svh,520px);padding:10px 0 14px;display:none;overflow:auto}.source-workbench{grid-template-rows:min(44svh,420px) minmax(0,1fr);overflow:visible}.source-tree,.report-tree{min-height:0;max-height:min(44svh,420px);overflow:hidden}.source-render-pane{min-height:240px}.outline-tree-open{display:grid}.phase-split-page{min-height:calc(100svh - var(--app-header-height) - var(--project-phase-header-height));overflow:visible}.phase-main-pane{border-right:0}.phase-main-pane,.phase-side-pane{overflow:visible}.outline-main{min-height:auto;padding:18px 0 24px}}@media (width<=760px){.app-shell{padding:0}.app-header,.project-list-hero,.section-heading,.panel-heading,.dialog-title-row{flex-direction:column}.app-header{height:auto;padding:12px var(--page-gutter);align-items:stretch}.header-main,.header-actions{flex-direction:column;align-items:stretch;gap:8px}.header-actions{justify-content:stretch}.header-actions button,.header-pill,.user-name-field{width:100%;max-width:none}.brand-row{flex-direction:row;align-items:center}.project-phase-header{padding:10px var(--page-gutter) 0;gap:8px}.project-phase-name{white-space:normal;width:100%;overflow:visible}.phase-bar{flex-wrap:wrap;height:auto;padding:0}.phase-bar button{flex:160px}.form-grid{grid-template-columns:1fr}.user-name-field{width:100%;min-width:100%}.phase-main-pane{padding:12px}.outline-phase .phase-main-pane{padding:0}.phase-pane-heading{margin:-12px -12px 12px;padding:14px 12px}.source-tree,.source-render-pane{min-height:0}.source-render-pane{padding:14px 12px 18px}.source-render-header{flex-direction:column;align-items:stretch}.issue-table,.source-table{table-layout:auto;min-width:100%}.issue-table th:first-child,.issue-table td:first-child,.issue-table th:nth-child(3),.issue-table td:nth-child(3),.issue-table th:nth-child(4),.issue-table td:nth-child(4),.issue-table th:nth-child(5),.issue-table td:nth-child(5),.source-table th:first-child,.source-table td:first-child,.source-table th:nth-child(2),.source-table td:nth-child(2),.source-table th:nth-child(3),.source-table td:nth-child(3),.source-table th:nth-child(4),.source-table td:nth-child(4),.source-table th:nth-child(6),.source-table td:nth-child(6){width:auto}.issue-table,.issue-table tbody,.issue-table tr,.issue-table td{display:block}.issue-table thead{display:none}.issue-table tr{border-bottom:1px solid var(--border);padding:12px 0}.issue-table td{border-bottom:0;padding:3px 0}.issue-table td:first-child{color:var(--muted);font-size:12px}.issue-table td:nth-child(2){margin-bottom:8px}.issue-table td:nth-child(2) .link-button{font-size:15px;line-height:1.45}.issue-table td:nth-child(3),.issue-table td:nth-child(4){vertical-align:middle;align-items:center;margin-right:12px;display:inline-flex}.issue-table td:last-child{color:var(--muted);margin-top:6px;font-size:12px;display:block}.report-empty-actions{flex-direction:column;align-items:flex-start}table{display:block;overflow-x:auto}}
