:root{color-scheme:light;--ink:#233832;--muted:#79847d;--green:#146b5d;--green-dark:#0c5145;--border:#e1e5dc;--paper:#fafbf7;--white:#fff;--light:#e8f0e9;--red:#a83e38;--shadow:0 18px 70px #1b3b2920}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font-family:Inter,"Segoe UI","Microsoft YaHei",system-ui,sans-serif;font-size:14px;line-height:1.65}button,input,textarea,select{font:inherit}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button,input,textarea,select,a{outline-offset:4px}button:focus-visible,a:focus-visible{outline:2px solid var(--green)}button{border:0;border-radius:10px;background:transparent;color:inherit;padding:9px 14px}input,textarea,select{width:100%;border:1px solid var(--border);background:var(--white);border-radius:10px;padding:12px;color:var(--ink)}textarea{resize:vertical}input:focus,textarea:focus,select:focus{outline:2px solid #146b5d33;border-color:var(--green)}label{display:block;font-weight:600;margin:18px 0 7px}h1,h2,h3,p{margin-top:0}h2{font-size:24px;letter-spacing:-.6px;margin-bottom:10px}.muted,.fine{color:var(--muted)}.fine{font-size:12px}.error{color:var(--red);font-size:13px;margin:14px 0;min-height:10px}.primary{background:var(--green);color:#fff;font-weight:600;box-shadow:0 3px 6px #164b2012}.primary:hover{background:var(--green-dark)}.wide{width:100%}.quiet{color:var(--muted);white-space:nowrap}.quiet:hover{color:var(--green);background:var(--light)}.brand{display:flex;align-items:center;gap:11px;font-size:19px;font-weight:650;line-height:1.4;letter-spacing:.2px}.brand small{display:block;font-size:10px;letter-spacing:2px;font-weight:450;opacity:.6;margin-top:4px}.brand-mark{width:39px;height:39px;border-radius:12px;display:grid;place-items:center;color:#fff;background:var(--green);font-size:31px;line-height:1}.eyebrow{font-size:11px;letter-spacing:2px;color:var(--green);font-weight:650}.login-view{display:grid;grid-template-columns:1fr 1fr;min-height:100dvh}.login-intro{background:#e9eee4;padding:58px 10%;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-intro:after{content:"↗";position:absolute;font-size:520px;line-height:1;color:#dce6d6;right:-90px;bottom:-85px;pointer-events:none;z-index:0}.login-intro>*{z-index:1}.login-intro h1{font-size:clamp(32px,3.3vw,54px);line-height:1.5;font-weight:520;letter-spacing:-1.6px;margin:20px 0}.intro-copy{line-height:1.9;color:#6c7c6d;font-size:15px}.intro-foot{color:#7d8b7d;font-size:12px;letter-spacing:1px}.login-form-wrap{display:grid;place-items:center;padding:40px}.login-form{width:min(360px,100%)}.login-form h2{margin-top:10px;font-size:28px;font-weight:550}.login-form input{padding:14px}.login-form .primary{display:flex;justify-content:space-between;padding:13px 18px;margin-top:22px}.login-form .fine{margin-top:24px}.workspace{height:100dvh;display:grid;grid-template-columns:302px minmax(0,1fr)}[hidden]{display:none!important}.sidebar{display:flex;flex-direction:column;background:#f0f2eb;border-right:1px solid var(--border);min-height:0}.sidebar-header{padding:26px 20px 0}.sidebar-header .brand{margin-bottom:24px}.sidebar-header .primary{padding:12px}.search{display:flex;align-items:center;gap:8px;margin:18px 0 12px;border:1px solid var(--border);border-radius:10px;background:#ffffff8a;padding-left:10px;font-weight:400}.search span{font-size:22px;color:#7c877a}.search input{border:0;background:transparent;padding:10px 6px;min-width:0;font-size:13px}.search input:focus{outline:0}.filters{display:flex;gap:2px;border-bottom:1px solid var(--border);padding-bottom:12px}.filters button{font-size:12px;padding:7px 12px;border-radius:7px;color:var(--muted)}.filters .active{background:#dfe8db;color:var(--green);font-weight:600}.thread-list{overflow:auto;flex:1;padding:12px}.thread{display:block;text-align:left;width:100%;margin-bottom:5px;padding:13px 14px;border:1px solid transparent;border-radius:10px}.thread:hover{background:#e7ece2}.thread.selected{background:var(--white);border-color:var(--border);box-shadow:0 3px 7px #1d312808}.thread-head{display:flex;align-items:center;gap:8px}.thread-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:550}.thread-summary{color:#879084;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:5px}.thread-indicator{margin-left:auto;flex:0 0 6px;height:6px;border-radius:50%;background:#91ad86}.thread-indicator.running{background:#d2a04a;box-shadow:0 0 0 3px #d2a04a18}.sidebar-footer{border-top:1px solid var(--border);padding:15px 20px;display:flex;align-items:center;justify-content:space-between;font-size:10px}.sidebar-footer button{font-size:11px;padding:6px}.connection-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:#bdc6b7;margin-right:6px}.connection-dot.online{background:#52997d}.conversation{display:flex;flex-direction:column;min-width:0;min-height:0;background:var(--paper)}.chat-header{height:85px;display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:14px 36px;background:#ffffffa0;flex-shrink:0}.chat-heading{min-width:0;flex:1}.chat-heading h1{font-size:16px;letter-spacing:.3px;margin:0 0 3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600}.chat-heading span{font-size:11px}.chat-header button{font-size:12px}.messages{flex:1;overflow:auto;min-height:0;padding:30px max(24px,calc((100% - 820px)/2));scroll-behavior:smooth}.welcome{min-height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding:40px 15px}.welcome-icon{font-size:60px;color:#b5c7ad;line-height:1;margin-bottom:30px}.welcome h2{font-size:34px;line-height:1.55;font-weight:450;letter-spacing:-1px;margin:14px 0}.welcome>p:not(.eyebrow){color:var(--muted);font-size:13px}.welcome .primary{margin-top:14px}.message{margin:0 0 28px;max-width:100%;font-size:14px;overflow-wrap:anywhere}.message-label{font-size:11px;color:var(--muted);display:flex;gap:9px;align-items:center;margin-bottom:10px;letter-spacing:.8px}.avatar{display:grid;place-items:center;width:24px;height:24px;border-radius:8px;background:#e6ede0;color:var(--green);font-size:15px;font-weight:600}.message.user{margin-left:12%;background:#eaf0e5;border:1px solid #e2e9dc;padding:17px 20px;border-radius:14px 14px 3px 14px}.message.user .message-label{margin-bottom:7px}.message.user .markdown{white-space:pre-wrap}.message details{border-left:2px solid var(--border);padding-left:15px;color:var(--muted);font-size:12px}.message summary{cursor:pointer}.markdown>:last-child{margin-bottom:0}.markdown p{margin-bottom:14px}.markdown h1,.markdown h2,.markdown h3{font-size:20px;margin-top:24px}.markdown h3{font-size:17px}.markdown a{color:var(--green);text-underline-offset:4px}.markdown pre{overflow:auto;background:#edf0e9;border:1px solid var(--border);padding:16px;border-radius:10px;line-height:1.5;font-size:12px}.markdown code{font-family:Consolas,monospace;font-size:.9em;background:#eaf0e6;padding:2px 4px;border-radius:4px}.markdown pre code{padding:0;background:none}.markdown table{display:block;overflow:auto;border-collapse:collapse;font-size:12px;margin:15px 0}.markdown th,.markdown td{border:1px solid var(--border);padding:9px 12px;min-width:85px}.markdown th{background:#edf1e9}.markdown blockquote{border-left:3px solid #b5c9a7;margin-left:0;padding-left:15px;color:var(--muted)}.markdown img{max-width:100%;border-radius:10px}.notice{margin:12px 24px 0;padding:11px 14px;background:#fbf1df;color:#8d682b;border:1px solid #eee0c4;border-radius:9px;font-size:12px}.composer-wrap{padding:12px max(24px,calc((100% - 820px)/2)) 16px;flex-shrink:0}.composer{background:var(--white);border:1px solid #d9e2d3;border-radius:15px;box-shadow:0 5px 25px #223a2305}.composer:focus-within{border-color:#8da88b;box-shadow:0 0 0 3px #146b5d08}.composer textarea{border:0;resize:none;background:transparent;padding:16px 18px;max-height:180px;min-height:70px;display:block;font-size:14px}.composer textarea:focus{outline:0}.composer-actions{display:flex;align-items:center;gap:12px;padding:0 10px 10px}.attach-button{margin:0;padding:7px;cursor:pointer;color:var(--muted);font-weight:400;font-size:18px;white-space:nowrap}.attach-button span{font-size:11px}.composer-actions .primary{margin-left:auto;font-size:12px;padding:9px 18px}.composer-bottom{display:flex;justify-content:space-between;font-size:10px;color:#97a08f;padding:8px 2px 0}.attachment-list{display:flex;flex-wrap:wrap;gap:6px;padding-bottom:7px}.attachment-chip{background:#e8eee2;border:1px solid var(--border);border-radius:8px;font-size:11px;padding:4px 9px}.attachment-chip button{padding:0 3px;margin-left:5px}.question-panel{margin:8px max(24px,calc((100% - 820px)/2));max-height:40vh;overflow:auto;background:#edf2e8;border:1px solid #dce5d5;border-radius:12px;padding:16px}.question-panel h3{font-size:14px;margin-bottom:12px}.question-panel label.choice{display:flex;align-items:flex-start;gap:8px;font-size:12px;font-weight:400;margin:8px 0}.choice input{width:auto;margin-top:5px}.question-panel textarea{font-size:12px;margin-top:7px}.question-panel .primary{margin-top:10px;font-size:12px}.file-item{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);font-size:13px;overflow-wrap:anywhere}.file-item small{display:block;color:var(--muted);font-size:11px}.file-item a{color:var(--green);white-space:nowrap;font-size:12px}.empty{padding:30px 10px;text-align:center;font-size:12px;color:var(--muted)}dialog{border:1px solid var(--border);border-radius:18px;background:var(--paper);color:var(--ink);padding:28px;width:min(470px,calc(100vw - 32px));max-height:86dvh;overflow:auto;box-shadow:var(--shadow)}dialog::backdrop{background:#152b264a;backdrop-filter:blur(3px)}.dialog-header{display:flex;align-items:center;justify-content:space-between;gap:16px}.dialog-header h2{font-size:20px;margin:0}.icon-button{font-size:24px;line-height:1;padding:7px 9px;color:var(--muted)}dialog label{font-size:12px}.logout{margin-top:16px}.mobile-only{display:none}.usage-line{font-size:12px;padding:10px;color:var(--muted)}@media(min-width:1500px){.workspace{grid-template-columns:330px minmax(0,1fr)}}@media(max-width:900px){.workspace{grid-template-columns:270px minmax(0,1fr)}.chat-header{padding:15px 20px}.composer-hint{display:none}.composer-actions .fine{display:none}.messages{padding:24px}.composer-wrap{padding:12px 22px}.login-intro{padding:40px 9%}.login-intro h1{font-size:34px}}@media(max-width:640px){.login-view{display:block}.login-intro{padding:24px 28px;background:var(--paper)}.login-intro>div:nth-child(2),.intro-foot,.login-intro:after{display:none}.login-form-wrap{padding:40px 28px}.login-form{max-width:380px}.login-form h2{font-size:26px}.workspace{display:block}.sidebar,.conversation{height:100dvh}.conversation{display:none}.chat-open .sidebar{display:none}.chat-open .conversation{display:flex}.mobile-only{display:block}.sidebar-header{padding:24px 20px 0}.sidebar-footer{padding-bottom:max(14px,env(safe-area-inset-bottom))}.chat-header{height:74px;padding:12px 14px;gap:7px}.chat-heading h1{font-size:14px}.chat-header .quiet{padding:7px;font-size:11px}.messages{padding:22px 18px}.message{font-size:14px}.message.user{margin-left:6%;padding:14px 16px}.composer-wrap{padding:8px 12px max(8px,env(safe-area-inset-bottom))}.composer textarea{font-size:16px;padding:13px;min-height:60px}.composer-actions .fine{display:none}.composer-bottom{font-size:9px}.welcome h2{font-size:30px}.question-panel{margin:6px 14px}.notice{margin:10px 14px 0}.thread{padding:15px}.thread-title{font-size:14px}dialog{padding:22px}.brand small{letter-spacing:1px}}

.model-controls{display:flex;gap:5px;max-width:280px}.model-controls select{width:auto;max-width:170px;font-size:10px;padding:6px 7px;background:#f1f4ec}.footer-actions{display:flex;gap:2px}.workspace-note{background:#eaf0e4;padding:12px;border-radius:9px;color:#617560;font-size:12px;margin:18px 0}.model-controls select+select{max-width:85px}@media(max-width:640px){.model-controls{max-width:125px}.model-controls select{max-width:125px;font-size:9px}.model-controls select+select{display:none}.chat-header #refresh{display:none}.chat-header{gap:4px}.chat-heading h1{max-width:160px}}
