:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#202820;background:#fbfcf9;font-synthesis:none;--bg:#fbfcf9;--side:#f0f3ed;--panel:#fff;--text:#202820;--muted:#7a8277;--border:#e1e6dc;--hover:#e7ece2;--green:#1d513c;--user:#edf1e9;--shadow:0 7px 24px #21391a08}
:root[data-theme=dark]{color-scheme:dark;--bg:#1b201d;--side:#121713;--panel:#232b25;--text:#e7ece4;--muted:#9aa695;--border:#343e33;--hover:#293329;--green:#b5df9e;--user:#2d382d;--shadow:0 7px 24px #00000015}
*{box-sizing:border-box}body{margin:0;color:var(--text);background:var(--bg);font-size:14px}button,input,textarea{font:inherit}button,a,input,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer;color:inherit}button:disabled{cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #70a77c;outline-offset:3px}button{border:0}svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}.svg-definitions{position:absolute;width:0;height:0;overflow:hidden}[hidden]{display:none!important}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.workspace{display:flex;height:100dvh;min-height:500px}.sidebar{width:270px;flex-shrink:0;background:var(--side);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:27px 16px 14px}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--text);font-size:16px;font-weight:650;letter-spacing:-.5px;margin:0 10px 33px}.brand b{font-weight:400;color:var(--muted);margin-left:3px}.brand-mark{width:32px;height:32px;background:#204d37;color:#f0f7e8;display:flex;align-items:center;justify-content:center;border-radius:11px;position:relative;font-size:27px;font-weight:650;letter-spacing:-4px;padding-right:4px;padding-bottom:5px;font-family:Georgia,serif}.brand-mark span{font-family:Inter,sans-serif;font-size:11px;letter-spacing:0;position:absolute;right:4px;top:4px;color:#c4e8a2}.brand-mark.large{width:52px;height:52px;border-radius:17px;font-size:41px;margin-bottom:34px}.brand-mark.large span{font-size:15px;right:7px;top:7px}.new-chat{height:43px;display:flex;align-items:center;gap:9px;padding:0 13px;background:var(--panel);border:1px solid var(--border);border-radius:10px;box-shadow:0 1px 2px #00000003;text-align:left;font-size:12px;font-weight:560}.new-chat:hover{border-color:#9bac96}.new-chat svg{width:17px}.new-chat kbd{font:11px inherit;color:var(--muted);margin-left:auto;opacity:.7}.search-wrap{display:flex;align-items:center;gap:9px;margin:16px 7px 27px;color:var(--muted)}.search-wrap svg{width:16px;height:16px}.search-wrap input{border:0;background:none;color:var(--text);font-size:12px;width:100%;min-width:0;padding:5px 0;outline:none}.search-wrap input::placeholder{color:var(--muted)}.history-label{font-size:9px;font-weight:650;letter-spacing:1px;color:var(--muted);display:flex;justify-content:space-between;margin:0 11px 12px}.history-label span{letter-spacing:0;font-weight:400}.history{flex:1;overflow:auto;min-height:70px}.history-empty{font-size:12px;line-height:1.7;color:var(--muted);padding:14px 12px;max-width:210px}.history-item{display:flex;align-items:center;border-radius:8px;margin:3px 0;position:relative}.history-item:hover,.history-item.active{background:var(--hover)}.history-item .choose-chat{display:flex;align-items:center;gap:10px;background:none;flex:1;min-width:0;text-align:left;padding:12px;font-size:12px}.choose-chat svg{width:15px;height:15px;color:var(--muted)}.choose-chat span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.history-item .delete-chat{background:none;padding:8px;opacity:0;color:var(--muted);flex-shrink:0}.history-item .delete-chat svg{width:14px;height:14px}.history-item:hover .delete-chat,.delete-chat:focus-visible{opacity:1}.sidebar-footer{border-top:1px solid var(--border);padding-top:14px;margin-top:15px}.privacy-note{display:flex;align-items:center;gap:9px;padding:1px 7px 19px;font-size:11px;font-weight:550}.status-dot{width:6px;height:6px;background:#6b9874;border-radius:50%;box-shadow:0 0 0 3px #80ad6b16}.privacy-note small,.profile small{display:block;font-size:10px;font-weight:400;color:var(--muted);margin-top:5px}.privacy-note .icon-button{margin-left:auto;width:28px;height:28px}.privacy-note svg{width:15px}.profile{display:flex;align-items:center;gap:10px;padding:13px 7px 0;border-top:1px solid var(--border);font-size:11px;font-weight:550}.profile .icon-button{margin-left:auto;width:26px}.profile svg{width:16px}.avatar{width:31px;height:31px;border-radius:50%;background:#dce5d2;display:flex;align-items:center;justify-content:center;color:#43543b;font-size:12px;font-weight:600}.main-panel{flex:1;display:flex;flex-direction:column;min-width:0;height:100%;position:relative}.topbar{height:79px;flex-shrink:0;padding:0 35px;display:flex;align-items:center;justify-content:space-between;gap:15px}.topbar-left,.topbar-actions{display:flex;align-items:center;gap:13px}.topbar-left .icon-button{display:none}.model-label{font-size:15px;font-weight:600;letter-spacing:-.3px}.model-label>span{font-size:12px;color:var(--muted);font-weight:450;margin-left:3px}.model-tag{font-size:8px;font-weight:600;letter-spacing:1.1px;color:var(--muted);border:1px solid var(--border);padding:5px 7px;border-radius:5px}.icon-button{width:32px;height:32px;padding:6px;display:flex;align-items:center;justify-content:center;border-radius:7px;background:none;color:var(--muted)}.icon-button:hover{background:var(--hover);color:var(--text)}.topbar-actions{gap:7px}.topbar-actions svg{width:17px;height:17px}.conversation-scroll{flex:1;overflow-y:auto;scroll-behavior:smooth;overscroll-behavior:contain}.welcome{display:flex;flex-direction:column;align-items:center;text-align:center;padding:clamp(42px,10vh,120px) 24px 24px;max-width:820px;margin:auto}.welcome-mark{width:61px;height:61px;border:1px solid var(--border);background:var(--panel);border-radius:20px;display:flex;align-items:center;justify-content:center;transform:rotate(-5deg);margin-bottom:29px;box-shadow:var(--shadow)}.welcome-mark svg{width:30px;height:30px;color:var(--green);stroke-width:1.15;transform:rotate(5deg)}.eyebrow{font-size:9px;letter-spacing:1.9px;font-weight:600;color:var(--muted)}.welcome h1{font-size:clamp(28px,3.4vw,42px);font-weight:520;letter-spacing:-1.6px;line-height:1.2;margin:13px 0 13px}.welcome p{font-size:14px;line-height:1.8;color:var(--muted);margin:0}.suggestions{display:grid;grid-template-columns:repeat(4,1fr);gap:11px;margin-top:43px;width:100%;max-width:710px}.suggestions button{display:flex;flex-direction:column;align-items:flex-start;text-align:left;border:1px solid var(--border);border-radius:12px;padding:16px 14px 17px;background:var(--panel);transition:border-color .18s,transform .18s;min-height:127px}.suggestions button:hover{transform:translateY(-3px);border-color:#91a88b}.suggestion-icon{color:var(--green);font-size:21px;margin-bottom:22px;line-height:1}.suggestions strong{font-size:11px;font-weight:600;margin-bottom:7px;white-space:nowrap}.suggestions button>span:last-child{font-size:10px;line-height:1.5;color:var(--muted)}.messages{max-width:810px;margin:0 auto;padding:25px 30px 40px}.message{margin-bottom:30px}.message.user{display:flex;justify-content:flex-end}.user-bubble{max-width:85%;padding:13px 19px;border-radius:20px 20px 5px 20px;background:var(--user);font-size:14px;line-height:1.7;white-space:pre-wrap;word-break:break-word}.assistant-heading{display:flex;align-items:center;gap:9px;font-size:12px;font-weight:650;margin-bottom:12px}.assistant-heading .brand-mark{width:24px;height:24px;font-size:20px;border-radius:8px;padding-bottom:3px}.assistant-heading .brand-mark span{font-size:8px;right:3px;top:3px}.assistant-text{font-size:14px;line-height:1.85;word-break:break-word;padding-left:33px}.assistant-text .prose{white-space:pre-wrap}.assistant-text strong{font-weight:650}.assistant-text code.inline{font-size:12px;background:var(--hover);border-radius:4px;padding:2px 4px}.code-block{margin:15px 0;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--side)}.code-label{padding:8px 12px;border-bottom:1px solid var(--border);color:var(--muted);font-size:10px}.code-block pre{margin:0;padding:15px;overflow:auto;white-space:pre;font-size:12px;line-height:1.7;font-family:"SFMono-Regular",Consolas,monospace}.message-actions{display:flex;gap:4px;padding-left:28px;margin-top:8px}.message-actions .icon-button{width:28px;height:28px}.message-actions svg{width:14px;height:14px}.message-note{padding-left:33px;color:var(--muted);font-size:11px;margin-top:10px}.typing{display:flex;gap:4px;padding:10px 0}.typing i{width:5px;height:5px;background:var(--muted);border-radius:50%;animation:pulse 1.1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}.composer-region{width:100%;max-width:810px;margin:0 auto;padding:0 30px 18px;flex-shrink:0;background:var(--bg)}.reply-status{font-size:11px;color:var(--muted);margin:0 0 9px;min-height:15px;padding-left:3px}.composer{background:var(--panel);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:17px 15px 11px;transition:border-color .2s}.composer:focus-within{border-color:#9bb491}.composer textarea{display:block;width:100%;resize:none;background:transparent;color:var(--text);border:0;outline:none;font-size:14px;line-height:1.6;max-height:165px;min-height:29px;padding:0 3px}.composer textarea:focus-visible{outline:none}.composer textarea::placeholder{color:#9aA194}.composer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:10px}.composer-bottom>span{font-size:10px;color:var(--muted);display:flex;align-items:center;gap:5px}.small-spark{font-size:15px;color:#96ad8b}.send-tools{display:flex;align-items:center;gap:10px}.character-count{font-size:9px;color:var(--muted)}.send-button{background:#234f38;color:#eef7e8;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:10px}.send-button:hover{background:#34684b}.send-button:disabled{background:var(--hover);color:var(--muted)}.send-button svg{width:18px;height:18px;stroke-width:1.9}.send-button.is-stopping svg{fill:currentColor;stroke-width:0}.composer-foot{font-size:9px;color:var(--muted);text-align:center;margin:11px 0 0;line-height:1.6}.composer-foot span{margin-left:12px;opacity:.75}.toast{position:fixed;bottom:32px;left:50%;transform:translateX(-50%);padding:12px 18px;background:var(--text);color:var(--bg);font-size:12px;border-radius:9px;box-shadow:0 5px 20px #0002;z-index:40;max-width:90vw}.sidebar-backdrop{position:fixed;inset:0;background:#0006;z-index:15}dialog{width:440px;max-width:calc(100vw - 32px);border:1px solid var(--border);padding:28px;border-radius:18px;background:var(--panel);color:var(--text);box-shadow:0 25px 90px #0002}dialog::backdrop{background:#15201466;backdrop-filter:blur(3px)}dialog p{font-size:13px;color:var(--muted);line-height:1.8}.dialog-heading{display:flex;align-items:center;gap:13px}.dialog-heading h2{font-size:18px;letter-spacing:-.4px;font-weight:600}.primary{background:#244f39;color:#f7fbf1;border-radius:9px;padding:12px 18px;font-size:12px;font-weight:550}.primary:hover{background:#346b4b}.primary:disabled{opacity:.6}.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;background:radial-gradient(ellipse at 80% 0%,#dbe5ce40,transparent 55%),#f7f9f3;color:#23301f;padding:65px 24px}.login-card{width:365px;max-width:100%}.login-card h1{font-size:40px;line-height:1.17;letter-spacing:-1.8px;font-weight:520;margin:15px 0 17px}.login-card .eyebrow{font-size:9px;color:#7f8a74}.login-intro{color:#79836f;font-size:13px;margin:0 0 37px}.login-card form label{display:block;font-size:11px;font-weight:550;margin:18px 0 9px}.login-card input{display:block;border:1px solid #d9e0d2;background:#fff;width:100%;border-radius:9px;height:45px;padding:12px;color:#23301f;font-size:12px}.login-card input::placeholder{color:#a1a795}.password-wrap{position:relative}.password-wrap input{padding-right:58px}.password-wrap button{position:absolute;right:12px;top:14px;font-size:10px;color:#79836f;background:none}.login-submit{display:flex;width:100%;justify-content:space-between;align-items:center;height:45px;margin-top:22px}.login-submit span{font-size:19px;font-weight:400}.login-foot{display:flex;gap:7px;align-items:center;justify-content:center;color:#8b937f;font-size:9px;margin-top:28px}.login-foot svg{width:12px;height:12px;stroke-width:1.5}.login-brand{position:absolute;top:30px;left:35px;font-size:14px;font-weight:600;letter-spacing:-.3px}.login-brand span{color:#8b937f;font-weight:400}.form-error{font-size:11px;line-height:1.6;color:#a03e37;min-height:0;margin:12px 0 -5px}.form-error:empty{display:none}
.sidebar-close{display:none}
@media(max-width:760px){.sidebar-close{display:flex;position:absolute;right:12px;top:27px;font-size:24px}}
@media(min-width:1400px){.welcome{padding-top:clamp(70px,12vh,155px)}.messages{max-width:860px}.composer-region{max-width:860px}}
@media(max-width:1100px){.sidebar{width:240px}.sidebar .brand{font-size:14px}.new-chat kbd{display:none}.topbar{padding:0 24px}.suggestions{grid-template-columns:repeat(2,1fr);max-width:470px}.suggestions button{min-height:100px;padding:14px}.suggestion-icon{margin-bottom:13px}.welcome{padding-top:45px}.welcome h1{font-size:34px}}
@media(max-width:760px){.sidebar{position:fixed;inset:0 auto 0 0;width:270px;z-index:20;transform:translateX(-100%);transition:transform .2s}.sidebar.is-open{transform:translateX(0)}.topbar-left .icon-button{display:flex}.topbar{height:65px;padding:0 16px}.topbar-left{gap:10px}.model-tag{display:none}.welcome{padding:48px 22px 15px}.welcome h1{font-size:32px;letter-spacing:-1px}.welcome p{font-size:12px}.welcome-mark{width:53px;height:53px;margin-bottom:23px}.suggestions{margin-top:30px;gap:10px;max-width:430px}.suggestions button{min-height:105px}.composer-region{padding:0 17px 14px}.composer-foot span{display:none}.messages{padding:20px 20px 25px}.assistant-text{padding-left:0;font-size:14px}.message-actions,.message-note{padding-left:0}.user-bubble{max-width:92%;font-size:13px}.history-item .delete-chat{opacity:.6}}
@media(max-height:770px) and (min-width:761px){.welcome{padding-top:25px}.welcome-mark{margin-bottom:20px}.suggestions{margin-top:27px}.welcome h1{font-size:34px}.suggestions button{min-height:107px}.suggestion-icon{margin-bottom:13px}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
