@font-face{font-family:Young Serif;src:url(/assets/young-serif-latin-400-normal-DIMmNPI9.woff2)format("woff2");font-weight:400;font-display:swap;unicode-range:U+??,U+131}@font-face{font-family:Naina Serif;src:url(/assets/source-serif-4-latin-wght-normal-D9elroTD.woff2)format("woff2");font-weight:200 900;font-display:swap;unicode-range:U+20-7E,U+A0-FF}:root{--canvas:#fcfcfb;--sidebar:#f5f5f3;--surface:#fff;--bubble:#f0f0ed;--code-bg:#f4f4f2;--hover:#1f1e1d0d;--active:#1f1e1d14;--ink:#454440;--muted:#6f6e69;--solid:#6f6e69;--solid-strong:#1f1e1d;--faint:#a3a29c;--line:#1f1e1d1c;--line-strong:#1f1e1d33;--accent:#8e7ef0;--accent-strong:#6e5ddf;--accent-ring:#8e7ef038;--accent-soft:#8e7ef01f;--accent-soft-ink:#5b45c9;--on-accent:#fff;--lamp-glow:#8e7ef080;--code-ink:#5b45c9;--danger:#b3413a;--shadow-soft:0 1px 2px #1f1e1d0a, 0 6px 24px #1f1e1d0d;--shadow-pop:0 1px 3px #1f1e1d0f, 0 8px 28px #1f1e1d1f;--backdrop:#14141359;--shimmer:#ffffff8c;--chart-1:#2a78d6;--chart-2:#eb6834;--chart-3:#1baf7a;--chart-4:#eda100;--chart-5:#e87ba4;--chart-6:#008300;--font-sans:system-ui, -apple-system, "Segoe UI", "PingFang SC", "HarmonyOS Sans SC", "MiSans", "Noto Sans CJK SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--font-reading:"Naina Serif", var(--font-sans);--font-greeting:"Naina Serif", "Songti SC", "Noto Serif CJK SC", "Source Han Serif SC", var(--font-sans);--font-display:"Young Serif", Georgia, serif;--font-mono:ui-monospace, "SF Mono", "JetBrains Mono", Menlo, Consolas, monospace;--column:740px;--motion-move:.28s;--motion-move-exit:.22s;--motion-pop:.16s;--motion-pop-exit:.12s;--motion-feedback:.15s;--ease-enter:cubic-bezier(.2, .8, .2, 1);--ease-exit:cubic-bezier(.4, 0, 1, 1);--keyboard-height:0px;--keyboard-duration:0s;--keyboard-easing:cubic-bezier(.2, 0, 0, 1);--sidebar-width:264px;interpolate-size:allow-keywords;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}:root[data-theme=dark]{--canvas:#252524;--sidebar:#1d1d1c;--surface:#2f2f2e;--bubble:#1a1a19;--code-bg:#1d1d1c;--hover:#f4f4f10f;--active:#f4f4f11a;--ink:#f2f2ef;--solid:#f2f2ef;--solid-strong:#f2f2ef;--muted:#a1a09a;--faint:#767570;--line:#f4f4f11c;--line-strong:#f4f4f133;--accent:#aea2f6;--accent-strong:#c2b9f9;--accent-ring:#aea2f64d;--accent-soft:#aea2f62e;--accent-soft-ink:#c2b9f9;--on-accent:#1c1a2b;--lamp-glow:#aea2f680;--code-ink:#c4baff;--danger:#e5776b;--shadow-soft:0 1px 2px #0003, 0 6px 24px #00000038;--shadow-pop:0 2px 6px #0000004d, 0 12px 32px #0006;--backdrop:#00000080;--shimmer:#ffffff0d;--chart-1:#3987e5;--chart-2:#d95926;--chart-3:#199e70;--chart-4:#c98500;--chart-5:#d55181;--chart-6:#008300;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--canvas);color:var(--ink);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;-moz-text-size-adjust:100%;text-size-adjust:100%;margin:0;font-size:16px;line-height:1.6}h1,h2,p{margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:0;padding:0}button:disabled{cursor:default}input,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}ul{margin:0;padding:0;list-style:none}.button{height:38px;color:inherit;white-space:nowrap;transition:background var(--motion-feedback), opacity var(--motion-feedback);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:15px;font-weight:500;text-decoration:none;display:inline-flex}.button:disabled{opacity:.5}.button-primary{background:var(--solid);color:var(--canvas)}.button-primary:hover:not(:disabled){opacity:.88}.button-secondary{border:1px solid var(--line-strong);background:var(--surface)}.button-secondary:hover{background:var(--bubble)}.button-danger{background:var(--danger);color:#fff}.button-danger:hover{opacity:.9}.icon-button{width:38px;height:38px;color:var(--muted);border-radius:10px;place-items:center;display:grid}.icon-button:hover{background:var(--hover);color:var(--ink)}.text-input{border:1px solid var(--line-strong);background:var(--surface);width:100%;transition:border-color var(--motion-feedback), box-shadow var(--motion-feedback);border-radius:10px;outline:none;padding:10px 12px;font-size:16px}textarea.text-input{resize:vertical;min-height:132px;line-height:1.6;display:block}.text-input:disabled{opacity:.6}.text-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.menu-root{display:contents}.menu{z-index:50;border:1px solid var(--line);background:var(--surface);min-width:168px;box-shadow:var(--shadow-pop);visibility:hidden;animation:pop-in var(--motion-pop) var(--ease-enter);border-radius:12px;padding:5px;position:fixed}.menu.closing{pointer-events:none;animation:fade-out var(--motion-pop-exit) var(--ease-exit) forwards}.menu-item{text-align:left;border-radius:8px;align-items:center;gap:10px;width:100%;padding:8px 10px;font-size:14px;display:flex}.menu-item svg{color:var(--muted)}.menu-item:hover{background:var(--hover)}.menu-item.danger,.menu-item.danger svg{color:var(--danger)}.menu-check,.menu-chevron{margin-left:auto;display:grid}.menu-item.has-submenu{margin-top:9px;position:relative}.menu-item.has-submenu[aria-expanded=true]{background:var(--hover)}.menu-item.has-submenu:before{content:"";background:var(--line);height:1px;position:absolute;top:-5px;left:10px;right:10px}.menu-chevron svg{color:var(--faint)}.menu-check svg{color:var(--accent)}.dialog{bottom:var(--keyboard-height);border:1px solid var(--line);background:var(--surface);width:min(420px,100vw - 32px);color:var(--ink);box-shadow:var(--shadow-pop);transition:bottom var(--keyboard-duration) var(--keyboard-easing);border-radius:16px;padding:0}.dialog[open]{animation:pop-in var(--motion-pop) var(--ease-enter)}.dialog[open]::backdrop{animation:fade-in var(--motion-pop) var(--ease-enter)}.dialog.closing{animation:pop-out var(--motion-pop-exit) var(--ease-exit) forwards}.dialog.closing::backdrop{animation:fade-out var(--motion-pop-exit) var(--ease-exit) forwards}.dialog::backdrop{background:var(--backdrop)}.dialog-body{padding:22px 22px 18px}.dialog-body>h2{margin-bottom:12px;font-size:17px;font-weight:600}.dialog-body>p{color:var(--muted);overflow-wrap:anywhere;font-size:15px;line-height:1.6}.switch{background:var(--line-strong);cursor:pointer;appearance:none;width:38px;height:22px;transition:background var(--motion-feedback);border-radius:11px;flex-shrink:0;margin:0;position:relative}.switch:after{content:"";width:18px;height:18px;transition:transform var(--motion-feedback);background:#fff;border-radius:50%;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #0003}.switch:checked{background:var(--accent)}.switch:checked:after{transform:translate(16px)}.memory-files{margin:0 -12px}.memory-files button{text-align:left;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:8px;width:100%;padding:10px 12px;display:grid}.memory-files button:hover{background:var(--hover)}.memory-file-title{font-size:15px;font-weight:500}.memory-files .settings-hint{grid-column:1}.memory-files svg{color:var(--faint);grid-area:1/2/span 2}.memory-file-header{align-items:center;gap:4px;margin-left:-8px;display:flex}.memory-file-header h4{margin:0;font-size:17px;font-weight:600}.memory-file-header+.settings-hint{margin:0 0 12px 34px}.memory-file-content{background:var(--code-bg);border-radius:12px;padding:12px 16px;font-size:15px}.memory-ask{border:1px solid var(--line-strong);background:var(--surface);transition:border-color var(--motion-feedback), box-shadow var(--motion-feedback);border-radius:22px;align-items:center;gap:8px;padding:5px 5px 5px 16px;display:flex}.memory-ask:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.memory-ask .send-button{border-radius:50%;width:32px;height:32px}.memory-ask input{background:0 0;border:0;outline:none;flex:1;min-width:0;font-size:15px}.memory-reply{background:var(--bubble);border-radius:12px;padding:10px 14px;font-size:14px;line-height:1.6}.dialog-actions{justify-content:flex-end;gap:8px;margin-top:22px;display:flex}.dialog.settings-dialog{width:min(880px,100vw - 48px);height:min(660px,100dvh - 48px);max-height:none}.settings-dialog .dialog-body{height:100%;padding:0;position:relative}.settings-dialog h2{margin:0;font-size:18px;position:absolute;top:20px;left:24px}.dialog-close{z-index:1;position:absolute;top:12px;right:12px}.settings{grid-template-columns:200px minmax(0,1fr);height:100%;display:grid}.settings-nav{border-right:1px solid var(--line);background:var(--sidebar);flex-direction:column;gap:2px;padding:64px 12px 16px;display:flex}.settings-nav button{height:36px;color:var(--muted);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:14px;display:flex}.settings-nav button>svg{flex-shrink:0;width:17px;height:17px}.settings-nav button:hover{background:var(--hover);color:var(--ink)}.settings-nav button[aria-current=page]{background:var(--active);color:var(--ink);font-weight:500}.settings-nav-chevron,.settings-back{display:none}.settings-panel{overscroll-behavior:contain;padding:26px 40px 40px;overflow-y:auto}.settings-title{font-family:var(--font-greeting);margin:0 0 24px;font-size:26px;font-weight:400}.settings-group+.settings-group{margin-top:32px}.settings-group>h4{margin:0 0 6px;font-size:15px;font-weight:600}.settings-item{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px 16px;min-height:52px;padding:10px 0;display:flex}.settings-item+.settings-item{border-top:1px solid var(--line)}.settings-item-label{flex-direction:column;gap:2px;min-width:0;font-size:15px;display:flex}.settings-item-label label{cursor:pointer}.settings-form{flex-direction:column;gap:14px;display:flex}.settings-item.settings-form{flex-wrap:nowrap;align-items:stretch;padding:14px 0 18px}.settings-item.settings-form .field{max-width:320px}.settings-profile{align-items:center;gap:14px;margin-bottom:22px;display:flex}.avatar.avatar-large{width:52px;height:52px;font-size:21px}.avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%}.avatar-change{border-radius:50%;align-self:flex-start}.avatar-change:hover{opacity:.85}.settings-avatar-actions{gap:8px;margin-top:8px;display:flex}.settings-profile-name{font-size:17px;font-weight:600}.settings-inline{gap:8px;display:flex}.settings-inline .text-input{flex:0 320px;min-width:0}.settings-hint{color:var(--muted);font-size:13.5px;line-height:1.55}.settings-value{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:14px}.settings-buttons{flex-wrap:wrap;flex-shrink:0;gap:8px;display:flex}.settings-result{color:var(--muted);font-size:13.5px}.settings-result.error{color:var(--danger)}.theme-cards{grid-template-columns:repeat(3,minmax(0,148px));gap:14px;margin-top:6px;display:grid}.theme-card{color:var(--muted);flex-direction:column;gap:8px;font-size:13.5px;display:flex}.theme-card[aria-checked=true]{color:var(--ink);font-weight:500}.theme-preview{aspect-ratio:16/10;border:1px solid var(--line-strong);transition:border-color var(--motion-feedback), box-shadow var(--motion-feedback);border-radius:10px;display:block;position:relative;overflow:hidden}.theme-card[aria-checked=true] .theme-preview{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.mini-page{background:var(--mini-canvas);display:flex;position:absolute;inset:0}.mini-page.light{--mini-canvas:#fcfcfb;--mini-sidebar:#f2f2ef;--mini-bubble:#e9e8e4;--mini-line:#d6d5cf;--mini-surface:#fff;--mini-border:#e1e0db;--mini-accent:#8e7ef0}.mini-page.dark{--mini-canvas:#252524;--mini-sidebar:#1d1d1c;--mini-bubble:#3a3a38;--mini-line:#4f4e4b;--mini-surface:#2f2f2e;--mini-border:#403f3d;--mini-accent:#aea2f6}.theme-preview.system .mini-page.dark{clip-path:polygon(100% 0,100% 100%,0 100%)}.mini-sidebar{background:var(--mini-sidebar);width:24%}.mini-main{flex-direction:column;flex:1;gap:7%;padding:12% 10% 9%;display:flex}.mini-bubble{background:var(--mini-bubble);border-radius:999px;align-self:flex-end;width:42%;height:10%}.mini-line{background:var(--mini-line);border-radius:999px;width:85%;height:6%}.mini-line.short{width:55%}.mini-composer{border:1px solid var(--mini-border);background:var(--mini-surface);border-radius:6px;height:20%;margin-top:auto;position:relative}.mini-composer:after{content:"";background:var(--mini-accent);border-radius:3px;width:14%;height:60%;position:absolute;top:50%;right:5%;translate:0 -50%}.usage-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:6px 0 0;display:grid}.usage-grid>div{border:1px solid var(--line);border-radius:12px;padding:14px 16px}.usage-grid .usage-total{grid-column:1/-1}.usage-grid dt{color:var(--muted);font-size:13px}.usage-grid dd{font-variant-numeric:tabular-nums;white-space:nowrap;margin:2px 0 0;font-size:20px;font-weight:600}.usage-total dd{font-size:30px}@keyframes sheet-up{0%{transform:translateY(100%)}}@keyframes sheet-down{to{transform:translateY(100%)}}@keyframes pop-out{to{opacity:0;transform:translateY(-3px)scale(.98)}}@keyframes slide-from-right{0%{transform:translate(100%)}}@keyframes slide-from-left{0%{opacity:0;transform:translate(-24%)}}@keyframes fade-in{0%{opacity:0}}@keyframes fade-out{to{opacity:0}}@keyframes pop-in{0%{opacity:0;transform:translateY(-3px)scale(.98)}}.wordmark{font-family:var(--font-display);letter-spacing:.005em;align-items:baseline;line-height:1;display:inline-flex}.wordmark-medium{font-size:24px}.wordmark-large{font-size:52px}.wordmark-i{position:relative}.lamp{background:var(--accent);width:10px;height:10px;box-shadow:0 0 8px var(--lamp-glow);border-radius:50%;flex-shrink:0;display:inline-block}.wordmark-i .lamp{width:.2em;height:.2em;position:absolute;top:.06em;left:50%;translate:-50%}.lamp-thinking{animation:1.6s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.45;scale:.85}50%{opacity:1;scale:1}}.splash{place-items:center;height:100dvh;display:grid}.auth{min-height:100dvh;padding:calc(32px + env(safe-area-inset-top)) 16px calc(32px + env(safe-area-inset-bottom) + var(--keyboard-height));transition:padding-bottom var(--keyboard-duration) var(--keyboard-easing);place-items:center;display:grid}.auth-panel{flex-direction:column;width:min(380px,100%);display:flex}.auth-panel>.wordmark{align-self:center}.auth-lead{color:var(--muted);text-align:center;margin:14px 0 30px;font-size:15px}.segmented{background:var(--bubble);border-radius:10px;grid-auto-columns:1fr;grid-auto-flow:column;padding:3px;display:grid}.segmented button{color:var(--muted);border-radius:8px;padding:7px 0;font-size:14px}.segmented button[aria-selected=true],.segmented button[aria-checked=true]{background:var(--surface);color:var(--ink);font-weight:500;box-shadow:0 1px 3px #00000014}.auth-tabs{margin-bottom:22px}.auth-form{flex-direction:column;gap:16px;display:flex}.field{flex-direction:column;gap:6px;display:flex}.field>span{font-size:14px;font-weight:500}.field small{color:var(--muted);font-size:13px;line-height:1.5}.password-input{position:relative}.password-input .text-input{padding-right:46px}.password-input input::-ms-reveal{display:none}.password-toggle{width:34px;height:34px;color:var(--muted);border-radius:8px;place-items:center;display:grid;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.password-toggle:hover{background:var(--hover);color:var(--ink)}.auth-error{color:var(--danger);font-size:14px}.auth-submit{height:44px;margin-top:6px;font-size:16px}.chat-screen{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);height:100dvh;padding-bottom:var(--keyboard-height);transition:padding-bottom var(--keyboard-duration) var(--keyboard-easing);display:grid}.sidebar{min-height:0;padding-top:env(safe-area-inset-top);border-right:1px solid var(--line);background:var(--canvas);flex-direction:column;display:flex}.sidebar-head{justify-content:space-between;align-items:center;padding:16px 10px 12px 20px;display:flex}.sidebar-search-button{border-radius:50%;display:none}.sidebar-actions{flex-direction:column;gap:2px;padding:0 10px 4px;display:flex}.sidebar-search-field,.search-field{border:1px solid var(--line);background:var(--surface);height:36px;color:var(--muted);border-radius:10px;align-items:center;gap:8px;padding:0 10px;font-size:14px;display:flex}.sidebar-search-field{margin-bottom:6px}.sidebar-search-field:hover{border-color:var(--line-strong)}.sidebar-row{border-radius:8px;align-items:center;gap:10px;height:36px;padding:0 8px;font-size:14px;display:flex}.sidebar-row:hover{background:var(--hover)}.sidebar-row.active{background:var(--active)}.sidebar-row-icon{flex-shrink:0;place-items:center;width:24px;height:24px;display:grid}.sidebar-new .sidebar-row-icon{background:var(--active);border-radius:50%}.sidebar-label{color:var(--muted);padding:14px 8px 6px;font-size:12px;font-weight:500}.sidebar-head,.sidebar-actions,.search-head{animation:fade-in var(--motion-pop) var(--ease-enter)}.search-head{align-items:center;gap:6px;padding:0 10px 10px;display:flex}.search-field{border-color:var(--accent);min-width:0;box-shadow:0 0 0 3px var(--accent-ring);flex:1}.search-field input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1}.search-cancel{color:var(--muted);border-radius:8px;flex-shrink:0;padding:6px 8px;font-size:15px}.search-cancel:hover{color:var(--ink)}.search-match{text-align:left;border-radius:8px;flex-direction:column;gap:2px;width:100%;padding:8px;display:flex}.search-match:hover{background:var(--hover)}.search-match-title{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.search-snippet{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;line-height:1.5;display:-webkit-box;overflow:hidden}.session-list{scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;padding:4px 10px 16px;overflow-y:auto}.sidebar-empty{color:var(--muted);padding:8px;font-size:13px;line-height:1.6}.session-item{border-radius:8px;align-items:center;display:flex}.session-item:hover{background:var(--hover)}.session-item.active{background:var(--active)}.session-title{text-align:left;white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;padding:6px 8px;font-size:14px;overflow:hidden}.session-more{width:28px;height:28px;color:var(--muted);opacity:0;border-radius:6px;place-items:center;margin-right:2px;display:grid}.session-more:hover{background:var(--active);color:var(--ink)}.session-item:hover .session-more,.session-more[aria-expanded=true],.session-more:focus-visible{opacity:1}.sidebar-foot{padding:8px 10px calc(10px + env(safe-area-inset-bottom));border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;display:flex}.avatar-button{border-radius:10px;flex:1;align-items:center;gap:10px;min-width:0;padding:6px 8px;display:flex}.avatar-button:hover{background:var(--hover)}.avatar-name{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500;overflow:hidden}.new-chat{background:var(--solid-strong);height:40px;color:var(--canvas);box-shadow:var(--shadow-soft);border-radius:999px;align-items:center;gap:6px;padding:0 18px 0 14px;font-size:15px;font-weight:500;display:none}.new-chat:hover{opacity:.88}.avatar{background:var(--solid-strong);width:30px;height:30px;color:var(--canvas);border-radius:50%;flex-shrink:0;place-items:center;font-size:13px;font-weight:600;display:grid}.drawer-backdrop{display:none}.page-stack{min-width:0;min-height:0;display:grid;position:relative}.page{flex-direction:column;grid-area:1/1;min-width:0;min-height:0;display:flex;position:relative}@media (width>=800px){.page:not(.current){display:none}}.chat-header{min-height:56px;padding:8px 16px;padding-top:calc(8px + env(safe-area-inset-top));align-items:center;gap:4px;display:flex}.chat-header-title{flex:1;min-width:0;display:flex}.chat-header-title.centered{justify-content:center}.chat-header:has(.chat-header-title.centered):not(:has(.back-button)):before{content:"";flex-shrink:0;width:38px}.title-button{border-radius:8px;align-items:center;gap:6px;min-width:0;padding:6px 10px;font-size:15px;font-weight:500;display:flex}.title-button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.title-button svg{color:var(--muted);flex-shrink:0}.title-button:hover,.title-button[aria-expanded=true]{background:var(--hover)}.chat-header-label{padding:6px 10px;font-size:15px;font-weight:500}.title-crumb{max-width:40%;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;border-radius:8px;flex-shrink:1;padding:6px 4px 6px 10px;font-size:15px;overflow:hidden}.title-crumb:hover{color:var(--ink)}.title-separator{color:var(--faint);align-self:center}.incognito-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-ink)}.only-narrow{display:none}.status-area{top:calc(60px + env(safe-area-inset-top));z-index:5;flex-direction:column;align-items:center;gap:8px;width:max-content;max-width:calc(100% - 32px);display:flex;position:absolute;left:50%;transform:translate(-50%)}.status-pill{border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);color:var(--muted);border-radius:999px;align-items:baseline;gap:12px;padding:6px 14px;font-size:13px;line-height:1.5;display:flex}.status-pill.error{color:var(--danger);border-radius:14px}.status-pill button{color:var(--ink);flex-shrink:0;font-weight:500}.conversation{flex-direction:column;flex:1;min-height:0;display:flex}.messages{overflow-anchor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;overflow-y:auto}.messages-column{max-width:var(--column);margin:0 auto;padding:8px 24px 40px}.conversation.is-empty .messages{flex-direction:column;justify-content:center;display:flex}.greeting{justify-content:center;align-items:center;gap:16px;display:flex}.greeting-kaomoji{color:var(--accent);font-family:var(--font-sans);white-space:nowrap;font-size:24px}.greeting h1{font-family:var(--font-greeting);letter-spacing:.01em;text-align:center;text-wrap:balance;font-size:36px;font-weight:600;line-height:1.3}.greeting-incognito{flex-direction:column;gap:10px}.greeting-incognito .greeting-kaomoji{display:grid}.greeting-incognito p{color:var(--muted);text-align:center;font-size:14px}.message-user{flex-direction:column;align-items:flex-end;gap:6px;margin:24px 0;display:flex}.user-attachments{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:6px;max-width:82%;display:flex}.attachment-image{border:1px solid var(--line);background:var(--bubble);object-fit:cover;border-radius:14px;width:160px;height:160px;display:block}.attachment-file{border:1px solid var(--line);background:var(--surface);border-radius:14px;align-items:center;gap:8px;max-width:100%;padding:9px 14px;font-size:14px;display:flex}.attachment-file svg{color:var(--muted);flex-shrink:0}.attachment-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.attachment-size{color:var(--muted);flex-shrink:0;font-size:13px}.message-user .message-actions{margin:0 -6px 0 0}.message-edit{border:1px solid var(--line-strong);background:var(--surface);border-radius:18px;flex-direction:column;gap:10px;width:100%;padding:12px 14px 10px;display:flex}.message-edit textarea{width:100%;color:var(--ink);font:inherit;resize:none;background:0 0;border:0;outline:none;padding:0;line-height:1.65;display:block}.message-edit-actions{justify-content:flex-end;gap:8px;display:flex}.message-user p{background:var(--bubble);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:18px;max-width:82%;padding:10px 16px;line-height:1.65}.message-user.pending p{opacity:.65}.message-assistant{margin:24px 0 32px}.message-assistant .markdown{font-family:var(--font-reading);line-height:1.75}.message-note{color:var(--muted);margin-top:8px;font-size:14px}.message-error{background:color-mix(in srgb, var(--danger) 9%, transparent);color:var(--danger);border-radius:10px;margin-top:8px;padding:10px 14px;font-size:14px;line-height:1.6}.message-actions{opacity:0;min-height:30px;transition:opacity var(--motion-feedback);align-items:center;gap:2px;margin:10px 0 0 -6px;display:flex}.message-assistant:hover .message-actions,.message-assistant.latest .message-actions,.message-user:hover .message-actions,.message-actions:focus-within{opacity:1}.action-button{width:30px;height:30px;color:var(--muted);border-radius:8px;place-items:center;display:grid}.action-button:hover{background:var(--hover);color:var(--ink)}.action-note{color:var(--danger);margin-left:6px;font-size:13px}.message-image{width:fit-content;max-width:100%;margin:16px 0 24px;position:relative}.message-image img{border:1px solid var(--line);background:var(--bubble);border-radius:14px;max-width:min(100%,520px);max-height:520px;display:block}.steps{margin:10px 0}.steps-summary{max-width:100%;color:var(--muted);text-align:left;cursor:pointer;align-items:center;gap:6px;padding:2px 0;font-size:13px;list-style:none;display:inline-flex}.steps-summary::-webkit-details-marker{display:none}.steps-summary:hover{color:var(--ink)}.steps-summary .lamp{width:8px;height:8px}.steps-summary svg{transition:transform var(--motion-feedback);flex-shrink:0}.steps[open]>.steps-summary svg{transform:rotate(180deg)}.steps::details-content{block-size:0;transition:content-visibility var(--motion-move-exit) allow-discrete, block-size var(--motion-move-exit) var(--ease-enter);overflow-y:clip}.step-details::details-content{block-size:0;transition:content-visibility var(--motion-move-exit) allow-discrete, block-size var(--motion-move-exit) var(--ease-enter);overflow-y:clip}.steps[open]::details-content{block-size:auto;transition-duration:var(--motion-move)}.step-details[open]::details-content{block-size:auto;transition-duration:var(--motion-move)}.step-card{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:8px 0 0;padding:4px 0;list-style:none;overflow:hidden}.step{gap:10px;padding:7px 14px;display:flex}.step-icon{width:15px;height:22px;color:var(--faint);flex-shrink:0;place-items:center;display:grid}.step-icon .lamp{width:8px;height:8px}.step-body{min-width:0;color:var(--muted);flex:1;font-size:14px;line-height:22px}.step-thinking{padding:6px 0 2px}.thinking-heading,.step-details[open] .thinking-preview{display:none}.step-details[open] .thinking-heading{display:inline}.step-thinking .markdown p,.step-thinking .markdown ul,.step-thinking .markdown ol{margin-bottom:.5em}.step-thinking .markdown h1,.step-thinking .markdown h2,.step-thinking .markdown h3,.step-thinking .markdown h4{margin:.6em 0 .3em;font-size:1em}.step-row{align-items:center;gap:8px;width:100%;margin:0;display:flex}.step-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.step-count{color:var(--faint);flex-shrink:0}.step-details summary{cursor:pointer;list-style:none}.step-details summary::-webkit-details-marker{display:none}.step-details summary:hover{color:var(--ink)}.step-details summary svg{transition:transform var(--motion-feedback);flex-shrink:0;margin-left:auto}.step-details[open] summary svg{transform:rotate(180deg)}.step-list{margin:4px -10px 0;padding:0;list-style:none}.step-list a,.step-list button{width:100%;color:inherit;text-align:left;border-radius:8px;justify-content:space-between;gap:16px;padding:6px 10px;text-decoration:none;display:flex}.step-list a:hover,.step-list button:hover{background:var(--hover)}.source-title{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.source-site{text-overflow:ellipsis;white-space:nowrap;max-width:40%;color:var(--muted);flex-shrink:0;font-size:13px;overflow:hidden}.step-link{text-align:left}.step-link:hover{color:var(--ink)}.image-download{color:#fff;opacity:0;width:32px;height:32px;transition:opacity var(--motion-feedback);background:#1414138c;border-radius:8px;place-items:center;display:grid;position:absolute;top:10px;right:10px}.message-image:hover .image-download,.image-download:focus-visible{opacity:1}.image-placeholder{aspect-ratio:4/3;background:var(--bubble);width:min(100%,420px);color:var(--muted);border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:14px;margin:16px 0 24px;font-size:14px;display:flex;position:relative;overflow:hidden}.image-placeholder:before{content:"";background:linear-gradient(100deg, transparent 30%, var(--shimmer) 50%, transparent 70%);animation:1.8s ease-in-out infinite shimmer;position:absolute;inset:0}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(100%)}}.thinking{align-items:center;height:28px;margin:24px 0 32px;display:flex}.thinking .lamp{width:12px;height:12px}.loading-note{color:var(--muted);text-align:center;padding-top:20vh;font-size:15px}.streaming .markdown>:last-child:after{content:"";background:var(--accent);width:.5em;height:.5em;box-shadow:0 0 8px var(--lamp-glow);vertical-align:.05em;border-radius:50%;margin-left:.3em;animation:1.2s ease-in-out infinite breathe;display:inline-block}.markdown{overflow-wrap:anywhere}.markdown>:first-child{margin-top:0}.markdown>:last-child{margin-bottom:0}.markdown p,.markdown ul,.markdown ol,.markdown blockquote,.markdown pre,.markdown .table-scroll{margin:0 0 1em}.markdown h1,.markdown h2,.markdown h3,.markdown h4{margin:1.4em 0 .6em;font-weight:600;line-height:1.45}.markdown h1{font-size:1.3em}.markdown h2{font-size:1.18em}.markdown h3{font-size:1.06em}.markdown h4{font-size:1em}.markdown strong{font-weight:600}.markdown ul,.markdown ol{padding-left:1.5em}.markdown ul{list-style:outside}.markdown ol{list-style:decimal}.markdown li{padding-left:.2em}.markdown li+li{margin-top:.35em}.markdown li>ul,.markdown li>ol{margin:.35em 0 0}.markdown li::marker{color:var(--muted)}.markdown code{border:1px solid var(--line);background:var(--code-bg);color:var(--code-ink);font-family:var(--font-mono);border-radius:5px;padding:.12em .38em;font-size:.86em}.markdown pre{border:1px solid var(--line);background:var(--code-bg);border-radius:12px;padding:14px 16px;font-size:13.5px;line-height:1.65;overflow-x:auto}.markdown pre code{color:inherit;font-size:inherit;background:0 0;border:0;padding:0}.markdown blockquote{border-left:3px solid var(--line-strong);color:var(--muted);padding-left:1em}.markdown a{color:inherit;text-decoration:underline;-webkit-text-decoration-color:var(--accent);text-decoration-color:var(--accent);text-underline-offset:3px;text-decoration-thickness:1px}.markdown a:hover{color:var(--accent-strong)}.markdown hr{border:0;border-top:1px solid var(--line);margin:1.8em 0}.table-scroll{overflow-x:auto}.chart{font-family:var(--font-sans);margin:1.2em 0}.chart-title{margin-bottom:8px;font-size:15px;font-weight:600}.chart-canvas{width:100%}.chart-toggle{color:var(--muted);margin-top:4px;padding:2px 0;font-size:13px}.chart-toggle:hover{color:var(--ink)}.chart-placeholder{background:var(--hover);height:260px;color:var(--muted);font-family:var(--font-sans);border-radius:12px;place-items:center;margin:1.2em 0;font-size:14px;display:grid}.chart-tooltip{font-size:13px;line-height:1.5}.chart-tooltip-title{color:var(--muted);margin-bottom:2px}.chart-tooltip-row{align-items:center;gap:6px;display:flex}.chart-tooltip-row span:last-child:not(.chart-tooltip-key){color:var(--muted)}.chart-tooltip-key{border-radius:1px;width:10px;height:2px}.markdown table{border-collapse:collapse;width:max-content;font-size:.93em;line-height:1.6}.markdown th,.markdown td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;max-width:22em;padding:8px 20px 8px 0}.markdown th{border-bottom-color:var(--line-strong);font-weight:600}.project-page{flex-direction:column;flex:1;min-height:0;display:flex}.project-scroll{overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:var(--line-strong) transparent;flex:1;min-height:0;overflow-y:auto}.project-column{max-width:var(--column);margin:0 auto;padding:12px 24px 24px}.project-grid{gap:28px;display:grid}.project-heading{color:var(--muted);margin:0 8px 6px;font-size:13px;font-weight:500}.project-empty{color:var(--faint);padding:4px 8px;font-size:14px}.project-side{flex-direction:column;gap:14px;display:flex}.project-card{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:12px 14px}.project-card .project-heading{margin:0 0 6px}.project-card-header{justify-content:space-between;align-items:center;margin-bottom:2px;display:flex}.project-card-header .project-heading{margin:0}.project-card-header .icon-button{width:30px;height:30px;margin-right:-6px}.project-instructions{width:100%;color:var(--ink);font:inherit;resize:none;background:0 0;border:0;outline:none;padding:0;font-size:14px;line-height:1.6;display:block}.project-instructions::placeholder{color:var(--faint)}.project-card-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;display:flex}.project-card .project-empty{padding:4px 0}.project-files{margin:4px -6px 0}.project-files li{align-items:center;gap:8px;padding-left:6px;font-size:14px;display:flex}.project-files li>svg{color:var(--muted);flex-shrink:0}.project-file-thumbnail{object-fit:cover;background:var(--bubble);border-radius:6px;flex-shrink:0;width:28px;height:28px;margin-left:-5px}.project-file-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.project-file-length{color:var(--muted);white-space:nowrap;font-size:12px}.project-files .icon-button{width:30px;height:30px}.project-memory{text-align:left;align-items:center;gap:10px;width:100%;font-size:14px;display:flex}.project-memory span{flex:1}.project-memory svg{color:var(--muted)}.project-memory:hover{border-color:var(--line-strong)}@media (width>=1180px){.project-column{max-width:980px}.project-grid{grid-template-columns:minmax(0,1fr) 300px;align-items:start}}.projects-list li{position:relative;overflow:hidden}.swipe-actions{display:flex;position:absolute;inset:0 0 0 auto}.swipe-actions button{width:72px;font-size:14px;font-weight:500}.swipe-pin{background:var(--solid);color:var(--canvas)}.swipe-delete{background:var(--danger);color:#fff}.swipe-row{background:var(--canvas);touch-action:pan-y;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;transition:transform var(--motion-pop) var(--ease-enter);align-items:center;display:flex;position:relative}.swipe-row.open{transform:translate(-144px)}.projects-list-item{text-align:left;border-radius:10px;flex:1;align-items:center;gap:12px;min-width:0;padding:14px 10px;display:flex}.projects-list-item:hover{background:var(--hover)}.projects-list-item svg{color:var(--muted);flex-shrink:0}.projects-list-pin{color:var(--muted);display:grid}@media (hover:none){.session-more.project-more{opacity:0;pointer-events:none;position:absolute;right:0}}.projects-list-name{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;font-size:15px;overflow:hidden}.projects-list-count{color:var(--muted);white-space:nowrap;font-size:13px}.bottom-bar{padding:4px 24px calc(20px + env(safe-area-inset-bottom))}.bottom-bar-box{max-width:var(--column);border:1px solid var(--line);background:var(--surface);height:48px;box-shadow:var(--shadow-soft);color:var(--muted);cursor:text;border-radius:24px;align-items:center;gap:10px;margin:0 auto;padding:0 18px;display:flex}.bottom-bar-box:focus-within{border-color:var(--line-strong)}.bottom-bar-box input{min-width:0;color:var(--ink);font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:16px}.bottom-bar-box input::placeholder{color:var(--faint)}.composer{padding:4px 24px calc(20px + env(safe-area-inset-bottom))}.composer-box{max-width:var(--column);border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-soft);cursor:text;transition:border-color var(--motion-feedback);border-radius:22px;margin:0 auto;padding:14px 12px 10px 18px}.composer-box:focus-within{border-color:var(--line-strong)}.composer textarea{resize:none;background:0 0;border:0;outline:none;width:100%;max-height:200px;padding:0 6px 0 0;font-size:16px;line-height:1.6;display:block}.composer textarea::placeholder{color:var(--faint)}.composer-bar{justify-content:space-between;align-items:center;margin-top:8px;display:flex}.composer-tools{align-items:center;gap:2px;min-width:0;display:flex}.model-button{min-width:0;height:34px;color:var(--muted);border-radius:10px;align-items:center;gap:4px;padding:0 8px;font-size:13px;display:flex}.model-button span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.model-button svg{flex-shrink:0}.model-button:hover,.model-button[aria-expanded=true]{background:var(--hover);color:var(--ink)}.thinking-button{border:1px solid var(--line);height:30px;color:var(--muted);white-space:nowrap;transition:background var(--motion-feedback), color var(--motion-feedback), border-color var(--motion-feedback);border-radius:999px;margin-left:4px;padding:0 11px;font-size:13px}@media (hover:hover){.thinking-button[aria-pressed=false]:hover{background:var(--hover);color:var(--ink)}}.thinking-button[aria-pressed=true]{background:var(--accent-soft);color:var(--accent-soft-ink);border-color:#0000}.attach-button{width:34px;height:34px;color:var(--accent);border-radius:10px;place-items:center;margin-left:-6px;display:grid}.attach-button:hover:not(:disabled){background:var(--hover);color:var(--accent-strong)}.attach-button:disabled{opacity:.4}.composer-box.dragging{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-ring)}.drafts{flex-wrap:wrap;gap:10px;margin-bottom:12px;padding-top:4px;display:flex}.draft{border:1px solid var(--line);background:var(--bubble);border-radius:12px;position:relative}.draft.failed{border-color:var(--danger)}.draft img{object-fit:cover;border-radius:11px;width:60px;height:60px;display:block}.draft-file{align-items:center;gap:6px;max-width:200px;height:60px;padding:0 14px;font-size:13px;display:flex}.draft-file svg{color:var(--muted);flex-shrink:0}.draft-file span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.draft-uploading{background:color-mix(in srgb, var(--surface) 65%, transparent);border-radius:11px;place-items:center;display:grid;position:absolute;inset:0}.draft-remove{background:var(--solid);width:20px;height:20px;color:var(--canvas);border-radius:50%;place-items:center;display:grid;position:absolute;top:-7px;right:-7px}.draft-errors{color:var(--danger);margin-bottom:10px;font-size:13px;line-height:1.5}.send-button{background:var(--accent);width:34px;height:34px;color:var(--on-accent);transition:background var(--motion-feedback), opacity var(--motion-feedback);border-radius:10px;place-items:center;display:grid}.send-button:hover:not(:disabled){background:var(--accent-strong)}.send-button:disabled{opacity:.4}.send-button.stop{background:var(--solid);color:var(--canvas)}@media (width>=800px){.conversation.is-empty{justify-content:center;padding-bottom:14vh}.conversation.is-empty .messages{flex:none;overflow:visible}.conversation.is-empty .messages-column{padding-bottom:28px}.conversation.is-empty .composer textarea{min-height:3.2em}}@media (width<=799px){.chat-screen{--drawer-width:min(76vw, 330px);background:var(--sidebar);grid-template-columns:minmax(0,1fr);position:relative;overflow:clip}.sidebar{width:var(--drawer-width);background:var(--sidebar);visibility:hidden;transition:visibility 0s var(--motion-move-exit);border-right:0;position:absolute;inset:0 auto 0 0}:is(.drawer-open .sidebar,.chat-screen:has(.page[data-drawer-drag]) .sidebar){visibility:visible;transition-delay:0s}.page-stack{z-index:1;pointer-events:none;overflow:clip}.page{--page-duration:var(--motion-move);--drawer-duration:var(--motion-move-exit);--shade:0;visibility:hidden;background:var(--canvas);box-shadow:var(--shadow-pop);pointer-events:auto;transition:translate var(--page-duration) var(--ease-enter), transform var(--drawer-duration) var(--ease-enter), border-radius var(--drawer-duration) var(--ease-enter), visibility 0s var(--page-duration);display:flex;position:absolute;inset:0;overflow:hidden}.page.current,.page[data-dragging]{visibility:visible;transition-delay:0s}.page-stack[data-navigation=back] .page{--page-duration:var(--motion-move-exit)}.page.below{--shade:.3;translate:-25%}.page.above{translate:100%}.page:after{content:"";z-index:40;background:var(--backdrop);opacity:var(--shade);pointer-events:none;transition:opacity var(--page-duration) var(--ease-enter);position:absolute;inset:0}.drawer-open .page.current{--drawer-duration:var(--motion-move);transform:translateX(var(--drawer-width))}.drawer-open .page.current,.page.current[data-drawer-drag]{border-radius:28px}.page.below.with-drawer{--shade:0;translate:0;transform:translateX(var(--drawer-width));border-radius:28px}@starting-style{.page.current.pushed{translate:100%}.page.current.from-drawer{transform:translateX(var(--drawer-width));border-radius:28px}}.drawer-open .page.current .drawer-backdrop{z-index:30;cursor:default;display:block;position:absolute;inset:0}.only-narrow{display:grid}.chat-header{padding:6px 8px;padding-top:calc(6px + env(safe-area-inset-top))}.chat-header-title{justify-content:center}.chat-header:has(.chat-header-title.centered):before{display:none}.title-crumb,.title-separator{display:none}.sidebar-head{padding:12px 10px 10px 20px}.sidebar-search-button{display:grid}.sidebar-search-field,.sidebar-new,.avatar-name,.sidebar.searching .sidebar-head{display:none}.sidebar-row{height:42px;font-size:15px}.search-head{padding:12px 10px 10px 12px}.search-field{background:var(--active);height:38px;box-shadow:none;border:0;padding:0 12px;font-size:15px}.sidebar-foot{padding:10px 12px calc(12px + env(safe-area-inset-bottom));border-top:0}.avatar-button{border-radius:50%;flex:none;place-items:center;width:42px;height:42px;padding:0;display:grid}.avatar-button .avatar{width:34px;height:34px;font-size:14px}.new-chat{display:flex}.session-title{padding:9px 8px;font-size:15px}.messages-column{padding:8px 16px 28px}.project-column{padding:8px 16px 20px}.bottom-bar{padding:4px 12px calc(10px + env(safe-area-inset-bottom))}.greeting{flex-direction:column;gap:6px}.greeting h1{font-size:26px}.greeting-kaomoji{font-size:20px}.message-user p{max-width:88%}.composer{padding:4px 12px calc(10px + env(safe-area-inset-bottom))}.composer-box{border-radius:20px;padding:12px 10px 8px 16px}.dialog.settings-dialog{width:100%;height:calc(100dvh - 10px - env(safe-area-inset-top) - var(--keyboard-height));max-width:none;max-height:none;transition:bottom var(--keyboard-duration) var(--keyboard-easing), height var(--keyboard-duration) var(--keyboard-easing);border:0;border-radius:20px 20px 0 0;margin:auto 0 0}.settings-dialog[open]{animation:sheet-up var(--motion-move) var(--ease-enter)}.settings-dialog.closing{animation:sheet-down var(--motion-move-exit) var(--ease-exit) forwards}.settings-dialog .dialog-body{flex-direction:column;display:flex}.settings{flex:1;grid-template-columns:minmax(0,1fr);min-height:0;overflow-x:clip}.settings-dialog h2{padding:16px 20px 8px;font-size:20px;position:static}.settings-dialog:not(.list-shown) h2,.settings-dialog:not(.list-shown) .settings-nav{display:none}.settings-dialog.navigated:not(.list-shown) .settings-panel{animation:slide-from-right var(--motion-move) var(--ease-enter)}.settings-dialog.navigated.list-shown h2,.settings-dialog.navigated.list-shown .settings-nav{animation:slide-from-left var(--motion-move) var(--ease-enter)}.settings-nav{background:0 0;border:0;padding:4px 12px}.settings-nav button,.settings-nav button[aria-current=page]{height:52px;color:var(--ink);background:0 0;padding:0 8px;font-size:16px;font-weight:400}.settings-nav button>svg{width:19px;height:19px;color:var(--muted)}.settings-nav-chevron{color:var(--faint);margin-left:auto;display:grid}.settings-back{color:var(--muted);border-radius:8px;align-items:center;gap:2px;margin:0 0 10px -6px;padding:6px 10px 6px 4px;font-size:15px;display:inline-flex}.settings-panel{padding:10px 20px calc(24px + env(safe-area-inset-bottom))}.settings-title{margin-bottom:18px;font-size:24px}.theme-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}}@media (hover:none){.session-more,.message-actions,.image-download{opacity:1}}@media (prefers-reduced-motion:reduce){.lamp-thinking,.streaming .markdown>:last-child:after,.image-placeholder:before,.menu,.menu.closing,.dialog[open],.dialog[open]::backdrop,.dialog.closing,.dialog.closing::backdrop,.sidebar-head,.search-head,.settings-panel,.settings-nav,.settings-dialog h2{animation:none}.sidebar,.page,.page:after,.message-actions{transition:none}.steps::details-content{transition:none}.step-details::details-content{transition:none}}
