@charset "UTF-8";
:root{--bg:#f8f7f4;--sidebar:#eeede8;--paper:#fff;--ink:#262923;--muted:#7b7e75;--line:#e2e3da;--green:#35634b;--soft-green:#e4eadf;--serif:"Noto Serif CJK SC","Songti SC","SimSun",serif;--sans:"PingFang SC","Microsoft YaHei UI","Microsoft YaHei",sans-serif}
*{box-sizing:border-box}body{margin:0;color:var(--ink);background:var(--bg);font-family:var(--sans);font-size:14px}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.5;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--green);outline-offset:4px}.hidden{display:none!important}.muted,small{color:var(--muted)}
.app{height:100dvh;min-height:420px;display:flex;overflow:hidden}.sidebar{width:266px;flex-shrink:0;background:var(--sidebar);padding:28px 18px 16px;display:flex;flex-direction:column;border-right:1px solid var(--line)}.wordmark{display:flex;align-items:center;gap:10px;color:var(--ink);font-size:22px;text-decoration:none;padding:0 12px 28px;font-weight:600;letter-spacing:1px}.small-symbol{width:29px;height:29px;background:var(--green);color:#fff;border-radius:9px;display:grid;place-items:center;font-family:var(--serif);font-size:18px;font-weight:400}.private-label{font-size:10px;letter-spacing:1px;background:#e3e4da;padding:4px 7px;border-radius:5px;color:#74796d;margin-left:auto;font-weight:400}.new-chat{width:100%;padding:12px 14px;background:transparent;border:1px solid #d4d7ca;border-radius:10px;text-align:left;display:flex;gap:10px;align-items:center;font-weight:500}.new-chat:hover{background:#e5e6dd}.new-chat>span:first-child{font-size:21px;line-height:1}.shortcut{margin-left:auto;color:var(--muted)}.history-label{font-size:11px;color:#8a8d82;margin:30px 13px 10px;letter-spacing:1px}#history{overflow:auto;flex:1}.history-item{width:100%;border:0;background:none;text-align:left;border-radius:8px;padding:12px 13px;color:#62675d;display:flex;align-items:center;gap:10px}.history-item .history-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item.active{background:#dfe4d8;color:#354a36}.history-item:hover{background:#e3e6dc}.history-icon{font-size:15px;opacity:.7}.history-running{width:6px;height:6px;border-radius:50%;background:var(--green);margin-left:auto;flex-shrink:0}.empty-history{color:#91958a;font-size:12px;padding:12px}.sidebar-bottom{padding:14px 9px 0}.host-card{display:flex;gap:10px;align-items:center;border-top:1px solid #dce0d2;padding-top:20px}.host-card strong{font-size:12px;font-weight:500}.host-card small{display:block;font-size:10px;margin-top:5px}.status-dot,.tiny-dot{width:7px;height:7px;border-radius:50%;background:#9b9f93;flex-shrink:0}.status-dot.online,.tiny-dot{background:#597958}.logout{display:flex;justify-content:space-between;width:100%;background:none;border:0;color:#7f8476;font-size:11px;padding:18px 0 0}
.main{display:flex;flex:1;min-width:0;flex-direction:column}.topbar{height:76px;flex-shrink:0;display:flex;align-items:center;padding:0 36px;gap:14px}.top-title{display:flex;align-items:center;gap:12px}.top-title strong{font-size:15px;font-weight:500;max-width:35vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.top-title>span{font-size:11px;color:#8a8d82;padding-left:12px;border-left:1px solid #d8dcd0}.subtle-button{margin-left:auto;border:1px solid var(--line);border-radius:8px;background:transparent;color:#74796d;padding:7px 11px;font-size:12px;display:flex;gap:6px;align-items:center}.scroll-area{flex:1;min-height:0;overflow:auto;scroll-behavior:smooth}.welcome{width:min(680px,calc(100% - 64px));margin:clamp(30px,8vh,110px) auto 40px;animation:rise .45s ease-out}.welcome-tag{font-size:11px;letter-spacing:1.2px;color:#7f8978;display:flex;align-items:center;gap:9px}.welcome h1{font-family:var(--serif);font-size:clamp(35px,4.1vw,52px);font-weight:400;line-height:1.47;letter-spacing:1px;margin:25px 0 18px}.welcome h1>span{color:var(--green)}.welcome>p{color:#85897d;line-height:1.8;font-size:13px;margin-bottom:38px}.suggestions{display:flex;gap:14px}.suggestions>button{background:transparent;border:1px solid #dcdfd3;border-radius:12px;flex:1;padding:18px 20px;display:grid;grid-template-columns:26px 1fr 16px;text-align:left;column-gap:8px;row-gap:5px;color:var(--ink);transition:background .15s,transform .15s}.suggestions>button:hover{background:#eef0e6;transform:translateY(-2px)}.suggestions>button>span{grid-row:1/3;font-size:20px;color:var(--green)}.suggestions strong{font-size:13px;font-weight:500}.suggestions small{grid-column:2;font-size:10px}.suggestions i{grid-column:3;grid-row:1/3;color:#8a9583;font-style:normal;align-self:center}
.messages{width:min(740px,calc(100% - 64px));margin:0 auto;padding:15px 0 30px}.message{margin:18px 0 30px;animation:rise .2s ease-out}.message.user{display:flex;flex-direction:column;align-items:flex-end}.message.user .message-body{background:#e9ebdf;padding:13px 18px;border-radius:18px 18px 4px 18px;max-width:90%;white-space:pre-wrap;line-height:1.8;font-size:14px;overflow-wrap:anywhere}.message.assistant .message-body{line-height:1.95;font-size:14px;overflow-wrap:anywhere}.message.system .message-body{font-size:12px;color:#9a6549;background:#f0e9dd;padding:10px 14px;border-radius:8px;line-height:1.7}.assistant-label{font-size:11px;color:#6b8064;margin-bottom:10px;display:flex;align-items:center;gap:7px}.assistant-label>span{background:var(--green);color:white;border-radius:6px;width:19px;height:19px;display:grid;place-items:center;font-family:var(--serif)}.message-body pre{background:#eeeee8;border:1px solid #dedfd6;border-radius:10px;padding:16px;overflow:auto;line-height:1.65;font-size:12px}.message-body code{font-family:Consolas,"SFMono-Regular",monospace;background:#eeeee8;padding:2px 4px;border-radius:4px}.message-body pre code{background:transparent;padding:0}.message-body a{color:var(--green);text-underline-offset:3px}.message-body p{margin:10px 0}.message-body h2,.message-body h3{font-size:17px;font-weight:600;margin:20px 0 10px}.message-body ul,.message-body ol{padding-left:24px}.message-body table{border-collapse:collapse;display:block;overflow:auto;font-size:12px}.message-body th,.message-body td{border:1px solid #d7dbcd;padding:6px 10px}.message-footer{display:flex;gap:12px;margin-top:10px}.copy-button{background:none;border:0;color:#929789;font-size:11px;padding:0}.message-attachment{font-size:11px;color:var(--green);margin-top:7px}.streaming-cursor:after{content:'●';font-size:9px;color:var(--green);margin-left:5px;animation:blink 1s infinite}.composer-wrap{width:min(780px,calc(100% - 64px));margin:0 auto;padding:0 0 max(18px,env(safe-area-inset-bottom))}.composer{background:#fff;border:1px solid #dce0d3;border-radius:18px;padding:14px 15px 11px;box-shadow:0 5px 22px #222b1c05}.composer:focus-within{border-color:#a3b39a;box-shadow:0 3px 24px #3f5b3310}.composer textarea{width:100%;border:0;outline:none;background:transparent;resize:none;max-height:160px;min-height:44px;line-height:1.7;padding:0 2px;color:var(--ink)}.composer textarea::placeholder{color:#a1a597}.composer-tools{display:flex;align-items:center;justify-content:space-between;margin-top:8px}.left-tools{display:flex;gap:12px;align-items:center}.icon-button{border:0;background:none;color:#7d8473;font-size:22px;padding:3px 7px;line-height:1.2;min-width:32px;min-height:32px}.mode-switch{display:flex;padding:3px;border-radius:7px;background:#f3f4ee;gap:2px}.mode-switch button{border:0;background:none;padding:5px 11px;font-size:11px;border-radius:5px;color:#8b907f}.mode-switch button.selected{background:white;color:var(--green);box-shadow:0 1px 4px #00000009}.send-button{border:0;background:var(--green);color:white;border-radius:10px;width:35px;height:35px;font-size:23px}#stop{font-size:14px}.composer-note{font-size:10px;color:#999e8f;margin:10px 7px 0;display:flex;justify-content:space-between;gap:10px}.task-progress{display:flex;align-items:center;gap:8px;color:#68815c;font-size:11px;padding:5px 6px 12px}.pulse-dot{width:6px;height:6px;background:var(--green);border-radius:50%;animation:blink 1.2s infinite}.attachment-list{display:flex;gap:6px;flex-wrap:wrap}.attachment-chip{font-size:11px;color:var(--green);padding:7px 10px;background:#e6eadf;border-radius:7px;margin-bottom:7px;display:flex;gap:9px}.attachment-chip button{border:0;background:none;color:var(--green);padding:0}.approvals{width:min(740px,calc(100% - 64px));margin:0 auto}.approval-card{background:#fff9e9;border:1px solid #e6d8a9;padding:18px;border-radius:12px;margin-bottom:20px}.approval-card strong{font-size:13px}.approval-card pre{white-space:pre-wrap;font-size:12px;overflow-wrap:anywhere;line-height:1.6}.approval-actions{display:flex;gap:8px;margin-top:12px}.approval-actions button{padding:8px 15px;border-radius:7px;border:1px solid #d1c499;background:transparent;font-size:12px}.approval-actions .approve{background:var(--green);color:white;border-color:var(--green)}.question{display:block;margin:12px 0}.question>span{display:block;font-size:12px;margin-bottom:8px}.question input{width:100%;padding:10px;border:1px solid #d2cfbd;border-radius:7px}.question small{display:block;line-height:1.8;margin-bottom:8px}
.login-screen{min-height:100dvh;display:grid;place-items:center;padding:30px;background:radial-gradient(ellipse at 25% 20%,#e8ecdf 0%,transparent 60%),var(--bg)}.login-card{width:min(370px,100%);animation:rise .5s ease-out}.brand-symbol{width:45px;height:45px;background:var(--green);color:white;border-radius:14px;font:28px var(--serif);display:grid;place-items:center;margin-bottom:33px}.eyebrow{font-size:9px;letter-spacing:2px;color:#7b8b6f}.login-card h1{font:400 38px/1.5 var(--serif);margin:17px 0;color:#33462d}.login-card>p{font-size:13px;line-height:1.9;margin:17px 0 28px}.login-card label{font-size:12px;display:block;margin:26px 0 10px;color:#727d68}.login-card input{width:100%;border:1px solid #d3d9c7;background:#ffffffb0;border-radius:10px;padding:15px;outline:none;font-size:16px}.login-card input:focus{border-color:#93aa84}.primary{background:var(--green);color:white;width:100%;border:0;border-radius:10px;padding:15px 18px;display:flex;justify-content:space-between;margin-top:14px;font-size:13px}.login-card small{font-size:10px;display:block;margin-top:24px;text-align:center}.login-card .error{font-size:12px;color:#a44735;margin:12px 0}.mobile-only{display:none}.backdrop{display:none}dialog{width:min(520px,calc(100% - 32px));border:1px solid var(--line);border-radius:17px;padding:25px;color:var(--ink);background:var(--bg);max-height:80dvh}dialog::backdrop{background:#1d281e55;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px}.dialog-heading h2{font:400 25px var(--serif);margin:9px 0}.file-row{display:flex;align-items:center;gap:10px;padding:15px 0;border-top:1px solid var(--line);text-decoration:none;color:var(--ink)}.file-row div{min-width:0;flex:1}.file-row strong{font-size:12px;font-weight:500;overflow-wrap:anywhere}.file-row small{display:block;font-size:10px;margin-top:4px}.file-row>span{color:var(--green);font-size:20px}.toast{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);background:#293c26;color:white;padding:12px 18px;border-radius:9px;font-size:12px;max-width:90vw;z-index:10;box-shadow:0 5px 20px #0002}
@keyframes rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes blink{50%{opacity:.3}}
@media(max-width:760px){.sidebar{position:fixed;z-index:5;top:0;bottom:0;left:0;transform:translateX(-100%);transition:transform .2s;width:270px}.sidebar.open{transform:translateX(0)}.backdrop.open{display:block;position:fixed;inset:0;background:#26302155;z-index:4}.mobile-only{display:block}.topbar{height:61px;padding:0 17px 0 10px;border-bottom:1px solid #e8e9e0}.top-title{gap:7px}.top-title strong{max-width:46vw;font-size:14px}.top-title>span{font-size:9px;padding-left:7px}.subtle-button{padding:6px 8px}.subtle-button>span{display:none}.welcome{width:calc(100% - 44px);margin:clamp(35px,9vh,95px) auto 30px}.welcome-tag{font-size:10px;letter-spacing:.5px}.welcome h1{font-size:39px;margin-top:23px}.welcome>p{font-size:12px;margin-bottom:27px}.suggestions{gap:9px}.suggestions>button{padding:15px 12px;grid-template-columns:20px 1fr;gap:5px}.suggestions>button>span{font-size:17px}.suggestions strong{font-size:11px}.suggestions small{font-size:9px}.suggestions i{display:none}.messages{width:calc(100% - 36px);padding-top:5px}.message.user .message-body{font-size:14px;max-width:94%}.message.assistant .message-body{font-size:14px}.composer-wrap{width:calc(100% - 24px);padding-bottom:max(12px,env(safe-area-inset-bottom))}.composer{border-radius:16px;padding:12px 12px 9px}.composer textarea{font-size:16px;min-height:40px}.composer-note{font-size:9px}.approvals{width:calc(100% - 32px)}.login-screen{padding:33px}.login-card h1{font-size:35px}.brand-symbol{margin-bottom:27px}}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
.model-settings{display:flex;align-items:center;gap:8px;margin:10px 3px 0;min-height:32px;flex-wrap:wrap}.model-control{display:flex;align-items:center;gap:7px;border:1px solid #dce0d3;border-radius:8px;padding:5px 9px;background:#f1f3ec;min-width:0}.model-control>span{color:#89917f;font-size:10px;flex-shrink:0}.model-control select{font-family:var(--sans);font-size:11px;border:0;outline:none;background:transparent;color:var(--green);max-width:175px;min-width:105px;padding:3px 14px 3px 0;cursor:pointer}.effort-control select{min-width:73px;max-width:110px}.model-control:focus-within{outline:2px solid #93aa84;outline-offset:2px}.model-control select:disabled{opacity:.55;cursor:default}.settings-state{font-size:9px;color:#929b88;margin-left:auto}.composer-note{margin-top:7px}@media(max-width:760px){.model-settings{gap:6px;margin-top:8px}.model-control{padding:4px 7px;gap:5px}.model-control select{font-size:11px;max-width:148px;min-width:98px}.effort-control select{min-width:72px;max-width:94px}.settings-state{width:100%;margin:0 2px;font-size:9px;display:none}.composer-note{margin-top:8px}}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}.top-actions .subtle-button{margin-left:0}.usage-bucket{padding-bottom:8px}.usage-bucket-heading{display:flex;align-items:center;justify-content:space-between;font-size:13px;margin:7px 0 24px}.usage-plan{border:1px solid #d9e2cf;color:var(--green);border-radius:6px;padding:4px 8px;text-transform:capitalize;font-size:11px}.quota-window{margin:20px 0 27px}.quota-title,.quota-detail{display:flex;justify-content:space-between;gap:12px;align-items:center}.quota-title strong{font-size:12px;font-weight:500}.quota-title>span{font-size:12px;color:#77866a}.quota-window progress{appearance:none;-webkit-appearance:none;width:100%;height:8px;border:0;border-radius:8px;overflow:hidden;background:#e7ebdf;margin:12px 0 9px}.quota-window progress::-webkit-progress-bar{background:#e7ebdf;border-radius:8px}.quota-window progress::-webkit-progress-value{background:#628459;border-radius:8px}.quota-window progress::-moz-progress-bar{background:#628459;border-radius:8px}.quota-detail>span{font-size:12px;color:var(--green);font-weight:500}.quota-detail small{font-size:10px}.usage-reset{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:18px 0;font-size:12px;color:#79876f}.usage-reset strong{font-size:17px;color:var(--green)}.usage-note{font-size:10px;line-height:1.8;color:#909884}.usage-footer{border-top:1px solid var(--line);padding-top:16px;margin-top:15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.usage-footer>small{font-size:10px}.usage-alert{color:#a36f35;font-size:12px}@media(max-width:760px){.topbar{gap:8px}.top-actions{gap:5px}.top-title strong{max-width:39vw}.top-title>span{display:none}.top-actions #usage-button>span{display:inline}.top-actions .subtle-button{padding:6px 7px}#usage-dialog{padding:22px}}
