@charset "UTF-8";
:root{--bg:#f8f7f4;--paper:#fff;--side:#eeede8;--ink:#292d28;--muted:#84877e;--line:#e3e3db;--green:#234f41;--accent:#c8d4b8;--red:#aa423c;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;color:var(--ink);background:var(--bg);font-synthesis:none}*{box-sizing:border-box}body{margin:0;font-size:14px}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button{border:0;background:none}button:disabled{cursor:wait;opacity:.5}a{color:var(--green)}input,textarea,select{color:var(--ink)}:focus-visible{outline:2px solid #71967a;outline-offset:4px}button,input,textarea{transition:border-color .18s,background .18s,box-shadow .18s}button svg{flex:none}svg{width:19px;height:19px;vertical-align:middle}button[data-icon],.icon-button{display:inline-flex;align-items:center;justify-content:center}span[data-icon]{display:inline-flex;align-items:center;gap:5px}.icon-button{width:34px;height:34px;border-radius:9px;color:#7d8379;flex:none}.icon-button:hover{background:#e7e8df;color:var(--green)}[hidden]{display:none!important}.muted{color:var(--muted);line-height:1.8}.eyebrow{font-size:10px;letter-spacing:2px;color:#858c7b;font-weight:600}.primary{background:var(--green);color:#fff;border-radius:9px;padding:14px 18px;font-weight:600;display:flex;align-items:center;justify-content:space-between;width:100%}.primary:hover{background:#32644f}.secondary{border:1px solid var(--line);background:#fff;padding:10px 15px;border-radius:8px}.secondary:hover{background:var(--side)}.danger{background:var(--red);color:#fff;padding:11px 17px;border-radius:8px}.error-text{font-size:12px;color:var(--red);line-height:1.6;min-height:0}.error-text:empty{display:none}.login-view{min-height:100dvh;padding:42px 6vw 28px;display:flex;flex-direction:column;background:radial-gradient(ellipse at 15% 44%,#eef0e5 0,transparent 57%),var(--bg)}.login-brand{display:flex;align-items:center;gap:12px;font-size:19px;letter-spacing:2px;font-weight:600}.login-brand small{font-size:12px;letter-spacing:1px;font-weight:400;color:#757c6f}.brand-divider{color:#b8bdb0;font-weight:300;margin:0 15px}.login-layout{width:min(1020px,100%);margin:auto;display:grid;grid-template-columns:1fr 365px;align-items:center;gap:9vw;padding:70px 0 90px}.tiny-star{font-size:20px;vertical-align:middle;margin-right:8px;color:var(--green)}.login-intro h1{font-family:"Songti SC","Noto Serif CJK SC",serif;font-size:clamp(45px,5vw,67px);line-height:1.45;letter-spacing:3px;font-weight:500;margin:24px 0}.green-dot{color:#6c8755}.login-intro p{font-size:14px;line-height:2.2;color:#808575}.intro-line{width:42px;height:1px;background:#a7b39a;margin:34px 0 20px}.intro-caption{font-size:11px;letter-spacing:3px;color:#8c9380}.login-card{background:#fff;padding:35px;border:1px solid #e7e8df;border-radius:18px;box-shadow:0 20px 60px #34432207}.card-mark{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid #dfe5d7;border-radius:10px;font-size:20px;color:var(--green);margin-bottom:24px}.login-card h2{font-size:22px;font-weight:550;margin:0 0 8px}.login-card .muted{font-size:12px;margin:0 0 27px}label{display:block;margin:16px 0 8px;font-size:12px;color:#62695d}input{display:block;width:100%;border:1px solid var(--line);border-radius:8px;background:#fdfdfb;padding:12px;outline:0}input:focus{border-color:#8fa285;box-shadow:0 0 0 3px #d8e2cc44}input::placeholder,textarea::placeholder{color:#a0a394}.login-card .primary{margin-top:26px}.login-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#959b8b;margin-top:20px}.login-note svg{width:12px;height:12px}.login-footer{display:flex;justify-content:space-between;color:#979d8c;font-size:11px;letter-spacing:1px}.login-footer>span:last-child{font-size:9px;letter-spacing:2px}.app-view{display:flex;height:100dvh;overflow:hidden}.sidebar{width:264px;flex:none;background:var(--side);display:flex;flex-direction:column;padding:29px 18px 14px;border-right:1px solid #e7e7df}.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:0 7px 26px}.brand>span{font-size:21px;letter-spacing:3px;font-weight:550;display:flex;align-items:center;gap:12px}.brand small{font-size:10px;letter-spacing:1px;font-weight:400;color:#8c9284}.new-chat{width:100%;border:1px solid #d8dece;background:#fafbf6;border-radius:9px;padding:12px;display:flex;align-items:center;gap:9px;font-size:12px}.new-chat:hover{border-color:#acb99d;background:#fff}.new-chat svg{width:17px;height:17px;color:#4d694e}.new-chat kbd{margin-left:auto;font:10px inherit;color:#9da48f}.search-wrap{display:flex;align-items:center;margin:18px 8px 22px;gap:7px;color:#9a9f90}.search-wrap svg{width:16px;height:16px}.search-wrap input{background:transparent;border:0;box-shadow:none;padding:6px 0;font-size:12px}.list-label{font-size:10px;letter-spacing:1px;color:#979d8e;padding:0 10px;display:flex;justify-content:space-between;margin-bottom:10px}.chat-list{flex:1;min-height:0;overflow:auto}.chat-item{display:flex;align-items:center;gap:9px;width:100%;text-align:left;padding:11px;border-radius:7px;color:#707868;font-size:12px;margin:2px 0}.chat-item svg{width:15px;height:15px;opacity:.6}.chat-item span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-item:hover{background:#e4e7dc}.chat-item.active{background:#dfe5d6;color:#34533a}.list-empty{padding:14px 10px;color:#a0a694;line-height:1.9;font-size:11px}.sidebar-bottom{padding-top:14px}.connection-card{padding:13px 11px;background:#f6f7f0;border:1px solid #e0e4d7;border-radius:10px;width:100%;display:flex;gap:10px;text-align:left;align-items:center}.connection-card>span:nth-child(2){flex:1}.connection-card strong{display:block;font-size:11px;font-weight:500;color:#66715e}.connection-card small{display:block;font-size:10px;color:#9ba28f;margin-top:5px}.connection-card svg{width:13px;height:13px}.status-light{width:6px;height:6px;display:inline-block;flex:none;border-radius:50%;background:#bc9b65}.connected .status-light{background:#799a64}.owner-row{display:flex;align-items:center;gap:10px;padding:20px 4px 0}.avatar{width:30px;height:30px;display:flex;align-items:center;justify-content:center;border:1px solid #d5decc;border-radius:50%;background:#e4e9dc;color:#66785a;font-size:11px}.owner-row>div:nth-child(2){flex:1;min-width:0}.owner-row strong{display:block;font-size:11px;font-weight:500;overflow:hidden;text-overflow:ellipsis}.owner-row small{font-size:9px;color:#959c8b;display:block;margin-top:3px}.owner-row .icon-button{width:27px;height:30px}.owner-row svg{width:16px;height:16px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{height:79px;flex:none;padding:0 32px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #eeeee7}.topbar-title{display:flex;align-items:center;gap:15px;min-width:0}.topbar-title>span:first-child{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:45vw}.private-pill{border:1px solid #e2e7da;border-radius:5px;font-size:9px;padding:3px 6px;color:#8c987e;gap:3px}.private-pill svg{width:10px;height:10px}.topbar-actions{display:flex;gap:9px}.topbar-actions svg{width:16px;height:16px}.scroll-area{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth}.welcome{max-width:690px;margin:0 auto;padding:clamp(55px,10vh,110px) 28px 40px}.welcome-symbol{font-size:52px;color:var(--green);line-height:1;margin-bottom:24px}.welcome .eyebrow{font-size:10px;letter-spacing:3px;margin-bottom:16px}.welcome h1{font-size:clamp(25px,3vw,32px);font-weight:500;letter-spacing:1px;margin:0 0 15px}.welcome>p{font-size:12px;color:#9a9f91;margin-bottom:37px}.suggestions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.suggestions button{text-align:left;border:1px solid #e3e5da;border-radius:10px;background:#fbfcf8;position:relative;display:grid;grid-template-columns:24px 1fr;column-gap:9px;padding:17px 16px}.suggestions button:hover{background:#eff2e7;border-color:#bfcbb0;transform:translateY(-1px)}.suggestions svg{width:18px;height:18px;color:#8c9c75;margin-top:1px}.suggestions strong{font-size:12px;font-weight:500;margin:2px 0 9px}.suggestions small{font-size:10px;color:#a0a592;grid-column:2}.suggestion-arrow{position:absolute;right:14px;top:16px;color:#aeb5a0;font-size:13px}.composer-area{width:100%;max-width:850px;align-self:center;padding:18px 40px 20px;flex:none}.composer{border:1px solid #dfe2d5;background:#fff;border-radius:15px;padding:18px 18px 13px;box-shadow:0 5px 18px #34412505}.composer:focus-within{border-color:#adbda0;box-shadow:0 0 0 3px #e8eddf66}.composer textarea{width:100%;display:block;border:0;outline:0;box-shadow:none;resize:none;line-height:1.8;font-size:13px;max-height:180px;min-height:46px;background:transparent;padding:0}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:12px}.model-control{display:flex;align-items:center;gap:7px;min-width:0}.model-control select{font-size:10px;color:#7c8771;background:none;border:0;outline:0;max-width:240px;padding:6px 15px 6px 2px;cursor:pointer}.send-controls{display:flex;align-items:center;gap:14px;flex:none}#send-hint{font-size:9px;color:#afb4a7}.send-button{width:31px;height:31px;background:var(--green);color:#fff;border-radius:9px;display:flex;align-items:center;justify-content:center}.send-button:hover{background:#376c51}.send-button:disabled{opacity:.4;cursor:default}.send-button svg{width:17px;height:17px}.composer-note{font-size:9px;text-align:center;color:#a7ad9d;margin:13px 0 0;letter-spacing:.3px}.composer-note span{margin:0 10px}.connection-notice{display:flex;align-items:center;gap:8px;font-size:10px;color:#9b967c;padding:0 3px 12px;flex-wrap:wrap}.connection-notice button{color:#607952;margin-left:auto;font-size:10px}.messages{max-width:790px;padding:28px 35px;margin:0 auto}.message{margin:0 0 28px}.message.user{display:flex;justify-content:flex-end}.message.user .message-content{background:#e9ede2;border-radius:13px 13px 3px 13px;padding:12px 17px;max-width:85%;white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px;line-height:1.9}.assistant-heading{font-size:11px;color:#7b8970;display:flex;align-items:center;gap:7px;margin-bottom:13px}.assistant-heading img{width:22px;height:22px;border-radius:7px}.message.assistant .message-content{font-size:14px;line-height:1.95;overflow-wrap:anywhere;color:#3a4135}.message-content p{margin:0 0 13px;white-space:pre-wrap}.message-content h2,.message-content h3,.message-content h4{font-size:17px;line-height:1.7;margin:22px 0 10px}.message-content ul,.message-content ol{padding-left:24px}.message-content li{margin:5px 0}.message-content blockquote{border-left:3px solid #becbb0;margin:15px 0;padding:4px 16px;color:#78856c;background:#f0f2e9}.message-content :not(pre)>code{background:#e9ede2;padding:2px 5px;border-radius:4px;font:12px ui-monospace,SFMono-Regular,Consolas,monospace}.code-block{margin:15px 0;border:1px solid #dce1d3;border-radius:10px;overflow:hidden;background:#f0f2eb}.code-heading{display:flex;justify-content:space-between;align-items:center;padding:7px 12px;border-bottom:1px solid #dce1d3;color:#8b957f;font-size:10px}.code-heading button{font-size:10px;color:#7b8c6a}.code-block pre{padding:14px;margin:0;overflow:auto;max-width:100%;font:12px/1.8 ui-monospace,SFMono-Regular,Consolas,monospace;white-space:pre}.message-footer{display:flex;align-items:center;gap:10px;margin-top:10px;color:#a3aa97;font-size:10px}.message-footer button{font-size:10px;color:#939f84;padding:0}.generating-label{color:#8c9b7c;font-size:11px}.generating-label:after{content:'…';animation:breathe 1.5s infinite}.message-error{color:#aa6b59;font-size:11px;margin-top:8px}.mobile-only{display:none}.drawer-overlay{position:fixed;inset:0;background:#26312255;z-index:20;backdrop-filter:blur(2px)}dialog{border:1px solid #dfe4d5;background:var(--bg);color:var(--ink);border-radius:17px;box-shadow:0 22px 100px #25311f2b;padding:28px;width:min(520px,calc(100vw - 32px));max-height:88dvh;overflow:auto}dialog::backdrop{background:#25311f55;backdrop-filter:blur(3px)}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{font-size:21px;font-weight:500;margin:12px 0 0}.settings-section{border-top:1px solid var(--line);margin-top:24px;padding-top:8px}.settings-section h3{font-size:13px;font-weight:550;margin:18px 0 12px}.account-status{display:flex;justify-content:space-between;align-items:center;font-size:12px;color:#839473}.text-button{color:#648451;font-size:11px;padding:6px}.settings-section .muted{font-size:11px}.command-box{display:flex;align-items:center;justify-content:space-between;background:#e9ede2;border:1px solid #dce3d3;border-radius:8px;padding:7px 8px 7px 12px;gap:5px}.command-box code{font-size:11px;overflow-wrap:anywhere;line-height:1.7}.settings-note{font-size:10px;color:#929d86;line-height:1.9}.settings-section .secondary{margin-top:16px;font-size:12px}.settings-section input{padding:10px;font-size:12px}.dialog-buttons{display:flex;gap:10px;justify-content:flex-end;margin-top:25px}#delete-dialog h2{font-size:20px;font-weight:500}.toast{position:fixed;left:50%;bottom:30px;transform:translateX(-50%);padding:12px 20px;border-radius:9px;background:#334d38;color:#fff;box-shadow:0 6px 25px #28362225;font-size:12px;z-index:100;max-width:90vw;line-height:1.7}.sr-only{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes breathe{50%{opacity:.25}}@media(min-height:900px){.welcome{padding-top:14vh}}@media(max-width:1000px){.sidebar{width:238px;padding-left:14px;padding-right:14px}.brand>span{gap:8px}.welcome{padding-top:65px}.composer-area{padding-left:28px;padding-right:28px}.suggestions button{padding:16px 12px}.suggestions small{font-size:9px}}@media(max-width:700px){.login-view{padding:25px 24px}.login-layout{grid-template-columns:1fr;gap:28px;padding:40px 0;max-width:365px}.login-intro h1{font-size:36px;margin:14px 0}.login-intro h1 br{display:none}.login-intro .eyebrow{font-size:8px}.login-intro p{font-size:12px}.intro-line,.intro-caption{display:none}.login-card{padding:28px}.login-footer>span:first-child{font-size:9px}.login-footer>span:last-child{font-size:7px}.sidebar{position:fixed;left:0;top:0;bottom:0;z-index:30;width:264px;transform:translateX(-100%);transition:transform .2s}.sidebar.open{transform:translateX(0)}.mobile-only{display:inline-flex}.topbar{height:61px;padding:0 13px;gap:8px}.topbar-title{flex:1;gap:9px}.topbar-title>span:first-child{max-width:43vw;font-size:11px}.topbar-actions{gap:2px}.private-pill{font-size:8px}.topbar-actions .icon-button{width:29px}.welcome{padding:54px 24px 25px}.welcome-symbol{font-size:41px;margin-bottom:23px}.welcome h1{font-size:25px}.welcome>p{font-size:11px;margin-bottom:26px}.suggestions{gap:10px}.suggestions button{grid-template-columns:1fr;padding:14px 11px}.suggestions svg{margin-bottom:9px;width:17px}.suggestions strong{font-size:11px}.suggestions small{grid-column:1;font-size:9px;line-height:1.7}.suggestion-arrow{right:10px;top:12px}.composer-area{padding:12px 14px max(14px,env(safe-area-inset-bottom))}.composer{padding:15px 14px 11px;border-radius:13px}.composer textarea{font-size:16px;min-height:38px}.model-control select{max-width:180px;font-size:9px}.composer-note{font-size:8px;margin-top:10px}#send-hint{display:none}.messages{padding:24px 20px}.message.assistant .message-content{font-size:14px}.message.user .message-content{font-size:14px}.connection-notice{font-size:9px}.connection-notice button{font-size:9px}.login-card input{font-size:16px}.settings-section input{font-size:16px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
