:root{
--bg:#fff;--surface:#f7f7f8;--surface2:#fff;--text:#171717;--muted:#777;--border:#e6e6e6;
--hover:#f0f0f0;--user:#f1f1f1;--accent:#111;--accentText:#fff;--danger:#c33;
--shadow:0 24px 70px rgba(0,0,0,.14);--sidebar:260px;
}
:root.dark{--bg:#212121;--surface:#171717;--surface2:#2a2a2a;--text:#ececec;--muted:#a0a0a0;--border:#3b3b3b;--hover:#303030;--user:#2f2f2f;--accent:#fff;--accentText:#111;--shadow:0 24px 70px rgba(0,0,0,.45)}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{font-family:Inter,system-ui,sans-serif;background:var(--bg);color:var(--text)}
button,input,textarea,select{font:inherit}button{cursor:pointer;color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid #7aa7ff;outline-offset:2px}
.app{height:100%;display:flex;overflow:hidden}.sidebar{width:var(--sidebar);flex:0 0 var(--sidebar);background:var(--surface);display:flex;flex-direction:column;padding:12px;z-index:20;border-right:1px solid var(--border)}
.side-top{display:flex;align-items:center;justify-content:space-between;padding:5px 6px 14px}.brand{font-weight:700;display:flex;align-items:center;gap:9px}.brand-logo{width:27px;height:27px;border-radius:8px;background:var(--accent);color:var(--accentText);display:grid;place-items:center;font-size:13px}
.round-btn{border:0;background:transparent;width:34px;height:34px;border-radius:9px;display:grid;place-items:center;font-size:17px}.round-btn:hover{background:var(--hover)}.mobile-close{display:none}
.new-chat{height:42px;border:1px solid var(--border);background:var(--surface2);border-radius:10px;text-align:left;padding:0 11px;font-weight:600;display:flex;align-items:center;gap:8px}.new-chat:hover{background:var(--hover)}kbd{margin-left:auto;color:var(--muted);font-size:10px;border:1px solid var(--border);padding:3px 5px;border-radius:5px}
.search-box{margin:12px 0 5px;display:flex;align-items:center;gap:8px;background:var(--surface2);border:1px solid var(--border);border-radius:9px;padding:0 10px;color:var(--muted)}.search-box input{border:0;outline:0;background:transparent;color:var(--text);height:37px;width:100%;font-size:12px}
.chat-scroll{overflow:auto;min-height:0}.side-label{font-size:10px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);padding:14px 8px 7px}
.chat-item{display:flex;align-items:center;gap:5px;border-radius:8px;margin:1px 0}.chat-item.active{background:var(--hover)}.chat-main{min-width:0;flex:1;border:0;background:transparent;text-align:left;padding:9px 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}.chat-menu{opacity:0;border:0;background:transparent;width:30px;height:30px;border-radius:7px}.chat-item:hover .chat-menu,.chat-item.active .chat-menu{opacity:1}.chat-menu:hover{background:var(--surface2)}
.side-bottom{margin-top:auto;border-top:1px solid var(--border);padding-top:9px}.side-action{width:100%;border:0;background:transparent;display:flex;gap:10px;align-items:center;padding:10px 8px;border-radius:8px;text-align:left;font-size:12px}.side-action:hover{background:var(--hover)}.puter-status{font-size:10px;color:var(--muted);padding:10px 8px}.puter-status i{display:inline-block;width:6px;height:6px;border-radius:50%;background:#24a148;margin-right:6px}
.backdrop{display:none}.main{min-width:0;flex:1;height:100%;display:flex;flex-direction:column;background:var(--bg)}
.topbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;border-bottom:1px solid var(--border);flex:none}.top-left,.top-actions{display:flex;align-items:center;gap:5px}.model-trigger{border:0;background:transparent;border-radius:9px;padding:8px 9px;display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px}.model-trigger:hover{background:var(--hover)}.model-dot{width:8px;height:8px;border-radius:50%;background:#111}.dark .model-dot{background:#fff}.chevron{color:var(--muted)}
.chat{flex:1;overflow:auto;padding:28px 18px 160px}.messages{width:min(780px,100%);margin:auto;display:grid;gap:25px}.welcome{width:min(780px,100%);margin:7vh auto 0;text-align:center}.welcome-mark{width:42px;height:42px;border-radius:14px;background:var(--accent);color:var(--accentText);display:grid;place-items:center;margin:0 auto 18px}.welcome h1{font-size:clamp(28px,5vw,42px);letter-spacing:-.045em;margin:0 0 9px}.welcome p{color:var(--muted);font-size:13px}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:28px;text-align:left}.quick-grid button{border:1px solid var(--border);background:var(--surface2);border-radius:13px;padding:14px;display:flex;flex-direction:column;gap:5px}.quick-grid button:hover{background:var(--hover)}.quick-grid b{font-size:12px}.quick-grid span{font-size:11px;color:var(--muted)}
.message{display:flex;gap:11px;align-items:flex-start}.message.user{justify-content:flex-end}.avatar{width:28px;height:28px;border-radius:8px;background:var(--accent);color:var(--accentText);display:grid;place-items:center;font-size:9px;font-weight:700;flex:none}.user .avatar{order:2;background:var(--hover);color:var(--text)}.bubble{max-width:min(700px,85%);font-size:14px;line-height:1.65}.user .bubble{background:var(--user);padding:10px 14px;border-radius:17px 17px 5px 17px}.assistant .bubble{padding-top:2px}.bubble p{margin:0 0 10px}.bubble p:last-child{margin-bottom:0}.bubble pre{background:#111;color:#eee;border-radius:10px;padding:13px;overflow:auto}.bubble code{font-family:ui-monospace,monospace;font-size:.9em}.bubble :not(pre)>code{background:var(--hover);padding:2px 5px;border-radius:4px}.generated-image{display:block;max-width:min(620px,100%);border-radius:14px;margin-top:10px;border:1px solid var(--border)}.image-caption{color:var(--muted);font-size:11px;margin-top:7px}
.composer-wrap{position:fixed;bottom:0;left:var(--sidebar);right:0;padding:15px max(18px,calc((100vw - var(--sidebar) - 780px)/2));background:linear-gradient(transparent,var(--bg) 35%);pointer-events:none}.composer,.composer-meta,.attachment-preview{pointer-events:auto}.composer{display:flex;align-items:flex-end;gap:7px;border:1px solid var(--border);background:var(--surface2);border-radius:18px;padding:8px;box-shadow:0 8px 30px rgba(0,0,0,.06)}.composer textarea{flex:1;min-width:0;max-height:180px;resize:none;border:0;outline:0;background:transparent;color:var(--text);padding:7px 5px;line-height:1.5}.tool-btn,.send-btn{border:0;flex:none;width:36px;height:36px;border-radius:11px;display:grid;place-items:center}.tool-btn{background:transparent}.tool-btn:hover{background:var(--hover)}.send-btn{background:var(--accent);color:var(--accentText);font-size:19px}.send-btn:disabled{opacity:.4}.composer-meta{display:flex;justify-content:space-between;padding:6px 3px 0;color:var(--muted);font-size:9px}.attachment-preview{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:6px}.attachment{background:var(--surface2);border:1px solid var(--border);border-radius:8px;padding:6px 9px;font-size:10px}.attachment button{border:0;background:transparent;margin-left:5px}
.modal{position:fixed;inset:0;z-index:50;background:rgba(0,0,0,.38);display:grid;place-items:center;padding:20px}.modal.hidden{display:none}.modal-card{width:min(600px,100%);background:var(--surface2);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px}.small-card{width:min(430px,100%)}.modal-head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:18px}.modal-head h2{margin:0;font-size:18px}.modal-head p{margin:5px 0 0;color:var(--muted);font-size:11px}.model-grid{display:grid;gap:9px}.model-option{border:1px solid var(--border);background:transparent;border-radius:13px;padding:13px;text-align:left}.model-option:hover,.model-option.selected{background:var(--hover)}.model-option b{font-size:13px}.model-option span{display:block;color:var(--muted);font-size:10px;margin-top:4px}.setting-row{display:flex;align-items:center;justify-content:space-between;gap:15px;border-top:1px solid var(--border);padding:15px 0}.setting-row b{display:block;font-size:12px}.setting-row small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.pill-btn,.danger-btn,.primary-btn{border:1px solid var(--border);background:var(--hover);border-radius:9px;padding:8px 12px;font-size:11px}.danger-btn{color:var(--danger)}.primary-btn{width:100%;background:var(--accent);color:var(--accentText);margin-top:10px}.text-input{width:100%;height:42px;border:1px solid var(--border);background:var(--surface);color:var(--text);border-radius:9px;padding:0 11px;outline:0}.toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,20px);opacity:0;background:var(--accent);color:var(--accentText);padding:9px 13px;border-radius:9px;font-size:11px;transition:.2s;z-index:100}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(max-width:760px){
:root{--sidebar:280px}.sidebar{position:fixed;top:0;bottom:0;left:0;transform:translateX(-102%);transition:.22s;box-shadow:var(--shadow)}.sidebar.open{transform:none}.mobile-close{display:grid}.backdrop{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:19}.backdrop.show{display:block}.composer-wrap{left:0;padding:11px 12px}.composer-meta span:last-child{display:none}.chat{padding-top:20px}.quick-grid{grid-template-columns:1fr}.bubble{max-width:88%}
}
