@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-ext-wght-normal-BOeWTOD4.woff2) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-cyrillic-wght-normal-DqGufNeO.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-ext-wght-normal-DlzME5K_.woff2) format("woff2-variations");unicode-range:U+1F00-1FFF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-greek-wght-normal-CkhJZR-_.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-vietnamese-wght-normal-CBcvBZtf.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-ext-wght-normal-DO1Apj_S.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter Variable;font-style:normal;font-display:swap;font-weight:100 900;src:url(/assets/inter-latin-wght-normal-Dx4kXJAl.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(data:font/woff2;base64,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) format("woff2-variations");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-cyrillic-wght-normal-D73BlboJ.woff2) format("woff2-variations");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-greek-wght-normal-Bw9x6K1M.woff2) format("woff2-variations");unicode-range:U+0370-0377,U+037A-037F,U+0384-038A,U+038C,U+038E-03A1,U+03A3-03FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-vietnamese-wght-normal-Bt-aOZkq.woff2) format("woff2-variations");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-ext-wght-normal-DBQx-q_a.woff2) format("woff2-variations");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:JetBrains Mono Variable;font-style:normal;font-display:swap;font-weight:100 800;src:url(/assets/jetbrains-mono-latin-wght-normal-B9CIFXIH.woff2) format("woff2-variations");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--bg-0: #0b0c11;--bg-1: #10121a;--bg-2: #171a26;--bg-3: #1e2232;--line-0: #1b1e2b;--line-1: #262b3d;--line-2: #363d57;--ink-0: #ecebf5;--ink-1: #b4b1c7;--ink-2: #7c7992;--accent: #a08cff;--accent-hi: #baaaff;--accent-ink: #16092e;--accent-soft: rgba(160, 140, 255, .13);--accent-line: rgba(160, 140, 255, .35);--mint: #63cbb2;--mint-soft: rgba(99, 203, 178, .1);--mint-line: rgba(99, 203, 178, .22);--danger: #e56d7e;--danger-soft: rgba(229, 109, 126, .12);--danger-line: rgba(229, 109, 126, .3);--code-bg: #0d0e16;--code-ink: #c7d0e6;--font-ui: "Inter Variable", system-ui, -apple-system, sans-serif;--font-mono: "JetBrains Mono Variable", ui-monospace, "Cascadia Code", monospace;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--safe-top: env(safe-area-inset-top, 0px);--safe-bottom: env(safe-area-inset-bottom, 0px);color-scheme:dark}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{overflow:hidden;background:var(--bg-0);color:var(--ink-0);font-family:var(--font-ui);font-size:15px;line-height:1.6;-webkit-font-smoothing:antialiased}input,textarea,select,button{font:inherit;color:inherit}button{background:none;border:none;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.4}:focus-visible{outline:2px solid var(--accent);outline-offset:2px;border-radius:4px}::selection{background:#a08cff47}*{scrollbar-width:thin;scrollbar-color:var(--line-2) transparent}*::-webkit-scrollbar{width:4px;height:4px}*::-webkit-scrollbar-thumb{background:var(--line-2);border-radius:2px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;padding:10px 18px;border-radius:var(--r-sm);font-size:13.5px;font-weight:550;letter-spacing:.01em;transition:background .15s,border-color .15s,color .15s,transform .1s;-webkit-user-select:none;user-select:none;white-space:nowrap}.btn:active:not(:disabled){transform:scale(.97)}.btn-primary{background:var(--accent);color:var(--accent-ink)}.btn-primary:hover:not(:disabled){background:var(--accent-hi)}.btn-ghost{background:var(--bg-2);color:var(--ink-1);border:1px solid var(--line-1)}.btn-ghost:hover:not(:disabled){background:var(--bg-3);color:var(--ink-0)}.btn-danger{background:var(--danger-soft);color:var(--danger);border:1px solid var(--danger-line)}.btn-danger:hover:not(:disabled){background:#e56d7e33}.btn-sm{padding:7px 13px;font-size:12.5px}.btn-full{width:100%}.btn-row{display:flex;gap:8px}.btn-row .grow{flex:1}.btn-row .grow-2{flex:2}.icon-btn{width:40px;height:40px;min-width:40px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-1);transition:color .15s,background .15s}.icon-btn:hover,.icon-btn:active{color:var(--accent-hi);background:var(--accent-soft)}.field{display:flex;flex-direction:column;gap:7px}.field-label{font-size:11px;font-weight:620;letter-spacing:.09em;text-transform:uppercase;color:var(--ink-1)}.field-label .optional,.field-label+.optional{color:var(--ink-2);font-size:10px}.field-hint{font-size:12.5px;color:var(--ink-2);line-height:1.55}.field-input,.field-textarea{background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-sm);padding:10px 13px;color:var(--ink-0);font-size:15px;outline:none;width:100%;transition:border-color .15s}.field-textarea{line-height:1.55;resize:vertical;min-height:90px;font-family:var(--font-ui)}.field-input:focus,.field-textarea:focus{border-color:var(--accent-line)}.field-input::placeholder,.field-textarea::placeholder{color:var(--ink-2)}.divider{border:none;height:1px;background:var(--line-0);margin:4px 0}.slider-row{display:flex;align-items:center;gap:14px}input[type=range]{flex:1;-webkit-appearance:none;-moz-appearance:none;appearance:none;height:4px;background:var(--line-2);border-radius:2px;outline:none}input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg-1)}input[type=range]::-moz-range-thumb{width:14px;height:14px;border-radius:50%;background:var(--accent);cursor:pointer;border:3px solid var(--bg-1)}.slider-val{font-family:var(--font-mono);font-size:13px;color:var(--accent-hi);min-width:40px;text-align:right}.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;padding:6px 0 2px;-webkit-user-select:none;user-select:none}.toggle-label{font-size:14px;color:var(--ink-1);flex:1}.toggle-input{position:absolute;opacity:0;pointer-events:none}.toggle-track{width:42px;height:24px;min-width:42px;background:var(--bg-3);border:1px solid var(--line-2);border-radius:12px;position:relative;transition:background .2s,border-color .2s}.toggle-input:checked~.toggle-track{background:var(--accent-soft);border-color:var(--accent-line)}.toggle-thumb{position:absolute;top:3px;left:3px;width:16px;height:16px;background:var(--ink-2);border-radius:50%;transition:transform .2s,background .2s}.toggle-input:checked~.toggle-track .toggle-thumb{transform:translate(18px);background:var(--accent)}.toggle-input:focus-visible~.toggle-track{outline:2px solid var(--accent);outline-offset:2px}.chip{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;font-weight:550;letter-spacing:.02em;color:var(--ink-1);background:var(--bg-2);border:1px solid var(--line-1);border-radius:999px;padding:4px 10px;max-width:130px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4}.chip-accent{color:var(--accent-hi);background:var(--accent-soft);border-color:var(--accent-line);cursor:pointer;transition:background .15s}.chip-accent:hover{background:#a08cff38}.typing{display:inline-flex;align-items:center;gap:5px;padding:6px 0}.typing-dot{width:5px;height:5px;border-radius:50%;background:var(--accent);animation:dot-pulse 1.3s infinite ease-in-out}.typing-dot:nth-child(2){animation-delay:.22s}.typing-dot:nth-child(3){animation-delay:.44s}@keyframes dot-pulse{0%,80%,to{opacity:.25;transform:scale(.85)}40%{opacity:.9;transform:scale(1.1)}}.toast{position:fixed;bottom:calc(96px + var(--safe-bottom));left:50%;transform:translate(-50%) translateY(10px);background:var(--bg-3);border:1px solid var(--line-2);color:var(--ink-0);padding:9px 18px;border-radius:999px;font-size:13.5px;z-index:999;opacity:0;transition:opacity .2s,transform .2s;white-space:nowrap;pointer-events:none;box-shadow:0 8px 30px #0006}.toast.show{opacity:1;transform:translate(-50%) translateY(0)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.app{height:100%;position:relative;overflow:hidden}.sidebar{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-0);transition:transform var(--pane-slide, .32s) cubic-bezier(.4,0,.2,1),opacity var(--pane-slide, .32s) ease}.chatpane{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;background:var(--bg-0);transform:translate(100%);transition:transform var(--pane-slide, .32s) cubic-bezier(.4,0,.2,1);will-change:transform}.app.chat-open .chatpane{transform:translate(0)}.app.chat-open .sidebar{transform:translate(-26%);opacity:.45;pointer-events:none}.sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:calc(14px + var(--safe-top)) 14px 12px 20px}.brand{display:flex;align-items:center;gap:11px}.brand-glyph{color:var(--accent)}.brand-text{display:flex;flex-direction:column;line-height:1.25}.brand-name{font-size:16.5px;font-weight:650;letter-spacing:.015em}.brand-sub{font-size:11px;color:var(--ink-2);letter-spacing:.06em;text-transform:uppercase}.sidebar-new{padding:4px 16px 14px}.convo-list{flex:1;overflow-y:auto;overscroll-behavior:contain;list-style:none;padding:2px 10px calc(14px + var(--safe-bottom));display:flex;flex-direction:column;gap:2px}.convo-item{position:relative;display:flex;align-items:flex-start;border-radius:var(--r-md);transition:background .13s}.convo-item:hover,.convo-item:active{background:var(--bg-1)}.convo-item.active{background:var(--bg-2)}.convo-item.active:before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:2px;background:var(--accent)}.convo-open{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px;text-align:left;padding:11px 4px 11px 14px;border-radius:var(--r-md)}.convo-title{font-size:14.5px;font-weight:550;color:var(--ink-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.convo-preview{font-size:12.5px;color:var(--ink-2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.convo-date{font-size:11px;color:var(--ink-2);padding:13px 2px 0 6px;flex-shrink:0}.convo-del{width:34px;height:34px;min-width:34px;margin:5px 4px 0 0;display:flex;align-items:center;justify-content:center;border-radius:50%;color:var(--ink-2);transition:color .15s,background .15s,opacity .15s}.convo-del:hover,.convo-del:active{color:var(--danger);background:var(--danger-soft)}.sidebar-empty,.empty-pane{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px 32px;text-align:center;color:var(--ink-2);font-size:15px;line-height:1.8}.empty-glyph{color:var(--accent);opacity:.4}.empty-pane{height:100%}.boot{animation:boot-fade .28s ease .14s both}@keyframes boot-fade{0%{opacity:0}to{opacity:1}}.app.ready .sidebar,.app.ready .chatpane{animation:boot-fade .26s ease both}.boot-dim{opacity:.35;pointer-events:none}.boot-list{flex:0 0 auto;overflow:hidden}.boot-row{display:flex;flex-direction:column;gap:7px;padding:13px 12px}.skel{border-radius:var(--r-sm);background:linear-gradient(100deg,var(--bg-2) 34%,var(--bg-3) 50%,var(--bg-2) 66%);background-size:220% 100%;animation:skel-shimmer 1.5s linear infinite}.skel-btn{height:38px;border-radius:var(--r-sm)}.skel-line{height:9px;width:55%}.skel-line.wide{height:11px;width:78%}@keyframes skel-shimmer{0%{background-position:220% 0}to{background-position:-220% 0}}.boot-glyph{animation:boot-pulse 1.8s ease-in-out infinite}@keyframes boot-pulse{0%,to{opacity:.22;transform:scale(.97)}50%{opacity:.5;transform:scale(1.03)}}.boot-note{font-size:13.5px;color:var(--ink-2);opacity:.75}@media(prefers-reduced-motion:reduce){.skel{background:var(--bg-2)}.boot-glyph{opacity:.4}}.chat{display:flex;flex-direction:column;height:100%;min-height:0}.chat-head{flex-shrink:0;border-bottom:1px solid var(--line-0);background:color-mix(in srgb,var(--bg-0) 88%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:4}.chat-head-inner{display:flex;align-items:center;gap:6px;max-width:820px;margin:0 auto;padding:calc(6px + var(--safe-top)) 8px 6px}.back-btn{margin-left:-2px}.chat-title{flex:1;min-width:0;text-align:left;font-size:15px;font-weight:550;color:var(--ink-0);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:8px 6px;border-radius:var(--r-sm);transition:color .15s}.chat-title:hover{color:var(--accent-hi)}.chat-title-input{flex:1;min-width:0;background:none;border:none;border-bottom:1px solid var(--accent-line);outline:none;font-size:15px;font-weight:550;color:var(--accent-hi);padding:8px 6px}.chat-head-chips{display:flex;align-items:center;gap:6px;flex-shrink:0}.msgs{flex:1;overflow-y:auto;overscroll-behavior:contain;min-height:0}.msgs-inner{max-width:820px;margin:0 auto;padding:20px 16px 12px;display:flex;flex-direction:column;gap:26px}.msg{display:flex;flex-direction:column;animation:msg-in .25s ease-out}@keyframes msg-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.msg-meta{display:flex;align-items:center;gap:10px;margin-bottom:6px}.msg.user .msg-meta{flex-direction:row-reverse}.msg-role{font-size:11px;font-weight:650;letter-spacing:.1em;text-transform:uppercase}.msg.user .msg-role{color:var(--mint)}.msg.assistant .msg-role{color:var(--accent)}.msg-actions{display:flex;align-items:center;gap:2px}.msg-act{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-width:30px;height:30px;padding:0 7px;border-radius:var(--r-sm);color:var(--ink-2);font-size:12px;transition:color .15s,background .15s}.msg-act:hover:not(:disabled),.msg-act:active:not(:disabled){color:var(--accent-hi);background:var(--accent-soft)}.msg-act.flip svg{transform:rotate(180deg)}.alt-pager{display:inline-flex;align-items:center;gap:1px;margin-right:4px}.alt-count{font-family:var(--font-mono);font-size:11.5px;color:var(--ink-2);min-width:30px;text-align:center}.msg-content{font-size:15.5px;line-height:1.7;color:var(--ink-0);overflow-wrap:break-word;min-width:0;transition:min-height .45s cubic-bezier(.4,0,.2,1)}.msg.user{align-items:flex-end}.msg.user .msg-content{align-self:flex-end;max-width:min(88%,620px);background:linear-gradient(160deg,var(--mint-soft),rgba(99,203,178,.04));border:1px solid var(--mint-line);border-radius:var(--r-lg) var(--r-lg) 4px var(--r-lg);padding:10px 16px;color:#cfe9e1;white-space:pre-wrap}.msg.user .msg-content p{white-space:pre-wrap}.msg.assistant .msg-content{width:100%}.msg-content p,.reasoning-body p{margin-bottom:.6em}.msg-content>:last-child,.reasoning-body>:last-child{margin-bottom:0}.msg-content .md-h{margin:.9em 0 .45em;font-weight:650;color:var(--ink-0);line-height:1.35}.msg-content>.md-h:first-child{margin-top:.1em}.msg-content .md-h1{font-size:1.25em}.msg-content .md-h2{font-size:1.15em}.msg-content .md-h3,.msg-content .md-h4{font-size:1.05em}.msg-content ul,.msg-content ol,.reasoning-body ul,.reasoning-body ol{margin:0 0 .6em;padding-left:1.4em}.msg-content li{margin-bottom:.25em}.msg-content blockquote,.reasoning-body blockquote{border-left:3px solid var(--line-2);padding-left:12px;margin-bottom:.6em;color:var(--ink-1)}.msg-content strong{font-weight:650;color:var(--accent-hi)}.msg.user .msg-content strong{color:#e9fff8}.msg-content em{color:var(--ink-1)}.msg.user .msg-content em{color:#a9dccd}.msg-content code,.reasoning-body code{font-family:var(--font-mono);font-size:.88em;background:var(--bg-2);border:1px solid var(--line-0);padding:1px 6px;border-radius:5px;color:#a9c8f5}.code-block{margin:12px 0;border-radius:var(--r-md);border:1px solid var(--line-1);background:var(--code-bg);overflow:hidden}.code-block:first-child{margin-top:4px}.code-block:last-child{margin-bottom:4px}.code-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 8px 6px 14px;background:var(--bg-1);border-bottom:1px solid var(--line-0)}.code-lang{font-family:var(--font-mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}.code-copy{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:6px;color:var(--ink-2);font-size:11.5px;font-weight:550;letter-spacing:.04em;transition:color .15s,background .15s}.code-copy:hover,.code-copy:active{color:var(--accent-hi);background:var(--accent-soft)}.code-block pre{padding:13px 15px;overflow-x:auto}.code-block pre code{font-family:var(--font-mono);font-size:13px;line-height:1.65;color:var(--code-ink);background:none;border:none;padding:0;display:block;white-space:pre}.code-block .hljs-comment,.code-block .hljs-quote{color:#5d6478;font-style:italic}.code-block .hljs-keyword,.code-block .hljs-selector-tag,.code-block .hljs-meta .hljs-keyword,.code-block .hljs-doctag,.code-block .hljs-section{color:#b3a1ff}.code-block .hljs-string,.code-block .hljs-regexp,.code-block .hljs-addition,.code-block .hljs-meta .hljs-string{color:#8fd4bd}.code-block .hljs-number,.code-block .hljs-literal,.code-block .hljs-symbol,.code-block .hljs-bullet,.code-block .hljs-link{color:#e3b477}.code-block .hljs-title,.code-block .hljs-title.class_,.code-block .hljs-title.function_,.code-block .hljs-name,.code-block .hljs-selector-id,.code-block .hljs-selector-class{color:#8fbcf0}.code-block .hljs-attr,.code-block .hljs-attribute,.code-block .hljs-variable,.code-block .hljs-template-variable,.code-block .hljs-property,.code-block .hljs-params{color:#c7d0e6}.code-block .hljs-type,.code-block .hljs-built_in,.code-block .hljs-builtin-name,.code-block .hljs-selector-pseudo{color:#7fc8d8}.code-block .hljs-meta,.code-block .hljs-tag{color:#9aa3bd}.code-block .hljs-deletion{color:var(--danger)}.code-block .hljs-emphasis{font-style:italic}.code-block .hljs-strong{font-weight:650}.reasoning{margin-bottom:10px;background:#a08cff0b;border:1px solid var(--line-0);border-left:2px solid var(--accent-line);border-radius:4px var(--r-md) var(--r-md) 4px;overflow:hidden}.reasoning-head{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:9px 12px;text-align:left;-webkit-user-select:none;user-select:none}.reasoning-label{font-size:10.5px;font-weight:650;letter-spacing:.13em;text-transform:uppercase;color:var(--ink-2)}.reasoning-chevron{display:flex;color:var(--ink-2);transition:transform .2s}.reasoning.collapsed .reasoning-chevron{transform:rotate(-90deg)}.reasoning-body{padding:0 14px 11px;font-size:13.5px;line-height:1.65;color:var(--ink-1);font-style:italic;overflow-wrap:break-word}.reasoning.thinking.collapsed .reasoning-label{background:linear-gradient(90deg,var(--ink-2) 0%,var(--ink-2) 25%,var(--ink-0) 50%,var(--ink-2) 75%,var(--ink-2) 100%);background-size:250% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:reasoning-shimmer 2.6s linear infinite}@keyframes reasoning-shimmer{0%{background-position:150% 0}to{background-position:-150% 0}}@media(prefers-reduced-motion:reduce){.reasoning.thinking.collapsed .reasoning-label{animation:none;background:none;color:var(--ink-0)}}.reasoning.hidden-block{background:#8cc8ff0b;border-left-color:#78b4ff8c}.hidden-block-body{font-style:normal;white-space:pre-wrap}.hb-rule{display:flex;flex-direction:column;gap:6px;margin-top:10px;padding:10px;background:var(--bg-2);border:1px solid var(--line-0);border-radius:var(--r-md)}.hb-rule-top{display:flex;align-items:center;gap:8px}.hb-rule-top .field-input{flex:1}.hb-rule-top .toggle-row{flex:0 0 auto;width:auto}.hb-rule-markers{display:flex;flex-direction:column;gap:6px}.msg-edit{display:flex;flex-direction:column;gap:8px;width:100%}.msg-edit textarea{width:100%;background:var(--bg-2);border:1px solid var(--accent-line);border-radius:var(--r-md);padding:11px 14px;color:var(--ink-0);font-size:15px;line-height:1.55;resize:none;outline:none}.msg-edit .attachments{margin:0;padding:0}.msg.user .msg-edit .attachments{justify-content:flex-end}.msg-edit-actions{display:flex;flex-wrap:wrap;gap:8px}.msg.user .msg-edit-actions{justify-content:flex-end}.chat-foot{position:relative;flex-shrink:0;border-top:1px solid var(--line-0);background:var(--bg-0)}.composer{max-width:820px;margin:0 auto;padding:10px 14px calc(10px + var(--safe-bottom))}.composer-card{display:flex;flex-direction:column;background:var(--bg-1);border:1px solid var(--line-1);border-radius:var(--r-lg);padding:7px 7px 7px 16px;transition:border-color .2s,background .2s}.composer-card:focus-within{border-color:var(--accent-line)}.composer-card.dropping{border-color:var(--accent);background:var(--bg-2)}.composer-row{display:flex;align-items:flex-end;gap:8px}.attachments{display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:3px 0 9px;padding:0 7px 0 0}.attachment{position:relative;width:72px}.attachment img{display:block;width:72px;height:72px;object-fit:cover;border-radius:var(--r-sm);border:1px solid var(--line-2);background:var(--bg-2)}.attachment-remove{position:absolute;top:-6px;right:-6px;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-3);border:1px solid var(--line-2);color:var(--ink-1);transition:background .15s,color .15s}.attachment-remove:hover{background:var(--danger);border-color:var(--danger);color:#fff}.attachment-name{display:block;margin-top:4px;font-size:10px;line-height:1.3;color:var(--ink-2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.attach-btn{width:42px;height:42px;min-width:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--ink-1);transition:background .15s,color .15s,transform .1s}.attach-btn:hover:not(:disabled){background:var(--bg-3);color:var(--ink-0)}.attach-btn:active:not(:disabled){transform:scale(.92)}.attach-btn:disabled{opacity:.4;cursor:default}.composer-input{flex:1;background:none;border:none;outline:none;resize:none;color:var(--ink-0);font-size:16px;line-height:1.5;min-height:42px;max-height:160px;overflow-y:auto;padding:9px 0;scrollbar-width:none}.composer-input::-webkit-scrollbar{display:none}.composer-input::placeholder{color:var(--ink-2)}.send-btn{width:42px;height:42px;min-width:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .1s,border-color .15s;-webkit-user-select:none;user-select:none}.send-btn:active{transform:scale(.92)}.send-btn.send{background:var(--accent);color:var(--accent-ink)}.send-btn.send:hover{background:var(--accent-hi)}.send-btn.stop{background:var(--danger);color:#fff}.send-btn.continue{background:var(--bg-3);color:var(--ink-1);border:1px solid var(--line-2)}.send-btn.continue:hover{color:var(--accent-hi);border-color:var(--accent-line)}.msg-images{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 8px}.msg.user .msg-images{justify-content:flex-end}.msg-images button{display:block;line-height:0;border-radius:var(--r-sm);overflow:hidden;border:1px solid var(--line-1);transition:border-color .15s,transform .12s;cursor:zoom-in}.msg-images button:hover{border-color:var(--accent-line)}.msg-images button:active{transform:scale(.985)}.msg-images img{display:block;max-width:min(260px,100%);max-height:260px;object-fit:contain;background:var(--bg-2)}.composer-hint{font-size:11px;color:var(--ink-2);text-align:center;padding-top:6px;display:none}.scroll-btn{position:absolute;left:50%;bottom:100%;margin-bottom:12px;transform:translate(-50%,6px);width:38px;height:38px;border-radius:50%;background:var(--bg-3);border:1px solid var(--line-2);color:var(--ink-0);display:flex;align-items:center;justify-content:center;opacity:0;pointer-events:none;transition:opacity .18s ease,transform .18s ease,background .15s;box-shadow:0 4px 16px #0006;z-index:5}.scroll-btn.visible{opacity:1;pointer-events:all;transform:translate(-50%)}.scroll-btn:hover{background:var(--bg-2);color:var(--accent-hi)}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:260;display:flex;align-items:center;justify-content:center;padding:max(24px,var(--safe-bottom)) 20px;background:#040408db;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:lightbox-in .18s ease both;cursor:zoom-out}@keyframes lightbox-in{0%{opacity:0}to{opacity:1}}.lightbox-img{max-width:min(100%,1400px);max-height:100%;object-fit:contain;border-radius:var(--r-md);box-shadow:0 18px 60px #0000008c;cursor:default;animation:lightbox-img-in .22s cubic-bezier(.2,.7,.3,1) both}@keyframes lightbox-img-in{0%{opacity:0;transform:scale(.97)}to{opacity:1;transform:scale(1)}}.lightbox-close{position:absolute;top:14px;right:14px;color:var(--ink-1);background:var(--bg-2);border:1px solid var(--line-2);border-radius:50%}.lightbox-step{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--bg-2);border:1px solid var(--line-2);color:var(--ink-1);transition:background .15s,color .15s,opacity .15s}.lightbox-step:hover:not(:disabled){background:var(--bg-3);color:var(--ink-0)}.lightbox-step:disabled{opacity:.25}.lightbox-step.prev{left:16px}.lightbox-step.next{right:16px}.lightbox-step.next svg{transform:rotate(180deg)}.lightbox-count{position:absolute;bottom:max(18px,var(--safe-bottom));left:50%;transform:translate(-50%);font-size:12.5px;color:var(--ink-1);background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;padding:5px 12px}@media(max-width:640px){.lightbox-step{width:38px;height:38px}.lightbox-step.prev{left:8px}.lightbox-step.next{right:8px}}.modal-mask{position:fixed;top:0;right:0;bottom:0;left:0;background:#04040899;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:200;opacity:0;pointer-events:none;transition:opacity .3s}.modal-mask.open{opacity:1;pointer-events:all}.modal{position:fixed;bottom:0;left:0;right:0;background:var(--bg-1);border:1px solid var(--line-1);border-bottom:none;border-radius:var(--r-lg) var(--r-lg) 0 0;z-index:201;display:flex;flex-direction:column;max-height:92dvh;transform:translateY(100%);visibility:hidden;transition:transform .36s cubic-bezier(.32,.72,0,1),visibility .36s;outline:none}.modal.open{transform:translateY(0);visibility:visible}.modal-grip{width:36px;height:4px;background:var(--line-2);border-radius:2px;margin:10px auto 0;flex-shrink:0}.modal-head{display:flex;align-items:center;justify-content:space-between;padding:8px 12px 8px 20px;border-bottom:1px solid var(--line-0);flex-shrink:0}.modal-title{font-size:13px;font-weight:650;letter-spacing:.08em;text-transform:uppercase;color:var(--accent-hi)}.modal-body{overflow-y:auto;overscroll-behavior:contain;padding:18px 20px calc(20px + var(--safe-bottom))}.modal:has(.modal-foot) .modal-body{padding-bottom:18px}.modal-foot{flex-shrink:0;padding:12px 20px calc(12px + var(--safe-bottom));border-top:1px solid var(--line-0);background:var(--bg-1);border-radius:0 0 var(--r-lg) var(--r-lg)}.settings-body,.summ-body{display:flex;flex-direction:column;gap:18px}.summ-body{gap:14px}.summ-hint{font-size:13px;color:var(--ink-2);line-height:1.65}.summ-generating{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--ink-2);font-style:italic}.key-row{display:flex;align-items:center;gap:4px}.key-row .field-input.masked{-webkit-text-security:disc}.effort-row{display:flex;gap:5px;flex-wrap:wrap}.effort-btn{flex:1;min-width:44px;padding:8px 4px;background:var(--bg-2);border:1px solid var(--line-1);border-radius:var(--r-sm);color:var(--ink-1);font-size:11.5px;font-weight:550;letter-spacing:.03em;text-align:center;transition:background .15s,color .15s,border-color .15s;-webkit-user-select:none;user-select:none}.effort-btn:active{transform:scale(.95)}.effort-btn.active{background:var(--accent-soft);border-color:var(--accent-line);color:var(--accent-hi)}@media(min-width:900px){.app{display:flex}.sidebar{position:static;width:300px;min-width:300px;border-right:1px solid var(--line-0);background:var(--bg-1)}.app.chat-open .sidebar{transform:none;opacity:1;pointer-events:all}.chatpane{position:static;flex:1;min-width:0;transform:none!important;background:radial-gradient(ellipse 70% 40% at 50% 0%,rgba(160,140,255,.05) 0%,transparent 65%),var(--bg-0)}.back-btn{display:none}.convo-del{opacity:0}.convo-item:hover .convo-del,.convo-item:focus-within .convo-del{opacity:1}.composer-hint{display:block}.msgs-inner{padding:28px 24px 16px}.chat-head-inner{padding-left:16px;padding-right:16px}.composer{padding-left:24px;padding-right:24px}.modal{left:50%;right:auto;bottom:auto;top:50%;width:min(600px,calc(100vw - 48px));max-height:min(86vh,820px);border-radius:var(--r-lg);border-bottom:1px solid var(--line-1);transform:translate(-50%,-46%) scale(.97);opacity:0;transition:transform .25s cubic-bezier(.32,.72,0,1),opacity .22s,visibility .25s}.modal.open{transform:translate(-50%,-50%) scale(1);opacity:1}.modal-grip{display:none}.modal-head{padding-top:14px;padding-bottom:10px}}@media(max-width:899.98px){.chip{max-width:90px}}
