:root{--ink:#17201d;--muted:#6f7974;--paper:#f5f3ed;--panel:#fffefa;--line:#dcded7;--green:#1f5947;--green-2:#2d765f;--accent:#d9f06c;--danger:#b34437;--shadow:0 24px 80px rgba(26,47,39,.12)}
*{box-sizing:border-box}body{margin:0;font-family:Inter,"PingFang SC","Microsoft YaHei",system-ui,sans-serif;color:var(--ink);background:var(--paper)}button,input,textarea,select{font:inherit}.hidden{display:none!important}.eyebrow{margin:0;color:var(--green-2);font-size:11px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}.auth-shell{min-height:100vh;display:grid;grid-template-columns:1.15fr .85fr}.brand-panel{position:relative;overflow:hidden;padding:9vh 8vw;background:var(--green);color:#fff}.brand-mark{width:58px;height:58px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.35);border-radius:18px;font:700 24px Georgia}.brand-panel .eyebrow{margin-top:20vh;color:var(--accent)}.brand-panel h1{max-width:700px;margin:18px 0 22px;font:500 clamp(48px,6vw,88px)/.98 Georgia,serif;letter-spacing:-.045em}.brand-panel h1 em{color:var(--accent);font-weight:400}.brand-copy{max-width:490px;color:#c9d6d0;font-size:17px;line-height:1.8}.orbit{position:absolute;border:1px solid rgba(217,240,108,.23);border-radius:50%}.orbit-one{width:480px;height:480px;right:-180px;bottom:-180px}.orbit-two{width:280px;height:280px;right:-75px;bottom:-80px}.auth-panel{display:grid;place-items:center;padding:40px;background:var(--panel)}.auth-card{width:min(390px,100%)}.auth-card h2{font:500 40px Georgia;margin:18px 0 7px}.auth-card>p:nth-of-type(2){margin:0 0 34px;color:var(--muted)}label{display:grid;gap:8px;margin:17px 0;color:#44504b;font-size:13px;font-weight:650}input{width:100%;border:1px solid var(--line);border-radius:10px;padding:13px 14px;background:#fff;color:var(--ink);outline:none}input:focus,textarea:focus{border-color:var(--green-2);box-shadow:0 0 0 3px rgba(45,118,95,.1)}.primary{border:0;border-radius:9px;padding:12px 16px;background:var(--green);color:white;font-weight:700;cursor:pointer}.primary:hover{background:var(--green-2)}.wide{width:100%;margin-top:5px}.text-button{display:block;margin:20px auto;border:0;background:none;color:var(--green-2);cursor:pointer}.error{min-height:18px;color:var(--danger);font-size:13px}.app-shell{height:100vh;display:grid;grid-template-columns:260px minmax(420px,1fr) 370px}.library-panel,.ai-panel{min-width:0;background:var(--panel)}.library-panel{display:flex;flex-direction:column;border-right:1px solid var(--line)}.app-logo{height:82px;display:flex;align-items:center;gap:12px;padding:0 20px;border-bottom:1px solid var(--line)}.app-logo>span{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:var(--green);color:white;font:700 17px Georgia}.app-logo div{display:grid}.app-logo small{color:var(--muted);font-size:10px;letter-spacing:.08em}.library-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:18px 14px}.upload-button{display:grid;place-items:center;margin:0;border:1px solid var(--line);border-radius:9px;background:#fff;font-size:13px;cursor:pointer}.section-heading{display:flex;justify-content:space-between;padding:12px 18px;color:var(--muted);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase}.document-list{flex:1;overflow:auto;padding:0 10px}.doc-item{width:100%;display:flex;gap:11px;align-items:center;padding:11px;border:0;border-radius:10px;background:none;text-align:left;cursor:pointer;color:var(--ink)}.doc-item:hover{background:#f0f2ea}.doc-item.active{background:#e6eee9}.doc-icon{width:33px;height:39px;display:grid;place-items:center;border-radius:6px;background:#eef0e9;color:var(--green);font-size:12px;font-weight:800}.doc-item div:last-child{min-width:0}.doc-item strong,.doc-item small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.doc-item strong{font-size:13px}.doc-item small{margin-top:3px;color:var(--muted);font-size:10px}.profile{height:70px;display:grid;grid-template-columns:35px 1fr 28px;gap:10px;align-items:center;padding:10px 16px;border-top:1px solid var(--line)}.profile>div:first-child{width:35px;height:35px;display:grid;place-items:center;border-radius:50%;background:var(--accent);font-weight:800}.profile>div:nth-child(2){display:grid;min-width:0}.profile strong,.profile small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile strong{font-size:12px}.profile small{color:var(--muted);font-size:9px}.profile button{border:0;background:none;cursor:pointer}.workspace-panel{display:flex;min-width:0;flex-direction:column;background:#faf9f5}.workspace-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:12px 27px;border-bottom:1px solid var(--line)}.workspace-header>div:first-child{min-width:0;flex:1}.workspace-header input{padding:3px 0;border:0;background:transparent;border-radius:0;font:500 20px Georgia;box-shadow:none}.save-state{display:flex;align-items:center;gap:7px;color:var(--muted);font-size:11px}.save-state span:first-child{width:7px;height:7px;border-radius:50%;background:#9fb0a9}.editor-view,.pdf-view{min-height:0;flex:1}.editor-view{display:flex;flex-direction:column}.editor{flex:1;resize:none;border:0;outline:0;padding:48px clamp(40px,8vw,110px);background:transparent;color:#27302d;font:16px/1.9 Georgia,"Noto Serif SC",serif;box-shadow:none}.editor-footer{height:36px;display:flex;justify-content:space-between;padding:8px 24px;border-top:1px solid var(--line);color:var(--muted);font-size:10px}.pdf-view iframe{width:100%;height:100%;border:0}.empty-state{flex:1;display:grid;place-content:center;text-align:center;color:var(--muted)}.empty-state h2{margin:12px 0 5px;color:var(--ink);font:500 27px Georgia}.empty-state p{margin:0;font-size:13px}.empty-icon{font-size:42px;color:var(--green-2)}.ai-panel{display:flex;flex-direction:column;border-left:1px solid var(--line)}.ai-header{height:82px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--line)}.ai-header>div{display:flex;align-items:center;gap:9px}.ai-header strong{font-size:13px}.ai-pulse{width:9px;height:9px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 5px rgba(217,240,108,.3)}select{max-width:150px;border:1px solid var(--line);border-radius:8px;padding:7px;background:white;font-size:11px;color:var(--ink)}.chat-messages{flex:1;overflow:auto;padding:22px 18px}.welcome-message{margin:18vh auto 0;max-width:260px;text-align:center;color:var(--muted)}.welcome-message>span{display:grid;place-items:center;width:42px;height:42px;margin:auto;border-radius:14px;background:#e9f0e9;color:var(--green);font-size:21px}.welcome-message h3{margin:15px 0 7px;color:var(--ink);font:500 20px Georgia}.welcome-message p{font-size:12px;line-height:1.7}.message{max-width:88%;margin:10px 0;padding:11px 13px;border-radius:12px;font-size:13px;line-height:1.65;white-space:pre-wrap}.message.user{margin-left:auto;background:var(--green);color:white;border-bottom-right-radius:3px}.message.assistant{background:#eef0e9;border-bottom-left-radius:3px}.message small{display:block;margin-top:5px;opacity:.55;font-size:9px}.chat-form{margin:12px;border:1px solid var(--line);border-radius:14px;background:white;box-shadow:0 8px 28px rgba(32,50,42,.07)}.chat-form textarea{width:100%;resize:none;border:0;padding:13px;background:transparent;outline:none;box-shadow:none}.chat-form>div{display:flex;align-items:center;justify-content:space-between;padding:0 9px 8px 13px}.chat-form span{color:var(--muted);font-size:9px}.chat-form button{width:31px;height:31px;border:0;border-radius:9px;background:var(--green);color:white;font-size:18px;cursor:pointer}.toast{position:fixed;left:50%;bottom:24px;z-index:10;transform:translate(-50%,20px);padding:10px 16px;border-radius:9px;background:#17201d;color:white;font-size:12px;opacity:0;pointer-events:none;transition:.2s}.toast.show{opacity:1;transform:translate(-50%,0)}
.upload-hint{grid-column:1/-1;margin:2px 2px 0;color:var(--muted);font-size:9px;line-height:1.5}.ai-disclosure{margin:0;padding:0 13px 7px;color:#8a7467;font-size:9px}
.doc-item{gap:0;padding:0;cursor:default}.doc-select{min-width:0;flex:1;display:flex;gap:11px;align-items:center;padding:11px;border:0;background:none;text-align:left;cursor:pointer;color:inherit}.doc-icon{flex:0 0 33px}.doc-summary{min-width:0}.doc-delete{width:28px;height:28px;margin-right:7px;flex:0 0 28px;border:0;border-radius:8px;background:transparent;color:var(--muted);font-size:18px;line-height:1;cursor:pointer;opacity:0;transition:.15s}.doc-item:hover .doc-delete,.doc-item.active .doc-delete,.doc-delete:focus-visible{opacity:1}.doc-delete:hover{background:#f7e7e4;color:var(--danger)}.doc-delete:disabled{cursor:wait;opacity:.45}
@media(max-width:1050px){.app-shell{grid-template-columns:220px 1fr}.ai-panel{position:fixed;right:0;top:0;bottom:0;width:350px;box-shadow:var(--shadow)}.auth-shell{grid-template-columns:1fr}.brand-panel{display:none}}@media(max-width:680px){.app-shell{grid-template-columns:1fr}.library-panel{display:none}.ai-panel{display:none}.workspace-header{padding:12px 18px}}

/* Library management, usage, and evidence sources */
.app-shell{grid-template-columns:290px minmax(420px,1fr) 370px}
.library-actions{padding-bottom:10px}
.library-tools{display:grid;gap:8px;padding:0 14px 9px}
.library-tools input{height:34px;padding:7px 10px;border-radius:8px;font-size:11px}
.library-filter-row{display:flex;gap:6px;align-items:center}
.library-filter-row select{min-width:0;flex:1;max-width:none;height:32px;padding:5px 7px}
.icon-button,.soft-button,.danger-button,.workspace-tool{border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--muted);cursor:pointer}
.icon-button{width:32px;height:32px;flex:0 0 32px;padding:0;font-size:16px}
.icon-button:disabled{cursor:not-allowed;opacity:.35}
.library-management{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:6px}
.library-management .soft-button,.library-management .danger-button{width:100%;margin-left:0}
.soft-button,.danger-button{min-height:30px;padding:5px 9px;font-size:10px}
.soft-button.active{border-color:var(--green-2);background:#e6eee9;color:var(--green)}
.danger-button{margin-left:auto;border-color:#efd1cb;color:var(--danger)}
.danger-button:disabled{opacity:.45;cursor:not-allowed}
.section-heading{padding-top:8px;padding-bottom:8px}
.doc-item{gap:0;padding:0;cursor:default}
.doc-select{min-width:0;flex:1;padding:9px 7px}
.doc-check{width:15px;height:15px;margin:0 0 0 7px;padding:0;flex:0 0 15px;accent-color:var(--green)}
.doc-summary{display:block;min-width:0}
.favorite-mark{margin-right:4px;color:#aa8d18}
.library-empty{padding:20px 8px;color:var(--muted);font-size:11px;text-align:center}
.usage-card{margin:7px 12px 10px;padding:9px 10px;border:1px solid var(--line);border-radius:9px;background:#fafaf7}
.usage-card>div:first-child{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}
.usage-card strong{color:var(--ink);font-weight:650}
.usage-track{height:4px;margin:7px 0;border-radius:4px;background:#e4e7df;overflow:hidden}
.usage-track span{display:block;width:0;height:100%;border-radius:4px;background:var(--green-2);transition:width .25s}
.usage-track span.warning{background:var(--danger)}
.usage-card small{display:block;color:var(--muted);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.workspace-controls{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-left:14px}
.workspace-controls select{max-width:105px}
.workspace-tool{height:31px;padding:4px 8px;font-size:11px;white-space:nowrap}
.workspace-tool.active{border-color:#d7ba43;background:#fff8d7;color:#8c7011}
.save-state{margin-left:3px;white-space:nowrap}
.message-content{white-space:pre-wrap}
.message.assistant .message-content{white-space:normal;overflow-wrap:anywhere}
.message.assistant .message-content>:first-child{margin-top:0}
.message.assistant .message-content>:last-child{margin-bottom:0}
.message.assistant .message-content p{margin:.55em 0}
.message.assistant .message-content h1,.message.assistant .message-content h2,.message.assistant .message-content h3,.message.assistant .message-content h4,.message.assistant .message-content h5,.message.assistant .message-content h6{margin:.9em 0 .4em;color:var(--ink);font-family:Georgia,"Noto Serif SC",serif;line-height:1.35}
.message.assistant .message-content h1{font-size:1.35em}.message.assistant .message-content h2{font-size:1.24em}.message.assistant .message-content h3{font-size:1.14em}.message.assistant .message-content h4,.message.assistant .message-content h5,.message.assistant .message-content h6{font-size:1.05em}
.message.assistant .message-content ul,.message.assistant .message-content ol{margin:.55em 0;padding-left:1.5em}.message.assistant .message-content li{margin:.24em 0}
.message.assistant .message-content blockquote{margin:.65em 0;padding:.15em .8em;border-left:3px solid var(--green-2);color:var(--muted)}
.message.assistant .message-content code{padding:.12em .34em;border-radius:4px;background:#dfe5df;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
.message.assistant .message-content pre{max-width:100%;margin:.7em 0;padding:.75em;overflow:auto;border-radius:8px;background:#1f2925;color:#edf3ef;white-space:pre-wrap}.message.assistant .message-content pre code{padding:0;background:none;color:inherit}
.message.assistant .message-content a{color:var(--green-2);text-decoration-thickness:1px;text-underline-offset:2px}
.message.assistant .message-content hr{border:0;border-top:1px solid rgba(31,89,71,.18);margin:.8em 0}
.markdown-table-wrap{max-width:100%;margin:.7em 0;overflow:auto}.message.assistant table{width:100%;border-collapse:collapse;font-size:11px}.message.assistant th,.message.assistant td{padding:6px 7px;border:1px solid #ccd8d1;text-align:left;vertical-align:top}.message.assistant th{background:#e3eae4;font-weight:700}
.source-ref{display:inline;padding:1px 5px;border:0;border-radius:5px;background:#d8e6de;color:var(--green);font-size:10px;font-weight:800;cursor:pointer;vertical-align:1px}
.source-ref:hover{background:var(--accent)}
.source-ref:focus-visible,.source-chip:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}
.source-list{display:flex;gap:5px;flex-wrap:wrap;margin-top:9px;padding-top:8px;border-top:1px solid rgba(31,89,71,.12)}
.source-chip{max-width:100%;padding:4px 7px;border:1px solid #ccd8d1;border-radius:6px;background:#fff;color:var(--green);font-size:9px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.source-chip:hover{border-color:var(--green-2);background:#f8faef}

@media(max-width:1180px){.app-shell{grid-template-columns:250px minmax(400px,1fr) 340px}.workspace-controls select{display:none}.workspace-tool{padding:4px 6px}}
@media(max-width:1050px){.app-shell{grid-template-columns:240px 1fr}.ai-panel{position:fixed;right:0;top:0;bottom:0;width:350px;box-shadow:var(--shadow)}}
@media(max-width:680px){.app-shell{grid-template-columns:1fr}.library-panel{display:none}.ai-panel{display:none}}

/* Viewport-contained research workspace */
html,body{width:100%;height:100%;min-width:0;min-height:0;overflow:hidden}
.auth-shell{width:100%;height:100vh;height:100dvh;min-height:0;overflow:auto}
.app-shell{width:100%;max-width:100vw;height:100vh;height:100dvh;min-width:0;min-height:0;overflow:hidden;grid-template-columns:minmax(230px,290px) minmax(0,1fr) minmax(320px,370px)}
.library-panel,.workspace-panel,.ai-panel{height:100%;min-width:0;min-height:0;overflow:hidden}
.app-logo,.library-actions,.library-tools,.section-heading,.usage-card,.profile,.workspace-header,.ai-header,.chat-form,.editor-footer{flex-shrink:0}
.document-list,.chat-messages,.editor-view,.pdf-view,.empty-state{min-width:0;min-height:0}
.document-list,.chat-messages{overscroll-behavior:contain;scrollbar-gutter:stable}
.workspace-panel{position:relative}
.pdf-view{overflow:hidden}
.pdf-view iframe{display:block;min-width:0;min-height:0}
.chat-messages{overflow-x:hidden}

@media(max-width:1180px){
  .app-shell{grid-template-columns:minmax(215px,250px) minmax(0,1fr) minmax(300px,340px)}
}
@media(max-width:1050px){
  .app-shell{grid-template-columns:minmax(210px,240px) minmax(0,1fr)}
  .ai-panel{position:fixed;z-index:5;right:0;top:0;bottom:0;width:min(350px,92vw);height:100vh;height:100dvh;box-shadow:var(--shadow)}
}
@media(max-width:680px){
  .app-shell{grid-template-columns:minmax(0,1fr)}
  .library-panel,.ai-panel{display:none}
}
@media(max-height:760px){
  .app-logo,.workspace-header,.ai-header{height:64px}
  .library-actions{padding:10px 14px 7px}
  .library-tools{gap:6px;padding-bottom:6px}
  .section-heading{padding-top:6px;padding-bottom:6px}
  .usage-card{margin-top:4px;margin-bottom:5px}
  .profile{height:58px;padding-top:6px;padding-bottom:6px}
  .chat-messages{padding-top:12px;padding-bottom:12px}
  .chat-form{margin-top:8px;margin-bottom:8px}
}

/* Writing studio, references, and version history */
.writing-toolbar{min-height:42px;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 10px;border-bottom:1px solid var(--line);background:#fffefa;overflow-x:auto;flex-shrink:0}.writing-tool-group{display:flex;align-items:center;gap:4px;white-space:nowrap}.writing-tool,.writing-toolbar select{height:30px;min-width:31px;padding:3px 7px;border:1px solid transparent;border-radius:7px;background:transparent;color:#52605a;font-size:10px;cursor:pointer}.writing-tool:hover,.writing-tool.active{border-color:#c6d3cc;background:#eaf0ec;color:var(--green)}.writing-toolbar select{min-width:76px;border-color:var(--line);background:#fff}.writing-tool.export-tool{border-color:#b9cbc1;background:#f8faf7;color:var(--green);font-weight:700}.writing-main{position:relative;display:flex;min-width:0;min-height:0;flex:1;overflow:hidden}.writing-canvas{position:relative;display:flex;min-width:0;min-height:0;flex:1}.writing-canvas .editor{width:100%;min-width:0;min-height:0}.writing-outline{width:205px;flex:0 0 205px;border-right:1px solid var(--line);background:#f8f9f5;overflow:auto}.writing-outline>header,.writing-drawer>header{height:48px;display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid var(--line)}.writing-outline>header strong{font:500 15px Georgia,"Noto Serif SC",serif}.writing-outline button,.writing-drawer>header button{border:0;background:transparent;color:var(--muted);cursor:pointer}.writing-outline nav{padding:8px}.outline-entry{width:100%;display:block;padding:6px 7px;border:0;border-radius:6px;background:transparent;color:#45524d;font-size:10px;line-height:1.35;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.outline-entry:hover{background:#e7eee9;color:var(--green)}.outline-entry.level-2{padding-left:17px}.outline-entry.level-3{padding-left:28px}.outline-entry.level-4,.outline-entry.level-5,.outline-entry.level-6{padding-left:38px;color:var(--muted)}.outline-empty{padding:18px 8px;color:var(--muted);font-size:10px;line-height:1.6;text-align:center}.markdown-preview{position:absolute;inset:0;margin:0;padding:42px clamp(40px,8vw,110px);overflow:auto;background:#faf9f5;color:#27302d;font:16px/1.8 Georgia,"Noto Serif SC",serif}.markdown-preview>:first-child{margin-top:0}.markdown-preview h1,.markdown-preview h2,.markdown-preview h3,.markdown-preview h4,.markdown-preview h5,.markdown-preview h6{color:#111;line-height:1.35}.markdown-preview h1{font-size:2em}.markdown-preview h2{font-size:1.55em}.markdown-preview h3{font-size:1.25em}.markdown-preview blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--green-2);color:var(--muted)}.markdown-preview code{padding:.12em .3em;border-radius:4px;background:#e6ebe7;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.markdown-preview pre{padding:14px;overflow:auto;border-radius:8px;background:#1d2522;color:#f4f6f4}.markdown-preview pre code{padding:0;background:none;color:inherit}.markdown-preview table{width:100%;border-collapse:collapse;font-size:13px}.markdown-preview th,.markdown-preview td{padding:7px;border:1px solid #cdd5d0;text-align:left}.markdown-preview th{background:#e7ece8}.markdown-preview a{color:var(--green-2)}.editor-footer{justify-content:flex-start;gap:20px}.editor-footer span:last-child{margin-left:auto}
.writing-drawer{width:330px;flex:0 0 330px;display:flex;flex-direction:column;border-left:1px solid var(--line);background:#fffefa;box-shadow:-8px 0 28px rgba(23,32,29,.08);z-index:4}.writing-drawer>header>div{display:grid;gap:2px}.writing-drawer>header strong{font:500 16px Georgia,"Noto Serif SC",serif}.writing-drawer>header small{color:var(--muted);font-size:9px}.drawer-panel{display:flex;flex:1;min-height:0;flex-direction:column}.drawer-actions{display:grid;grid-template-columns:1fr auto auto;gap:5px;padding:8px;border-bottom:1px solid var(--line)}.drawer-actions input{min-width:0;height:31px;padding:5px 7px;font-size:10px}.drawer-actions button,.drawer-export a{height:31px;display:grid;place-items:center;padding:4px 7px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-size:9px;text-decoration:none;cursor:pointer}.drawer-export{display:flex;align-items:center;gap:5px;padding:6px 9px;border-bottom:1px solid var(--line);color:var(--muted);font-size:9px}.drawer-export span{margin-right:auto}.drawer-export a{height:25px}.reference-list,.version-list{flex:1;min-height:0;overflow:auto;padding:8px}.reference-card,.version-card{margin-bottom:7px;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.reference-card strong{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical;font:500 12px/1.4 Georgia,"Noto Serif SC",serif}.reference-card p{margin:4px 0;color:var(--muted);font-size:9px;line-height:1.45}.reference-key{display:inline-block;padding:2px 5px;border-radius:5px;background:#e8eee9;color:var(--green);font-size:8px;font-weight:700}.card-actions{display:flex;gap:4px;margin-top:7px}.card-actions button{padding:3px 6px;border:1px solid var(--line);border-radius:5px;background:#fff;color:var(--muted);font-size:8px;cursor:pointer}.card-actions button:hover{border-color:#abc1b5;color:var(--green)}.card-actions .delete:hover{border-color:#e8b9b2;color:var(--danger)}.version-actions{display:grid;gap:5px;padding:9px;border-bottom:1px solid var(--line)}.version-actions button{padding:8px}.version-actions small{color:var(--muted);font-size:8px;line-height:1.4}.version-card{cursor:default}.version-card strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px}.version-card p{margin:4px 0;color:var(--muted);font-size:9px}.version-source{color:var(--green);font-weight:700}.version-diff{position:absolute;inset:48px 0 0;z-index:2;padding:10px;overflow:auto;background:#fffefa}.version-diff>header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.version-diff>header button{border:0;background:transparent;cursor:pointer}.diff-lines{margin:0;padding:9px;border-radius:7px;background:#1e2623;color:#e9eeeb;font:9px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre-wrap}.diff-add{display:block;background:rgba(80,170,110,.18);color:#b7efc7}.diff-remove{display:block;background:rgba(205,85,75,.18);color:#ffc2bc}.diff-same{display:block;color:#aeb8b3}
.form-dialog{width:min(650px,calc(100vw - 28px));padding:0;border:0;border-radius:13px;background:#fffefa;box-shadow:0 24px 70px rgba(23,32,29,.28)}.form-dialog::backdrop{background:rgba(23,32,29,.4)}.form-dialog form>header{display:flex;align-items:center;justify-content:space-between;padding:15px 17px 8px}.form-dialog form>header>div{display:grid;gap:3px}.form-dialog form>header strong{font:500 20px Georgia,"Noto Serif SC",serif}.form-dialog form>header small{color:var(--muted);font-size:10px}.form-dialog form>header button{border:0;background:transparent;color:var(--muted);font-size:20px;cursor:pointer}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 8px}.form-dialog label{margin:9px 17px;font-size:10px}.form-dialog label+label{margin-left:0}.form-dialog .wide-field{grid-column:1/-1;margin-right:17px}.form-dialog input,.form-dialog textarea,.form-dialog select{padding:8px 9px;border-radius:7px;font-size:11px}.form-dialog footer{display:flex;justify-content:flex-end;gap:7px;padding:8px 17px 16px}.form-dialog footer button{padding:8px 13px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--muted);font-size:11px;cursor:pointer}.form-dialog footer .primary{border-color:var(--green);background:var(--green);color:#fff}.import-dialog{width:min(560px,calc(100vw - 28px))}.import-dialog label+label{margin-left:17px}.import-dialog textarea{font:10px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}
@media(max-width:1150px){.writing-toolbar{justify-content:flex-start}.writing-actions{margin-left:auto}.writing-drawer{position:absolute;right:0;top:0;bottom:0}.writing-outline{position:absolute;left:0;top:0;bottom:0;z-index:5}.writing-tool{padding:3px 5px}}
@media(max-height:760px){.writing-toolbar{min-height:38px}.markdown-preview{padding-top:28px}.writing-drawer>header,.writing-outline>header{height:42px}}

/* Local multi-paper evidence matrix */
.comparison-dialog{width:min(1120px,calc(100vw - 32px));max-height:calc(100vh - 32px);padding:0;border:0;border-radius:14px;background:#fffefa;box-shadow:0 24px 80px rgba(23,32,29,.3)}.comparison-dialog::backdrop{background:rgba(23,32,29,.46)}.comparison-dialog>header{height:60px;display:flex;align-items:center;justify-content:space-between;padding:10px 16px;border-bottom:1px solid var(--line)}.comparison-dialog>header>div{display:grid;gap:3px}.comparison-dialog>header strong{font:500 20px Georgia,"Noto Serif SC",serif}.comparison-dialog>header small{color:var(--muted);font-size:10px}.comparison-dialog>header button{border:0;background:transparent;color:var(--muted);font-size:22px;cursor:pointer}.comparison-content{max-height:calc(100vh - 92px);overflow:auto;padding:12px}.comparison-note{margin-bottom:9px;padding:8px 10px;border-radius:7px;background:#edf3ee;color:#52605a;font-size:10px}.comparison-table-wrap{overflow:auto;border:1px solid var(--line);border-radius:9px}.comparison-table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}.comparison-table th,.comparison-table td{padding:9px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);vertical-align:top;text-align:left}.comparison-table tr:last-child th,.comparison-table tr:last-child td{border-bottom:0}.comparison-table th:last-child,.comparison-table td:last-child{border-right:0}.comparison-table thead th{position:sticky;top:0;z-index:1;background:#f0f4ef}.comparison-table thead th:first-child{width:125px}.comparison-table thead strong{display:block;font:600 11px/1.4 Georgia,"Noto Serif SC",serif}.comparison-table thead small{display:block;margin-top:4px;color:var(--muted);font-size:8px}.comparison-table tbody>tr>th{background:#f8f9f5;color:#46534e;font-size:10px}.comparison-source{width:100%;display:grid;gap:4px;margin-bottom:6px;padding:7px;border:1px solid #d9dfda;border-radius:7px;background:#fff;color:#35413c;text-align:left;cursor:pointer}.comparison-source:last-child{margin-bottom:0}.comparison-source:hover{border-color:#8eac9c;background:#f4f8f5}.comparison-source strong{color:var(--green);font-size:8px}.comparison-source span{display:-webkit-box;overflow:hidden;-webkit-line-clamp:4;-webkit-box-orient:vertical;font:9px/1.55 Georgia,"Noto Serif SC",serif}.comparison-source small{color:var(--muted);font-size:8px}.comparison-empty,.comparison-loading{display:block;padding:12px;color:var(--muted);font-size:10px;text-align:center}

/* Account sharing and mentor annotations */
.shared-badge{padding:3px 5px;border-radius:5px;background:#e6eee9;color:var(--green);font-size:8px;font-weight:700}.share-dialog{width:min(620px,calc(100vw - 28px))}.share-add-row{display:grid;grid-template-columns:minmax(0,1fr) 110px auto;gap:8px;align-items:end;padding:5px 17px 13px;border-bottom:1px solid var(--line)}.share-add-row label{margin:0}.share-add-row button{height:34px}.share-list{max-height:340px;overflow:auto;padding:9px 17px}.share-member{display:grid;grid-template-columns:minmax(0,1fr) 100px auto;gap:8px;align-items:center;padding:9px 0;border-bottom:1px solid var(--line)}.share-member>div{display:grid;gap:3px;min-width:0}.share-member strong,.share-member small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.share-member strong{font-size:11px}.share-member small{color:var(--muted);font-size:9px}.share-member select{width:100%;max-width:none}.share-member button{padding:6px 8px;border:1px solid #ead2ce;border-radius:6px;background:#fff;color:var(--danger);font-size:9px;cursor:pointer}.writing-toolbar :disabled{opacity:.42;cursor:not-allowed}.chat-form textarea:disabled{color:var(--muted);background:#f5f5f1}.chat-form button:disabled{opacity:.45;cursor:not-allowed}@media(max-width:560px){.share-add-row{grid-template-columns:1fr}.share-member{grid-template-columns:1fr auto}.share-member>div{grid-column:1/-1}}

/* Word-style writing */
.library-actions>button{min-width:0;padding:11px 7px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--green);font-size:12px;font-weight:700;cursor:pointer}
.library-actions>button.primary{border-color:var(--green);background:var(--green);color:#fff}
.library-actions .upload-button{grid-column:1/-1;min-height:42px}
.word-toolbar{display:flex;min-width:max-content;align-items:center;gap:3px;white-space:nowrap}
.word-toolbar button,.word-toolbar select,.word-color-tool{height:30px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#46534e;font-size:10px}
.word-toolbar button{min-width:29px;padding:3px 7px;cursor:pointer}.word-toolbar button:hover{border-color:#9fb9ab;background:#edf3ef;color:var(--green)}
.word-toolbar select{max-width:106px;padding:3px 5px}.word-color-tool{position:relative;display:grid;width:29px;margin:0;place-items:center;font-weight:800;overflow:hidden;cursor:pointer}
.word-color-tool.highlight{background:#fff2a8}.word-color-tool input{position:absolute;inset:auto 0 0;width:100%;height:5px;padding:0;border:0;border-radius:0;opacity:.85;cursor:pointer}
.word-editor-host{width:100%;min-width:0;min-height:0;overflow:auto;padding:28px;background:#e7e8e3}
.word-editor-content{width:min(794px,calc(100% - 24px));min-height:1123px;margin:0 auto;padding:78px 86px;outline:0;background:#fff;color:#1f2422;box-shadow:0 2px 13px rgba(30,42,36,.13);font:16px/1.65 "Times New Roman","宋体",serif}
.word-editor-content>:first-child{margin-top:0}.word-editor-content p{min-height:1.3em;margin:.55em 0}.word-editor-content h1{font-size:2em}.word-editor-content h2{font-size:1.55em}.word-editor-content h3{font-size:1.25em}.word-editor-content blockquote{margin:1em 0;padding:.2em 1em;border-left:3px solid var(--green-2);color:var(--muted)}
.word-editor-content table{width:100%;margin:1em 0;border-collapse:collapse}.word-editor-content th,.word-editor-content td{min-width:60px;padding:7px;border:1px solid #76827c;vertical-align:top}.word-editor-content th{background:#edf1ee}.word-editor-content .selectedCell{background:#e2efe7}
.word-editor-content img{display:block;max-width:100%;height:auto;margin:18px auto}.word-editor-content img[data-caption]{margin-bottom:28px}.word-editor-content img.ProseMirror-selectednode{outline:3px solid #9fc9b8}
.word-citation,.word-cross-reference{display:inline-block;padding:1px 5px;border-radius:5px;background:#e5eee8;color:var(--green);font:600 .85em/1.5 Inter,"Microsoft YaHei",sans-serif}
.word-cross-reference{background:#eef0f8;color:#4b5680}.word-page-break{height:24px;margin:24px -86px;border-top:1px dashed #98a39e;text-align:center;color:#8a948f;font:10px/20px Inter,sans-serif}.word-page-break span{position:relative;top:-11px;padding:0 8px;background:#fff}
.word-editor-content [data-label]::after{content:"  [" attr(data-label) "]";color:#6a8075;font:10px Inter,sans-serif}
.word-editor-content .tiptap-mathematics-render{overflow-x:auto}.word-editor-content p.is-editor-empty:first-child::before{content:"在这里开始 Word 写作……";float:left;height:0;color:#a1aaa5;pointer-events:none}
@media(max-width:900px){.word-editor-host{padding:12px}.word-editor-content{width:100%;min-height:100%;padding:42px 34px}.word-page-break{margin-left:-34px;margin-right:-34px}}

/* Let the Word ribbon use as many rows as needed instead of horizontal scrolling. */
.writing-toolbar:has(.word-toolbar:not(.hidden)){align-items:flex-start;flex-wrap:wrap;overflow-x:hidden;padding-top:6px;padding-bottom:6px}
.word-toolbar:not(.hidden){display:flex;flex:1 1 100%;min-width:0;flex-wrap:wrap;white-space:normal;row-gap:5px}
.writing-toolbar:has(.word-toolbar:not(.hidden)) .writing-actions{display:flex;flex:1 1 100%;flex-wrap:wrap;margin-left:0;white-space:normal;row-gap:5px}

/* Community issue center */
.issue-center-button{font-weight:700;color:var(--green)!important}
.issue-dialog{width:min(1080px,calc(100vw - 32px));height:min(760px,calc(100dvh - 32px));max-width:none;max-height:none;padding:0;border:0;border-radius:15px;background:#fffefa;box-shadow:0 24px 80px rgba(23,32,29,.3);overflow:hidden}
.issue-dialog::backdrop{background:rgba(23,32,29,.46)}
.issue-dialog>header{height:68px;display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 18px;border-bottom:1px solid var(--line)}
.issue-dialog>header>div:first-child{display:grid;gap:3px;min-width:0}.issue-dialog>header strong{font:500 21px Georgia,"Noto Serif SC",serif}.issue-dialog>header small{color:var(--muted);font-size:12px}
.issue-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}.issue-header-actions .primary{padding:9px 13px;font-size:13px}.issue-close{width:34px;height:34px;border:0;background:transparent;color:var(--muted);font-size:24px;cursor:pointer}
.issue-dialog-body{height:calc(100% - 68px);display:grid;grid-template-columns:minmax(260px,320px) minmax(0,1fr);min-height:0}
.issue-list-pane{display:flex;min-width:0;min-height:0;flex-direction:column;border-right:1px solid var(--line);background:#f7f9f5}.issue-list-heading{height:48px;display:flex;align-items:center;justify-content:space-between;padding:0 15px;border-bottom:1px solid var(--line);color:#48554f;font-size:14px}.issue-list-heading span{min-width:24px;padding:3px 7px;border-radius:12px;background:#e4ece7;color:var(--green);font-size:12px;text-align:center}.issue-list{min-height:0;overflow:auto;padding:8px}
.issue-list-item{width:100%;display:grid;gap:7px;padding:12px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);text-align:left;cursor:pointer}.issue-list-item:hover{background:#edf2ed}.issue-list-item.active{border-color:#bdd0c5;background:#e4ede7}.issue-list-title{font-size:14px;font-weight:700;line-height:1.45}.issue-list-meta{display:flex;align-items:center;justify-content:space-between;gap:8px;color:var(--muted);font-size:12px}.issue-kind{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border-radius:10px;font-size:12px;font-weight:700}.issue-kind.request{background:#e4f0e8;color:#236548}.issue-kind.bug{background:#fff0dc;color:#8a5721}.issue-list-empty{padding:34px 14px;color:var(--muted);font-size:14px;line-height:1.7;text-align:center}
.issue-content-pane{position:relative;min-width:0;min-height:0;overflow:hidden}.issue-empty{height:100%;display:grid;place-content:center;padding:24px;text-align:center;color:var(--muted)}.issue-empty>span{font-size:40px;color:var(--green-2)}.issue-empty h3{margin:13px 0 6px;color:var(--ink);font:500 22px Georgia,"Noto Serif SC",serif}.issue-empty p{max-width:390px;margin:0;font-size:14px;line-height:1.7}
.issue-create-form{height:100%;padding:26px clamp(20px,5vw,56px);overflow:auto}.issue-create-form>header{margin-bottom:18px}.issue-create-form>header>div{display:grid;gap:4px}.issue-create-form>header strong{font:500 23px Georgia,"Noto Serif SC",serif}.issue-create-form>header small{color:var(--muted);font-size:13px}.issue-create-form label,.issue-reply-form label{margin:14px 0;color:#44504b;font-size:14px}.issue-create-form select{max-width:180px;padding:9px 10px;font-size:14px}.issue-create-form input,.issue-create-form textarea,.issue-reply-form textarea{padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font-size:14px;line-height:1.6;resize:vertical}.issue-create-form footer{display:flex;justify-content:flex-end;gap:8px}.issue-create-form footer button{padding:9px 15px;border:1px solid var(--line);border-radius:8px;background:#fff;color:var(--ink);cursor:pointer}.issue-create-form footer .primary{border-color:var(--green);background:var(--green);color:#fff}
.issue-thread{height:100%;display:flex;min-height:0;flex-direction:column}.issue-thread>header{padding:19px 22px 16px;border-bottom:1px solid var(--line)}.issue-thread>header h2{margin:7px 0 6px;color:var(--ink);font:500 24px/1.35 Georgia,"Noto Serif SC",serif}.issue-thread>header p{margin:0;color:var(--muted);font-size:12px}.issue-conversation{flex:1;min-height:0;overflow:auto;padding:18px 22px}.issue-post{padding:15px 16px;border:1px solid var(--line);border-radius:10px;background:#fff}.issue-post+.issue-post{margin-top:10px}.issue-post.reply{margin-left:24px;background:#fbfcf9}.issue-post-author{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px;color:var(--muted);font-size:12px}.issue-post-author strong{color:var(--green);font-size:14px}.issue-post-body{color:#303b36;font-size:14px;line-height:1.75;white-space:pre-wrap;overflow-wrap:anywhere}.issue-reply-form{padding:12px 22px 16px;border-top:1px solid var(--line);background:#fbfcf9}.issue-reply-form label{margin:0}.issue-reply-form textarea{width:100%;min-height:76px}.issue-reply-form .error{margin:4px 0;min-height:16px}.issue-reply-form>button{display:block;margin-left:auto;padding:9px 15px}
@media(max-width:720px){.issue-dialog{width:calc(100vw - 16px);height:calc(100dvh - 16px)}.issue-dialog>header{height:76px;padding:9px 12px}.issue-dialog>header small{display:none}.issue-header-actions .primary{padding:8px 10px}.issue-dialog-body{height:calc(100% - 76px);grid-template-columns:1fr;grid-template-rows:minmax(150px,32%) minmax(0,1fr)}.issue-list-pane{border-right:0;border-bottom:1px solid var(--line)}.issue-list-heading{height:40px}.issue-list-item{padding:9px}.issue-thread>header{padding:14px 16px 12px}.issue-thread>header h2{font-size:20px}.issue-conversation{padding:12px 16px}.issue-post.reply{margin-left:10px}.issue-reply-form{padding:10px 16px 12px}.issue-create-form{padding:18px 16px}}

/* Explicit AI tools: chat/card tabs, paper card, writing assistant, multi-paper QA */
.ai-tabs{height:36px;display:flex;gap:4px;padding:5px 12px;border-bottom:1px solid var(--line);background:#fafbf8;flex-shrink:0}.ai-tabs button{flex:1;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.ai-tabs button.active{background:#e5ede8;color:var(--green);font-weight:750}.ai-mode-panel,.paper-card-panel{display:flex;min-height:0;flex:1;flex-direction:column}.ai-mode-panel .chat-messages{min-height:0}.paper-card-content{flex:1;min-height:0;overflow:auto;padding:13px}.card-welcome{margin-top:12vh}.paper-card-footer{padding:9px 12px 12px;border-top:1px solid var(--line);background:#fffefa;flex-shrink:0}.paper-card-footer p{margin:0 0 7px;color:var(--muted);font-size:8px;line-height:1.45}.paper-card-quality{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:0 0 7px;color:var(--muted);font-size:8px}.paper-card-quality select{width:auto;min-width:118px;padding:5px 7px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#34403b;font-size:8px}.paper-card-footer button{width:100%;padding:9px}.paper-card-footer button:disabled{opacity:.45;cursor:not-allowed}.paper-card-meta{margin-bottom:7px;color:var(--muted);font-size:8px}.paper-card-stale{margin:0 0 8px;padding:7px;border-radius:6px;background:#fff3cc;color:#7b6110;font-size:9px}.paper-card-coverage{margin:0 0 7px;border:1px solid var(--line);border-radius:7px;background:#f7f9f6}.paper-card-coverage summary{padding:7px 8px;color:var(--green);font-size:8px;cursor:pointer}.paper-card-coverage ul{display:grid;gap:5px;margin:0;padding:0 8px 8px;list-style:none}.paper-card-coverage li{display:grid;grid-template-columns:1fr auto;gap:2px 6px;padding:5px;border-radius:5px;background:#fff}.paper-card-coverage li.missing{opacity:.62}.paper-card-coverage strong,.paper-card-coverage span{font-size:8px}.paper-card-coverage small{grid-column:1/-1;overflow:hidden;color:var(--muted);font-size:7px;text-overflow:ellipsis;white-space:nowrap}.paper-card-field{padding:9px 2px;border-bottom:1px solid var(--line)}.paper-card-field>header{display:flex;align-items:center;justify-content:space-between;gap:7px;margin-bottom:5px}.paper-card-field h4{margin:0;color:var(--green);font:600 11px Georgia,"Noto Serif SC",serif}.evidence-status{padding:2px 5px;border-radius:8px;font-size:7px;white-space:nowrap}.evidence-status.full{background:#e4f1e8;color:#236548}.evidence-status.partial{background:#fff2cd;color:#7a5a0a}.evidence-status.missing{background:#f0f0ec;color:#77807b}.paper-card-field p,.paper-card-field li{margin:3px 0;color:#34403b;font-size:10px;line-height:1.6}.paper-card-field table,.ai-writing-result table,.comparison-ai-result table{width:100%;border-collapse:collapse;font-size:9px}.paper-card-field th,.paper-card-field td,.ai-writing-result th,.ai-writing-result td,.comparison-ai-result th,.comparison-ai-result td{padding:5px;border:1px solid var(--line);text-align:left}.paper-card-keywords{display:flex;flex-wrap:wrap;gap:4px;padding:9px 0}.paper-card-keywords span{padding:3px 6px;border-radius:9px;background:#e7eee9;color:var(--green);font-size:8px}.paper-card-loading,.ai-writing-loading{padding:24px 8px;color:var(--muted);font-size:10px;text-align:center}.ai-writing-tool{border-color:#c4d5cc!important;background:#f1f6f2!important;color:var(--green)!important;font-weight:700}.ai-writing-request{padding:9px;border-bottom:1px solid var(--line)}.ai-writing-request label{margin:0;font-size:9px}.ai-writing-request textarea{width:100%;padding:7px;border:1px solid var(--line);border-radius:7px;resize:vertical;font-size:10px}.ai-writing-request p{margin:6px 0;color:var(--muted);font-size:8px;line-height:1.5}.ai-writing-request button{width:100%;padding:8px}.ai-writing-result{flex:1;min-height:0;overflow:auto;padding:10px;color:#34403b;font:10px/1.65 Georgia,"Noto Serif SC",serif}.ai-writing-result h1,.ai-writing-result h2,.ai-writing-result h3{line-height:1.35}.ai-writing-result pre{overflow:auto;padding:8px;border-radius:6px;background:#1e2623;color:#edf2ef}.ai-writing-result-actions{display:flex;gap:6px;padding:8px;border-top:1px solid var(--line)}.ai-writing-result-actions button{flex:1;padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-size:9px;cursor:pointer}.ai-writing-result-actions .primary{border-color:var(--green);background:var(--green);color:#fff}.comparison-ai{padding:9px 12px;border-bottom:1px solid var(--line);background:#fbfcf9}.comparison-ai>div:first-child{display:flex;gap:7px}.comparison-ai input{height:34px;padding:6px 9px;font-size:10px}.comparison-ai button{white-space:nowrap;padding:7px 12px}.comparison-ai>p{margin:5px 0 0;color:var(--muted);font-size:8px}.comparison-ai-result{max-height:240px;margin-top:8px;padding:9px;overflow:auto;border:1px solid var(--line);border-radius:7px;background:#fff;font-size:10px;line-height:1.6}.comparison-ai-result h1,.comparison-ai-result h2,.comparison-ai-result h3{margin:.5em 0}.comparison-dialog .comparison-content{max-height:calc(100vh - 205px)}
.paper-card-stream-status{position:sticky;top:-13px;z-index:2;display:flex;align-items:center;gap:8px;margin:-3px -3px 7px;padding:9px;border:1px solid #cfddd5;border-radius:8px;background:rgba(245,249,246,.96);backdrop-filter:blur(4px)}.paper-card-stream-status>span{width:9px;height:9px;flex:0 0 auto;border:2px solid #b8cdc1;border-top-color:var(--green);border-radius:50%;animation:paper-card-spin .8s linear infinite}.paper-card-stream-status div{display:grid;gap:2px}.paper-card-stream-status strong{color:var(--green);font-size:9px}.paper-card-stream-status small{color:var(--muted);font-size:8px}.paper-card-field.streaming{animation:paper-card-appear .18s ease-out}.paper-card-field.streaming:last-child{border-bottom:0}@keyframes paper-card-spin{to{transform:rotate(360deg)}}@keyframes paper-card-appear{from{opacity:.45;transform:translateY(2px)}to{opacity:1;transform:none}}

/* Collapsible, floating, and horizontally resizable workspace panels */
.app-shell{position:relative;--library-width:290px;--library-column:var(--library-width);--ai-width:370px;--ai-display-width:var(--ai-width);--ai-column:var(--ai-display-width);--ai-float-x:calc(100% - var(--ai-display-width) - 12px);--ai-float-y:12px;grid-template-columns:var(--library-column) minmax(0,1fr) var(--ai-column)!important}
.library-panel,.ai-panel{position:relative;z-index:2}.app-shell.library-collapsed{--library-column:48px}.app-shell.ai-collapsed{--ai-display-width:48px}.app-shell.ai-floating{--ai-column:0px}
.panel-action{height:28px;padding:0 8px;border:1px solid var(--line);border-radius:7px;background:#fff;color:var(--green);font-size:10px;line-height:1;cursor:pointer}.panel-action:hover{border-color:#9db8aa;background:#f2f7f3}.panel-action:focus-visible,.panel-resizer:focus-visible{outline:2px solid var(--green-2);outline-offset:2px}.panel-action:disabled{cursor:default;opacity:.58}
.app-logo{padding-right:10px}.library-toggle{width:28px;flex:0 0 28px;margin-left:auto;padding:0;font-size:20px}.app-shell.library-collapsed .library-panel>:not(.app-logo){display:none}.app-shell.library-collapsed .app-logo{height:100%;justify-content:center;padding:14px 0;border-bottom:0}.app-shell.library-collapsed .app-logo>span,.app-shell.library-collapsed .app-logo>div{display:none}.app-shell.library-collapsed .library-toggle{margin:0}
.ai-header{gap:8px}.ai-heading{min-width:0;flex:1}.ai-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ai-header-actions{min-width:0;justify-content:flex-end}.ai-header-actions select{min-width:0}.ai-float-button{white-space:nowrap}.ai-collapse-button{width:28px;flex:0 0 28px;padding:0;font-size:18px}
.app-shell.ai-floating .ai-panel{position:absolute;z-index:7;left:var(--ai-float-x);top:var(--ai-float-y);right:auto;bottom:auto;width:var(--ai-display-width);height:min(720px,calc(100% - 24px));border:1px solid var(--line);border-radius:13px;box-shadow:0 20px 64px rgba(23,32,29,.22);overflow:hidden}.app-shell.ai-floating .ai-header{height:68px}.app-shell.ai-floating .ai-heading{cursor:grab;user-select:none}.app-shell.ai-floating .ai-heading:active{cursor:grabbing}.app-shell.ai-collapsed .ai-panel>:not(.ai-header){display:none}.app-shell.ai-collapsed .ai-header{height:100%;justify-content:center;padding:0;border-bottom:0}.app-shell.ai-collapsed .ai-header>.ai-header-actions,.app-shell.ai-collapsed .ai-heading>span,.app-shell.ai-collapsed .ai-heading>strong{display:none}.app-shell.ai-collapsed .ai-heading{flex:0}.app-shell.ai-collapsed .ai-collapse-button{margin:0}.app-shell.ai-collapsed .ai-resizer{display:none}
.panel-resizer{position:absolute;z-index:9;top:0;bottom:0;width:12px;cursor:col-resize;touch-action:none}.panel-resizer::after{content:"";position:absolute;left:5px;top:0;bottom:0;width:2px;background:rgba(31,89,71,.12);transition:background .15s,box-shadow .15s}.panel-resizer:hover::after,.panel-resizer:focus-visible::after,.panel-resizing .panel-resizer::after{background:var(--green-2);box-shadow:0 0 0 2px rgba(45,118,95,.12)}.library-resizer{left:var(--library-column);transform:translateX(-50%)}.ai-resizer{right:var(--ai-column);transform:translateX(50%)}.app-shell.library-collapsed .library-resizer{display:none}.app-shell.ai-floating .ai-resizer{left:calc(var(--ai-float-x) - 6px);right:auto;top:var(--ai-float-y);bottom:auto;height:min(720px,calc(100% - 24px));transform:none}
body.panel-resizing{cursor:col-resize;user-select:none}body.panel-resizing iframe,body.ai-panel-moving iframe{pointer-events:none}body.ai-panel-moving{cursor:grabbing;user-select:none}
@media(max-width:1050px) and (min-width:681px){.app-shell .ai-panel{position:relative;right:auto;top:auto;bottom:auto;width:auto;height:100%;box-shadow:none}.app-shell.ai-floating .ai-panel{position:absolute;left:var(--ai-float-x);top:var(--ai-float-y);right:auto;bottom:auto;width:var(--ai-display-width);height:min(720px,calc(100% - 24px));border:1px solid var(--line);box-shadow:0 20px 64px rgba(23,32,29,.22)}.ai-header{padding-left:10px;padding-right:10px}.ai-header-actions{gap:5px}}
@media(max-width:680px){.app-shell{grid-template-columns:minmax(0,1fr)!important}.panel-resizer{display:none}}

/* Issue resolution states, dedicated community entry, and adjustable AI reading size */
.library-community{padding:8px 12px;border-top:1px solid var(--line);background:#fbfcf9;flex-shrink:0}.issue-center-button{width:100%;display:grid;grid-template-columns:30px 1fr 16px;align-items:center;gap:8px;padding:9px 10px;border:1px solid #d3ded7;border-radius:9px;background:#fff;color:var(--ink);text-align:left;cursor:pointer}.issue-center-button:hover{border-color:#9db8aa;background:#f1f6f2}.issue-center-button>span:first-child{width:28px;height:28px;display:grid;place-items:center;border-radius:8px;background:#e5eee8;color:var(--green);font-weight:800}.issue-center-button>span:nth-child(2){display:grid;gap:2px;min-width:0}.issue-center-button strong{color:var(--green);font-size:11px}.issue-center-button small{overflow:hidden;color:var(--muted);font-size:8px;text-overflow:ellipsis;white-space:nowrap}.issue-center-button b{color:var(--muted);font-size:17px;font-weight:400}
.issue-list-tags,.issue-thread-top{display:flex;align-items:center;gap:6px}.issue-status{display:inline-flex;align-items:center;width:max-content;padding:3px 7px;border-radius:10px;font-size:11px;font-weight:750}.issue-status.open{background:#fff0dc;color:#8a5721}.issue-status.closed{background:#e4f0e8;color:#236548}.issue-thread-top{min-height:29px}.issue-owner-actions{display:flex;align-items:center;gap:5px;margin-left:auto}.issue-owner-actions button{padding:5px 8px;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--green);font-size:11px;cursor:pointer}.issue-owner-actions button:hover{border-color:#9db8aa;background:#f2f7f3}.issue-owner-actions button.danger{color:var(--danger)}.issue-owner-actions button:disabled{opacity:.5;cursor:wait}
.ai-tabs{height:auto;min-height:38px;align-items:center;justify-content:space-between;gap:7px}.ai-tab-buttons{display:flex;min-width:0;flex:1;gap:4px}.ai-tab-buttons>button{flex:1;border:0;border-radius:6px;background:transparent;color:var(--muted);font-size:10px;cursor:pointer}.ai-tab-buttons>button.active{background:#e5ede8;color:var(--green);font-weight:750}.ai-font-controls{display:flex;align-items:center;gap:2px;flex:0 0 auto}.ai-font-controls button{width:25px;height:25px;flex:0 0 25px;padding:0;border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--green);font-size:9px;font-weight:700;cursor:pointer}.ai-font-controls button:disabled{opacity:.35;cursor:not-allowed}.ai-font-controls output{min-width:31px;color:var(--muted);font-size:8px;text-align:center}
.ai-panel .message{font-size:calc(13px * var(--ai-font-scale,1))}.ai-panel .message small{font-size:calc(9px * var(--ai-font-scale,1))}.ai-panel .message.assistant .message-content code{font-size:calc(12px * var(--ai-font-scale,1))}.ai-panel .message.assistant table{font-size:calc(11px * var(--ai-font-scale,1))}.ai-panel .source-chip{font-size:calc(9px * var(--ai-font-scale,1))}.streaming-message{position:relative}.streaming-message::before{content:"";position:absolute;left:6px;top:15px;width:4px;height:4px;border-radius:50%;background:var(--green-2);animation:stream-pulse 1s ease-in-out infinite}.streaming-message .message-content{padding-left:7px}.stream-placeholder{color:var(--muted)}.stream-error{border:1px solid #edc8c3;background:#fff5f3!important;color:#8c3b31}@keyframes stream-pulse{50%{opacity:.25;transform:scale(.75)}}
.ai-panel .paper-card-field h4{font-size:calc(11px * var(--ai-font-scale,1))}.ai-panel .paper-card-field p,.ai-panel .paper-card-field li{font-size:calc(10px * var(--ai-font-scale,1))}.ai-panel .paper-card-field table{font-size:calc(9px * var(--ai-font-scale,1))}.paper-card-stream-fields{min-height:0}.paper-card-stream-status small{font-variant-numeric:tabular-nums}
@media(max-width:720px){.issue-owner-actions{flex-wrap:wrap;justify-content:flex-end}.issue-thread-top{align-items:flex-start}.ai-font-controls output{display:none}}

/* ICP filing display required for the public homepage and workspace footer. */
.auth-panel{position:relative}.icp-filing{display:flex;align-items:center;justify-content:center;margin:0;color:#77837d;font-size:12px;line-height:1.5;text-align:center}.icp-filing a{color:inherit;text-decoration:none}.icp-filing a:hover,.icp-filing a:focus-visible{color:var(--green);text-decoration:underline}.icp-auth-filing{position:absolute;right:20px;bottom:24px;left:20px}.icp-app-filing{flex:0 0 auto;min-height:30px;padding:6px 10px 9px;border-top:1px solid var(--line);background:#fbfcf9}.app-shell.library-collapsed .icp-app-filing{display:none}@media(max-width:680px){.icp-auth-filing{bottom:16px}}
