@font-face{font-family:Jakarta;src:url('/font.ttf');font-weight:600;font-display:swap}
:root{color-scheme:dark;--bg:#121212;--bg-card:#1d1d1d;--btn-bg:#363636;--btn-hover:#464646;--input-bg:#363636;--text:#fff;--text-muted:#9b9fa3;font-family:Jakarta,system-ui,sans-serif;color:var(--text);background:var(--bg-card)}
*{box-sizing:border-box}body{margin:0;padding:22px 18px 18px;height:100dvh;display:flex;flex-direction:column;gap:14px}[hidden]{display:none!important}header{display:flex;align-items:center;min-height:30px}header strong{font-size:17px}button,textarea{font:inherit;color:var(--text);border:0;outline:none}button{cursor:pointer}button:disabled{opacity:.4;cursor:default}button:focus-visible{outline:1px solid var(--text-muted);outline-offset:2px}button svg{display:block;width:20px;height:20px;flex:none}
#messages{flex:1;min-height:60px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--btn-bg) transparent;font-size:13px;line-height:1.7}.message{white-space:pre-wrap;overflow-wrap:anywhere;padding:12px 14px;border-radius:15px;margin:10px 0}.message.user{background:var(--input-bg)}.message.assistant{background:var(--bg)}.message .role{display:block;font-size:11px;color:var(--text-muted);margin-bottom:6px}.muted{color:var(--text-muted);font-size:12px;line-height:1.7}.welcome{font-size:16px;line-height:1.6;margin:18px 0 8px}
#welcome{padding-top:16px}#welcomeQuestion{min-height:52px;transition:opacity .16s ease,transform .16s ease}#welcomeQuestion.changing{opacity:0;transform:translateY(4px)}#promptPills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}#promptPills button{background:var(--input-bg);border-radius:22px;padding:10px 13px;font-size:11px;line-height:1.5;text-align:left;transition:background .15s}#promptPills button:hover{background:var(--btn-hover)}
#notice{font-size:12px;line-height:1.6;color:var(--text-muted);padding:10px 12px;background:var(--bg);border-radius:12px}#usage{font-size:10px;color:var(--text-muted)}.usage-meter>div{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}progress{display:block;width:100%;height:5px;border:0;border-radius:8px;overflow:hidden;margin:0 0 8px;accent-color:#db9456}progress::-webkit-progress-bar{background:var(--btn-bg)}progress::-webkit-progress-value{background:#db9456;border-radius:8px}
#composer{position:relative;display:flex;flex-direction:column;gap:4px;border-radius:26px;padding:8px;background:var(--input-bg)}textarea{resize:none;width:100%;padding:8px 9px 2px;background:transparent;font-size:13px;line-height:1.6;min-height:76px;max-height:180px}textarea::placeholder{color:var(--text-muted)}.composer-actions{display:flex;align-items:center;justify-content:space-between;padding:2px}.composer-actions button{display:grid;place-items:center;width:36px;height:36px;border-radius:50%;padding:0;background:transparent;color:var(--text-muted)}.composer-actions button:hover{background:var(--btn-hover);color:var(--text)}#send{background:var(--btn-bg);color:var(--text)}#send svg{width:20px;height:20px}#more svg{transition:transform .22s cubic-bezier(.16,1,.3,1)}#more[aria-expanded="true"] svg{transform:rotate(45deg)}
#composerMenu{position:absolute;left:0;right:0;bottom:calc(100% + 12px);padding:8px;background:var(--input-bg);border-radius:18px;box-shadow:0 10px 30px #0004;animation:menu-in .18s cubic-bezier(.16,1,.3,1);z-index:2}#composerMenu button{background:transparent;border-radius:11px;padding:11px 12px;text-align:left;width:100%;font-size:12px;display:flex;align-items:center;gap:10px}#composerMenu button:hover{background:var(--btn-hover)}#modelToggle{justify-content:space-between}#modelToggle>span{display:flex;flex-direction:column;gap:4px}#modelToggle small{font-size:10px;color:var(--text-muted)}#modelToggle svg{width:16px;height:16px;transition:transform .18s}#modelToggle[aria-expanded="true"] svg{transform:rotate(180deg)}#modelOptions,#proxyTabs{padding:4px;max-height:254px;overflow-y:auto;scrollbar-width:thin;scrollbar-color:var(--btn-hover) transparent}#modelOptions button,#proxyTabs button{padding:10px 12px;font-size:11px}#modelOptions button[aria-selected="true"]{background:var(--btn-hover)}#modelOptions button:disabled{color:var(--text-muted)}#addTab{margin-top:4px}#proxyTabs button{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}#proxyTabs .muted{margin:8px}
#attachment{display:flex;align-items:center;gap:9px;background:var(--bg-card);border-radius:16px;padding:7px;margin:2px}#attachmentPreview{width:38px;height:32px;object-fit:cover;border-radius:8px}#attachmentTitle{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:11px;color:var(--text-muted)}#removeImage{background:transparent;color:var(--text-muted);padding:0;width:26px;height:26px;border-radius:50%;font-size:19px;display:grid;place-items:center}.skeleton{height:12px;width:85%;background:linear-gradient(90deg,var(--btn-bg),var(--btn-hover),var(--btn-bg));background-size:200% 100%;animation:shimmer 1.1s linear infinite;border-radius:6px;margin:12px 0}.skeleton:nth-child(2){width:60%}@keyframes shimmer{to{background-position:-200% 0}}@keyframes menu-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.skeleton,#composerMenu{animation:none}#more svg,#modelToggle svg{transition:none}}

header{gap:10px}header strong{flex:1;min-width:0;font-size:16px}header nav{display:flex;gap:5px}header nav button{width:30px;height:30px;padding:0;display:grid;place-items:center;border-radius:9px;background:transparent;color:var(--text-muted)}header nav button:hover{background:var(--btn-bg);color:var(--text)}header nav svg{width:18px;height:18px}.new-chat-required #newChat{background:var(--btn-bg);color:var(--text)}
.selected-model{display:flex;align-items:center;gap:9px}.model-icon{width:20px;height:20px;object-fit:contain;flex:none;filter:brightness(0) invert(1)}#modelOptions,#proxyTabs{background:var(--bg-card);border-radius:13px;margin:5px 0;padding:5px}#composerMenu{animation:none;transform-origin:bottom}#modelOptions button{gap:10px}#modelOptions button:hover{background:var(--btn-hover)}#attachment{gap:10px;margin:2px;background:var(--bg-card)}#attachmentPreview{width:38px;height:36px}#removeImage{width:30px;height:30px;padding:0;display:grid;place-items:center;flex:none}#removeImage svg{display:block;width:18px;height:18px;margin:0}#removeImage:hover{background:var(--btn-hover);color:var(--text)}.message.assistant{background:var(--bg-card);box-shadow:inset 0 0 0 1px var(--btn-bg)}
:root{background:var(--bg-card);color-scheme:dark}
#composerMenu #addTab,#composerMenu #modelToggle{background:var(--bg-card);border-radius:13px}
#composerMenu #addTab:hover,#composerMenu #modelToggle:hover{background:var(--btn-hover)}
#modelOptions,#proxyTabs{min-height:0}
#more svg{transform-origin:50% 50%;transform-box:view-box;will-change:transform;transition:transform 220ms cubic-bezier(.2,.7,.2,1)}
#attachmentPreview{width:20px;height:20px;object-fit:contain;border-radius:4px;flex:none;margin:0 4px}
.message{white-space:normal}.message-text{white-space:pre-wrap}
.sent-tab{display:flex;align-items:center;gap:9px;padding:8px 10px;margin-bottom:9px;border-radius:11px;background:var(--bg-card);font-size:11px;color:var(--text-muted)}
.sent-tab img{width:18px;height:18px;object-fit:contain;flex:none}.sent-tab span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}
.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown table{margin:10px 0}
.markdown h1,.markdown h2,.markdown h3,.markdown h4,.markdown h5,.markdown h6{line-height:1.4;margin:17px 0 9px;font-weight:700}
.markdown h1{font-size:1.5em}.markdown h2{font-size:1.3em}.markdown h3{font-size:1.15em}
.markdown ul,.markdown ol{padding-left:22px}.markdown li+li{margin-top:4px}.markdown li>p{margin:5px 0}
.markdown blockquote{border-left:3px solid var(--btn-hover);padding-left:12px;color:var(--text-muted)}
.markdown pre{overflow-x:auto;white-space:pre;max-width:100%;background:var(--bg);padding:12px;border-radius:10px}
.markdown code{font-family:ui-monospace,Consolas,monospace;font-size:.9em;background:var(--input-bg);padding:2px 4px;border-radius:4px}.markdown pre code{background:none;padding:0}
.markdown table{display:block;overflow-x:auto;border-collapse:collapse;max-width:100%;font-size:12px}.markdown th,.markdown td{border:1px solid var(--btn-hover);padding:7px 10px;text-align:left}.markdown th{background:var(--input-bg)}
.markdown a{color:var(--text);text-decoration:underline;text-underline-offset:3px}.markdown hr{border:0;border-top:1px solid var(--btn-hover);margin:15px 0}
.markdown input[type=checkbox]{accent-color:var(--text-muted);margin-right:7px}.markdown math[display=block]{display:block;overflow-x:auto;padding:10px 0}
@media(prefers-reduced-motion:reduce){#more svg{transition:none}}
.model-icon[src$=".png"]{filter:none}
#composerMenu #proxyTabs button{display:flex;align-items:center;gap:9px}#proxyTabs .tab-choice-icon{width:18px;height:18px;object-fit:contain;flex:none}#proxyTabs button span{min-width:0;overflow:hidden;text-overflow:ellipsis}

#composerMenu #modelOptions button,#composerMenu #proxyTabs button{padding:10px 7px;transition:background 160ms ease}
#proxyTabs button[aria-selected="true"]{background:var(--btn-hover)}
.selected-model{gap:10px}

body{background:transparent}#notice{background:transparent;padding:0 1px;font-size:11px;margin-top:-8px}
.markdown img{display:block;max-width:100%;height:auto;border-radius:10px;margin:10px 0}.markdown dl{margin:10px 0}.markdown dt{font-weight:700}.markdown dd{margin:4px 0 12px 16px}
.markdown mark{background:#bfa04340;color:var(--text);border-radius:3px;padding:1px 3px}.markdown abbr[title]{text-decoration:underline dotted;text-underline-offset:3px;cursor:help}
.markdown details{padding:10px 12px;border-radius:10px;background:var(--bg);margin:12px 0}.markdown summary{cursor:pointer;color:var(--text-muted)}.markdown details[open]>summary{margin-bottom:10px}
.markdown .footnotes{font-size:11px;color:var(--text-muted)}.markdown .footnote-ref{font-size:.8em}.markdown .callout{padding:10px 12px;background:var(--input-bg);border-radius:8px;border-color:var(--text-muted)}.markdown .callout-title{display:block;margin-bottom:5px;color:var(--text)}.markdown .callout-warning,.markdown .callout-caution{border-color:#d5a65a}
.markdown .hljs-keyword,.markdown .hljs-selector-tag,.markdown .hljs-literal{color:#c5a8e6}.markdown .hljs-string,.markdown .hljs-attr{color:#b4d7aa}.markdown .hljs-number,.markdown .hljs-title{color:#e0b88a}.markdown .hljs-comment{color:var(--text-muted)}

#messages{overflow-anchor:none}
#messages,#modelOptions,#proxyTabs,textarea{scrollbar-color:transparent transparent}
#messages::-webkit-scrollbar,#modelOptions::-webkit-scrollbar,#proxyTabs::-webkit-scrollbar,textarea::-webkit-scrollbar{width:5px;background:transparent}
#messages::-webkit-scrollbar-thumb,#modelOptions::-webkit-scrollbar-thumb,#proxyTabs::-webkit-scrollbar-thumb,textarea::-webkit-scrollbar-thumb{background:transparent}
body{padding-bottom:var(--composer-bottom,16px)}
#composer,textarea{flex-shrink:0}
textarea{min-height:92px}
#addTab .dropdown-chevron{width:16px;height:16px;margin-left:auto;transition:transform 180ms ease}
#addTab[aria-expanded="true"] .dropdown-chevron{transform:rotate(180deg)}
@media(prefers-reduced-motion:reduce){#addTab .dropdown-chevron{transition:none}}
.message.assistant{background:transparent;box-shadow:none;border:0;border-radius:0;padding:12px 0}
.response-skeleton{display:grid;gap:10px;width:100%;padding:2px 0 12px}
.response-skeleton .skeleton{width:100%;height:12px;margin:0;border-radius:6px;animation-duration:1.5s}
.response-skeleton .skeleton:nth-child(3){width:92%}
.response-skeleton .skeleton:nth-child(2){width:86%}
.response-skeleton .skeleton-short{width:72%}
.response-skeleton .skeleton-gap{margin-top:14px;width:100%}
.response-skeleton .skeleton:last-child{width:47%}
#notice{background:var(--input-bg);padding:10px 12px;border-radius:12px;margin-top:0}
#messages{padding:20px 0 28px;mask-image:linear-gradient(to bottom,transparent,#000 24px,#000 calc(100% - 32px),transparent)}
.transcript{position:relative;flex:1;min-height:60px} .transcript #messages{height:100%}
.transcript::before,.transcript::after{content:"";position:absolute;left:-6px;right:-6px;height:32px;pointer-events:none;backdrop-filter:blur(4px);z-index:1;border-radius:12px}
.transcript::before{top:0;background:linear-gradient(var(--bg-card),transparent);mask-image:linear-gradient(#000,transparent)}
.transcript::after{bottom:0;background:linear-gradient(transparent,var(--bg-card));mask-image:linear-gradient(transparent,#000)}
.markdown figure{margin:10px 0}.markdown .load-remote-image{background:var(--input-bg);border-radius:10px;padding:10px 12px;font-size:11px;text-align:left;max-width:100%;overflow-wrap:anywhere}.markdown .load-remote-image:hover{background:var(--btn-hover)}

*{scrollbar-color:transparent transparent}
*::-webkit-scrollbar,*::-webkit-scrollbar-track,*::-webkit-scrollbar-thumb,*::-webkit-scrollbar-corner{background:transparent}

.assistant-page body{width:min(100%,1000px);margin:0 auto;padding:28px clamp(18px,4vw,48px) 24px;gap:20px}
.assistant-page header strong{font-size:22px}
.assistant-page #close{display:none}
.assistant-page #messages{font-size:15px;line-height:1.8}
.assistant-page .welcome{font-size:clamp(22px,3vw,30px)}
.assistant-page #welcome{padding-top:clamp(20px,7vh,72px)}
.assistant-page #promptPills button{font-size:13px;padding:12px 16px}
.assistant-page #question{font-size:15px;min-height:110px}

.assistant-page{background:var(--bg-card);color-scheme:dark}

header>strong{visibility:hidden;pointer-events:none}
#welcomeQuestion{font-size:18px;line-height:25.6px}
#question{font-size:14px;line-height:20.8px}
.assistant-page #welcomeQuestion{font-size:clamp(24px,3vw,32px);line-height:clamp(35.2px,4.8vw,48px)}
.assistant-page #question{font-size:16px;line-height:24px;height:60px;min-height:60px}
.assistant-page{--chat-rail:56px}
.assistant-page.chats-expanded{--chat-rail:240px}
.assistant-page body{width:calc(100% - var(--chat-rail));margin-left:var(--chat-rail);padding-left:max(18px,calc((100vw - var(--chat-rail) - 920px)/2));padding-right:max(18px,calc((100vw - var(--chat-rail) - 920px)/2));transition:width .28s ease,margin-left .28s ease,padding .28s ease}
.assistant-page header #newChat{display:none}
.assistant-page #composer{width:100%;max-width:920px;align-self:center}
#chatSidebar{position:fixed;inset:0 auto 0 0;width:var(--chat-rail);display:flex;flex-direction:column;gap:8px;padding:14px 8px;background:var(--bg);border-right:1px solid #ffffff0a;z-index:5;overflow:hidden;transition:width .28s ease}
#chatSidebar>button{display:grid;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:12px;flex:none;width:100%;min-height:40px;border-radius:10px;padding:8px 10px;background:transparent;white-space:nowrap;text-align:left;font-size:13px}
#chatSidebar button:hover{background:var(--btn-bg)}
#chatSidebar svg{width:20px;height:20px;flex:none}
.assistant-page:not(.chats-expanded) #chatSidebar>button{grid-template-columns:20px;justify-content:center;padding-left:0;padding-right:0}
.chat-nav-label{display:none;opacity:0;transition:opacity .18s ease}
.chats-expanded .chat-nav-label{display:block;opacity:1}
.chats-expanded #toggleChats{grid-template-columns:minmax(0,1fr);gap:0}
.chats-expanded #toggleChats svg{display:none}
#chatSearchDialog{width:min(560px,calc(100vw - 40px));max-height:min(620px,calc(100dvh - 48px));margin:auto;padding:14px;border:0;outline:none;border-radius:20px;background:var(--bg-card);color:var(--text);box-shadow:0 24px 80px #0006}
#chatSearchDialog[open]{display:flex;flex-direction:column;gap:12px;animation:chat-search-in .18s ease-out}
#chatSearchDialog::backdrop{background:#0007;backdrop-filter:blur(4px)}
.chat-search-header{display:flex;align-items:center;gap:8px;flex:none}
#searchChatsInput{flex:1;min-width:0;padding:12px 14px;border:0;outline:none;box-shadow:none;border-radius:12px;background:var(--input-bg);color:var(--text);font:inherit;font-size:13px}
#closeChatSearch{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:transparent;color:var(--text-muted);padding:0;flex:none}
#closeChatSearch:hover,.saved-chat-row button:hover{background:var(--btn-hover);color:var(--text)}
#savedChatList{min-height:80px;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--btn-bg) transparent}
@keyframes chat-search-in{from{opacity:0;transform:translateY(6px) scale(.985)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){#chatSearchDialog[open]{animation:none}}
.saved-chat-row{display:flex;gap:2px;align-items:center;margin:4px 0}
.saved-chat-row button{background:transparent;padding:10px 8px;border-radius:8px;font-size:12px}
.saved-chat-open{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}
.saved-chat-open[aria-current="true"]{background:var(--btn-bg)}
.saved-chat-delete{flex:none;color:var(--text-muted)}
@media(max-width:620px){.assistant-page.chats-expanded body{width:calc(100% - 56px);margin-left:56px;padding-left:18px;padding-right:18px}}
@media(prefers-reduced-motion:reduce){.assistant-page body,#chatSidebar,.chat-nav-label{transition:none}}

#modelOptions button.model-locked{color:var(--text-muted);opacity:.55;cursor:default}
#modelOptions button.model-locked .model-icon{filter:brightness(0) invert(.7);opacity:1}
#modelOptions .model-lock{width:15px;height:15px;margin-left:auto;flex:none}

#chatSidebarHistory{display:none;border-top:1px solid var(--btn-bg);margin-top:8px;padding-top:12px;min-height:0;overflow:auto;scrollbar-width:thin;scrollbar-color:var(--btn-bg) transparent}
.chats-expanded #chatSidebarHistory{display:block}
.sidebar-empty{margin:6px 10px;color:var(--text-muted);font-size:12px;line-height:1.6}
#chatSidebar .sidebar-chat-open{display:block;width:100%;padding:10px;border-radius:10px;background:transparent;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px}
#chatSidebar .sidebar-chat-open[aria-current="true"]{background:var(--btn-bg)}
