:root{--c-neutral-0:#fff;--c-neutral-50:#faf8f3;--c-neutral-100:#f2eee6;--c-neutral-200:#e5dfd4;--c-neutral-300:#d2cabb;--c-neutral-400:#a59e90;--c-neutral-500:#766f66;--c-neutral-600:#544f48;--c-neutral-700:#38342e;--c-neutral-800:#24221e;--c-neutral-850:#1a1815;--c-neutral-900:#121110;--c-neutral-950:#0b0a09;--c-brass-300:#e6cf96;--c-brass-400:#cfa74e;--c-brass-500:#b58f3a;--c-brass-600:#96742b;--c-brass-700:#6d5520;--c-red-400:#e8756f;--c-red-500:#d9534f;--c-red-600:#b23b38;--c-green-400:#6fae7f;--c-green-600:#3f7a52;--font-serif:ui-serif, "Iowan Old Style", "Palatino Linotype", Palatino, "Book Antiqua", Georgia, serif;--font-sans:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:ui-monospace, SFMono-Regular, "SF Mono", Menlo, Consolas, "Liberation Mono", monospace;--text-xs:.75rem;--text-sm:.8125rem;--text-base:.9375rem;--text-md:1rem;--text-lg:1.125rem;--text-xl:1.375rem;--text-2xl:1.75rem;--text-3xl:2.25rem;--text-4xl:3rem;--leading-tight:1.15;--leading-snug:1.4;--leading-normal:1.6;--leading-relaxed:1.75;--tracking-tight:-.02em;--tracking-eyebrow:.12em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:14px;--radius-2xl:20px;--radius-full:999px;--ease-out:cubic-bezier(.2, 0, 0, 1);--ease-in-out:cubic-bezier(.4, 0, .2, 1);--duration-fast:.12s;--duration-base:.18s;--duration-slow:.28s;--z-sticky:10;--z-overlay:100;--z-modal:110;--z-toast:120}:root,:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:var(--c-neutral-950);--surface:var(--c-neutral-900);--surface-2:var(--c-neutral-850);--surface-3:var(--c-neutral-800);--surface-hover:#fffcf50a;--surface-active:#fffcf512;--border:#eee8dc17;--border-strong:#eee8dc2b;--text:#ece7dd;--text-2:#a39c90;--text-3:#6f695f;--text-inverse:var(--c-neutral-950);--accent:var(--c-brass-400);--accent-hover:var(--c-brass-300);--accent-fg:#1a1408;--accent-subtle:#cfa74e1f;--accent-border:#cfa74e57;--danger:var(--c-red-500);--danger-fg:#fff;--danger-subtle:#d9534f21;--success:var(--c-green-400);--shadow-sm:0 1px 2px #0006;--shadow-md:0 2px 4px #0000004d, 0 4px 12px #00000052;--shadow-lg:0 4px 8px #0000004d, 0 12px 32px #00000070;--shadow-focus:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--image-outline:#ffffff1a;--code-bg:#0f0e0c}:root[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:var(--c-neutral-50);--surface:var(--c-neutral-0);--surface-2:var(--c-neutral-100);--surface-3:var(--c-neutral-200);--surface-hover:#1c18100a;--surface-active:#1c181012;--border:#1c18101c;--border-strong:#1c181033;--text:#1b1915;--text-2:#57524a;--text-3:#868075;--text-inverse:var(--c-neutral-0);--accent:var(--c-brass-600);--accent-hover:var(--c-brass-700);--accent-fg:#fff;--accent-subtle:#96742b1a;--accent-border:#96742b52;--danger:var(--c-red-600);--danger-fg:#fff;--danger-subtle:#b23b381a;--success:var(--c-green-600);--shadow-sm:0 1px 2px #2821140f;--shadow-md:0 2px 4px #2821140d, 0 4px 12px #28211412;--shadow-lg:0 4px 8px #2821140f, 0 12px 32px #2821141a;--shadow-focus:0 0 0 2px var(--bg), 0 0 0 4px var(--accent);--image-outline:#0000001a;--code-bg:var(--c-neutral-100)}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}h1,h2,h3,h4{font-family:var(--font-serif);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);text-wrap:balance;margin:0;font-weight:500}.eyebrow{font-family:var(--font-sans);font-size:var(--text-xs);letter-spacing:var(--tracking-eyebrow);text-transform:uppercase;color:var(--text-3);font-weight:500;display:inline-block}p{text-wrap:pretty;margin:0}button,input,textarea,select{font:inherit;color:inherit}button{cursor:pointer;background:0 0;border:none;padding:0}a{color:var(--accent);-webkit-text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-decoration-color:color-mix(in oklab, var(--accent) 40%, transparent);text-underline-offset:2px}img,svg,video{max-width:100%;height:auto;display:block}img{outline:1px solid var(--image-outline);outline-offset:-1px}:focus-visible{box-shadow:var(--shadow-focus);border-radius:var(--radius-sm);outline:none}::selection{background:var(--accent-subtle)}.tabular{font-variant-numeric:tabular-nums}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}*{scrollbar-width:thin;scrollbar-color:var(--border-strong) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:var(--radius-full);background-clip:content-box;border:3px solid #0000}::-webkit-scrollbar-thumb:hover{background:var(--text-3);background-clip:content-box}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.prose{font-size:var(--text-base);line-height:var(--leading-relaxed);overflow-wrap:break-word}.prose>*+*{margin-top:var(--space-4)}.prose h1,.prose h2,.prose h3,.prose h4{margin-top:var(--space-6);line-height:var(--leading-snug)}.prose h1{font-size:var(--text-xl)}.prose h2{font-size:var(--text-lg)}.prose h3,.prose h4{font-size:var(--text-md)}.prose ul,.prose ol{padding-left:var(--space-6)}.prose li+li{margin-top:var(--space-2)}.prose li::marker{color:var(--text-3)}.prose blockquote{padding-left:var(--space-4);border-left:2px solid var(--border-strong);color:var(--text-2);margin-left:0}.prose hr{border:none;border-top:1px solid var(--border)}.prose :not(pre)>code{border-radius:var(--radius-sm);background:var(--surface-2);border:1px solid var(--border);font-family:var(--font-mono);padding:.15em .4em;font-size:.875em}.table-scroll{border:1px solid var(--border);border-radius:var(--radius-lg);overflow-x:auto}.prose table{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.prose th,.prose td{padding:var(--space-2) var(--space-3);text-align:left;border-bottom:1px solid var(--border)}.prose th{background:var(--surface-2);font-weight:600}.prose tr:last-child td{border-bottom:none}.codeblock{border:1px solid var(--border);border-radius:var(--radius-xl);background:var(--code-bg);overflow:hidden}.codeblock-bar{padding:var(--space-1) var(--space-2) var(--space-1) var(--space-3);border-bottom:1px solid var(--border);background:var(--surface-2);justify-content:space-between;align-items:center;display:flex}.codeblock-lang{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--text-3)}.codeblock-copy{align-items:center;gap:var(--space-2);min-height:28px;padding:0 var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-2);transition-property:background-color,color,scale;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);display:inline-flex}.codeblock-copy:hover{background:var(--surface-3);color:var(--text)}.codeblock-copy:active{scale:.96}.codeblock pre{padding:var(--space-4);margin:0;overflow-x:auto}.codeblock code{font-family:var(--font-mono);font-size:var(--text-sm);line-height:var(--leading-normal);tab-size:2}.hljs-comment,.hljs-quote{color:var(--text-3);font-style:italic}.hljs-keyword,.hljs-selector-tag,.hljs-literal,.hljs-section,.hljs-doctag,.hljs-type,.hljs-name,.hljs-strong{color:#c48ce0}.hljs-string,.hljs-regexp,.hljs-addition,.hljs-attribute,.hljs-meta .hljs-string{color:#8fbf7f}.hljs-number,.hljs-symbol,.hljs-bullet,.hljs-link,.hljs-selector-attr,.hljs-selector-pseudo{color:var(--c-gold-300)}.hljs-title,.hljs-title.function_,.hljs-built_in{color:#7fb3e0}.hljs-attr,.hljs-variable,.hljs-template-variable,.hljs-selector-class,.hljs-selector-id{color:#e0a878}.hljs-deletion{color:var(--danger)}.hljs-emphasis{font-style:italic}:root[data-theme=light] .hljs-keyword,:root[data-theme=light] .hljs-selector-tag,:root[data-theme=light] .hljs-literal,:root[data-theme=light] .hljs-section,:root[data-theme=light] .hljs-type,:root[data-theme=light] .hljs-name{color:#8250b8}:root[data-theme=light] .hljs-string,:root[data-theme=light] .hljs-regexp,:root[data-theme=light] .hljs-addition,:root[data-theme=light] .hljs-attribute{color:#3f7d3f}:root[data-theme=light] .hljs-number,:root[data-theme=light] .hljs-symbol,:root[data-theme=light] .hljs-bullet,:root[data-theme=light] .hljs-link{color:var(--c-gold-700)}:root[data-theme=light] .hljs-title,:root[data-theme=light] .hljs-title.function_,:root[data-theme=light] .hljs-built_in{color:#2a6ba8}:root[data-theme=light] .hljs-attr,:root[data-theme=light] .hljs-variable,:root[data-theme=light] .hljs-selector-class{color:#a35a1f}.prose .katex{font-size:1.05em}.prose .katex-display{padding:var(--space-2) 0;overflow:auto hidden}.app{height:100svh;display:flex;overflow:hidden}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border-radius:var(--radius-lg);font-size:var(--text-sm);color:var(--text);transition-property:background-color,color,box-shadow,scale;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-weight:500;display:inline-flex}.btn:active:not(:disabled){scale:.96}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.sm{min-height:30px;padding:0 var(--space-2);font-size:var(--text-xs)}.btn.primary{background:var(--accent);color:var(--accent-fg);font-weight:600}.btn.primary:hover:not(:disabled){background:var(--accent-hover)}.btn.ghost{color:var(--text-2)}.btn.ghost:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn{border-radius:var(--radius-lg);width:40px;height:40px;color:var(--text-2);transition-property:background-color,color,scale;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);justify-content:center;align-items:center;display:inline-flex}.icon-btn:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.icon-btn:active:not(:disabled){scale:.96}.icon-btn:disabled{opacity:.35;cursor:not-allowed}.linkish{color:var(--text-2);text-underline-offset:2px;text-decoration:underline}.linkish:hover{color:var(--text)}.icon-swap{place-items:center;width:16px;height:16px;display:grid}.icon-swap>*{transition-property:opacity,scale,filter;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out);grid-area:1/1}.icon-swap>:first-child{opacity:1;filter:blur();scale:1}.icon-swap>:last-child,.icon-swap[data-active=true]>:first-child{opacity:0;filter:blur(4px);scale:.25}.icon-swap[data-active=true]>:last-child{opacity:1;filter:blur();color:var(--success);scale:1}.sidebar{background:var(--surface);border-right:1px solid var(--border);width:268px;padding:var(--space-3);gap:var(--space-3);flex-direction:column;flex-shrink:0;display:flex}.sidebar-head{padding:var(--space-1) var(--space-2);justify-content:space-between;align-items:center;display:flex}.brand-mark{font-family:var(--font-serif);font-size:var(--text-xl);letter-spacing:-.01em;color:var(--text);font-style:italic;font-weight:500}.brand-mark:after{content:"";vertical-align:middle;border-radius:var(--radius-full);background:var(--accent);width:5px;height:5px;margin-left:5px;display:inline-block}.sidebar-close{display:none}.new-chat{border:1px solid var(--border-strong);width:100%;min-height:38px;color:var(--text);background:0 0;font-weight:500}.new-chat:hover:not(:disabled){background:var(--surface-hover);border-color:var(--text-3)}.sidebar-search,.model-search{align-items:center;gap:var(--space-2);padding:0 var(--space-3);border-radius:var(--radius-lg);background:var(--surface-2);min-height:34px;color:var(--text-3);display:flex}.sidebar-search input,.model-search input{min-width:0;font-size:var(--text-sm);color:var(--text);background:0 0;border:none;outline:none;flex:1}.sidebar-search input::placeholder,.model-search input::placeholder{color:var(--text-3)}.conv-list{margin:0 calc(-1 * var(--space-1));padding:0 var(--space-1);flex:1;overflow-y:auto}.conv-list ul{margin:0 0 var(--space-3);padding:0;list-style:none}.conv-group{z-index:var(--z-sticky);padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--text-xs);color:var(--text-3);background:var(--surface);text-transform:uppercase;letter-spacing:.04em;font-weight:500;position:sticky;top:0}.conv-item{border-radius:var(--radius-lg);transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);align-items:center;display:flex}.conv-item:hover{background:var(--surface-hover)}.conv-item[data-active=true]{background:var(--surface-active)}.conv-open{align-items:center;gap:var(--space-2);min-width:0;min-height:34px;padding:0 var(--space-2);font-size:var(--text-sm);color:var(--text-2);text-align:left;flex:1;display:flex}.conv-item[data-active=true] .conv-open{color:var(--text)}.conv-title{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.conv-pin{color:var(--accent);flex-shrink:0}.conv-actions{padding-right:var(--space-1);opacity:0;transition-property:opacity;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);gap:2px;display:flex}.conv-item:hover .conv-actions,.conv-item:focus-within .conv-actions{opacity:1}.conv-actions button{border-radius:var(--radius-md);width:26px;height:26px;color:var(--text-3);place-items:center;display:grid}.conv-actions button:hover{background:var(--surface-3);color:var(--text)}.conv-item.renaming input{width:100%;min-height:34px;padding:0 var(--space-2);border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--bg);font-size:var(--text-sm);outline:none}.conv-empty{padding:var(--space-4) var(--space-2);font-size:var(--text-sm);color:var(--text-3)}.sidebar-foot{padding:var(--space-3) var(--space-2) var(--space-1);border-top:1px solid var(--border);font-size:var(--text-xs);line-height:var(--leading-snug);color:var(--text-3)}.sidebar-scrim{display:none}.main{flex-direction:column;flex:1;min-width:0;display:flex}.topbar{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--border);background:color-mix(in oklab, var(--bg) 80%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex}.menu-btn{display:none}.topbar-right{align-items:center;gap:var(--space-1);margin-left:auto;display:flex}.session-cost{padding:0 var(--space-2);font-size:var(--text-xs);color:var(--text-3)}.thread{overflow-anchor:none;scroll-behavior:smooth;flex-direction:column;flex:1;display:flex;overflow-y:auto}.thread-inner{max-width:46rem;padding:var(--space-6) var(--space-4) var(--space-8);gap:var(--space-6);flex-direction:column;margin:0 auto;display:flex}.empty{max-width:36rem;padding:var(--space-8) var(--space-4);text-align:center;animation:rise var(--duration-slow) var(--ease-out) both;margin:auto}.empty h1{font-size:clamp(var(--text-2xl), 5vw, var(--text-3xl));margin-bottom:var(--space-4)}.empty p{max-width:46ch;color:var(--text-2);font-size:var(--text-base);line-height:var(--leading-relaxed);text-wrap:balance;animation:rise var(--duration-slow) var(--ease-out) .1s both;margin:0 auto}@keyframes rise{0%{opacity:0;translate:0 8px}to{opacity:1;translate:0}}.msg{gap:var(--space-2);flex-direction:column;display:flex}.msg.user{align-items:flex-end}.msg.user .bubble{max-width:85%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);background:var(--surface-2);border:1px solid var(--border);white-space:pre-wrap;overflow-wrap:anywhere}.msg-body{min-width:0}.msg-actions{align-items:center;gap:var(--space-1);opacity:0;min-height:26px;transition-property:opacity;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out);display:flex}.msg.user .msg-actions{justify-content:flex-end}.msg:hover .msg-actions,.msg:focus-within .msg-actions{opacity:1}.msg-action{border-radius:var(--radius-md);width:26px;height:26px;color:var(--text-3);transition-property:background-color,color,scale;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);place-items:center;display:grid}.msg-action:hover:not(:disabled){background:var(--surface-hover);color:var(--text)}.msg-action:active:not(:disabled){scale:.96}.msg-action:disabled{opacity:.3;cursor:not-allowed}.branch-switch{font-size:var(--text-xs);color:var(--text-3);align-items:center;gap:2px;display:flex}.msg-usage{font-size:var(--text-xs);color:var(--text-3)}.msg-error{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);background:var(--danger-subtle);border:1px solid color-mix(in oklab, var(--danger) 30%, transparent);color:var(--danger);font-size:var(--text-sm);display:flex}.msg-edit{width:100%;padding:var(--space-3);border:1px solid var(--accent-border);border-radius:var(--radius-xl);background:var(--surface);resize:vertical;font-size:var(--text-base);line-height:var(--leading-normal);outline:none}.msg-edit-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.thinking{padding:var(--space-2) 0;gap:4px;display:flex}.thinking span{border-radius:var(--radius-full);background:var(--text-3);width:6px;height:6px;animation:pulse 1.2s var(--ease-in-out) infinite}.thinking span:nth-child(2){animation-delay:.15s}.thinking span:nth-child(3){animation-delay:.3s}@keyframes pulse{0%,60%,to{opacity:.25;scale:.8}30%{opacity:1;scale:1}}.banner{max-width:46rem;margin:0 auto var(--space-6);padding:var(--space-3) var(--space-4);border-radius:var(--radius-xl);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-sm);display:flex}.banner.error{background:var(--danger-subtle);border:1px solid color-mix(in oklab, var(--danger) 30%, transparent);color:var(--danger)}.composer{padding:0 var(--space-4) var(--space-4);width:100%;max-width:46rem;margin:0 auto}.composer-field{align-items:flex-end;gap:var(--space-2);padding:var(--space-2);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-md);transition-property:border-color,box-shadow;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out);border-radius:18px;display:flex}.composer-field:focus-within{border-color:var(--accent-border);box-shadow:var(--shadow-lg)}.composer-field textarea{min-height:36px;padding:var(--space-2) var(--space-2);resize:none;font-size:var(--text-md);line-height:var(--leading-snug);background:0 0;border:none;outline:none;flex:1;max-height:240px}.composer-field textarea::placeholder{color:var(--text-3)}.composer-btn{border-radius:var(--radius-lg);width:36px;height:36px;transition-property:background-color,color,opacity,scale;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);flex-shrink:0;place-items:center;display:grid}.composer-btn:active:not(:disabled){scale:.96}.composer-btn.send{background:var(--accent);color:var(--accent-fg)}.composer-btn.send:disabled{background:var(--surface-3);color:var(--text-3);cursor:not-allowed}.composer-btn.stop{background:var(--surface-3);color:var(--text)}.composer-hint{margin-top:var(--space-2);text-align:center;font-size:var(--text-xs);color:var(--text-3)}.model-picker{min-width:0;position:relative}.model-trigger{align-items:center;gap:var(--space-2);max-width:100%;min-height:36px;padding:0 var(--space-2) 0 var(--space-3);border-radius:var(--radius-lg);color:var(--text);font-size:var(--text-sm);transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);font-weight:500;display:flex}.model-trigger:hover{background:var(--surface-hover)}.model-trigger-name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-trigger-price{font-size:var(--text-xs);color:var(--text-3)}.model-trigger-chevron{color:var(--text-3);transition-property:rotate;transition-duration:var(--duration-base);transition-timing-function:var(--ease-out)}.model-trigger-chevron[data-open=true]{rotate:180deg}.model-menu{top:calc(100% + var(--space-2));z-index:var(--z-overlay);width:min(30rem, calc(100vw - var(--space-8)));max-height:min(30rem,70svh);padding:var(--space-2);border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);animation:menu-in var(--duration-base) var(--ease-out) both;flex-direction:column;display:flex;position:absolute;left:0}@keyframes menu-in{0%{opacity:0;translate:0 -4px;scale:.98}to{opacity:1;translate:0;scale:1}}.model-search{margin-bottom:var(--space-2)}.model-search button{border-radius:var(--radius-sm);width:22px;height:22px;color:var(--text-3);place-items:center;display:grid}.model-search button:hover{color:var(--text)}.model-filters{gap:var(--space-1);padding-bottom:var(--space-2);border-bottom:1px solid var(--border);flex-wrap:wrap;display:flex}.model-filters button{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-2);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out)}.model-filters button:hover{background:var(--surface-hover);color:var(--text)}.model-filters button[data-active=true]{background:var(--accent-subtle);color:var(--accent)}.model-list{margin:0 calc(-1 * var(--space-1));padding:var(--space-1);flex:1;overflow-y:auto}.model-group{padding:var(--space-3) var(--space-2) var(--space-1);font-size:var(--text-xs);color:var(--text-3);text-transform:uppercase;letter-spacing:.04em;font-weight:500}.model-row{justify-content:space-between;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);text-align:left;transition-property:background-color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);display:flex}.model-row:hover{background:var(--surface-hover)}.model-row[data-selected=true]{background:var(--accent-subtle)}.model-row-main{flex-direction:column;gap:2px;min-width:0;display:flex}.model-row-name{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--text);font-weight:500;display:flex}.model-badge{border-radius:var(--radius-sm);background:var(--accent-subtle);width:16px;height:16px;color:var(--accent);place-items:center;display:inline-grid}.model-row-blurb{font-size:var(--text-xs);color:var(--text-3);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-row-meta{font-size:var(--text-xs);color:var(--text-2);flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.model-row-context{color:var(--text-3)}.model-more{padding:var(--space-3);text-align:center;font-size:var(--text-xs);color:var(--text-3)}.model-empty{padding:var(--space-6) var(--space-3);text-align:center;font-size:var(--text-sm);color:var(--text-3)}.settings{width:100%;max-width:46rem;padding:var(--space-4);gap:var(--space-4);border-bottom:1px solid var(--border);background:var(--surface);animation:rise var(--duration-base) var(--ease-out) both;flex-direction:column;margin:0 auto;display:flex}.settings-head{justify-content:space-between;align-items:center;display:flex}.settings-head h2{font-size:var(--text-md)}.settings-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(14rem,1fr));display:grid}.setting{gap:var(--space-2);flex-direction:column;display:flex}.setting-label{font-size:var(--text-sm);justify-content:space-between;align-items:center;font-weight:500;display:flex}.setting-value{color:var(--text-3);font-weight:400}.setting-hint{font-size:var(--text-xs);color:var(--text-3)}.setting textarea{padding:var(--space-3);border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);resize:vertical;font-size:var(--text-sm);line-height:var(--leading-normal);outline:none}.setting textarea:focus{border-color:var(--accent-border)}.setting input[type=range]{width:100%;accent-color:var(--accent)}.segmented{border-radius:var(--radius-lg);background:var(--surface-2);gap:2px;padding:3px;display:flex}.segmented button{min-height:28px;font-size:var(--text-xs);color:var(--text-2);text-transform:capitalize;transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);border-radius:7px;flex:1}.segmented button:hover{color:var(--text)}.segmented button[data-active=true]{background:var(--surface);color:var(--text);box-shadow:var(--shadow-sm)}@media (width<=820px){.menu-btn,.sidebar-close{display:inline-flex}.sidebar{z-index:var(--z-modal);width:min(84vw,300px);transition-property:translate;transition-duration:var(--duration-slow);transition-timing-function:var(--ease-out);box-shadow:var(--shadow-lg);position:fixed;inset:0 auto 0 0;translate:-100%}.sidebar[data-open=true]{translate:0}.sidebar-scrim{z-index:var(--z-overlay);animation:fade var(--duration-base) var(--ease-out) both;background:#00000080;display:block;position:fixed;inset:0}@keyframes fade{0%{opacity:0}to{opacity:1}}.thread-inner{padding:var(--space-4) var(--space-3) var(--space-6);gap:var(--space-5)}.composer{padding:0 var(--space-3) var(--space-3)}.msg.user .bubble{max-width:92%}.model-trigger-price{display:none}}.composer-modes{gap:var(--space-1);margin-bottom:var(--space-2);display:flex}.composer-modes button{align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--text-sm);color:var(--text-3);transition-property:background-color,color;transition-duration:var(--duration-fast);transition-timing-function:var(--ease-out);display:inline-flex}.composer-modes button:hover{color:var(--text)}.composer-modes button[data-active=true]{background:var(--surface-2);color:var(--text)}.mode-badge{padding:0 var(--space-1);border-radius:var(--radius-sm);background:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--accent);letter-spacing:.02em;text-transform:uppercase;font-size:.625rem}.composer-image-options{align-items:center;gap:var(--space-2);margin-bottom:var(--space-2);flex-wrap:wrap;display:flex}.image-model-select select{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-sm)}.ratio-chips{gap:var(--space-1);display:flex}.ratio-chips button{padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);font-size:var(--text-xs);color:var(--text-3);font-variant-numeric:tabular-nums;border:1px solid #0000}.ratio-chips button:hover{color:var(--text)}.ratio-chips button[data-active=true]{border-color:var(--accent-border);background:var(--accent-subtle);color:var(--accent)}.image-result figure{max-width:30rem;margin:0}.image-result img{border-radius:var(--radius-xl);outline:1px solid var(--image-outline);outline-offset:-1px;width:100%;height:auto;animation:rise var(--duration-slow) var(--ease-out) both;display:block}.image-result figcaption{margin-top:var(--space-2);font-size:var(--text-xs);color:var(--text-3)}.image-pending{aspect-ratio:1;border-radius:var(--radius-xl);border:1px solid var(--border);background:linear-gradient(100deg, transparent 20%, var(--surface-hover) 40%, transparent 60%) var(--surface);width:min(30rem,100%);animation:shimmer 1.6s var(--ease-in-out) infinite;background-size:300% 100%;place-items:center;display:grid}.image-pending-label{font-size:var(--text-sm);color:var(--text-3)}@keyframes shimmer{0%{background-position:150% 0}to{background-position:-50% 0}}.plan-badge{padding:0 var(--space-2);border-radius:var(--radius-full);background:var(--accent-subtle);border:1px solid var(--accent-border);color:var(--accent);font-size:var(--text-xs)}.main>.banner{width:calc(100% - var(--space-8));margin:0 auto var(--space-3)}.scroll-bottom{z-index:var(--z-sticky);border-radius:var(--radius-full);background:var(--surface-2);border:1px solid var(--border-strong);width:34px;height:34px;color:var(--text-2);box-shadow:var(--shadow-md);animation:rise var(--duration-base) var(--ease-out) both;place-items:center;display:grid;position:absolute;bottom:8.5rem;left:50%;translate:-50%}.scroll-bottom:hover{color:var(--text)}.main{position:relative}.modal-scrim{z-index:var(--z-modal);padding:var(--space-4);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fade-in var(--duration-base) var(--ease-out) both;background:#0009;place-items:center;display:grid;position:fixed;inset:0}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.upgrade{width:min(26rem,100%);max-height:90svh;padding:var(--space-8) var(--space-6) var(--space-6);border-radius:var(--radius-2xl);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow-lg);text-align:center;animation:rise var(--duration-slow) var(--ease-out) both;position:relative;overflow-y:auto}.upgrade-close{top:var(--space-3);right:var(--space-3);position:absolute}.upgrade-eyebrow{margin-bottom:var(--space-4);display:block}.upgrade h2{font-size:var(--text-2xl);line-height:var(--leading-tight)}.upgrade-sub{max-width:44ch;margin:var(--space-3) auto 0;color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-relaxed);text-wrap:balance}.upgrade-price{justify-content:center;align-items:baseline;gap:var(--space-1);margin:var(--space-6) 0 var(--space-4);display:flex}.upgrade-amount{font-family:var(--font-serif);font-size:var(--text-4xl);letter-spacing:var(--tracking-tight);font-weight:500}.upgrade-period{color:var(--text-3);font-size:var(--text-sm)}.upgrade-features{gap:var(--space-2);margin-bottom:var(--space-6);text-align:left;font-size:var(--text-sm);color:var(--text-2);display:grid}.upgrade-features li{gap:var(--space-2);grid-template-columns:1rem 1fr;display:grid}.upgrade-features li:before{content:"✓";color:var(--text-3)}.upgrade-cta{width:100%;padding:var(--space-3);justify-content:center}.upgrade-note{margin-top:var(--space-3);font-size:var(--text-xs);color:var(--text-3);line-height:var(--leading-normal)}.upgrade-have-code{margin-top:var(--space-4);font-size:var(--text-xs);color:var(--text-3)}.upgrade-code{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.upgrade-code input{min-width:8rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-sm);flex:1}.upgrade-error{color:var(--danger);font-size:var(--text-xs);flex-basis:100%}.upgrade-done h2{margin-bottom:var(--space-3)}.upgrade-done p{margin-bottom:var(--space-6);color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal)}@media (hover:none),(pointer:coarse){.msg-actions{opacity:1}.msg-action,.icon-btn{min-width:34px;min-height:34px}.composer-modes button,.ratio-chips button{min-height:34px}}.free-left{padding:0 var(--space-2);border-radius:var(--radius-full);border:1px solid var(--border);color:var(--text-3);font-size:var(--text-xs);min-height:24px}.free-left:hover{color:var(--text);border-color:var(--border-strong)}.sync{padding-top:var(--space-5);border-top:1px solid var(--border)}.sync-status{padding:0 var(--space-2);border-radius:var(--radius-full);border:1px solid var(--accent-border);background:var(--accent-subtle);color:var(--accent);font-size:var(--text-xs)}.sync-actions{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sync-actions .btn{border:1px solid var(--border-strong)}.sync-actions .btn:hover:not(:disabled){background:var(--surface-hover)}.sync-restore{gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.sync-restore input{min-width:12rem;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);font-family:var(--font-mono);font-size:var(--text-sm);flex:1}.sync-phrase{align-items:center;gap:var(--space-3);margin:var(--space-3) 0;padding:var(--space-4);border-radius:var(--radius-lg);border:1px solid var(--accent-border);background:var(--accent-subtle);flex-wrap:wrap;display:flex}.sync-phrase-warn{color:var(--text-2);font-size:var(--text-sm);line-height:var(--leading-normal);flex-basis:100%}.sync-phrase code{min-width:12rem;font-family:var(--font-mono);font-size:var(--text-base);letter-spacing:.04em;color:var(--text);overflow-wrap:anywhere;flex:1}.sync-danger{color:var(--danger);font-size:var(--text-xs)}.sync-error{margin-top:var(--space-2);color:var(--danger);font-size:var(--text-sm)}.account-form{gap:var(--space-2);margin-top:var(--space-3);display:grid}.account-form input{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);border:1px solid var(--border);background:var(--surface-2);color:var(--text);font-size:var(--text-sm)}.account-modes{margin-top:var(--space-3)}
