:root{color-scheme:light;--bg:#fafaf7;--panel:#ffffff;--edge:#dce1d6;--text:#27332b;--muted:#606d61;--accent:#edb394;--green:#4a7253;font-family:Inter,"Segoe UI",sans-serif;font-size:14px}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}button,input,textarea{font:inherit}button,a,input,textarea{ -webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:wait}button:focus-visible,a:focus-visible{outline:2px solid var(--accent);outline-offset:4px}input:focus,textarea:focus{outline:none;border-color:var(--accent)}button{color:inherit}a{color:#715039}[hidden]{display:none!important}
.shell{display:flex;min-height:100dvh}aside{width:258px;flex:none;background:#f0f2ec;border-right:1px solid var(--edge);padding:30px 18px 18px;display:flex;flex-direction:column;height:100dvh;position:sticky;top:0}
.brand{display:flex;align-items:center;gap:11px;text-decoration:none;color:var(--text);font-size:22px;font-weight:650;letter-spacing:-.8px;padding:0 8px}
.brand small{display:block;font-size:8px;color:var(--muted);letter-spacing:2px;margin-top:5px;font-weight:500}
.muted{font-weight:400;color:#67775f}
.mark{display:inline-flex;background:var(--accent);color:#2e3a2c;width:40px;height:42px;border-radius:12px;align-items:center;justify-content:center;font-weight:700;font-size:26px;letter-spacing:-4px;padding-right:4px}
.mark span{font-weight:400;font-size:33px}
.primary,.secondary,.danger{border-radius:8px;padding:12px 17px;font-weight:600;border:1px solid transparent}
.primary{background:var(--accent);color:#332b20}
.primary:hover{background:#eaa17a}
.secondary{background:#edf1e9;border-color:#cdd7c6}
.secondary:hover{background:#e0e8d9}
.danger{background:#aa4039;color:white}
.new-chat{margin:35px 0 26px;display:flex;align-items:center;gap:8px;font-size:12px;text-align:left}
.new-chat>span:first-child{font-size:19px}
.shortcut{margin-left:auto}nav{display:grid;gap:5px}
.nav{display:flex;gap:12px;align-items:center;background:transparent;border:0;padding:12px 14px;text-align:left;color:var(--muted);border-radius:7px}
.nav>span{font-size:20px;width:20px}
.nav:hover,.nav.active{background:#dfe8d9;color:var(--text)}
.nav.active{box-shadow:inset 2px 0 var(--green)}
.section-label{color:#687a61;font-size:9px;letter-spacing:1.7px;margin:36px 13px 14px}
.conversations{overflow:auto;flex:1}
.sidebar-empty{font-size:12px;line-height:1.8;color:#74816e;padding:0 13px}
.conversation-item{display:block;width:100%;border:0;background:none;text-align:left;padding:11px 13px;color:#586a50;white-space:nowrap;text-overflow:ellipsis;overflow:hidden;border-radius:6px;font-size:12px}
.conversation-item:hover,.conversation-item.active{color:var(--text);background:#e1e9da}
.sidebar-footer{display:flex;align-items:center;gap:10px;border-top:1px solid var(--edge);padding:20px 8px 0;font-size:11px}
.sidebar-footer small{display:block;font-size:9px;color:var(--muted);margin-top:4px}
.local-dot,.dot{display:inline-block;flex:none;width:6px;height:6px;border-radius:50%;background:var(--green)}
.version{margin-left:auto;color:#627459;font-size:10px}main{min-width:0;flex:1;height:100dvh;display:flex;flex-direction:column}
.topbar{height:76px;border-bottom:1px solid #e0e5d9;display:flex;align-items:center;justify-content:space-between;padding:0 38px;flex:none}
.breadcrumb{font-size:11px;color:#6d7b63}
.breadcrumb span{margin:0 15px;color:#a2ae97}
.breadcrumb strong{font-weight:500;color:#384a30}
.status-chip{background:#eaf0e4;border:1px solid #ccd9c3;border-radius:20px;display:flex;gap:8px;align-items:center;padding:8px 12px;color:#426235;font-size:10px}
.dot{background:#7b8f6c}
.dot.online{background:#547a40}
.dot.offline{background:#edb394}
.chat-view{min-height:0;flex:1;display:flex;flex-direction:column}
.chat-heading{display:flex;justify-content:space-between;align-items:center;padding:24px 38px 8px;color:#65785a;font-size:11px;gap:20px}
.chat-heading>span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.text-button{border:0;background:none;font-size:11px;color:var(--muted);padding:8px}
.text-button:hover{color:var(--accent)}
.chat-scroll{flex:1;overflow-y:auto;min-height:0;scroll-behavior:smooth}
.welcome{max-width:850px;margin:0 auto;padding:clamp(34px,8vh,90px) 44px 35px}
.eyebrow{font-size:9px;letter-spacing:2px;color:#647d51;display:flex;gap:10px;align-items:center;font-weight:600}h1{font-size:43px;font-weight:450;letter-spacing:-1.9px;line-height:1.2;margin:27px 0 21px}h1 span{color:#788b66}
.welcome>p{color:#65765a;font-size:13px;line-height:1.9}
.suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:38px}
.suggestions button{position:relative;display:flex;flex-direction:column;align-items:flex-start;text-align:left;padding:19px 16px 22px;border:1px solid #dce4d2;background:linear-gradient(130deg,#f1f5e9,#f6f8f1);border-radius:10px;min-height:145px}
.suggestions button:hover{border-color:#8da477;background:#eaf0de}
.suggestion-icon{color:var(--accent);font-size:24px;margin-bottom:15px}
.suggestions strong{font-size:12px;font-weight:500}
.suggestions button>span:last-of-type{font-size:10px;line-height:1.5;color:#617354;margin-top:7px}
.suggestions b{position:absolute;top:19px;right:16px;font-size:13px;color:#718764;font-weight:400}
.composer-wrap{width:100%;max-width:850px;margin:0 auto;padding:12px 44px 15px;flex:none}
.composer{border:1px solid #c4d1b5;background:#ffffff;border-radius:13px;padding:16px 17px 12px;box-shadow:0 8px 30px #2334140a}
.composer:focus-within{border-color:#849e6b}
.composer textarea{display:block;resize:none;background:transparent;border:0;color:var(--text);width:100%;line-height:1.6;max-height:180px;min-height:46px;font-size:13px}
.composer textarea::placeholder{color:#788770}
.composer-bottom{display:flex;align-items:center;justify-content:space-between;color:#718663;font-size:10px;margin-top:8px}
.separator{margin:0 8px;color:#a2b295}
.send{width:33px;height:33px;background:var(--accent);border:0;border-radius:8px;color:#33412a;font-size:24px;line-height:1}
.composer-hint{display:flex;justify-content:space-between;font-size:8px;color:#6b7f5d;margin-top:12px;gap:12px}
.composer-hint span span{margin:0 5px}
.app-footer{height:35px;border-top:1px solid #e0e6d9;flex:none;display:flex;align-items:center;justify-content:space-between;padding:0 38px;font-size:8px;letter-spacing:.6px;color:#76876b}
.app-footer>span:first-child{letter-spacing:2px}
.messages{max-width:850px;margin:auto;padding:10px 44px}
.message{display:flex;gap:16px;margin:24px 0 33px}
.avatar,.mini-mark{width:30px;height:30px;flex:none;background:#eaf0e2;border:1px solid #cedbc1;border-radius:9px;display:flex;align-items:center;justify-content:center;font-size:13px;color:#496439}
.message.assistant .avatar,.mini-mark{background:#fae8d9;border-color:#ead1b9;color:var(--accent)}
.message-body{min-width:0;flex:1}
.message-label{font-size:10px;letter-spacing:.5px;color:#61764e;margin:3px 0 10px}
.message-content{line-height:1.8;font-size:14px;overflow-wrap:anywhere}
.message-content p{margin:0 0 12px;white-space:pre-wrap}
.message-content pre{background:#f0f3eb;border:1px solid #d7e1ca;border-radius:8px;padding:15px;overflow:auto;font-size:12px;line-height:1.6}
.message-content code{font-family:Consolas,monospace;background:#edf1e4;padding:2px 4px;border-radius:3px}
.message-content pre code{background:none;padding:0}
.source-list{display:flex;gap:8px;flex-wrap:wrap;margin:15px 0}
.source-list a{font-size:11px;text-decoration:none;border:1px solid #ccd9bb;border-radius:6px;padding:8px 12px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.thinking{max-width:850px;margin:5px auto 24px;padding:0 44px;display:flex;align-items:center;gap:12px;font-size:12px;color:#647954}
.pulse{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:pulse 1.5s infinite}
@keyframes pulse{50%{opacity:.25}}details{font-size:10px;color:#6f8062;margin-top:10px}summary{cursor:pointer}
.content-view{flex:1;overflow:auto;padding:45px 48px}
.view-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:35px}
.view-heading h1{font-size:35px;margin:16px 0 12px}
.view-heading p,.connection-card p,.info-card p{font-size:13px;color:var(--muted);line-height:1.8;margin:0}
.search-form{display:flex;gap:10px;margin-bottom:24px}
.search-form input{flex:1;min-width:0}
.memory-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-bottom:20px}
.memory-card{padding:23px;background:#ffffff;border:1px solid #d7e1cc;border-radius:10px}
.memory-card h2{font-size:14px;margin:14px 0;color:#33432a;overflow-wrap:anywhere}
.memory-card p{line-height:1.8;font-size:13px;white-space:pre-wrap;overflow-wrap:anywhere;color:#5e7052}
.memory-card .category{color:#8b5635;font-size:9px;text-transform:uppercase;letter-spacing:1.5px}
.memory-actions{display:flex;gap:10px;margin-top:18px}
.empty-state{padding:45px 20px;text-align:center;color:#6e815e;line-height:1.8;grid-column:1/-1}
.connection-card{display:flex;justify-content:space-between;gap:25px;align-items:center;border:1px solid #dce4d2;background:#ffffff;border-radius:10px;padding:25px;margin-bottom:15px}
.connection-card h2,.info-card h2{font-size:14px;font-weight:500;margin:0 0 8px}
.badge{padding:7px 10px;background:#eaf1df;color:#4e6e36;font-size:10px;white-space:nowrap;border-radius:20px}
.badge.offline{background:#fbeedc;color:var(--accent)}
.info-card{padding:28px 0;max-width:650px}
#notice{padding:13px 38px;background:#fff2df;color:#83502a;font-size:12px;line-height:1.6}
.icon-button{border:0;background:transparent;padding:7px;font-size:22px;color:var(--muted)}
#menu{display:none}dialog{background:#ffffff;border:1px solid #d5dfc9;border-radius:16px;color:var(--text);padding:32px;width:min(470px,calc(100vw - 32px));box-shadow:0 25px 100px #27391926}dialog::backdrop{background:#e7ecdfd9;backdrop-filter:blur(6px)}dialog h1{font-size:28px;letter-spacing:-1px;margin-top:23px}dialog h2{font-size:20px;font-weight:500}dialog p{color:#647657;line-height:1.7;font-size:13px}dialog label{display:block;font-size:12px;margin:20px 0 9px;color:#4b5d3d}input,dialog textarea{background:#fafbf7;border:1px solid #c6d4b5;border-radius:7px;color:var(--text);padding:12px;width:100%;line-height:1.5}dialog textarea{resize:vertical}dialog small{display:block;color:#70865c;font-size:10px;margin:12px 0;line-height:1.6}dialog .primary{width:100%;margin-top:10px}
.form-error{color:#a73f32!important;min-height:18px}
.dialog-heading,.dialog-actions{display:flex;align-items:center;justify-content:space-between;gap:12px}
.dialog-actions{justify-content:flex-end;margin-top:25px}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(min-width:1500px){.welcome{padding-top:13vh}}
@media(max-width:1050px){aside{width:225px}
.welcome,.messages{padding-left:28px;padding-right:28px}
.composer-wrap{padding-left:28px;padding-right:28px}
.welcome h1{font-size:38px}
.suggestions{gap:8px}
.suggestions button{padding:15px 12px}
.content-view{padding:32px}
.composer-hint>span:last-child{display:none}}
@media(max-width:720px){aside{position:fixed;z-index:5;left:0;top:62px;height:calc(100dvh - 62px);width:260px;transform:translateX(-100%);transition:transform .18s;box-shadow:20px 0 40px #2438151a}
.shell.menu-open aside{transform:translateX(0)}
#menu{display:block}
.topbar{height:62px;padding:0 18px;gap:12px}
.breadcrumb{margin-right:auto;font-size:10px}
.breadcrumb span{margin:0 9px}
.status-chip{font-size:9px;padding:7px 9px}
.welcome{padding:35px 22px 15px}
.welcome h1{font-size:34px}
.welcome>p{font-size:12px}
.welcome>p br{display:none}
.suggestions{grid-template-columns:1fr;margin-top:24px;gap:8px}
.suggestions button{min-height:0;padding:14px 16px 14px 48px}
.suggestion-icon{position:absolute;left:16px;top:13px;font-size:19px;margin:0}
.suggestions button>span:last-of-type{margin-top:4px}
.chat-heading{padding:16px 22px 5px}
.messages{padding:6px 20px}
.message{gap:10px}
.message-content{font-size:13px}
.composer-wrap{padding:10px 16px 12px}
.composer{padding:12px}
.composer-hint{font-size:8px}
.app-footer{padding:0 20px;height:28px;font-size:7px}
.content-view{padding:26px 20px}
.view-heading{align-items:flex-start;flex-direction:column}
.connection-card{padding:18px;gap:12px}
.connection-card p{font-size:11px}
.connection-card h2{font-size:13px}
.thinking{padding:0 20px}
#notice{padding:12px 20px}
.eyebrow{font-size:8px}dialog{padding:25px}
.brand{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

@media (min-width:721px) and (max-height:800px){.welcome{padding-top:18px;padding-bottom:12px}.welcome h1{font-size:34px;margin:18px 0 12px}.welcome>p{font-size:12px;line-height:1.7}.suggestions{margin-top:20px}.suggestions button{min-height:118px;padding-top:13px;padding-bottom:16px}.suggestion-icon{font-size:20px;margin-bottom:9px}}
