:root{--ink:#344054;--ink-strong:#111827;--muted:#667085;--line:#e4e7ec;--accent:#6d38d6;--accent-soft:#f1eafd;--accent-line:#d8c7fb;--green:#087443;--green-soft:#ecfdf3;--green-line:#abefc6;--amber-soft:#fffaeb;--amber-line:#fedf89;--blue:#175cd3;--blue-soft:#eff8ff;--blue-line:#b2ddff;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f7f9fc;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Inter,Roboto,Noto Sans TC,sans-serif}html{background:#f7f9fc;min-width:320px;min-height:100%}body{letter-spacing:0;min-width:320px;min-height:100vh;margin:0;font-size:15px;line-height:1.42}#root{min-height:100vh}img,svg{max-width:100%}button,input,textarea,select{letter-spacing:0}:root{--ink:#273042;--ink-strong:#0f172a;--muted:#667085;--line:#e3e7ee;--surface:#fff;--surface-soft:#f7f8fb;--accent:#5b46d6;--accent-soft:#f1eeff;--accent-line:#cfc6ff;--danger:#c2410c;--success:#0f766e;color:var(--ink);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:#f5f6f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;min-height:100%;margin:0}body{overflow-x:hidden}button,input,textarea,select{font:inherit}button{cursor:pointer;border:0;transition:background-color .14s,border-color .14s,color .14s,transform .14s}button:disabled{cursor:not-allowed;opacity:.6}button:not(:disabled):active{transform:translateY(1px)}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:2px solid color-mix(in srgb, var(--accent) 68%, white);outline-offset:2px}.app-shell{min-height:100vh;color:var(--ink);background:#f5f6f9;grid-template-columns:264px minmax(0,1fr);display:grid}.app-shell.has-thread{height:100vh;overflow:hidden}html[data-theme=dark]{background:#0c111d}.app-shell.theme-dark{--ink:#cbd5e1;--ink-strong:#f8fafc;--muted:#94a3b8;--line:#273246;--surface:#111827;--surface-soft:#0f172a;--accent:#a78bfa;--accent-soft:#8b5cf629;--accent-line:#a78bfa61;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background:#0c111d}.sidebar{background:var(--surface);border-right:1px solid var(--line);grid-template-rows:auto auto auto auto minmax(0,1fr) auto;gap:10px;height:100vh;padding:12px;display:grid;position:sticky;top:0}.sidebar-head,.brand-lockup,.topbar,.topbar-actions,.model-switcher,.new-chat-button,.search-box,.nav-list button,.thread-list button,.sidebar-foot,.composer-model,.composer-actions,.message-meta,.model-card-head,.category-tabs,.compare-panel,.compare-chip-row,.panel-head,.file-row,.settings-group-title,.integration-list span,.auth-gate button,.auth-modal .auth-submit,.auth-mode-switch,.checkbox-row,.auth-note,.chat-card,.chat-card button,.empty-chat-state button,.toast{align-items:center;display:flex}.sidebar-head{justify-content:space-between}.brand-lockup{gap:10px;min-height:40px}.brand-lockup strong{color:var(--ink-strong);font-size:.96rem;display:block}.brand-lockup span,.section-label,.thread-list small,.thread-list p,.sidebar-foot span,.composer-model span,.message-meta span,.message-meta em,.model-card p,.model-card dd,.section-hero p,.start-screen p,.model-dock span,.auth-gate p,.auth-gate label span,.auth-modal p,.auth-modal label span,.chat-card p,.chat-card small,.simple-panel p,.settings-list p,.file-row span,.memory-grid,.integration-list em,.auth-note{color:var(--muted)}.cloud-mark,.model-logo{flex:none;place-items:center;display:grid}.cloud-mark{width:32px;height:32px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px}.model-logo{background:color-mix(in srgb, var(--model-accent) 14%, white);border:1px solid color-mix(in srgb, var(--model-accent) 32%, transparent);border-radius:9px;width:30px;height:30px;position:relative;overflow:hidden}.model-logo.large{border-radius:10px;width:40px;height:40px}.model-logo img{z-index:2;object-fit:contain;width:72%;height:72%;position:relative}.model-logo-fallback{z-index:1;color:color-mix(in srgb, var(--model-accent) 72%, #111827);place-items:center;font-size:.62rem;font-weight:900;display:grid;position:absolute;inset:0}.new-chat-button{color:#fff;background:var(--accent);border-radius:8px;justify-content:center;gap:8px;min-height:42px;font-weight:760}.search-box{min-height:38px;color:var(--muted);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;gap:8px;padding:0 10px}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0}.nav-list{gap:4px;display:grid}.nav-list button,.thread-list button{width:100%;min-height:38px;color:var(--ink);text-align:left;background:0 0;border-radius:8px;gap:9px;padding:8px 10px}.nav-list button.active,.thread-list button.active,.category-tabs button.active,.utility-action.active,.compare-chip-row button.selected,.model-dock button.selected{color:var(--accent);background:var(--accent-soft)}.thread-list{align-content:start;gap:6px;min-height:0;padding-top:4px;display:grid;overflow:auto}.section-label{text-transform:uppercase;padding:8px 4px 4px;font-size:.72rem;font-weight:800}.thread-list button{gap:2px;display:grid}.thread-list button span,.thread-list button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-foot{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;justify-content:space-between;gap:10px;padding:10px}.sidebar-foot div{gap:2px;min-width:0;display:grid}.sidebar-foot strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-strong);font-size:.9rem;overflow:hidden}.chat-main{grid-template-rows:auto minmax(0,1fr) auto;min-width:0;min-height:100vh;display:grid}.app-shell.has-thread .chat-main{height:100vh;min-height:0;overflow:hidden}.topbar{z-index:8;background:color-mix(in srgb, var(--surface) 92%, transparent);border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);justify-content:space-between;gap:16px;min-height:58px;padding:9px 18px;position:sticky;top:0}.model-switcher,.utility-action,.icon-button{min-height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:8px}.model-switcher{gap:9px;padding:5px 10px 5px 6px;font-weight:760}.topbar-actions{gap:8px}.utility-action{gap:7px;padding:0 10px}.icon-button{place-items:center;width:38px;display:grid}.mobile-menu,.mobile-close{display:none}.chat-stage{flex-direction:column;gap:14px;min-height:0;padding:16px 18px;display:flex}.chat-stage.has-thread{grid-template-rows:minmax(0,1fr) auto auto;align-items:end;gap:10px;height:100%;padding:12px 18px 14px;display:grid;overflow:hidden}.start-screen,.message-scroll,.explore-stage,.simple-stage{width:min(920px,100%);min-width:0;margin:0 auto}.start-screen{align-self:start;gap:12px;padding:clamp(22px,5vh,44px) 0 18px;display:grid}.eyebrow{color:var(--accent);letter-spacing:0;text-transform:uppercase;margin:0;font-size:.76rem;font-weight:840}h1,h2,p{margin:0}.start-screen h1,.section-hero h1{color:var(--ink-strong);letter-spacing:0;font-size:clamp(2rem,3.2vw,3.05rem);line-height:1.06}.start-screen>p,.section-hero p{max-width:720px;line-height:1.6}.model-dock{overscroll-behavior-x:contain;scrollbar-width:thin;gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.model-dock button,.model-card,.simple-panel,.settings-list,.library-panel,.auth-gate,.auth-modal,.chat-card,.empty-chat-state,.composer,.compare-panel,.message-body{background:var(--surface);border:1px solid var(--line);border-radius:10px}.model-dock button{min-height:66px;color:var(--ink);text-align:left;flex:0 0 178px;align-items:center;gap:9px;padding:10px;display:flex}.model-dock strong,.model-card h2,.simple-panel strong,.message-meta strong,.composer-model strong,.settings-list strong,.thread-title h1{color:var(--ink-strong)}.model-dock button>span{gap:2px;min-width:0;display:grid}.model-dock button strong,.model-dock button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.model-dock button small{color:var(--muted);font-size:.78rem}.prompt-starters{flex-wrap:wrap;gap:8px;display:flex}.prompt-starters button,.category-tabs button,.compare-chip-row button,.auth-gate button,.auth-modal .auth-submit,.chat-card button,.empty-chat-state button,.composer-actions button,.model-card button,.settings-list button{color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px}.prompt-starters button{background:var(--surface-soft);min-height:36px;padding:0 12px}.message-scroll{align-content:start;gap:10px;min-height:0;padding-bottom:10px;display:grid;overflow:auto}.chat-home{align-content:start;gap:16px;width:min(980px,100%);margin:0 auto;padding:18px 0 80px;display:grid}.chat-card-list{gap:10px;display:grid}.chat-card{justify-content:space-between;gap:12px;padding:12px 14px}.chat-card h2{color:var(--ink-strong);margin:0 0 3px;font-size:1rem}.chat-card div{min-width:0}.chat-card h2,.chat-card p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.chat-card button,.empty-chat-state button{color:#fff;background:var(--accent);border-color:var(--accent);flex:none;gap:7px;min-height:36px;padding:0 12px}.empty-chat-state{justify-items:start;gap:10px;padding:18px;display:grid}.empty-chat-state strong{color:var(--ink-strong)}.chat-stage.has-thread .message-scroll{overscroll-behavior:contain;height:100%;padding:0 0 8px}.thread-title{gap:5px;padding:12px 0 4px;display:grid}.chat-stage.has-thread .thread-title{gap:3px;padding:4px 0 2px}.thread-title h1{font-size:clamp(1.4rem,2vw,2rem)}.chat-stage.has-thread .thread-title h1{font-size:clamp(1.12rem,1.5vw,1.5rem);line-height:1.18}.thread-title span{color:var(--muted)}.message{grid-template-columns:32px minmax(0,1fr);gap:10px;display:grid}.message.user .message-avatar span{color:#fff;background:#111827;border-radius:10px;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.message-body{background:0 0;border-color:#0000;border-radius:0;gap:6px;max-width:780px;padding:4px 0;display:grid}.message.user .message-body{background:var(--surface-soft);border-color:var(--line);border-radius:12px;width:fit-content;max-width:min(760px,100%);padding:9px 12px}.message.gateway_required .message-body{border-color:var(--accent-line);background:var(--accent-soft);border-radius:12px;width:fit-content;padding:9px 12px}.message.error .message-body{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, transparent);border-radius:12px;padding:9px 12px}.message-meta{flex-wrap:wrap;gap:7px;font-size:.78rem}.message-body p{white-space:pre-wrap;line-height:1.52}.message.pending .message-body{width:fit-content;color:var(--muted);background:var(--surface-soft);border-color:var(--line);border-radius:12px;padding:9px 12px}.message.pending .message-body p:after{content:"";vertical-align:-.1em;opacity:.6;background:radial-gradient(circle,currentColor 30%,#0000 32%) .1em/.42em .42em repeat-x;width:1.4em;height:.8em;margin-left:2px;animation:1s ease-in-out infinite pending-pulse;display:inline-block}@keyframes pending-pulse{0%,to{opacity:.25}50%{opacity:.75}}.message-body small{color:var(--muted)}.compare-panel{justify-content:space-between;gap:12px;width:min(920px,100%);margin:0 auto;padding:10px 12px}.compare-panel>div:first-child{gap:2px;display:grid}.compare-panel span{color:var(--muted);font-size:.86rem}.compare-chip-row{flex-wrap:wrap;justify-content:flex-end;gap:6px}.compare-chip-row button{align-items:center;gap:7px;min-height:32px;padding:4px 9px 4px 5px;display:inline-flex}.compare-chip-row .model-logo{border-radius:8px;width:24px;height:24px}.composer{gap:6px;width:min(920px,100%);margin:0 auto;padding:8px 10px;display:grid;box-shadow:0 10px 26px #0f172a14}.auth-gate{grid-template-columns:minmax(0,1fr) minmax(150px,.45fr) minmax(190px,.6fr) auto;gap:10px;width:min(760px,100%);margin:4px 0 0;padding:12px;display:grid;box-shadow:0 16px 45px #0f172a14}.auth-gate>div:first-child{grid-template-columns:24px minmax(0,1fr);gap:6px 9px;display:grid}.auth-gate>div:first-child p{grid-column:2;line-height:1.45}.auth-gate strong{color:var(--ink-strong)}.auth-gate label{gap:4px;display:grid}.auth-gate input{width:100%;min-width:0;min-height:38px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;outline:0;padding:0 10px}.auth-gate button{color:#fff;background:var(--accent);border-color:var(--accent);justify-content:center;align-self:end;gap:7px;min-height:38px;padding:0 13px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#0f172a6b;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.auth-modal{gap:12px;width:min(500px,100%);padding:18px;display:grid;position:relative;box-shadow:0 24px 70px #0f172a38}.auth-modal-close{position:absolute;top:12px;right:12px}.auth-modal>div{gap:8px;padding-right:44px;display:grid}.auth-modal strong{color:var(--ink-strong);font-size:1.08rem}.auth-modal p{line-height:1.5}.auth-modal label{gap:5px;display:grid}.auth-mode-switch{background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;gap:6px;padding:4px}.auth-mode-switch button{min-height:34px;color:var(--ink);background:0 0;border-radius:999px;flex:1}.auth-mode-switch button.active{color:var(--ink-strong);background:var(--surface);border:1px solid var(--line)}.checkbox-row{gap:8px;min-height:32px}.checkbox-row input{width:16px;height:16px;accent-color:var(--accent)}.auth-note{gap:6px;font-size:.82rem;line-height:1.4}.auth-modal input{width:100%;min-width:0;min-height:42px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;outline:0;padding:0 10px}.auth-modal .auth-submit{color:#fff;background:var(--accent);border-color:var(--accent);justify-content:center;gap:8px;min-height:42px}.auth-link{min-height:34px;color:var(--accent);background:0 0}.composer.start{margin-top:4px}.composer.thread{z-index:5;flex:none;position:relative}.chat-stage.has-thread .composer.thread{align-self:end;padding:8px 10px;box-shadow:0 -10px 28px #0f172a1a}.composer-model{display:none}.composer textarea{resize:none;width:100%;min-height:38px;max-height:150px;color:var(--ink);background:0 0;border:0;outline:0;padding:2px;line-height:1.45}.composer.thread textarea{min-height:36px}.file-input{display:none}.attachment-tray{flex-wrap:wrap;gap:6px;display:flex}.attachment-chip{min-width:0;max-width:100%;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:5px 6px 5px 8px;display:inline-flex}.attachment-chip>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:220px;overflow:hidden}.attachment-chip small{color:var(--muted);flex:none;font-size:.72rem}.attachment-chip button{width:22px;height:22px;color:var(--muted);background:0 0;border:0;border-radius:999px;flex:none;place-items:center;padding:0;display:grid}.composer-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px}.composer-actions button,.model-card button,.settings-list button{align-items:center;gap:7px;min-height:32px;padding:0 10px;display:inline-flex}.composer-actions .send-button,.model-card button{color:#fff;background:var(--accent);border-color:var(--accent)}.explore-stage,.simple-stage{gap:16px;padding:22px 18px 100px;display:grid}.section-hero{gap:8px;display:grid}.category-tabs{gap:8px;padding-bottom:2px;overflow-x:auto}.category-tabs button{white-space:nowrap;min-height:34px;padding:0 12px}.model-grid,.simple-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.model-card{align-content:start;gap:12px;padding:14px;display:grid}.model-card.selected{border-color:var(--accent-line)}.model-card-head{gap:10px}.model-card-head span{color:var(--accent);font-size:.7rem;font-weight:840}.model-card h2{margin:1px 0 0;font-size:1.05rem}.model-card p{min-height:58px;line-height:1.45}.model-card dl{gap:8px;margin:0;display:grid}.model-card dl div{gap:2px;display:grid}.model-card dt{color:var(--ink-strong);font-size:.76rem;font-weight:800}.model-card dd{margin:0;line-height:1.38}.simple-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.simple-panel,.settings-list,.library-panel{gap:10px;padding:16px;display:grid}.settings-list,.library-layout{width:min(920px,100%)}.library-layout{gap:12px;display:grid}.panel-head{justify-content:space-between;align-items:flex-start;gap:12px}.panel-head>div{gap:4px;min-width:0;display:grid}.panel-head button{color:#fff;background:var(--accent);border:1px solid var(--accent);border-radius:999px;flex:none;align-items:center;gap:7px;min-height:34px;padding:0 12px;display:inline-flex}.file-list,.memory-grid,.integration-list,.toggle-list{gap:8px;display:grid}.file-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;gap:10px;padding:10px}.file-row>div:nth-child(2){flex:1;gap:2px;min-width:0;display:grid}.file-row strong,.file-row span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.file-icon{width:32px;height:32px;color:var(--accent);background:var(--accent-soft);border:1px solid var(--accent-line);border-radius:8px;place-items:center;display:grid}.file-row button:not(.icon-button){min-height:32px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:999px;align-items:center;gap:6px;padding:0 10px;display:inline-flex}.icon-button.danger{color:var(--danger);background:var(--surface)}.memory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.memory-grid span{background:var(--surface-soft);border:1px solid var(--line);border-radius:8px;min-height:34px;padding:8px 10px}.settings-group-title{gap:8px}.toggle-list{background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:10px}.integration-list{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:10px}.integration-list span{background:var(--surface);border:1px solid var(--line);border-radius:8px;gap:7px;min-width:0;padding:8px}.integration-list .model-logo{border-radius:7px;width:22px;height:22px}.integration-list em{margin-left:auto;font-size:.74rem;font-style:normal}.settings-list label{gap:6px;display:grid}.settings-list select{min-height:38px;color:var(--ink);background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;padding:0 10px}.settings-list article{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;padding:12px}.toast{z-index:20;pointer-events:none;max-width:min(520px,100vw - 36px);color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:12px;gap:8px;padding:10px 12px;position:fixed;bottom:18px;right:18px;box-shadow:0 16px 40px #0f172a1f}.app-shell.has-thread .toast{display:none}@media (width<=980px){.app-shell{grid-template-columns:1fr}.mobile-menu{z-index:30;width:38px;height:38px;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:10px;place-items:center;display:grid;position:fixed;top:12px;left:12px}.mobile-close{display:grid}.sidebar{z-index:40;width:min(320px,88vw);transition:transform .16s;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:20px 0 50px #0f172a2e}.sidebar.open{transform:translate(0)}.topbar{padding-left:58px}.utility-action span{display:none}.chat-stage{padding:12px}.chat-stage.has-thread{padding:10px 12px 12px}.auth-gate{grid-template-columns:1fr}.auth-gate>div:first-child p{grid-column:1/-1}.model-grid,.simple-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=620px){.topbar{gap:8px;min-height:58px;padding-right:10px}.model-switcher{max-width:190px}.model-switcher span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.start-screen{align-self:start;gap:12px;padding-top:16px}.start-screen h1,.section-hero h1{font-size:2rem}.model-grid,.simple-grid{grid-template-columns:1fr}.model-dock button{flex-basis:168px}.chat-card{flex-direction:column;align-items:stretch}.chat-card button{justify-content:center}.composer{gap:8px;padding:10px}.composer textarea,.composer.thread textarea{min-height:40px}.compare-panel{flex-direction:column;align-items:stretch}.compare-chip-row{justify-content:flex-start}.composer-actions{justify-content:stretch}.composer-actions button{flex:auto;justify-content:center}.message{grid-template-columns:32px minmax(0,1fr)}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
