:root{font-family:Inter,PingFang SC,Microsoft YaHei,sans-serif;color:#111625;background:#fff;font-synthesis:none;--green: #38c793;--green-hover: #288d68;--green-strong: #1f6d51;--green-soft: #effaf6;--text: #111625;--muted: #596881;--weak: #8796af;--border: #dee4ee;--divider: #eff3f8;--surface: #f7f9fb;--danger: #df1c41}*{box-sizing:border-box}body{margin:0}button,input,textarea{font:inherit}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible,summary:focus-visible,textarea:focus-visible,input:focus-visible{outline:2px solid rgba(56,199,147,.45);outline-offset:2px}.app-shell{display:flex;width:100vw;height:100vh;overflow:hidden}.sidebar{width:236px;flex:none;display:flex;flex-direction:column;padding:0 10px 12px;color:var(--text);background:#f8fafb;border-right:1px solid var(--border)}.brand{height:58px;display:flex;align-items:center;gap:9px;padding:0 8px;color:var(--text);font-size:13px;font-weight:600;white-space:nowrap}.brand img{width:29px;height:29px;flex:none;object-fit:contain;border-radius:6px}.brand span{overflow:hidden;text-overflow:ellipsis}.new-chat{height:36px;border:1px solid var(--border);border-radius:7px;display:flex;align-items:center;gap:7px;padding:0 10px;color:var(--text);background:#fff;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 1px 2px #11162508}.new-chat:hover{border-color:#b8d9cd;color:var(--green-strong);background:var(--green-soft)}.new-chat:disabled{opacity:.5;cursor:not-allowed}.sidebar-label{margin:18px 8px 6px;color:var(--weak);font-size:10px;font-weight:500;letter-spacing:.02em}.library-label{margin-top:16px}.tools-label{margin-top:6px}.conversation-list,.case-library{display:flex;flex-direction:column;gap:2px;max-height:29vh;overflow-y:auto}.conversation,.case-item{width:100%;border:0;border-radius:7px;display:flex;flex-direction:column;gap:2px;padding:7px 9px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.conversation:hover,.case-item:hover{background:#f0f5f3;transform:translate(2px)}.conversation.active,.case-item.active{color:var(--green-strong);background:#eaf7f2}.conversation span,.case-item span{overflow:hidden;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.conversation small,.case-item small{color:var(--weak);font-size:10px}.conversation.active small,.case-item.active small{color:var(--green-hover)}.sidebar-empty{margin:5px 9px;color:var(--weak);font-size:10px;line-height:16px}.sidebar-spacer{flex:1;min-height:10px}.sidebar-row{min-height:42px;border:0;border-top:1px solid var(--divider);display:flex;align-items:center;gap:8px;padding:7px 8px;color:var(--text);background:transparent;text-align:left;text-decoration:none;cursor:pointer}.sidebar-row:hover{color:var(--green-strong);background:var(--green-soft)}.sidebar-row>svg{width:16px;height:16px;flex:none;color:var(--muted)}.sidebar-row>span{min-width:0;flex:1;display:flex;flex-direction:column;gap:2px}.sidebar-row b{overflow:hidden;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.sidebar-row small{display:flex;align-items:center;gap:5px;color:var(--weak);font-size:10px}.main{min-width:0;flex:1;display:flex;flex-direction:column;background:#fff}.topbar{height:50px;flex:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 22px;border-bottom:1px solid var(--divider)}.topbar>b{min-width:0;overflow:hidden;font-size:13px;font-weight:600;text-overflow:ellipsis;white-space:nowrap}.case-status{flex:none;padding:3px 8px;border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px}.case-status.waiting{color:var(--green-strong);background:#e9f8f2}.thread-root{height:calc(100vh - 50px);position:relative}.thread-viewport{height:100%;overflow-y:auto;display:flex;flex-direction:column;padding:0 max(28px,calc((100% - 1020px)/2));scroll-behavior:smooth}.welcome{width:100%;max-width:720px;margin:auto;padding:56px 16px;text-align:left}.welcome h1{margin:0 0 13px;font-size:19px;line-height:29px;font-weight:600;white-space:nowrap}.welcome blockquote{margin:0 0 22px;padding:1px 0 1px 13px;border-left:2px solid var(--green);color:var(--muted);font-size:13px;line-height:22px}.suggestion{border:1px solid #9edfc8;border-radius:7px;padding:8px 12px;color:var(--green-strong);background:#f4fcf9;font-size:12px;font-weight:500;cursor:pointer;box-shadow:0 2px 7px #1f6d510f}.suggestion:hover{border-color:var(--green);background:#eaf9f3;transform:translateY(-1px);box-shadow:0 5px 14px #1f6d5117}.message{margin:0;padding:2px 0;animation:messageEnter .2s ease-out both}.user-message{width:fit-content;max-width:min(220px,70%);margin:3px 0 6px auto;padding:4px 9px;border:0;border-radius:15px 15px 2px;color:var(--text);background:#f2f4f7;font-size:12px;line-height:18px}.assistant-message{display:block}.message-body{min-width:0;color:#28364a;font-size:13px;line-height:22px}.markdown-message{font-size:13px;line-height:22px;font-weight:400}.markdown-message p{margin:0 0 6px}.markdown-message>:last-child{margin-bottom:0}.markdown-message h2{margin:13px 0 5px;color:var(--text);font-size:14px;line-height:22px;font-weight:600}.markdown-message ul,.markdown-message ol{margin:3px 0 7px;padding-left:20px}.markdown-message li{margin:1px 0}.markdown-message strong{color:var(--text);font-weight:600}.markdown-message code{padding:1px 4px;border-radius:4px;background:var(--surface);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px}.danger-message{display:block;margin:3px 0;padding:9px 11px;border:1px solid #f3c8d0;border-left:3px solid var(--danger);border-radius:0 7px 7px 0;color:#8f1832;background:#fff7f8}.icon-button{border:0;padding:4px;color:var(--weak);background:transparent;cursor:pointer}.icon-button:hover{color:var(--green-strong)}.tool-row{margin:1px 0 3px;border:0;background:transparent}.tool-row>summary{width:fit-content;max-width:100%;min-height:26px;display:inline-flex;align-items:center;gap:6px;padding:2px 3px 2px 0;border-radius:5px;list-style:none;color:var(--muted);cursor:pointer}.tool-row summary::-webkit-details-marker{display:none}.tool-row>summary:hover{color:var(--green-strong);background:var(--green-soft)}.tool-icon{flex:none;color:var(--weak)}.tool-title{min-width:0;flex:0 1 auto;display:inline-flex;align-items:baseline;gap:5px}.tool-title b{overflow:hidden;color:inherit;font-size:12px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.tool-title small{flex:none;color:var(--weak);font-size:10px}.tool-row.complete>summary{color:var(--green-hover)}.tool-row.complete .tool-icon{color:var(--green-hover)}.tool-row.running>summary{color:var(--green-strong)}.tool-row.running .tool-icon{color:var(--green-hover);filter:drop-shadow(0 0 4px rgba(56,199,147,.55));animation:toolGlow 1.15s ease-in-out infinite}.tool-row.running .tool-title b,.tool-row.running .tool-title small{color:transparent;background:linear-gradient(105deg,#738096 18%,#237f60 42%,#64d5ad,#237f60 58%,#738096 82%);background-size:240% 100%;background-position:120% 0;background-clip:text;-webkit-background-clip:text;animation:textSweep 1.45s linear infinite}.tool-row.failed>summary,.tool-row.failed .tool-icon{color:var(--danger)}.tool-arrow{flex:none;margin-left:0;transition:transform .2s ease}.tool-row[open]>summary .tool-arrow{transform:rotate(180deg)}.tool-detail{margin:1px 0 4px 24px;padding:7px 9px;border-left:1px solid #dfeee8;color:var(--muted);background:#fbfdfc;font-size:11px;line-height:18px;animation:detailReveal .2s ease-out both}.tool-detail>p{margin:0 0 5px}.tool-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;margin:7px 0;overflow:hidden;border:1px solid #dfeee8;border-radius:7px;background:#dfeee8}.tool-summary-grid>span{min-width:0;padding:7px 8px;color:var(--weak);background:#f7fcfa;font-size:9px}.tool-summary-grid b{display:block;overflow:hidden;margin-top:2px;color:#29483d;font-size:10px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.process-list{display:grid;gap:4px;margin:8px 0}.process-item{padding:7px 9px;border-left:2px solid #9edfc8;background:#fbfdfc}.process-item header{display:flex;justify-content:space-between;gap:8px}.process-item header b{color:var(--text);font-size:11px;font-weight:600}.process-item header small{color:var(--green-hover);font-size:9px}.process-item dl{margin:5px 0 0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 14px}.process-item dl>div{min-width:0;display:grid;grid-template-columns:42px minmax(0,1fr)}.process-item dt{color:var(--weak)}.process-item dd{overflow:hidden;margin:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.evidence-strip{display:flex;gap:6px;flex-wrap:wrap}.evidence-strip span{padding:2px 7px;border-radius:999px;color:var(--green-strong);background:#eaf8f3;font-size:9px}.tool-result-line{color:var(--green-strong)}.mcp-facts{margin:6px 0 0}.mcp-facts>div{display:grid;grid-template-columns:66px 1fr;gap:8px;padding:2px 0}.mcp-facts dt{color:var(--weak)}.mcp-facts dd{margin:0;color:var(--muted);overflow-wrap:anywhere}.danger-text{color:var(--danger)}.spinner{width:11px;height:11px;display:inline-block;border:1.5px solid #bde7d8;border-top-color:var(--green-hover);border-radius:50%;animation:spin .7s linear infinite}.approval-card{margin:4px 0 6px;padding:12px;border:1px solid #9edfc8;border-radius:8px;background:#f8fdfa;animation:cardEnter .24s ease-out both}.approval-head{display:flex;align-items:baseline;gap:9px;margin-bottom:9px}.approval-head span{flex:none;color:var(--green-hover);font-size:10px;font-weight:500}.approval-head b{color:var(--text);font-size:14px;font-weight:600}.approval-card dl{margin:0}.approval-card dl>div{display:grid;grid-template-columns:82px 1fr;padding:5px 0;border-top:1px solid #e8f2ee}.approval-card dt{color:var(--weak);font-size:11px}.approval-card dd{margin:0;color:#34483f;font-size:11px;line-height:18px}.approval-card label,.dialog-content label{display:flex;flex-direction:column;gap:5px;margin-top:9px;color:var(--muted);font-size:11px}.approval-card textarea,.dialog-content input{padding:7px 9px;border:1px solid #c5cfdd;border-radius:7px;outline:none;color:var(--text);background:#fff}.approval-card textarea{min-height:54px;resize:vertical}.approval-card textarea:focus,.dialog-content input:focus{border-color:var(--green);box-shadow:0 0 0 3px #38c7931a}.approval-actions,.dialog-actions{display:flex;justify-content:flex-end;gap:7px;margin-top:10px}.primary,.secondary{border-radius:7px;padding:7px 11px;font-size:11px;font-weight:500;cursor:pointer}.primary{border:1px solid var(--green-hover);color:#fff;background:var(--green-hover)}.primary:hover{border-color:var(--green-strong);background:var(--green-strong);transform:translateY(-1px)}.secondary{border:1px solid var(--border);color:var(--muted);background:#fff}.secondary:hover{border-color:#9edfc8;color:var(--green-strong);background:var(--green-soft)}.primary:disabled,.secondary:disabled{opacity:.45;cursor:not-allowed;transform:none}.receipt{margin:3px 0 5px;padding:10px 12px;border:1px solid #c4e5d9;border-left:3px solid var(--green);border-radius:7px;color:#29483d;background:#f7fcfa;animation:cardEnter .2s ease-out both}.receipt.rejected{border-color:#f1cbd3;border-left-color:var(--danger);background:#fff9fa}.receipt-head{display:flex;align-items:center;gap:7px}.receipt-icon{width:22px;height:22px;flex:none;display:grid;place-items:center;border-radius:5px;color:var(--green-hover);background:#e4f6ef}.receipt-head b{color:var(--text);font-size:12px;font-weight:600}.receipt-status{margin-left:auto;padding:2px 7px;border-radius:999px;color:var(--green-strong);background:#e4f6ef;font-size:10px;font-weight:500}.receipt-owner,.receipt-note,.receipt-meta{margin:5px 0 0 29px;font-size:11px;line-height:18px}.receipt-owner{color:#34483f}.receipt-note{color:var(--text)}.receipt-meta{color:var(--weak);font-size:10px}.receipt-meta span{padding:0 4px}.evidence-submission{display:flex;align-items:center;gap:8px;margin:8px 0 1px 29px;padding:8px 9px;border:1px solid #d7e9e2;border-radius:6px;color:var(--text);background:#fff}.evidence-file-icon{width:28px;height:28px;flex:none;display:grid;place-items:center;border-radius:6px;color:var(--green-hover);background:#eaf8f3}.evidence-submission>div{min-width:0;flex:1;display:flex;flex-direction:column;gap:1px}.evidence-submission b{overflow:hidden;font-size:11px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.evidence-submission span{color:var(--muted);font-size:10px}.evidence-submission em{flex:none;padding:2px 6px;border-radius:999px;color:var(--green-strong);background:#eaf8f3;font-size:9px;font-style:normal}.approval-card .evidence-submission{margin:9px 0 0;border-style:dashed;background:#fff}.evidence-submission.pending em{color:var(--muted);background:var(--surface)}.completion-actions{display:flex;align-items:center;gap:3px;margin:8px 0 0;color:var(--weak)}.completion-actions button{width:27px;height:27px;display:grid;place-items:center;border:0;border-radius:6px;color:var(--muted);background:transparent;cursor:pointer}.completion-actions button:hover,.completion-actions button.active{color:var(--green-strong);background:var(--green-soft)}.completion-actions>span{display:inline-flex;align-items:center;margin-left:5px;font-size:10px}.case-detail-view{min-height:0;flex:1;overflow-y:auto;background:#fff}.case-detail-inner{width:min(900px,calc(100% - 48px));margin:0 auto;padding:26px 0 48px}.case-back{display:inline-flex;align-items:center;gap:5px;margin:0 0 14px;padding:4px 0;border:0;color:var(--muted);background:transparent;font-size:11px;cursor:pointer}.case-back:hover{color:var(--green-strong)}.case-detail-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:0 0 18px;border-bottom:1px solid var(--divider)}.case-detail-header>svg{flex:none;color:var(--green-hover)}.case-eyebrow{color:var(--green-hover);font-size:10px;font-weight:500}.case-detail-header h1{margin:4px 0;color:var(--text);font-size:20px;line-height:28px;font-weight:600}.case-detail-header p{margin:0;color:var(--weak);font-size:10px}.case-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:18px 0 22px;border:1px solid var(--border);border-radius:8px;overflow:hidden}.case-metric{min-width:0;padding:11px 13px;border-right:1px solid var(--divider);background:#fbfcfd}.case-metric:last-child{border-right:0}.case-metric span{display:block;color:var(--weak);font-size:10px}.case-metric b{display:block;overflow:hidden;margin-top:3px;color:var(--text);font-size:13px;font-weight:500;text-overflow:ellipsis;white-space:nowrap}.case-section-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}.case-section-grid section{padding:17px 0;border-top:1px solid var(--divider)}.case-section-grid h2,.case-boundary h2{margin:0 0 7px;color:var(--text);font-size:14px;line-height:22px;font-weight:500}.case-section-grid p,.case-section-grid ul,.case-boundary p{margin:0;color:var(--muted);font-size:12px;line-height:21px}.case-section-grid ul{padding-left:18px}.case-section-grid li{margin:2px 0}.case-boundary{margin-top:1px;padding:17px 0 0;border-top:1px solid var(--divider)}.case-boundary>div{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}.case-boundary>div span{padding:3px 8px;border-radius:999px;color:var(--muted);background:var(--surface);font-size:10px}.viewport-footer{position:sticky;bottom:0;margin-top:auto;padding:24px 0 11px;background:linear-gradient(transparent,#fff 28%)}.composer{min-height:45px;display:flex;align-items:flex-end;gap:7px;padding:6px 7px 6px 11px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 6px 18px #11162512}.composer:focus-within{border-color:var(--green);box-shadow:0 6px 18px #1116250f,0 0 0 3px #38c79314}.composer-input{min-height:31px;max-height:120px;flex:1;padding:6px 0;border:0;outline:none;resize:none;color:var(--text);font-size:12px;line-height:19px}.composer-action{height:31px;display:flex;align-items:center;gap:5px;padding:0 11px;border:0;border-radius:7px;color:#fff;background:var(--green-hover);font-size:11px;cursor:pointer}.composer-action:hover{background:var(--green-strong)}.composer-action.stop{background:#456258}.composer.interrupted{border-color:#b8d9cd;background:#fbfdfc}.composer-input:disabled{color:var(--weak);background:transparent;cursor:default}.composer-action.continue{min-width:58px;justify-content:center}.composer-note{margin:5px 0 0;color:var(--weak);font-size:9px;text-align:center}.scroll-bottom{position:absolute;right:0;bottom:78px;width:31px;height:31px;display:grid;place-items:center;border:1px solid var(--border);border-radius:50%;color:var(--muted);background:#fff;box-shadow:0 4px 10px #11162517;cursor:pointer}.scroll-bottom:hover{color:var(--green-strong);border-color:#9edfc8;transform:translateY(-1px)}.resume-strip{display:flex;align-items:center;gap:10px;margin:5px 0 1px;padding:8px 10px;border:1px solid #d7e9e2;border-radius:7px;color:#34483f;background:#f7fcfa;font-size:11px}.resume-strip>div{min-width:0;flex:1;display:flex;align-items:baseline;gap:8px}.resume-strip b{flex:none;color:var(--green-strong);font-size:11px;font-weight:500}.resume-strip span{overflow:hidden;color:var(--muted);text-overflow:ellipsis;white-space:nowrap}.resume-reset{flex:none;border:0;padding:3px 5px;color:var(--muted);background:transparent;font-size:10px;cursor:pointer}.resume-reset:hover{color:var(--green-strong)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#11162552;animation:fadeIn .16s ease-out both}.dialog-content{position:fixed;top:50%;left:50%;width:min(450px,calc(100vw - 28px));padding:17px;border:1px solid var(--border);border-radius:10px;background:#fff;box-shadow:0 22px 54px #11162530;transform:translate(-50%,-50%);animation:dialogEnter .2s ease-out both}.dialog-title{display:flex;justify-content:space-between;gap:14px}.dialog-title h2{margin:0 0 3px;font-size:15px;font-weight:600}.dialog-title p{margin:0;color:var(--muted);font-size:11px}.connection-summary{display:flex;align-items:center;gap:7px;margin-top:11px;padding:8px;border-radius:7px;color:var(--muted);background:var(--surface);font-size:11px}.source-summary{align-items:flex-start;margin-bottom:4px}.source-summary>span{display:flex;flex-direction:column;gap:2px}.source-summary b{color:var(--text);font-weight:500}.source-summary small{color:var(--weak);font-size:10px}.status-dot{width:7px;height:7px;display:inline-block;border-radius:50%;background:#f2ae40}.status-dot.connected{background:var(--green);box-shadow:0 0 0 3px #38c7931a}.status-dot.error{background:var(--danger)}.loading-screen{height:100vh;display:flex;align-items:center;justify-content:center;gap:8px;color:var(--muted);font-size:12px}.new-chat,.conversation,.case-item,.sidebar-row,.suggestion,.tool-row summary,.primary,.secondary,.icon-button,.composer-action,.scroll-bottom{transition:color .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease,transform .18s ease}@keyframes spin{to{transform:rotate(360deg)}}@keyframes messageEnter{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:translateY(0)}}@keyframes detailReveal{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}@keyframes cardEnter{0%{opacity:0;transform:translateY(5px) scale(.996)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes toolGlow{0%,to{opacity:.58;filter:drop-shadow(0 0 0 rgba(56,199,147,0))}50%{opacity:1;filter:drop-shadow(0 0 5px rgba(56,199,147,.72))}}@keyframes textSweep{to{background-position:-120% 0}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes dialogEnter{0%{opacity:0;transform:translate(-50%,calc(-50% + 6px)) scale(.99)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}@media(max-width:920px){.sidebar{width:210px}.thread-viewport{padding:0 22px}.tool-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.case-detail-inner{width:calc(100% - 36px)}}@media(max-width:680px){.sidebar{width:62px;padding:0 7px 10px}.brand{justify-content:center;padding:0}.brand span,.sidebar-label,.conversation span,.conversation small,.case-item span,.case-item small,.sidebar-empty,.sidebar-row span,.sidebar-row>svg:last-child{display:none}.new-chat,.sidebar-row{justify-content:center;padding:0;font-size:0}.conversation,.case-item{height:34px}.topbar,.thread-viewport{padding:0 14px}.welcome h1{font-size:16px;white-space:normal}.approval-card dl>div{grid-template-columns:1fr;gap:1px}.process-item dl{grid-template-columns:1fr}.tool-detail{padding-left:8px}.case-metrics,.case-section-grid{grid-template-columns:1fr}.case-metric{border-right:0;border-bottom:1px solid var(--divider)}.case-metric:last-child{border-bottom:0}.evidence-submission{margin-left:0;align-items:flex-start}.evidence-submission em{display:none}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
