:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#292d29;background:#fafbf8;font-synthesis:none;--bg:#fafbf8;--sidebar:#f0f2ec;--surface:#fff;--text:#292d29;--muted:#82877e;--line:#e3e7dd;--hover:#e6eadf;--green:#244c3e;--accent:#dceacb;--bubble:#eef2e7;--shadow:0 6px 28px #263b2310;color-scheme:light}
:root[data-theme=dark]{--bg:#1b1e1c;--sidebar:#151816;--surface:#242825;--text:#eef1eb;--muted:#979f96;--line:#353b35;--hover:#2a302a;--green:#b1d7b8;--accent:#344c38;--bubble:#2d372e;--shadow:0 6px 28px #0002;color-scheme:dark;color:var(--text);background:var(--bg)}
*{box-sizing:border-box}body{margin:0}button,input,textarea,select{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button{border:0;background:none}a{color:inherit;text-decoration:none}svg{width:19px;height:19px;display:block;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}button:focus-visible,a:focus-visible,select:focus-visible{outline:2px solid var(--green);outline-offset:3px}input:focus,textarea:focus{outline:none}.app{display:flex;min-height:100dvh}.sidebar{width:264px;position:fixed;inset:0 auto 0 0;background:var(--sidebar);padding:32px 18px 16px;display:flex;flex-direction:column;border-right:1px solid var(--line);z-index:20;transition:transform .2s}.brand{display:flex;align-items:center;gap:10px;font-weight:760;letter-spacing:-1.5px;font-size:25px;padding:0 9px;margin-bottom:34px;width:max-content}.brand img{border-radius:10px}.brand-dot{color:#698465}.new-chat{display:flex;align-items:center;gap:9px;border:1px solid #ccd6c0;border-radius:10px;background:var(--accent);padding:12px;font-size:13px;font-weight:600;text-align:left}.new-chat:hover{filter:brightness(.97)}.new-chat kbd{font-family:inherit;font-size:10px;margin-left:auto;opacity:.45;white-space:nowrap}.search{margin:17px 7px 28px;display:flex;align-items:center;gap:8px;color:var(--muted)}.search svg{width:16px;height:16px}.search input{min-width:0;width:100%;border:0;background:transparent;color:var(--text);font-size:12px}.search input::placeholder{color:var(--muted)}.history-label{font-size:10px;font-weight:600;letter-spacing:1.2px;color:var(--muted);display:flex;justify-content:space-between;padding:0 11px 13px}.history-label span{letter-spacing:0}#history{overflow-y:auto;flex:1;scrollbar-width:thin}.empty-history{color:var(--muted);font-size:12px;line-height:1.8;padding:8px 11px}.history-row{display:flex;align-items:center;border-radius:8px;margin-bottom:3px}.history-row:hover,.history-row.active{background:var(--hover)}.history-chat{padding:11px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;text-align:left;flex:1;min-width:0;font-size:12px}.history-delete{padding:8px;color:var(--muted);opacity:0}.history-row:hover .history-delete,.history-delete:focus-visible{opacity:1}.history-delete svg{width:14px;height:14px}.sidebar-bottom{padding-top:16px}.local-note{display:flex;gap:7px;align-items:center;font-size:10px;color:var(--muted);padding:12px 7px 18px}.local-note svg{width:12px;height:12px}.settings-button{display:flex;gap:10px;align-items:center;width:100%;padding:12px 7px;border-top:1px solid var(--line);text-align:left;font-size:12px}.settings-button>svg{margin-left:auto;width:16px;color:var(--muted)}small{display:block;color:var(--muted);font-size:11px;font-weight:400;line-height:1.6;margin-top:4px}.avatar{background:var(--hover);border:1px solid var(--line);width:33px;height:33px;border-radius:50%;display:grid;place-items:center;font-family:Georgia,serif;font-size:15px}main{margin-left:264px;flex:1;min-width:0;display:flex;flex-direction:column;height:100dvh}.topbar{height:85px;padding:0 38px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.top-left{display:flex;align-items:center;gap:12px}.top-title{font-size:14px;font-weight:650;letter-spacing:.5px}.version{font-size:10px;letter-spacing:0;color:var(--muted);border:1px solid var(--line);padding:3px 6px;border-radius:5px;margin-left:8px;font-weight:400}.status{font-size:11px;color:var(--muted);display:flex;align-items:center;gap:6px}.status i{width:5px;height:5px;background:#91a789;border-radius:50%}.status.offline i{background:#bf886b}.icon-button{width:32px;height:32px;display:grid;place-items:center;color:var(--muted);border-radius:6px}.icon-button:hover{background:var(--hover);color:var(--text)}#toggle-sidebar{display:none}.workspace{width:100%;flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column;scroll-behavior:smooth}.welcome{width:100%;text-align:center;margin:auto auto 0;padding:40px 20px 0}.welcome-mark{margin-bottom:27px}.welcome-mark img{border-radius:16px;box-shadow:0 3px 8px #183e3510}.eyebrow{font-size:9px;letter-spacing:2.3px;color:var(--muted);font-weight:550;margin:0 0 17px}h1{font-family:Georgia,"Times New Roman",serif;font-size:clamp(30px,3.4vw,45px);font-weight:400;letter-spacing:-1.6px;margin:0 0 17px;line-height:1.18}.intro{font-size:13px;line-height:1.8;color:var(--muted);margin:0}.composer-area{width:min(700px,calc(100% - 72px));margin:35px auto auto;flex-shrink:0;padding-bottom:20px}.composer{background:var(--surface);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);padding:20px 18px 13px;transition:border-color .2s}.composer:focus-within{border-color:#a2b597}.composer textarea{border:0;background:transparent;display:block;width:100%;resize:none;min-height:40px;max-height:180px;font-size:14px;line-height:1.6;color:var(--text);padding:0 2px}.composer textarea::placeholder{color:#979c93}.composer-bottom{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:11px}.composer-bottom>span{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:6px}.mini-spark{font-size:19px;color:#7a9272}.send{width:33px;height:33px;border-radius:10px;background:var(--green);color:var(--bg);display:grid;place-items:center;transition:opacity .2s}.send:disabled{opacity:.25}.send:hover:enabled{filter:brightness(1.2)}.send.stopping{background:var(--text)}.suggestions{display:flex;justify-content:center;flex-wrap:wrap;gap:8px;margin-top:22px}.suggestions button{display:flex;align-items:center;gap:7px;font-size:10px;border:1px solid var(--line);border-radius:8px;padding:9px 11px;color:#747d70;transition:background .15s}.suggestions button:hover{background:var(--hover);color:var(--text)}.suggestions svg{width:14px;height:14px}.disclaimer{text-align:center;font-size:9px;color:var(--muted);margin:23px 0 0}.messages{display:none;width:min(700px,calc(100% - 72px));margin:10px auto 0;flex:1}.workspace.chatting .welcome,.workspace.chatting .suggestions{display:none}.workspace.chatting .messages{display:block}.workspace.chatting .composer-area{position:sticky;bottom:0;padding-top:16px;padding-bottom:16px;margin:0 auto;background:var(--bg)}.workspace.chatting .disclaimer{margin-top:12px}.message{margin:25px 0 34px;font-size:14px;line-height:1.85;overflow-wrap:anywhere}.message.user{margin-left:auto;background:var(--bubble);border-radius:17px 17px 4px 17px;padding:12px 18px;width:fit-content;max-width:85%;white-space:pre-wrap}.assistant-label{display:flex;align-items:center;gap:9px;font-size:11px;font-weight:650;margin-bottom:13px;letter-spacing:.6px}.assistant-label img{width:24px;height:24px;border-radius:7px}.message p{margin:0 0 13px}.message p:last-child{margin:0}.message h2,.message h3,.message h4{font-size:17px;font-weight:600;margin:22px 0 10px}.message ul,.message ol{padding-left:23px}.message li{padding-left:3px}.message pre{background:var(--sidebar);border:1px solid var(--line);padding:17px;border-radius:10px;overflow:auto;line-height:1.65;font-size:12px;white-space:pre}.message code{font-family:Consolas,monospace;font-size:.88em;background:var(--sidebar);padding:2px 4px;border-radius:4px}.message pre code{background:none;padding:0}.message a{color:var(--green);text-decoration:underline}.message blockquote{border-left:3px solid var(--line);margin-left:0;padding-left:15px;color:var(--muted)}.message-tools{display:flex;gap:8px;align-items:center;margin-top:12px;color:var(--muted)}.message-tools button{font-size:10px;display:flex;gap:5px;align-items:center;padding:4px}.message-tools svg{width:13px;height:13px}.message-error{color:#bc6447;background:var(--bubble);padding:10px;border-radius:8px;font-size:12px}.thinking{color:var(--muted);font-size:12px;animation:pulse 1.4s infinite}.partial-note{font-size:10px;color:var(--muted);margin-top:10px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}dialog{border:1px solid var(--line);border-radius:20px;background:var(--surface);color:var(--text);width:min(480px,calc(100% - 32px));padding:29px;box-shadow:0 20px 80px #0003}dialog::backdrop{background:#14201666;backdrop-filter:blur(3px)}.dialog-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:20px}.dialog-head .eyebrow{margin-bottom:8px}.dialog-head h2,dialog h2{font-family:Georgia,serif;font-size:26px;font-weight:400;margin:0}dialog p{font-size:13px;color:var(--muted);line-height:1.7}.setting{display:flex;gap:18px;align-items:center;justify-content:space-between;padding:19px 0;border-top:1px solid var(--line);font-size:13px}.setting select{border:1px solid var(--line);border-radius:7px;padding:8px;background:var(--bg);color:var(--text);font-size:11px;max-width:170px}.data-actions{display:flex;gap:8px}.data-actions button,.confirm-actions button{padding:10px 12px;border:1px solid var(--line);border-radius:7px;font-size:11px;display:flex;gap:9px;align-items:center}.data-actions svg{width:13px;height:13px}.danger{color:#b65b43}.settings-foot{font-size:10px;line-height:1.8;color:var(--muted);margin:25px 0 0}.confirm-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:20px}.scrim{display:none}#toast{position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(20px);z-index:100;background:var(--text);color:var(--bg);padding:12px 20px;border-radius:9px;font-size:12px;opacity:0;transition:all .2s;pointer-events:none;max-width:90%;text-align:center}#toast.visible{opacity:1;transform:translateX(-50%) translateY(0)}.sidebar-hidden .sidebar{transform:translateX(-100%)}.sidebar-hidden main{margin-left:0}.sidebar-hidden #toggle-sidebar{display:grid}@keyframes pulse{50%{opacity:.4}}@media(min-width:761px){.top-left:hover #toggle-sidebar{display:grid}.top-left:focus-within #toggle-sidebar{display:grid}}@media(min-height:900px){.welcome{margin-top:14vh}}@media(max-width:1050px){.sidebar{width:230px}main{margin-left:230px}.new-chat kbd{display:none}.composer-area,.messages{width:calc(100% - 48px)}.topbar{padding:0 25px}.suggestions{gap:6px}.suggestions button{font-size:9px;padding:8px}}@media(max-width:760px){.sidebar{width:264px;transform:translateX(-100%)}main{margin-left:0}.sidebar-open .sidebar{transform:translateX(0)}.sidebar-open .scrim{display:block;position:fixed;inset:0;background:#0005;z-index:19}#toggle-sidebar{display:grid}.topbar{height:70px;padding:0 20px}.composer-area,.messages{width:calc(100% - 32px)}.welcome{padding-top:30px}.welcome-mark{margin-bottom:24px}h1{font-size:34px}.composer-area{margin-top:28px}.suggestions{max-width:330px;margin:18px auto 0;gap:8px}.suggestions button{font-size:10px;justify-content:center;flex:1 1 45%;padding:11px 9px}.intro{font-size:12px}.status{font-size:10px}.history-delete{opacity:1}.composer{padding:17px 15px 12px}.message{font-size:14px}.workspace.chatting .composer-area{padding-bottom:max(12px,env(safe-area-inset-bottom))}.setting{gap:12px}.data-actions{flex-wrap:wrap}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

#toggle-sidebar{display:grid}
