:root{--navy:#182d49;--ink:#1c2b40;--muted:#778297;--line:#e5eaf1;--bg:#f5f7fb;--blue:#315bdb;--teal:#168477;--light:#eef3ff;--shadow:0 5px 22px #203a5d05;font-family:Inter,"Microsoft YaHei","PingFang SC",sans-serif;color:var(--ink);background:var(--bg);font-size:14px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,select,input[type=checkbox]{cursor:pointer}button{border:0}a{color:var(--blue);text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #90acff;outline-offset:2px}button:disabled{opacity:.5;cursor:wait}.sidebar{position:fixed;inset:0 auto 0 0;width:238px;background:#fff;border-right:1px solid var(--line);padding:31px 20px 20px;display:flex;flex-direction:column;z-index:10}.brand{display:flex;gap:11px;align-items:center;color:var(--navy);font-size:20px;font-weight:750;letter-spacing:1px}.brand small{display:block;font-size:9px;font-weight:500;letter-spacing:1.8px;color:var(--muted);margin-top:5px}.brand-mark{display:grid;place-items:center;width:40px;height:43px;border-radius:11px;background:var(--navy);color:white;font-size:24px;box-shadow:3px 4px 0 #dbe7f8}.workspace-label{display:flex;justify-content:space-between;align-items:center;font-size:11px;color:var(--muted);margin:39px 12px 17px;letter-spacing:1px}.workspace-label span{font-size:10px;background:var(--bg);padding:3px 6px;border-radius:4px}.nav-item{display:flex;align-items:center;gap:13px;padding:13px 15px;margin-bottom:7px;border-radius:7px;color:#6b778b;font-weight:500}.nav-item.active{color:var(--blue);background:#edf2ff;font-weight:700}.nav-item:hover{background:var(--bg)}.nav-item.active:hover{background:#edf2ff}.nav-item svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.6}.nav-divider{height:1px;background:var(--line);margin:22px 10px}.nav-label{font-size:11px;color:#9ba4b2;margin:0 15px 12px;letter-spacing:1px}.sidebar-bottom{margin-top:auto;padding:25px 13px 4px;border-top:1px solid var(--line)}.live-status{display:flex;gap:8px;align-items:center;color:#4d657c;font-size:12px}.live-status i{width:7px;height:7px;background:#27a58a;border-radius:50%}.sidebar-bottom p{font-size:11px;color:#96a0af;line-height:1.9;margin:12px 0}.text-button{background:none;color:#647c9e;padding:0;font-size:12px}.layout{margin-left:238px;min-height:100vh;display:flex;flex-direction:column}.topbar{height:75px;background:#fff;border-bottom:1px solid var(--line);padding:0 40px;display:flex;align-items:center;justify-content:space-between}.breadcrumb{font-size:12px;color:#94a0b2}.breadcrumb span{margin:0 14px;color:#c4ccda}.breadcrumb strong{font-weight:500;color:#4c5c73}.topbar-right{display:flex;gap:23px;align-items:center}.local-pill{color:#758799;font-size:11px}.avatar{background:#e9eff9;color:#55749a;border:3px solid #f5f8fc;border-radius:50%;width:34px;height:34px;display:grid;place-items:center;font-size:12px}main{padding:34px 40px 25px;max-width:1700px;width:100%;margin:0 auto;flex:1}.page-heading{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:27px}.eyebrow{font-size:10px;color:var(--blue);font-weight:700;letter-spacing:2px;margin-bottom:10px}.page-heading h1{font-size:26px;margin:0 0 10px;letter-spacing:.4px;font-weight:700}.subtle{color:var(--muted);font-size:12px;line-height:1.8}.page-heading p{margin:0}.button{display:inline-flex;justify-content:center;align-items:center;gap:7px;min-height:38px;border-radius:6px;padding:10px 16px;background:var(--blue);color:#fff;font-size:12px;font-weight:600;border:1px solid transparent;white-space:nowrap}.button.secondary{background:#fff;color:#52657e;border:1px solid #dbe2ec}.button.ghost{background:var(--light);color:var(--blue)}.button.danger{background:#fff1f0;color:#b5534d}.button.small{padding:6px 11px;min-height:30px;font-size:11px}.actions{display:flex;align-items:center;gap:10px}.project-strip{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 20px;display:flex;align-items:center;gap:20px;margin-bottom:25px;box-shadow:var(--shadow)}.project-strip label{font-size:11px;color:var(--muted)}.project-strip select{border:0;color:var(--ink);font-weight:600;background:#fff;min-width:250px;max-width:430px;padding:5px}.strip-meta{margin-left:auto;color:#8794a6;font-size:11px;display:flex;gap:24px}.badge{display:inline-block;background:#edf6f3;color:var(--teal);padding:4px 8px;font-size:10px;border-radius:4px;white-space:nowrap}.badge.muted{background:#f1f3f7;color:#7b8798}.badge.amber{background:#fff6e4;color:#ad7b28}.badge.red{background:#fff0ed;color:#bf6052}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:26px}.stat{padding:22px 23px;background:#fff;border:1px solid var(--line);border-radius:9px;position:relative}.stat-label{font-size:12px;color:#7a8799;margin-bottom:16px}.stat-value{font-size:30px;font-weight:600;letter-spacing:-1px}.stat-value small{font-size:11px;color:#98a3b3;font-weight:400;margin-left:10px;letter-spacing:0}.stat-foot{font-size:10px;color:#98a3b3;margin-top:13px}.stat-dot{position:absolute;right:21px;top:22px;width:29px;height:29px;border-radius:8px;background:#edf2ff;color:var(--blue);display:grid;place-items:center}.stat-dot svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:1.5}.overview-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr);gap:24px}.panel{border:1px solid var(--line);background:#fff;border-radius:9px;box-shadow:var(--shadow);overflow:hidden}.panel-head{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:21px 23px;border-bottom:1px solid #f0f3f7}.panel-head h2{font-size:14px;margin:0;font-weight:650}.panel-body{padding:23px}.panel-link{font-size:11px;color:#8593a8}.task-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;padding:20px}.task-choice{display:block;background:#fff;border:1px solid var(--line);border-radius:7px;padding:19px 15px;text-align:left;color:var(--ink);transition:.15s}.task-choice:hover{border-color:#a6b9f1;transform:translateY(-2px);box-shadow:0 5px 15px #315bdb09}.choice-icon{background:#edf3ff;color:var(--blue);width:35px;height:35px;border-radius:9px;display:grid;place-items:center;margin-bottom:17px}.choice-icon svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.5}.task-choice strong{display:block;font-size:12px;margin-bottom:8px}.task-choice p{font-size:10px;color:#909bac;line-height:1.8;margin:0}.task-hint{border-top:1px solid #f0f3f7;margin:0 20px;padding:15px 0 19px;color:#99a3b1;font-size:10px}.steps{padding:7px 23px 14px}.step{display:flex;gap:14px;padding:15px 0;align-items:flex-start}.step-num{width:24px;height:24px;border-radius:50%;background:#edf2ff;color:var(--blue);font-size:10px;display:grid;place-items:center;flex:none}.step strong{font-size:12px;display:block;margin:3px 0 6px}.step p{font-size:10px;color:#939dad;margin:0;line-height:1.8}.step:not(:last-child){border-bottom:1px dashed #eef0f5}.wide{margin-top:24px}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px}th{text-align:left;background:#fafbfd;color:#919cac;font-weight:500;font-size:10px;padding:13px 22px;white-space:nowrap}td{padding:17px 22px;border-top:1px solid #f0f3f7;color:#5c6d83}.file-name{color:#364d69;font-weight:500;max-width:350px;overflow:hidden;text-overflow:ellipsis}.file-kind{display:inline-block;font-size:9px;font-weight:650;color:#6781aa;background:#f0f4fa;padding:5px 6px;border-radius:4px;margin-right:10px}.empty{text-align:center;padding:45px 25px;color:#93a0b3;font-size:12px;line-height:2}.banner{padding:13px 17px;background:#eef4ff;border:1px solid #e0e9fa;border-radius:7px;color:#647b9b;font-size:11px;line-height:1.9;margin-bottom:22px}.banner.amber{background:#fffaf0;border-color:#f3e8cf;color:#9b8050}.upload-box{border:1.5px dashed #cbd7ee;padding:33px;text-align:center;border-radius:9px;background:#fafcff;margin-bottom:22px}.upload-box.drag{background:#edf3ff;border-color:var(--blue)}.upload-box h3{font-size:14px;margin:8px 0}.upload-box p{font-size:11px;color:#9aa5b7;margin:10px 0 20px}.input{width:100%;background:#fff;border:1px solid #dce3ed;border-radius:6px;padding:11px 12px;color:var(--ink);outline:none}.input:focus{border-color:#9db2ee}.input::placeholder{color:#acb6c4}.field{margin-bottom:18px}.field label{display:block;font-size:12px;color:#66798e;margin-bottom:9px}.field small{display:block;font-size:10px;color:#97a3b2;margin-top:7px;line-height:1.7}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.search-row{display:flex;gap:12px;align-items:center;margin-bottom:20px}.search-row .input{max-width:430px;font-size:12px}.search-row label{font-size:12px;color:#77869c;display:flex;align-items:center;gap:7px}.library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:17px}.library-card{border:1px solid var(--line);border-radius:8px;background:#fff;padding:21px;display:flex;flex-direction:column;min-height:187px;text-align:left;color:var(--ink)}.library-card:hover{border-color:#a7bced;box-shadow:0 4px 18px #3455b00a}.library-card h3{font-size:13px;line-height:1.7;overflow-wrap:anywhere;margin:14px 0 10px;font-weight:600}.library-card p{font-size:11px;color:#8a97a9;line-height:1.9;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.library-card .card-footer{font-size:10px;color:#a4afbe;margin-top:auto;padding-top:17px}.library-count{margin-left:auto;font-size:11px;color:#8c9aaf}.chat-layout{display:grid;grid-template-columns:205px minmax(0,1fr);min-height:610px;height:calc(100vh - 260px);gap:0}.session-panel{padding:18px 12px;border-right:1px solid var(--line);background:#fbfcfe;overflow:auto}.session-panel .button{width:100%;margin-bottom:17px}.session-item{padding:13px 11px;margin-bottom:7px;border-radius:6px;background:transparent;text-align:left;width:100%;color:#78879b;font-size:11px;line-height:1.7}.session-item.active{background:#eaf0fe;color:var(--blue)}.session-item small{display:block;color:#9ba7b7;font-size:9px;margin-top:4px}.chat-main{display:flex;flex-direction:column;min-width:0;min-height:0}.chat-title{padding:17px 23px;border-bottom:1px solid var(--line);font-size:12px;display:flex;justify-content:space-between;align-items:center}.messages{padding:25px;overflow:auto;flex:1;scroll-behavior:smooth}.message{margin-bottom:25px;max-width:100%}.message-meta{font-size:10px;color:#93a1b5;display:flex;gap:10px;margin-bottom:10px}.message-meta strong{color:#4a6383;font-weight:600}.message.user .message-text{background:#f0f4fd;padding:15px 18px;border-radius:8px}.message-text{white-space:pre-wrap;font-size:12px;line-height:2.05;overflow-wrap:anywhere}.message-footer{display:flex;gap:8px;flex-wrap:wrap;margin-top:13px}.sources-detail{font-size:10px;line-height:1.9;color:#8c9cb2;margin-top:12px}.sources-detail summary{cursor:pointer}.composer{border-top:1px solid var(--line);padding:16px 21px;background:white}.composer-top{display:flex;gap:12px;align-items:center;margin-bottom:12px}.composer-top select{font-size:11px;border:1px solid var(--line);padding:7px;border-radius:5px;background:#fff;color:#5e7391;max-width:200px}.attach-count{font-size:10px;color:#8c9bb1}.composer textarea{min-height:72px;max-height:170px;resize:vertical;border:0;outline:none;width:100%;padding:2px 0;font-size:12px;line-height:1.9}.composer-bottom{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#a0acbc;font-size:9px}.chat-empty{text-align:center;padding:30px 15px;color:#7f91ab}.chat-empty .choice-icon{margin:0 auto 18px;width:44px;height:44px}.chat-empty h3{font-size:17px;color:#3c526f;margin:0 0 13px}.chat-empty p{font-size:11px;line-height:2}.suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:20px}.suggestions button{background:#fff;border:1px solid #e0e7f3;color:#7d8da5;padding:9px 12px;border-radius:5px;font-size:10px}.progress-item{display:flex;align-items:center;gap:11px;border:1px solid #e1e9f7;background:#f8faff;border-radius:7px;padding:13px 16px;margin-bottom:20px;color:#627eaa;font-size:11px}.spinner{display:inline-block;width:14px;height:14px;border:2px solid #dae4f8;border-top-color:var(--blue);border-radius:50%;animation:spin .9s linear infinite;flex:none}@keyframes spin{to{transform:rotate(360deg)}}.progress-item .text-button{margin-left:auto}.failed-job{background:#fff6f3;border-color:#f5dfd7;color:#b47762}dialog{border:1px solid var(--line);border-radius:12px;padding:0;max-width:760px;width:calc(100% - 40px);max-height:85vh;box-shadow:0 25px 100px #0c22433d}dialog::backdrop{background:#11294c60;backdrop-filter:blur(2px)}.dialog-head{padding:21px 25px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:15px}.dialog-head h2{margin:0;font-size:16px;overflow-wrap:anywhere}.icon-button{font-size:25px;color:#8d9caf;background:transparent}.dialog-body{padding:25px}.dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px}.document-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.95;background:#f9fbfe;padding:20px;border-radius:6px;max-height:56vh;overflow:auto}.file-check{display:flex;gap:12px;align-items:flex-start;padding:13px 0;border-bottom:1px solid var(--line);font-size:12px}.file-check small{display:block;font-size:10px;color:#98a5b7;margin-top:7px}.file-check input{accent-color:var(--blue);margin-top:2px}.check-label{display:flex;align-items:flex-start;gap:8px;color:#7a8b9e;font-size:11px;line-height:1.9}.check-label input{margin-top:5px}.error-text{color:#b35c4f;font-size:12px;margin:15px 0;line-height:1.9}.loading{padding:100px;text-align:center;color:#8b9aaf}footer{display:flex;justify-content:space-between;border-top:1px solid var(--line);font-size:10px;color:#a0acbc;padding:18px 40px;margin:0 40px 0;padding-left:0;padding-right:0}#toast{display:none;position:fixed;bottom:28px;left:calc(50% + 90px);transform:translateX(-50%);background:#243f60;color:white;padding:13px 23px;border-radius:7px;font-size:12px;box-shadow:0 8px 24px #142e4940;z-index:100;max-width:80vw;line-height:1.7}.notice-list{padding-left:18px;color:#718399;font-size:12px;line-height:2}.checkbox-title{font-weight:600;font-size:12px}.inline-space{margin-top:17px}.error-full{padding:50px;color:#a05e55;line-height:2}.library-pagebar{display:flex;justify-content:center;align-items:center;gap:15px;margin-top:25px;font-size:11px;color:#8c99ad}.mobile-only{display:none}@media(min-width:1500px){main{padding-top:40px}.page-heading{margin-bottom:31px}.task-choice{padding:24px 20px}.stat{padding:25px}}@media(max-width:1150px){.sidebar{width:200px;padding-left:14px;padding-right:14px}.brand{font-size:17px}.brand-mark{width:34px;height:37px}.layout{margin-left:200px}.topbar{padding:0 25px}main{padding:28px 25px}.overview-grid{grid-template-columns:1fr}.library-grid{grid-template-columns:repeat(2,1fr)}.strip-meta{gap:12px}.stats{gap:12px}.stat{padding:18px}.stat-dot{right:14px;top:17px}.stat-value{font-size:26px}.chat-layout{grid-template-columns:170px 1fr}footer{margin:0 25px}.project-strip{gap:10px}}@media(max-width:760px){.sidebar{width:65px;padding:24px 8px}.brand>span:last-child,.workspace-label,.nav-item span,.nav-label,.sidebar-bottom,.nav-divider{display:none}.brand{justify-content:center}.brand-mark{width:36px;height:39px}.nav-item{padding:13px;justify-content:center;margin-top:13px}.nav-item svg{width:21px;height:21px;flex:none}.layout{margin-left:65px}.topbar{height:61px;padding:0 17px}.local-pill{font-size:9px}.topbar-right{gap:12px}main{padding:23px 16px}.page-heading{align-items:flex-start;gap:10px}.page-heading h1{font-size:21px}.page-heading .subtle{font-size:10px}.page-heading .button{padding:8px 10px;min-height:33px;font-size:10px}.stats{grid-template-columns:repeat(2,1fr)}.stat-foot{font-size:9px}.project-strip{flex-wrap:wrap;padding:12px}.project-strip select{min-width:0;max-width:230px;font-size:12px}.strip-meta{width:100%;margin-left:0}.task-choices{grid-template-columns:1fr;padding:14px}.task-choice{display:grid;grid-template-columns:36px 1fr;column-gap:12px;padding:13px}.choice-icon{grid-row:span 2;margin-bottom:0}.task-choice strong{margin-top:2px}.task-hint{font-size:9px}.library-grid{grid-template-columns:1fr}.search-row{flex-wrap:wrap}.library-count{margin-left:0}.chat-layout{grid-template-columns:1fr;height:auto;min-height:630px}.session-panel{display:flex;gap:6px;overflow:auto;padding:10px;max-height:80px;border-right:0;border-bottom:1px solid var(--line)}.session-panel .button{width:auto;flex:none;min-width:75px;margin:0}.session-item{min-width:115px;margin:0;padding:5px 10px;max-width:150px}.session-item small{display:none}.chat-main{min-height:550px;max-height:800px}.messages{padding:18px}.composer{padding:13px}.composer-bottom{font-size:8px}.composer-top{gap:7px}.attach-count{display:none}.form-grid{grid-template-columns:1fr}.dialog-body{padding:18px}footer{margin:0 16px;font-size:8px}footer span{display:none}.file-name{max-width:240px}td,th{padding:13px 15px}#toast{left:55%}.topbar .breadcrumb{font-size:10px}}
:root .models-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr);gap:24px;align-items:start}.models-layout .panel-body{padding:26px}.model-field-label{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.model-field-label .text-button{font-size:11px;white-space:nowrap}.model-field-label label{margin-bottom:9px}.model-endpoint{display:flex;gap:14px;padding:12px 14px;background:#f6f8fc;border-radius:6px;color:#8b9aaf;font-size:10px;line-height:1.8;overflow-wrap:anywhere}.model-endpoint code{color:#657a99;font-size:10px;word-break:break-all}.model-endpoint>span{flex:none}.model-actions{display:flex;justify-content:flex-end;gap:11px;padding-top:20px;border-top:1px solid var(--line);margin-top:18px}.model-test-idle{font-size:11px;color:#95a3b7;padding:10px 0}.model-test-result{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:6px;padding:14px;font-size:11px;line-height:1.9}.model-test-result.success{background:#edf8f4;color:#267e68;border:1px solid #d6eee4}.model-test-result.failure{background:#fff3f0;color:#b46453;border:1px solid #f4dfd9}.model-test-result.pending{background:#f0f4fe;color:#6481b1}.model-current-icon{width:42px;height:42px;background:#eef3ff;color:var(--blue);display:grid;place-items:center;border-radius:10px;margin-bottom:19px}.model-current-icon svg{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.6}.model-current-name{font-size:20px;display:block;overflow-wrap:anywhere;line-height:1.6}.model-details{padding-top:10px;border-top:1px solid var(--line);margin-top:22px}.model-details dt{color:#9aa7b7;font-size:10px;margin-top:17px}.model-details dd{font-size:11px;color:#617692;margin:7px 0;line-height:1.8}.model-notes p{color:#8e9caf;font-size:11px;line-height:2;margin:0 0 18px}.model-notes p:last-child{margin-bottom:0}.model-notes strong{color:#5d7390;font-weight:600}@media(max-width:1050px){:root .models-layout{grid-template-columns:1fr}.model-aside{display:grid;grid-template-columns:1fr 1fr;gap:20px}.model-aside .wide{margin-top:0}}@media(max-width:760px){.model-aside{grid-template-columns:1fr}.models-layout .panel-body{padding:19px}.model-current-name{font-size:18px}.model-field-label{flex-wrap:wrap}.model-actions .button{font-size:11px;padding:10px}.sidebar .nav-item{margin-top:7px;margin-bottom:2px;padding:10px}}
.auth-screen .sidebar,.auth-screen .topbar,.auth-screen footer{display:none}.auth-screen .layout{margin-left:0}.auth-screen main{min-height:100vh;display:grid;place-items:center;background:radial-gradient(ellipse at 20% 20%,#e6edf9 0,transparent 55%),#f5f7fb;padding:40px 20px}.auth-card{width:440px;max-width:100%;border:1px solid #dfe6f0;background:white;border-radius:13px;padding:36px 38px;box-shadow:0 20px 80px #233f5b0d}.auth-brand{display:flex;align-items:center;gap:13px;color:var(--navy);font-size:19px;font-weight:700;margin-bottom:33px}.auth-brand small{display:block;font-size:10px;letter-spacing:2px;color:#91a1b7;font-weight:400;margin-top:7px}.auth-card h1{font-size:21px;margin:0 0 12px}.auth-card .subtle{margin-bottom:25px}.auth-submit{width:100%;margin-top:8px}.auth-foot{font-size:10px;color:#9aa8ba;text-align:center;line-height:1.9;margin:23px 0 0}#account-controls{display:flex;align-items:center;gap:14px}.account-name{color:#667b95;font-size:12px}.sidebar{overflow-y:auto}.sidebar-bottom{flex-shrink:0}.auth-screen #toast{left:50%}@media(max-width:760px){.account-name{display:none}#account-controls{gap:8px}#account-controls .text-button{font-size:10px}.auth-card{padding:28px 24px}.topbar-right{gap:9px}.topbar:has(#account-controls button) .local-pill{display:none}}
