@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');
:root{color-scheme:dark;--bg:#212121;--sidebar:#171717;--panel:#2f2f2f;--text:#ececec;--muted:#a5a5a5;--border:#393939;--hover:#292929;--accent:#10a37f;--bubble:#303030;--shadow:0 14px 45px #0002}
:root[data-theme="light"]{color-scheme:light;--bg:#fff;--sidebar:#f7f7f8;--panel:#f4f4f4;--text:#252525;--muted:#71717a;--border:#e5e5e5;--hover:#ededed;--accent:#078768;--bubble:#f3f3f3;--shadow:0 14px 45px #0001}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:"DM Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,textarea{font:inherit}button{color:inherit;cursor:pointer}.app{display:flex;height:100dvh;min-height:0;overflow:hidden}.sidebar{width:272px;flex:0 0 272px;background:var(--sidebar);border-right:1px solid var(--border);padding:16px 12px;display:flex;flex-direction:column;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-weight:700;font-size:16px;padding:4px 7px 24px}.brand small{font-size:11px;color:var(--muted);font-weight:500}.brand-mark,.welcome-mark{display:grid;place-items:center;background:linear-gradient(135deg,#19c99a,#087f68);color:#fff;font-weight:700}.brand-mark{width:32px;height:32px;border-radius:10px}.new-chat-btn{display:flex;align-items:center;gap:10px;border:1px solid var(--border);background:transparent;border-radius:10px;padding:12px;text-align:left;font-size:14px}.new-chat-btn:hover,.theme-btn:hover,.history-item:hover{background:var(--hover)}.new-chat-btn span{font-size:20px;line-height:16px}.history-label{font-size:10px;letter-spacing:1.2px;color:var(--muted);font-weight:700;padding:24px 9px 9px}.chat-history{overflow:auto;flex:1}.history-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:8px;margin-bottom:3px;font-size:13px;cursor:pointer;color:var(--text)}.history-item.active{background:var(--hover)}.history-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.delete-chat{border:0;background:transparent;color:var(--muted);padding:2px 4px;border-radius:5px;opacity:0}.history-item:hover .delete-chat{opacity:1}.sidebar-bottom{border-top:1px solid var(--border);padding-top:12px}.theme-btn{display:flex;gap:10px;align-items:center;border:0;background:transparent;border-radius:8px;padding:10px;width:100%;text-align:left;font-size:13px}.account{display:flex;align-items:center;gap:10px;padding:16px 8px 3px;font-size:12px}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#333;color:#fff}.account small{display:block;color:var(--muted);margin-top:3px}.main-chat{min-width:0;flex:1;display:flex;flex-direction:column;height:100%;position:relative}.navbar{height:58px;flex-shrink:0;border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:0 22px}.model-pill{margin-right:auto;margin-left:4px;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:7px}.status-dot{width:7px;height:7px;border-radius:50%;background:var(--accent)}.icon-btn{border:0;background:transparent;color:var(--muted);border-radius:8px;width:36px;height:36px;font-size:18px}.icon-btn:hover{background:var(--hover);color:var(--text)}.menu-btn,.mobile-brand,.mobile-close{display:none}.chat-container{width:100%;flex:1;overflow-y:auto;padding:28px 20px 20px;scroll-behavior:smooth}.welcome{max-width:740px;margin:9vh auto 40px;text-align:center}.welcome-mark{width:56px;height:56px;border-radius:18px;margin:0 auto 24px;font-size:25px;box-shadow:0 8px 30px #10a37f24}.welcome h1{font-size:clamp(25px,3.2vw,36px);letter-spacing:-1.2px;margin:0 0 12px}.welcome p{color:var(--muted);font-size:14px;margin:0 auto 32px;max-width:480px;line-height:1.7}.suggestions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;text-align:left}.suggestion{display:flex;flex-direction:column;gap:8px;padding:17px;border:1px solid var(--border);background:transparent;border-radius:13px;min-height:120px;text-align:left}.suggestion:hover{background:var(--hover);border-color:#777}.suggestion>span{font-size:18px;color:var(--accent)}.suggestion b{font-size:13px}.suggestion small{font-size:12px;color:var(--muted);line-height:1.4}.message{max-width:790px;margin:0 auto 27px;display:flex;gap:13px;align-items:flex-start;animation:appear .18s ease-out}.avatar{flex:0 0 30px;width:30px;height:30px;display:grid;place-items:center;border-radius:9px;background:var(--panel);font-weight:700;font-size:12px}.message.ai .avatar{background:var(--accent);color:white}.message.user .avatar{background:#4169e1;color:white}.message-body{min-width:0;flex:1;padding-top:3px;font-size:14px;line-height:1.75;overflow-wrap:anywhere}.message.user .message-body{background:var(--bubble);border-radius:14px;padding:10px 14px;flex:0 1 auto;max-width:90%}.message-body p{margin:0 0 12px}.message-body p:last-child{margin-bottom:0}.message-body h1,.message-body h2,.message-body h3{line-height:1.35;margin:18px 0 9px}.message-body h1{font-size:1.45em}.message-body h2{font-size:1.25em}.message-body h3{font-size:1.1em}.message-body ul,.message-body ol{padding-left:24px;margin:8px 0 14px}.message-body blockquote{margin:12px 0;padding:4px 13px;border-left:3px solid var(--accent);color:var(--muted)}.message-body a{color:var(--accent)}.message-body :not(pre)>code{background:var(--panel);border:1px solid var(--border);border-radius:5px;padding:2px 5px;font-size:.9em}.code-wrap{position:relative;margin:12px 0 14px;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:#111;color:#eee}.code-head{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:#1c1c1c;color:#bcbcbc;font-size:11px;border-bottom:1px solid #333}.copy-code{border:1px solid #484848;border-radius:6px;background:#292929;color:#eee;padding:4px 8px;font-size:11px}.code-wrap pre{margin:0;padding:14px;overflow:auto;max-width:100%;font:12px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace}.code-wrap code{font:inherit;white-space:pre}.composer-area{flex-shrink:0;padding:12px 20px 12px;background:linear-gradient(180deg,transparent,var(--bg) 20%)}.composer{max-width:790px;margin:auto;border:1px solid var(--border);background:var(--panel);border-radius:18px;padding:12px 12px 9px;box-shadow:var(--shadow)}.composer:focus-within{border-color:#666}.composer textarea{display:block;width:100%;resize:none;max-height:180px;min-height:30px;background:transparent;border:0;outline:0;color:var(--text);font-size:14px;line-height:1.55;padding:2px 3px}.composer textarea::placeholder{color:var(--muted)}.composer-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:8px}.hint{font-size:10px;color:var(--muted)}.send-btn{width:32px;height:32px;border:0;border-radius:10px;background:var(--text);color:var(--bg);font-size:21px;line-height:1}.send-btn:disabled{opacity:.35;cursor:not-allowed}.disclaimer{text-align:center;font-size:10px;color:var(--muted);margin:10px 0 0}.typing{display:flex;gap:4px;padding:8px 0}.typing i{width:6px;height:6px;background:var(--muted);border-radius:50%;animation:pulse 1s infinite}.typing i:nth-child(2){animation-delay:.15s}.typing i:nth-child(3){animation-delay:.3s}.toast{position:fixed;bottom:22px;left:50%;transform:translate(-50%,15px);opacity:0;pointer-events:none;background:var(--text);color:var(--bg);padding:10px 15px;border-radius:9px;font-size:12px;transition:.2s;z-index:20}.toast.show{opacity:1;transform:translate(-50%,0)}.scrim{display:none}@keyframes appear{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%,60%,100%{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@media(max-width:700px){.sidebar{position:fixed;inset:0 auto 0 0;width:min(290px,86vw);transform:translateX(-105%);transition:transform .22s;box-shadow:var(--shadow)}.sidebar.open{transform:translateX(0)}.scrim.show{display:block;position:fixed;inset:0;background:#0008;z-index:4}.mobile-close{display:block;margin-left:auto;font-size:24px}.menu-btn{display:block;margin-right:0}.navbar{justify-content:space-between;padding:0 12px;height:54px}.mobile-brand{display:block;margin-right:auto;font-size:15px;font-weight:700}.mobile-brand span{font-size:10px;color:var(--muted);font-weight:500}.model-pill{display:none}.chat-container{padding:18px 14px}.welcome{margin:7vh auto 30px}.welcome-mark{width:48px;height:48px;margin-bottom:19px}.welcome p{font-size:13px}.suggestions{grid-template-columns:1fr;gap:8px}.suggestion{min-height:0;display:grid;grid-template-columns:24px 1fr;gap:4px 9px;padding:12px}.suggestion>span{grid-row:span 2}.suggestion small{grid-column:2}.message{gap:9px;margin-bottom:22px}.message-body{font-size:13.5px}.composer-area{padding:8px 10px max(9px,env(safe-area-inset-bottom))}.hint{max-width:80%;font-size:9px}.disclaimer{font-size:9px}.navbar #topThemeToggle{width:32px}.message.user .message-body{max-width:92%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}