*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0}html{scrollbar-width:none}html::-webkit-scrollbar,body::-webkit-scrollbar{width:0;height:0;display:none}body{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow-y:auto;-ms-overflow-style:none}button,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}.app{min-height:100vh;min-height:100dvh;color:var(--text);background:radial-gradient(circle at 52% -8%,var(--soft-glow),transparent 34rem),var(--bg);transition:background .18s ease,color .18s ease}.app.dark{--bg: #0d0f12;--panel: #14171b;--panel-2: #101317;--code-bg: #0f1216;--border: #2a3038;--border-strong: #353c46;--muted: #8c96a3;--text: #e6e8eb;--button: #1f242b;--button-hover: #2a3038;--accent: #d7dde7;--user: #1b222c;--assistant: #13161a;--soft-glow: rgba(148, 163, 184, .06);--shadow: 0 10px 28px rgba(0, 0, 0, .18);--syntax-base: #d7dde7;--syntax-comment: #7c8796;--syntax-keyword: #c792ea;--syntax-string: #c3e88d;--syntax-number: #f78c6c;--syntax-title: #82aaff;--syntax-attr: #ffcb6b;--syntax-built-in: #89ddff;--syntax-meta: #b2ccd6}.app.light{--bg: #f4f5f7;--panel: #ffffff;--panel-2: #f9fafb;--code-bg: #f5f7fa;--border: #d8dde5;--border-strong: #c8ced8;--muted: #606b78;--text: #15191f;--button: #eef1f5;--button-hover: #e3e7ed;--accent: #111827;--user: #eef2f7;--assistant: #ffffff;--soft-glow: rgba(15, 23, 42, .05);--shadow: 0 10px 24px rgba(15, 23, 42, .06);--syntax-base: #24292f;--syntax-comment: #6e7781;--syntax-keyword: #cf222e;--syntax-string: #0a3069;--syntax-number: #0550ae;--syntax-title: #8250df;--syntax-attr: #953800;--syntax-built-in: #116329;--syntax-meta: #57606a}.shell{width:min(900px,calc(100% - 28px));min-height:100vh;min-height:100dvh;margin:0 auto;padding:30px 0 150px}.themeButton,.actionButton,.codeCopyButton{border:1px solid var(--border);border-radius:10px;background:var(--button);color:var(--text);cursor:pointer;transition:background .14s ease,border-color .14s ease,opacity .14s ease,transform .14s ease}.themeButton:hover,.actionButton:hover,.codeCopyButton:hover{background:var(--button-hover);border-color:var(--border-strong);transform:translateY(-1px)}.themeButton:active,.actionButton:active,.codeCopyButton:active{transform:translateY(0)}.themeButton:disabled,.actionButton:disabled,.codeCopyButton:disabled{opacity:.55;cursor:not-allowed;transform:none}.themeButton{position:fixed;top:16px;right:16px;z-index:30;display:inline-grid;place-items:center;width:40px;height:40px;background:color-mix(in srgb,var(--panel) 84%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.chatArea{width:100%;max-width:860px;min-height:calc(100dvh - 170px);margin:0 auto;padding:10px 0 18px}.message{display:grid;grid-template-columns:52px minmax(0,1fr);gap:12px;margin:0 0 14px;animation:messageIn .18s ease both}.message .role{color:var(--muted);font-size:12px;padding-top:11px;text-align:right}.messageBody{min-width:0;display:grid;gap:8px}.message .content{border:1px solid var(--border);border-radius:12px;background:var(--assistant);padding:12px 14px;line-height:1.6;overflow-wrap:anywhere;transition:border-color .14s ease,background .14s ease}.message.user .content{background:var(--user)}.content p,.content ul,.content ol,.content blockquote,.content table{margin:0 0 10px}.content p:last-child,.content ul:last-child,.content ol:last-child,.content blockquote:last-child,.content table:last-child{margin-bottom:0}.content ul,.content ol{padding-left:20px}.content blockquote{border-left:3px solid var(--border-strong);color:var(--muted);padding-left:12px}.content code{font-family:JetBrains Mono,Fira Code,Consolas,monospace;font-size:.92em}.content :not(pre)>code{padding:.14rem .36rem;border-radius:7px;border:1px solid var(--border);background:var(--panel-2)}.content pre{position:relative;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;margin:12px 0;padding:0;color:var(--syntax-base);background:var(--code-bg);border:1px solid var(--border);border-radius:10px}.content pre::-webkit-scrollbar{width:0;height:0;display:none}.content pre code.hljs{display:block;min-width:100%;padding:14px 46px 14px 14px;color:var(--syntax-base);background:transparent;white-space:pre}.codeCopyButton{position:absolute;top:8px;right:8px;z-index:2;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:8px;background:color-mix(in srgb,var(--button) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.codeCopyButton:before,.codeCopyButton:after{content:"";position:absolute;width:12px;height:14px;border:1.5px solid currentColor;border-radius:3px}.codeCopyButton:before{transform:translate(-2px,2px);opacity:.55}.codeCopyButton:after{transform:translate(2px,-2px);background:color-mix(in srgb,var(--button) 88%,transparent)}.codeCopyButton[data-copied=true]:before,.codeCopyButton[data-copied=true]:after{width:12px;height:7px;border-width:0 0 2px 2px;border-radius:0;transform:rotate(-45deg) translate(1px,-1px);background:transparent;opacity:1}.hljs{color:var(--syntax-base)}.hljs-comment,.hljs-quote{color:var(--syntax-comment);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-subst{color:var(--syntax-keyword)}.hljs-string,.hljs-doctag,.hljs-regexp{color:var(--syntax-string)}.hljs-number,.hljs-literal,.hljs-variable,.hljs-template-variable{color:var(--syntax-number)}.hljs-title,.hljs-section,.hljs-selector-id{color:var(--syntax-title)}.hljs-attr,.hljs-attribute,.hljs-name,.hljs-selector-class{color:var(--syntax-attr)}.hljs-built_in,.hljs-type,.hljs-class .hljs-title{color:var(--syntax-built-in)}.hljs-meta,.hljs-symbol,.hljs-bullet,.hljs-link{color:var(--syntax-meta)}.hljs-emphasis{font-style:italic}.hljs-strong{font-weight:700}.content a{color:var(--accent);text-decoration:underline;text-underline-offset:3px}.statusBlock{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel-2) 92%,transparent);color:var(--muted);padding:10px 12px;margin-left:64px;font-size:13px;animation:fadeIn .18s ease both}.statusBlock .dot{display:inline-block;width:7px;height:7px;margin-right:8px;border-radius:50%;background:var(--muted);animation:pulse 1s infinite ease-in-out}.statusBlock ul{margin:8px 0 0 22px;padding:0}.statusBlock li{margin:4px 0}.bottomDock{position:fixed;left:50%;bottom:14px;z-index:20;width:min(900px,calc(100% - 28px));transform:translate(-50%);display:grid;gap:10px;pointer-events:none}.filesRow{display:flex;flex-wrap:wrap;gap:8px;pointer-events:auto}.fileChip{display:inline-flex;align-items:center;max-width:100%;border:1px solid var(--border);border-radius:999px;background:var(--panel);color:var(--muted);padding:7px 11px;font-size:13px;transition:background .14s ease,border-color .14s ease,transform .14s ease}.fileChip.pending{color:var(--text);cursor:pointer}.fileChip.pending:hover{background:var(--button-hover);border-color:var(--border-strong);transform:translateY(-1px)}.composerRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:stretch;pointer-events:auto}.inputBlock,.actionPanel{border:1px solid var(--border);border-radius:12px;background:color-mix(in srgb,var(--panel) 95%,transparent);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.inputBlock{padding:10px}.inputBlock textarea{display:block;width:100%;min-height:56px;max-height:180px;resize:vertical;border:0;border-radius:8px;background:transparent;color:var(--text);padding:6px;line-height:1.42;outline:none}.inputBlock textarea::placeholder{color:var(--muted)}.actionPanel{display:grid;grid-template-columns:repeat(2,54px);gap:8px;padding:8px}.actionButton{display:inline-grid;place-items:center;width:54px;min-height:54px;border-radius:10px}.actionButton.primary{background:color-mix(in srgb,var(--button) 78%,var(--text) 6%)}.messageAttachments{display:flex;flex-wrap:wrap;gap:8px;padding:0 2px}.attachmentCard{--file-accent: var(--border-strong);display:inline-flex;align-items:center;gap:9px;min-width:min(250px,100%);max-width:100%;padding:9px 10px;border:1px solid color-mix(in srgb,var(--file-accent) 58%,var(--border));border-radius:10px;background:color-mix(in srgb,var(--panel-2) 88%,var(--file-accent) 7%);color:var(--text);text-decoration:none;transition:background .14s ease,border-color .14s ease,transform .14s ease}.attachmentCard:hover{border-color:var(--file-accent);background:color-mix(in srgb,var(--panel-2) 80%,var(--file-accent) 14%);transform:translateY(-1px)}.attachmentIcon{display:inline-grid;place-items:center;width:34px;height:34px;flex:0 0 34px;border-radius:8px;background:color-mix(in srgb,var(--file-accent) 22%,transparent);color:var(--file-accent);font-size:11px;font-weight:750;letter-spacing:-.02em}.attachmentInfo{min-width:0;display:grid;gap:2px}.attachmentName{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600}.attachmentMeta{color:var(--muted);font-size:12px}.attachmentCard.archive{--file-accent: #d99a2b}.attachmentCard.code{--file-accent: #6ea8fe}.attachmentCard.markdown{--file-accent: #a78bfa}.attachmentCard.config{--file-accent: #42b883}.attachmentCard.data{--file-accent: #e879f9}.attachmentCard.text{--file-accent: #94a3b8}.attachmentCard.file{--file-accent: #9ca3af}@keyframes pulse{0%,to{opacity:.35;transform:scale(.92)}50%{opacity:1;transform:scale(1.08)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes messageIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:720px){.shell{width:calc(100% - 16px);padding:14px 0 178px}.themeButton{top:10px;right:10px}.message{grid-template-columns:1fr;gap:4px}.message .role{text-align:left;padding-top:0}.statusBlock{margin-left:0}.bottomDock{bottom:8px;width:calc(100% - 16px)}.composerRow{grid-template-columns:1fr}.actionPanel{grid-template-columns:repeat(2,minmax(0,1fr))}.actionButton,.attachmentCard{width:100%}}
